From c75a03b051877e45ee66093646ff405243c19f31 Mon Sep 17 00:00:00 2001 From: Ondrej Stava Date: Fri, 15 Jun 2018 15:59:50 -0700 Subject: [PATCH] Updated snapshot to 1.3.3 * Added ExpertEncoder to the Javascript API * Allows developers to set quantization options per attribute id * Bug fixes --- CMakeLists.txt | 23 +- README.md | 11 +- javascript/draco_decoder.js | 27 +- javascript/draco_decoder.wasm | Bin 333170 -> 330634 bytes javascript/draco_decoder_gltf.js | 25 +- javascript/draco_decoder_gltf.wasm | Bin 230436 -> 227994 bytes javascript/draco_encoder.js | 29 +- javascript/draco_wasm_wrapper.js | 248 +++++----- javascript/draco_wasm_wrapper_gltf.js | 248 +++++----- javascript/npm/draco3d/README.md | 5 + .../npm/draco3d/draco_decoder_nodejs.js | 17 +- .../npm/draco3d/draco_encoder_nodejs.js | 19 +- javascript/npm/draco3d/package.json | 2 +- javascript/npm/draco3dgltf/README.md | 7 +- .../draco3dgltf/draco_decoder_gltf_nodejs.js | 15 +- .../draco3dgltf/draco_encoder_gltf_nodejs.js | 19 +- javascript/npm/draco3dgltf/package.json | 2 +- .../attributes/kd_tree_attributes_decoder.cc | 5 +- .../attributes/mesh_traversal_sequencer.h | 2 + ...equential_attribute_decoders_controller.cc | 8 +- src/draco/compression/decode_test.cc | 43 ++ src/draco/compression/encode_test.cc | 15 +- .../mesh/mesh_edgebreaker_encoder.cc | 44 +- .../point_cloud_kd_tree_encoding_test.cc | 28 ++ src/draco/core/draco_version.h | 2 +- .../emscripten/draco_web_encoder.idl | 22 + .../emscripten/encoder_webidl_wrapper.cc | 64 +++ .../emscripten/encoder_webidl_wrapper.h | 24 + src/draco/maya/draco_maya_plugin.cc | 441 +++++++++--------- src/draco/maya/draco_maya_plugin.h | 75 +-- src/draco/tools/draco_encoder.cc | 13 - testdata/point_cloud_no_qp.drc | Bin 0 -> 345 bytes 32 files changed, 875 insertions(+), 608 deletions(-) create mode 100644 testdata/point_cloud_no_qp.drc diff --git a/CMakeLists.txt b/CMakeLists.txt index 56d6199..3556408 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -606,9 +606,6 @@ include_directories("${draco_root}/src" "${draco_build_dir}") if (EMSCRIPTEN AND ENABLE_JS_GLUE) # Draco js decoder. require_compiler_flag("-s ALLOW_MEMORY_GROWTH=1" YES) - if (IE_COMPATIBLE) - require_compiler_flag("-s LEGACY_VM_SUPPORT=1" YES) - endif () require_compiler_flag("-Wno-almost-asm" YES) require_compiler_flag("--memory-init-file 0" YES) require_compiler_flag("-fno-omit-frame-pointer" YES) @@ -627,11 +624,7 @@ if (EMSCRIPTEN AND ENABLE_JS_GLUE) if (CMAKE_BUILD_TYPE STREQUAL "") # Force -O3 when no build type is specified. - if (IE_COMPATIBLE) - add_compiler_flag_if_supported("-g") - else () - add_compiler_flag_if_supported("-O3") - endif () + add_compiler_flag_if_supported("-O3") endif () set(draco_js_dec_idl @@ -798,10 +791,16 @@ else () add_library(draco_points_enc OBJECT ${draco_points_common_sources} ${draco_points_enc_sources}) - add_library(draco_unity_plugin OBJECT - ${draco_unity_plug_sources}) - add_library(draco_maya_plugin OBJECT - ${draco_maya_plug_sources}) + + if (BUILD_UNITY_PLUGIN) + add_library(draco_unity_plugin OBJECT + ${draco_unity_plug_sources}) + endif () + + if (BUILD_MAYA_PLUGIN) + add_library(draco_maya_plugin OBJECT + ${draco_maya_plug_sources}) + endif () # Library targets that consume the object collections. add_library(dracodec diff --git a/README.md b/README.md index 92930b3..f5f1f8d 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,11 @@ News ======= +### Version 1.3.3 release +* Added ExpertEncoder to the Javascript API + * Allows developers to set quantization options per attribute id +* Bug fixes + ### Version 1.3.2 release * Bug fixes @@ -212,12 +217,6 @@ $ cmake path/to/draco -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake $ make ~~~~~ -To build a decoder module that is compatible with IE11 (at the cost of a slightly larger resulting module), set the `IE_COMPATIBLE` variable to `true` when generating the cmake file. - -~~~~~ bash -$ cmake path/to/draco -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake -DIE_COMPATIBLE=true -~~~~~ - WebAssembly Decoder ------------------- diff --git a/javascript/draco_decoder.js b/javascript/draco_decoder.js index 61c2d6e..4798905 100644 --- a/javascript/draco_decoder.js +++ b/javascript/draco_decoder.js @@ -1,21 +1,22 @@ var DracoDecoderModule = function(DracoDecoderModule) { DracoDecoderModule = DracoDecoderModule || {}; + var Module = DracoDecoderModule; // included code may refer to Module (e.g. from file packager), so alias it -var Module=typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:{};var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=(function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});Module["onModuleParsed"]=(function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+18080;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,TBIAAJQSAAAYAAAAAAAAACQSAAC7EgAATBIAANgSAAAYAAAAAAAAAEwSAAABEwAAQAAAAAAAAAAkEgAAHRMAAEwSAACxEwAAMAAAAAAAAAAkEgAA0xMAAEwSAAD4EwAAMAAAAAAAAABMEgAAjSAAAFgAAAAAAAAATBIAACgUAACQAAAAAAAAAEwSAACBFAAAoAAAAAAAAABMEgAA1RQAALAAAAAAAAAATBIAAAkVAADAAAAAAAAAACQSAAA0FQAATBIAAFgVAADYAAAAAAAAACQSAAD2FQAATBIAAJQWAADwAAAAAAAAAEwSAAAsFwAAkAAAAAAAAABMEgAAtRcAAPAAAAAAAAAATBIAAE8YAADwAAAAAAAAAEwSAADhGAAA8AAAAAAAAABMEgAAhxkAAPAAAAAAAAAATBIAACIaAADwAAAAAAAAAEwSAAC4GgAAYAEAAAAAAAAkEgAAYxsAAEwSAAAOHAAAeAEAAAAAAABMEgAAsxwAAJAAAAAAAAAATBIAAEkdAAB4AQAAAAAAAEwSAADwHQAAeAEAAAAAAABMEgAAjx4AAHgBAAAAAAAATBIAAEIfAAB4AQAAAAAAAEwSAADqHwAAeAEAAAAAAABMEgAATS0AAHAAAAAAAAAATBIAALkgAAD4AQAAAAAAAEwSAAAqIQAAoAAAAAAAAABMEgAAliEAABgCAAAAAAAAJBIAAEwiAABMEgAAAiMAADACAAAAAAAATBIAALIjAAD4AQAAAAAAAEwSAABTJAAAUAIAAAAAAAAkEgAAFiUAAEwSAADZJQAAaAIAAAAAAABMEgAAliYAAPgBAAAAAAAATBIAAEQnAACIAgAAAAAAAEwSAACoJwAAoAAAAAAAAABMEgAABygAAKgCAAAAAAAAJBIAALAoAABMEgAAWSkAAMACAAAAAAAATBIAAPwpAACIAgAAAAAAAEwSAACQKgAA4AIAAAAAAAAkEgAARisAAEwSAAD8KwAA+AIAAAAAAABMEgAArCwAAIgCAAAAAAAATBIAAHgtAABwAAAAAAAAAEwSAAAQLgAA2AMAAAAAAABMEgAAJi4AABgDAAAAAAAATBIAABQxAACQAwAAAAAAACQSAABHLgAATBIAAI8uAABgAwAAAAAAACQSAABZLwAAJBIAAHMvAABMEgAAri8AAGADAAAAAAAATBIAAFcwAABgAwAAAAAAACQSAABgMQAATBIAAI4xAACQAwAAAAAAAEwSAADkMQAAkAMAAAAAAABMEgAAUTIAABgDAAAAAAAATBIAADcyAABgAwAAAAAAACQSAABxMgAATBIAAKQzAADYAwAAAAAAAEwSAADGMwAA2AMAAAAAAABMEgAA7DMAABAEAAAAAAAAJBIAAPozAAAkEgAAnj4AAEwSAAD+PgAAMAQAAAAAAABMEgAAqz4AAEAEAAAAAAAAJBIAAMw+AABMEgAA2T4AACAEAAAAAAAATBIAAOA/AAAYBAAAAAAAAEwSAADwPwAAWAQAAAAAAABMEgAAJUAAADAEAAAAAAAATBIAAAFAAAB4BAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAAIAAAACQAAAAYAAAAAAAAAWAAAAAkAAAAKAAAAAgAAAAoAAAADAAAABAAAAAsAAAAMAAAABQAAAP////8AAAAAYAAAAAsAAAAMAAAAAQAAAA0AAAAOAAAABQAAAAMAAAAEAAAADwAAABAAAAARAAAABwAAAAEAAAAAAAAAcAAAAA0AAAAOAAAABgAAAAoAAAADAAAABAAAABIAAAAMAAAABwAAAAgAAAABAAAACAAAABMAAAAAAAAAkAAAAA8AAAAQAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAACAAAAADwAAABEAAAANAAAACQAAAA4AAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAABAAAAAAAAAEABAAAPAAAAEgAAAA8AAAAJAAAAEAAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAIAAAAAAAAAMAEAAA8AAAATAAAAEQAAAAkAAAASAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAwAAAAAAAAAgAQAAFAAAABUAAAATAAAACQAAABQAAAAKAAAAFAAAABUAAAALAAAADAAAABcAAAAEAAAAAAAAABABAAAWAAAAFwAAABUAAAAJAAAAFgAAABcAAAAYAAAAGQAAAAsAAAAMAAAAGgAAAAUAAAAAAAAAAAEAABgAAAAZAAAAGAAAAAkAAAAZAAAAGgAAABsAAAAcAAAACwAAAAwAAAAdAAAABgAAAAAAAADgAAAAGgAAABsAAAAbAAAACQAAABwAAAAdAAAAHgAAAB8AAAALAAAADAAAACAAAAAHAAAAAAAAAMgAAAAcAAAAHQAAACEAAAAeAAAAAgAAAAAAAADIAQAADwAAAB4AAAAfAAAACQAAACAAAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAAIAAAAAAAAALgBAAAPAAAAHwAAACEAAAAJAAAAIgAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAkAAAAAAAAAqAEAACAAAAAhAAAAIwAAAAkAAAAkAAAACgAAABQAAAAVAAAACwAAAAwAAAAiAAAACgAAAAAAAACYAQAAIgAAACMAAAAlAAAACQAAACYAAAAnAAAAIwAAACQAAAALAAAADAAAACUAAAALAAAAAAAAAIgBAAAkAAAAJQAAACgAAAAJAAAAKQAAACoAAAAmAAAAJwAAAAsAAAAMAAAAKAAAAAwAAAAAAAAAaAEAACYAAAAnAAAAKwAAAAkAAAAsAAAALQAAACkAAAAqAAAACwAAAAwAAAArAAAADQAAAAAAAABQAQAAKAAAACkAAAAsAAAALgAAAAMAAAAAAAAA2AEAAA0AAAAqAAAACQAAAAoAAAADAAAACgAAABIAAAAMAAAABwAAAAsAAAACAAAALwAAAC0AAAAAAAAAeAIAACsAAAAsAAAAMAAAADEAAAAyAAAAMwAAAC4AAAAvAAAANAAAADUAAAAwAAAADgAAAAAAAADoAQAAKwAAAC0AAAA2AAAANwAAADgAAAA5AAAAMQAAADIAAAA6AAAAOwAAADMAAAAPAAAAAAAAAFgCAAAuAAAALwAAADwAAAA3AAAAPQAAAD4AAAA0AAAANQAAADoAAAA7AAAANgAAABAAAAAAAAAAQAIAADAAAAAxAAAANwAAAD8AAAAEAAAAAAAAACACAAAyAAAAMwAAAEAAAAA3AAAAQQAAAEIAAAA4AAAAOQAAADoAAAA7AAAAOgAAABEAAAAAAAAACAIAADQAAAA1AAAAOwAAAEMAAAAFAAAAAAAAAOgCAAA2AAAANwAAAEQAAAAxAAAARQAAAEYAAAA8AAAAPQAAADQAAAA1AAAAPgAAABIAAAAAAAAA0AIAADgAAAA5AAAAPwAAAEcAAAAGAAAAAAAAALACAAA6AAAAOwAAAEgAAAAxAAAASQAAAEoAAABAAAAAQQAAADQAAAA1AAAAQgAAABMAAAAAAAAAmAIAADwAAAA9AAAAQwAAAEsAAAAHAAAAAAAAAAgDAAA+AAAAPwAAAAwAAAAKAAAAAwAAAA0AAAASAAAADAAAAAcAAAAOAAAAAQAAAAgAAABEAAAATAAAAEUAAAAAAAAAGAMAAEAAAABBAAAATQAAAE4AAAABAAAATwAAAFAAAABRAAAAUgAAAFMAAABGAAAARwAAAAEAAAAAAAAAKAMAAEIAAABDAAAATQAAAFQAAABIAAAATwAAAFAAAABRAAAAVQAAAFYAAABJAAAASgAAAFcAAAAAAAAAOAMAAEQAAABFAAAASwAAAEwAAABNAAAATgAAAFgAAABZAAAAWgAAAFsAAAD/////AAAAAFADAABGAAAARwAAAE8AAABcAAAAAAAAAEgDAABIAAAASQAAAEoAAAD/////AAAAAHADAABLAAAATAAAAFAAAABdAAAAAAAAAGgDAABNAAAATgAAAE8AAAAAAAAAgAMAAFAAAABRAAAAUQAAAF4AAAAAAAAAmAMAAFIAAABTAAAAUgAAAFMAAABUAAAAVQAAAF8AAABgAAAAYQAAAGIAAAAAAAAAqAMAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAGMAAABkAAAAZQAAAGYAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC4AwAAQAAAAFYAAABNAAAATgAAAFoAAABPAAAAUAAAAFEAAABSAAAAUwAAAEYAAABHAAAAZwAAAAAAAADIAwAAVwAAAFgAAABbAAAAaAAAAAAAAADYAwAAQAAAAFkAAABpAAAATgAAAAEAAABqAAAAUAAAAFEAAABSAAAAAAAAAOADAABAAAAAWgAAAGkAAABOAAAAXAAAAGsAAABQAAAAUQAAAFIAAAAAAAAA8AMAAEAAAABbAAAAaQAAAE4AAABdAAAAbAAAAFAAAABRAAAAUgAAAP//////////AAAAAAAEAABcAAAAXQAAAAgAAAADAAAA/////wAAAAAQBAAAXgAAAF8AAAAJAAAABAAAACwOAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJBCAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArA4AAAUAAAAAAAAAAAAAAG0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAAmEIAAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAIAAAAAAAAAIAQAAGAAAABhAAAAYgAAAGMAAAATAAAAAQAAAAEAAAADAAAAAAAAAEgEAABgAAAAZAAAAGIAAABjAAAAEwAAAAIAAAACAAAABAAAAAAAAABYBAAAZQAAAGYAAABuAAAAAAAAAGgEAABlAAAAZwAAAG4AAABONWRyYWNvMjhBdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtRQBONWRyYWNvMThBdHRyaWJ1dGVUcmFuc2Zvcm1FAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUATjVkcmFjbzE3QXR0cmlidXRlc0RlY29kZXJFAE41ZHJhY28yNkF0dHJpYnV0ZXNEZWNvZGVySW50ZXJmYWNlRQBLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRGVjb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVEZWNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAElucHV0IGlzIG5vdCBhIG1lc2guAElucHV0IGlzIG5vdCBhIHBvaW50IGNsb3VkLgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0ATjVkcmFjbzExTWVzaERlY29kZXJFAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckRlY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfNDFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxQcmVkaWN0aXZlRGVjb2RlckVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUARmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ARFJBQ08ATm90IGEgRHJhY28gZmlsZS4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4AVW5rbm93biBtYWpvciB2ZXJzaW9uLgBVbmtub3duIG1pbm9yIHZlcnNpb24uAEZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBkZWNvZGVyLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZURlY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRGVjb2RlckUATjVkcmFjbzRNZXNoRQBONWRyYWNvMTBQb2ludENsb3VkRQBGbG9hdFBvaW50c1RyZWVEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AACVkAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9F";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function 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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+18080;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,UBIAAJgSAAAYAAAAAAAAACgSAAC/EgAAUBIAANwSAAAYAAAAAAAAAFASAAAFEwAAQAAAAAAAAAAoEgAAIRMAAFASAAC1EwAAMAAAAAAAAAAoEgAA1xMAAFASAAD8EwAAMAAAAAAAAABQEgAAkSAAAFgAAAAAAAAAUBIAACwUAACQAAAAAAAAAFASAACFFAAAoAAAAAAAAABQEgAA2RQAALAAAAAAAAAAUBIAAA0VAADAAAAAAAAAACgSAAA4FQAAUBIAAFwVAADYAAAAAAAAACgSAAD6FQAAUBIAAJgWAADwAAAAAAAAAFASAAAwFwAAkAAAAAAAAABQEgAAuRcAAPAAAAAAAAAAUBIAAFMYAADwAAAAAAAAAFASAADlGAAA8AAAAAAAAABQEgAAixkAAPAAAAAAAAAAUBIAACYaAADwAAAAAAAAAFASAAC8GgAAYAEAAAAAAAAoEgAAZxsAAFASAAASHAAAeAEAAAAAAABQEgAAtxwAAJAAAAAAAAAAUBIAAE0dAAB4AQAAAAAAAFASAAD0HQAAeAEAAAAAAABQEgAAkx4AAHgBAAAAAAAAUBIAAEYfAAB4AQAAAAAAAFASAADuHwAAeAEAAAAAAABQEgAAUS0AAHAAAAAAAAAAUBIAAL0gAAD4AQAAAAAAAFASAAAuIQAAoAAAAAAAAABQEgAAmiEAABgCAAAAAAAAKBIAAFAiAABQEgAABiMAADACAAAAAAAAUBIAALYjAAD4AQAAAAAAAFASAABXJAAAUAIAAAAAAAAoEgAAGiUAAFASAADdJQAAaAIAAAAAAABQEgAAmiYAAPgBAAAAAAAAUBIAAEgnAACIAgAAAAAAAFASAACsJwAAoAAAAAAAAABQEgAACygAAKgCAAAAAAAAKBIAALQoAABQEgAAXSkAAMACAAAAAAAAUBIAAAAqAACIAgAAAAAAAFASAACUKgAA4AIAAAAAAAAoEgAASisAAFASAAAALAAA+AIAAAAAAABQEgAAsCwAAIgCAAAAAAAAUBIAAHwtAABwAAAAAAAAAFASAAAULgAA2AMAAAAAAABQEgAAKi4AABgDAAAAAAAAUBIAABgxAACQAwAAAAAAACgSAABLLgAAUBIAAJMuAABgAwAAAAAAACgSAABdLwAAKBIAAHcvAABQEgAAsi8AAGADAAAAAAAAUBIAAFswAABgAwAAAAAAACgSAABkMQAAUBIAAJIxAACQAwAAAAAAAFASAADoMQAAkAMAAAAAAABQEgAAVTIAABgDAAAAAAAAUBIAADsyAABgAwAAAAAAACgSAAB1MgAAUBIAAKgzAADYAwAAAAAAAFASAADKMwAA2AMAAAAAAABQEgAA8DMAABAEAAAAAAAAKBIAAP4zAAAoEgAAoj4AAFASAAACPwAAMAQAAAAAAABQEgAArz4AAEAEAAAAAAAAKBIAANA+AABQEgAA3T4AACAEAAAAAAAAUBIAAOQ/AAAYBAAAAAAAAFASAAD0PwAAWAQAAAAAAABQEgAAKUAAADAEAAAAAAAAUBIAAAVAAAB4BAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAAIAAAACQAAAAYAAAAAAAAAWAAAAAkAAAAKAAAAAgAAAAoAAAADAAAABAAAAAsAAAAMAAAABQAAAP////8AAAAAYAAAAAsAAAAMAAAAAQAAAA0AAAAOAAAABQAAAAMAAAAEAAAADwAAABAAAAARAAAABwAAAAEAAAAAAAAAcAAAAA0AAAAOAAAABgAAAAoAAAADAAAABAAAABIAAAAMAAAABwAAAAgAAAABAAAACAAAABMAAAAAAAAAkAAAAA8AAAAQAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAACAAAAADwAAABEAAAANAAAACQAAAA4AAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAABAAAAAAAAAEABAAAPAAAAEgAAAA8AAAAJAAAAEAAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAIAAAAAAAAAMAEAAA8AAAATAAAAEQAAAAkAAAASAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAwAAAAAAAAAgAQAAFAAAABUAAAATAAAACQAAABQAAAAKAAAAFAAAABUAAAALAAAADAAAABcAAAAEAAAAAAAAABABAAAWAAAAFwAAABUAAAAJAAAAFgAAABcAAAAYAAAAGQAAAAsAAAAMAAAAGgAAAAUAAAAAAAAAAAEAABgAAAAZAAAAGAAAAAkAAAAZAAAAGgAAABsAAAAcAAAACwAAAAwAAAAdAAAABgAAAAAAAADgAAAAGgAAABsAAAAbAAAACQAAABwAAAAdAAAAHgAAAB8AAAALAAAADAAAACAAAAAHAAAAAAAAAMgAAAAcAAAAHQAAACEAAAAeAAAAAgAAAAAAAADIAQAADwAAAB4AAAAfAAAACQAAACAAAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAAIAAAAAAAAALgBAAAPAAAAHwAAACEAAAAJAAAAIgAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAkAAAAAAAAAqAEAACAAAAAhAAAAIwAAAAkAAAAkAAAACgAAABQAAAAVAAAACwAAAAwAAAAiAAAACgAAAAAAAACYAQAAIgAAACMAAAAlAAAACQAAACYAAAAnAAAAIwAAACQAAAALAAAADAAAACUAAAALAAAAAAAAAIgBAAAkAAAAJQAAACgAAAAJAAAAKQAAACoAAAAmAAAAJwAAAAsAAAAMAAAAKAAAAAwAAAAAAAAAaAEAACYAAAAnAAAAKwAAAAkAAAAsAAAALQAAACkAAAAqAAAACwAAAAwAAAArAAAADQAAAAAAAABQAQAAKAAAACkAAAAsAAAALgAAAAMAAAAAAAAA2AEAAA0AAAAqAAAACQAAAAoAAAADAAAACgAAABIAAAAMAAAABwAAAAsAAAACAAAALwAAAC0AAAAAAAAAeAIAACsAAAAsAAAAMAAAADEAAAAyAAAAMwAAAC4AAAAvAAAANAAAADUAAAAwAAAADgAAAAAAAADoAQAAKwAAAC0AAAA2AAAANwAAADgAAAA5AAAAMQAAADIAAAA6AAAAOwAAADMAAAAPAAAAAAAAAFgCAAAuAAAALwAAADwAAAA3AAAAPQAAAD4AAAA0AAAANQAAADoAAAA7AAAANgAAABAAAAAAAAAAQAIAADAAAAAxAAAANwAAAD8AAAAEAAAAAAAAACACAAAyAAAAMwAAAEAAAAA3AAAAQQAAAEIAAAA4AAAAOQAAADoAAAA7AAAAOgAAABEAAAAAAAAACAIAADQAAAA1AAAAOwAAAEMAAAAFAAAAAAAAAOgCAAA2AAAANwAAAEQAAAAxAAAARQAAAEYAAAA8AAAAPQAAADQAAAA1AAAAPgAAABIAAAAAAAAA0AIAADgAAAA5AAAAPwAAAEcAAAAGAAAAAAAAALACAAA6AAAAOwAAAEgAAAAxAAAASQAAAEoAAABAAAAAQQAAADQAAAA1AAAAQgAAABMAAAAAAAAAmAIAADwAAAA9AAAAQwAAAEsAAAAHAAAAAAAAAAgDAAA+AAAAPwAAAAwAAAAKAAAAAwAAAA0AAAASAAAADAAAAAcAAAAOAAAAAQAAAAgAAABEAAAATAAAAEUAAAAAAAAAGAMAAEAAAABBAAAATQAAAE4AAAABAAAATwAAAFAAAABRAAAAUgAAAFMAAABGAAAARwAAAAEAAAAAAAAAKAMAAEIAAABDAAAATQAAAFQAAABIAAAATwAAAFAAAABRAAAAVQAAAFYAAABJAAAASgAAAFcAAAAAAAAAOAMAAEQAAABFAAAASwAAAEwAAABNAAAATgAAAFgAAABZAAAAWgAAAFsAAAD/////AAAAAFADAABGAAAARwAAAE8AAABcAAAAAAAAAEgDAABIAAAASQAAAEoAAAD/////AAAAAHADAABLAAAATAAAAFAAAABdAAAAAAAAAGgDAABNAAAATgAAAE8AAAAAAAAAgAMAAFAAAABRAAAAUQAAAF4AAAAAAAAAmAMAAFIAAABTAAAAUgAAAFMAAABUAAAAVQAAAF8AAABgAAAAYQAAAGIAAAAAAAAAqAMAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAGMAAABkAAAAZQAAAGYAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC4AwAAQAAAAFYAAABNAAAATgAAAFoAAABPAAAAUAAAAFEAAABSAAAAUwAAAEYAAABHAAAAZwAAAAAAAADIAwAAVwAAAFgAAABbAAAAaAAAAAAAAADYAwAAQAAAAFkAAABpAAAATgAAAAEAAABqAAAAUAAAAFEAAABSAAAAAAAAAOADAABAAAAAWgAAAGkAAABOAAAAXAAAAGsAAABQAAAAUQAAAFIAAAAAAAAA8AMAAEAAAABbAAAAaQAAAE4AAABdAAAAbAAAAFAAAABRAAAAUgAAAP//////////AAAAAAAEAABcAAAAXQAAAAgAAAADAAAA/////wAAAAAQBAAAXgAAAF8AAAAJAAAABAAAACwOAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJRCAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAPAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEAAAAJxCAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAIAAACZPgAAAAAAACAEAABgAAAAYQAAAGIAAABjAAAAEwAAAAEAAAABAAAAAwAAAAAAAABIBAAAYAAAAGQAAABiAAAAYwAAABMAAAACAAAAAgAAAAQAAAAAAAAAWAQAAGUAAABmAAAAbgAAAAAAAABoBAAAZQAAAGcAAABuAAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUAS2RUcmVlQXR0cmlidXRlc0RlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgBNZXRob2Qgbm90IHN1cHBvcnRlZC4gCgBWZXJzaW9uIG5vdCBzdXBwb3J0ZWQuIAoATjVkcmFjbzIzS2RUcmVlQXR0cmlidXRlc0RlY29kZXJFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMzhTZXF1ZW50aWFsUXVhbnRpemF0aW9uQXR0cmlidXRlRGVjb2RlckUAVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBJbnB1dCBpcyBub3QgYSBtZXNoLgBJbnB1dCBpcyBub3QgYSBwb2ludCBjbG91ZC4Ac2tpcF9hdHRyaWJ1dGVfdHJhbnNmb3JtAE41ZHJhY28xMU1lc2hEZWNvZGVyRQBONWRyYWNvMjJNZXNoRWRnZUJyZWFrZXJEZWNvZGVyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzE1UG9pbnRzU2VxdWVuY2VyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjVQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzQxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsUHJlZGljdGl2ZURlY29kZXJFRUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzhNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxWYWxlbmNlRGVjb2RlckVFRQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRGVjb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAEZhaWxlZCB0byBwYXJzZSBEcmFjbyBoZWFkZXIuAERSQUNPAE5vdCBhIERyYWNvIGZpbGUuAEZhaWxlZCB0byBkZWNvZGUgbWV0YWRhdGEuAFVzaW5nIGluY29tcGF0aWJsZSBkZWNvZGVyIGZvciB0aGUgaW5wdXQgZ2VvbWV0cnkuAFVua25vd24gbWFqb3IgdmVyc2lvbi4AVW5rbm93biBtaW5vciB2ZXJzaW9uLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4ARmFpbGVkIHRvIGRlY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIHBvaW50IGF0dHJpYnV0ZXMuAE41ZHJhY28yM1BvaW50Q2xvdWRLZFRyZWVEZWNvZGVyRQBONWRyYWNvMjdQb2ludENsb3VkU2VxdWVudGlhbERlY29kZXJFAE41ZHJhY280TWVzaEUATjVkcmFjbzEwUG9pbnRDbG91ZEUARmxvYXRQb2ludHNUcmVlRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAlZAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=Runtime.staticAlloc(4);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_ii;var ga=env.invoke_iii;var ha=env.invoke_iiii;var ia=env.invoke_iiiiiii;var ja=env.invoke_v;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viii;var na=env.invoke_viiii;var oa=env.invoke_viiiii;var pa=env.invoke_viiiiii;var qa=env.__ZSt18uncaught_exceptionv;var ra=env.___cxa_allocate_exception;var sa=env.___cxa_begin_catch;var ta=env.___cxa_find_matching_catch;var ua=env.___cxa_pure_virtual;var va=env.___cxa_throw;var wa=env.___gxx_personality_v0;var xa=env.___resumeException;var ya=env.___setErrNo;var za=env.___syscall140;var Aa=env.___syscall146;var Ba=env.___syscall54;var Ca=env.___syscall6;var Da=env._abort;var Ea=env._emscripten_memcpy_big;var Fa=env._pthread_getspecific;var Ga=env._pthread_key_create;var Ha=env._pthread_once;var Ia=env._pthread_setspecific;var Ja=$(0);const Ka=$(0);function La(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+128|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+104|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+92|0;m=a+48|0;j=a+44|0;k=a+36|0;i=a+4|0;n=a+16|0;o=a+88|0;C=a+76|0;D=a+84|0;E=e+4|0;F=e+8|0;G=A;while(1){H=f[s>>2]|0;I=G+-1|0;J=H+I|0;K=f[z>>2]|0;L=f[K+(((J>>>0)/341|0)<<2)>>2]|0;M=(J>>>0)%341|0;J=f[L+(M*12|0)>>2]|0;N=f[L+(M*12|0)+4>>2]|0;O=f[L+(M*12|0)+8>>2]|0;f[y>>2]=I;I=f[x>>2]|0;M=I-K>>2;if((1-G-H+((M|0)==0?0:(M*341|0)+-1|0)|0)>>>0>681){lp(f[I+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}I=f[l>>2]|0;M=I+(O*12|0)|0;if(J>>>0>b>>>0){B=0;break a}H=f[h>>2]|0;K=(H+-1|0)==(N|0)?0:N+1|0;if(K>>>0>=H>>>0){B=0;break a}H=(f[t>>2]|0)+(O*12|0)|0;N=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!N){if(J|0){L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[E>>2]=f[P+4>>2];f[F>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[E>>2];f[S+8>>2]=f[F>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;L=L+1|0}while(L>>>0>>0)}}else{if(J>>>0>=3){if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}L=O+1|0;mf(I+(L*12|0)|0,f[M>>2]|0,f[I+(O*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(L*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;Hh(n,P,e);P=(J>>>1)-(f[e>>2]|0)|0;S=J-P|0;c:do if((P|0)==(S|0)){T=P;U=P}else{R=f[o>>2]|0;Q=f[D>>2]|0;do if((Q|0)!=(f[C>>2]|0)){V=(f[Q>>2]&1<<31-R|0)!=0;W=R+1|0;f[o>>2]=W;if((W|0)==32){f[D>>2]=Q+4;f[o>>2]=0;if(V){T=P;U=S;break c}else break}else if(V){T=P;U=S;break c}else break}while(0);T=S;U=P}while(0);P=f[t>>2]|0;S=f[P+(O*12|0)>>2]|0;Q=S+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(P+(L*12|0)|0,S,f[P+(O*12|0)+4>>2]|0);if(T|0){P=f[x>>2]|0;S=f[z>>2]|0;Q=P-S>>2;R=f[s>>2]|0;V=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(V+R|0)){nc(g);X=f[s>>2]|0;Y=f[y>>2]|0;Z=f[x>>2]|0;$=f[z>>2]|0}else{X=R;Y=V;Z=P;$=S}S=Y+X|0;if((Z|0)==($|0))aa=0;else aa=(f[$+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[aa>>2]=T;f[aa+4>>2]=K;f[aa+8>>2]=O;f[y>>2]=(f[y>>2]|0)+1}if(U|0){S=f[x>>2]|0;P=f[z>>2]|0;V=S-P>>2;R=f[s>>2]|0;Q=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(Q+R|0)){nc(g);ba=f[s>>2]|0;ca=f[y>>2]|0;da=f[x>>2]|0;ea=f[z>>2]|0}else{ba=R;ca=Q;da=S;ea=P}P=ca+ba|0;if((da|0)==(ea|0))fa=0;else fa=(f[ea+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[fa>>2]=U;f[fa+4>>2]=K;f[fa+8>>2]=L;f[y>>2]=(f[y>>2]|0)+1}break}P=f[q>>2]|0;f[P>>2]=K;S=f[h>>2]|0;if(S>>>0>1){Q=1;R=S;V=K;while(1){V=(V|0)==(R+-1|0)?0:V+1|0;f[P+(Q<<2)>>2]=V;Q=Q+1|0;W=f[h>>2]|0;if(Q>>>0>=W>>>0){ga=W;break}else R=W}}else ga=S;if(J|0){R=0;Q=ga;while(1){if(!Q)ha=f[w>>2]|0;else{V=f[q>>2]|0;P=f[w>>2]|0;L=f[H>>2]|0;W=0;do{ia=V+(W<<2)|0;f[P+(f[ia>>2]<<2)>>2]=0;ja=f[ia>>2]|0;ka=(f[a>>2]|0)-(f[L+(ja<<2)>>2]|0)|0;do if(ka|0){la=P+(ja<<2)|0;ma=f[m>>2]|0;na=32-ma|0;if((ka|0)>(na|0)){oa=f[j>>2]|0;pa=oa+4|0;if((pa|0)==(f[k>>2]|0)){f[la>>2]=0;break}else{qa=f[oa>>2]<>2]=oa;f[j>>2]=pa;ra=32-oa|0;f[la>>2]=(f[pa>>2]|0)>>>ra|qa>>>(ra-na|0);break}}na=f[j>>2]|0;if((na|0)==(f[k>>2]|0)){f[la>>2]=0;break}f[la>>2]=f[na>>2]<>>(32-ka|0);ma=(f[m>>2]|0)+ka|0;f[m>>2]=ma;if((ma|0)!=32)break;f[j>>2]=na+4;f[m>>2]=0}while(0);ka=f[ia>>2]|0;ja=P+(ka<<2)|0;f[ja>>2]=f[ja>>2]|f[(f[M>>2]|0)+(ka<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);ha=P}P=f[ha>>2]|0;f[e>>2]=P;f[p>>2]=f[ha+4>>2];f[r>>2]=f[ha+8>>2];W=f[c>>2]|0;L=W+4|0;V=f[L>>2]|0;if(V>>>0<(f[W+8>>2]|0)>>>0){f[V>>2]=P;f[V+4>>2]=f[p>>2];f[V+8>>2]=f[r>>2];f[L>>2]=V+12}else Qf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=R+1|0;if(W>>>0>=J>>>0)break b;R=W;Q=f[h>>2]|0}}}while(0);G=f[y>>2]|0;if(!G){B=1;break}}}while(0);h=f[z>>2]|0;e=f[s>>2]|0;c=h+(((e>>>0)/341|0)<<2)|0;ha=f[x>>2]|0;a=ha;ga=h;if((ha|0)==(h|0)){sa=0;ta=0}else{fa=(f[y>>2]|0)+e|0;sa=(f[h+(((fa>>>0)/341|0)<<2)>>2]|0)+(((fa>>>0)%341|0)*12|0)|0;ta=(f[c>>2]|0)+(((e>>>0)%341|0)*12|0)|0}e=c;c=ta;d:while(1){ta=c;do{fa=ta;if((sa|0)==(fa|0))break d;ta=fa+12|0}while((ta-(f[e>>2]|0)|0)!=4092);ta=e+4|0;e=ta;c=f[ta>>2]|0}f[y>>2]=0;y=a-ga>>2;if(y>>>0>2){ga=h;do{lp(f[ga>>2]|0);ga=(f[z>>2]|0)+4|0;f[z>>2]=ga;ua=f[x>>2]|0;va=ua-ga>>2}while(va>>>0>2);wa=va;xa=ga;ya=ua}else{wa=y;xa=h;ya=ha}switch(wa|0){case 1:{za=170;Aa=90;break}case 2:{za=341;Aa=90;break}default:{}}if((Aa|0)==90)f[s>>2]=za;if((xa|0)!=(ya|0)){za=xa;do{lp(f[za>>2]|0);za=za+4|0}while((za|0)!=(ya|0));ya=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(ya|0))f[x>>2]=z+(~((z+-4-ya|0)>>>2)<<2)}ya=f[g>>2]|0;if(!ya){u=d;return B|0}lp(ya);u=d;return B|0}function xb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Rg(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{dg(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else dg(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else dg(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else dg(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Yk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)Do(h);else{l=e<<2;r=Yk(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Gh(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+64|0;x=j+28|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;E=(e|0)==1;if(l-p>>2>>>0>1){F=1;G=p}else{H=q;Do(H)}while(1){I=f[G+(F<<2)>>2]|0;J=(((I>>>0)%3|0|0)==0?2:-1)+I|0;K=J>>>5;L=1<<(J&31);M=(I|0)==-1|(J|0)==-1;N=1;O=0;P=I;b:while(1){Q=N^1;R=O;S=P;while(1){if((S|0)==-1){T=R;v=58;break b}U=f[d+(R*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(S>>>5<<2)>>2]&1<<(S&31)|0)==0?(V=f[(f[(f[o>>2]|0)+12>>2]|0)+(S<<2)>>2]|0,(V|0)!=-1):0)?(W=f[x>>2]|0,Y=f[t>>2]|0,Z=f[Y+(f[W+(V<<2)>>2]<<2)>>2]|0,_=V+1|0,$=f[Y+(f[W+((((_>>>0)%3|0|0)==0?V+-2|0:_)<<2)>>2]<<2)>>2]|0,_=f[Y+(f[W+((((V>>>0)%3|0|0)==0?2:-1)+V<<2)>>2]<<2)>>2]|0,(Z|0)<(F|0)&($|0)<(F|0)&(_|0)<(F|0)):0){V=X(Z,e)|0;Z=X($,e)|0;$=X(_,e)|0;if(y){_=0;do{f[U+(_<<2)>>2]=(f[c+(_+$<<2)>>2]|0)+(f[c+(_+Z<<2)>>2]|0)-(f[c+(_+V<<2)>>2]|0);_=_+1|0}while((_|0)!=(e|0))}_=R+1|0;if((_|0)==4){aa=4;v=38;break b}else ba=_}else ba=R;do if(N){_=S+1|0;V=((_>>>0)%3|0|0)==0?S+-2|0:_;if(((V|0)!=-1?(f[(f[j>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)==0:0)?(_=f[(f[(f[o>>2]|0)+12>>2]|0)+(V<<2)>>2]|0,V=_+1|0,(_|0)!=-1):0)ca=((V>>>0)%3|0|0)==0?_+-2|0:V;else ca=-1}else{V=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if(((V|0)!=-1?(f[(f[j>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)==0:0)?(_=f[(f[(f[o>>2]|0)+12>>2]|0)+(V<<2)>>2]|0,(_|0)!=-1):0)if(!((_>>>0)%3|0)){ca=_+2|0;break}else{ca=_+-1|0;break}else ca=-1}while(0);if((ca|0)==(I|0)){T=ba;v=58;break b}if((ca|0)!=-1|Q){R=ba;S=ca}else break}if(M){N=0;O=ba;P=-1;continue}if(f[(f[j>>2]|0)+(K<<2)>>2]&L|0){N=0;O=ba;P=-1;continue}S=f[(f[(f[o>>2]|0)+12>>2]|0)+(J<<2)>>2]|0;if((S|0)==-1){N=0;O=ba;P=-1;continue}if(!((S>>>0)%3|0)){N=0;O=ba;P=S+2|0;continue}else{N=0;O=ba;P=S+-1|0;continue}}if((v|0)==58){v=0;if((T|0)>0){aa=T;v=38}else{da=X(F,e)|0;v=73}}if((v|0)==38){v=0;if(y){Gh(f[h>>2]|0,0,D|0)|0;P=aa+-1|0;O=s+(P<<2)|0;N=a+60+(P*12|0)+4|0;J=a+60+(P*12|0)|0;P=f[h>>2]|0;L=0;K=0;while(1){M=f[O>>2]|0;f[O>>2]=M+1;if((f[N>>2]|0)>>>0<=M>>>0){ea=0;fa=P;break a}if(!(f[(f[J>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){M=f[d+(L*12|0)>>2]|0;I=0;do{S=P+(I<<2)|0;f[S>>2]=(f[S>>2]|0)+(f[M+(I<<2)>>2]|0);I=I+1|0}while((I|0)!=(e|0));ga=K+1|0}else ga=K;L=L+1|0;if((L|0)>=(aa|0)){ha=ga;break}else K=ga}}else{K=aa+-1|0;L=s+(K<<2)|0;P=a+60+(K*12|0)|0;J=f[h>>2]|0;N=f[a+60+(K*12|0)+4>>2]|0;K=0;O=0;I=f[L>>2]|0;while(1){M=I;I=I+1|0;f[L>>2]=I;if(N>>>0<=M>>>0){ea=0;fa=J;break a}S=O+((f[(f[P>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31)|0)==0&1)|0;K=K+1|0;if((K|0)>=(aa|0)){ha=S;break}else O=S}}O=X(F,e)|0;if(ha){K=f[h>>2]|0;if(y?(f[K>>2]=(f[K>>2]|0)/(ha|0)|0,!E):0){P=1;do{J=K+(P<<2)|0;f[J>>2]=(f[J>>2]|0)/(ha|0)|0;P=P+1|0}while((P|0)!=(e|0))}P=b+(O<<2)|0;J=c+(O<<2)|0;if((f[i>>2]|0)>0){N=0;do{I=f[K+(N<<2)>>2]|0;L=f[z>>2]|0;if((I|0)>(L|0)){S=f[A>>2]|0;f[S+(N<<2)>>2]=L;ia=S}else{S=f[B>>2]|0;L=f[A>>2]|0;f[L+(N<<2)>>2]=(I|0)<(S|0)?S:I;ia=L}N=N+1|0;ja=f[i>>2]|0}while((N|0)<(ja|0));if((ja|0)>0){N=0;do{K=(f[P+(N<<2)>>2]|0)+(f[ia+(N<<2)>>2]|0)|0;L=J+(N<<2)|0;f[L>>2]=K;do if((K|0)>(f[z>>2]|0)){ka=K-(f[C>>2]|0)|0;v=95}else{if((K|0)>=(f[B>>2]|0))break;ka=(f[C>>2]|0)+K|0;v=95}while(0);if((v|0)==95){v=0;f[L>>2]=ka}N=N+1|0}while((N|0)<(f[i>>2]|0))}}}else{da=O;v=73}}if((v|0)==73?(v=0,N=c+((X(F+-1|0,e)|0)<<2)|0,J=b+(da<<2)|0,P=c+(da<<2)|0,(f[i>>2]|0)>0):0){K=0;do{I=f[N+(K<<2)>>2]|0;S=f[z>>2]|0;if((I|0)>(S|0)){M=f[A>>2]|0;f[M+(K<<2)>>2]=S;la=M}else{M=f[B>>2]|0;S=f[A>>2]|0;f[S+(K<<2)>>2]=(I|0)<(M|0)?M:I;la=S}K=K+1|0;ma=f[i>>2]|0}while((K|0)<(ma|0));if((ma|0)>0){K=0;do{N=(f[J+(K<<2)>>2]|0)+(f[la+(K<<2)>>2]|0)|0;O=P+(K<<2)|0;f[O>>2]=N;if((N|0)<=(f[z>>2]|0)){if((N|0)<(f[B>>2]|0)){na=(f[C>>2]|0)+N|0;v=83}}else{na=N-(f[C>>2]|0)|0;v=83}if((v|0)==83){v=0;f[O>>2]=na}K=K+1|0}while((K|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=100;break}K=f[r>>2]|0;G=f[K>>2]|0;if((f[K+4>>2]|0)-G>>2>>>0<=F>>>0){H=K;v=28;break}}if((v|0)==28)Do(H);else if((v|0)==100){ea=1;fa=f[h>>2]|0;break}}else{ea=1;fa=w}while(0);if(fa|0){w=f[n>>2]|0;if((w|0)!=(fa|0))f[n>>2]=w+(~((w+-4-fa|0)>>>2)<<2);lp(fa)}lp(s);s=f[d+36>>2]|0;if(s|0){fa=d+40|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;fa=f[w>>2]|0;if((fa|0)!=(s|0))f[w>>2]=fa+(~((fa+-4-s|0)>>>2)<<2);lp(s)}s=f[d+12>>2]|0;if(s|0){fa=d+16|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);lp(s);u=g;return ea|0}function yb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Rg(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{dg(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else dg(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else dg(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else dg(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Yk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)Do(h);else{l=e<<2;r=Yk(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Gh(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+12|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;D=(e|0)==1;if(l-p>>2>>>0>1){E=1;F=p}else{G=q;Do(G)}while(1){H=f[F+(E<<2)>>2]|0;I=(((H>>>0)%3|0|0)==0?2:-1)+H|0;J=(H|0)==-1|(I|0)==-1;K=1;L=0;M=H;b:while(1){N=K^1;O=L;P=M;while(1){if((P|0)==-1){Q=O;v=58;break b}R=f[d+(O*12|0)>>2]|0;S=f[o>>2]|0;T=f[S+(P<<2)>>2]|0;if((T|0)!=-1){U=f[j>>2]|0;V=f[t>>2]|0;W=f[V+(f[U+(T<<2)>>2]<<2)>>2]|0;Y=T+1|0;Z=((Y>>>0)%3|0|0)==0?T+-2|0:Y;if((Z|0)==-1)_=-1;else _=f[U+(Z<<2)>>2]|0;Z=f[V+(_<<2)>>2]|0;Y=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((Y|0)==-1)$=-1;else $=f[U+(Y<<2)>>2]|0;Y=f[V+($<<2)>>2]|0;if((W|0)<(E|0)&(Z|0)<(E|0)&(Y|0)<(E|0)){V=X(W,e)|0;W=X(Z,e)|0;Z=X(Y,e)|0;if(x){Y=0;do{f[R+(Y<<2)>>2]=(f[c+(Y+Z<<2)>>2]|0)+(f[c+(Y+W<<2)>>2]|0)-(f[c+(Y+V<<2)>>2]|0);Y=Y+1|0}while((Y|0)!=(e|0))}Y=O+1|0;if((Y|0)==4){aa=4;v=41;break b}else ba=Y}else ba=O}else ba=O;do if(K){Y=P+1|0;V=((Y>>>0)%3|0|0)==0?P+-2|0:Y;if((V|0)!=-1?(Y=f[S+(V<<2)>>2]|0,V=Y+1|0,(Y|0)!=-1):0)ca=((V>>>0)%3|0|0)==0?Y+-2|0:V;else ca=-1}else{V=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((V|0)!=-1?(Y=f[S+(V<<2)>>2]|0,(Y|0)!=-1):0)if(!((Y>>>0)%3|0)){ca=Y+2|0;break}else{ca=Y+-1|0;break}else ca=-1}while(0);if((ca|0)==(H|0)){Q=ba;v=58;break b}if((ca|0)!=-1|N){O=ba;P=ca}else break}if(J){K=0;L=ba;M=-1;continue}P=f[S+(I<<2)>>2]|0;if((P|0)==-1){K=0;L=ba;M=-1;continue}if(!((P>>>0)%3|0)){K=0;L=ba;M=P+2|0;continue}else{K=0;L=ba;M=P+-1|0;continue}}if((v|0)==58){v=0;if((Q|0)>0){aa=Q;v=41}else{da=X(E,e)|0;v=73}}if((v|0)==41){v=0;if(x){Gh(f[h>>2]|0,0,C|0)|0;M=aa+-1|0;L=s+(M<<2)|0;K=a+60+(M*12|0)+4|0;I=a+60+(M*12|0)|0;M=f[h>>2]|0;J=0;H=0;while(1){P=f[L>>2]|0;f[L>>2]=P+1;if((f[K>>2]|0)>>>0<=P>>>0){ea=0;fa=M;break a}if(!(f[(f[I>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31))){P=f[d+(J*12|0)>>2]|0;O=0;do{N=M+(O<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[P+(O<<2)>>2]|0);O=O+1|0}while((O|0)!=(e|0));ga=H+1|0}else ga=H;J=J+1|0;if((J|0)>=(aa|0)){ha=ga;break}else H=ga}}else{H=aa+-1|0;J=s+(H<<2)|0;M=a+60+(H*12|0)|0;I=f[h>>2]|0;K=f[a+60+(H*12|0)+4>>2]|0;H=0;L=0;O=f[J>>2]|0;while(1){P=O;O=O+1|0;f[J>>2]=O;if(K>>>0<=P>>>0){ea=0;fa=I;break a}N=L+((f[(f[M>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31)|0)==0&1)|0;H=H+1|0;if((H|0)>=(aa|0)){ha=N;break}else L=N}}L=X(E,e)|0;if(ha){H=f[h>>2]|0;if(x?(f[H>>2]=(f[H>>2]|0)/(ha|0)|0,!D):0){M=1;do{I=H+(M<<2)|0;f[I>>2]=(f[I>>2]|0)/(ha|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;I=c+(L<<2)|0;if((f[i>>2]|0)>0){K=0;do{O=f[H+(K<<2)>>2]|0;J=f[y>>2]|0;if((O|0)>(J|0)){N=f[z>>2]|0;f[N+(K<<2)>>2]=J;ia=N}else{N=f[A>>2]|0;J=f[z>>2]|0;f[J+(K<<2)>>2]=(O|0)<(N|0)?N:O;ia=J}K=K+1|0;ja=f[i>>2]|0}while((K|0)<(ja|0));if((ja|0)>0){K=0;do{H=(f[M+(K<<2)>>2]|0)+(f[ia+(K<<2)>>2]|0)|0;J=I+(K<<2)|0;f[J>>2]=H;do if((H|0)>(f[y>>2]|0)){ka=H-(f[B>>2]|0)|0;v=95}else{if((H|0)>=(f[A>>2]|0))break;ka=(f[B>>2]|0)+H|0;v=95}while(0);if((v|0)==95){v=0;f[J>>2]=ka}K=K+1|0}while((K|0)<(f[i>>2]|0))}}}else{da=L;v=73}}if((v|0)==73?(v=0,K=c+((X(E+-1|0,e)|0)<<2)|0,I=b+(da<<2)|0,M=c+(da<<2)|0,(f[i>>2]|0)>0):0){H=0;do{O=f[K+(H<<2)>>2]|0;N=f[y>>2]|0;if((O|0)>(N|0)){P=f[z>>2]|0;f[P+(H<<2)>>2]=N;la=P}else{P=f[A>>2]|0;N=f[z>>2]|0;f[N+(H<<2)>>2]=(O|0)<(P|0)?P:O;la=N}H=H+1|0;ma=f[i>>2]|0}while((H|0)<(ma|0));if((ma|0)>0){H=0;do{K=(f[I+(H<<2)>>2]|0)+(f[la+(H<<2)>>2]|0)|0;L=M+(H<<2)|0;f[L>>2]=K;if((K|0)<=(f[y>>2]|0)){if((K|0)<(f[A>>2]|0)){na=(f[B>>2]|0)+K|0;v=83}}else{na=K-(f[B>>2]|0)|0;v=83}if((v|0)==83){v=0;f[L>>2]=na}H=H+1|0}while((H|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(m|0)){v=100;break}H=f[r>>2]|0;F=f[H>>2]|0;if((f[H+4>>2]|0)-F>>2>>>0<=E>>>0){G=H;v=28;break}}if((v|0)==28)Do(G);else if((v|0)==100){ea=1;fa=f[h>>2]|0;break}}else{ea=1;fa=w}while(0);if(fa|0){w=f[n>>2]|0;if((w|0)!=(fa|0))f[n>>2]=w+(~((w+-4-fa|0)>>>2)<<2);lp(fa)}lp(s);s=f[d+36>>2]|0;if(s|0){fa=d+40|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;fa=f[w>>2]|0;if((fa|0)!=(s|0))f[w>>2]=fa+(~((fa+-4-s|0)>>>2)<<2);lp(s)}s=f[d+12>>2]|0;if(s|0){fa=d+16|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);lp(s);u=g;return ea|0}function zb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Dm(c)|0;if((I|0)<0){q=-c;r=1;s=13937}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?13938:13943):13940}Dm(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;Xi(a,32,d,v,g&-65537);pn(a,s,r);pn(a,q!=q|0.0!=0.0?(t?13964:13968):t?13956:13960,3);Xi(a,32,d,v,g^8192);w=v}else{c=+Ro(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=ci(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[13972+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;Xi(a,32,d,G,g);pn(a,y,z);Xi(a,48,d,G,g^65536);pn(a,m,M);Xi(a,48,N-M|0,0,0);pn(a,A,E);Xi(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=Rl(f[K>>2]|0,0,y|0)|0;Q=Ul(J|0,I|0,x|0,0)|0;J=I;R=Wk(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=Mn(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=ci(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;Xi(a,32,d,A,g);pn(a,s,r);Xi(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=ci(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){Gh(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;pn(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)pn(a,13988,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=ci(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){Gh(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;pn(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;Xi(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=ci(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;pn(a,Da,1);if(Z&(K|0)<1){Ea=x;break}pn(a,13988,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}Gh(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;pn(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;Xi(a,48,Fa+18|0,18,0);pn(a,xa,p-xa|0)}Xi(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(j|0)!=(o|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else xf(l,m-p|0,d);p=a+216|0;m=a+220|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=0;v=j;j=n;n=l;w=l;l=o;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;o=t*3|0;if((o|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(o<<2)>>2]|0;f[e>>2]=x;y=o+1|0;if((y|0)==-1){f[q>>2]=-1;z=0;A=x;B=92}else{C=y;D=x;B=91}}else{f[e>>2]=-1;C=0;D=-1;B=91}if((B|0)==91){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(C<<2)>>2];x=o+2|0;if((x|0)==-1){E=-1;F=D}else{z=x;A=D;B=92}}if((B|0)==92){B=0;E=f[(f[f[k>>2]>>2]|0)+(z<<2)>>2]|0;F=A}f[s>>2]=E;x=v+96|0;o=v+100|0;y=(l-j|0)/12|0;G=j;H=t;t=t+1|0;if(H>>>0>>0){I=n;J=v;K=w;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(t>>>0<=y>>>0)if(t>>>0>>0?(P=G+(t*12|0)|0,(P|0)!=(O|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[o>>2]=Q;R=G;S=w;T=v;U=Q;V=j}else{R=G;S=w;T=v;U=l;V=j}else{xf(x,t-y|0,d);y=f[i>>2]|0;G=f[y+44>>2]|0;R=f[x>>2]|0;S=y;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=F;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(t>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{v=J;j=M;n=I;w=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;W=1;u=c;return W|0}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)Do(g);else{w=Yk(N)|0;f[g>>2]=w;I=w+(l<<2)|0;f[g+8>>2]=I;Gh(w|0,0,N|0)|0;f[K>>2]=I;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;l=e+8|0;I=0;w=r;while(1){n=f[(f[w+24>>2]|0)+(I<<2)>>2]|0;b:do if((n|0)!=-1){c:do if((f[(f[N>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)|0)==0?(M=f[m>>2]|0,j=f[p>>2]|0,J=j,(M|0)!=(j|0)):0){v=(((n>>>0)%3|0|0)==0?2:-1)+n|0;t=(M-j|0)/144|0;if((v|0)==-1){j=0;while(1){M=f[(f[f[J+(j*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(M&31)&f[(f[J+(j*144|0)+16>>2]|0)+(M>>>5<<2)>>2]|0){X=0;break a}j=j+1|0;if(j>>>0>=t>>>0){Y=n;break c}}}j=w+12|0;M=0;while(1){s=f[(f[f[J+(M*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(s&31)&f[(f[J+(M*144|0)+16>>2]|0)+(s>>>5<<2)>>2]|0){s=f[J+(M*144|0)+32>>2]|0;L=f[s+(n<<2)>>2]|0;q=f[j>>2]|0;F=f[q+(v<<2)>>2]|0;do if((F|0)!=-1)if(!((F>>>0)%3|0)){Z=F+2|0;break}else{Z=F+-1|0;break}else Z=-1;while(0);if((Z|0)!=(n|0)){F=Z;while(1){if((F|0)==-1){X=0;break a}if((f[s+(F<<2)>>2]|0)!=(L|0)){Y=F;break c}U=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((U|0)!=-1){V=f[q+(U<<2)>>2]|0;if((V|0)==-1){_=-1;break}if(!((V>>>0)%3|0)){_=V+2|0;break}else{_=V+-1|0;break}}else _=-1;while(0);if((_|0)==(n|0))break;else F=_}}}M=M+1|0;if(M>>>0>=t>>>0){Y=n;break}}}else Y=n;while(0);t=f[b>>2]|0;f[(f[g>>2]|0)+(Y<<2)>>2]=t-(f[e>>2]|0)>>2;f[d>>2]=Y;M=t;if((f[l>>2]|0)>>>0>M>>>0){f[M>>2]=Y;f[b>>2]=M+4;$=w}else{hh(e,d);$=f[k>>2]|0}if((((Y|0)!=-1?(M=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0,(M|0)!=-1):0)?(t=f[(f[$+12>>2]|0)+(M<<2)>>2]|0,(t|0)!=-1):0)?(M=t+(((t>>>0)%3|0|0)==0?2:-1)|0,(M|0)!=-1&(M|0)!=(Y|0)):0){t=Y;v=M;M=$;while(1){j=f[m>>2]|0;J=f[p>>2]|0;F=J;d:do if((j|0)==(J|0))B=66;else{q=(j-J|0)/144|0;L=0;while(1){s=f[F+(L*144|0)+32>>2]|0;L=L+1|0;if((f[s+(v<<2)>>2]|0)!=(f[s+(t<<2)>>2]|0))break;if(L>>>0>=q>>>0){B=66;break d}}q=f[b>>2]|0;f[(f[g>>2]|0)+(v<<2)>>2]=q-(f[e>>2]|0)>>2;f[d>>2]=v;L=q;if((f[l>>2]|0)>>>0>L>>>0){f[L>>2]=v;f[b>>2]=L+4;aa=M}else{hh(e,d);aa=f[k>>2]|0}ba=aa}while(0);if((B|0)==66){B=0;F=f[g>>2]|0;f[F+(v<<2)>>2]=f[F+(t<<2)>>2];ba=M}if((v|0)==-1){ca=ba;break b}F=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((F|0)==-1){ca=ba;break b}J=f[(f[ba+12>>2]|0)+(F<<2)>>2]|0;if((J|0)==-1){ca=ba;break b}F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;if((F|0)!=-1&(F|0)!=(Y|0)){J=v;v=F;M=ba;t=J}else{ca=ba;break}}}else ca=$}else ca=w;while(0);I=I+1|0;if((I|0)>=((f[ca+28>>2]|0)-(f[ca+24>>2]|0)>>2|0)){B=27;break}else w=ca}}else B=27;while(0);if((B|0)==27){B=f[i>>2]|0;ca=f[B+44>>2]|0;$=f[ca+100>>2]|0;ba=f[ca+96>>2]|0;if(($|0)==(ba|0))da=B;else{Y=h+4|0;aa=h+8|0;k=0;p=ca;ca=ba;ba=$;$=B;m=B;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;B=(f[g>>2]|0)+(k*3<<2)|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];B=p+96|0;_=p+100|0;Z=(ba-ca|0)/12|0;r=ca;a=k;k=k+1|0;if(a>>>0>>0){ea=r;fa=ca;ga=ba;ha=$;ia=p;ja=m}else{w=ba;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(k>>>0<=Z>>>0)if(k>>>0>>0?(I=r+(k*12|0)|0,(I|0)!=(w|0)):0){l=w+(~(((w+-12-I|0)>>>0)/12|0)*12|0)|0;f[_>>2]=l;ka=r;la=m;ma=p;na=l;oa=ca}else{ka=r;la=m;ma=p;na=ba;oa=ca}else{xf(B,k-Z|0,d);Z=f[i>>2]|0;r=f[Z+44>>2]|0;ka=f[B>>2]|0;la=Z;ma=r;na=f[r+100>>2]|0;oa=f[r+96>>2]|0}ea=ka;fa=oa;ga=na;ha=la;ia=ma;ja=la}f[ea+(a*12|0)>>2]=f[h>>2];f[ea+(a*12|0)+4>>2]=f[Y>>2];f[ea+(a*12|0)+8>>2]=f[aa>>2];if(k>>>0>=((ga-fa|0)/12|0)>>>0){da=ha;break}else{p=ia;ca=fa;ba=ga;$=ha;m=ja}}}f[(f[da+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[e>>2]|0)>>2;X=1}da=f[g>>2]|0;if(da|0){g=f[K>>2]|0;if((g|0)!=(da|0))f[K>>2]=g+(~((g+-4-da|0)>>>2)<<2);lp(da)}da=f[e>>2]|0;if(da|0){e=f[b>>2]|0;if((e|0)!=(da|0))f[b>>2]=e+(~((e+-4-da|0)>>>2)<<2);lp(da)}W=X;u=c;return W|0}function Bb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=sp()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)pn(a,w,y);if(y|0){s=y;t=x;continue}y=(Wo(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Wo(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Pj(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Pj(j)|0;$=O;aa=f[j>>2]|0;break}if(Wo(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(13456+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}Yd(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Tj(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=13920;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=Wl(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=13920;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?13920:13922):13921;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=13920;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=13920;za=o;Aa=1;Ba=O;break}case 109:{ja=sp()|0;Ca=un(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:13930;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){Xi(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=zb(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=13920;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=Aj(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?13920:13920+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=ci(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=bf(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=13920;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=en(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}Xi(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=en(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}pn(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;Xi(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;Xi(a,32,ja,O,Ba);pn(a,ya,xa);Xi(a,48,ja,O,Ba^65536);Xi(a,48,F,Q,0);pn(a,wa,Q);Xi(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}Yd(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function Cb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+36|0;k=a+37|0;l=a+32|0;m=f[l>>2]|0;do if((((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)<514){n=m+8|0;o=f[n>>2]|0;p=f[n+4>>2]|0;n=m+16|0;q=n;r=f[q>>2]|0;s=f[q+4>>2]|0;q=Ul(r|0,s|0,4,0)|0;t=I;if((p|0)<(t|0)|(p|0)==(t|0)&o>>>0>>0){v=0;u=c;return v|0}w=(f[m>>2]|0)+r|0;x=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[d>>2]=x;w=n;f[w>>2]=q;f[w+4>>2]=t;t=Ul(r|0,s|0,8,0)|0;s=I;if((p|0)<(s|0)|(p|0)==(s|0)&o>>>0>>0){v=0;u=c;return v|0}else{o=(f[m>>2]|0)+q|0;f[e>>2]=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=n;f[o>>2]=t;f[o+4>>2]=s;y=x;break}}else{if(!(Rh(d,m)|0)){v=0;u=c;return v|0}if(Rh(e,f[l>>2]|0)|0){y=f[d>>2]|0;break}else{v=0;u=c;return v|0}}while(0);if(y>>>0>1431655765){v=0;u=c;return v|0}m=f[e>>2]|0;x=bl(y|0,0,3,0)|0;s=I;if(s>>>0<0|(s|0)==0&x>>>0>>0){v=0;u=c;return v|0}x=f[l>>2]|0;s=x+8|0;o=f[s+4>>2]|0;t=x+16|0;n=t;q=f[n>>2]|0;p=f[n+4>>2]|0;if(!((o|0)>(p|0)|((o|0)==(p|0)?(f[s>>2]|0)>>>0>q>>>0:0))){v=0;u=c;return v|0}s=b[(f[x>>2]|0)+q>>0]|0;o=Ul(q|0,p|0,1,0)|0;n=I;r=t;f[r>>2]=o;f[r+4>>2]=n;a:do if(!(s<<24>>24)){if(!(te(a,y)|0)){v=0;u=c;return v|0}}else{if(m>>>0<256){if(!y)break;r=a+44|0;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=x+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;b:do if((B|0)>(n|0)|(B|0)==(n|0)&A>>>0>o>>>0){z=0;C=x;D=o;E=n;F=B;G=A;H=y;while(1){J=C+16|0;K=f[C>>2]|0;L=b[K+D>>0]|0;M=Ul(D|0,E|0,1,0)|0;N=I;O=J;f[O>>2]=M;f[O+4>>2]=N;f[g>>2]=L&255;if(!((F|0)>(N|0)|(F|0)==(N|0)&G>>>0>M>>>0))break b;N=b[K+M>>0]|0;M=Ul(D|0,E|0,2,0)|0;L=I;O=J;f[O>>2]=M;f[O+4>>2]=L;f[t>>2]=N&255;if(!((F|0)>(L|0)|(F|0)==(L|0)&G>>>0>M>>>0))break b;L=b[K+M>>0]|0;M=Ul(D|0,E|0,3,0)|0;K=J;f[K>>2]=M;f[K+4>>2]=I;f[w>>2]=L&255;L=f[r>>2]|0;K=L+100|0;M=f[K>>2]|0;if((M|0)==(f[L+104>>2]|0)){Og(L+96|0,g);P=f[d>>2]|0}else{f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[K>>2]=(f[K>>2]|0)+12;P=H}z=z+1|0;if(z>>>0>=P>>>0)break a;C=f[l>>2]|0;K=C+16|0;D=f[K>>2]|0;E=f[K+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;K=C+8|0;G=f[K>>2]|0;F=f[K+4>>2]|0;if(!((F|0)>(E|0)|(F|0)==(E|0)&G>>>0>D>>>0))break;else H=P}}while(0);v=0;u=c;return v|0}if(m>>>0<65536){if(!y)break;r=a+44|0;w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;A=x+8|0;B=f[A>>2]|0;H=f[A+4>>2]|0;A=Ul(q|0,p|0,3,0)|0;D=I;c:do if(!((H|0)<(D|0)|(H|0)==(D|0)&B>>>0>>0)){G=0;E=x;F=o;C=A;z=D;K=n;M=H;L=B;J=y;while(1){N=E+16|0;O=f[E>>2]|0;Q=O+F|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=N;f[Q>>2]=C;f[Q+4>>2]=z;f[g>>2]=R&65535;R=Ul(F|0,K|0,4,0)|0;Q=I;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0>>0)break c;S=O+C|0;T=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=R;f[S+4>>2]=Q;f[w>>2]=T&65535;T=Ul(F|0,K|0,6,0)|0;Q=I;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0>>0)break c;S=O+R|0;R=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=T;f[S+4>>2]=Q;f[t>>2]=R&65535;R=f[r>>2]|0;Q=R+100|0;S=f[Q>>2]|0;if((S|0)==(f[R+104>>2]|0)){Og(R+96|0,g);U=f[d>>2]|0}else{f[S>>2]=f[g>>2];f[S+4>>2]=f[g+4>>2];f[S+8>>2]=f[g+8>>2];f[Q>>2]=(f[Q>>2]|0)+12;U=J}G=G+1|0;if(G>>>0>=U>>>0)break a;E=f[l>>2]|0;Q=E+16|0;F=f[Q>>2]|0;K=f[Q+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Q=E+8|0;L=f[Q>>2]|0;M=f[Q+4>>2]|0;C=Ul(F|0,K|0,2,0)|0;z=I;if((M|0)<(z|0)|(M|0)==(z|0)&L>>>0>>0)break;else J=U}}while(0);v=0;u=c;return v|0}r=a+44|0;if((f[(f[r>>2]|0)+80>>2]|0)>>>0<2097152?(((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)>513:0){if(!y)break;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(Rh(i,x)|0){B=0;do{f[g>>2]=f[i>>2];if(!(Rh(i,f[l>>2]|0)|0))break d;f[t>>2]=f[i>>2];if(!(Rh(i,f[l>>2]|0)|0))break d;f[w>>2]=f[i>>2];H=f[r>>2]|0;D=H+100|0;A=f[D>>2]|0;if((A|0)==(f[H+104>>2]|0))Og(H+96|0,g);else{f[A>>2]=f[g>>2];f[A+4>>2]=f[g+4>>2];f[A+8>>2]=f[g+8>>2];f[D>>2]=(f[D>>2]|0)+12}B=B+1|0;if(B>>>0>=(f[d>>2]|0)>>>0)break a;D=f[l>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(Rh(i,D)|0)}while(0);v=0;u=c;return v|0}if(y|0){w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;B=x+8|0;D=f[B>>2]|0;A=f[B+4>>2]|0;B=Ul(q|0,p|0,5,0)|0;H=I;e:do if(!((A|0)<(H|0)|(A|0)==(H|0)&D>>>0>>0)){J=0;C=x;L=o;z=B;M=H;K=n;F=A;E=D;G=y;while(1){Q=C+16|0;S=f[C>>2]|0;R=S+L|0;T=h[R>>0]|h[R+1>>0]<<8|h[R+2>>0]<<16|h[R+3>>0]<<24;R=Q;f[R>>2]=z;f[R+4>>2]=M;f[g>>2]=T;T=Ul(L|0,K|0,8,0)|0;R=I;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0>>0)break e;N=S+z|0;O=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=T;f[N+4>>2]=R;f[w>>2]=O;O=Ul(L|0,K|0,12,0)|0;R=I;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0>>0)break e;N=S+T|0;T=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=O;f[N+4>>2]=R;f[t>>2]=T;T=f[r>>2]|0;R=T+100|0;N=f[R>>2]|0;if((N|0)==(f[T+104>>2]|0)){Og(T+96|0,g);V=f[d>>2]|0}else{f[N>>2]=f[g>>2];f[N+4>>2]=f[g+4>>2];f[N+8>>2]=f[g+8>>2];f[R>>2]=(f[R>>2]|0)+12;V=G}J=J+1|0;if(J>>>0>=V>>>0)break a;C=f[l>>2]|0;R=C+16|0;L=f[R>>2]|0;K=f[R+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;R=C+8|0;E=f[R>>2]|0;F=f[R+4>>2]|0;z=Ul(L|0,K|0,4,0)|0;M=I;if((F|0)<(M|0)|(F|0)==(M|0)&E>>>0>>0)break;else G=V}}while(0);v=0;u=c;return v|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];v=1;u=c;return v|0}function Db(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Na,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=bl(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Ul(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=Ul(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=bl(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=Ul(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Eb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){hh(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))hh(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){hh(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))hh(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){hh(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))hh(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){hh(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))hh(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){hh(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))hh(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))hh(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Ul(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Ul(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=bl(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Ul(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Ul(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Ul(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2])&65535;d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Ul(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Gb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Ul(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Ul(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=bl(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Ul(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Ul(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Ul(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2]);d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Ul(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Hb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=bl(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Ul(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Ib(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=bl(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Ul(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))hh(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=m;break}else{q=p;r=g+-1|0;s=m;break}}else{m=f[n+28>>2]|0;q=f[m+-4>>2]|0;r=-1;s=m}while(0);n=f[s+(r<<2)>>2]|0;if((q|0)==-1|(n|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;k=1<<(q&31);m=f[g>>2]|0;if(!(m&k)){f[g>>2]=m|k;k=f[b>>2]|0;m=k+1|0;if((k|0)==-1)t=-1;else t=((m>>>0)%3|0|0)==0?k+-2|0:m;f[e>>2]=t;m=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=m;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))hh(k,d);else{f[g>>2]=m;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;m=t+4|0;k=f[m>>2]|0;if((k|0)==(f[t+8>>2]|0)){hh(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[s>>2]|0;if(!(t&w)){f[s>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;s=f[x>>2]|0;if((s|0)==(f[t+8>>2]|0))hh(t,d);else{f[s>>2]=w;f[x>>2]=s+4}s=a+40|0;x=f[s>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){hh(x,e);y=f[s>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;s=n;n=x;a:while(1){x=f[s+-4>>2]|0;f[b>>2]=x;q=(x>>>0)/3|0;if((x|0)!=-1?(x=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[x>>2]|0,(q&v|0)==0):0){f[x>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;x=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((x|0)==-1){h=0;z=79;break}else{A=x;B=v;C=q}b:while(1){q=(f[r>>2]|0)+(A>>>5<<2)|0;v=1<<(A&31);x=f[q>>2]|0;do if(!(x&v)){k=f[(f[B+40>>2]|0)+(A<<2)>>2]|0;if((k|0)==-1)D=1;else{m=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(m&31)&f[(f[B+12>>2]|0)+(m>>>5<<2)>>2]|0)!=0}f[q>>2]=x|v;m=f[b>>2]|0;f[e>>2]=m;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[t>>2]|0;f[d>>2]=k;g=f[m+4>>2]|0;m=g+4|0;p=f[m>>2]|0;if((p|0)==(f[g+8>>2]|0))hh(g,d);else{f[p>>2]=k;f[m>>2]=p+4}p=f[w>>2]|0;m=p+4|0;k=f[m>>2]|0;if((k|0)==(f[p+8>>2]|0)){hh(p,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;E=p}p=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[p>>2];f[p>>2]=(f[p>>2]|0)+1;p=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=p;z=59;break}m=k+1|0;do if((k|0)==-1)H=-1;else{g=((m>>>0)%3|0|0)==0?k+-2|0:m;if((g|0)==-1){H=-1;break}if(f[(f[p>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[p+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=p}else{F=C;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=60;break}x=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((x|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);f[d>>2]=K;x=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((x|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);x=(K|0)==-1;v=(K>>>0)/3|0;q=x?-1:v;m=(L|0)==-1;k=(L>>>0)/3|0;g=m?-1:k;do if(!x){M=f[j>>2]|0;if(f[M+(q>>>5<<2)>>2]&1<<(q&31)|0){z=69;break}if(m){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(m){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=O;J=G}v=(f[j>>2]|0)+(I>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(I&31);C=f[b>>2]|0;A=f[(f[J+28>>2]|0)+(C<<2)>>2]|0;if((A|0)==-1){h=0;z=79;break a}else B=J}do if((z|0)==60){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){hh(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];q=v+4|0;f[l>>2]=q;P=q;break}}while(0);if((z|0)==71){z=0;q=(f[l>>2]|0)+-4|0;f[l>>2]=q;P=q}Q=f[i>>2]|0;R=P}else{q=s+-4|0;f[l>>2]=q;Q=n;R=q}if((Q|0)==(R|0)){h=1;z=79;break}else{s=R;n=Q}}if((z|0)==79){u=c;return h|0}return 0}function Kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Ul(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Ul(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Ul(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=bl(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Ul(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2])&255;b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Ul(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Ul(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Ul(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Ul(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=bl(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Ul(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2]);b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Ul(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Mb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))hh(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))hh(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){hh(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))hh(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){hh(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))hh(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){hh(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=D}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=N;J=G}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=J}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){hh(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)Do(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)Do(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Db(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Db(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];Db(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Wl(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=bl(s|0,x|0,s|0,x|0)|0;N=I;O=bl(E|0,D|0,E|0,D|0)|0;P=Ul(O|0,I|0,M|0,N|0)|0;N=I;M=bl(J|0,H|0,J|0,H|0)|0;O=Ul(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=bl(P|0,C|0,s|0,x|0)|0;F=I;Q=bl(N|0,G|0,E|0,D|0)|0;R=Ul(Q|0,I|0,K|0,F|0)|0;F=I;K=bl(y|0,L|0,J|0,H|0)|0;Q=Ul(R|0,F|0,K|0,I|0)|0;K=I;F=Wl(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;R=Wl(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;S=bl(O|0,M|0,p|0,q|0)|0;q=I;p=bl(O|0,M|0,n|0,o|0)|0;o=I;n=bl(Q|0,K|0,F|0,t|0)|0;T=I;U=bl(Q|0,K|0,R|0,v|0)|0;V=I;W=Ul(n|0,T|0,S|0,q|0)|0;q=I;S=Ul(U|0,V|0,p|0,o|0)|0;o=I;p=bl(Q|0,K|0,s|0,x|0)|0;x=I;s=bl(Q|0,K|0,E|0,D|0)|0;D=I;E=bl(Q|0,K|0,J|0,H|0)|0;H=I;J=Ni(p|0,x|0,O|0,M|0)|0;x=I;p=Ni(s|0,D|0,O|0,M|0)|0;D=I;s=Ni(E|0,H|0,O|0,M|0)|0;H=I;E=Wl(P|0,C|0,J|0,x|0)|0;x=I;J=Wl(N|0,G|0,p|0,D|0)|0;D=I;p=Wl(y|0,L|0,s|0,H|0)|0;H=I;s=bl(E|0,x|0,E|0,x|0)|0;x=I;E=bl(J|0,D|0,J|0,D|0)|0;D=Ul(E|0,I|0,s|0,x|0)|0;x=I;s=bl(p|0,H|0,p|0,H|0)|0;H=Ul(D|0,x|0,s|0,I|0)|0;s=I;x=Wl(0,0,F|0,t|0)|0;t=I;F=bl(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=23}break}case 1:{if(!s){ca=1;da=0;ba=24}else{Z=1;_=0;$=F;aa=s;ba=23}break}default:{Z=1;_=0;$=F;aa=s;ba=23}}if((ba|0)==23)while(1){ba=0;H=Rl(Z|0,_|0,1)|0;D=I;p=$;$=Xl($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&p>>>0>7)){ca=H;da=D;ba=24;break}else{Z=H;_=D;aa=I;ba=23}}if((ba|0)==24)while(1){ba=0;D=Mn(F|0,s|0,ca|0,da|0)|0;H=Ul(D|0,I|0,ca|0,da|0)|0;D=Xl(H|0,I|0,1)|0;H=I;p=bl(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&p>>>0>F>>>0){ca=D;da=H;ba=24}else{X=D;Y=H;break}}F=bl(X|0,Y|0,R|0,v|0)|0;s=I;H=bl(X|0,Y|0,x|0,t|0)|0;D=I;p=a+20|0;E=f[p>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[p>>2]=J;J=Wl(0,0,F|0,s|0)|0;p=Ul(W|0,q|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Wl(0,0,H|0,D|0)|0;F=Ul(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Ni(p|0,s|0,O|0,M|0)|0;s=Ni(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(r)fa=m<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function Ob(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)Do(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Do(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Db(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Db(y,h,x,k)|0;x=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];Db(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Wl(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=bl(s|0,x|0,s|0,x|0)|0;N=I;O=bl(E|0,D|0,E|0,D|0)|0;P=Ul(O|0,I|0,M|0,N|0)|0;N=I;M=bl(J|0,H|0,J|0,H|0)|0;O=Ul(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=bl(P|0,C|0,s|0,x|0)|0;F=I;Q=bl(N|0,G|0,E|0,D|0)|0;R=Ul(Q|0,I|0,K|0,F|0)|0;F=I;K=bl(y|0,L|0,J|0,H|0)|0;Q=Ul(R|0,F|0,K|0,I|0)|0;K=I;F=Wl(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;R=Wl(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;S=bl(O|0,M|0,c|0,m|0)|0;m=I;c=bl(O|0,M|0,r|0,o|0)|0;o=I;r=bl(Q|0,K|0,F|0,t|0)|0;T=I;U=bl(Q|0,K|0,R|0,v|0)|0;V=I;W=Ul(r|0,T|0,S|0,m|0)|0;m=I;S=Ul(U|0,V|0,c|0,o|0)|0;o=I;c=bl(Q|0,K|0,s|0,x|0)|0;x=I;s=bl(Q|0,K|0,E|0,D|0)|0;D=I;E=bl(Q|0,K|0,J|0,H|0)|0;H=I;J=Ni(c|0,x|0,O|0,M|0)|0;x=I;c=Ni(s|0,D|0,O|0,M|0)|0;D=I;s=Ni(E|0,H|0,O|0,M|0)|0;H=I;E=Wl(P|0,C|0,J|0,x|0)|0;x=I;J=Wl(N|0,G|0,c|0,D|0)|0;D=I;c=Wl(y|0,L|0,s|0,H|0)|0;H=I;s=bl(E|0,x|0,E|0,x|0)|0;x=I;E=bl(J|0,D|0,J|0,D|0)|0;D=Ul(E|0,I|0,s|0,x|0)|0;x=I;s=bl(c|0,H|0,c|0,H|0)|0;H=Ul(D|0,x|0,s|0,I|0)|0;s=I;x=Wl(0,0,F|0,t|0)|0;t=I;F=bl(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=22}break}case 1:{if(!s){ca=1;da=0;ba=23}else{Z=1;_=0;$=F;aa=s;ba=22}break}default:{Z=1;_=0;$=F;aa=s;ba=22}}if((ba|0)==22)while(1){ba=0;H=Rl(Z|0,_|0,1)|0;D=I;c=$;$=Xl($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&c>>>0>7)){ca=H;da=D;ba=23;break}else{Z=H;_=D;aa=I;ba=22}}if((ba|0)==23)while(1){ba=0;D=Mn(F|0,s|0,ca|0,da|0)|0;H=Ul(D|0,I|0,ca|0,da|0)|0;D=Xl(H|0,I|0,1)|0;H=I;c=bl(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&c>>>0>F>>>0){ca=D;da=H;ba=23}else{X=D;Y=H;break}}F=bl(X|0,Y|0,R|0,v|0)|0;s=I;H=bl(X|0,Y|0,x|0,t|0)|0;D=I;c=a+20|0;E=f[c>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[c>>2]=J;J=Wl(0,0,F|0,s|0)|0;c=Ul(W|0,m|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Wl(0,0,H|0,D|0)|0;F=Ul(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Ni(c|0,s|0,O|0,M|0)|0;s=Ni(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(q)fa=n<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function Pb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)Do(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];Db(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];Db(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];Db(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Wl(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Wl(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Wl(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Wl(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Wl(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Wl(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=bl($|0,ia|0,ca|0,ba|0)|0;da=I;la=bl(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=bl(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=bl($|0,ia|0,Q|0,L|0)|0;ia=I;$=bl(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=bl(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Wl(C|0,D|0,la|0,ma|0)|0;ma=Ul(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Ul(na|0,fa|0,E|0,F|0)|0;fa=Wl(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Wl(G|0,H|0,Q|0,ba|0)|0;ba=Ul(ga|0,I|0,$|0,L|0)|0;L=I;ig(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)Do(W);else if((V|0)==28)Do(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=Wl(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=Wl(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=Wl(0,0,ua|0,ta|0)|0;i=Ul((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=Ul(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=Xl(v|0,V|0,29)|0;Z=oa&7;oa=Ni(qa|0,pa|0,Z|0,0)|0;a=Ni(sa|0,ra|0,Z|0,0)|0;i=Ni(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Xl(v|0,V|0,29)|0;V=I;v=Ni(qa|0,pa|0,i|0,V|0)|0;pa=Ni(sa|0,ra|0,i|0,V|0)|0;ra=Ni(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Na,K=Na,L=Na,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cc(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];re(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{Ug(j,m);o=f[j>>2]|0;p=f[d>>2]|0}Jf(o|0,p|0,m|0)|0;Ch(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=o;r=p;s=0}else{Ug(c,d);q=f[j>>2]|0;r=f[k>>2]|0;s=f[c>>2]|0}Jf(s|0,q|0,r-q|0)|0;q=i+11|0;r=b[q>>0]|0;s=r<<24>>24<0;c=s?f[i>>2]|0:i;d=s?f[i+4>>2]|0:r&255;if(d>>>0>3){r=c;s=d;p=d;while(1){o=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(o>>>24^o,1540483477)|0)^(X(s,1540483477)|0);p=p+-4|0;if(p>>>0<=3)break;else r=r+4|0}r=d+-4|0;p=r&-4;t=r-p|0;v=c+(p+4)|0;w=s}else{t=d;v=c;w=d}switch(t|0){case 3:{x=h[v+2>>0]<<16^w;y=12;break}case 2:{x=w;y=12;break}case 1:{z=w;y=13;break}default:A=w}if((y|0)==12){z=h[v+1>>0]<<8^x;y=13}if((y|0)==13)A=X(z^h[v>>0],1540483477)|0;v=X(A>>>13^A,1540483477)|0;A=v>>>15^v;v=a+4|0;z=f[v>>2]|0;x=(z|0)==0;a:do if(!x){w=z+-1|0;t=(w&z|0)==0;if(!t)if(A>>>0>>0)B=A;else B=(A>>>0)%(z>>>0)|0;else B=A&w;s=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((s|0)!=0?(p=f[s>>2]|0,(p|0)!=0):0){s=(d|0)==0;if(t){if(s){t=p;while(1){r=f[t+4>>2]|0;if(!((r|0)==(A|0)|(r&w|0)==(B|0))){C=B;y=54;break a}r=b[t+8+11>>0]|0;if(!((r<<24>>24<0?f[t+12>>2]|0:r&255)|0))break a;t=f[t>>2]|0;if(!t){C=B;y=54;break a}}}else D=p;while(1){t=f[D+4>>2]|0;if(!((t|0)==(A|0)|(t&w|0)==(B|0))){C=B;y=54;break a}t=D+8|0;r=b[t+11>>0]|0;o=r<<24>>24<0;l=r&255;do if(((o?f[D+12>>2]|0:l)|0)==(d|0)){r=f[t>>2]|0;if(o)if(!(dj(r,c,d)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=t;E=l;F=c;do{E=E+-1|0;r=r+1|0;if(!E)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(s){w=p;while(1){l=f[w+4>>2]|0;if((l|0)!=(A|0)){if(l>>>0>>0)G=l;else G=(l>>>0)%(z>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}l=b[w+8+11>>0]|0;if(!((l<<24>>24<0?f[w+12>>2]|0:l&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else H=p;while(1){w=f[H+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)I=w;else I=(w>>>0)%(z>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}w=H+8|0;s=b[w+11>>0]|0;l=s<<24>>24<0;t=s&255;do if(((l?f[H+12>>2]|0:t)|0)==(d|0)){s=f[w>>2]|0;if(l)if(!(dj(s,c,d)|0))break a;else break;if((b[c>>0]|0)==(s&255)<<24>>24){s=w;o=t;F=c;do{o=o+-1|0;s=s+1|0;if(!o)break a;F=F+1|0}while((b[s>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){Ag(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(z>>>0);L=$(n[a+16>>2]);do if(x|$(L*K)>>0<3|(z+-1&z|0)!=0)&1;H=~~$(W($(J/L)))>>>0;tg(a,B>>>0>>0?H:B);B=f[v>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=z;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){z=a+8|0;f[f[g>>2]>>2]=f[z>>2];f[z>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=z;z=f[g>>2]|0;N=f[z>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=z;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;lp(O)}if((b[q>>0]|0)<0)lp(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;lp(i);u=e;return}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)Do(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];Db(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];Db(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];Db(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Wl(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Wl(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Wl(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Wl(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Wl(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Wl(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=bl(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=bl(da|0,_|0,aa|0,$|0)|0;ga=I;ha=bl(ea|0,W|0,aa|0,$|0)|0;$=I;aa=bl(K|0,ca|0,S|0,L|0)|0;ca=I;K=bl(da|0,_|0,S|0,L|0)|0;L=I;S=bl(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Wl(B|0,C|0,fa|0,ga|0)|0;ga=Ul(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Ul(ha|0,$|0,D|0,E|0)|0;$=Wl(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Wl(F|0,G|0,S|0,X|0)|0;X=Ul(aa|0,I|0,K|0,L|0)|0;L=I;uf(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)Do(Q);else if((R|0)==21)Do(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=Wl(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=Wl(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=Wl(0,0,oa|0,na|0)|0;i=Ul((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=Ul(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=Xl(t|0,R|0,29)|0;U=ia&7;ia=Ni(ka|0,ja|0,U|0,0)|0;a=Ni(ma|0,la|0,U|0,0)|0;i=Ni(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Xl(t|0,R|0,29)|0;R=I;t=Ni(ka|0,ja|0,i|0,R|0)|0;ja=Ni(ma|0,la|0,i|0,R|0)|0;la=Ni(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d+20|0;g=d+8|0;i=d+4|0;j=d;k=a+4|0;do if((h[(f[k>>2]|0)+36>>0]<<8&65535)<512){l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=-1;u=d;return r|0}else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=p;m=l;f[m>>2]=q;f[m+4>>2]=o;s=p;break}}else if(Rh(e,c)|0){s=f[e>>2]|0;break}else{r=-1;u=d;return r|0}while(0);a:do if(s|0){p=f[a+8>>2]|0;if(s>>>0>(((f[p+4>>2]|0)-(f[p>>2]|0)>>2>>>0)/3|0)>>>0){r=-1;u=d;return r|0}p=f[k>>2]|0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<258){p=c+8|0;o=c+16|0;m=g+4|0;q=g+8|0;l=a+40|0;n=a+44|0;t=a+36|0;v=0;w=s;while(1){x=p;y=f[x>>2]|0;z=f[x+4>>2]|0;x=o;A=f[x>>2]|0;B=f[x+4>>2]|0;x=Ul(A|0,B|0,4,0)|0;C=I;if((z|0)<(C|0)|(z|0)==(C|0)&y>>>0>>0)break;D=f[c>>2]|0;E=D+A|0;f[g>>2]=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;E=o;f[E>>2]=x;f[E+4>>2]=C;C=Ul(A|0,B|0,8,0)|0;E=I;if((z|0)<(E|0)|(z|0)==(E|0)&y>>>0>>0)break;C=D+x|0;f[m>>2]=h[C>>0]|h[C+1>>0]<<8|h[C+2>>0]<<16|h[C+3>>0]<<24;C=Ul(A|0,B|0,8,0)|0;x=I;E=o;f[E>>2]=C;f[E+4>>2]=x;if(!((z|0)>(x|0)|(z|0)==(x|0)&y>>>0>C>>>0))break;y=b[D+C>>0]|0;C=Ul(A|0,B|0,9,0)|0;B=o;f[B>>2]=C;f[B+4>>2]=I;b[q>>0]=b[q>>0]&-2|y&1;y=f[l>>2]|0;if((y|0)==(f[n>>2]|0)){Og(t,g);F=f[e>>2]|0}else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+12;F=w}v=v+1|0;if(v>>>0>=F>>>0)break a;else w=F}r=-1;u=d;return r|0}w=g+4|0;v=a+40|0;l=a+44|0;t=a+36|0;n=0;q=0;do{Rh(i,c)|0;f[w>>2]=(f[i>>2]|0)+q;Rh(i,c)|0;o=f[i>>2]|0;q=f[w>>2]|0;if(q>>>0>>0){G=36;break}f[g>>2]=q-o;o=f[v>>2]|0;if((o|0)==(f[l>>2]|0))Og(t,g);else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[v>>2]=(f[v>>2]|0)+12}n=n+1|0}while(n>>>0<(f[e>>2]|0)>>>0);if((G|0)==36){r=-1;u=d;return r|0}Ef(c,0,0)|0;n=f[e>>2]|0;if(n|0){v=c+36|0;t=c+32|0;l=c+24|0;q=c+28|0;w=a+36|0;o=0;m=0;while(1){p=f[k>>2]|0;y=(b[v>>0]|0)==0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514)if(!y){p=f[t>>2]|0;B=f[l>>2]|0;C=f[q>>2]|0;A=B+(p>>>3)|0;if(A>>>0>>0){D=(h[A>>0]|0)>>>(p&7)&1;A=p+1|0;f[t>>2]=A;H=D;J=A}else{H=0;J=p}if((B+(J>>>3)|0)>>>0>>0){f[t>>2]=J+1;K=H}else K=H}else K=m;else if(!y){y=f[t>>2]|0;C=(f[l>>2]|0)+(y>>>3)|0;if(C>>>0<(f[q>>2]|0)>>>0){B=(h[C>>0]|0)>>>(y&7)&1;f[t>>2]=y+1;K=B}else K=0}else K=m;B=(f[w>>2]|0)+(o*12|0)+8|0;b[B>>0]=b[B>>0]&-2|K&1;o=o+1|0;if(o>>>0>=n>>>0)break;else m=K}}Zj(c)}while(0);f[g>>2]=0;K=f[k>>2]|0;H=(h[K+36>>0]<<8|h[K+37>>0])&65535;if((H&65535)<512){K=c+8|0;J=f[K>>2]|0;e=f[K+4>>2]|0;K=c+16|0;F=K;s=f[F>>2]|0;m=Ul(s|0,f[F+4>>2]|0,4,0)|0;F=I;if((e|0)<(F|0)|(e|0)==(F|0)&J>>>0>>0)L=-1;else{J=(f[c>>2]|0)+s|0;s=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=s;J=K;f[J>>2]=m;f[J+4>>2]=F;M=s;G=43}}else if(H<<16>>16==512)if(Rh(g,c)|0){M=f[g>>2]|0;G=43}else L=-1;else G=57;b:do if((G|0)==43)if(!M)G=57;else{H=f[k>>2]|0;if(((h[H+36>>0]<<8|h[H+37>>0])&65535)>=258){H=a+52|0;s=a+56|0;F=a+48|0;J=0;m=0;while(1){f[i>>2]=0;Rh(j,c)|0;m=(f[j>>2]|0)+m|0;f[i>>2]=m;K=f[H>>2]|0;if((K|0)==(f[s>>2]|0))hh(F,i);else{f[K>>2]=m;f[H>>2]=K+4}J=J+1|0;if(J>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}}J=c+8|0;H=c+16|0;m=a+52|0;F=a+56|0;s=a+48|0;K=0;while(1){f[i>>2]=0;e=J;n=f[e>>2]|0;o=f[e+4>>2]|0;e=H;w=f[e>>2]|0;t=Ul(w|0,f[e+4>>2]|0,4,0)|0;e=I;if((o|0)<(e|0)|(o|0)==(e|0)&n>>>0>>0)break;n=(f[c>>2]|0)+w|0;w=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[i>>2]=w;n=H;f[n>>2]=t;f[n+4>>2]=e;e=f[m>>2]|0;if((e|0)==(f[F>>2]|0))hh(s,i);else{f[e>>2]=w;f[m>>2]=e+4}K=K+1|0;if(K>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}L=-1}while(0);if((G|0)==57)L=f[c+16>>2]|0;r=L;u=d;return r|0}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+736|0;e=d+716|0;g=d;h=d+64|0;if((j[c+38>>1]|0)<515){i=1;u=d;return i|0}k=c+8|0;l=f[k+4>>2]|0;m=c+16|0;n=m;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((l|0)>(p|0)|((l|0)==(p|0)?(f[k>>2]|0)>>>0>o>>>0:0))){i=0;u=d;return i|0}k=b[(f[c>>2]|0)+o>>0]|0;l=Ul(o|0,p|0,1,0)|0;p=m;f[p>>2]=l;f[p+4>>2]=I;p=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[p>>2]|0)+80>>2]|0;p=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;do if(p|0)if(p>>>0>214748364)Do(e);else{o=p*20|0;n=Yk(o)|0;f[e>>2]=n;f[e+8>>2]=n+(p*20|0);Gh(n|0,0,o|0)|0;f[m>>2]=n+o;break}while(0);p=a+64|0;o=a+68|0;n=a+60|0;q=a+52|0;r=a+56|0;s=a+48|0;t=0;v=0;a:while(1){if((v|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){w=44;break}x=Qa[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;y=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[y>>2]|0)+8>>2]|0)+(x<<2)>>2]|0;Nh(z,l)|0;b[z+84>>0]=1;x=f[z+68>>2]|0;y=z+72|0;A=f[y>>2]|0;if((A|0)!=(x|0))f[y>>2]=A+(~((A+-4-x|0)>>>2)<<2);switch(f[z+28>>2]|0){case 2:case 4:case 6:{B=z;break}case 1:case 3:case 5:{x=z+24|0;A=b[x>>0]|0;if(A<<24>>24>0){y=0;C=A;while(1){f[g>>2]=0;A=f[q>>2]|0;if(A>>>0<(f[r>>2]|0)>>>0){f[A>>2]=0;f[q>>2]=A+4;D=C}else{hh(s,g);D=b[x>>0]|0}y=y+1|0;if((y|0)>=(D<<24>>24|0))break;else C=D}}B=z;break}case 9:{C=b[z+24>>0]|0;Mj(g);y=f[z+56>>2]|0;x=X(Yj(6)|0,C<<24>>24)|0;Xh(g,y,0,C,6,0,x,((x|0)<0)<<31>>31,0,0);x=Yk(96)|0;zj(x,g);f[h>>2]=x;b[x+84>>0]=1;C=f[x+68>>2]|0;y=x+72|0;A=f[y>>2]|0;if((A|0)!=(C|0))f[y>>2]=A+(~((A+-4-C|0)>>>2)<<2);Nh(x,l)|0;x=f[p>>2]|0;if(x>>>0<(f[o>>2]|0)>>>0){C=f[h>>2]|0;f[h>>2]=0;f[x>>2]=C;C=x+4|0;f[p>>2]=C;E=C}else{_d(n,h);E=f[p>>2]|0}C=f[E+-4>>2]|0;x=f[h>>2]|0;f[h>>2]=0;if(x|0){A=x+88|0;y=f[A>>2]|0;f[A>>2]=0;if(y|0){A=f[y+8>>2]|0;if(A|0){F=y+12|0;if((f[F>>2]|0)!=(A|0))f[F>>2]=A;lp(A)}lp(y)}y=f[x+68>>2]|0;if(y|0){A=x+72|0;F=f[A>>2]|0;if((F|0)!=(y|0))f[A>>2]=F+(~((F+-4-y|0)>>>2)<<2);lp(y)}y=x+64|0;F=f[y>>2]|0;f[y>>2]=0;if(F|0){y=f[F>>2]|0;if(y|0){A=F+4|0;if((f[A>>2]|0)!=(y|0))f[A>>2]=y;lp(y)}lp(F)}lp(x)}B=C;break}default:{G=0;break a}}C=B;x=f[C+28>>2]|0;F=Yj(x)|0;y=b[C+24>>0]|0;C=f[e>>2]|0;f[C+(v*20|0)>>2]=B;f[C+(v*20|0)+4>>2]=t;f[C+(v*20|0)+8>>2]=x;f[C+(v*20|0)+12>>2]=(F|0)>0?F:0;f[C+(v*20|0)+16>>2]=y;t=t+y|0;v=v+1|0}if((w|0)==44){Mf(g,e);switch(k<<24>>24){case 0:{ye(h,t);k=he(h,c,g)|0;Be(h);if(k)w=52;else H=0;break}case 1:{ye(h,t);k=ge(h,c,g)|0;Be(h);if(k)w=52;else H=0;break}case 2:{Ae(h,t);k=je(h,c,g)|0;Oe(h);if(k)w=52;else H=0;break}case 3:{Ae(h,t);k=ie(h,c,g)|0;Oe(h);if(k)w=52;else H=0;break}case 4:{se(h,t);k=ce(h,c,g)|0;Fe(h);if(k)w=52;else H=0;break}case 5:{se(h,t);k=be(h,c,g)|0;Fe(h);if(k)w=52;else H=0;break}case 6:{se(h,t);t=ae(h,c,g)|0;Fe(h);if(t)w=52;else H=0;break}default:H=0}if((w|0)==52)H=1;w=f[g+16>>2]|0;if(w|0){t=g+20|0;h=f[t>>2]|0;if((h|0)!=(w|0))f[t>>2]=h+(~(((h+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[g>>2]|0;if(w|0){h=g+4|0;if((f[h>>2]|0)!=(w|0))f[h>>2]=w;lp(w)}G=H}H=f[e>>2]|0;if(H|0){e=f[m>>2]|0;if((e|0)!=(H|0))f[m>>2]=e+(~(((e+-20-H|0)>>>0)/20|0)*20|0);lp(H)}i=G;u=d;return i|0}function Ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{dg(i,m-q|0,3564);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;ri(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{dg(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)Do(e);t=Yk(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)Do(g);else{A=Yk(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;Gh(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);lp(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);lp(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);lp(ca)}h=1;u=c;return h|0}function Vb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Na,ea=Na,fa=Na,ga=0;c=u;u=u+32|0;d=c+12|0;e=c;g=a+60|0;if((f[g>>2]|0)==(f[a+64>>2]|0)?(f[a+48>>2]|0)==(f[a+52>>2]|0):0){h=1;u=c;return h|0}if((Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)<=0){h=1;u=c;return h|0}i=d+4|0;j=d+8|0;k=e+4|0;l=e+8|0;m=e+8|0;o=d+8|0;p=a+36|0;q=d+8|0;r=d+4|0;s=d+11|0;t=d+4|0;v=0;w=0;x=0;a:while(1){y=Qa[f[(f[a>>2]|0)+20>>2]&127](a,x)|0;z=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;A=f[(f[(f[z>>2]|0)+8>>2]|0)+(y<<2)>>2]|0;y=A+28|0;b:do switch(f[y>>2]|0){case 1:case 3:case 5:{z=A+24|0;B=b[z>>0]|0;C=B<<24>>24;f[d>>2]=0;f[i>>2]=0;f[j>>2]=0;if(!(B<<24>>24))D=0;else{if(B<<24>>24<0){E=8;break a}B=C<<2;F=Yk(B)|0;f[d>>2]=F;G=F+(C<<2)|0;f[o>>2]=G;Gh(F|0,0,B|0)|0;f[i>>2]=G;D=b[z>>0]|0}G=D<<24>>24;f[e>>2]=0;f[k>>2]=0;f[l>>2]=0;if(D<<24>>24){if(D<<24>>24<0){E=12;break a}B=G<<2;F=Yk(B)|0;f[e>>2]=F;C=F+(G<<2)|0;f[m>>2]=C;Gh(F|0,0,B|0)|0;f[k>>2]=C}switch(f[y>>2]|0){case 5:{if(Kd(a,A,w)|0)E=18;else{H=1;J=w}break}case 3:{if(Jd(a,A,w)|0)E=18;else{H=1;J=w}break}case 1:{if(Ad(a,A,w)|0)E=18;else{H=1;J=w}break}default:E=18}if((E|0)==18){E=0;H=0;J=w+(b[z>>0]|0)|0}z=f[e>>2]|0;if(z|0){C=f[k>>2]|0;if((C|0)!=(z|0))f[k>>2]=C+(~((C+-4-z|0)>>>2)<<2);lp(z)}z=f[d>>2]|0;if(z|0){C=f[i>>2]|0;if((C|0)!=(z|0))f[i>>2]=C+(~((C+-4-z|0)>>>2)<<2);lp(z)}if(!H){K=v;L=J}else{h=0;E=55;break a}break}case 9:{z=f[(f[g>>2]|0)+(v<<2)>>2]|0;C=f[p>>2]|0;B=v+1|0;F=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;G=f[F>>2]|0;F=f[A+56>>2]|0;M=Yk(32)|0;f[d>>2]=M;f[q>>2]=-2147483616;f[r>>2]=24;N=M;O=11767;P=N+24|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));b[M+24>>0]=0;O=G+16|0;N=f[O>>2]|0;if(N){P=O;Q=N;c:while(1){N=Q;while(1){if((f[N+16>>2]|0)>=(F|0))break;R=f[N+4>>2]|0;if(!R){S=P;break c}else N=R}Q=f[N>>2]|0;if(!Q){S=N;break}else P=N}if(((S|0)!=(O|0)?(F|0)>=(f[S+16>>2]|0):0)?(P=S+20|0,(jg(P,d)|0)!=0):0)T=ii(P,d,0)|0;else E=37}else E=37;if((E|0)==37){E=0;T=ii(G,d,0)|0}if((b[s>>0]|0)<0)lp(f[d>>2]|0);if(T){de(A,z);K=B;L=w;break b}P=f[C+(v*24|0)+4>>2]|0;Q=b[A+24>>0]|0;M=Q<<24>>24;R=M<<2;U=ip(M>>>0>1073741823?-1:M<<2)|0;Fn(d);if(!(Sk(d,$(n[C+(v*24|0)+20>>2]),(1<>2]>>2]|0)+(f[z+48>>2]|0)|0;V=z+80|0;d:do if(f[V>>2]|0){W=A+64|0;X=C+(v*24|0)+8|0;if(Q<<24>>24>0){Y=0;Z=0;_=0}else{aa=0;ba=0;while(1){Jf((f[f[W>>2]>>2]|0)+ba|0,U|0,R|0)|0;aa=aa+1|0;if(aa>>>0>=(f[V>>2]|0)>>>0)break d;else ba=ba+R|0}}while(1){ba=f[X>>2]|0;aa=0;N=_;while(1){ca=f[P+(N<<2)>>2]|0;if((ca|0)>-1){da=$(ca|0);ea=$($(n[t>>2])*da);fa=$(ea*$(n[d>>2]))}else{ga=Wl(0,0,ca|0,((ca|0)<0)<<31>>31|0)|0;ea=$(+(ga>>>0)+4294967296.0*+(I|0));da=$($(n[t>>2])*ea);fa=$(-$(da*$(n[d>>2])))}da=$(fa+$(n[ba+(aa<<2)>>2]));n[U+(aa<<2)>>2]=da;aa=aa+1|0;if((aa|0)==(M|0))break;else N=N+1|0}Jf((f[f[W>>2]>>2]|0)+Z|0,U|0,R|0)|0;Y=Y+1|0;if(Y>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Z+R|0;_=_+M|0}}}while(0);jp(U);K=B;L=w;break}default:{K=v;L=w}}while(0);x=x+1|0;if((x|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){h=1;E=55;break}else{v=K;w=L}}if((E|0)==8)Do(d);else if((E|0)==12)Do(e);else if((E|0)==54){jp(U);h=0;u=c;return h|0}else if((E|0)==55){u=c;return h|0}return 0}function Wb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Rg(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=ip(k)|0;Gh(d|0,0,k|0)|0;i=ip(k)|0;Gh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){jp(i);jp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+12|0;w=e<<2;if(s-m>>2>>>0>1){x=1;y=u;z=m}else Do(r);while(1){m=f[z+(x<<2)>>2]|0;if(q)Gh(d|0,0,w|0)|0;if((m|0)!=-1){u=f[a>>2]|0;s=0;A=m;while(1){B=f[u+(A<<2)>>2]|0;if((B|0)!=-1){C=f[k>>2]|0;D=f[l>>2]|0;E=f[D+(f[C+(B<<2)>>2]<<2)>>2]|0;F=B+1|0;G=((F>>>0)%3|0|0)==0?B+-2|0:F;if((G|0)==-1)H=-1;else H=f[C+(G<<2)>>2]|0;G=f[D+(H<<2)>>2]|0;F=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((F|0)==-1)I=-1;else I=f[C+(F<<2)>>2]|0;F=f[D+(I<<2)>>2]|0;if((E|0)<(x|0)&(G|0)<(x|0)&(F|0)<(x|0)){D=X(E,e)|0;E=X(G,e)|0;G=X(F,e)|0;if(q){F=0;do{f[i+(F<<2)>>2]=(f[c+(F+G<<2)>>2]|0)+(f[c+(F+E<<2)>>2]|0)-(f[c+(F+D<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0));if(q){F=0;do{D=d+(F<<2)|0;f[D>>2]=(f[D>>2]|0)+(f[i+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0))}}J=s+1|0}else J=s}else J=s;F=(((A>>>0)%3|0|0)==0?2:-1)+A|0;do if((F|0)!=-1?(D=f[u+(F<<2)>>2]|0,(D|0)!=-1):0)if(!((D>>>0)%3|0)){K=D+2|0;break}else{K=D+-1|0;break}else K=-1;while(0);A=(K|0)==(m|0)?-1:K;if((A|0)==-1)break;else s=J}s=X(x,e)|0;if(J){if(q){A=0;do{m=d+(A<<2)|0;f[m>>2]=(f[m>>2]|0)/(J|0)|0;A=A+1|0}while((A|0)!=(e|0))}A=b+(s<<2)|0;m=c+(s<<2)|0;if((y|0)>0){u=0;do{F=f[d+(u<<2)>>2]|0;D=f[n>>2]|0;if((F|0)>(D|0)){E=f[o>>2]|0;f[E+(u<<2)>>2]=D;L=E}else{E=f[p>>2]|0;D=f[o>>2]|0;f[D+(u<<2)>>2]=(F|0)<(E|0)?E:F;L=D}u=u+1|0;M=f[g>>2]|0}while((u|0)<(M|0));if((M|0)>0){u=0;do{D=(f[A+(u<<2)>>2]|0)+(f[L+(u<<2)>>2]|0)|0;F=m+(u<<2)|0;f[F>>2]=D;if((D|0)<=(f[n>>2]|0)){if((D|0)<(f[p>>2]|0)){N=(f[v>>2]|0)+D|0;t=70}}else{N=D-(f[v>>2]|0)|0;t=70}if((t|0)==70){t=0;f[F>>2]=N}u=u+1|0;F=f[g>>2]|0}while((u|0)<(F|0));O=F}else O=M}else O=y}else{P=s;t=48}}else{P=X(x,e)|0;t=48}if((t|0)==48){t=0;u=c+((X(x+-1|0,e)|0)<<2)|0;m=b+(P<<2)|0;A=c+(P<<2)|0;if((y|0)>0){F=0;do{D=f[u+(F<<2)>>2]|0;E=f[n>>2]|0;if((D|0)>(E|0)){G=f[o>>2]|0;f[G+(F<<2)>>2]=E;Q=G}else{G=f[p>>2]|0;E=f[o>>2]|0;f[E+(F<<2)>>2]=(D|0)<(G|0)?G:D;Q=E}F=F+1|0;R=f[g>>2]|0}while((F|0)<(R|0));if((R|0)>0){F=0;do{u=(f[m+(F<<2)>>2]|0)+(f[Q+(F<<2)>>2]|0)|0;s=A+(F<<2)|0;f[s>>2]=u;if((u|0)<=(f[n>>2]|0)){if((u|0)<(f[p>>2]|0)){S=(f[v>>2]|0)+u|0;t=58}}else{S=u-(f[v>>2]|0)|0;t=58}if((t|0)==58){t=0;f[s>>2]=S}F=F+1|0;s=f[g>>2]|0}while((F|0)<(s|0));O=s}else O=R}else O=y}x=x+1|0;if((x|0)>=(j|0)){t=22;break}z=f[r>>2]|0;if((f[h>>2]|0)-z>>2>>>0<=x>>>0){t=23;break}else y=O}if((t|0)==22){jp(i);jp(d);return 1}else if((t|0)==23)Do(r);return 0}function Xb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Rg(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=ip(k)|0;Gh(d|0,0,k|0)|0;i=ip(k)|0;Gh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){jp(i);jp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+64|0;w=k+28|0;x=e<<2;if(s-m>>2>>>0>1){y=1;z=u;A=m}else Do(r);while(1){m=f[A+(y<<2)>>2]|0;if(q)Gh(d|0,0,x|0)|0;if((m|0)!=-1){u=f[k>>2]|0;s=0;B=m;while(1){if(((f[u+(B>>>5<<2)>>2]&1<<(B&31)|0)==0?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(B<<2)>>2]|0,(C|0)!=-1):0)?(D=f[w>>2]|0,E=f[l>>2]|0,F=f[E+(f[D+(C<<2)>>2]<<2)>>2]|0,G=C+1|0,H=f[E+(f[D+((((G>>>0)%3|0|0)==0?C+-2|0:G)<<2)>>2]<<2)>>2]|0,G=f[E+(f[D+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(F|0)<(y|0)&(H|0)<(y|0)&(G|0)<(y|0)):0){C=X(F,e)|0;F=X(H,e)|0;H=X(G,e)|0;if(q){G=0;do{f[i+(G<<2)>>2]=(f[c+(G+H<<2)>>2]|0)+(f[c+(G+F<<2)>>2]|0)-(f[c+(G+C<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0));if(q){G=0;do{C=d+(G<<2)|0;f[C>>2]=(f[C>>2]|0)+(f[i+(G<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0))}}I=s+1|0}else I=s;G=(((B>>>0)%3|0|0)==0?2:-1)+B|0;do if(((G|0)!=-1?(f[u+(G>>>5<<2)>>2]&1<<(G&31)|0)==0:0)?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(G<<2)>>2]|0,(C|0)!=-1):0)if(!((C>>>0)%3|0)){J=C+2|0;break}else{J=C+-1|0;break}else J=-1;while(0);B=(J|0)==(m|0)?-1:J;if((B|0)==-1)break;else s=I}s=X(y,e)|0;if(I){if(q){B=0;do{m=d+(B<<2)|0;f[m>>2]=(f[m>>2]|0)/(I|0)|0;B=B+1|0}while((B|0)!=(e|0))}B=b+(s<<2)|0;m=c+(s<<2)|0;if((z|0)>0){u=0;do{G=f[d+(u<<2)>>2]|0;C=f[n>>2]|0;if((G|0)>(C|0)){F=f[o>>2]|0;f[F+(u<<2)>>2]=C;K=F}else{F=f[p>>2]|0;C=f[o>>2]|0;f[C+(u<<2)>>2]=(G|0)<(F|0)?F:G;K=C}u=u+1|0;L=f[g>>2]|0}while((u|0)<(L|0));if((L|0)>0){u=0;do{C=(f[B+(u<<2)>>2]|0)+(f[K+(u<<2)>>2]|0)|0;G=m+(u<<2)|0;f[G>>2]=C;if((C|0)<=(f[n>>2]|0)){if((C|0)<(f[p>>2]|0)){M=(f[v>>2]|0)+C|0;t=68}}else{M=C-(f[v>>2]|0)|0;t=68}if((t|0)==68){t=0;f[G>>2]=M}u=u+1|0;G=f[g>>2]|0}while((u|0)<(G|0));N=G}else N=L}else N=z}else{O=s;t=46}}else{O=X(y,e)|0;t=46}if((t|0)==46){t=0;u=c+((X(y+-1|0,e)|0)<<2)|0;m=b+(O<<2)|0;B=c+(O<<2)|0;if((z|0)>0){G=0;do{C=f[u+(G<<2)>>2]|0;F=f[n>>2]|0;if((C|0)>(F|0)){H=f[o>>2]|0;f[H+(G<<2)>>2]=F;P=H}else{H=f[p>>2]|0;F=f[o>>2]|0;f[F+(G<<2)>>2]=(C|0)<(H|0)?H:C;P=F}G=G+1|0;Q=f[g>>2]|0}while((G|0)<(Q|0));if((Q|0)>0){G=0;do{u=(f[m+(G<<2)>>2]|0)+(f[P+(G<<2)>>2]|0)|0;s=B+(G<<2)|0;f[s>>2]=u;if((u|0)<=(f[n>>2]|0)){if((u|0)<(f[p>>2]|0)){R=(f[v>>2]|0)+u|0;t=56}}else{R=u-(f[v>>2]|0)|0;t=56}if((t|0)==56){t=0;f[s>>2]=R}G=G+1|0;s=f[g>>2]|0}while((G|0)<(s|0));N=s}else N=Q}else N=z}y=y+1|0;if((y|0)>=(j|0)){t=22;break}A=f[r>>2]|0;if((f[h>>2]|0)-A>>2>>>0<=y>>>0){t=23;break}else z=N}if((t|0)==22){jp(i);jp(d);return 1}else if((t|0)==23)Do(r);return 0}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Ul(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Ul(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if((((f[a+220>>2]|0)-A|0)/144|0)>>>0<=z>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=Ul(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=I;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{Kc(e,a,E);F=f[e>>2]|0;break}case 1:{Zd(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(n<<24>>24<0|(D|0)!=0){v=0;u=d;return v|0}D=Yk(88)|0;F=n<<24>>24;n=f[a+216>>2]|0;a=n+(F*144|0)+104|0;f[D+4>>2]=0;f[D>>2]=3124;E=D+12|0;f[E>>2]=3148;x=D+64|0;f[x>>2]=0;f[D+68>>2]=0;f[D+72>>2]=0;m=D+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[D+76>>2]=o;f[D+80>>2]=a;f[D+84>>2]=0;s=g+4|0;f[s>>2]=3148;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=n+(F*144|0)+4|0;f[i>>2]=3148;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[n+(F*144|0)+68>>2]|0;F=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;Of(i+8|0,F,e);Ua[f[(f[i>>2]|0)+8>>2]&127](i);Ee(j,i);Ee(e,j);f[g>>2]=f[e+4>>2];F=g+4|0;Ue(F,e)|0;f[e>>2]=3148;t=f[e+20>>2]|0;if(t|0)lp(t);t=f[e+8>>2]|0;if(t|0)lp(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=D;f[j>>2]=3148;o=f[j+20>>2]|0;if(o|0)lp(o);o=f[j+8>>2]|0;if(o|0)lp(o);f[D+8>>2]=f[g>>2];Ue(E,F)|0;F=D+44|0;E=g+36|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];f[F+8>>2]=f[E+8>>2];f[F+12>>2]=f[E+12>>2];b[F+16>>0]=b[E+16>>0]|0;Xe(x,f[w>>2]|0,f[r>>2]|0);x=D;f[i>>2]=3148;D=f[i+20>>2]|0;if(D|0)lp(D);D=f[i+8>>2]|0;if(D|0)lp(D);D=f[w>>2]|0;if(D|0){w=f[r>>2]|0;if((w|0)!=(D|0))f[r>>2]=w+(~((w+-4-D|0)>>>2)<<2);lp(D)}f[s>>2]=3148;s=f[g+24>>2]|0;if(s|0)lp(s);s=f[g+12>>2]|0;if(s|0)lp(s);G=x}x=Yk(64)|0;f[k>>2]=G;wj(x,k);G=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Ua[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Ua[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){D=c+1|0;w=s;if(D>>>0>g>>>0){jf(x,D-g|0);break}if(D>>>0>>0?(r=k+(D<<2)|0,(r|0)!=(w|0)):0){D=w;do{w=D+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);D=f[l>>2]|0}while((D|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Ua[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Zb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;e=d;g=a+144|0;i=f[g>>2]|0;k=Pa[f[(f[i>>2]|0)+32>>2]&127](i)|0;do if((((h[k+36>>0]|0)<<8|(h[k+37>>0]|0))&65535)<514){i=a+40|0;l=i;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Ef(i,1,e)|0){l=a;m=i;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=e;o=f[i>>2]|0;p=f[i+4>>2]|0;i=a+8|0;q=a+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;r=Wl(f[i>>2]|0,f[i+4>>2]|0,s|0,t|0)|0;i=I;if(!(p>>>0>i>>>0|(p|0)==(i|0)&o>>>0>r>>>0)){r=Ul(s|0,t|0,o|0,p|0)|0;p=q;f[p>>2]=r;f[p+4>>2]=I;break}}v=0;u=d;return v|0}while(0);do if((j[a+38>>1]|0)>=514){if(!(Bd(a+80|0,a)|0)){v=0;u=d;return v|0}}else{k=a+96|0;l=k;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Ef(k,1,e)|0){l=a;m=k;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=e;p=f[k>>2]|0;r=f[k+4>>2]|0;k=a+8|0;q=a+16|0;o=q;t=f[o>>2]|0;s=f[o+4>>2]|0;o=Wl(f[k>>2]|0,f[k+4>>2]|0,t|0,s|0)|0;k=I;if(!(r>>>0>k>>>0|(r|0)==(k|0)&p>>>0>o>>>0)){o=Ul(t|0,s|0,p|0,r|0)|0;r=q;f[r>>2]=o;f[r+4>>2]=I;break}}v=0;u=d;return v|0}while(0);if(!(ah(a)|0)){v=0;u=d;return v|0}l=c;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=f[g>>2]|0;l=Pa[f[(f[m>>2]|0)+32>>2]&127](m)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){m=f[g>>2]|0;n=(Pa[f[(f[m>>2]|0)+32>>2]&127](m)|0)+36|0;if(((h[n>>0]|0)<<8&65535)<512){n=c+8|0;m=f[n>>2]|0;r=f[n+4>>2]|0;n=c+16|0;o=n;q=f[o>>2]|0;p=Ul(q|0,f[o+4>>2]|0,4,0)|0;o=I;if(!((r|0)<(o|0)|(r|0)==(o|0)&m>>>0

>>0)){m=(f[c>>2]|0)+q|0;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=q;m=n;f[m>>2]=p;f[m+4>>2]=o;w=q;x=19}}else if(Rh(e,c)|0){w=f[e>>2]|0;x=19}if((((x|0)==19?(q=f[a+152>>2]|0,w>>>0>>0):0)?(o=c+8|0,m=f[o+4>>2]|0,p=c+16|0,n=p,r=f[n>>2]|0,s=f[n+4>>2]|0,(m|0)>(s|0)|((m|0)==(s|0)?(f[o>>2]|0)>>>0>r>>>0:0)):0)?(o=b[(f[c>>2]|0)+r>>0]|0,m=Ul(r|0,s|0,1,0)|0,s=p,f[s>>2]=m,f[s+4>>2]=I,o<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;y=q;break}v=0;u=d;return v|0}else{f[a+176>>2]=2;f[a+180>>2]=7;y=f[a+152>>2]|0}while(0);if((y|0)<0){v=0;u=d;return v|0}w=a+156|0;f[e>>2]=0;x=a+160|0;g=f[x>>2]|0;l=f[w>>2]|0;q=g-l>>2;o=l;l=g;if(y>>>0<=q>>>0)if(y>>>0>>0?(g=o+(y<<2)|0,(g|0)!=(l|0)):0){f[x>>2]=l+(~((l+-4-g|0)>>>2)<<2);z=2;A=7}else{z=2;A=7}else{dg(w,y-q|0,e);z=f[a+176>>2]|0;A=f[a+180>>2]|0}q=A-z+1|0;z=a+184|0;A=a+188|0;y=f[A>>2]|0;w=f[z>>2]|0;g=(y-w|0)/12|0;l=w;w=y;if(q>>>0<=g>>>0)if(q>>>0>>0?(x=l+(q*12|0)|0,(x|0)!=(w|0)):0){l=w;while(1){w=l+-12|0;f[A>>2]=w;o=f[w>>2]|0;if(!o)B=w;else{w=l+-8|0;s=f[w>>2]|0;if((s|0)!=(o|0))f[w>>2]=s+(~((s+-4-o|0)>>>2)<<2);lp(o);B=f[A>>2]|0}if((B|0)==(x|0))break;else l=B}C=B}else C=y;else{Ie(z,q-g|0);C=f[A>>2]|0}g=a+196|0;q=f[z>>2]|0;y=(C-q|0)/12|0;B=a+200|0;a=f[B>>2]|0;l=f[g>>2]|0;x=a-l>>2;o=l;l=a;if(y>>>0<=x>>>0)if(y>>>0>>0?(a=o+(y<<2)|0,(a|0)!=(l|0)):0){f[B>>2]=l+(~((l+-4-a|0)>>>2)<<2);D=C;E=q}else{D=C;E=q}else{Rg(g,y-x|0);D=f[A>>2]|0;E=f[z>>2]|0}if((D|0)==(E|0)){v=1;u=d;return v|0}E=0;do{Rh(e,c)|0;D=f[e>>2]|0;if(D|0){x=f[z>>2]|0;y=x+(E*12|0)|0;q=x+(E*12|0)+4|0;C=f[q>>2]|0;a=f[y>>2]|0;l=C-a>>2;B=a;a=C;if(D>>>0<=l>>>0)if(D>>>0>>0?(C=B+(D<<2)|0,(C|0)!=(a|0)):0){f[q>>2]=a+(~((a+-4-C|0)>>>2)<<2);F=x;G=D}else{F=x;G=D}else{Rg(y,D-l|0);F=f[z>>2]|0;G=f[e>>2]|0}Bh(G,1,c,f[F+(E*12|0)>>2]|0)|0;f[(f[g>>2]|0)+(E<<2)>>2]=f[e>>2]}E=E+1|0}while(E>>>0<(((f[A>>2]|0)-(f[z>>2]|0)|0)/12|0)>>>0);v=1;u=d;return v|0}function _b(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4118]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[4119]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4116]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4114]=f[4114]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=16760+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[4115]=f[4115]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4120]|0)==(e|0)){r=(f[4117]|0)+m|0;f[4117]=r;f[4120]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4119]|0))return;f[4119]=0;f[4116]=0;return}if((f[4119]|0)==(e|0)){r=(f[4116]|0)+m|0;f[4116]=r;f[4119]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4114]=f[4114]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=16760+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[4115]=f[4115]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4119]|0)){f[4116]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=16496+(m<<1<<2)|0;a=f[4114]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=16760+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[4115]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[4115]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[4122]|0)+-1|0;f[4122]=l;if(!l)D=16912;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[4122]=-1;return}function $b(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Na,F=Na,G=Na,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(dj(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(dj(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=Yk(24)|0;Ch(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;tg(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=a+216|0;j=a+220|0;k=a+368|0;if((f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0)!=-1){l=f[j>>2]|0;m=f[i>>2]|0;n=m;if((l|0)==(m|0)){o=g;p=d;q=d;r=n;s=n;t=h;v=l;w=l;x=k;y=i;z=j;A=i}else{l=0;do{if(Qi((f[k>>2]|0)+(l<<4)|0)|0){n=f[i>>2]|0;f[d>>2]=e;m=n+(l*144|0)+136|0;B=f[m>>2]|0;if(B>>>0<(f[n+(l*144|0)+140>>2]|0)>>>0){f[B>>2]=e;f[m>>2]=B+4}else hh(n+(l*144|0)+132|0,d)}l=l+1|0;C=f[j>>2]|0;D=f[i>>2]|0}while(l>>>0<((C-D|0)/144|0)>>>0);l=D;o=g;p=d;q=d;r=l;s=l;t=h;v=C;w=D;x=k;y=i;z=j;A=i}}else{E=d;F=d;G=i;H=k;I=g;J=h;K=j;L=i;M=5}}else{i=a+216|0;E=d;F=d;G=i;H=a+368|0;I=-1;J=-1;K=a+220|0;L=i;M=5}if((M|0)==5){M=f[K>>2]|0;i=f[L>>2]|0;a=i;if((M|0)==(i|0)){o=I;p=E;q=F;r=a;s=a;t=J;v=M;w=M;x=H;y=G;z=K;A=L}else{j=0;h=a;g=a;k=i;i=M;M=a;while(1){f[d>>2]=e;a=M+(j*144|0)+136|0;D=f[a>>2]|0;if(D>>>0<(f[M+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=e;f[a>>2]=D+4;N=h;O=g;P=k;Q=i}else{hh(M+(j*144|0)+132|0,d);D=f[L>>2]|0;a=D;N=a;O=a;P=D;Q=f[K>>2]|0}j=j+1|0;if(j>>>0>=((Q-P|0)/144|0)>>>0){o=I;p=E;q=F;r=N;s=O;t=J;v=Q;w=P;x=H;y=G;z=K;A=L;break}else{h=N;g=O;k=P;i=Q;M=P}}}}if((t|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(t<<2)>>2]|0)!=-1:0)if((v|0)==(w|0)){R=w;S=w;T=r}else{P=0;do{if(Qi((f[x>>2]|0)+(P<<4)|0)|0){M=f[y>>2]|0;f[d>>2]=t;Q=M+(P*144|0)+136|0;i=f[Q>>2]|0;if(i>>>0<(f[M+(P*144|0)+140>>2]|0)>>>0){f[i>>2]=t;f[Q>>2]=i+4}else hh(M+(P*144|0)+132|0,d)}P=P+1|0;U=f[z>>2]|0;V=f[A>>2]|0}while(P>>>0<((U-V|0)/144|0)>>>0);R=U;S=V;T=V}else if((v|0)==(w|0)){R=w;S=w;T=r}else{V=0;U=s;s=r;r=w;w=v;while(1){f[d>>2]=t;v=U+(V*144|0)+136|0;P=f[v>>2]|0;if(P>>>0<(f[U+(V*144|0)+140>>2]|0)>>>0){f[P>>2]=t;f[v>>2]=P+4;W=r;X=w;Y=s}else{hh(U+(V*144|0)+132|0,d);P=f[A>>2]|0;W=P;X=f[z>>2]|0;Y=P}V=V+1|0;if(V>>>0>=((X-W|0)/144|0)>>>0){R=X;S=W;T=Y;break}else{U=W;s=Y;r=W;w=X}}}if((o|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(o<<2)>>2]|0)!=-1:0){if((R|0)==(S|0)){u=c;return 1}else Z=0;do{if(Qi((f[x>>2]|0)+(Z<<4)|0)|0){b=f[y>>2]|0;f[d>>2]=o;X=b+(Z*144|0)+136|0;w=f[X>>2]|0;if(w>>>0<(f[b+(Z*144|0)+140>>2]|0)>>>0){f[w>>2]=o;f[X>>2]=w+4}else hh(b+(Z*144|0)+132|0,d)}Z=Z+1|0}while(Z>>>0<(((f[z>>2]|0)-(f[A>>2]|0)|0)/144|0)>>>0);u=c;return 1}if((R|0)==(S|0)){u=c;return 1}else{_=0;$=T;aa=S;ba=R}while(1){f[d>>2]=o;R=$+(_*144|0)+136|0;S=f[R>>2]|0;if(S>>>0<(f[$+(_*144|0)+140>>2]|0)>>>0){f[S>>2]=o;f[R>>2]=S+4;ca=aa;da=ba}else{hh($+(_*144|0)+132|0,d);ca=f[A>>2]|0;da=f[z>>2]|0}_=_+1|0;if(_>>>0>=((da-ca|0)/144|0)>>>0)break;else{$=ca;aa=ca;ba=da}}u=c;return 1}function bc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Rg(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=ip(i)|0;Gh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){jp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=1;p=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[o+(s<<2)>>2]|0;q=X(s,e)|0;if((v|0)!=-1?(w=f[(f[a>>2]|0)+(v<<2)>>2]|0,(w|0)!=-1):0){v=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[v+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[v+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[v+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(s|0)&(A|0)<(s|0)&(z|0)<(s|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((p|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;v=f[h>>2]|0;if((A|0)>(v|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=v;D=w}else{w=f[l>>2]|0;v=f[n>>2]|0;f[v+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=v}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{v=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+v|0;u=56}}else{F=v-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=p}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((p|0)>0){A=0;do{v=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((v|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(v|0)<(H|0)?H:v;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=p}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else p=G}if((u|0)==22){jp(j);return 1}else if((u|0)==24)Do(m);return 0}function cc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Rg(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=ip(i)|0;Gh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){jp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=1;q=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[p+(s<<2)>>2]|0;w=X(s,e)|0;if((((v|0)!=-1?(f[(f[k>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(x|0)!=-1):0)?(v=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[v+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[v+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[v+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(s|0)&(B|0)<(s|0)&(A|0)<(s|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((q|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;v=f[h>>2]|0;if((B|0)>(v|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=v;C=y}else{y=f[l>>2]|0;v=f[n>>2]|0;f[v+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=v}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{v=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+v|0;u=53}}else{E=v-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=q}else{z=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((q|0)>0){B=0;do{v=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((v|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(v|0)<(G|0)?G:v;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=q}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else q=F}if((u|0)==22){jp(j);return 1}else if((u|0)==24)Do(m);return 0}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+672|0;g=e;i=e+656|0;j=e+4|0;k=c+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;u=e;return r|0}q=(f[c>>2]|0)+p|0;p=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;b[a>>0]=p;b[a+1>>0]=p>>8;b[a+2>>0]=p>>16;b[a+3>>0]=p>>24;q=l;m=f[q>>2]|0;o=f[q+4>>2]|0;q=Ul(m|0,o|0,4,0)|0;n=l;f[n>>2]=q;f[n+4>>2]=I;if(p>>>0>31){r=0;u=e;return r|0}p=k;n=f[p>>2]|0;s=f[p+4>>2]|0;p=Ul(m|0,o|0,8,0)|0;o=I;if((s|0)<(o|0)|(s|0)==(o|0)&n>>>0

>>0){r=0;u=e;return r|0}p=a+4|0;n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;q=l;p=f[q>>2]|0;n=f[q+4>>2]|0;q=Ul(p|0,n|0,4,0)|0;o=l;f[o>>2]=q;f[o+4>>2]=I;o=a+12|0;s=k;m=f[s>>2]|0;t=f[s+4>>2]|0;s=Ul(p|0,n|0,8,0)|0;n=I;if((t|0)<(n|0)|(t|0)==(n|0)&m>>>0>>0){r=0;u=e;return r|0}s=(f[c>>2]|0)+q|0;q=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;b[o>>0]=q;b[o+1>>0]=q>>8;b[o+2>>0]=q>>16;b[o+3>>0]=q>>24;s=l;m=f[s>>2]|0;n=f[s+4>>2]|0;s=Ul(m|0,n|0,4,0)|0;t=l;f[t>>2]=s;f[t+4>>2]=I;t=a+16|0;a=k;k=f[a>>2]|0;p=f[a+4>>2]|0;a=Ul(m|0,n|0,8,0)|0;n=I;if((p|0)<(n|0)|(p|0)==(n|0)&k>>>0>>0){r=0;u=e;return r|0}a=(f[c>>2]|0)+s|0;s=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[t>>0]=s;b[t+1>>0]=s>>8;b[t+2>>0]=s>>16;b[t+3>>0]=s>>24;a=l;k=Ul(f[a>>2]|0,f[a+4>>2]|0,4,0)|0;a=l;f[a>>2]=k;f[a+4>>2]=I;if(s>>>0>6){f[g>>2]=s;Ll(13327,g)|0;r=0;u=e;return r|0}f[i>>2]=d;a:do if(!q)v=17;else{lh(d,q);switch(f[t>>2]|0){case 0:{ye(j,3);Td(j,c,i)|0;Be(j);v=17;break a;break}case 1:{ye(j,3);Sd(j,c,i)|0;Be(j);v=17;break a;break}case 2:{Ae(j,3);Vd(j,c,i)|0;Oe(j);v=17;break a;break}case 3:{Ae(j,3);Ud(j,c,i)|0;Oe(j);v=17;break a;break}case 4:{se(j,3);Qd(j,c,i)|0;Fe(j);v=17;break a;break}case 5:{se(j,3);Pd(j,c,i)|0;Fe(j);v=17;break a;break}case 6:{se(j,3);Od(j,c,i)|0;Fe(j);v=17;break a;break}default:{w=0;break a}}}while(0);if((v|0)==17)w=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[o>>2]|0);r=w;u=e;return r|0}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=(e>>>0)/3|0;j=a+216|0;k=a+220|0;l=a+368|0;m=f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;if((m|0)!=-1)if(((m>>>0)/3|0)>>>0>=i>>>0?(f[k>>2]|0)!=(f[j>>2]|0):0){m=0;do{if(Qi((f[l>>2]|0)+(m<<4)|0)|0){n=f[j>>2]|0;f[d>>2]=e;o=n+(m*144|0)+136|0;p=f[o>>2]|0;if(p>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[p>>2]=e;f[o>>2]=p+4}else hh(n+(m*144|0)+132|0,d)}m=m+1|0}while(m>>>0<(((f[k>>2]|0)-(f[j>>2]|0)|0)/144|0)>>>0);q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{A=i;B=d;C=d;D=j;E=l;F=g;G=h;H=k;I=j;J=4}}else{j=a+216|0;A=-1;B=d;C=d;D=j;E=a+368|0;F=-1;G=-1;H=a+220|0;I=j;J=4}if((J|0)==4){j=f[H>>2]|0;a=f[I>>2]|0;if((j|0)==(a|0)){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D}else{k=0;h=j;j=a;while(1){a=j;f[d>>2]=e;g=a+(k*144|0)+136|0;l=f[g>>2]|0;if(l>>>0<(f[a+(k*144|0)+140>>2]|0)>>>0){f[l>>2]=e;f[g>>2]=l+4;K=j;L=h}else{hh(a+(k*144|0)+132|0,d);K=f[I>>2]|0;L=f[H>>2]|0}k=k+1|0;if(k>>>0>=((L-K|0)/144|0)>>>0){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D;break}else{h=L;j=K}}}}if((v|0)!=-1?(K=f[(f[(f[b>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(K|0)!=-1):0){if(((K>>>0)/3|0)>>>0>=q>>>0?(f[w>>2]|0)!=(f[x>>2]|0):0){K=0;do{if(Qi((f[y>>2]|0)+(K<<4)|0)|0){j=f[z>>2]|0;f[d>>2]=v;L=j+(K*144|0)+136|0;h=f[L>>2]|0;if(h>>>0<(f[j+(K*144|0)+140>>2]|0)>>>0){f[h>>2]=v;f[L>>2]=h+4}else hh(j+(K*144|0)+132|0,d)}K=K+1|0}while(K>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0)}}else J=27;if((J|0)==27?(J=f[w>>2]|0,K=f[x>>2]|0,(J|0)!=(K|0)):0){j=0;h=K;K=J;while(1){J=h;f[d>>2]=v;L=J+(j*144|0)+136|0;D=f[L>>2]|0;if(D>>>0<(f[J+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=v;f[L>>2]=D+4;M=h;N=K}else{hh(J+(j*144|0)+132|0,d);M=f[x>>2]|0;N=f[w>>2]|0}j=j+1|0;if(j>>>0>=((N-M|0)/144|0)>>>0)break;else{h=M;K=N}}}if((r|0)!=-1?(N=f[(f[(f[b>>2]|0)+12>>2]|0)+(r<<2)>>2]|0,(N|0)!=-1):0){if(((N>>>0)/3|0)>>>0>>0){u=c;return 1}if((f[w>>2]|0)==(f[x>>2]|0)){u=c;return 1}else O=0;do{if(Qi((f[y>>2]|0)+(O<<4)|0)|0){q=f[z>>2]|0;f[d>>2]=r;N=q+(O*144|0)+136|0;b=f[N>>2]|0;if(b>>>0<(f[q+(O*144|0)+140>>2]|0)>>>0){f[b>>2]=r;f[N>>2]=b+4}else hh(q+(O*144|0)+132|0,d)}O=O+1|0}while(O>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0);u=c;return 1}O=f[w>>2]|0;z=f[x>>2]|0;if((O|0)==(z|0)){u=c;return 1}else{P=0;Q=z;R=O}while(1){O=Q;f[d>>2]=r;z=O+(P*144|0)+136|0;y=f[z>>2]|0;if(y>>>0<(f[O+(P*144|0)+140>>2]|0)>>>0){f[y>>2]=r;f[z>>2]=y+4;S=Q;T=R}else{hh(O+(P*144|0)+132|0,d);S=f[x>>2]|0;T=f[w>>2]|0}P=P+1|0;if(P>>>0>=((T-S|0)/144|0)>>>0)break;else{Q=S;R=T}}u=c;return 1}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=Yk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Ul(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(dj(d,12971,5)|0){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=12977;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Ul(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=Yk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Ul(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=Yk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Ul(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Ul(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Ul(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Ul(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=Yk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}function gc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0;d=u;u=u+80|0;e=d+76|0;g=d;i=d+72|0;j=d+64|0;k=d+68|0;l=a+28|0;do if(((h[(f[l>>2]|0)+36>>0]|0)<<8&65535)<512){m=c+8|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c+16|0;p=m;q=f[p>>2]|0;r=Ul(q|0,f[p+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&n>>>0>>0){s=0;u=d;return s|0}else{n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[e>>2]=q;n=m;f[n>>2]=r;f[n+4>>2]=p;t=q;break}}else if(Rh(e,c)|0){t=f[e>>2]|0;break}else{s=0;u=d;return s|0}while(0);if(!t){s=0;u=d;return s|0}q=a+4|0;p=a+8|0;n=f[p>>2]|0;r=f[q>>2]|0;m=n-r>>2;o=r;r=n;if(t>>>0>m>>>0){Rg(q,t-m|0);if(!(f[e>>2]|0)){s=1;u=d;return s|0}}else if(t>>>0>>0?(m=o+(t<<2)|0,(m|0)!=(r|0)):0)f[p>>2]=r+(~((r+-4-m|0)>>>2)<<2);m=f[a+32>>2]|0;r=c+8|0;p=c+16|0;t=g+60|0;o=m+8|0;n=a+16|0;v=a+20|0;a=0;while(1){w=r;x=f[w>>2]|0;y=f[w+4>>2]|0;w=p;z=f[w>>2]|0;A=f[w+4>>2]|0;if(!((y|0)>(A|0)|(y|0)==(A|0)&x>>>0>z>>>0)){s=0;B=49;break}w=f[c>>2]|0;C=b[w+z>>0]|0;D=Ul(z|0,A|0,1,0)|0;E=I;F=p;f[F>>2]=D;f[F+4>>2]=E;if(!((y|0)>(E|0)|(y|0)==(E|0)&x>>>0>D>>>0)){s=0;B=49;break}E=b[w+D>>0]|0;D=Ul(z|0,A|0,2,0)|0;F=I;G=p;f[G>>2]=D;f[G+4>>2]=F;if(!((y|0)>(F|0)|(y|0)==(F|0)&x>>>0>D>>>0)){s=0;B=49;break}F=b[w+D>>0]|0;D=Ul(z|0,A|0,3,0)|0;G=I;H=p;f[H>>2]=D;f[H+4>>2]=G;if(!((y|0)>(G|0)|(y|0)==(G|0)&x>>>0>D>>>0)){s=0;B=49;break}x=b[w+D>>0]|0;D=Ul(z|0,A|0,4,0)|0;A=p;f[A>>2]=D;f[A+4>>2]=I;A=E&255;if((E+-1&255)>10){s=0;B=49;break}Mj(g);E=X(Yj(A)|0,F&255)|0;Xh(g,C&255,0,F,A,x<<24>>24!=0,E,((E|0)<0)<<31>>31,0,0);E=f[l>>2]|0;if((((h[E+36>>0]|0)<<8|(h[E+37>>0]|0))&65535)<259){E=r;x=f[E>>2]|0;A=f[E+4>>2]|0;E=p;F=f[E>>2]|0;C=Ul(F|0,f[E+4>>2]|0,2,0)|0;E=I;if((A|0)<(E|0)|(A|0)==(E|0)&x>>>0>>0){B=47;break}x=(f[c>>2]|0)+F|0;F=h[x>>0]|h[x+1>>0]<<8;x=p;f[x>>2]=C;f[x+4>>2]=E;E=F&65535;f[i>>2]=E;J=E}else{Rh(i,c)|0;J=f[i>>2]|0}f[t>>2]=J;E=Yk(96)|0;zj(E,g);f[j>>2]=E;E=Sf(m,j)|0;F=f[j>>2]|0;f[j>>2]=0;if(F|0){x=F+88|0;C=f[x>>2]|0;f[x>>2]=0;if(C|0){x=f[C+8>>2]|0;if(x|0){A=C+12|0;if((f[A>>2]|0)!=(x|0))f[A>>2]=x;lp(x)}lp(C)}C=f[F+68>>2]|0;if(C|0){x=F+72|0;A=f[x>>2]|0;if((A|0)!=(C|0))f[x>>2]=A+(~((A+-4-C|0)>>>2)<<2);lp(C)}C=F+64|0;A=f[C>>2]|0;f[C>>2]=0;if(A|0){C=f[A>>2]|0;if(C|0){x=A+4|0;if((f[x>>2]|0)!=(C|0))f[x>>2]=C;lp(C)}lp(A)}lp(F)}f[(f[(f[o>>2]|0)+(E<<2)>>2]|0)+60>>2]=f[i>>2];f[(f[q>>2]|0)+(a<<2)>>2]=E;F=f[v>>2]|0;A=f[n>>2]|0;C=F-A>>2;x=A;if((E|0)<(C|0))K=x;else{A=E+1|0;f[k>>2]=-1;D=F;if(A>>>0<=C>>>0)if(A>>>0>>0?(F=x+(A<<2)|0,(F|0)!=(D|0)):0){f[v>>2]=D+(~((D+-4-F|0)>>>2)<<2);L=x}else L=x;else{dg(n,A-C|0,k);L=f[n>>2]|0}K=L}f[K+(E<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){s=1;B=49;break}}if((B|0)==47){s=0;u=d;return s|0}else if((B|0)==49){u=d;return s|0}return 0}function hc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=Na,w=Na,x=Na,y=Na,z=0,A=0,B=0,C=Na,D=Na,E=Na,F=Na,G=Na,H=Na,I=Na,K=Na,M=Na,N=Na,O=Na,P=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;t=-1}else{r=q;t=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;t=-1}c=f[a+52>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Do(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=t>>>0)Do(c);c=f[p+(t<<2)>>2]|0;t=(m|0)<(e|0);if(t&(c|0)<(e|0)){p=f[a+72>>2]|0;q=X(p,m)|0;v=$(f[d+(q<<2)>>2]|0);w=$(f[d+(q+1<<2)>>2]|0);q=X(p,c)|0;x=$(f[d+(q<<2)>>2]|0);y=$(f[d+(q+1<<2)>>2]|0);if(!(x!=v|y!=w)){q=f[a+68>>2]|0;f[q>>2]=~~x;f[q+4>>2]=~~y;u=g;return}q=a+64|0;p=f[(f[q>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;r=a+60|0;o=f[r>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(p<<2)>>2]|0;else z=p;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];vb(o,h,z,j)|0;z=f[(f[q>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[r>>2]|0;if(!(b[o+84>>0]|0))A=f[(f[o+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[o+24>>0]|0;f[h>>2]=f[i>>2];vb(o,h,A,k)|0;A=f[(f[q>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[r>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];vb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)?1:(f[a+88>>2]|0)<258){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;O=$(-v);x=$(H+(l?O:v));v=$(-w);O=$(y+(l?w:v));l=~~+J(+(+O+.5));k=f[a+68>>2]|0;f[k>>2]=((n[s>>2]=O,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;l=~~+J(+(+x+.5));f[k+4>>2]=((n[s>>2]=x,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;u=g;return}else{do if(t)P=m;else{if((e|0)>0){P=e+-1|0;break}l=a+72|0;if((f[l>>2]|0)<=0){u=g;return}k=f[a+68>>2]|0;j=0;do{f[k+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[l>>2]|0));u=g;return}while(0);e=a+72|0;m=f[e>>2]|0;t=X(m,P)|0;if((m|0)<=0){u=g;return}m=f[a+68>>2]|0;a=0;do{f[m+(a<<2)>>2]=f[d+(a+t<<2)>>2];a=a+1|0}while((a|0)<(f[e>>2]|0));u=g;return}}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;lp(k)}lp(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);lp(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;lp(m)}lp(n)}lp(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;lp(p)}lp(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);lp(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;lp(e)}lp(j)}lp(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){mh(g);lp(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){mh(p);lp(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{mk(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return}function jc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=Na,v=Na,w=Na,x=Na,y=0,z=0,A=0,B=0,C=Na,D=Na,E=Na,F=Na,G=Na,H=Na,I=Na,K=Na,M=Na,N=Na,O=Na,P=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Do(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)Do(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(r&(q|0)<(e|0)){p=f[a+72>>2]|0;c=X(p,o)|0;t=$(f[d+(c<<2)>>2]|0);v=$(f[d+(c+1<<2)>>2]|0);c=X(p,q)|0;w=$(f[d+(c<<2)>>2]|0);x=$(f[d+(c+1<<2)>>2]|0);if(!(w!=t|x!=v)){c=f[a+68>>2]|0;f[c>>2]=~~w;f[c+4>>2]=~~x;u=g;return}c=a+64|0;p=f[(f[c>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;m=a+60|0;y=f[m>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(p<<2)>>2]|0;else z=p;f[i>>2]=z;z=b[y+24>>0]|0;f[h>>2]=f[i>>2];vb(y,h,z,j)|0;z=f[(f[c>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;y=f[m>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[y+24>>0]|0;f[h>>2]=f[i>>2];vb(y,h,A,k)|0;A=f[(f[c>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[m>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];vb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)?1:(f[a+88>>2]|0)<258){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(w-t);w=$(x-v);x=$($(H*N)+t);t=$(H*O);H=$($(w*N)+v);v=$(w*O);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;O=$(-t);w=$(H+(l?O:t));t=$(-v);O=$(x+(l?v:t));l=~~+J(+(+O+.5));k=f[a+68>>2]|0;f[k>>2]=((n[s>>2]=O,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;l=~~+J(+(+w+.5));f[k+4>>2]=((n[s>>2]=w,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;u=g;return}else{do if(r)P=o;else{if((e|0)>0){P=e+-1|0;break}l=a+72|0;if((f[l>>2]|0)<=0){u=g;return}k=f[a+68>>2]|0;j=0;do{f[k+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[l>>2]|0));u=g;return}while(0);e=a+72|0;o=f[e>>2]|0;r=X(o,P)|0;if((o|0)<=0){u=g;return}o=f[a+68>>2]|0;a=0;do{f[o+(a<<2)>>2]=f[d+(a+r<<2)>>2];a=a+1|0}while((a|0)<(f[e>>2]|0));u=g;return}}function kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;Do(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];Rb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Ul(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Ul(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=bl(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ni(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=bl(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ni(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Qi(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)Do(z);return 0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;Do(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];Pb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Ul(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Ul(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=bl(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ni(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=bl(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ni(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Qi(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)Do(z);return 0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else hh(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))hh(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else hh(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){hh(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function nc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>340){f[e>>2]=g+-341;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=f[a>>2]|0;o=n;if(i>>>0>n>>>0){p=i;q=((p-o>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-p|0;p=s>>2;if(!p)t=i;else{mk(r|0,i|0,s|0)|0;t=f[g>>2]|0}s=r+(p<<2)|0;f[e>>2]=s;f[g>>2]=t+(q<<2);v=s;break}s=m-o>>1;o=(s|0)==0?1:s;if(o>>>0>1073741823){s=ra(8)|0;cn(s,13388);f[s>>2]=4744;va(s|0,1128,101)}s=Yk(o<<2)|0;q=s;p=s+(o>>>2<<2)|0;r=p;w=s+(o<<2)|0;if((i|0)==(j|0)){x=r;y=n}else{n=p;p=r;o=i;do{f[n>>2]=f[o>>2];n=p+4|0;p=n;o=o+4|0}while((o|0)!=(j|0));x=p;y=f[a>>2]|0}f[a>>2]=q;f[g>>2]=r;f[e>>2]=x;f[k>>2]=w;if(!y)v=x;else{lp(y);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)|0;y=a+12|0;x=f[y>>2]|0;k=x-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;cn(g,13388);f[g>>2]=4744;va(g|0,1128,101)}g=Yk(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=Yk(4092)|0;f[d>>2]=k;lf(c,d);d=f[e>>2]|0;while(1){z=f[v>>2]|0;if((d|0)==(z|0))break;k=d+-4|0;cf(c,k);d=k}k=z;z=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=z;f[v>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((d|0)!=(g|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(z|0)lp(z);u=b;return}if((x|0)!=(h|0)){h=Yk(4092)|0;f[c>>2]=h;lf(a,c);u=b;return}h=Yk(4092)|0;f[c>>2]=h;cf(a,c);c=f[v>>2]|0;h=f[c>>2]|0;x=c+4|0;f[v>>2]=x;c=f[e>>2]|0;z=f[y>>2]|0;k=z;do if((c|0)==(z|0)){g=f[a>>2]|0;j=g;if(x>>>0>g>>>0){d=x;m=((d-j>>2)+1|0)/-2|0;i=x+(m<<2)|0;t=c-d|0;d=t>>2;if(!d)A=x;else{mk(i|0,x|0,t|0)|0;A=f[v>>2]|0}t=i+(d<<2)|0;f[e>>2]=t;f[v>>2]=A+(m<<2);B=t;break}t=k-j>>1;j=(t|0)==0?1:t;if(j>>>0>1073741823){t=ra(8)|0;cn(t,13388);f[t>>2]=4744;va(t|0,1128,101)}t=Yk(j<<2)|0;m=t;d=t+(j>>>2<<2)|0;i=d;l=t+(j<<2)|0;if((x|0)==(c|0)){C=i;D=g}else{g=d;d=i;j=x;do{f[g>>2]=f[j>>2];g=d+4|0;d=g;j=j+4|0}while((j|0)!=(c|0));C=d;D=f[a>>2]|0}f[a>>2]=m;f[v>>2]=i;f[e>>2]=C;f[y>>2]=l;if(!D)B=C;else{lp(D);B=f[e>>2]|0}}else B=c;while(0);f[B>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Do(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Rb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=bl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ni(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=bl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ni(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Qi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;Ec(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Do(y);return 0}function pc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2012;i=c;f[a>>2]=i;return}case 2:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2068;i=c;f[a>>2]=i;return}case 4:{c=Yk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2124;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Yk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2180;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Yk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2236;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Yk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2292;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2348;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ym(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Do(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Pb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=bl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ni(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=bl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ni(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Qi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;Ec(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Do(y);return 0}function rc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1648;i=c;f[a>>2]=i;return}case 2:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1704;i=c;f[a>>2]=i;return}case 4:{c=Yk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1760;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Yk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1816;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Yk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1872;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Yk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1928;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1984;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ym(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function sc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Do(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Rb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=bl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ni(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=bl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ni(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Qi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B+4>>2]|0;f[d>>2]=f[B>>2];f[a>>2]=E;f[i>>2]=Q;f[v>>2]=R;ld(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Do(y);return 0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d;if((j[c+38>>1]|0)<514){i=c+8|0;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}i=b[(f[c>>2]|0)+n>>0]|0;k=Ul(n|0,o|0,1,0)|0;o=l;f[o>>2]=k;f[o+4>>2]=I;if(i<<24>>24){p=0;u=d;return p|0}}Rh(e,c)|0;i=f[e>>2]|0;if(i){o=a+60|0;wd(o,i,0);Ym(g);if(Bd(g,c)|0){if(f[e>>2]|0){i=0;do{k=Qi(g)|0;l=(f[o>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(k)q=f[l>>2]|n;else q=f[l>>2]&~n;f[l>>2]=q;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}r=13}}else r=13;do if((r|0)==13){Rh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+72|0;wd(q,i,0);Ym(g);if(!(Bd(g,c)|0))break;if(f[e>>2]|0){i=0;do{o=Qi(g)|0;l=(f[q>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(o)s=f[l>>2]|n;else s=f[l>>2]&~n;f[l>>2]=s;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}Rh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+84|0;wd(q,i,0);Ym(g);if(!(Bd(g,c)|0))break;if(f[e>>2]|0){i=0;do{l=Qi(g)|0;n=(f[q>>2]|0)+(i>>>5<<2)|0;o=1<<(i&31);if(l)t=f[n>>2]|o;else t=f[n>>2]&~o;f[n>>2]=t;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}Rh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+96|0;wd(q,i,0);Ym(g);if(!(Bd(g,c)|0))break;if(f[e>>2]|0){i=0;do{n=Qi(g)|0;o=(f[q>>2]|0)+(i>>>5<<2)|0;l=1<<(i&31);if(n)v=f[o>>2]|l;else v=f[o>>2]&~l;f[o>>2]=v;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}i=c+8|0;q=f[i>>2]|0;o=f[i+4>>2]|0;i=c+16|0;l=i;n=f[l>>2]|0;k=f[l+4>>2]|0;l=Ul(n|0,k|0,4,0)|0;m=I;if((o|0)<(m|0)|(o|0)==(m|0)&q>>>0>>0){p=0;u=d;return p|0}w=f[c>>2]|0;x=w+n|0;y=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=i;f[x>>2]=l;f[x+4>>2]=m;m=Ul(n|0,k|0,8,0)|0;k=I;if((o|0)<(k|0)|(o|0)==(k|0)&q>>>0>>0){p=0;u=d;return p|0}q=w+l|0;l=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;q=i;f[q>>2]=m;f[q+4>>2]=k;if((y|0)>(l|0)){p=0;u=d;return p|0}f[a+12>>2]=y;f[a+16>>2]=l;k=Wl(l|0,((l|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0;y=I;if(!(y>>>0<0|(y|0)==0&k>>>0<2147483647)){p=0;u=d;return p|0}y=k+1|0;f[a+20>>2]=y;k=(y|0)/2|0;l=a+24|0;f[l>>2]=k;f[a+28>>2]=0-k;if(y&1|0){p=1;u=d;return p|0}f[l>>2]=k+-1;p=1;u=d;return p|0}while(0);p=0;u=d;return p|0}function uc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Do(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Pb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=bl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ni(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=bl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ni(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Qi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B+4>>2]|0;f[d>>2]=f[B>>2];f[a>>2]=E;f[i>>2]=Q;f[v>>2]=R;ld(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Do(y);return 0}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=u;u=u+16|0;e=d+12|0;g=d;h=d+8|0;i=d+4|0;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=0;q=f[g>>2]|0;r=k;while(1){s=(f[n>>2]|0)+(q>>>5<<2)|0;t=1<<(q&31);v=f[s>>2]|0;if(t&v|0)break;f[s>>2]=v|t;t=f[l>>2]|0;if((t|0)==(f[o>>2]|0))hh(j,g);else{f[t>>2]=f[g>>2];f[l>>2]=t+4}t=p+1|0;if((p|0)>0){v=(r|0)==-1;do if(!(t&1))if(!v)if(!((r>>>0)%3|0)){w=r+2|0;break}else{w=r+-1|0;break}else w=-1;else{s=r+1|0;if(v)w=-1;else w=((s>>>0)%3|0|0)==0?r+-2|0:s}while(0);f[c>>2]=w;x=w}else x=r;f[i>>2]=x;f[e>>2]=f[i>>2];v=pf(a,e)|0;f[c>>2]=v;if((v|0)==-1)break;s=(v>>>0)/3|0;f[g>>2]=s;p=t;q=s;r=v}r=(k|0)==-1;do if(!r)if(!((k>>>0)%3|0)){y=k+2|0;break}else{y=k+-1|0;break}else y=-1;while(0);f[h>>2]=y;f[e>>2]=f[h>>2];do if((pf(a,e)|0)==-1)z=k;else{h=k+1|0;if(!r){y=((h>>>0)%3|0|0)==0?k+-2|0:h;f[c>>2]=y;h=f[m>>2]|0;q=y+1|0;if(((y|0)!=-1?(p=((q>>>0)%3|0|0)==0?y+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h+12>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0){h=((p>>>0)%3|0|0)==0?q+-2|0:p;f[c>>2]=h;if((h|0)==-1){z=k;break}else{A=h;B=0;C=k}while(1){h=(A>>>0)/3|0;f[g>>2]=h;p=(f[n>>2]|0)+(h>>>5<<2)|0;q=1<<(h&31);h=f[p>>2]|0;if(q&h|0){D=B;E=C;break}f[p>>2]=h|q;q=f[l>>2]|0;if((q|0)==(f[o>>2]|0))hh(j,g);else{f[q>>2]=f[g>>2];f[l>>2]=q+4}q=B+1|0;if((B|0)>0){h=(A|0)==-1;do if(!(q&1))if(!h)if(!((A>>>0)%3|0)){F=A+2|0;G=A;break}else{F=A+-1|0;G=A;break}else{F=-1;G=A}else{p=A+1|0;if(h){F=-1;G=C}else{F=((p>>>0)%3|0|0)==0?A+-2|0:p;G=C}}while(0);f[c>>2]=F;H=G;I=F}else{H=C;I=A}f[i>>2]=I;f[e>>2]=f[i>>2];A=pf(a,e)|0;f[c>>2]=A;if((A|0)==-1){D=q;E=H;break}else{B=q;C=H}}if(!(D&1)){z=E;break}t=f[l>>2]|0;h=f[t+-4>>2]|0;p=(f[n>>2]|0)+(h>>>5<<2)|0;f[p>>2]=f[p>>2]&~(1<<(h&31));f[l>>2]=t+-4;z=E;break}else J=k}else{f[c>>2]=-1;J=-1}f[c>>2]=-1;z=J}while(0);f[a+44+(b<<2)>>2]=z;z=f[l>>2]|0;l=f[j>>2]|0;j=l;if((z|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=z-l>>2;l=0;do{z=f[j+(l<<2)>>2]|0;a=b+(z>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(z&31));l=l+1|0}while(l>>>0>>0);u=d;return}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))hh(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))hh(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))hh(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){hh(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return} -function xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;zf(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Ul(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Ul(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(Yj(5)|0)==(w|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Ul(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{Jf(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Ul(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=20;break}}v=X(i,w)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Wl(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=0;y=z;z=x;x=B;B=C;while(1){C=Ul(y|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=y;F=z}else{Jf(k+(u<<2)|0,(f[d>>2]|0)+y|0,w|0)|0;C=l;A=Ul(f[C>>2]|0,f[C+4>>2]|0,v|0,0)|0;C=I;G=l;f[G>>2]=A;f[G+4>>2]=C;E=A;F=C}C=u+1|0;if((C|0)==(i|0)){D=20;break a}A=j;u=C;y=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0}}}else if(Bh(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Pa[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}qk(k,i,k);H=F;J=1}while(0);if((D|0)==21){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Sa[f[(f[J>>2]|0)+44>>2]&31](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)lp(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;cn(e,13388);f[e>>2]=4744;va(e|0,1128,101)}e=Yk(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)lp(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?dj(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function zc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;fc(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)lp(f[g>>2]|0);l=b[j+7>>0]|0;if((Pa[f[(f[c>>2]|0)+8>>2]&127](c)|0)!=(l&255|0)){m=Yk(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=13022;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=Yk(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=13073;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&(l<<24>>24==0?3:2)>>>0>>0){l=Yk(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=13096;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}l=((m&255)<<8|r)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Rd(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)lp(f[g>>2]|0)}if(!(Pa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=Yk(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=13119;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}if(!(Pa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=Yk(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=13153;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}if(Pa[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=Yk(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=13185;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Nn(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];Nf(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=Yk(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Ed(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Sh(h+4|0,f[k>>2]|0);Sh(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Bc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(q|0)==(k|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(dj(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((q|0)==(a|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(dj(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(dj(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(dj(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Dc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=dj(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=dj(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=dj(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=df(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=dj(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=df(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function Ec(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;n=((l?j:0-j|0)+(k?h:0-h|0)|0)<=(m|0);if(n){o=h;p=j}else{if(k)if(!l)if((h|0)<1){q=-1;r=-1}else s=6;else{q=1;r=1}else if((j|0)<1){q=-1;r=-1}else s=6;if((s|0)==6){q=(h|0)>0?1:-1;r=(j|0)>0?1:-1}l=X(m,q)|0;k=X(m,r)|0;m=(h<<1)-l|0;f[c>>2]=m;h=(j<<1)-k|0;f[i>>2]=h;if((X(q,r)|0)>-1){r=0-h|0;f[c>>2]=r;t=0-m|0;u=r}else{f[c>>2]=h;t=m;u=h}h=(u+l|0)/2|0;f[c>>2]=h;l=(t+k|0)/2|0;f[i>>2]=l;o=h;p=l}if(!o)v=(p|0)==0;else v=(o|0)<0&(p|0)<1;if(!o)w=(p|0)==0?0:(p|0)>0?3:1;else w=(o|0)>0?(p>>31)+2|0:(p|0)<1?0:3;if(v){x=1;y=o;z=p}else{switch(w|0){case 1:{A=p;B=0-o|0;break}case 2:{A=0-o|0;B=0-p|0;break}case 3:{A=0-p|0;B=o;break}default:{A=o;B=p}}p=c;f[p>>2]=A;f[p+4>>2]=B;x=0;y=A;z=B}B=(f[d>>2]|0)+y|0;f[a>>2]=B;y=(f[d+4>>2]|0)+z|0;z=a+4|0;f[z>>2]=y;d=f[e>>2]|0;if((d|0)>=(B|0))if((B|0)<(0-d|0))C=(f[b+4>>2]|0)+B|0;else C=B;else C=B-(f[b+4>>2]|0)|0;f[a>>2]=C;if((d|0)>=(y|0))if((y|0)<(0-d|0))D=(f[b+4>>2]|0)+y|0;else D=y;else D=y-(f[b+4>>2]|0)|0;f[z>>2]=D;if(x){E=C;F=D}else{switch((4-w|0)%4|0|0){case 1:{G=D;H=0-C|0;break}case 2:{G=0-C|0;H=0-D|0;break}case 3:{G=0-D|0;H=C;break}default:{G=C;H=D}}D=a;f[D>>2]=G;f[D+4>>2]=H;E=G;F=H}if(n){I=E;J=F;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}if((E|0)>-1)if((F|0)<=-1)if((E|0)<1){Q=-1;R=-1}else s=42;else{Q=1;R=1}else if((F|0)<1){Q=-1;R=-1}else s=42;if((s|0)==42){Q=(E|0)>0?1:-1;R=(F|0)>0?1:-1}s=X(d,Q)|0;n=X(d,R)|0;d=(E<<1)-s|0;f[a>>2]=d;E=(F<<1)-n|0;f[z>>2]=E;if((X(Q,R)|0)>-1){R=0-E|0;f[a>>2]=R;S=0-d|0;T=R}else{f[a>>2]=E;S=d;T=E}E=(T+s|0)/2|0;f[a>>2]=E;s=(S+n|0)/2|0;f[z>>2]=s;I=E;J=s;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Wc(i,d)|0?vd(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}Ef(d,0,0)|0;if(!j){j=i+48|0;k=i+44|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=0;w=0;x=f[j>>2]|0;while(1){b:do if(x>>>0<16384){y=f[k>>2]|0;z=x;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[k>>2]=y;C=z<<8|h[B+y>>0];f[j>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=x;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;x=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[j>>2]=x;c:do if(p){if((y|0)>0){D=0;E=w}else{C=(b[q>>0]|0)==0;z=0;B=w;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=0;F=0;H=f[r>>2]|0;while(1){I=B+(H>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(H&7)&1;I=H+1|0;f[r>>2]=I;K=J;L=I}else{K=0;L=H}C=K<>2]=C;D=D+1|0;if((D|0)>=(c|0)){G=H;break}else E=H}}else G=w;while(0);v=v+c|0;if(v>>>0>=a>>>0)break;else w=G}}}else Ef(d,0,0)|0;Zj(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);lp(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);lp(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);u=g;return l|0}function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=sk(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((sk(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Ul(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Wl(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Wl(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Hc(a,b){a=a|0;b=b|0;var c=0;if(!(Bd(a,b)|0)){c=0;return c|0}if(!(Bd(a+16|0,b)|0)){c=0;return c|0}if(!(Bd(a+32|0,b)|0)){c=0;return c|0}if(!(Bd(a+48|0,b)|0)){c=0;return c|0}if(!(Bd(a+64|0,b)|0)){c=0;return c|0}if(!(Bd(a+80|0,b)|0)){c=0;return c|0}if(!(Bd(a+96|0,b)|0)){c=0;return c|0}if(!(Bd(a+112|0,b)|0)){c=0;return c|0}if(!(Bd(a+128|0,b)|0)){c=0;return c|0}if(!(Bd(a+144|0,b)|0)){c=0;return c|0}if(!(Bd(a+160|0,b)|0)){c=0;return c|0}if(!(Bd(a+176|0,b)|0)){c=0;return c|0}if(!(Bd(a+192|0,b)|0)){c=0;return c|0}if(!(Bd(a+208|0,b)|0)){c=0;return c|0}if(!(Bd(a+224|0,b)|0)){c=0;return c|0}if(!(Bd(a+240|0,b)|0)){c=0;return c|0}if(!(Bd(a+256|0,b)|0)){c=0;return c|0}if(!(Bd(a+272|0,b)|0)){c=0;return c|0}if(!(Bd(a+288|0,b)|0)){c=0;return c|0}if(!(Bd(a+304|0,b)|0)){c=0;return c|0}if(!(Bd(a+320|0,b)|0)){c=0;return c|0}if(!(Bd(a+336|0,b)|0)){c=0;return c|0}if(!(Bd(a+352|0,b)|0)){c=0;return c|0}if(!(Bd(a+368|0,b)|0)){c=0;return c|0}if(!(Bd(a+384|0,b)|0)){c=0;return c|0}if(!(Bd(a+400|0,b)|0)){c=0;return c|0}if(!(Bd(a+416|0,b)|0)){c=0;return c|0}if(!(Bd(a+432|0,b)|0)){c=0;return c|0}if(!(Bd(a+448|0,b)|0)){c=0;return c|0}if(!(Bd(a+464|0,b)|0)){c=0;return c|0}if(!(Bd(a+480|0,b)|0)){c=0;return c|0}if(!(Bd(a+496|0,b)|0)){c=0;return c|0}c=Bd(a+512|0,b)|0;return c|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)lp(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}d=Yk(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)lp(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function Jc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;Rh(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(Yc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;Rh(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Ul(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;Vh(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Fj(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Ul(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}Jf(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Ul(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=Yk(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(Jc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;qf(c,h,j)|0;bh(j);G=0}else G=1;bh(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)lp(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=Yk(88)|0;f[l+4>>2]=0;f[l>>2]=3216;m=l+12|0;f[m>>2]=3196;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=3196;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Of(i+8|0,c,g);Ua[f[(f[i>>2]|0)+8>>2]&127](i);Ge(j,i);Ge(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;Ue(c,g)|0;f[g>>2]=3196;p=f[g+20>>2]|0;if(p|0)lp(p);p=f[g+8>>2]|0;if(p|0)lp(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=3196;k=f[j+20>>2]|0;if(k|0)lp(k);k=f[j+8>>2]|0;if(k|0)lp(k);f[l+8>>2]=f[h>>2];Ue(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;Xe(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=3196;q=f[i+20>>2]|0;if(q|0)lp(q);q=f[i+8>>2]|0;if(q|0)lp(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);lp(q)}f[r>>2]=3196;r=f[h+24>>2]|0;if(r|0)lp(r);r=f[h+12>>2]|0;if(!r){u=e;return}lp(r);u=e;return}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{Rg(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=ip(l)|0;Gh(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){jp(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=e;k=u;while(1){u=c+(a<<2)|0;l=u+(n<<2)|0;q=b+(a<<2)|0;if((k|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=u+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=k;a=a+e|0;if((a|0)>=(d|0))break;else k=z}jp(h);return 1}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=0;o=f[a+44+(b<<2)>>2]|0;while(1){b=(o|0)==-1;p=b?-1:(o>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(n){if(b)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else hh(k,e);if(!(n&1)){p=o+1|0;if(b){s=-1;break}t=((p>>>0)%3|0|0)==0?o+-2|0:p;v=35;break}if(!b)if(!((o>>>0)%3|0)){t=o+2|0;v=35;break}else{t=o+-1|0;v=35;break}else s=-1}else{if(b)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else hh(k,e);p=o+1|0;if(!b?(q=((p>>>0)%3|0|0)==0?o+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else hh(k,e);if(!b?(q=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else hh(k,e);t=o;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}n=n+1|0;if((n|0)>=(h|0))break;else o=s}u=d;return}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);g=a+184|0;j=f[g>>2]|0;switch(j|0){case 1:case 0:{if((i|0)==-1)k=-1;else k=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(k<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1){n=1;o=-1;p=l;q=28}else{n=1;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 5:{if(b)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(r<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;m=l+(s<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1){n=2;o=-1;p=l;q=28}else{n=2;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 3:{if(b)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;m=l+(u<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((h|0)==-1){n=1;o=-1;p=l;q=28}else{n=1;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 7:{if(b)v=-1;else v=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(v<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((i|0)==-1)w=-1;else w=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=l+(w<<2)|0;f[i>>2]=(f[i>>2]|0)+2;if((h|0)==-1){n=2;o=-1;p=l;q=28}else{n=2;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}default:x=j}if((q|0)==28){q=p+(o<<2)|0;f[q>>2]=(f[q>>2]|0)+n;x=f[g>>2]|0}switch(x|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}x=f[c>>2]|0;if(!b?(b=((e>>>0)%3|0|0)==0?d+-2|0:e,(b|0)!=-1):0)y=f[(f[x>>2]|0)+(b<<2)>>2]|0;else y=-1;f[a+188>>2]=(f[(f[a+156>>2]|0)+(y<<2)>>2]|0)<6?5:0;return}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Fh(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=0;B=l;l=b;while(1){if(!(f[(f[m>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){b=A*3|0;f[g>>2]=b;f[e>>2]=f[g>>2];vc(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=b+1;f[e>>2]=f[g>>2];vc(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=b+2;f[e>>2]=f[g>>2];vc(a,2,e);b=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else hh(w,e);E=f[a+44+(b<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else hh(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else hh(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];Mc(a,b,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=B;H=l}A=A+1|0;if(A>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{B=G;l=H}}u=d;return i|0}function Pc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Tf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Qc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Wf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Rc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Xf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Sc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Zf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Tc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=_f(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((i|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=2;l=-1;m=e;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1){k=2;l=-1;m=d;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=d;n=28}break}default:{}}if((n|0)==28){n=m+(l<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((i|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(i|0)>(c|0)?c:i;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function Vc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=$f(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Wc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=ag(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Xc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=ip(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)jp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Rg(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;Do(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];jc(a,h,c,v);n=X(v,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){E=10;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)Do(t);return 0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Ul(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;Vh(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Fj(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Ul(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}Jf(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Ul(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(Rh(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)Do(h);s=Yk(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=x;x=s;do{b[x>>0]=0;x=(f[y>>2]|0)+1|0;f[y>>2]=x;q=q+-1|0}while((q|0)!=0);q=f[g>>2]|0;x=f[a>>2]|0;s=x+8|0;p=f[s>>2]|0;r=f[s+4>>2]|0;s=x+16|0;m=s;t=f[m>>2]|0;w=Ul(t|0,f[m+4>>2]|0,q|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{Jf(f[h>>2]|0,(f[x>>2]|0)+t|0,q|0)|0;t=s;x=Ul(f[t>>2]|0,f[t+4>>2]|0,q|0,0)|0;q=s;f[q>>2]=x;f[q+4>>2]=I;Ak(c,e,h);B=1}q=f[h>>2]|0;if(q|0){if((f[y>>2]|0)!=(q|0))f[y>>2]=q;lp(q)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}lp(f[e>>2]|0);u=d;return z|0}function Zc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=ip(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)jp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Rg(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;Do(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];hc(a,h,c,v);n=X(v,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){E=10;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)Do(t);return 0}function _c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Na,t=Na,u=Na,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=Yk(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;zg(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+8|0;e=f[d>>2]|0;switch(f[e+28>>2]|0){case 2:{g=b[e+24>>0]|0;h=g<<24>>24;i=ip((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;a:do if(c|0){if(g<<24>>24>0){l=0;m=0}else{Jf(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1)break;else{n=0;o=1}while(1){n=n+h|0;Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+n|0,i|0,h|0)|0;o=o+1|0;if((o|0)==(c|0))break a}}while(1){j=0;p=m;while(1){b[i+j>>0]=f[k+(p<<2)>>2];j=j+1|0;if((j|0)==(h|0))break;else p=p+1|0}Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+m|0,i|0,h|0)|0;l=l+1|0;if((l|0)==(c|0))break;else m=m+h|0}}while(0);jp(i);q=1;return q|0}case 1:{i=b[e+24>>0]|0;h=i<<24>>24;m=ip((h|0)>-1?h:-1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))r=0;else r=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;b:do if(c|0){if(i<<24>>24>0){s=0;t=0}else{Jf(f[f[e+64>>2]>>2]|0,m|0,h|0)|0;if((c|0)==1)break;else{u=0;v=1}while(1){u=u+h|0;Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+u|0,m|0,h|0)|0;v=v+1|0;if((v|0)==(c|0))break b}}while(1){l=0;k=t;while(1){b[m+l>>0]=f[r+(k<<2)>>2];l=l+1|0;if((l|0)==(h|0))break;else k=k+1|0}Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+t|0,m|0,h|0)|0;s=s+1|0;if((s|0)==(c|0))break;else t=t+h|0}}while(0);jp(m);q=1;return q|0}case 4:{og(a,c);q=1;return q|0}case 3:{og(a,c);q=1;return q|0}case 6:{pg(a,c);q=1;return q|0}case 5:{pg(a,c);q=1;return q|0}default:{q=0;return q|0}}return 0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+32|0;g=e+8|0;i=e;switch(d|0){case 2:{d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{m=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Pa[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Id(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);n=f[i>>2]|0;if(!n){f[i>>2]=0;break}else{o=i;p=n;break a}}while(0);n=Yk(24)|0;f[n+4>>2]=m;q=n+8|0;f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[q+12>>2]=f[g+12>>2];f[n>>2]=2436;k=n;l=8}while(0);if((l|0)==8){f[i>>2]=k;o=i;p=k}f[a>>2]=p;f[o>>2]=0;u=e;return}case 3:{o=f[b+12>>2]|0;p=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;b:do if((c|0)==-2){r=0;l=16}else{b=f[(f[(f[p+4>>2]|0)+8>>2]|0)+(o<<2)>>2]|0;do if((Pa[f[(f[p>>2]|0)+8>>2]&127](p)|0)==1){Hd(i,p,c,o,g,((h[p+36>>0]|0)<<8|(h[p+37>>0]|0))&65535);k=f[i>>2]|0;if(!k){f[i>>2]=0;break}else{s=i;t=k;break b}}while(0);m=Yk(24)|0;f[m+4>>2]=b;k=m+8|0;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[k+8>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];f[m>>2]=2492;r=m;l=16}while(0);if((l|0)==16){f[i>>2]=r;s=i;t=r}f[a>>2]=t;f[s>>2]=0;u=e;return}default:{f[a>>2]=0;u=e;return}}}function cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Rg(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;Do(v)}else{w=0;x=n}while(1){f[i>>2]=f[x+(w<<2)>>2];f[h>>2]=f[i>>2];if(!(Ob(j,h,c,w)|0)){q=0;y=24;break}n=X(w,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;x=f[n>>2]|0;if((f[n+4>>2]|0)-x>>2>>>0<=w>>>0){v=n;y=8;break}}if((y|0)==8)Do(v);else if((y|0)==24){u=d;return q|0}return 0}function dd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Rg(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;Do(v)}else{w=0;x=n}while(1){f[i>>2]=f[x+(w<<2)>>2];f[h>>2]=f[i>>2];if(!(Nb(j,h,c,w)|0)){q=0;y=24;break}n=X(w,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;x=f[n>>2]|0;if((f[n+4>>2]|0)-x>>2>>>0<=w>>>0){v=n;y=8;break}}if((y|0)==8)Do(v);else if((y|0)==24){u=d;return q|0}return 0}function ed(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Pe(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)Do(l);else{q=o<<1;e=Yk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Gh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Pe(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Fb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Fb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);lp(o)}r=t;u=i;return r|0}function fd(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Pe(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)Do(l);else{q=o<<1;e=Yk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Gh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Pe(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Gb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Gb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);lp(o)}r=t;u=i;return r|0}function gd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Qe(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)Do(k);else{p=n<<2;d=Yk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Gh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Qe(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Hb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Hb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);lp(n)}q=s;u=h;return q|0}function hd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Qe(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)Do(k);else{p=n<<2;d=Yk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Gh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Qe(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Ib(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Ib(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);lp(n)}q=s;u=h;return q|0}function id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Ul(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=qe(a,c,d)|0;return l|0}case 2:{l=qe(a,c,d)|0;return l|0}case 3:{l=qe(a,c,d)|0;return l|0}case 4:{l=qe(a,c,d)|0;return l|0}case 5:{l=qe(a,c,d)|0;return l|0}case 6:{l=qe(a,c,d)|0;return l|0}case 7:{l=qe(a,c,d)|0;return l|0}case 8:{l=qe(a,c,d)|0;return l|0}case 9:{l=pe(a,c,d)|0;return l|0}case 10:{l=oe(a,c,d)|0;return l|0}case 11:{l=ne(a,c,d)|0;return l|0}case 12:{l=me(a,c,d)|0;return l|0}case 13:{l=le(a,c,d)|0;return l|0}case 14:{l=ke(a,c,d)|0;return l|0}case 15:{l=ke(a,c,d)|0;return l|0}case 16:{l=ke(a,c,d)|0;return l|0}case 17:{l=ke(a,c,d)|0;return l|0}case 18:{l=ke(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function jd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;hf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)Do(k);p=Yk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}hf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Kb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(Kb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;lp(n)}q=s;u=h;return q|0}function kd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;hf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)Do(k);p=Yk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}hf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Lb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(Lb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;lp(n)}q=s;u=h;return q|0}function ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;if(((l?j:0-j|0)+(k?h:0-h|0)|0)>(m|0)){if(k)if(!l)if((h|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((j|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(h|0)>0?1:-1;o=(j|0)>0?1:-1}l=X(m,n)|0;k=X(m,o)|0;q=(h<<1)-l|0;f[c>>2]=q;r=(j<<1)-k|0;f[i>>2]=r;if((X(n,o)|0)>-1){o=0-r|0;f[c>>2]=o;s=0-q|0;t=o}else{f[c>>2]=r;s=q;t=r}r=(t+l|0)/2|0;f[c>>2]=r;c=(s+k|0)/2|0;f[i>>2]=c;u=0;v=r;w=c;x=f[e>>2]|0}else{u=1;v=h;w=j;x=m}m=(f[d>>2]|0)+v|0;f[a>>2]=m;v=(f[d+4>>2]|0)+w|0;w=a+4|0;f[w>>2]=v;if((x|0)>=(m|0))if((m|0)<(0-x|0))y=(f[b+4>>2]|0)+m|0;else y=m;else y=m-(f[b+4>>2]|0)|0;f[a>>2]=y;if((x|0)>=(v|0))if((v|0)<(0-x|0))z=(f[b+4>>2]|0)+v|0;else z=v;else z=v-(f[b+4>>2]|0)|0;f[w>>2]=z;if(u){A=y;B=z;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}if((y|0)>-1)if((z|0)<=-1)if((y|0)<1){I=-1;J=-1}else p=24;else{I=1;J=1}else if((z|0)<1){I=-1;J=-1}else p=24;if((p|0)==24){I=(y|0)>0?1:-1;J=(z|0)>0?1:-1}p=X(x,I)|0;u=X(x,J)|0;x=(y<<1)-p|0;f[a>>2]=x;y=(z<<1)-u|0;f[w>>2]=y;if((X(I,J)|0)>-1){J=0-y|0;f[a>>2]=J;K=0-x|0;L=J}else{f[a>>2]=y;K=x;L=y}y=(L+p|0)/2|0;f[a>>2]=y;p=(K+u|0)/2|0;f[w>>2]=p;A=y;B=p;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}function md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d>>2]=0;do if((j[b+38>>1]|0)<514){g=b+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=b+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=c;return o|0}else{i=(f[b>>2]|0)+m|0;m=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d>>2]=m;i=g;f[i>>2]=n;f[i+4>>2]=l;p=m;break}}else if(Rh(d,b)|0){p=f[d>>2]|0;break}else{o=0;u=c;return o|0}while(0);if(!p){o=0;u=c;return o|0}m=a+76|0;wd(m,p,0);Ym(e);if(Bd(e,b)|0){if(f[d>>2]|0){p=1;l=0;do{p=p^((Qi(e)|0)^1);i=(f[m>>2]|0)+(l>>>5<<2)|0;n=1<<(l&31);if(p)q=f[i>>2]|n;else q=f[i>>2]&~n;f[i>>2]=q;l=l+1|0}while(l>>>0<(f[d>>2]|0)>>>0)}d=b+8|0;l=f[d>>2]|0;q=f[d+4>>2]|0;d=b+16|0;p=d;m=f[p>>2]|0;e=f[p+4>>2]|0;p=Ul(m|0,e|0,4,0)|0;i=I;if(((!((q|0)<(i|0)|(q|0)==(i|0)&l>>>0

>>0)?(n=f[b>>2]|0,b=n+m|0,g=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=d,f[b>>2]=p,f[b+4>>2]=i,i=Ul(m|0,e|0,8,0)|0,e=I,!((q|0)<(e|0)|(q|0)==(e|0)&l>>>0>>0)):0)?(l=n+p|0,p=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,l=d,f[l>>2]=i,f[l+4>>2]=e,(g|0)<=(p|0)):0)?(f[a+12>>2]=g,f[a+16>>2]=p,e=Wl(p|0,((p|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,g=I,g>>>0<0|(g|0)==0&e>>>0<2147483647):0){g=e+1|0;f[a+20>>2]=g;e=(g|0)/2|0;p=a+24|0;f[p>>2]=e;f[a+28>>2]=0-e;if(!(g&1)){f[p>>2]=e+-1;r=1}else r=1}else r=0}else r=0;o=r;u=c;return o|0}function pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+4194304|0;f[a+48>>2]=y;o=y>>>0<1073741824;u=d;return o|0}function qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+2097152|0;f[a+48>>2]=y;o=y>>>0<536870912;u=d;return o|0}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+1048576|0;f[a+48>>2]=y;o=y>>>0<268435456;u=d;return o|0}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+262144|0;f[a+48>>2]=y;o=y>>>0<67108864;u=d;return o|0}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+131072|0;f[a+48>>2]=y;o=y>>>0<33554432;u=d;return o|0}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+32768|0;f[a+48>>2]=y;o=y>>>0<8388608;u=d;return o|0}function vd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+16384|0;f[a+48>>2]=y;o=y>>>0<4194304;u=d;return o|0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)Do(a);p=k<<6;k=b+31&-32;Mg(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;mk(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)lp(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Gh(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Gh(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function xd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3240;b=f[a+388>>2]|0;if(b|0){c=a+392|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+368|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=d+-4|0;c=f[b>>2]|0;if(c|0){e=d+(c<<4)|0;do e=e+-16|0;while((e|0)!=(d|0))}jp(b)}Sg(a+216|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){d=b;do{b=d;d=f[d>>2]|0;lp(b)}while((d|0)!=0)}d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Yg(a);lp(a);return}function yd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Ul(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Qa[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Ra[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Qa[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Pa[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Qa[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){Rg(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(s|0)!=(q|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function zd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c;e=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[n>>2]|0){n=f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0;o=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;p=f[o>>2]|0;o=f[n+56>>2]|0;n=Yk(32)|0;f[d>>2]=n;f[j>>2]=-2147483616;f[k>>2]=24;q=n;r=11767;s=q+24|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));b[n+24>>0]=0;r=p+16|0;q=f[r>>2]|0;if(q){s=r;t=q;a:while(1){q=t;while(1){if((f[q+16>>2]|0)>=(o|0))break;v=f[q+4>>2]|0;if(!v){w=s;break a}else q=v}t=f[q>>2]|0;if(!t){w=q;break}else s=q}if(((w|0)!=(r|0)?(o|0)>=(f[w+16>>2]|0):0)?(s=w+20|0,(jg(s,d)|0)!=0):0)x=ii(s,d,0)|0;else y=13}else y=13;if((y|0)==13){y=0;x=ii(p,d,0)|0}if((b[l>>0]|0)<0)lp(f[d>>2]|0);if(x){s=f[(f[h>>2]|0)+(m<<2)>>2]|0;t=f[s+8>>2]|0;de(t,mg(s)|0)}else y=18}else y=18;if((y|0)==18?(y=0,s=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Qa[f[(f[s>>2]|0)+24>>2]&127](s,i)|0)):0){g=0;y=20;break}m=m+1|0;if((m|0)>=(e|0)){g=1;y=20;break}}if((y|0)==20){u=c;return g|0}return 0}function Ad(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+12|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;f[g>>2]=0;m=g+4|0;f[m>>2]=0;f[g+8>>2]=0;if(!(k<<24>>24))n=0;else{if(k<<24>>24<0)Do(g);k=Yk(l)|0;f[m>>2]=k;f[g>>2]=k;f[g+8>>2]=k+l;o=l;l=k;do{b[l>>0]=0;l=(f[m>>2]|0)+1|0;f[m>>2]=l;o=o+-1|0}while((o|0)!=0);n=b[j>>0]|0}o=n<<24>>24;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(n<<24>>24){if(n<<24>>24<0)Do(i);n=Yk(o)|0;f[l>>2]=n;f[i>>2]=n;f[i+8>>2]=n+o;k=o;o=n;do{b[o>>0]=0;o=(f[l>>2]|0)+1|0;f[l>>2]=o;k=k+-1|0}while((k|0)!=0)}k=c+80|0;if(!(f[k>>2]|0))p=f[i>>2]|0;else{o=c+48|0;n=c+40|0;q=c+64|0;r=a+48|0;a=0;do{s=f[g>>2]|0;t=o;v=f[t>>2]|0;w=f[t+4>>2]|0;t=n;x=f[t>>2]|0;y=bl(x|0,f[t+4>>2]|0,a|0,0)|0;t=Ul(y|0,I|0,v|0,w|0)|0;Jf(s|0,(f[f[c>>2]>>2]|0)+t|0,x|0)|0;if((b[j>>0]|0)>0?(b[f[i>>2]>>0]=(f[(f[r>>2]|0)+(d<<2)>>2]|0)+(h[s>>0]|0),(b[j>>0]|0)>1):0){s=1;do{b[(f[i>>2]|0)+s>>0]=(f[(f[r>>2]|0)+(s+d<<2)>>2]|0)+(h[(f[g>>2]|0)+s>>0]|0);s=s+1|0}while((s|0)<(b[j>>0]|0))}s=f[i>>2]|0;x=n;t=f[x>>2]|0;w=bl(t|0,f[x+4>>2]|0,a|0,0)|0;Jf((f[f[q>>2]>>2]|0)+w|0,s|0,t|0)|0;a=a+1|0}while(a>>>0<(f[k>>2]|0)>>>0);p=s}if(p|0){if((f[l>>2]|0)!=(p|0))f[l>>2]=p;lp(p)}p=f[g>>2]|0;if(!p){u=e;return 1}if((f[m>>2]|0)!=(p|0))f[m>>2]=p;lp(p);u=e;return 1}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}b[a+12>>0]=b[(f[c>>2]|0)+n>>0]|0;n=l;i=f[n>>2]|0;o=f[n+4>>2]|0;n=Ul(i|0,o|0,1,0)|0;k=l;f[k>>2]=n;f[k+4>>2]=I;if((j[c+38>>1]|0)<514){k=g;m=f[k>>2]|0;q=f[k+4>>2]|0;k=Ul(i|0,o|0,5,0)|0;o=I;if((q|0)<(o|0)|(q|0)==(o|0)&m>>>0>>0)r=0;else{i=(f[c>>2]|0)+n|0;n=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[e>>2]=n;i=l;f[i>>2]=k;f[i+4>>2]=o;s=m;t=q;v=k;w=o;x=n;y=7}}else if(Rh(e,c)|0){n=g;g=l;s=f[n>>2]|0;t=f[n+4>>2]|0;v=f[g>>2]|0;w=f[g+4>>2]|0;x=f[e>>2]|0;y=7}else r=0;a:do if((y|0)==7){e=Wl(s|0,t|0,v|0,w|0)|0;g=I;if(!((g|0)<0|(g|0)==0&e>>>0>>0)?(e=(f[c>>2]|0)+v|0,(x|0)>=1):0){f[a>>2]=e;g=x+-1|0;n=e+g|0;switch((h[n>>0]|0)>>>6&3){case 0:{f[a+4>>2]=g;z=b[n>>0]&63;break}case 1:{if((x|0)<2){r=0;break a}f[a+4>>2]=x+-2;n=e+x+-2|0;z=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((x|0)<3){r=0;break a}f[a+4>>2]=x+-3;n=e+x+-3|0;z=(h[n+1>>0]|0)<<8|(h[n>>0]|0)|(h[n+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}n=z+4096|0;f[a+8>>2]=n;if(n>>>0<1048576){n=Ul(v|0,w|0,x|0,0)|0;e=l;f[e>>2]=n;f[e+4>>2]=I;r=1}else r=0}else r=0}while(0);p=r;u=d;return p|0}function Cd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3072;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}jp(b)}Sg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Yg(a);lp(a);return}function Dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=c;l=j;do{f[l>>2]=-1;Ui(l+4|0);b[l+100>>0]=1;m=l+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));l=(f[i>>2]|0)+144|0;f[i>>2]=l;k=k+-1|0}while((k|0)!=0);u=d;return}k=f[a>>2]|0;l=(j-k|0)/144|0;j=l+c|0;if(j>>>0>29826161)Do(a);o=(h-k|0)/144|0;k=o<<1;h=o>>>0<14913080?(k>>>0>>0?j:k):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){k=ra(8)|0;cn(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{p=Yk(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;k=p+(l*144|0)|0;l=e+8|0;f[l>>2]=k;j=e+4|0;f[j>>2]=k;o=e+12|0;f[o>>2]=p+(h*144|0);h=c;c=k;do{f[c>>2]=-1;Ui(c+4|0);b[c+100>>0]=1;m=c+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c=(f[l>>2]|0)+144|0;f[l>>2]=c;h=h+-1|0}while((h|0)!=0);h=c;c=f[a>>2]|0;m=f[i>>2]|0;if((m|0)==(c|0)){q=j;r=f[j>>2]|0;s=c;t=m}else{n=m;m=f[j>>2]|0;do{m=m+-144|0;n=n+-144|0;ad(m,n)}while((n|0)!=(c|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=h;f[l>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=s;Xg(e);u=d;return}function Ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=0;k=2;l=(k|0)==2;m=l?0:j;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=0;r=h;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(f[r>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(h){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?dj(z,A,w)|0:0){B=0;C=q;D=14;break b}}else if(!y){if((b[A>>0]|0)==(x&255)<<24>>24){E=g;F=v;G=A}else{H=0;I=q;D=13;break b}while(1){F=F+-1|0;E=E+1|0;if(!F)break c;G=G+1|0;if((b[E>>0]|0)!=(b[G>>0]|0)){H=0;I=q;D=13;break b}}}while(0);H=1;I=f[r>>2]|0;D=13}else{H=0;I=q;D=13}}else{H=3;I=q;D=13}while(0);if((D|0)==13){D=0;if(s<<24>>24<0){B=H;C=I;D=14}else{J=H;K=I}}if((D|0)==14){D=0;lp(f[g>>2]|0);J=B;K=C}switch(J&3){case 3:case 0:break;default:{j=K;k=J;D=17;break a}}r=r+4|0;if((r|0)==(i|0)){j=K;k=2;D=17;break}else q=K}if((D|0)==17){l=(k|0)==2;m=l?0:j;u=e;return m|0}return 0}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Ul(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}wd(a+76|0,l,0);Ym(d);if(Bd(d,b)|0){if((l|0)>0){k=a+76|0;i=1;m=0;do{i=i^((Qi(d)|0)^1);j=(f[k>>2]|0)+(m>>>5<<2)|0;o=1<<(m&31);if(i)p=f[j>>2]|o;else p=f[j>>2]&~o;f[j>>2]=p;m=m+1|0}while((m|0)<(l|0))}l=e;e=f[l>>2]|0;m=f[l+4>>2]|0;l=g;p=f[l>>2]|0;i=f[l+4>>2]|0;l=Ul(p|0,i|0,4,0)|0;k=I;if(((!((m|0)<(k|0)|(m|0)==(k|0)&e>>>0>>0)?(d=f[b>>2]|0,b=d+p|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=k,k=Ul(p|0,i|0,8,0)|0,i=I,!((m|0)<(i|0)|(m|0)==(i|0)&e>>>0>>0)):0)?(e=d+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=k,f[e+4>>2]=i,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,i=Wl(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&i>>>0<2147483647):0){j=i+1|0;f[a+20>>2]=j;i=(j|0)/2|0;l=a+24|0;f[l>>2]=i;f[a+28>>2]=0-i;if(!(j&1)){f[l>>2]=i+-1;q=1}else q=1}else q=0}else q=0;n=q;u=c;return n|0}function Hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Yk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2632;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2688;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Yk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2548;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2604;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Yk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2800;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2856;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Yk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2716;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2772;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Jd(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+32|0;h=g+12|0;i=g;k=c+24|0;l=b[k>>0]|0;m=l<<24>>24;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;o=l<<24>>24==0;do if(!o)if(l<<24>>24<0)Do(h);else{p=m<<1;q=Yk(p)|0;f[h>>2]=q;r=q+(m<<1)|0;f[h+8>>2]=r;Gh(q|0,0,p|0)|0;f[n>>2]=r;s=q;t=r;v=q;break}else{s=0;t=0;v=0}while(0);f[i>>2]=0;h=i+4|0;f[h>>2]=0;f[i+8>>2]=0;if(o){w=0;x=0;y=0}else{o=m<<1;l=Yk(o)|0;f[i>>2]=l;q=l+(m<<1)|0;f[i+8>>2]=q;Gh(l|0,0,o|0)|0;f[h>>2]=q;w=l;x=q;y=l}l=c+80|0;if(f[l>>2]|0){q=c+48|0;o=c+40|0;i=c+64|0;m=a+48|0;a=0;r=v;p=w;while(1){z=q;A=f[z>>2]|0;B=f[z+4>>2]|0;z=o;C=f[z>>2]|0;D=bl(C|0,f[z+4>>2]|0,a|0,0)|0;z=Ul(D|0,I|0,A|0,B|0)|0;Jf(r|0,(f[f[c>>2]>>2]|0)+z|0,C|0)|0;C=b[k>>0]|0;if(C<<24>>24>0){z=f[m>>2]|0;B=C<<24>>24;C=0;do{d[p+(C<<1)>>1]=(f[z+(C+e<<2)>>2]|0)+(j[s+(C<<1)>>1]|0);C=C+1|0}while((C|0)<(B|0));E=v}else E=r;B=o;C=f[B>>2]|0;z=bl(C|0,f[B+4>>2]|0,a|0,0)|0;Jf((f[f[i>>2]>>2]|0)+z|0,y|0,C|0)|0;a=a+1|0;if(a>>>0>=(f[l>>2]|0)>>>0)break;else{r=E;p=y}}}if(w|0){if((x|0)!=(w|0))f[h>>2]=x+(~((x+-2-w|0)>>>1)<<1);lp(y)}if(!s){u=g;return 1}if((t|0)!=(s|0))f[n>>2]=t+(~((t+-2-s|0)>>>1)<<1);lp(v);u=g;return 1}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+32|0;g=e+12|0;h=e;i=c+24|0;j=b[i>>0]|0;k=j<<24>>24;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;m=j<<24>>24==0;do if(!m)if(j<<24>>24<0)Do(g);else{n=k<<2;o=Yk(n)|0;f[g>>2]=o;p=o+(k<<2)|0;f[g+8>>2]=p;Gh(o|0,0,n|0)|0;f[l>>2]=p;q=o;r=p;s=o;break}else{q=0;r=0;s=0}while(0);f[h>>2]=0;g=h+4|0;f[g>>2]=0;f[h+8>>2]=0;if(m){t=0;v=0;w=0}else{m=k<<2;j=Yk(m)|0;f[h>>2]=j;o=j+(k<<2)|0;f[h+8>>2]=o;Gh(j|0,0,m|0)|0;f[g>>2]=o;t=j;v=o;w=j}j=c+80|0;if(f[j>>2]|0){o=c+48|0;m=c+40|0;h=c+64|0;k=a+48|0;a=0;p=s;n=t;while(1){x=o;y=f[x>>2]|0;z=f[x+4>>2]|0;x=m;A=f[x>>2]|0;B=bl(A|0,f[x+4>>2]|0,a|0,0)|0;x=Ul(B|0,I|0,y|0,z|0)|0;Jf(p|0,(f[f[c>>2]>>2]|0)+x|0,A|0)|0;A=b[i>>0]|0;if(A<<24>>24>0){x=f[k>>2]|0;z=A<<24>>24;A=0;do{f[n+(A<<2)>>2]=(f[x+(A+d<<2)>>2]|0)+(f[q+(A<<2)>>2]|0);A=A+1|0}while((A|0)<(z|0));C=s}else C=p;z=m;A=f[z>>2]|0;x=bl(A|0,f[z+4>>2]|0,a|0,0)|0;Jf((f[f[h>>2]>>2]|0)+x|0,w|0,A|0)|0;a=a+1|0;if(a>>>0>=(f[j>>2]|0)>>>0)break;else{p=C;n=w}}}if(t|0){if((v|0)!=(t|0))f[g>>2]=v+(~((v+-4-t|0)>>>2)<<2);lp(w)}if(!q){u=e;return 1}if((r|0)!=(q|0))f[l>>2]=r+(~((r+-4-q|0)>>>2)<<2);lp(s);u=e;return 1}function Ld(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;qg(a+232|0);Sg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Yg(a);lp(a);return}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c;e=a+40|0;g=e;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Ef(e,1,d)|0){g=a;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=d;k=f[e>>2]|0;l=f[e+4>>2]|0;e=a+8|0;m=e;n=a+16|0;o=n;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Wl(f[m>>2]|0,f[m+4>>2]|0,p|0,q|0)|0;m=I;if(!(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>o>>>0)){o=Ul(p|0,q|0,k|0,l|0)|0;l=n;f[l>>2]=o;f[l+4>>2]=I;do if((j[a+38>>1]|0)>=514){if(!(Bd(a+80|0,a)|0)){r=0;u=c;return r|0}}else{l=a+96|0;g=l;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Ef(l,1,d)|0){g=a;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=d;o=f[l>>2]|0;k=f[l+4>>2]|0;l=e;q=n;p=f[q>>2]|0;m=f[q+4>>2]|0;q=Wl(f[l>>2]|0,f[l+4>>2]|0,p|0,m|0)|0;l=I;if(!(k>>>0>l>>>0|(k|0)==(l|0)&o>>>0>q>>>0)){q=Ul(p|0,m|0,o|0,k|0)|0;k=n;f[k>>2]=q;f[k+4>>2]=I;break}}r=0;u=c;return r|0}while(0);if(!(ah(a)|0)){r=0;u=c;return r|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));r=1;u=c;return r|0}}r=0;u=c;return r|0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(gc(a,c)|0)){g=0;u=d;return g|0}h=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else jf(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Ul(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Wa[f[(f[a>>2]|0)+48>>2]&15](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Qa[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Ra[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return qb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return sb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return rb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=Yk(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;Mo(e);if(Gf(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){mh(o);lp(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}lp(l)}mh(c);lp(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=12995;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){mh(i);lp(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}lp(p)}mh(h);lp(h);u=d;return}}function Sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Ce(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+36|0,c)|0)){r=0;return r|0}if(!(Ce(a+56|0,c)|0)){r=0;return r|0}if(Ce(a+76|0,c)|0)return pb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Ce(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+36|0,c)|0)){r=0;return r|0}if(!(Ce(a+56|0,c)|0)){r=0;return r|0}if(Ce(a+76|0,c)|0)return ob(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Bd(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+32|0,c)|0)){r=0;return r|0}if(!(Ce(a+52|0,c)|0)){r=0;return r|0}if(Ce(a+72|0,c)|0)return wb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Bd(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+32|0,c)|0)){r=0;return r|0}if(!(Ce(a+52|0,c)|0)){r=0;return r|0}if(Ce(a+72|0,c)|0)return tb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Wd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=Na,k=0,l=0,m=0,o=0,p=0,q=Na,r=Na,s=Na,t=Na,v=Na,w=0,x=Na,y=Na,z=0,A=0,B=0,C=0;g=u;u=u+32|0;h=g+16|0;i=g;j=$(n[d+4>>2]);k=(1<>2])+-1|0;Fn(h);Sk(h,j,k)|0;d=f[a>>2]|0;if((f[c>>2]|0)==(d|0)){u=g;return}a=h+4|0;l=i+4|0;m=i+8|0;o=e+16|0;p=e+28|0;e=d;do{d=(f[e>>2]|0)-k|0;if((d|0)>-1){j=$(d|0);q=$(n[a>>2]);r=$(q*j);j=$(n[h>>2]);s=$(r*j);t=q;v=j}else{w=Wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;j=$(+(w>>>0)+4294967296.0*+(I|0));q=$(n[a>>2]);r=$(q*j);j=$(n[h>>2]);s=$(-$(r*j));t=q;v=j}w=(f[e+4>>2]|0)-k|0;if((w|0)>-1)x=$($(t*$(w|0))*v);else{d=Wl(0,0,w|0,((w|0)<0)<<31>>31|0)|0;x=$(-$($(t*$(+(d>>>0)+4294967296.0*+(I|0)))*v))}d=(f[e+8>>2]|0)-k|0;if((d|0)>-1)y=$($(t*$(d|0))*v);else{w=Wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;y=$(-$($(t*$(+(w>>>0)+4294967296.0*+(I|0)))*v))}n[i>>2]=s;n[l>>2]=x;n[m>>2]=y;w=f[o>>2]|0;d=f[w>>2]|0;z=f[p>>2]|0;if(!(b[d+84>>0]|0))A=f[(f[d+68>>2]|0)+(z<<2)>>2]|0;else A=z;z=i+(f[w+4>>2]<<2)|0;w=d+40|0;B=f[w>>2]|0;C=bl(B|0,f[w+4>>2]|0,A|0,0)|0;Jf((f[f[d+64>>2]>>2]|0)+C|0,z|0,B|0)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+12|0}while((f[c>>2]|0)!=(e|0));u=g;return}function Xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+8|0;i=e+4|0;j=e;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Ul(p|0,q|0,4,0)|0;r=I;a:do if((n|0)<(r|0)|(n|0)==(r|0)&m>>>0>>0)s=0;else{t=f[c>>2]|0;v=t+p|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=o;f[v+4>>2]=r;b:do switch(w|0){case 3:{if(!((n|0)>(r|0)|(n|0)==(r|0)&m>>>0>o>>>0)){s=0;break a}v=b[t+o>>0]|0;x=Ul(p|0,q|0,5,0)|0;y=l;f[y>>2]=x;f[y+4>>2]=I;f[a+8>>2]=v<<24>>24;if(v<<24>>24==1)if(dc(a,c,g)|0)break b;else{s=0;break a}else{nj(4992,23,1,f[906]|0)|0;s=0;break a}break}case 2:{if(!(dc(a,c,g)|0)){s=0;break a}break}default:{nj(5016,24,1,f[906]|0)|0;s=0;break a}}while(0);f[i>>2]=f[g>>2];f[j>>2]=f[k>>2];Wd(i,j,a,d);s=1}while(0);d=f[g>>2]|0;if(!d){u=e;return s|0}g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~(((g+-12-d|0)>>>0)/12|0)*12|0);lp(d);u=e;return s|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=Yk(124)|0;f[k+4>>2]=0;f[k>>2]=3172;f[k+12>>2]=3196;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=3196;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Of(i+8|0,o,g);Ua[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];Ue(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;wf(k,h);f[a>>2]=n;f[i>>2]=3196;n=f[i+20>>2]|0;if(n|0)lp(n);n=f[i+8>>2]|0;if(!n){gh(h);u=e;return}lp(n);gh(h);u=e;return}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)Do(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;cn(g,13388);f[g>>2]=4744;va(g|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=m+(l<<2)|0;l=d+12|0;f[l>>2]=k;m=f[b>>2]|0;f[b>>2]=0;f[g>>2]=m;m=g+4|0;f[h>>2]=m;b=f[a>>2]|0;n=f[e>>2]|0;if((n|0)==(b|0)){o=g;p=l;q=h;r=b;s=m;t=n;v=k;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;xg(d);u=c;return}else{y=n;z=g}do{y=y+-4|0;g=f[y>>2]|0;f[y>>2]=0;f[z+-4>>2]=g;z=(f[i>>2]|0)+-4|0;f[i>>2]=z}while((y|0)!=(b|0));o=z;p=l;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[l>>2]|0;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;xg(d);u=c;return}function $d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=uj(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)Do(e);else{n=Yk(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Gh(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);Yh(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);lp(a)}u=d;return}function ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return jb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return lb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return kb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function de(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Yk(32)|0;kl(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;lp(d)}lp(g);h=f[e>>2]|0}Pi(a,h,0,0,0,0);j=a}else j=a;if(!(zh(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))Xe(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;lp(c)}lp(h);return}h=Yk(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)Do(c);l=Yk(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){Jf(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;lp(h)}lp(a);return}function ee(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ri(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else dg(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(Eb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Eb(e,c)|0)){n=0;o=15;break}i=f[l>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(o|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else Rg(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(vb(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(vb(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=0;o=w;while(1){f[k+(o<<2)>>2]=f[i+(t<<2)>>2];t=t+1|0;if((t|0)==(l|0))break;else o=o+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=w+l|0}if((v|0)==18){u=e;return s|0}return 0}function ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Ce(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+36|0,c)|0)){r=0;return r|0}if(!(Ce(a+56|0,c)|0)){r=0;return r|0}if(Ce(a+76|0,c)|0)return ib(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function he(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Ce(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+36|0,c)|0)){r=0;return r|0}if(!(Ce(a+56|0,c)|0)){r=0;return r|0}if(Ce(a+76|0,c)|0)return hb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ie(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Bd(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+32|0,c)|0)){r=0;return r|0}if(!(Ce(a+52|0,c)|0)){r=0;return r|0}if(Ce(a+72|0,c)|0)return nb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function je(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Bd(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+32|0,c)|0)){r=0;return r|0}if(!(Ce(a+52|0,c)|0)){r=0;return r|0}if(Ce(a+72|0,c)|0)return mb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Pc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=pd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<4194304){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=4194304){r=t;break}else q=t}}else r=o;while(0);q=r&1048575;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>20)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Qc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=qd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<2097152){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=2097152){r=t;break}else q=t}}else r=o;while(0);q=r&524287;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>19)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Rc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=rd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<1048576){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=1048576){r=t;break}else q=t}}else r=o;while(0);q=r&262143;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>18)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Sc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=sd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<262144){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=262144){r=t;break}else q=t}}else r=o;while(0);q=r&65535;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>16)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Tc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=td(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<131072){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=131072){r=t;break}else q=t}}else r=o;while(0);q=r&32767;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>15)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Vc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=ud(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<32768){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=32768){r=t;break}else q=t}}else r=o;while(0);q=r&8191;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>13)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Wc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=vd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<16384){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=o;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;lp(a)}if((b[s+11>>0]|0)<0)lp(f[s>>2]|0);lp(d);return c|0}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;ng(a+16|0);Ym(a+528|0);tm(a+544|0);tm(a+564|0);tm(a+584|0);e=a+604|0;f[e>>2]=0;g=a+608|0;f[g>>2]=0;f[a+612>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Do(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+612>>2]=k;Gh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+616|0;f[g>>2]=0;e=a+620|0;f[e>>2]=0;f[a+624>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+624>>2]=g;Gh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Gh(i|0,0,k|0)|0;f[e>>2]=j}vi(a+628|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Gh(k|0,0,h|0)|0;f[j>>2]=e}vi(a+640|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)Do(d);else{i=b*12|0;j=Yk(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Gh(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(Bh(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(k<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+i|0;f[e>>2]=q;p=f[n+(k+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(k+2<<2)>>2]|0;n=q>>>1;i=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=i;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))Og(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else k=k+3|0}}else m=0;k=f[d>>2]|0;if(!k){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(k|0))f[h>>2]=d+(~((d+-4-k|0)>>>2)<<2);lp(k);u=c;return m|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){Gh(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)Do(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;cn(p,13388);f[p>>2]=4744;va(p|0,1128,101)}else{r=Yk(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;Gh(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;xg(d);u=c;return}function ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function we(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Na,x=Na,y=Na,z=0;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=ip(j>>>0>1073741823?-1:j<<2)|0;Fn(e);if(!(Sk(e,$(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;jp(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}jp(l);u=d;return m|0}while(1){a=f[p>>2]|0;i=0;t=r;while(1){v=f[o+(t<<2)>>2]|0;if((v|0)>-1){w=$(v|0);x=$($(n[g>>2])*w);y=$(x*$(n[e>>2]))}else{z=Wl(0,0,v|0,((v|0)<0)<<31>>31|0)|0;x=$(+(z>>>0)+4294967296.0*+(I|0));w=$($(n[g>>2])*x);y=$(-$(w*$(n[e>>2])))}w=$(y+$(n[a+(i<<2)>>2]));n[l+(i<<2)>>2]=w;i=i+1|0;if((i|0)==(j|0))break;else t=t+1|0}Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+s|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+j|0;s=s+k|0}}jp(l);u=d;return m|0}function xe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;tm(a+16|0);tm(a+36|0);tm(a+56|0);tm(a+76|0);e=a+96|0;f[e>>2]=0;g=a+100|0;f[g>>2]=0;f[a+104>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Do(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+104>>2]=k;Gh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+108|0;f[g>>2]=0;e=a+112|0;f[e>>2]=0;f[a+116>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+116>>2]=g;Gh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Gh(i|0,0,k|0)|0;f[e>>2]=j}vi(a+120|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Gh(k|0,0,h|0)|0;f[j>>2]=e}vi(a+132|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;i=d+8|0;j=f[i>>2]|0;k=f[i+4>>2]|0;i=d+16|0;l=i;m=f[l>>2]|0;n=f[l+4>>2]|0;if((k|0)>(n|0)|(k|0)==(n|0)&j>>>0>m>>>0){l=b[(f[d>>2]|0)+m>>0]|0;o=Ul(m|0,n|0,1,0)|0;p=I;q=i;f[q>>2]=o;f[q+4>>2]=p;if(l<<24>>24!=-2){r=l;s=p;t=o;v=3}}else{r=0;s=n;t=m;v=3}if((v|0)==3){if((k|0)>(s|0)|(k|0)==(s|0)&j>>>0>t>>>0){j=b[(f[d>>2]|0)+t>>0]|0;k=Ul(t|0,s|0,1,0)|0;s=i;f[s>>2]=k;f[s+4>>2]=I;w=j}else w=0;Xa[f[(f[a>>2]|0)+40>>2]&7](g,a,r<<24>>24,w<<24>>24);w=a+20|0;r=f[g>>2]|0;f[g>>2]=0;j=f[w>>2]|0;f[w>>2]=r;if(j){Ua[f[(f[j>>2]|0)+4>>2]&127](j);j=f[g>>2]|0;f[g>>2]=0;if(j|0)Ua[f[(f[j>>2]|0)+4>>2]&127](j)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Qa[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){x=0;u=e;return x|0}if(!(Ra[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){x=0;u=e;return x|0}d=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;c=f[a+4>>2]|0;if((c|0?((h[c+36>>0]|0)<<8&65535)<512:0)?!(Qa[f[(f[a>>2]|0)+48>>2]&127](a,d)|0):0){x=0;u=e;return x|0}x=1;u=e;return x|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;Ym(a+16|0);tm(a+32|0);tm(a+52|0);tm(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Do(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;Gh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;Gh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Gh(i|0,0,k|0)|0;f[e>>2]=j}vi(a+116|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Gh(k|0,0,h|0)|0;f[j>>2]=e}vi(a+128|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+132|0;c=f[b>>2]|0;if(c|0){d=a+136|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+120|0;b=f[g>>2]|0;if(b|0){j=a+124|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+108>>2]|0;if(l|0){g=a+112|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+96>>2]|0;if(!l){n=a+76|0;jj(n);o=a+56|0;jj(o);p=a+36|0;jj(p);q=a+16|0;jj(q);return}m=a+100|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+76|0;jj(n);o=a+56|0;jj(o);p=a+36|0;jj(p);q=a+16|0;jj(q);return}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;g=c;i=e+(~((e+-4-g|0)>>>2)<<2)|0;if((e|0)==(c|0)){j=e;k=c}else{f[d>>2]=i;j=i;k=i}i=a+16|0;f[i>>2]=0;e=a+12|0;f[e>>2]=k;k=b+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=b+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;return r|0}s=(f[b>>2]|0)+p|0;p=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;s=l;f[s>>2]=q;f[s+4>>2]=o;if(!((p|0)!=0&(p&3|0)==0)){r=0;return r|0}s=Wl(m|0,n|0,q|0,o|0)|0;t=I;if((t|0)<0|(t|0)==0&s>>>0

>>0){r=0;return r|0}s=p>>>2;t=j-g>>2;if(s>>>0<=t>>>0)if(s>>>0>>0?(g=c+(s<<2)|0,(g|0)!=(j|0)):0){f[d>>2]=j+(~((j+-4-g|0)>>>2)<<2);u=q;v=o;w=n;x=m}else{u=q;v=o;w=n;x=m}else{Rg(a,s-t|0);t=k;k=l;u=f[k>>2]|0;v=f[k+4>>2]|0;w=f[t+4>>2]|0;x=f[t>>2]|0}t=Ul(u|0,v|0,p|0,0)|0;v=I;if((w|0)<(v|0)|(w|0)==(v|0)&x>>>0>>0){r=0;return r|0}Jf(f[a>>2]|0,(f[b>>2]|0)+u|0,p|0)|0;u=l;b=Ul(f[u>>2]|0,f[u+4>>2]|0,p|0,0)|0;p=l;f[p>>2]=b;f[p+4>>2]=I;f[e>>2]=f[a>>2];f[i>>2]=0;r=1;return r|0}function De(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)Do(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{k=Yk(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1228;f[k+(e*24|0)+4>>2]=f[b+4>>2];pi(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=k;k=g;g=d;do{f[g+-24>>2]=1228;f[g+-20>>2]=f[j+-20>>2];d=g+-16|0;o=j+-16|0;f[d>>2]=0;p=g+-12|0;f[p>>2]=0;f[g+-8>>2]=0;f[d>>2]=f[o>>2];d=j+-12|0;f[p>>2]=f[d>>2];p=j+-8|0;f[g+-8>>2]=f[p>>2];f[p>>2]=0;f[d>>2]=0;f[o>>2]=0;f[g+-4>>2]=f[j+-4>>2];j=j+-24|0;g=k+-24|0;k=g}while((j|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Ua[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;lp(m);return}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3148;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Do(i);else{o=((n+-1|0)>>>5)+1|0;p=Yk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Le(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Do(i);k=((l+-1|0)>>>5)+1|0;l=Yk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Le(i,e,d);u=c;return}function Fe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+640|0;c=f[b>>2]|0;if(c|0){d=a+644|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+628|0;b=f[g>>2]|0;if(b|0){j=a+632|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+616>>2]|0;if(l|0){g=a+620|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+604>>2]|0;if(!l){n=a+584|0;jj(n);o=a+564|0;jj(o);p=a+544|0;jj(p);q=a+16|0;pp(q);return}m=a+608|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+584|0;jj(n);o=a+564|0;jj(o);p=a+544|0;jj(p);q=a+16|0;pp(q);return}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3196;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Do(i);else{o=((n+-1|0)>>>5)+1|0;p=Yk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Le(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Do(i);k=((l+-1|0)>>>5)+1|0;l=Yk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Le(i,e,d);u=c;return}function He(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));fc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)lp(f[h>>2]|0);if(b[i+7>>0]|0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=Yk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=27;k=o;l=11739;m=k+27|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+27>>0]=0;f[a>>2]=-1;Ch(h,j);if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);u=g;return}If(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;zc(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)lp(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ua[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Ch(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0);u=g;return}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Gh(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)Do(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{n=Yk(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Gh(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);lp(m)}}while((c|0)!=(g|0))}if(!p)return;lp(p);return}function Je(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=ip(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)jp(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}Jf(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Ul(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Ul(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Ul(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Ul(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function Ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));fc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)lp(f[h>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=Yk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=o;l=11718;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+20>>0]=0;f[a>>2]=-1;Ch(h,j);if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);u=g;return}rg(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;ik(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)lp(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ua[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Ch(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0);u=g;return}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];md(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;mk(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)mk(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);lp(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Do(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Do(a);h=Yk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function Ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Ul(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}r=o+i|0;i=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=d;f[r>>2]=m;f[r+4>>2]=p;if((q|0)>(i|0)){n=0;return n|0}f[a+12>>2]=q;f[a+16>>2]=i;r=Wl(i|0,((i|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=I;if(!(q>>>0<0|(q|0)==0&r>>>0<2147483647)){n=0;return n|0}q=r+1|0;f[a+20>>2]=q;r=(q|0)/2|0;i=a+24|0;f[i>>2]=r;f[a+28>>2]=0-r;if(!(q&1))f[i>>2]=r+-1;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}r=b[o+m>>0]|0;i=Ul(k|0,l|0,9,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=I;if((r&255)<2){f[a+88>>2]=r&255;break}else{n=0;return n|0}}while(0);n=Bd(a+108|0,c)|0;return n|0}function Oe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+128|0;c=f[b>>2]|0;if(c|0){d=a+132|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+116|0;b=f[g>>2]|0;if(b|0){j=a+120|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+104>>2]|0;if(l|0){g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;jj(n);o=a+52|0;jj(o);p=a+32|0;jj(p);return}m=a+96|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+72|0;jj(n);o=a+52|0;jj(o);p=a+32|0;jj(p);return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)mk(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=p;p=n;while(1){d[p>>1]=d[q>>1]|0;q=q+2|0;if((q|0)==(c|0))break;else p=p+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);lp(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)Do(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)Do(a);t=Yk(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=b;b=t;while(1){d[b>>1]=d[e>>1]|0;e=e+2|0;if((e|0)==(c|0))break;else b=b+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)mk(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);lp(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Do(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Do(a);h=Yk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);lp(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)Do(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)Do(a);j=Yk(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function Se(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;rc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;pc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)lp(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)lp(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Rg(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(Ub(a,d)|0)){s=0;u=c;return s|0}db(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{lp(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)Do(c);else{j=((k+-1|0)>>>5)+1|0;l=Yk(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);mk(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{lp(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)Do(h);else{n=((p+-1|0)>>>5)+1|0;c=Yk(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);mk(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function Ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Ri(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Ri(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Ri(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function We(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ri(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Jb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Jb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);lp(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)Do(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)Do(a);j=Yk(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;Jf(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;Jf(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function Ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function Ze(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;p=(j[c+38>>1]|0)<514;do if(p){r=Ul(k|0,l|0,8,0)|0;s=I;if((g|0)<(s|0)|(g|0)==(s|0)&e>>>0>>0){n=0;return n|0}else{t=d;f[t>>2]=r;f[t+4>>2]=s;u=s;v=r;break}}else{u=m;v=i}while(0);if(!(q&1)){n=0;return n|0}i=(_(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;do if(p){if(!((g|0)>(u|0)|(g|0)==(u|0)&e>>>0>v>>>0)){n=0;return n|0}i=b[o+v>>0]|0;q=Ul(v|0,u|0,1,0)|0;m=d;f[m>>2]=q;f[m+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=Bd(a+88|0,c)|0;return n|0}function _e(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ri(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Mb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Mb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(Oc(e,a,d)|0){d=f[g>>2]|0;Qe(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+56>>2]|0;if(d|0)lp(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}Yg(e);lp(e);u=c;return l|0}function af(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Na,f=Na,g=Na,h=Na,i=Na,j=Na,k=0.0,l=Na,m=Na,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Na,u=Na,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=$(h+g);j=$(g-h);k=-1.0;l=g;m=h}else{i=e;j=f;k=1.0;l=b;m=c}c=$(+l*2.0+-1.0);l=$(+m*2.0+-1.0);o=+i*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}else{m=$($(1.0)/$(L($(i))));i=$(m*j);n[d>>2]=i;t=$(m*l);u=$(m*c);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}}function bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{mk(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;cn(m,13388);f[m>>2]=4744;va(m|0,1128,101)}m=Yk(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{lp(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=dj(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=dj(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;nd(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;mk(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function ff(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=Yk(384)|0;bi(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ua[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}case 1:{c=Yk(424)|0;ph(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Ua[f[(f[d>>2]|0)+4>>2]&127](d);m=11}break}case 2:{d=Yk(440)|0;Vg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ua[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}default:m=11}if((m|0)==11){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Qa[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Uh(c)|0;if(i>>>0>4294967279)Do(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=Yk(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){Jf(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=Uh(d)|0;if(i>>>0>4294967279)Do(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=Yk(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){Jf(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Fd(i,g,h)|0,(o|0)!=0):0)q=cj(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)lp(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}lp(f[g>>2]|0);u=e;return q|0}function hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;lp(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Do(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Do(a);i=Yk(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)mk(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Gh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)Do(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{n=Yk(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Gh(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Ua[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;lp(p);return}function kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Do(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;cn(e,13388);f[e>>2]=4744;va(e|0,1128,101)}else{l=Yk(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;Ch(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=l;l=g;g=e;do{e=g+-12|0;j=j+-12|0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];f[e+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=l+-12|0;l=g}while((j|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;lp(n);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(j>>>0>k>>>0){m=j;n=((m-l>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-m|0;m=p>>2;if(!m)q=j;else{mk(o|0,j|0,p|0)|0;q=f[i>>2]|0}p=o+(m<<2)|0;f[c>>2]=p;f[i>>2]=q+(n<<2);r=p;break}p=h-l>>1;l=(p|0)==0?1:p;if(l>>>0>1073741823){p=ra(8)|0;cn(p,13388);f[p>>2]=4744;va(p|0,1128,101)}p=Yk(l<<2)|0;n=p;m=p+(l>>>2<<2)|0;o=m;s=p+(l<<2)|0;if((j|0)==(d|0)){t=o;u=k}else{k=m;m=o;l=j;do{f[k>>2]=f[l>>2];k=m+4|0;m=k;l=l+4|0}while((l|0)!=(d|0));t=m;u=f[a>>2]|0}f[a>>2]=n;f[i>>2]=o;f[c>>2]=t;f[e>>2]=s;if(!u)r=t;else{lp(u);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)mk(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;Jf(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);lp(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)Do(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)Do(a);j=Yk(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;Jf(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Ul(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}i=d;f[i>>2]=m;f[i+4>>2]=p;if(!(q&1)){n=0;return n|0}i=(_(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}i=b[o+m>>0]|0;q=Ul(k|0,l|0,9,0)|0;r=d;f[r>>2]=q;f[r+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=Bd(a+88|0,c)|0;return n|0}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=Yk(64)|0;g=Yk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=3416;f[g+8>>2]=h;f[d>>2]=g;wj(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){jf(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(n|0)!=(m|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Ua[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Ua[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Ua[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=-1;i=b;j=0}else{h=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;i=b;j=0}}else{h=-1;i=-1;j=1}if((g|0)!=(h|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(j){l=-1;m=-1;n=i;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(j){l=-1;m=e;n=i;break}else o=e}e=i+1|0;b=((e>>>0)%3|0|0)==0?i+-2|0:e;if((b|0)==-1){l=-1;m=o;n=i}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=i}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(Cc(e,c)|0){g=0;return g|0}a=$b(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Eg(c+8|0);lp(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)lp(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)lp(a);lp(d);g=1;return g|0}function rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))cg(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){hh(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;lp(b)}lp(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);lp(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;lp(e)}lp(h)}lp(c);u=d;return}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=lm(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=lm(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function tf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3608;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}vg(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){mh(i);lp(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g)}mh(a);lp(a);return}function uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=dj(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=dj(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Ue(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{Xe(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Xe(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Xe(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];mf(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)Do(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;cn(i,13388);f[i>>2]=4744;va(i|0,1128,101)}else{l=Yk(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)Jf(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;lp(e);return}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Do(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{k=Yk(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){mh(n);lp(n)}}while((h|0)!=(g|0))}if(!m)return;lp(m);return}function zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Mj(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(Yj(5)|0,d)|0;Xh(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=Yk(96)|0;zj(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);Nh(j,c)|0;f[h>>2]=j;uh(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;lp(h)}lp(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);lp(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;lp(j)}lp(c)}lp(a);u=e;return}function Af(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function Bf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=ip(k)|0;Gh(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;Ec(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){jp(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;Ec(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));jp(l);u=g;return 1}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;rf(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);lp(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;lp(c)}lp(h)}lp(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){hg(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function Df(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+172|0;d=f[c>>2]|0;do if((d|0)==-1){e=f[a+144>>2]|0;g=Pa[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(((h[g+36>>0]<<8|h[g+37>>0])&65535)<514)if(b[a+76>>0]|0){g=a+72|0;e=f[g>>2]|0;i=f[a+64>>2]|0;j=f[a+68>>2]|0;k=i+(e>>>3)|0;if(k>>>0>>0?(l=h[k>>0]|0,k=e+1|0,f[g>>2]=k,(1<<(e&7)&l|0)!=0):0){l=i+(k>>>3)|0;if(l>>>0>>0){m=(h[l>>0]|0)>>>(k&7)&1;l=e+2|0;f[g>>2]=l;n=m;o=l}else{n=0;o=k}k=i+(o>>>3)|0;if(k>>>0>>0){j=(h[k>>0]|0)>>>(o&7);f[g>>2]=o+1;p=j<<1&2}else p=0;q=(p|n)<<1|1}else q=0}else q=1;else q=7}else{j=(f[a+196>>2]|0)+(d<<2)|0;g=f[j>>2]|0;k=g+-1|0;f[j>>2]=k;if((g|0)<1){r=9;return r|0}else{q=f[3328+(f[(f[(f[a+184>>2]|0)+((f[c>>2]|0)*12|0)>>2]|0)+(k<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=q;r=q;return r|0}function Ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0;do if(c){if((j[a+38>>1]|0)>=514){if(qh(d,a)|0)break;else e=0;return e|0}g=a+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=a+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){e=0;return e|0}else{n=(f[a>>2]|0)+m|0;m=n;i=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=n+4|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;l=m;b[l>>0]=i;b[l+1>>0]=i>>8;b[l+2>>0]=i>>16;b[l+3>>0]=i>>24;i=m+4|0;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;n=g;i=Ul(f[n>>2]|0,f[n+4>>2]|0,8,0)|0;n=g;f[n>>2]=i;f[n+4>>2]=I;break}}while(0);b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;n=(f[a>>2]|0)+c|0;i=a+8|0;g=Wl(f[i>>2]|0,f[i+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=n;f[a+28>>2]=n+g;e=1;return e|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=ip(k)|0;Gh(l|0,0,k|0)|0;k=a+8|0;a=f[l>>2]|0;m=f[l+4>>2]|0;n=f[b+4>>2]|0;f[h>>2]=f[b>>2];f[h+4>>2]=n;f[j>>2]=a;f[j+4>>2]=m;ld(i,k,j,h);f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];if((e|0)>=(d|0)){jp(l);u=g;return 1}m=0-e|0;a=h+4|0;n=j+4|0;o=i+4|0;p=e;do{q=c+(p<<2)|0;r=q+(m<<2)|0;s=b+(p<<2)|0;t=f[r>>2]|0;v=f[r+4>>2]|0;r=f[s+4>>2]|0;f[h>>2]=f[s>>2];f[a>>2]=r;f[j>>2]=t;f[n>>2]=v;ld(i,k,j,h);f[q>>2]=f[i>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));jp(l);u=g;return 1}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;Rh(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){Rh(g,f[a>>2]|0)|0;k=Yk(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(Jc(a,k)|0))break;f[h>>2]=k;wi(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){mh(l);lp(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}mh(k);lp(k);m=0}while(0);if((j|0)==8)m=Jc(a,c)|0;i=m;u=d;return i|0}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)Do(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Tm(a,j,(e&255)+1|0)|0;lp(j);o=16}}else{j=k+1|0;p=Yk(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Tm(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Tm(n,m,(f[j>>2]|0)+1|0)|0;lp(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function If(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Yk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));lk(c);f[c>>2]=3528;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Yk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));lk(c);f[c>>2]=3484;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;j=11689;i=h+28|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Ch(c,g);f[a>>2]=f[e>>2];Ch(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=d;return}}}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function Kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Rg(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function Lf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(Gn(a,f[c+8>>2]|0,g)|0)){if(!(Gn(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Ya[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;Za[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else Pk(0,c,d,e);while(0);return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=a+16|0;ei(d,b);f[a+28>>2]=0;b=f[a+20>>2]|0;e=f[d>>2]|0;d=e;if((b|0)!=(e|0)){g=(b-e|0)/20|0;e=0;b=0;do{h=X(f[d+(e*20|0)+12>>2]|0,f[d+(e*20|0)+4>>2]|0)|0;i=X(h,f[d+(e*20|0)+16>>2]|0)|0;b=b>>>0>>0?i:b;e=e+1|0}while(e>>>0>>0);g=f[c>>2]|0;e=f[a>>2]|0;d=g-e|0;if(b>>>0>d>>>0){Ug(a,b-d|0);j=f[a>>2]|0;k=a+12|0;f[k>>2]=j;return}else{l=b;m=g;n=e;o=d}}else{d=f[c>>2]|0;e=f[a>>2]|0;l=0;m=d;n=e;o=d-e|0}if(l>>>0>=o>>>0){j=n;k=a+12|0;f[k>>2]=j;return}o=n+l|0;if((o|0)==(m|0)){j=n;k=a+12|0;f[k>>2]=j;return}f[c>>2]=o;j=n;k=a+12|0;f[k>>2]=j;return}function Nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Dc(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=Yk(40)|0;Ch(c+16|0,d);Ch(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Ed(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function Of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)Do(a);n=j<<6;j=c+31&-32;Mg(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)lp(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Gh(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Gh(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}} -function _a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4114]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=16496+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4114]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4116]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=16496+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4119]|0;h=m>>>3;l=16496+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4116]=j;f[4119]=k;o=e;u=b;return o|0}e=f[4115]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[16760+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=16760+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[4115]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[4119]|0;n=m>>>3;i=16496+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[4116]=v;f[4119]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[4115]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[16760+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[16760+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[4116]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=16760+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=16496+(j<<1<<2)|0;d=f[4114]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=16760+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4115]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[4116]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[4119]|0;if(T>>>0>15){_=$+B|0;f[4119]=_;f[4116]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[4116]=0;f[4119]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[4117]|0;if($>>>0>B>>>0){T=$-B|0;f[4117]=T;S=f[4120]|0;_=S+B|0;f[4120]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[4232]|0)){f[4234]=4096;f[4233]=4096;f[4235]=-1;f[4236]=-1;f[4237]=0;f[4225]=0;f[4232]=c&-16^1431655768;aa=4096}else aa=f[4234]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4224]|0;if(X|0?(Y=f[4222]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4225]&4)){X=f[4120]|0;c:do if(X){Z=16904;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Sj(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Sj(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[4233]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[4222]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[4224]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Sj(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[4234]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Sj(X|0)|0)==(-1|0)){Sj(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[4225]=f[4225]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Sj(aa|0)|0,aa=Sj(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[4222]|0)+da|0;f[4222]=ca;if(ca>>>0>(f[4223]|0)>>>0)f[4223]=ca;ca=f[4120]|0;do if(ca){ha=16904;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[4117]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[4120]=ga;f[4117]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[4121]=f[4236];break}if(ea>>>0<(f[4118]|0)>>>0)f[4118]=ea;fa=ea+da|0;S=16904;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=16904;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[4119]|0)==(aa|0)){ba=(f[4116]|0)+c|0;f[4116]=ba;f[4119]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[4114]=f[4114]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=16760+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[4115]=f[4115]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=16496+($<<1<<2)|0;Z=f[4114]|0;Y=1<<$;if(!(Z&Y)){f[4114]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=16760+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4115]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[4117]|0)+c|0;f[4117]=ba;f[4120]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=16904;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[4120]=fa;f[4117]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[4121]=f[4236];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[4226];f[c+4>>2]=f[4227];f[c+8>>2]=f[4228];f[c+12>>2]=f[4229];f[4226]=ea;f[4227]=da;f[4229]=0;f[4228]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=16496+(ba<<1<<2)|0;S=f[4114]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=16760+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[4115]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[4118]|0;if((c|0)==0|ea>>>0>>0)f[4118]=ea;f[4226]=ea;f[4227]=da;f[4229]=0;f[4123]=f[4232];f[4122]=-1;f[4127]=16496;f[4126]=16496;f[4129]=16504;f[4128]=16504;f[4131]=16512;f[4130]=16512;f[4133]=16520;f[4132]=16520;f[4135]=16528;f[4134]=16528;f[4137]=16536;f[4136]=16536;f[4139]=16544;f[4138]=16544;f[4141]=16552;f[4140]=16552;f[4143]=16560;f[4142]=16560;f[4145]=16568;f[4144]=16568;f[4147]=16576;f[4146]=16576;f[4149]=16584;f[4148]=16584;f[4151]=16592;f[4150]=16592;f[4153]=16600;f[4152]=16600;f[4155]=16608;f[4154]=16608;f[4157]=16616;f[4156]=16616;f[4159]=16624;f[4158]=16624;f[4161]=16632;f[4160]=16632;f[4163]=16640;f[4162]=16640;f[4165]=16648;f[4164]=16648;f[4167]=16656;f[4166]=16656;f[4169]=16664;f[4168]=16664;f[4171]=16672;f[4170]=16672;f[4173]=16680;f[4172]=16680;f[4175]=16688;f[4174]=16688;f[4177]=16696;f[4176]=16696;f[4179]=16704;f[4178]=16704;f[4181]=16712;f[4180]=16712;f[4183]=16720;f[4182]=16720;f[4185]=16728;f[4184]=16728;f[4187]=16736;f[4186]=16736;f[4189]=16744;f[4188]=16744;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[4120]=ba;f[4117]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[4121]=f[4236]}while(0);ea=f[4117]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4117]=da;ea=f[4120]|0;ca=ea+B|0;f[4120]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=sp()|0;f[ea>>2]=12;o=0;u=b;return o|0}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+232|0;v=a+420|0;w=a+308|0;x=a+416|0;y=a+304|0;z=a+296|0;A=a+300|0;B=a+8|0;C=i+4|0;D=a+388|0;E=k+8|0;F=g+8|0;G=a+36|0;H=a+40|0;I=c+-1|0;J=a+400|0;K=0;b:while(1){L=K+1|0;if((f[v>>2]|0)!=-1?Qi(J)|0:0){M=f[v>>2]|0;f[x>>2]=M;if(!M)N=17;else{O=M;N=32}}else N=6;c:do if((N|0)==6){N=0;do if(!(b[w>>0]|0))P=1;else{M=f[y>>2]|0;Q=f[z>>2]|0;R=f[A>>2]|0;S=Q+(M>>>3)|0;if(S>>>0>>0?(T=h[S>>0]|0,S=M+1|0,f[y>>2]=S,1<<(M&7)&T|0):0){T=Q+(S>>>3)|0;if(T>>>0>>0){U=(h[T>>0]|0)>>>(S&7)&1;T=M+2|0;f[y>>2]=T;V=U;W=T}else{V=0;W=S}S=Q+(W>>>3)|0;if(S>>>0>>0){R=(h[S>>0]|0)>>>(W&7);f[y>>2]=W+1;X=R<<1&2}else X=0;P=(X|V)<<1|1;break}f[x>>2]=0;N=17;break c}while(0);f[x>>2]=P;O=P;N=32}while(0);d:do if((N|0)==17){N=0;R=f[o>>2]|0;if((f[g>>2]|0)==(R|0)){Y=-1;N=193;break a}S=R+-4|0;Q=f[S>>2]|0;T=f[B>>2]|0;U=(Q|0)==-1;M=Q+1|0;if(!U?(Z=((M>>>0)%3|0|0)==0?Q+-2|0:M,(Z|0)!=-1):0)_=f[(f[T>>2]|0)+(Z<<2)>>2]|0;else _=-1;Z=f[T+24>>2]|0;M=f[Z+(_<<2)>>2]|0;aa=M+1|0;if((M|0)==-1)ba=-1;else ba=((aa>>>0)%3|0|0)==0?M+-2|0:aa;aa=K*3|0;M=aa+1|0;ca=f[T+12>>2]|0;f[ca+(Q<<2)>>2]=M;f[ca+(M<<2)>>2]=Q;da=aa+2|0;f[ca+(ba<<2)>>2]=da;f[ca+(da<<2)>>2]=ba;ca=f[T>>2]|0;f[ca+(aa<<2)>>2]=_;T=ba+1|0;if((ba|0)!=-1?(ea=((T>>>0)%3|0|0)==0?ba+-2|0:T,(ea|0)!=-1):0)fa=f[ca+(ea<<2)>>2]|0;else fa=-1;f[ca+(M<<2)>>2]=fa;if(!U?(U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(U|0)!=-1):0){Q=f[ca+(U<<2)>>2]|0;f[ca+(da<<2)>>2]=Q;if((Q|0)!=-1)f[Z+(Q<<2)>>2]=da}else f[ca+(da<<2)>>2]=-1;da=(f[r>>2]|0)+(_>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(_&31));f[S>>2]=aa;f[l>>2]=f[R+-4>>2];f[e>>2]=f[l>>2];Nc(t,e)}else if((N|0)==32){N=0;R=(O|0)==5;switch(O|0){case 3:case 5:{aa=f[o>>2]|0;if((f[g>>2]|0)==(aa|0)){Y=-1;N=193;break a}S=f[aa+-4>>2]|0;aa=K*3|0;da=R?aa:aa+2|0;ca=aa+(R&1)|0;Q=(R?2:1)+aa|0;R=f[B>>2]|0;Z=f[R+12>>2]|0;f[Z+(Q<<2)>>2]=S;f[Z+(S<<2)>>2]=Q;Z=R+24|0;U=R+28|0;M=f[U>>2]|0;if((M|0)==(f[R+32>>2]|0)){hh(Z,3112);ga=f[U>>2]|0}else{f[M>>2]=-1;R=M+4|0;f[U>>2]=R;ga=R}R=ga-(f[Z>>2]|0)>>2;Z=R+-1|0;U=f[B>>2]|0;M=f[U+24>>2]|0;ea=M;if(((f[U+28>>2]|0)-M>>2|0)>(s|0)){Y=-1;N=193;break a}M=f[U>>2]|0;f[M+(Q<<2)>>2]=Z;if(R|0)f[ea+(Z<<2)>>2]=Q;if((S|0)!=-1){Q=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((Q|0)!=-1){Z=f[M+(Q<<2)>>2]|0;f[M+(da<<2)>>2]=Z;if((Z|0)!=-1)f[ea+(Z<<2)>>2]=da}else f[M+(da<<2)>>2]=-1;Z=S+1|0;ea=((Z>>>0)%3|0|0)==0?S+-2|0:Z;if((ea|0)==-1)ha=-1;else ha=f[M+(ea<<2)>>2]|0}else{f[M+(da<<2)>>2]=-1;ha=-1}f[M+(ca<<2)>>2]=ha;ca=f[o>>2]|0;f[ca+-4>>2]=aa;ia=ca;break}case 1:{ca=f[g>>2]|0;aa=f[o>>2]|0;if((ca|0)==(aa|0)){Y=-1;N=193;break a}M=aa+-4|0;da=f[M>>2]|0;f[o>>2]=M;ea=f[C>>2]|0;e:do if(ea){Z=ea+-1|0;S=(Z&ea|0)==0;if(!S)if(K>>>0>>0)ja=K;else ja=(K>>>0)%(ea>>>0)|0;else ja=Z&K;Q=f[(f[i>>2]|0)+(ja<<2)>>2]|0;if((Q|0)!=0?(R=f[Q>>2]|0,(R|0)!=0):0){f:do if(S){Q=R;while(1){U=f[Q+4>>2]|0;T=(U|0)==(K|0);if(!(T|(U&Z|0)==(ja|0))){ka=ca;la=M;break e}if(T?(f[Q+8>>2]|0)==(K|0):0){ma=Q;break f}Q=f[Q>>2]|0;if(!Q){ka=ca;la=M;break e}}}else{Q=R;while(1){T=f[Q+4>>2]|0;if((T|0)==(K|0)){if((f[Q+8>>2]|0)==(K|0)){ma=Q;break f}}else{if(T>>>0>>0)na=T;else na=(T>>>0)%(ea>>>0)|0;if((na|0)!=(ja|0)){ka=ca;la=M;break e}}Q=f[Q>>2]|0;if(!Q){ka=ca;la=M;break e}}}while(0);R=ma+12|0;if((M|0)==(f[F>>2]|0)){hh(g,R);ka=f[g>>2]|0;la=f[o>>2]|0;break}else{f[M>>2]=f[R>>2];f[o>>2]=aa;ka=ca;la=aa;break}}else{ka=ca;la=M}}else{ka=ca;la=M}while(0);if((ka|0)==(la|0)){Y=-1;N=193;break a}M=f[la+-4>>2]|0;ca=(M|0)==-1;if(!ca?(f[(f[(f[B>>2]|0)+12>>2]|0)+(M<<2)>>2]|0)!=-1:0){Y=-1;N=193;break a}aa=(da|0)==-1;ea=f[B>>2]|0;R=f[ea+12>>2]|0;if(!aa?(f[R+(da<<2)>>2]|0)!=-1:0){Y=-1;N=193;break a}Z=K*3|0;S=Z+2|0;f[R+(M<<2)>>2]=S;f[R+(S<<2)>>2]=M;Q=Z+1|0;f[R+(da<<2)>>2]=Q;f[R+(Q<<2)>>2]=da;if(!ca){ca=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((ca|0)==-1)oa=-1;else oa=f[(f[ea>>2]|0)+(ca<<2)>>2]|0;ca=f[ea>>2]|0;f[ca+(Z<<2)>>2]=oa;T=M+1|0;U=((T>>>0)%3|0|0)==0?M+-2|0:T;if((U|0)==-1){pa=-1;qa=oa;ra=ca;sa=ea}else{pa=f[ca+(U<<2)>>2]|0;qa=oa;ra=ca;sa=ea}}else{ca=f[ea>>2]|0;f[ca+(Z<<2)>>2]=-1;pa=-1;qa=-1;ra=ca;sa=ea}f[ra+(Q<<2)>>2]=pa;if(!aa){aa=(((da>>>0)%3|0|0)==0?2:-1)+da|0;if((aa|0)!=-1){Q=f[ra+(aa<<2)>>2]|0;f[ra+(S<<2)>>2]=Q;if((Q|0)!=-1)f[(f[ea+24>>2]|0)+(Q<<2)>>2]=S}else f[ra+(S<<2)>>2]=-1;Q=da+1|0;aa=((Q>>>0)%3|0|0)==0?da+-2|0:Q;if((aa|0)==-1){ta=-1;ua=-1}else{ta=f[ra+(aa<<2)>>2]|0;ua=aa}}else{f[ra+(S<<2)>>2]=-1;ta=-1;ua=-1}f[e>>2]=ta;S=f[D>>2]|0;aa=S+(qa<<2)|0;f[aa>>2]=(f[aa>>2]|0)+(f[S+(ta<<2)>>2]|0);S=f[ea+24>>2]|0;if((qa|0)!=-1)f[S+(qa<<2)>>2]=f[S+(f[e>>2]<<2)>>2];g:do if((ua|0)!=-1){ea=f[sa>>2]|0;aa=ua;do{f[ea+(aa<<2)>>2]=qa;Q=aa+1|0;ca=((Q>>>0)%3|0|0)==0?aa+-2|0:Q;if((ca|0)==-1)break g;Q=f[R+(ca<<2)>>2]|0;ca=Q+1|0;if((Q|0)==-1)break g;aa=((ca>>>0)%3|0|0)==0?Q+-2|0:ca}while((aa|0)!=-1)}while(0);f[S+(f[e>>2]<<2)>>2]=-1;do if(q){R=f[p>>2]|0;if((R|0)==(f[E>>2]|0)){hh(k,e);va=f[o>>2]|0;break}else{f[R>>2]=f[e>>2];f[p>>2]=R+4;va=la;break}}else va=la;while(0);f[va+-4>>2]=Z;f[l>>2]=f[va+-4>>2];f[e>>2]=f[l>>2];Nc(t,e);break d;break}case 7:{f[e>>2]=K*3;S=f[B>>2]|0;R=S+24|0;da=S+28|0;aa=f[da>>2]|0;if((aa|0)==(f[S+32>>2]|0)){hh(R,3112);wa=f[da>>2]|0}else{f[aa>>2]=-1;S=aa+4|0;f[da>>2]=S;wa=S}S=wa-(f[R>>2]|0)>>2;R=S+-1|0;da=f[B>>2]|0;aa=f[e>>2]|0;ea=f[da>>2]|0;f[ea+(aa<<2)>>2]=R;ca=da+24|0;Q=da+28|0;U=f[Q>>2]|0;if((U|0)==(f[da+32>>2]|0)){hh(ca,3112);xa=f[Q>>2]|0;ya=f[da>>2]|0}else{f[U>>2]=-1;da=U+4|0;f[Q>>2]=da;xa=da;ya=ea}f[ya+(aa+1<<2)>>2]=(xa-(f[ca>>2]|0)>>2)+-1;ca=f[B>>2]|0;aa=(f[e>>2]|0)+2|0;ea=ca+24|0;da=ca+28|0;Q=f[da>>2]|0;if((Q|0)==(f[ca+32>>2]|0)){hh(ea,3112);za=f[da>>2]|0}else{f[Q>>2]=-1;U=Q+4|0;f[da>>2]=U;za=U}f[(f[ca>>2]|0)+(aa<<2)>>2]=(za-(f[ea>>2]|0)>>2)+-1;ea=f[B>>2]|0;aa=f[ea+24>>2]|0;ca=aa;if(((f[ea+28>>2]|0)-aa>>2|0)>(s|0))break b;aa=f[e>>2]|0;if(S){f[ca+(R<<2)>>2]=aa;if((S|0)!=-1){f[ca+(S<<2)>>2]=(f[e>>2]|0)+1;R=S+1|0;if((R|0)!=-1){Aa=R;N=116}}else{Aa=0;N=116}}else{f[ca+(S<<2)>>2]=aa+1;Aa=1;N=116}if((N|0)==116){N=0;f[ca+(Aa<<2)>>2]=(f[e>>2]|0)+2}ca=f[o>>2]|0;if((ca|0)==(f[F>>2]|0)){hh(g,e);Ba=f[o>>2]|0}else{f[ca>>2]=f[e>>2];aa=ca+4|0;f[o>>2]=aa;Ba=aa}ia=Ba;break}default:{Y=-1;N=193;break a}}f[l>>2]=f[ia+-4>>2];f[e>>2]=f[l>>2];Nc(t,e);aa=c-K+-1|0;ca=f[H>>2]|0;if((ca|0)!=(f[G>>2]|0)){S=ca;do{ca=S;R=f[ca+-8>>2]|0;if(R>>>0>aa>>>0){Y=-1;N=193;break a}if((R|0)!=(aa|0))break d;R=b[ca+-4>>0]|0;ea=f[ca+-12>>2]|0;f[H>>2]=ca+-12;if((ea|0)<0){Y=-1;N=193;break a}ca=f[(f[o>>2]|0)+-4>>2]|0;U=(ca|0)==-1;do if(!(R&1))if(!U)if(!((ca>>>0)%3|0)){Ca=ca+2|0;break}else{Ca=ca+-1|0;break}else Ca=-1;else{da=ca+1|0;if(U)Ca=-1;else Ca=((da>>>0)%3|0|0)==0?ca+-2|0:da}while(0);f[e>>2]=I-ea;ca=_c(i,e)|0;f[ca>>2]=Ca;S=f[H>>2]|0}while((S|0)!=(f[G>>2]|0))}}while(0);if((L|0)<(c|0))K=L;else{Da=L;Ea=B;N=135;break a}}Y=-1;N=193}else{Da=0;Ea=a+8|0;N=135}while(0);h:do if((N|0)==135){c=f[Ea>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){Ca=f[o>>2]|0;do if((Ca|0)!=(f[g>>2]|0)){l=a+270|0;ia=a+364|0;Ba=a+360|0;Aa=a+352|0;za=a+356|0;xa=a+60|0;ya=a+64|0;wa=a+68|0;va=a+76|0;la=a+80|0;q=a+72|0;qa=a+312|0;ua=Da;sa=Ca;i:while(1){ta=sa;f[e>>2]=f[ta+-4>>2];f[o>>2]=ta+-4;if((j[l>>1]|0)<514)if(b[ia>>0]|0){ta=f[Ba>>2]|0;ra=(f[Aa>>2]|0)+(ta>>>3)|0;if(ra>>>0<(f[za>>2]|0)>>>0){pa=(h[ra>>0]|0)>>>(ta&7)&1;f[Ba>>2]=ta+1;Fa=pa;N=143}else N=166}else N=144;else{Fa=(Qi(qa)|0)&1;N=143}if((N|0)==143){N=0;if(!Fa)N=166;else N=144}do if((N|0)==144){N=0;pa=f[Ea>>2]|0;ta=f[pa>>2]|0;ra=ta;if((ua|0)>=(((f[pa+4>>2]|0)-ta>>2>>>0)/3|0|0)){N=174;break i}ta=f[e>>2]|0;oa=ta+1|0;if((ta|0)!=-1?(ka=((oa>>>0)%3|0|0)==0?ta+-2|0:oa,(ka|0)!=-1):0)Ga=f[ra+(ka<<2)>>2]|0;else Ga=-1;ka=f[pa+24>>2]|0;oa=f[ka+(Ga<<2)>>2]|0;ma=oa+1|0;if((oa|0)!=-1?(ja=((ma>>>0)%3|0|0)==0?oa+-2|0:ma,ma=ja+1|0,(ja|0)!=-1):0){oa=((ma>>>0)%3|0|0)==0?ja+-2|0:ma;if((oa|0)==-1){Ha=-1;Ia=ja}else{Ha=f[ra+(oa<<2)>>2]|0;Ia=ja}}else{Ha=-1;Ia=-1}ja=f[ka+(Ha<<2)>>2]|0;ka=ja+1|0;if((ja|0)!=-1?(oa=((ka>>>0)%3|0|0)==0?ja+-2|0:ka,ka=oa+1|0,(oa|0)!=-1):0){ja=((ka>>>0)%3|0|0)==0?oa+-2|0:ka;if((ja|0)==-1){Ja=-1;Ka=oa}else{Ja=f[ra+(ja<<2)>>2]|0;Ka=oa}}else{Ja=-1;Ka=-1}oa=ua*3|0;f[m>>2]=oa;ja=f[pa+12>>2]|0;f[ja+(oa<<2)>>2]=ta;f[ja+(ta<<2)>>2]=oa;oa=(f[m>>2]|0)+1|0;f[ja+(oa<<2)>>2]=Ia;f[ja+(Ia<<2)>>2]=oa;oa=(f[m>>2]|0)+2|0;f[ja+(oa<<2)>>2]=Ka;f[ja+(Ka<<2)>>2]=oa;oa=f[m>>2]|0;ja=ra+(oa<<2)|0;f[ja>>2]=Ha;f[ra+(oa+1<<2)>>2]=Ja;f[ra+(oa+2<<2)>>2]=Ga;if((oa|0)==-1)La=-1;else La=f[ja>>2]|0;ja=f[r>>2]|0;oa=ja+(La>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(La&31));oa=(f[m>>2]|0)+1|0;if((oa|0)==-1)Ma=-1;else Ma=f[ra+(oa<<2)>>2]|0;oa=ja+(Ma>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Ma&31));oa=(f[m>>2]|0)+2|0;if((oa|0)==-1)Na=-1;else Na=f[ra+(oa<<2)>>2]|0;oa=ja+(Na>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Na&31));oa=ua+1|0;ja=f[ya>>2]|0;ra=f[wa>>2]|0;if((ja|0)==(ra<<5|0)){if((ja+1|0)<0){N=158;break i}ta=ra<<6;ra=ja+32&-32;Mg(xa,ja>>>0<1073741823?(ta>>>0>>0?ra:ta):2147483647);Oa=f[ya>>2]|0}else Oa=ja;f[ya>>2]=Oa+1;ja=(f[xa>>2]|0)+(Oa>>>5<<2)|0;f[ja>>2]=f[ja>>2]|1<<(Oa&31);ja=f[va>>2]|0;if((ja|0)==(f[la>>2]|0))hh(q,m);else{f[ja>>2]=f[m>>2];f[va>>2]=ja+4}Pa=oa}else if((N|0)==166){N=0;oa=f[ya>>2]|0;ja=f[wa>>2]|0;if((oa|0)==(ja<<5|0)){if((oa+1|0)<0){N=168;break i}ta=ja<<6;ja=oa+32&-32;Mg(xa,oa>>>0<1073741823?(ta>>>0>>0?ja:ta):2147483647);Qa=f[ya>>2]|0}else Qa=oa;f[ya>>2]=Qa+1;oa=(f[xa>>2]|0)+(Qa>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Qa&31));oa=f[va>>2]|0;if((oa|0)==(f[la>>2]|0)){hh(q,e);Pa=ua;break}else{f[oa>>2]=f[e>>2];f[va>>2]=oa+4;Pa=ua;break}}while(0);sa=f[o>>2]|0;if((sa|0)==(f[g>>2]|0)){N=175;break}else ua=Pa}if((N|0)==158)Do(xa);else if((N|0)==168)Do(xa);else if((N|0)==174){Y=-1;N=193;break h}else if((N|0)==175){Ra=Pa;Sa=f[Ea>>2]|0;break}}else{Ra=Da;Sa=c}while(0);if((Ra|0)==(((f[Sa+4>>2]|0)-(f[Sa>>2]|0)>>2>>>0)/3|0|0)){c=(f[Sa+28>>2]|0)-(f[Sa+24>>2]|0)>>2;Ca=f[k>>2]|0;ua=f[p>>2]|0;if((Ca|0)==(ua|0)){Ta=c;Ua=Ca}else{sa=e+4|0;va=e+8|0;q=e+12|0;la=c;c=Ca;Ca=Sa;while(1){ya=f[c>>2]|0;wa=la+-1|0;qa=f[Ca+24>>2]|0;if((f[qa+(wa<<2)>>2]|0)==-1){Ba=la;while(1){za=Ba+-1|0;Aa=Ba+-2|0;if((f[qa+(Aa<<2)>>2]|0)==-1)Ba=za;else{Va=za;Wa=Aa;break}}}else{Va=la;Wa=wa}if(Wa>>>0>>0){Xa=Va;Ya=Ca}else{f[e>>2]=Ca;Ba=f[qa+(Wa<<2)>>2]|0;f[sa>>2]=Ba;f[va>>2]=Ba;b[q>>0]=1;if((Ba|0)==-1){Za=qa;_a=Ca}else{xa=Ca;Aa=Ba;do{f[(f[xa>>2]|0)+(Aa<<2)>>2]=ya;ig(e);Aa=f[va>>2]|0;xa=f[Ea>>2]|0}while((Aa|0)!=-1);Za=f[xa+24>>2]|0;_a=xa}if((ya|0)==-1)$a=Za+(Wa<<2)|0;else{Aa=Za+(Wa<<2)|0;f[Za+(ya<<2)>>2]=f[Aa>>2];$a=Aa}f[$a>>2]=-1;Aa=f[r>>2]|0;qa=Aa+(Wa>>>5<<2)|0;wa=1<<(Wa&31);Ba=Aa+(ya>>>5<<2)|0;Aa=1<<(ya&31);if(!(f[qa>>2]&wa))ab=f[Ba>>2]&~Aa;else ab=f[Ba>>2]|Aa;f[Ba>>2]=ab;f[qa>>2]=f[qa>>2]&~wa;Xa=Va+-1|0;Ya=_a}c=c+4|0;if((c|0)==(ua|0)){Y=Xa;N=193;break}else{la=Xa;Ca=Ya}}}}else{Y=-1;N=193}}else{Y=-1;N=193}}while(0);if((N|0)==193){Ta=Y;Ua=f[k>>2]|0}if(Ua|0){k=f[p>>2]|0;if((k|0)!=(Ua|0))f[p>>2]=k+(~((k+-4-Ua|0)>>>2)<<2);lp(Ua)}Ua=f[i+8>>2]|0;if(Ua|0){k=Ua;do{Ua=k;k=f[k>>2]|0;lp(Ua)}while((k|0)!=0)}k=f[i>>2]|0;f[i>>2]=0;if(k|0)lp(k);k=f[g>>2]|0;if(!k){u=d;return Ta|0}g=f[o>>2]|0;if((g|0)!=(k|0))f[o>>2]=g+(~((g+-4-k|0)>>>2)<<2);lp(k);u=d;return Ta|0}function ab(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+232|0;v=a+8|0;w=a+36|0;x=a+40|0;y=c+-1|0;z=i+4|0;A=a+388|0;B=k+8|0;C=g+8|0;D=0;b:while(1){E=D+1|0;F=Df(t)|0;c:do if(F){G=(F|0)==5;switch(F|0){case 3:case 5:{H=f[o>>2]|0;if((f[g>>2]|0)==(H|0)){I=-1;J=181;break a}K=f[H+-4>>2]|0;H=D*3|0;L=G?H:H+2|0;M=H+(G&1)|0;N=(G?2:1)+H|0;G=f[v>>2]|0;O=f[G+12>>2]|0;f[O+(N<<2)>>2]=K;f[O+(K<<2)>>2]=N;O=G+24|0;P=G+28|0;Q=f[P>>2]|0;if((Q|0)==(f[G+32>>2]|0)){hh(O,3112);R=f[P>>2]|0}else{f[Q>>2]=-1;G=Q+4|0;f[P>>2]=G;R=G}G=R-(f[O>>2]|0)>>2;O=G+-1|0;P=f[v>>2]|0;Q=f[P+24>>2]|0;S=Q;if(((f[P+28>>2]|0)-Q>>2|0)>(s|0)){I=-1;J=181;break a}Q=f[P>>2]|0;f[Q+(N<<2)>>2]=O;if(G|0)f[S+(O<<2)>>2]=N;if((K|0)!=-1){N=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((N|0)!=-1){O=f[Q+(N<<2)>>2]|0;f[Q+(L<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=L}else f[Q+(L<<2)>>2]=-1;O=K+1|0;S=((O>>>0)%3|0|0)==0?K+-2|0:O;if((S|0)==-1)T=-1;else T=f[Q+(S<<2)>>2]|0}else{f[Q+(L<<2)>>2]=-1;T=-1}f[Q+(M<<2)>>2]=T;M=f[o>>2]|0;f[M+-4>>2]=H;U=M;break}case 1:{M=f[g>>2]|0;H=f[o>>2]|0;if((M|0)==(H|0)){I=-1;J=181;break a}Q=H+-4|0;L=f[Q>>2]|0;f[o>>2]=Q;S=f[z>>2]|0;d:do if(S){O=S+-1|0;K=(O&S|0)==0;if(!K)if(D>>>0>>0)V=D;else V=(D>>>0)%(S>>>0)|0;else V=O&D;N=f[(f[i>>2]|0)+(V<<2)>>2]|0;if((N|0)!=0?(G=f[N>>2]|0,(G|0)!=0):0){e:do if(K){N=G;while(1){P=f[N+4>>2]|0;W=(P|0)==(D|0);if(!(W|(P&O|0)==(V|0))){X=M;Y=Q;break d}if(W?(f[N+8>>2]|0)==(D|0):0){Z=N;break e}N=f[N>>2]|0;if(!N){X=M;Y=Q;break d}}}else{N=G;while(1){W=f[N+4>>2]|0;if((W|0)==(D|0)){if((f[N+8>>2]|0)==(D|0)){Z=N;break e}}else{if(W>>>0>>0)_=W;else _=(W>>>0)%(S>>>0)|0;if((_|0)!=(V|0)){X=M;Y=Q;break d}}N=f[N>>2]|0;if(!N){X=M;Y=Q;break d}}}while(0);G=Z+12|0;if((Q|0)==(f[C>>2]|0)){hh(g,G);X=f[g>>2]|0;Y=f[o>>2]|0;break}else{f[Q>>2]=f[G>>2];f[o>>2]=H;X=M;Y=H;break}}else{X=M;Y=Q}}else{X=M;Y=Q}while(0);if((X|0)==(Y|0)){I=-1;J=181;break a}Q=f[Y+-4>>2]|0;M=(Q|0)==-1;if(!M?(f[(f[(f[v>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0)!=-1:0){I=-1;J=181;break a}H=(L|0)==-1;S=f[v>>2]|0;G=f[S+12>>2]|0;if(!H?(f[G+(L<<2)>>2]|0)!=-1:0){I=-1;J=181;break a}O=D*3|0;K=O+2|0;f[G+(Q<<2)>>2]=K;f[G+(K<<2)>>2]=Q;N=O+1|0;f[G+(L<<2)>>2]=N;f[G+(N<<2)>>2]=L;if(!M){M=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((M|0)==-1)aa=-1;else aa=f[(f[S>>2]|0)+(M<<2)>>2]|0;M=f[S>>2]|0;f[M+(O<<2)>>2]=aa;W=Q+1|0;P=((W>>>0)%3|0|0)==0?Q+-2|0:W;if((P|0)==-1){ba=-1;ca=aa;da=M;ea=S}else{ba=f[M+(P<<2)>>2]|0;ca=aa;da=M;ea=S}}else{M=f[S>>2]|0;f[M+(O<<2)>>2]=-1;ba=-1;ca=-1;da=M;ea=S}f[da+(N<<2)>>2]=ba;if(!H){H=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((H|0)!=-1){N=f[da+(H<<2)>>2]|0;f[da+(K<<2)>>2]=N;if((N|0)!=-1)f[(f[S+24>>2]|0)+(N<<2)>>2]=K}else f[da+(K<<2)>>2]=-1;N=L+1|0;H=((N>>>0)%3|0|0)==0?L+-2|0:N;if((H|0)==-1){fa=-1;ga=-1}else{fa=f[da+(H<<2)>>2]|0;ga=H}}else{f[da+(K<<2)>>2]=-1;fa=-1;ga=-1}f[e>>2]=fa;K=f[A>>2]|0;H=K+(ca<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[K+(fa<<2)>>2]|0);K=f[S+24>>2]|0;if((ca|0)!=-1)f[K+(ca<<2)>>2]=f[K+(f[e>>2]<<2)>>2];f:do if((ga|0)!=-1){S=f[ea>>2]|0;H=ga;do{f[S+(H<<2)>>2]=ca;N=H+1|0;M=((N>>>0)%3|0|0)==0?H+-2|0:N;if((M|0)==-1)break f;N=f[G+(M<<2)>>2]|0;M=N+1|0;if((N|0)==-1)break f;H=((M>>>0)%3|0|0)==0?N+-2|0:M}while((H|0)!=-1)}while(0);f[K+(f[e>>2]<<2)>>2]=-1;do if(q){G=f[p>>2]|0;if((G|0)==(f[B>>2]|0)){hh(k,e);ha=f[o>>2]|0;break}else{f[G>>2]=f[e>>2];f[p>>2]=G+4;ha=Y;break}}else ha=Y;while(0);f[ha+-4>>2]=O;f[l>>2]=f[ha+-4>>2];f[e>>2]=f[l>>2];Uc(t,e);break c;break}case 7:{f[e>>2]=D*3;K=f[v>>2]|0;G=K+24|0;L=K+28|0;H=f[L>>2]|0;if((H|0)==(f[K+32>>2]|0)){hh(G,3112);ia=f[L>>2]|0}else{f[H>>2]=-1;K=H+4|0;f[L>>2]=K;ia=K}K=ia-(f[G>>2]|0)>>2;G=K+-1|0;L=f[v>>2]|0;H=f[e>>2]|0;S=f[L>>2]|0;f[S+(H<<2)>>2]=G;M=L+24|0;N=L+28|0;P=f[N>>2]|0;if((P|0)==(f[L+32>>2]|0)){hh(M,3112);ja=f[N>>2]|0;ka=f[L>>2]|0}else{f[P>>2]=-1;L=P+4|0;f[N>>2]=L;ja=L;ka=S}f[ka+(H+1<<2)>>2]=(ja-(f[M>>2]|0)>>2)+-1;M=f[v>>2]|0;H=(f[e>>2]|0)+2|0;S=M+24|0;L=M+28|0;N=f[L>>2]|0;if((N|0)==(f[M+32>>2]|0)){hh(S,3112);la=f[L>>2]|0}else{f[N>>2]=-1;P=N+4|0;f[L>>2]=P;la=P}f[(f[M>>2]|0)+(H<<2)>>2]=(la-(f[S>>2]|0)>>2)+-1;S=f[v>>2]|0;H=f[S+24>>2]|0;M=H;if(((f[S+28>>2]|0)-H>>2|0)>(s|0))break b;H=f[e>>2]|0;if(K){f[M+(G<<2)>>2]=H;if((K|0)!=-1){f[M+(K<<2)>>2]=(f[e>>2]|0)+1;G=K+1|0;if((G|0)!=-1){ma=G;J=104}}else{ma=0;J=104}}else{f[M+(K<<2)>>2]=H+1;ma=1;J=104}if((J|0)==104){J=0;f[M+(ma<<2)>>2]=(f[e>>2]|0)+2}M=f[o>>2]|0;if((M|0)==(f[C>>2]|0)){hh(g,e);na=f[o>>2]|0}else{f[M>>2]=f[e>>2];H=M+4|0;f[o>>2]=H;na=H}U=na;break}default:{I=-1;J=181;break a}}f[l>>2]=f[U+-4>>2];f[e>>2]=f[l>>2];Uc(t,e);H=c-D+-1|0;M=f[x>>2]|0;if((M|0)!=(f[w>>2]|0)){K=M;do{M=K;G=f[M+-8>>2]|0;if(G>>>0>H>>>0){I=-1;J=181;break a}if((G|0)!=(H|0))break c;G=b[M+-4>>0]|0;S=f[M+-12>>2]|0;f[x>>2]=M+-12;if((S|0)<0){I=-1;J=181;break a}M=f[(f[o>>2]|0)+-4>>2]|0;P=(M|0)==-1;do if(!(G&1))if(!P)if(!((M>>>0)%3|0)){oa=M+2|0;break}else{oa=M+-1|0;break}else oa=-1;else{L=M+1|0;if(P)oa=-1;else oa=((L>>>0)%3|0|0)==0?M+-2|0:L}while(0);f[e>>2]=y-S;M=_c(i,e)|0;f[M>>2]=oa;K=f[x>>2]|0}while((K|0)!=(f[w>>2]|0))}}else{K=f[o>>2]|0;if((f[g>>2]|0)==(K|0)){I=-1;J=181;break a}H=K+-4|0;O=f[H>>2]|0;M=f[v>>2]|0;P=(O|0)==-1;G=O+1|0;if(!P?(L=((G>>>0)%3|0|0)==0?O+-2|0:G,(L|0)!=-1):0)pa=f[(f[M>>2]|0)+(L<<2)>>2]|0;else pa=-1;L=f[M+24>>2]|0;G=f[L+(pa<<2)>>2]|0;N=G+1|0;if((G|0)==-1)qa=-1;else qa=((N>>>0)%3|0|0)==0?G+-2|0:N;N=D*3|0;G=N+1|0;W=f[M+12>>2]|0;f[W+(O<<2)>>2]=G;f[W+(G<<2)>>2]=O;Q=N+2|0;f[W+(qa<<2)>>2]=Q;f[W+(Q<<2)>>2]=qa;W=f[M>>2]|0;f[W+(N<<2)>>2]=pa;M=qa+1|0;if((qa|0)!=-1?(ra=((M>>>0)%3|0|0)==0?qa+-2|0:M,(ra|0)!=-1):0)sa=f[W+(ra<<2)>>2]|0;else sa=-1;f[W+(G<<2)>>2]=sa;if(!P?(P=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(P|0)!=-1):0){O=f[W+(P<<2)>>2]|0;f[W+(Q<<2)>>2]=O;if((O|0)!=-1)f[L+(O<<2)>>2]=Q}else f[W+(Q<<2)>>2]=-1;Q=(f[r>>2]|0)+(pa>>>5<<2)|0;f[Q>>2]=f[Q>>2]&~(1<<(pa&31));f[H>>2]=N;f[l>>2]=f[K+-4>>2];f[e>>2]=f[l>>2];Uc(t,e)}while(0);if((E|0)<(c|0))D=E;else{ta=E;ua=v;J=123;break a}}I=-1;J=181}else{ta=0;ua=a+8|0;J=123}while(0);g:do if((J|0)==123){c=f[ua>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){l=f[o>>2]|0;do if((l|0)!=(f[g>>2]|0)){pa=a+270|0;sa=a+364|0;qa=a+360|0;oa=a+352|0;U=a+356|0;na=a+60|0;ma=a+64|0;la=a+68|0;ja=a+76|0;ka=a+80|0;ia=a+72|0;ha=a+312|0;Y=ta;q=l;h:while(1){ca=q;f[e>>2]=f[ca+-4>>2];f[o>>2]=ca+-4;if((j[pa>>1]|0)<514)if(b[sa>>0]|0){ca=f[qa>>2]|0;ga=(f[oa>>2]|0)+(ca>>>3)|0;if(ga>>>0<(f[U>>2]|0)>>>0){ea=(h[ga>>0]|0)>>>(ca&7)&1;f[qa>>2]=ca+1;va=ea;J=131}else J=154}else J=132;else{va=(Qi(ha)|0)&1;J=131}if((J|0)==131){J=0;if(!va)J=154;else J=132}do if((J|0)==132){J=0;ea=f[ua>>2]|0;ca=f[ea>>2]|0;ga=ca;if((Y|0)>=(((f[ea+4>>2]|0)-ca>>2>>>0)/3|0|0)){J=162;break h}ca=f[e>>2]|0;fa=ca+1|0;if((ca|0)!=-1?(da=((fa>>>0)%3|0|0)==0?ca+-2|0:fa,(da|0)!=-1):0)wa=f[ga+(da<<2)>>2]|0;else wa=-1;da=f[ea+24>>2]|0;fa=f[da+(wa<<2)>>2]|0;ba=fa+1|0;if((fa|0)!=-1?(aa=((ba>>>0)%3|0|0)==0?fa+-2|0:ba,ba=aa+1|0,(aa|0)!=-1):0){fa=((ba>>>0)%3|0|0)==0?aa+-2|0:ba;if((fa|0)==-1){xa=-1;ya=aa}else{xa=f[ga+(fa<<2)>>2]|0;ya=aa}}else{xa=-1;ya=-1}aa=f[da+(xa<<2)>>2]|0;da=aa+1|0;if((aa|0)!=-1?(fa=((da>>>0)%3|0|0)==0?aa+-2|0:da,da=fa+1|0,(fa|0)!=-1):0){aa=((da>>>0)%3|0|0)==0?fa+-2|0:da;if((aa|0)==-1){za=-1;Aa=fa}else{za=f[ga+(aa<<2)>>2]|0;Aa=fa}}else{za=-1;Aa=-1}fa=Y*3|0;f[m>>2]=fa;aa=f[ea+12>>2]|0;f[aa+(fa<<2)>>2]=ca;f[aa+(ca<<2)>>2]=fa;fa=(f[m>>2]|0)+1|0;f[aa+(fa<<2)>>2]=ya;f[aa+(ya<<2)>>2]=fa;fa=(f[m>>2]|0)+2|0;f[aa+(fa<<2)>>2]=Aa;f[aa+(Aa<<2)>>2]=fa;fa=f[m>>2]|0;aa=ga+(fa<<2)|0;f[aa>>2]=xa;f[ga+(fa+1<<2)>>2]=za;f[ga+(fa+2<<2)>>2]=wa;if((fa|0)==-1)Ba=-1;else Ba=f[aa>>2]|0;aa=f[r>>2]|0;fa=aa+(Ba>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<(Ba&31));fa=(f[m>>2]|0)+1|0;if((fa|0)==-1)Ca=-1;else Ca=f[ga+(fa<<2)>>2]|0;fa=aa+(Ca>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<(Ca&31));fa=(f[m>>2]|0)+2|0;if((fa|0)==-1)Da=-1;else Da=f[ga+(fa<<2)>>2]|0;fa=aa+(Da>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<(Da&31));fa=Y+1|0;aa=f[ma>>2]|0;ga=f[la>>2]|0;if((aa|0)==(ga<<5|0)){if((aa+1|0)<0){J=146;break h}ca=ga<<6;ga=aa+32&-32;Mg(na,aa>>>0<1073741823?(ca>>>0>>0?ga:ca):2147483647);Ea=f[ma>>2]|0}else Ea=aa;f[ma>>2]=Ea+1;aa=(f[na>>2]|0)+(Ea>>>5<<2)|0;f[aa>>2]=f[aa>>2]|1<<(Ea&31);aa=f[ja>>2]|0;if((aa|0)==(f[ka>>2]|0))hh(ia,m);else{f[aa>>2]=f[m>>2];f[ja>>2]=aa+4}Fa=fa}else if((J|0)==154){J=0;fa=f[ma>>2]|0;aa=f[la>>2]|0;if((fa|0)==(aa<<5|0)){if((fa+1|0)<0){J=156;break h}ca=aa<<6;aa=fa+32&-32;Mg(na,fa>>>0<1073741823?(ca>>>0>>0?aa:ca):2147483647);Ga=f[ma>>2]|0}else Ga=fa;f[ma>>2]=Ga+1;fa=(f[na>>2]|0)+(Ga>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<(Ga&31));fa=f[ja>>2]|0;if((fa|0)==(f[ka>>2]|0)){hh(ia,e);Fa=Y;break}else{f[fa>>2]=f[e>>2];f[ja>>2]=fa+4;Fa=Y;break}}while(0);q=f[o>>2]|0;if((q|0)==(f[g>>2]|0)){J=163;break}else Y=Fa}if((J|0)==146)Do(na);else if((J|0)==156)Do(na);else if((J|0)==162){I=-1;J=181;break g}else if((J|0)==163){Ha=Fa;Ia=f[ua>>2]|0;break}}else{Ha=ta;Ia=c}while(0);if((Ha|0)==(((f[Ia+4>>2]|0)-(f[Ia>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ia+28>>2]|0)-(f[Ia+24>>2]|0)>>2;l=f[k>>2]|0;Y=f[p>>2]|0;if((l|0)==(Y|0)){Ja=c;Ka=l}else{q=e+4|0;ja=e+8|0;ia=e+12|0;ka=c;c=l;l=Ia;while(1){ma=f[c>>2]|0;la=ka+-1|0;ha=f[l+24>>2]|0;if((f[ha+(la<<2)>>2]|0)==-1){qa=ka;while(1){U=qa+-1|0;oa=qa+-2|0;if((f[ha+(oa<<2)>>2]|0)==-1)qa=U;else{La=U;Ma=oa;break}}}else{La=ka;Ma=la}if(Ma>>>0>>0){Na=La;Oa=l}else{f[e>>2]=l;qa=f[ha+(Ma<<2)>>2]|0;f[q>>2]=qa;f[ja>>2]=qa;b[ia>>0]=1;if((qa|0)==-1){Pa=ha;Qa=l}else{na=l;oa=qa;do{f[(f[na>>2]|0)+(oa<<2)>>2]=ma;ig(e);oa=f[ja>>2]|0;na=f[ua>>2]|0}while((oa|0)!=-1);Pa=f[na+24>>2]|0;Qa=na}if((ma|0)==-1)Ra=Pa+(Ma<<2)|0;else{oa=Pa+(Ma<<2)|0;f[Pa+(ma<<2)>>2]=f[oa>>2];Ra=oa}f[Ra>>2]=-1;oa=f[r>>2]|0;ha=oa+(Ma>>>5<<2)|0;la=1<<(Ma&31);qa=oa+(ma>>>5<<2)|0;oa=1<<(ma&31);if(!(f[ha>>2]&la))Sa=f[qa>>2]&~oa;else Sa=f[qa>>2]|oa;f[qa>>2]=Sa;f[ha>>2]=f[ha>>2]&~la;Na=La+-1|0;Oa=Qa}c=c+4|0;if((c|0)==(Y|0)){I=Na;J=181;break}else{ka=Na;l=Oa}}}}else{I=-1;J=181}}else{I=-1;J=181}}while(0);if((J|0)==181){Ja=I;Ka=f[k>>2]|0}if(Ka|0){k=f[p>>2]|0;if((k|0)!=(Ka|0))f[p>>2]=k+(~((k+-4-Ka|0)>>>2)<<2);lp(Ka)}Ka=f[i+8>>2]|0;if(Ka|0){k=Ka;do{Ka=k;k=f[k>>2]|0;lp(Ka)}while((k|0)!=0)}k=f[i>>2]|0;f[i>>2]=0;if(k|0)lp(k);k=f[g>>2]|0;if(!k){u=d;return Ja|0}g=f[o>>2]|0;if((g|0)!=(k|0))f[o>>2]=g+(~((g+-4-k|0)>>>2)<<2);lp(k);u=d;return Ja|0}function bb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;k=d+8|0;l=d;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;o=i+4|0;f[o>>2]=0;f[i+8>>2]=0;p=(f[a+216>>2]|0)==(f[a+220>>2]|0);q=a+120|0;r=f[a+124>>2]|0;a:do if((c|0)>0){s=a+308|0;t=g+4|0;v=a+8|0;w=i+8|0;x=e+8|0;y=a+304|0;z=a+296|0;A=a+300|0;B=a+36|0;C=a+40|0;D=c+-1|0;E=0;b:while(1){F=E+1|0;c:do if(!(b[s>>0]|0))G=43;else{H=f[y>>2]|0;I=f[z>>2]|0;J=f[A>>2]|0;K=I+(H>>>3)|0;if(K>>>0>>0?(L=h[K>>0]|0,K=H+1|0,f[y>>2]=K,1<<(H&7)&L|0):0){L=I+(K>>>3)|0;if(L>>>0>>0){M=(h[L>>0]|0)>>>(K&7)&1;L=H+2|0;f[y>>2]=L;N=M;O=L}else{N=0;O=K}K=I+(O>>>3)|0;if(K>>>0>>0){J=(h[K>>0]|0)>>>(O&7);f[y>>2]=O+1;P=J<<1&2}else P=0;J=(P|N)<<1|1;K=(J|0)==5;switch(J&7){case 1:{G=43;break c;break}case 3:case 5:{J=f[m>>2]|0;if((f[e>>2]|0)==(J|0)){Q=-1;G=188;break a}I=f[J+-4>>2]|0;J=E*3|0;L=K?J:J+2|0;M=J+(K&1)|0;H=(K?2:1)+J|0;K=f[v>>2]|0;R=f[K+12>>2]|0;f[R+(H<<2)>>2]=I;f[R+(I<<2)>>2]=H;R=K+24|0;S=K+28|0;T=f[S>>2]|0;if((T|0)==(f[K+32>>2]|0)){hh(R,3112);U=f[S>>2]|0}else{f[T>>2]=-1;K=T+4|0;f[S>>2]=K;U=K}K=U-(f[R>>2]|0)>>2;R=K+-1|0;S=f[v>>2]|0;T=f[S+24>>2]|0;V=T;if(((f[S+28>>2]|0)-T>>2|0)>(r|0)){Q=-1;G=188;break a}T=f[S>>2]|0;f[T+(H<<2)>>2]=R;if(K|0)f[V+(R<<2)>>2]=H;if((I|0)!=-1){H=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((H|0)!=-1){R=f[T+(H<<2)>>2]|0;f[T+(L<<2)>>2]=R;if((R|0)!=-1)f[V+(R<<2)>>2]=L}else f[T+(L<<2)>>2]=-1;R=I+1|0;V=((R>>>0)%3|0|0)==0?I+-2|0:R;if((V|0)==-1)W=-1;else W=f[T+(V<<2)>>2]|0}else{f[T+(L<<2)>>2]=-1;W=-1}f[T+(M<<2)>>2]=W;f[(f[m>>2]|0)+-4>>2]=J;break}case 7:{f[k>>2]=E*3;J=f[v>>2]|0;M=J+24|0;T=J+28|0;L=f[T>>2]|0;if((L|0)==(f[J+32>>2]|0)){hh(M,3112);X=f[T>>2]|0}else{f[L>>2]=-1;J=L+4|0;f[T>>2]=J;X=J}J=X-(f[M>>2]|0)>>2;M=J+-1|0;T=f[v>>2]|0;L=f[k>>2]|0;V=f[T>>2]|0;f[V+(L<<2)>>2]=M;R=T+24|0;I=T+28|0;H=f[I>>2]|0;if((H|0)==(f[T+32>>2]|0)){hh(R,3112);Y=f[I>>2]|0;Z=f[T>>2]|0}else{f[H>>2]=-1;T=H+4|0;f[I>>2]=T;Y=T;Z=V}f[Z+(L+1<<2)>>2]=(Y-(f[R>>2]|0)>>2)+-1;R=f[v>>2]|0;L=(f[k>>2]|0)+2|0;V=R+24|0;T=R+28|0;I=f[T>>2]|0;if((I|0)==(f[R+32>>2]|0)){hh(V,3112);_=f[T>>2]|0}else{f[I>>2]=-1;H=I+4|0;f[T>>2]=H;_=H}f[(f[R>>2]|0)+(L<<2)>>2]=(_-(f[V>>2]|0)>>2)+-1;V=f[v>>2]|0;L=f[V+24>>2]|0;R=L;if(((f[V+28>>2]|0)-L>>2|0)>(r|0)){G=114;break b}L=f[k>>2]|0;if(J){f[R+(M<<2)>>2]=L;if((J|0)!=-1){f[R+(J<<2)>>2]=(f[k>>2]|0)+1;M=J+1|0;if((M|0)!=-1){aa=M;G=109}}else{aa=0;G=109}}else{f[R+(J<<2)>>2]=L+1;aa=1;G=109}if((G|0)==109){G=0;f[R+(aa<<2)>>2]=(f[k>>2]|0)+2}R=f[m>>2]|0;if((R|0)==(f[x>>2]|0))hh(e,k);else{f[R>>2]=f[k>>2];f[m>>2]=R+4}break}default:{G=187;break b}}R=c-E+-1|0;L=f[C>>2]|0;if((L|0)==(f[B>>2]|0))break;else ba=L;while(1){L=ba;J=f[L+-8>>2]|0;if(J>>>0>R>>>0){Q=-1;G=188;break a}if((J|0)!=(R|0))break c;J=b[L+-4>>0]|0;M=f[L+-12>>2]|0;f[C>>2]=L+-12;if((M|0)<0){Q=-1;G=188;break a}L=f[(f[m>>2]|0)+-4>>2]|0;V=(L|0)==-1;do if(!(J&1))if(!V)if(!((L>>>0)%3|0)){ca=L+2|0;break}else{ca=L+-1|0;break}else ca=-1;else{H=L+1|0;if(V)ca=-1;else ca=((H>>>0)%3|0|0)==0?L+-2|0:H}while(0);f[k>>2]=D-M;L=_c(g,k)|0;f[L>>2]=ca;ba=f[C>>2]|0;if((ba|0)==(f[B>>2]|0))break c}}R=f[m>>2]|0;if((f[e>>2]|0)==(R|0)){Q=-1;G=188;break a}L=R+-4|0;R=f[L>>2]|0;V=f[v>>2]|0;J=(R|0)==-1;H=R+1|0;if(!J?(T=((H>>>0)%3|0|0)==0?R+-2|0:H,(T|0)!=-1):0)da=f[(f[V>>2]|0)+(T<<2)>>2]|0;else da=-1;T=f[V+24>>2]|0;H=f[T+(da<<2)>>2]|0;I=H+1|0;if((H|0)==-1)ea=-1;else ea=((I>>>0)%3|0|0)==0?H+-2|0:I;I=E*3|0;H=I+1|0;K=f[V+12>>2]|0;f[K+(R<<2)>>2]=H;f[K+(H<<2)>>2]=R;S=I+2|0;f[K+(ea<<2)>>2]=S;f[K+(S<<2)>>2]=ea;K=f[V>>2]|0;f[K+(I<<2)>>2]=da;V=ea+1|0;if((ea|0)!=-1?(fa=((V>>>0)%3|0|0)==0?ea+-2|0:V,(fa|0)!=-1):0)ga=f[K+(fa<<2)>>2]|0;else ga=-1;f[K+(H<<2)>>2]=ga;if(!J?(J=(((R>>>0)%3|0|0)==0?2:-1)+R|0,(J|0)!=-1):0){R=f[K+(J<<2)>>2]|0;f[K+(S<<2)>>2]=R;if((R|0)!=-1)f[T+(R<<2)>>2]=S}else f[K+(S<<2)>>2]=-1;S=(f[q>>2]|0)+(da>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(da&31));f[L>>2]=I}while(0);if((G|0)==43){G=0;I=f[e>>2]|0;L=f[m>>2]|0;if((I|0)==(L|0)){Q=-1;G=188;break a}S=L+-4|0;K=f[S>>2]|0;f[m>>2]=S;R=f[t>>2]|0;d:do if(R){T=R+-1|0;J=(T&R|0)==0;if(!J)if(E>>>0>>0)ha=E;else ha=(E>>>0)%(R>>>0)|0;else ha=T&E;H=f[(f[g>>2]|0)+(ha<<2)>>2]|0;if((H|0)!=0?(fa=f[H>>2]|0,(fa|0)!=0):0){e:do if(J){H=fa;while(1){V=f[H+4>>2]|0;ia=(V|0)==(E|0);if(!(ia|(V&T|0)==(ha|0))){ja=I;ka=S;break d}if(ia?(f[H+8>>2]|0)==(E|0):0){la=H;break e}H=f[H>>2]|0;if(!H){ja=I;ka=S;break d}}}else{H=fa;while(1){M=f[H+4>>2]|0;if((M|0)==(E|0)){if((f[H+8>>2]|0)==(E|0)){la=H;break e}}else{if(M>>>0>>0)ma=M;else ma=(M>>>0)%(R>>>0)|0;if((ma|0)!=(ha|0)){ja=I;ka=S;break d}}H=f[H>>2]|0;if(!H){ja=I;ka=S;break d}}}while(0);fa=la+12|0;if((S|0)==(f[x>>2]|0)){hh(e,fa);ja=f[e>>2]|0;ka=f[m>>2]|0;break}else{f[S>>2]=f[fa>>2];f[m>>2]=L;ja=I;ka=L;break}}else{ja=I;ka=S}}else{ja=I;ka=S}while(0);if((ja|0)==(ka|0)){Q=-1;G=188;break a}S=f[ka+-4>>2]|0;I=(S|0)==-1;if(!I?(f[(f[(f[v>>2]|0)+12>>2]|0)+(S<<2)>>2]|0)!=-1:0){Q=-1;G=188;break a}L=(K|0)==-1;R=f[v>>2]|0;fa=f[R+12>>2]|0;if(!L?(f[fa+(K<<2)>>2]|0)!=-1:0){Q=-1;G=188;break a}T=E*3|0;J=T+2|0;f[fa+(S<<2)>>2]=J;f[fa+(J<<2)>>2]=S;H=T+1|0;f[fa+(K<<2)>>2]=H;f[fa+(H<<2)>>2]=K;if(!I){I=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((I|0)==-1)na=-1;else na=f[(f[R>>2]|0)+(I<<2)>>2]|0;I=f[R>>2]|0;f[I+(T<<2)>>2]=na;M=S+1|0;ia=((M>>>0)%3|0|0)==0?S+-2|0:M;if((ia|0)==-1){oa=-1;pa=na;qa=I;ra=R}else{oa=f[I+(ia<<2)>>2]|0;pa=na;qa=I;ra=R}}else{I=f[R>>2]|0;f[I+(T<<2)>>2]=-1;oa=-1;pa=-1;qa=I;ra=R}f[qa+(H<<2)>>2]=oa;if(!L){L=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((L|0)!=-1){H=f[qa+(L<<2)>>2]|0;f[qa+(J<<2)>>2]=H;if((H|0)!=-1)f[(f[R+24>>2]|0)+(H<<2)>>2]=J}else f[qa+(J<<2)>>2]=-1;H=K+1|0;L=((H>>>0)%3|0|0)==0?K+-2|0:H;if((L|0)==-1){sa=-1;ta=-1}else{sa=f[qa+(L<<2)>>2]|0;ta=L}}else{f[qa+(J<<2)>>2]=-1;sa=-1;ta=-1}f[k>>2]=sa;J=f[R+24>>2]|0;if((pa|0)!=-1)f[J+(pa<<2)>>2]=f[J+(sa<<2)>>2];f:do if((ta|0)!=-1){R=f[ra>>2]|0;L=ta;do{f[R+(L<<2)>>2]=pa;H=L+1|0;I=((H>>>0)%3|0|0)==0?L+-2|0:H;if((I|0)==-1)break f;H=f[fa+(I<<2)>>2]|0;I=H+1|0;if((H|0)==-1)break f;L=((I>>>0)%3|0|0)==0?H+-2|0:I}while((L|0)!=-1)}while(0);f[J+(f[k>>2]<<2)>>2]=-1;do if(p){fa=f[o>>2]|0;if((fa|0)==(f[w>>2]|0)){hh(i,k);ua=f[m>>2]|0;break}else{f[fa>>2]=f[k>>2];f[o>>2]=fa+4;ua=ka;break}}else ua=ka;while(0);f[ua+-4>>2]=T}if((F|0)<(c|0))E=F;else{va=F;wa=v;G=129;break a}}if((G|0)==114){Q=-1;G=188;break}}else{va=0;wa=a+8|0;G=129}while(0);g:do if((G|0)==129){c=f[wa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(r|0)){ua=f[m>>2]|0;do if((ua|0)!=(f[e>>2]|0)){ka=a+270|0;p=a+364|0;pa=a+360|0;ta=a+352|0;ra=a+356|0;sa=a+60|0;qa=a+64|0;oa=a+68|0;na=a+76|0;ja=a+80|0;la=a+72|0;ha=a+312|0;ma=va;da=ua;h:while(1){ga=da;f[k>>2]=f[ga+-4>>2];f[m>>2]=ga+-4;if((j[ka>>1]|0)<514)if(b[p>>0]|0){ga=f[pa>>2]|0;ea=(f[ta>>2]|0)+(ga>>>3)|0;if(ea>>>0<(f[ra>>2]|0)>>>0){ba=(h[ea>>0]|0)>>>(ga&7)&1;f[pa>>2]=ga+1;xa=ba;G=137}else G=160}else G=138;else{xa=(Qi(ha)|0)&1;G=137}if((G|0)==137){G=0;if(!xa)G=160;else G=138}do if((G|0)==138){G=0;ba=f[wa>>2]|0;ga=f[ba>>2]|0;ea=ga;if((ma|0)>=(((f[ba+4>>2]|0)-ga>>2>>>0)/3|0|0)){G=168;break h}ga=f[k>>2]|0;ca=ga+1|0;if((ga|0)!=-1?(aa=((ca>>>0)%3|0|0)==0?ga+-2|0:ca,(aa|0)!=-1):0)ya=f[ea+(aa<<2)>>2]|0;else ya=-1;aa=f[ba+24>>2]|0;ca=f[aa+(ya<<2)>>2]|0;_=ca+1|0;if((ca|0)!=-1?(Y=((_>>>0)%3|0|0)==0?ca+-2|0:_,_=Y+1|0,(Y|0)!=-1):0){ca=((_>>>0)%3|0|0)==0?Y+-2|0:_;if((ca|0)==-1){za=-1;Aa=Y}else{za=f[ea+(ca<<2)>>2]|0;Aa=Y}}else{za=-1;Aa=-1}Y=f[aa+(za<<2)>>2]|0;aa=Y+1|0;if((Y|0)!=-1?(ca=((aa>>>0)%3|0|0)==0?Y+-2|0:aa,aa=ca+1|0,(ca|0)!=-1):0){Y=((aa>>>0)%3|0|0)==0?ca+-2|0:aa;if((Y|0)==-1){Ba=-1;Ca=ca}else{Ba=f[ea+(Y<<2)>>2]|0;Ca=ca}}else{Ba=-1;Ca=-1}ca=ma*3|0;f[l>>2]=ca;Y=f[ba+12>>2]|0;f[Y+(ca<<2)>>2]=ga;f[Y+(ga<<2)>>2]=ca;ca=(f[l>>2]|0)+1|0;f[Y+(ca<<2)>>2]=Aa;f[Y+(Aa<<2)>>2]=ca;ca=(f[l>>2]|0)+2|0;f[Y+(ca<<2)>>2]=Ca;f[Y+(Ca<<2)>>2]=ca;ca=f[l>>2]|0;Y=ea+(ca<<2)|0;f[Y>>2]=za;f[ea+(ca+1<<2)>>2]=Ba;f[ea+(ca+2<<2)>>2]=ya;if((ca|0)==-1)Da=-1;else Da=f[Y>>2]|0;Y=f[q>>2]|0;ca=Y+(Da>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Da&31));ca=(f[l>>2]|0)+1|0;if((ca|0)==-1)Ea=-1;else Ea=f[ea+(ca<<2)>>2]|0;ca=Y+(Ea>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Ea&31));ca=(f[l>>2]|0)+2|0;if((ca|0)==-1)Fa=-1;else Fa=f[ea+(ca<<2)>>2]|0;ca=Y+(Fa>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Fa&31));ca=ma+1|0;Y=f[qa>>2]|0;ea=f[oa>>2]|0;if((Y|0)==(ea<<5|0)){if((Y+1|0)<0){G=152;break h}ga=ea<<6;ea=Y+32&-32;Mg(sa,Y>>>0<1073741823?(ga>>>0>>0?ea:ga):2147483647);Ga=f[qa>>2]|0}else Ga=Y;f[qa>>2]=Ga+1;Y=(f[sa>>2]|0)+(Ga>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(Ga&31);Y=f[na>>2]|0;if((Y|0)==(f[ja>>2]|0))hh(la,l);else{f[Y>>2]=f[l>>2];f[na>>2]=Y+4}Ha=ca}else if((G|0)==160){G=0;ca=f[qa>>2]|0;Y=f[oa>>2]|0;if((ca|0)==(Y<<5|0)){if((ca+1|0)<0){G=162;break h}ga=Y<<6;Y=ca+32&-32;Mg(sa,ca>>>0<1073741823?(ga>>>0>>0?Y:ga):2147483647);Ia=f[qa>>2]|0}else Ia=ca;f[qa>>2]=Ia+1;ca=(f[sa>>2]|0)+(Ia>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Ia&31));ca=f[na>>2]|0;if((ca|0)==(f[ja>>2]|0)){hh(la,k);Ha=ma;break}else{f[ca>>2]=f[k>>2];f[na>>2]=ca+4;Ha=ma;break}}while(0);da=f[m>>2]|0;if((da|0)==(f[e>>2]|0)){G=169;break}else ma=Ha}if((G|0)==152)Do(sa);else if((G|0)==162)Do(sa);else if((G|0)==168){Q=-1;G=188;break g}else if((G|0)==169){Ja=Ha;Ka=f[wa>>2]|0;break}}else{Ja=va;Ka=c}while(0);if((Ja|0)==(((f[Ka+4>>2]|0)-(f[Ka>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ka+28>>2]|0)-(f[Ka+24>>2]|0)>>2;ua=f[i>>2]|0;ma=f[o>>2]|0;if((ua|0)==(ma|0)){La=c;Ma=ua}else{da=k+4|0;na=k+8|0;la=k+12|0;ja=c;c=ua;ua=Ka;while(1){qa=f[c>>2]|0;oa=ja+-1|0;ha=f[ua+24>>2]|0;if((f[ha+(oa<<2)>>2]|0)==-1){pa=ja;while(1){ra=pa+-1|0;ta=pa+-2|0;if((f[ha+(ta<<2)>>2]|0)==-1)pa=ra;else{Na=ra;Oa=ta;break}}}else{Na=ja;Oa=oa}if(Oa>>>0>>0){Pa=Na;Qa=ua}else{f[k>>2]=ua;pa=f[ha+(Oa<<2)>>2]|0;f[da>>2]=pa;f[na>>2]=pa;b[la>>0]=1;if((pa|0)==-1){Ra=ha;Sa=ua}else{sa=ua;ta=pa;do{f[(f[sa>>2]|0)+(ta<<2)>>2]=qa;ig(k);ta=f[na>>2]|0;sa=f[wa>>2]|0}while((ta|0)!=-1);Ra=f[sa+24>>2]|0;Sa=sa}if((qa|0)==-1)Ta=Ra+(Oa<<2)|0;else{ta=Ra+(Oa<<2)|0;f[Ra+(qa<<2)>>2]=f[ta>>2];Ta=ta}f[Ta>>2]=-1;ta=f[q>>2]|0;ha=ta+(Oa>>>5<<2)|0;oa=1<<(Oa&31);pa=ta+(qa>>>5<<2)|0;ta=1<<(qa&31);if(!(f[ha>>2]&oa))Ua=f[pa>>2]&~ta;else Ua=f[pa>>2]|ta;f[pa>>2]=Ua;f[ha>>2]=f[ha>>2]&~oa;Pa=Na+-1|0;Qa=Sa}c=c+4|0;if((c|0)==(ma|0)){Q=Pa;G=188;break}else{ja=Pa;ua=Qa}}}}else{Q=-1;G=188}}else{Q=-1;G=188}}while(0);if((G|0)==188){La=Q;Ma=f[i>>2]|0}if(Ma|0){i=f[o>>2]|0;if((i|0)!=(Ma|0))f[o>>2]=i+(~((i+-4-Ma|0)>>>2)<<2);lp(Ma)}Ma=f[g+8>>2]|0;if(Ma|0){i=Ma;do{Ma=i;i=f[i>>2]|0;lp(Ma)}while((i|0)!=0)}i=f[g>>2]|0;f[g>>2]=0;if(i|0)lp(i);i=f[e>>2]|0;if(!i){u=d;return La|0}e=f[m>>2]|0;if((e|0)!=(i|0))f[m>>2]=e+(~((e+-4-i|0)>>>2)<<2);lp(i);u=d;return La|0}function cb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Kj(4440,4632,e,c)|0)-4440>>2;k=h;a:while(1){l=(f[4440+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[4248+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Kj(4248,4440,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,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,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else dg(h,b-l|0,3564);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)Do(d);k=((b+-1|0)>>>5)+1|0;m=Yk(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Gh(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)Do(e);v=((o+-1|0)>>>5)+1|0;w=Yk(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Gh(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))hh(h,3564);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))hh(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;Mg(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)Do(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)lp(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}lp(_b);u=c;return 1}function eb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Rh(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Rh(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Rh(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Rh(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Rh(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;$j(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Yg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}dh(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;sg(T,t);if(!(sh(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Of(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Sb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Rh(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if((E|0)<0|(E|0)==0&Q>>>0>>0)break;xk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Sb(a,m)|0;if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);D=Pa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=D;f[a+384>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+372>>2]=t;xk(m);c:do if(Vf(J,m)|0){D=$a(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(ac(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(ec(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Zj(a+272|0);if((j[a+270>>1]|0)<514)Zj(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=0;O=g;do{Yf(O+(E*144|0)+4|0,f[M>>2]|0)|0;g=f[T>>2]|0;H=f[g+(E*144|0)+132>>2]|0;Q=f[g+(E*144|0)+136>>2]|0;if((H|0)==(Q|0))_=g;else{N=H;H=g;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];Af(H+(E*144|0)+4|0,e);N=N+4|0;g=f[T>>2]|0;if((N|0)==(Q|0)){_=g;break}else H=g}}Hj(_+(E*144|0)+4|0,0,0);E=E+1|0;O=f[T>>2]|0}while(E>>>0<(((f[F>>2]|0)-O|0)/144|0)>>>0)}O=f[M>>2]|0;E=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=a+196|0;H=a+200|0;Q=f[H>>2]|0;N=f[O>>2]|0;g=Q-N>>2;S=N;N=Q;do if(E>>>0>g>>>0)Rg(O,E-g|0);else{if(E>>>0>=g>>>0)break;Q=S+(E<<2)|0;if((Q|0)==(N|0))break;f[H>>2]=N+(~((N+-4-Q|0)>>>2)<<2)}while(0);ri(a+184|0,E);N=f[T>>2]|0;if((f[F>>2]|0)!=(N|0)){H=0;S=N;do{N=S;g=(f[N+(H*144|0)+60>>2]|0)-(f[N+(H*144|0)+56>>2]|0)>>2;O=f[M>>2]|0;Q=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=(g|0)<(Q|0)?Q:g;g=N+(H*144|0)+116|0;Q=N+(H*144|0)+120|0;v=f[Q>>2]|0;w=f[g>>2]|0;B=v-w>>2;A=w;w=v;do if(O>>>0>B>>>0)Rg(g,O-B|0);else{if(O>>>0>=B>>>0)break;v=A+(O<<2)|0;if((v|0)==(w|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);ri(N+(H*144|0)+104|0,O);H=H+1|0;S=f[T>>2]|0}while(H>>>0<(((f[F>>2]|0)-S|0)/144|0)>>>0)}Z=Ab(a,D)|0}else Z=0;while(0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function fb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Rh(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Rh(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Rh(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Rh(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Rh(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;$j(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Yg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}dh(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;sg(T,t);if(!(sh(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Of(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Sb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Rh(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if((E|0)<0|(E|0)==0&Q>>>0>>0)break;xk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Sb(a,m)|0;if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);D=Pa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=D;f[a+384>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+372>>2]=t;xk(m);c:do if(Zb(J,m)|0){D=ab(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(ac(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(ec(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Zj(a+272|0);if((j[a+270>>1]|0)<514)Zj(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=0;O=g;do{Yf(O+(E*144|0)+4|0,f[M>>2]|0)|0;g=f[T>>2]|0;H=f[g+(E*144|0)+132>>2]|0;Q=f[g+(E*144|0)+136>>2]|0;if((H|0)==(Q|0))_=g;else{N=H;H=g;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];Af(H+(E*144|0)+4|0,e);N=N+4|0;g=f[T>>2]|0;if((N|0)==(Q|0)){_=g;break}else H=g}}Hj(_+(E*144|0)+4|0,0,0);E=E+1|0;O=f[T>>2]|0}while(E>>>0<(((f[F>>2]|0)-O|0)/144|0)>>>0)}O=f[M>>2]|0;E=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=a+196|0;H=a+200|0;Q=f[H>>2]|0;N=f[O>>2]|0;g=Q-N>>2;S=N;N=Q;do if(E>>>0>g>>>0)Rg(O,E-g|0);else{if(E>>>0>=g>>>0)break;Q=S+(E<<2)|0;if((Q|0)==(N|0))break;f[H>>2]=N+(~((N+-4-Q|0)>>>2)<<2)}while(0);ri(a+184|0,E);N=f[T>>2]|0;if((f[F>>2]|0)!=(N|0)){H=0;S=N;do{N=S;g=(f[N+(H*144|0)+60>>2]|0)-(f[N+(H*144|0)+56>>2]|0)>>2;O=f[M>>2]|0;Q=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=(g|0)<(Q|0)?Q:g;g=N+(H*144|0)+116|0;Q=N+(H*144|0)+120|0;v=f[Q>>2]|0;w=f[g>>2]|0;B=v-w>>2;A=w;w=v;do if(O>>>0>B>>>0)Rg(g,O-B|0);else{if(O>>>0>=B>>>0)break;v=A+(O<<2)|0;if((v|0)==(w|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);ri(N+(H*144|0)+104|0,O);H=H+1|0;S=f[T>>2]|0}while(H>>>0<(((f[F>>2]|0)-S|0)/144|0)>>>0)}Z=Ab(a,D)|0}else Z=0;while(0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function gb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Rh(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Rh(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Rh(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Rh(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Rh(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;$j(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Yg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}dh(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;sg(T,t);if(!(sh(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Of(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Sb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Rh(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if((E|0)<0|(E|0)==0&Q>>>0>>0)break;xk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Sb(a,m)|0;if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);f[a+372>>2]=t;xk(m);c:do if(Md(J,m)|0){D=bb(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(ac(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(ec(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Zj(a+272|0);if((j[a+270>>1]|0)<514)Zj(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=0;O=g;do{Yf(O+(E*144|0)+4|0,f[M>>2]|0)|0;g=f[T>>2]|0;H=f[g+(E*144|0)+132>>2]|0;Q=f[g+(E*144|0)+136>>2]|0;if((H|0)==(Q|0))_=g;else{N=H;H=g;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];Af(H+(E*144|0)+4|0,e);N=N+4|0;g=f[T>>2]|0;if((N|0)==(Q|0)){_=g;break}else H=g}}Hj(_+(E*144|0)+4|0,0,0);E=E+1|0;O=f[T>>2]|0}while(E>>>0<(((f[F>>2]|0)-O|0)/144|0)>>>0)}O=f[M>>2]|0;E=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=a+196|0;H=a+200|0;Q=f[H>>2]|0;N=f[O>>2]|0;g=Q-N>>2;S=N;N=Q;do if(E>>>0>g>>>0)Rg(O,E-g|0);else{if(E>>>0>=g>>>0)break;Q=S+(E<<2)|0;if((Q|0)==(N|0))break;f[H>>2]=N+(~((N+-4-Q|0)>>>2)<<2)}while(0);ri(a+184|0,E);N=f[T>>2]|0;if((f[F>>2]|0)!=(N|0)){H=0;S=N;do{N=S;g=(f[N+(H*144|0)+60>>2]|0)-(f[N+(H*144|0)+56>>2]|0)>>2;O=f[M>>2]|0;Q=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=(g|0)<(Q|0)?Q:g;g=N+(H*144|0)+116|0;Q=N+(H*144|0)+120|0;v=f[Q>>2]|0;w=f[g>>2]|0;B=v-w>>2;A=w;w=v;do if(O>>>0>B>>>0)Rg(g,O-B|0);else{if(O>>>0>=B>>>0)break;v=A+(O<<2)|0;if((v|0)==(w|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);ri(N+(H*144|0)+104|0,O);H=H+1|0;S=f[T>>2]|0}while(H>>>0<(((f[F>>2]|0)-S|0)/144|0)>>>0)}Z=Ab(a,D)|0}else Z=0;while(0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+132|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+96|0;k=a+52|0;i=a+48|0;n=a+40|0;o=a+4|0;C=a+32|0;D=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=A;while(1){J=f[s>>2]|0;K=I+-1|0;L=J+K|0;M=f[z>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[y>>2]=K;K=f[x>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;J=(f[t>>2]|0)+(Q*12|0)|0;if(L>>>0>c>>>0){B=0;break a}M=pl(a,L,J,P)|0;if(M>>>0>=(f[h>>2]|0)>>>0){B=0;break a}P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;while(1){S=f[p>>2]|0;c:do if((f[r>>2]|0)!=(S|0)){T=0;U=S;do{V=U;W=f[V+(T*20|0)>>2]|0;X=V+(T*20|0)+12|0;Y=V+(T*20|0)+16|0;Z=(f[O>>2]|0)+(f[V+(T*20|0)+4>>2]<<2)|0;V=f[X>>2]|0;do if((V|0)==4)$=Z;else{aa=f[m>>2]|0;if(!(f[Y>>2]|0)){$=aa;break}else{ba=aa;ca=0;da=V}while(1){Jf(ba|0,Z+(ca<<2)|0,da|0)|0;ca=ca+1|0;aa=f[X>>2]|0;if(ca>>>0>=(f[Y>>2]|0)>>>0)break;else{ba=ba+aa|0;da=aa}}$=f[m>>2]|0}while(0);Y=f[v>>2]|0;if(!(b[W+84>>0]|0))ea=f[(f[W+68>>2]|0)+(Y<<2)>>2]|0;else ea=Y;if(ea>>>0>=(f[W+80>>2]|0)>>>0)break c;Y=W+40|0;X=f[Y>>2]|0;Z=bl(X|0,f[Y+4>>2]|0,ea|0,0)|0;Jf((f[f[W+64>>2]>>2]|0)+Z|0,$|0,X|0)|0;T=T+1|0;U=f[p>>2]|0}while(T>>>0<(((f[r>>2]|0)-U|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;N=N+1|0;if((N|0)==(L|0)){R=23;break}}}else if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){U=1;T=S;X=M;while(1){X=(X|0)==(T+-1|0)?0:X+1|0;f[N+(U<<2)>>2]=X;U=U+1|0;Z=f[h>>2]|0;if(U>>>0>=Z>>>0){fa=Z;break}else T=Z}}else fa=S;if(!L){R=23;break}T=0;U=fa;while(1){if(U|0){X=f[q>>2]|0;N=f[j>>2]|0;Z=f[J>>2]|0;Y=0;do{V=X+(Y<<2)|0;f[N+(f[V>>2]<<2)>>2]=0;aa=f[V>>2]|0;ga=(f[a>>2]|0)-(f[Z+(aa<<2)>>2]|0)|0;do if(ga|0){ha=N+(aa<<2)|0;ia=f[k>>2]|0;ja=32-ia|0;if((ga|0)>(ja|0)){ka=f[i>>2]|0;la=ka+4|0;if((la|0)==(f[n>>2]|0)){f[ha>>2]=0;break}else{ma=f[ka>>2]<>2]=ka;f[i>>2]=la;na=32-ka|0;f[ha>>2]=(f[la>>2]|0)>>>na|ma>>>(na-ja|0);break}}ja=f[i>>2]|0;if((ja|0)==(f[n>>2]|0)){f[ha>>2]=0;break}f[ha>>2]=f[ja>>2]<>>(32-ga|0);ia=(f[k>>2]|0)+ga|0;f[k>>2]=ia;if((ia|0)!=32)break;f[i>>2]=ja+4;f[k>>2]=0}while(0);ga=f[V>>2]|0;aa=N+(ga<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ga<<2)>>2];Y=Y+1|0}while(Y>>>0<(f[h>>2]|0)>>>0)}Y=f[p>>2]|0;d:do if((f[r>>2]|0)!=(Y|0)){N=0;Z=Y;do{X=Z;ga=f[X+(N*20|0)>>2]|0;aa=X+(N*20|0)+12|0;ja=X+(N*20|0)+16|0;ia=(f[j>>2]|0)+(f[X+(N*20|0)+4>>2]<<2)|0;X=f[aa>>2]|0;do if((X|0)==4)oa=ia;else{ha=f[m>>2]|0;if(!(f[ja>>2]|0)){oa=ha;break}else{pa=ha;qa=0;ra=X}while(1){Jf(pa|0,ia+(qa<<2)|0,ra|0)|0;qa=qa+1|0;ha=f[aa>>2]|0;if(qa>>>0>=(f[ja>>2]|0)>>>0)break;else{pa=pa+ha|0;ra=ha}}oa=f[m>>2]|0}while(0);ja=f[v>>2]|0;if(!(b[ga+84>>0]|0))sa=f[(f[ga+68>>2]|0)+(ja<<2)>>2]|0;else sa=ja;if(sa>>>0>=(f[ga+80>>2]|0)>>>0)break d;ja=ga+40|0;aa=f[ja>>2]|0;ia=bl(aa|0,f[ja+4>>2]|0,sa|0,0)|0;Jf((f[f[ga+64>>2]>>2]|0)+ia|0,oa|0,aa|0)|0;N=N+1|0;Z=f[p>>2]|0}while(N>>>0<(((f[r>>2]|0)-Z|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;Y=T+1|0;if((Y|0)==(L|0)){R=23;break b}T=Y;U=f[h>>2]|0}}else{if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}U=Q+1|0;T=f[l>>2]|0;S=T+(U*12|0)|0;if((S|0)==(O|0))ta=T;else{mf(S,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);ta=f[l>>2]|0}S=(f[ta+(U*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;Y=32-T|0;do if((S|0)>(Y|0)){Z=f[D>>2]|0;N=Z+4|0;if((N|0)==(f[E>>2]|0))ua=0;else{V=f[Z>>2]<>2]=Z;f[D>>2]=N;aa=32-Z|0;ua=(f[N>>2]|0)>>>aa|V>>>(aa-Y|0)}}else{aa=f[D>>2]|0;if((aa|0)==(f[E>>2]|0))ua=0;else{V=f[aa>>2]<>>(32-S|0);N=T+S|0;f[C>>2]=N;if((N|0)!=32){ua=V;break}f[D>>2]=aa+4;f[C>>2]=0;ua=V}}while(0);S=(L>>>1)-ua|0;T=L-S|0;e:do if((S|0)==(T|0)){va=S;wa=S}else{Y=f[F>>2]|0;V=f[H>>2]|0;do if((V|0)!=(f[G>>2]|0)){aa=(f[V>>2]&1<<31-Y|0)!=0;N=Y+1|0;f[F>>2]=N;if((N|0)==32){f[H>>2]=V+4;f[F>>2]=0;if(aa){va=S;wa=T;break e}else break}else if(aa){va=S;wa=T;break e}else break}while(0);va=T;wa=S}while(0);S=f[t>>2]|0;T=f[S+(Q*12|0)>>2]|0;V=T+(M<<2)|0;f[V>>2]=(f[V>>2]|0)+1;mf(S+(U*12|0)|0,T,f[S+(Q*12|0)+4>>2]|0);if(va|0){S=f[x>>2]|0;T=f[z>>2]|0;V=S-T>>2;Y=f[s>>2]|0;aa=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(aa+Y|0)){nc(g);xa=f[s>>2]|0;ya=f[y>>2]|0;za=f[x>>2]|0;Aa=f[z>>2]|0}else{xa=Y;ya=aa;za=S;Aa=T}T=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((T>>>0)/341|0)<<2)>>2]|0)+(((T>>>0)%341|0)*12|0)|0;f[Ba>>2]=va;f[Ba+4>>2]=M;f[Ba+8>>2]=Q;f[y>>2]=(f[y>>2]|0)+1}if(!wa){R=23;break}T=f[x>>2]|0;S=f[z>>2]|0;aa=T-S>>2;Y=f[s>>2]|0;V=f[y>>2]|0;if((((aa|0)==0?0:(aa*341|0)+-1|0)|0)==(V+Y|0)){nc(g);Ca=f[s>>2]|0;Da=f[y>>2]|0;Ea=f[x>>2]|0;Fa=f[z>>2]|0}else{Ca=Y;Da=V;Ea=T;Fa=S}S=Da+Ca|0;if((Ea|0)==(Fa|0))Ga=0;else Ga=(f[Fa+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[Ga>>2]=wa;f[Ga+4>>2]=M;f[Ga+8>>2]=U;S=(f[y>>2]|0)+1|0;f[y>>2]=S;Ha=S;break}while(0);if((R|0)==23){R=0;Ha=f[y>>2]|0}if(!Ha){B=1;break}else I=Ha}}while(0);Ha=f[z>>2]|0;Ga=f[s>>2]|0;wa=Ha+(((Ga>>>0)/341|0)<<2)|0;Fa=f[x>>2]|0;Ea=Fa;Ca=Ha;if((Fa|0)==(Ha|0)){Ia=0;Ja=0}else{Da=(f[y>>2]|0)+Ga|0;Ia=(f[Ha+(((Da>>>0)/341|0)<<2)>>2]|0)+(((Da>>>0)%341|0)*12|0)|0;Ja=(f[wa>>2]|0)+(((Ga>>>0)%341|0)*12|0)|0}Ga=wa;wa=Ja;f:while(1){Ja=wa;do{Da=Ja;if((Ia|0)==(Da|0))break f;Ja=Da+12|0}while((Ja-(f[Ga>>2]|0)|0)!=4092);Ja=Ga+4|0;Ga=Ja;wa=f[Ja>>2]|0}f[y>>2]=0;y=Ea-Ca>>2;if(y>>>0>2){Ca=Ha;do{lp(f[Ca>>2]|0);Ca=(f[z>>2]|0)+4|0;f[z>>2]=Ca;Ka=f[x>>2]|0;La=Ka-Ca>>2}while(La>>>0>2);Ma=La;Na=Ca;Oa=Ka}else{Ma=y;Na=Ha;Oa=Fa}switch(Ma|0){case 1:{Pa=170;R=109;break}case 2:{Pa=341;R=109;break}default:{}}if((R|0)==109)f[s>>2]=Pa;if((Na|0)!=(Oa|0)){Pa=Na;do{lp(f[Pa>>2]|0);Pa=Pa+4|0}while((Pa|0)!=(Oa|0));Oa=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Oa|0))f[x>>2]=z+(~((z+-4-Oa|0)>>>2)<<2)}Oa=f[g>>2]|0;if(!Oa){u=e;return B|0}lp(Oa);u=e;return B|0}function ib(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+132|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+96|0;k=a+52|0;i=a+48|0;n=a+40|0;o=a+4|0;C=a+32|0;D=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=A;while(1){J=f[s>>2]|0;K=I+-1|0;L=J+K|0;M=f[z>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[y>>2]=K;K=f[x>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;if(L>>>0>c>>>0){B=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(P|0)?0:P+1|0;if(M>>>0>=J>>>0){B=0;break a}J=(f[t>>2]|0)+(Q*12|0)|0;P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;while(1){S=f[p>>2]|0;c:do if((f[r>>2]|0)!=(S|0)){T=0;U=S;do{V=U;W=f[V+(T*20|0)>>2]|0;X=V+(T*20|0)+12|0;Y=V+(T*20|0)+16|0;Z=(f[O>>2]|0)+(f[V+(T*20|0)+4>>2]<<2)|0;V=f[X>>2]|0;do if((V|0)==4)$=Z;else{aa=f[m>>2]|0;if(!(f[Y>>2]|0)){$=aa;break}else{ba=aa;ca=0;da=V}while(1){Jf(ba|0,Z+(ca<<2)|0,da|0)|0;ca=ca+1|0;aa=f[X>>2]|0;if(ca>>>0>=(f[Y>>2]|0)>>>0)break;else{ba=ba+aa|0;da=aa}}$=f[m>>2]|0}while(0);Y=f[v>>2]|0;if(!(b[W+84>>0]|0))ea=f[(f[W+68>>2]|0)+(Y<<2)>>2]|0;else ea=Y;if(ea>>>0>=(f[W+80>>2]|0)>>>0)break c;Y=W+40|0;X=f[Y>>2]|0;Z=bl(X|0,f[Y+4>>2]|0,ea|0,0)|0;Jf((f[f[W+64>>2]>>2]|0)+Z|0,$|0,X|0)|0;T=T+1|0;U=f[p>>2]|0}while(T>>>0<(((f[r>>2]|0)-U|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;N=N+1|0;if((N|0)==(L|0)){R=23;break}}}else{if(L>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}N=Q+1|0;mf(K+(N*12|0)|0,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);S=(f[(f[l>>2]|0)+(N*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;T=32-U|0;if((S|0)>(T|0)){X=f[D>>2]|0;Z=X+4|0;if((Z|0)==(f[E>>2]|0))fa=0;else{Y=f[X>>2]<>2]=X;f[D>>2]=Z;V=32-X|0;fa=(f[Z>>2]|0)>>>V|Y>>>(V-T|0)}}else{T=f[D>>2]|0;if((T|0)!=(f[E>>2]|0)){V=f[T>>2]<>>(32-S|0);Y=U+S|0;f[C>>2]=Y;if((Y|0)==32){f[D>>2]=T+4;f[C>>2]=0;fa=V}else fa=V}else fa=0}V=(L>>>1)-fa|0;T=L-V|0;d:do if((V|0)==(T|0)){ga=V;ha=V}else{Y=f[F>>2]|0;S=f[H>>2]|0;do if((S|0)!=(f[G>>2]|0)){U=(f[S>>2]&1<<31-Y|0)!=0;Z=Y+1|0;f[F>>2]=Z;if((Z|0)==32){f[H>>2]=S+4;f[F>>2]=0;if(U){ga=V;ha=T;break d}else break}else if(U){ga=V;ha=T;break d}else break}while(0);ga=T;ha=V}while(0);V=f[t>>2]|0;T=f[V+(Q*12|0)>>2]|0;S=T+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;mf(V+(N*12|0)|0,T,f[V+(Q*12|0)+4>>2]|0);if(ga|0){V=f[x>>2]|0;T=f[z>>2]|0;S=V-T>>2;Y=f[s>>2]|0;U=f[y>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(U+Y|0)){nc(g);ia=f[s>>2]|0;ja=f[y>>2]|0;ka=f[x>>2]|0;la=f[z>>2]|0}else{ia=Y;ja=U;ka=V;la=T}T=ja+ia|0;if((ka|0)==(la|0))ma=0;else ma=(f[la+(((T>>>0)/341|0)<<2)>>2]|0)+(((T>>>0)%341|0)*12|0)|0;f[ma>>2]=ga;f[ma+4>>2]=M;f[ma+8>>2]=Q;f[y>>2]=(f[y>>2]|0)+1}if(!ha){R=23;break}T=f[x>>2]|0;V=f[z>>2]|0;U=T-V>>2;Y=f[s>>2]|0;S=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(S+Y|0)){nc(g);na=f[s>>2]|0;oa=f[y>>2]|0;pa=f[x>>2]|0;qa=f[z>>2]|0}else{na=Y;oa=S;pa=T;qa=V}V=oa+na|0;if((pa|0)==(qa|0))ra=0;else ra=(f[qa+(((V>>>0)/341|0)<<2)>>2]|0)+(((V>>>0)%341|0)*12|0)|0;f[ra>>2]=ha;f[ra+4>>2]=M;f[ra+8>>2]=N;V=(f[y>>2]|0)+1|0;f[y>>2]=V;sa=V;break}V=f[q>>2]|0;f[V>>2]=M;T=f[h>>2]|0;if(T>>>0>1){S=1;Y=T;U=M;while(1){U=(U|0)==(Y+-1|0)?0:U+1|0;f[V+(S<<2)>>2]=U;S=S+1|0;Z=f[h>>2]|0;if(S>>>0>=Z>>>0){ta=Z;break}else Y=Z}}else ta=T;if(!L)R=23;else{Y=0;S=ta;while(1){if(S|0){U=f[q>>2]|0;V=f[j>>2]|0;N=f[J>>2]|0;Z=0;do{X=U+(Z<<2)|0;f[V+(f[X>>2]<<2)>>2]=0;aa=f[X>>2]|0;ua=(f[a>>2]|0)-(f[N+(aa<<2)>>2]|0)|0;do if(ua|0){va=V+(aa<<2)|0;wa=f[k>>2]|0;xa=32-wa|0;if((ua|0)>(xa|0)){ya=f[i>>2]|0;za=ya+4|0;if((za|0)==(f[n>>2]|0)){f[va>>2]=0;break}else{Aa=f[ya>>2]<>2]=ya;f[i>>2]=za;Ba=32-ya|0;f[va>>2]=(f[za>>2]|0)>>>Ba|Aa>>>(Ba-xa|0);break}}xa=f[i>>2]|0;if((xa|0)==(f[n>>2]|0)){f[va>>2]=0;break}f[va>>2]=f[xa>>2]<>>(32-ua|0);wa=(f[k>>2]|0)+ua|0;f[k>>2]=wa;if((wa|0)!=32)break;f[i>>2]=xa+4;f[k>>2]=0}while(0);ua=f[X>>2]|0;aa=V+(ua<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ua<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0)}Z=f[p>>2]|0;e:do if((f[r>>2]|0)!=(Z|0)){V=0;N=Z;do{U=N;ua=f[U+(V*20|0)>>2]|0;aa=U+(V*20|0)+12|0;xa=U+(V*20|0)+16|0;wa=(f[j>>2]|0)+(f[U+(V*20|0)+4>>2]<<2)|0;U=f[aa>>2]|0;do if((U|0)==4)Ca=wa;else{va=f[m>>2]|0;if(!(f[xa>>2]|0)){Ca=va;break}else{Da=va;Ea=0;Fa=U}while(1){Jf(Da|0,wa+(Ea<<2)|0,Fa|0)|0;Ea=Ea+1|0;va=f[aa>>2]|0;if(Ea>>>0>=(f[xa>>2]|0)>>>0)break;else{Da=Da+va|0;Fa=va}}Ca=f[m>>2]|0}while(0);xa=f[v>>2]|0;if(!(b[ua+84>>0]|0))Ga=f[(f[ua+68>>2]|0)+(xa<<2)>>2]|0;else Ga=xa;if(Ga>>>0>=(f[ua+80>>2]|0)>>>0)break e;xa=ua+40|0;aa=f[xa>>2]|0;wa=bl(aa|0,f[xa+4>>2]|0,Ga|0,0)|0;Jf((f[f[ua+64>>2]>>2]|0)+wa|0,Ca|0,aa|0)|0;V=V+1|0;N=f[p>>2]|0}while(V>>>0<(((f[r>>2]|0)-N|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;Z=Y+1|0;if((Z|0)==(L|0)){R=23;break b}Y=Z;S=f[h>>2]|0}}}while(0);if((R|0)==23){R=0;sa=f[y>>2]|0}if(!sa){B=1;break}else I=sa}}while(0);sa=f[z>>2]|0;h=f[s>>2]|0;Ca=sa+(((h>>>0)/341|0)<<2)|0;Ga=f[x>>2]|0;Fa=Ga;Da=sa;if((Ga|0)==(sa|0)){Ha=0;Ia=0}else{Ea=(f[y>>2]|0)+h|0;Ha=(f[sa+(((Ea>>>0)/341|0)<<2)>>2]|0)+(((Ea>>>0)%341|0)*12|0)|0;Ia=(f[Ca>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Ca;Ca=Ia;f:while(1){Ia=Ca;do{Ea=Ia;if((Ha|0)==(Ea|0))break f;Ia=Ea+12|0}while((Ia-(f[h>>2]|0)|0)!=4092);Ia=h+4|0;h=Ia;Ca=f[Ia>>2]|0}f[y>>2]=0;y=Fa-Da>>2;if(y>>>0>2){Da=sa;do{lp(f[Da>>2]|0);Da=(f[z>>2]|0)+4|0;f[z>>2]=Da;Ja=f[x>>2]|0;Ka=Ja-Da>>2}while(Ka>>>0>2);La=Ka;Ma=Da;Na=Ja}else{La=y;Ma=sa;Na=Ga}switch(La|0){case 1:{Oa=170;R=107;break}case 2:{Oa=341;R=107;break}default:{}}if((R|0)==107)f[s>>2]=Oa;if((Ma|0)!=(Na|0)){Oa=Ma;do{lp(f[Oa>>2]|0);Oa=Oa+4|0}while((Oa|0)!=(Na|0));Na=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Na|0))f[x>>2]=z+(~((z+-4-Na|0)>>>2)<<2)}Na=f[g>>2]|0;if(!Na){u=e;return B|0}lp(Na);u=e;return B|0}function jb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+604|0;k=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[t>>2]|0)+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}J=Jg(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=Y;$=0;aa=S}while(1){Jf(Z|0,W+($<<2)|0,aa|0)|0;$=$+1|0;Y=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Z+Y|0;aa=Y}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=bl(U|0,f[V+4>>2]|0,ba|0,0)|0;Jf((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;Q=Q+1|0;R=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;P=f[l>>2]|0;R=P+(K*12|0)|0;if((R|0)==(L|0))ca=P;else{mf(R,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[l>>2]|0}R=(f[ca+(K*12|0)>>2]|0)+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<>>1)-da|0;R=I-Q|0;d:do if((Q|0)==(R|0)){ea=Q;fa=Q}else{P=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-P|0)!=0;V=P+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){ea=Q;fa=R;break d}else break}else if(W){ea=Q;fa=R;break d}else break}while(0);ea=R;fa=Q}while(0);Q=f[t>>2]|0;R=f[Q+(N*12|0)>>2]|0;U=R+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;mf(Q+(K*12|0)|0,R,f[Q+(N*12|0)+4>>2]|0);if(ea|0){Q=f[x>>2]|0;R=f[z>>2]|0;U=Q-R>>2;P=f[s>>2]|0;W=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+P|0)){nc(g);ga=f[s>>2]|0;ha=f[y>>2]|0;ia=f[x>>2]|0;ja=f[z>>2]|0}else{ga=P;ha=W;ia=Q;ja=R}R=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=J;f[ka+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!fa){O=23;break}R=f[x>>2]|0;Q=f[z>>2]|0;W=R-Q>>2;P=f[s>>2]|0;U=f[y>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+P|0)){nc(g);la=f[s>>2]|0;ma=f[y>>2]|0;na=f[x>>2]|0;oa=f[z>>2]|0}else{la=P;ma=U;na=R;oa=Q}Q=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=J;f[pa+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;qa=Q;break}Q=f[q>>2]|0;f[Q>>2]=J;R=f[h>>2]|0;if(R>>>0>1){U=1;P=R;W=J;while(1){W=(W|0)==(P+-1|0)?0:W+1|0;f[Q+(U<<2)>>2]=W;U=U+1|0;V=f[h>>2]|0;if(U>>>0>=V>>>0){ra=V;break}else P=V}}else ra=R;if(!I)O=23;else{P=0;U=ra;while(1){if(U|0){W=f[q>>2]|0;Q=f[j>>2]|0;K=f[G>>2]|0;V=0;do{S=W+(V<<2)|0;f[Q+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;sa=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(sa|0){ta=Q+(Y<<2)|0;ua=f[k>>2]|0;va=32-ua|0;if((sa|0)>(va|0)){wa=f[i>>2]|0;xa=wa+4|0;if((xa|0)==(f[n>>2]|0)){f[ta>>2]=0;break}else{ya=f[wa>>2]<>2]=wa;f[i>>2]=xa;za=32-wa|0;f[ta>>2]=(f[xa>>2]|0)>>>za|ya>>>(za-va|0);break}}va=f[i>>2]|0;if((va|0)==(f[n>>2]|0)){f[ta>>2]=0;break}f[ta>>2]=f[va>>2]<>>(32-sa|0);ua=(f[k>>2]|0)+sa|0;f[k>>2]=ua;if((ua|0)!=32)break;f[i>>2]=va+4;f[k>>2]=0}while(0);sa=f[S>>2]|0;Y=Q+(sa<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(sa<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;K=V;do{W=K;sa=f[W+(Q*20|0)>>2]|0;Y=W+(Q*20|0)+12|0;va=W+(Q*20|0)+16|0;ua=(f[j>>2]|0)+(f[W+(Q*20|0)+4>>2]<<2)|0;W=f[Y>>2]|0;do if((W|0)==4)Aa=ua;else{ta=f[m>>2]|0;if(!(f[va>>2]|0)){Aa=ta;break}else{Ba=ta;Ca=0;Da=W}while(1){Jf(Ba|0,ua+(Ca<<2)|0,Da|0)|0;Ca=Ca+1|0;ta=f[Y>>2]|0;if(Ca>>>0>=(f[va>>2]|0)>>>0)break;else{Ba=Ba+ta|0;Da=ta}}Aa=f[m>>2]|0}while(0);va=f[v>>2]|0;if(!(b[sa+84>>0]|0))Ea=f[(f[sa+68>>2]|0)+(va<<2)>>2]|0;else Ea=va;if(Ea>>>0>=(f[sa+80>>2]|0)>>>0)break e;va=sa+40|0;Y=f[va>>2]|0;ua=bl(Y|0,f[va+4>>2]|0,Ea|0,0)|0;Jf((f[f[sa+64>>2]>>2]|0)+ua|0,Aa|0,Y|0)|0;Q=Q+1|0;K=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-K|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=P+1|0;if((V|0)==(I|0)){O=23;break b}P=V;U=f[h>>2]|0}}}while(0);if((O|0)==23){O=0;qa=f[y>>2]|0}if(!qa){B=1;break}else F=qa}}while(0);qa=f[z>>2]|0;h=f[s>>2]|0;Aa=qa+(((h>>>0)/341|0)<<2)|0;Ea=f[x>>2]|0;Da=Ea;Ba=qa;if((Ea|0)==(qa|0)){Fa=0;Ga=0}else{Ca=(f[y>>2]|0)+h|0;Fa=(f[qa+(((Ca>>>0)/341|0)<<2)>>2]|0)+(((Ca>>>0)%341|0)*12|0)|0;Ga=(f[Aa>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Aa;Aa=Ga;f:while(1){Ga=Aa;do{Ca=Ga;if((Fa|0)==(Ca|0))break f;Ga=Ca+12|0}while((Ga-(f[h>>2]|0)|0)!=4092);Ga=h+4|0;h=Ga;Aa=f[Ga>>2]|0}f[y>>2]=0;y=Da-Ba>>2;if(y>>>0>2){Ba=qa;do{lp(f[Ba>>2]|0);Ba=(f[z>>2]|0)+4|0;f[z>>2]=Ba;Ha=f[x>>2]|0;Ia=Ha-Ba>>2}while(Ia>>>0>2);Ja=Ia;Ka=Ba;La=Ha}else{Ja=y;Ka=qa;La=Ea}switch(Ja|0){case 1:{Ma=170;O=105;break}case 2:{Ma=341;O=105;break}default:{}}if((O|0)==105)f[s>>2]=Ma;if((Ka|0)!=(La|0)){Ma=Ka;do{lp(f[Ma>>2]|0);Ma=Ma+4|0}while((Ma|0)!=(La|0));La=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(La|0))f[x>>2]=z+(~((z+-4-La|0)>>>2)<<2)}La=f[g>>2]|0;if(!La){u=e;return B|0}lp(La);u=e;return B|0}function kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+604|0;k=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[t>>2]|0)+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}J=pl(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=Y;$=0;aa=S}while(1){Jf(Z|0,W+($<<2)|0,aa|0)|0;$=$+1|0;Y=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Z+Y|0;aa=Y}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=bl(U|0,f[V+4>>2]|0,ba|0,0)|0;Jf((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;Q=Q+1|0;R=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;P=f[l>>2]|0;R=P+(K*12|0)|0;if((R|0)==(L|0))ca=P;else{mf(R,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[l>>2]|0}R=(f[ca+(K*12|0)>>2]|0)+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<>>1)-da|0;R=I-Q|0;d:do if((Q|0)==(R|0)){ea=Q;fa=Q}else{P=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-P|0)!=0;V=P+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){ea=Q;fa=R;break d}else break}else if(W){ea=Q;fa=R;break d}else break}while(0);ea=R;fa=Q}while(0);Q=f[t>>2]|0;R=f[Q+(N*12|0)>>2]|0;U=R+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;mf(Q+(K*12|0)|0,R,f[Q+(N*12|0)+4>>2]|0);if(ea|0){Q=f[x>>2]|0;R=f[z>>2]|0;U=Q-R>>2;P=f[s>>2]|0;W=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+P|0)){nc(g);ga=f[s>>2]|0;ha=f[y>>2]|0;ia=f[x>>2]|0;ja=f[z>>2]|0}else{ga=P;ha=W;ia=Q;ja=R}R=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=J;f[ka+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!fa){O=23;break}R=f[x>>2]|0;Q=f[z>>2]|0;W=R-Q>>2;P=f[s>>2]|0;U=f[y>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+P|0)){nc(g);la=f[s>>2]|0;ma=f[y>>2]|0;na=f[x>>2]|0;oa=f[z>>2]|0}else{la=P;ma=U;na=R;oa=Q}Q=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=J;f[pa+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;qa=Q;break}Q=f[q>>2]|0;f[Q>>2]=J;R=f[h>>2]|0;if(R>>>0>1){U=1;P=R;W=J;while(1){W=(W|0)==(P+-1|0)?0:W+1|0;f[Q+(U<<2)>>2]=W;U=U+1|0;V=f[h>>2]|0;if(U>>>0>=V>>>0){ra=V;break}else P=V}}else ra=R;if(!I)O=23;else{P=0;U=ra;while(1){if(U|0){W=f[q>>2]|0;Q=f[j>>2]|0;K=f[G>>2]|0;V=0;do{S=W+(V<<2)|0;f[Q+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;sa=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(sa|0){ta=Q+(Y<<2)|0;ua=f[k>>2]|0;va=32-ua|0;if((sa|0)>(va|0)){wa=f[i>>2]|0;xa=wa+4|0;if((xa|0)==(f[n>>2]|0)){f[ta>>2]=0;break}else{ya=f[wa>>2]<>2]=wa;f[i>>2]=xa;za=32-wa|0;f[ta>>2]=(f[xa>>2]|0)>>>za|ya>>>(za-va|0);break}}va=f[i>>2]|0;if((va|0)==(f[n>>2]|0)){f[ta>>2]=0;break}f[ta>>2]=f[va>>2]<>>(32-sa|0);ua=(f[k>>2]|0)+sa|0;f[k>>2]=ua;if((ua|0)!=32)break;f[i>>2]=va+4;f[k>>2]=0}while(0);sa=f[S>>2]|0;Y=Q+(sa<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(sa<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;K=V;do{W=K;sa=f[W+(Q*20|0)>>2]|0;Y=W+(Q*20|0)+12|0;va=W+(Q*20|0)+16|0;ua=(f[j>>2]|0)+(f[W+(Q*20|0)+4>>2]<<2)|0;W=f[Y>>2]|0;do if((W|0)==4)Aa=ua;else{ta=f[m>>2]|0;if(!(f[va>>2]|0)){Aa=ta;break}else{Ba=ta;Ca=0;Da=W}while(1){Jf(Ba|0,ua+(Ca<<2)|0,Da|0)|0;Ca=Ca+1|0;ta=f[Y>>2]|0;if(Ca>>>0>=(f[va>>2]|0)>>>0)break;else{Ba=Ba+ta|0;Da=ta}}Aa=f[m>>2]|0}while(0);va=f[v>>2]|0;if(!(b[sa+84>>0]|0))Ea=f[(f[sa+68>>2]|0)+(va<<2)>>2]|0;else Ea=va;if(Ea>>>0>=(f[sa+80>>2]|0)>>>0)break e;va=sa+40|0;Y=f[va>>2]|0;ua=bl(Y|0,f[va+4>>2]|0,Ea|0,0)|0;Jf((f[f[sa+64>>2]>>2]|0)+ua|0,Aa|0,Y|0)|0;Q=Q+1|0;K=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-K|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=P+1|0;if((V|0)==(I|0)){O=23;break b}P=V;U=f[h>>2]|0}}}while(0);if((O|0)==23){O=0;qa=f[y>>2]|0}if(!qa){B=1;break}else F=qa}}while(0);qa=f[z>>2]|0;h=f[s>>2]|0;Aa=qa+(((h>>>0)/341|0)<<2)|0;Ea=f[x>>2]|0;Da=Ea;Ba=qa;if((Ea|0)==(qa|0)){Fa=0;Ga=0}else{Ca=(f[y>>2]|0)+h|0;Fa=(f[qa+(((Ca>>>0)/341|0)<<2)>>2]|0)+(((Ca>>>0)%341|0)*12|0)|0;Ga=(f[Aa>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Aa;Aa=Ga;f:while(1){Ga=Aa;do{Ca=Ga;if((Fa|0)==(Ca|0))break f;Ga=Ca+12|0}while((Ga-(f[h>>2]|0)|0)!=4092);Ga=h+4|0;h=Ga;Aa=f[Ga>>2]|0}f[y>>2]=0;y=Da-Ba>>2;if(y>>>0>2){Ba=qa;do{lp(f[Ba>>2]|0);Ba=(f[z>>2]|0)+4|0;f[z>>2]=Ba;Ha=f[x>>2]|0;Ia=Ha-Ba>>2}while(Ia>>>0>2);Ja=Ia;Ka=Ba;La=Ha}else{Ja=y;Ka=qa;La=Ea}switch(Ja|0){case 1:{Ma=170;O=105;break}case 2:{Ma=341;O=105;break}default:{}}if((O|0)==105)f[s>>2]=Ma;if((Ka|0)!=(La|0)){Ma=Ka;do{lp(f[Ma>>2]|0);Ma=Ma+4|0}while((Ma|0)!=(La|0));La=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(La|0))f[x>>2]=z+(~((z+-4-La|0)>>>2)<<2)}La=f[g>>2]|0;if(!La){u=e;return B|0}lp(La);u=e;return B|0}function lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+604|0;k=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(M|0)?0:M+1|0;if(J>>>0>=G>>>0){B=0;break a}G=(f[t>>2]|0)+(N*12|0)|0;M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=Y;$=0;aa=S}while(1){Jf(Z|0,W+($<<2)|0,aa|0)|0;$=$+1|0;Y=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Z+Y|0;aa=Y}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=bl(U|0,f[V+4>>2]|0,ba|0,0)|0;Jf((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;Q=Q+1|0;R=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;mf(H+(K*12|0)|0,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ca|0;P=I-Q|0;d:do if((Q|0)==(P|0)){da=Q;ea=Q}else{R=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-R|0)!=0;V=R+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){da=Q;ea=P;break d}else break}else if(W){da=Q;ea=P;break d}else break}while(0);da=P;ea=Q}while(0);Q=f[t>>2]|0;P=f[Q+(N*12|0)>>2]|0;U=P+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;mf(Q+(K*12|0)|0,P,f[Q+(N*12|0)+4>>2]|0);if(da|0){Q=f[x>>2]|0;P=f[z>>2]|0;U=Q-P>>2;R=f[s>>2]|0;W=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+R|0)){nc(g);fa=f[s>>2]|0;ga=f[y>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0}else{fa=R;ga=W;ha=Q;ia=P}P=ga+fa|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=J;f[ja+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!ea){O=23;break}P=f[x>>2]|0;Q=f[z>>2]|0;W=P-Q>>2;R=f[s>>2]|0;U=f[y>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+R|0)){nc(g);ka=f[s>>2]|0;la=f[y>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0}else{ka=R;la=U;ma=P;na=Q}Q=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=J;f[oa+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;pa=Q;break}Q=f[q>>2]|0;f[Q>>2]=J;P=f[h>>2]|0;if(P>>>0>1){U=1;R=P;W=J;while(1){W=(W|0)==(R+-1|0)?0:W+1|0;f[Q+(U<<2)>>2]=W;U=U+1|0;V=f[h>>2]|0;if(U>>>0>=V>>>0){qa=V;break}else R=V}}else qa=P;if(!I)O=23;else{R=0;U=qa;while(1){if(U|0){W=f[q>>2]|0;Q=f[j>>2]|0;K=f[G>>2]|0;V=0;do{S=W+(V<<2)|0;f[Q+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;ra=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(ra|0){sa=Q+(Y<<2)|0;ta=f[k>>2]|0;ua=32-ta|0;if((ra|0)>(ua|0)){va=f[i>>2]|0;wa=va+4|0;if((wa|0)==(f[n>>2]|0)){f[sa>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[i>>2]=wa;ya=32-va|0;f[sa>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[i>>2]|0;if((ua|0)==(f[n>>2]|0)){f[sa>>2]=0;break}f[sa>>2]=f[ua>>2]<>>(32-ra|0);ta=(f[k>>2]|0)+ra|0;f[k>>2]=ta;if((ta|0)!=32)break;f[i>>2]=ua+4;f[k>>2]=0}while(0);ra=f[S>>2]|0;Y=Q+(ra<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(ra<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;K=V;do{W=K;ra=f[W+(Q*20|0)>>2]|0;Y=W+(Q*20|0)+12|0;ua=W+(Q*20|0)+16|0;ta=(f[j>>2]|0)+(f[W+(Q*20|0)+4>>2]<<2)|0;W=f[Y>>2]|0;do if((W|0)==4)za=ta;else{sa=f[m>>2]|0;if(!(f[ua>>2]|0)){za=sa;break}else{Aa=sa;Ba=0;Ca=W}while(1){Jf(Aa|0,ta+(Ba<<2)|0,Ca|0)|0;Ba=Ba+1|0;sa=f[Y>>2]|0;if(Ba>>>0>=(f[ua>>2]|0)>>>0)break;else{Aa=Aa+sa|0;Ca=sa}}za=f[m>>2]|0}while(0);ua=f[v>>2]|0;if(!(b[ra+84>>0]|0))Da=f[(f[ra+68>>2]|0)+(ua<<2)>>2]|0;else Da=ua;if(Da>>>0>=(f[ra+80>>2]|0)>>>0)break e;ua=ra+40|0;Y=f[ua>>2]|0;ta=bl(Y|0,f[ua+4>>2]|0,Da|0,0)|0;Jf((f[f[ra+64>>2]>>2]|0)+ta|0,za|0,Y|0)|0;Q=Q+1|0;K=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-K|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=R+1|0;if((V|0)==(I|0)){O=23;break b}R=V;U=f[h>>2]|0}}}while(0);if((O|0)==23){O=0;pa=f[y>>2]|0}if(!pa){B=1;break}else F=pa}}while(0);pa=f[z>>2]|0;h=f[s>>2]|0;za=pa+(((h>>>0)/341|0)<<2)|0;Da=f[x>>2]|0;Ca=Da;Aa=pa;if((Da|0)==(pa|0)){Ea=0;Fa=0}else{Ba=(f[y>>2]|0)+h|0;Ea=(f[pa+(((Ba>>>0)/341|0)<<2)>>2]|0)+(((Ba>>>0)%341|0)*12|0)|0;Fa=(f[za>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=za;za=Fa;f:while(1){Fa=za;do{Ba=Fa;if((Ea|0)==(Ba|0))break f;Fa=Ba+12|0}while((Fa-(f[h>>2]|0)|0)!=4092);Fa=h+4|0;h=Fa;za=f[Fa>>2]|0}f[y>>2]=0;y=Ca-Aa>>2;if(y>>>0>2){Aa=pa;do{lp(f[Aa>>2]|0);Aa=(f[z>>2]|0)+4|0;f[z>>2]=Aa;Ga=f[x>>2]|0;Ha=Ga-Aa>>2}while(Ha>>>0>2);Ia=Ha;Ja=Aa;Ka=Ga}else{Ia=y;Ja=pa;Ka=Da}switch(Ia|0){case 1:{La=170;O=103;break}case 2:{La=341;O=103;break}default:{}}if((O|0)==103)f[s>>2]=La;if((Ja|0)!=(Ka|0)){La=Ja;do{lp(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ka|0));Ka=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ka|0))f[x>>2]=z+(~((z+-4-Ka|0)>>>2)<<2)}Ka=f[g>>2]|0;if(!Ka){u=e;return B|0}lp(Ka);u=e;return B|0}function mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)Do(g);else{l=j<<2;m=Yk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Gh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);lp(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[g>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[g+8>>2];f[g>>2]=0;r=g+4|0;f[r>>2]=0;f[g+8>>2]=0;do if(v)if(v>>>0>1073741823)Do(g);else{t=v<<2;q=Yk(t)|0;f[g>>2]=q;s=q+(v<<2)|0;f[g+8>>2]=s;Gh(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+128|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[g>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;y=g+8|0;A=g+4|0;t=g+16|0;z=g+20|0;nc(g);q=f[A>>2]|0;r=(f[z>>2]|0)+(f[t>>2]|0)|0;if((f[y>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[z>>2]|0)+1|0;f[z>>2]=B;a:do if(!B)C=1;else{r=a+104|0;q=d+16|0;s=d+20|0;w=d+28|0;x=a+8|0;n=d+12|0;k=a+92|0;l=a+48|0;j=a+44|0;o=a+36|0;p=a+4|0;D=a+16|0;E=a+88|0;F=a+76|0;G=a+84|0;H=B;while(1){I=f[t>>2]|0;J=H+-1|0;K=I+J|0;L=f[A>>2]|0;M=f[L+(((K>>>0)/341|0)<<2)>>2]|0;N=(K>>>0)%341|0;K=f[M+(N*12|0)>>2]|0;O=f[M+(N*12|0)+4>>2]|0;P=f[M+(N*12|0)+8>>2]|0;f[z>>2]=J;J=f[y>>2]|0;N=J-L>>2;if((1-H-I+((N|0)==0?0:(N*341|0)+-1|0)|0)>>>0>681){lp(f[J+-4>>2]|0);f[y>>2]=(f[y>>2]|0)+-4}J=f[m>>2]|0;N=J+(P*12|0)|0;I=(f[v>>2]|0)+(P*12|0)|0;if(K>>>0>c>>>0){C=0;break a}L=pl(a,K,I,O)|0;if(L>>>0>=(f[i>>2]|0)>>>0){C=0;break a}O=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!O){if(K|0){M=0;do{Q=f[q>>2]|0;c:do if((f[s>>2]|0)!=(Q|0)){R=0;S=Q;do{T=S;U=f[T+(R*20|0)>>2]|0;V=T+(R*20|0)+12|0;W=T+(R*20|0)+16|0;X=(f[N>>2]|0)+(f[T+(R*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;do if((T|0)==4)Y=X;else{Z=f[n>>2]|0;if(!(f[W>>2]|0)){Y=Z;break}else{$=Z;aa=0;ba=T}while(1){Jf($|0,X+(aa<<2)|0,ba|0)|0;aa=aa+1|0;Z=f[V>>2]|0;if(aa>>>0>=(f[W>>2]|0)>>>0)break;else{$=$+Z|0;ba=Z}}Y=f[n>>2]|0}while(0);W=f[w>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(W<<2)>>2]|0;else ca=W;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;W=U+40|0;V=f[W>>2]|0;X=bl(V|0,f[W+4>>2]|0,ca|0,0)|0;Jf((f[f[U+64>>2]>>2]|0)+X|0,Y|0,V|0)|0;R=R+1|0;S=f[q>>2]|0}while(R>>>0<(((f[s>>2]|0)-S|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;M=M+1|0}while((M|0)!=(K|0))}}else{if(K>>>0>=3){if((f[x>>2]|0)>>>0>(f[p>>2]|0)>>>0){C=0;break a}M=P+1|0;Q=f[m>>2]|0;S=Q+(M*12|0)|0;if((S|0)==(N|0))da=Q;else{mf(S,f[N>>2]|0,f[J+(P*12|0)+4>>2]|0);da=f[m>>2]|0}S=(f[da+(M*12|0)>>2]|0)+(L<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]=0;Hh(D,S,h);S=(K>>>1)-(f[h>>2]|0)|0;Q=K-S|0;d:do if((S|0)==(Q|0)){ea=S;fa=S}else{R=f[E>>2]|0;V=f[G>>2]|0;do if((V|0)!=(f[F>>2]|0)){X=(f[V>>2]&1<<31-R|0)!=0;W=R+1|0;f[E>>2]=W;if((W|0)==32){f[G>>2]=V+4;f[E>>2]=0;if(X){ea=S;fa=Q;break d}else break}else if(X){ea=S;fa=Q;break d}else break}while(0);ea=Q;fa=S}while(0);S=f[v>>2]|0;Q=f[S+(P*12|0)>>2]|0;V=Q+(L<<2)|0;f[V>>2]=(f[V>>2]|0)+1;mf(S+(M*12|0)|0,Q,f[S+(P*12|0)+4>>2]|0);if(ea|0){S=f[y>>2]|0;Q=f[A>>2]|0;V=S-Q>>2;R=f[t>>2]|0;X=f[z>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(X+R|0)){nc(g);ga=f[t>>2]|0;ha=f[z>>2]|0;ia=f[y>>2]|0;ja=f[A>>2]|0}else{ga=R;ha=X;ia=S;ja=Q}Q=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=L;f[ka+8>>2]=P;f[z>>2]=(f[z>>2]|0)+1}if(fa|0){Q=f[y>>2]|0;S=f[A>>2]|0;X=Q-S>>2;R=f[t>>2]|0;V=f[z>>2]|0;if((((X|0)==0?0:(X*341|0)+-1|0)|0)==(V+R|0)){nc(g);la=f[t>>2]|0;ma=f[z>>2]|0;na=f[y>>2]|0;oa=f[A>>2]|0}else{la=R;ma=V;na=Q;oa=S}S=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=L;f[pa+8>>2]=M;f[z>>2]=(f[z>>2]|0)+1}break}S=f[r>>2]|0;f[S>>2]=L;Q=f[i>>2]|0;if(Q>>>0>1){V=1;R=Q;X=L;while(1){X=(X|0)==(R+-1|0)?0:X+1|0;f[S+(V<<2)>>2]=X;V=V+1|0;W=f[i>>2]|0;if(V>>>0>=W>>>0){qa=W;break}else R=W}}else qa=Q;if(K|0){R=0;V=qa;while(1){if(V|0){X=f[r>>2]|0;S=f[k>>2]|0;M=f[I>>2]|0;W=0;do{T=X+(W<<2)|0;f[S+(f[T>>2]<<2)>>2]=0;Z=f[T>>2]|0;ra=(f[a>>2]|0)-(f[M+(Z<<2)>>2]|0)|0;do if(ra|0){sa=S+(Z<<2)|0;ta=f[l>>2]|0;ua=32-ta|0;if((ra|0)>(ua|0)){va=f[j>>2]|0;wa=va+4|0;if((wa|0)==(f[o>>2]|0)){f[sa>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[j>>2]=wa;ya=32-va|0;f[sa>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[j>>2]|0;if((ua|0)==(f[o>>2]|0)){f[sa>>2]=0;break}f[sa>>2]=f[ua>>2]<>>(32-ra|0);ta=(f[l>>2]|0)+ra|0;f[l>>2]=ta;if((ta|0)!=32)break;f[j>>2]=ua+4;f[l>>2]=0}while(0);ra=f[T>>2]|0;Z=S+(ra<<2)|0;f[Z>>2]=f[Z>>2]|f[(f[N>>2]|0)+(ra<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[q>>2]|0;e:do if((f[s>>2]|0)!=(W|0)){S=0;M=W;do{X=M;ra=f[X+(S*20|0)>>2]|0;Z=X+(S*20|0)+12|0;ua=X+(S*20|0)+16|0;ta=(f[k>>2]|0)+(f[X+(S*20|0)+4>>2]<<2)|0;X=f[Z>>2]|0;do if((X|0)==4)za=ta;else{sa=f[n>>2]|0;if(!(f[ua>>2]|0)){za=sa;break}else{Aa=sa;Ba=0;Ca=X}while(1){Jf(Aa|0,ta+(Ba<<2)|0,Ca|0)|0;Ba=Ba+1|0;sa=f[Z>>2]|0;if(Ba>>>0>=(f[ua>>2]|0)>>>0)break;else{Aa=Aa+sa|0;Ca=sa}}za=f[n>>2]|0}while(0);ua=f[w>>2]|0;if(!(b[ra+84>>0]|0))Da=f[(f[ra+68>>2]|0)+(ua<<2)>>2]|0;else Da=ua;if(Da>>>0>=(f[ra+80>>2]|0)>>>0)break e;ua=ra+40|0;Z=f[ua>>2]|0;ta=bl(Z|0,f[ua+4>>2]|0,Da|0,0)|0;Jf((f[f[ra+64>>2]>>2]|0)+ta|0,za|0,Z|0)|0;S=S+1|0;M=f[q>>2]|0}while(S>>>0<(((f[s>>2]|0)-M|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;W=R+1|0;if((W|0)==(K|0))break b;R=W;V=f[i>>2]|0}}}while(0);H=f[z>>2]|0;if(!H){C=1;break}}}while(0);i=f[A>>2]|0;za=f[t>>2]|0;Da=i+(((za>>>0)/341|0)<<2)|0;Ca=f[y>>2]|0;Aa=Ca;Ba=i;if((Ca|0)==(i|0)){Ea=0;Fa=0}else{a=(f[z>>2]|0)+za|0;Ea=(f[i+(((a>>>0)/341|0)<<2)>>2]|0)+(((a>>>0)%341|0)*12|0)|0;Fa=(f[Da>>2]|0)+(((za>>>0)%341|0)*12|0)|0}za=Da;Da=Fa;f:while(1){Fa=Da;do{a=Fa;if((Ea|0)==(a|0))break f;Fa=a+12|0}while((Fa-(f[za>>2]|0)|0)!=4092);Fa=za+4|0;za=Fa;Da=f[Fa>>2]|0}f[z>>2]=0;z=Aa-Ba>>2;if(z>>>0>2){Ba=i;do{lp(f[Ba>>2]|0);Ba=(f[A>>2]|0)+4|0;f[A>>2]=Ba;Ga=f[y>>2]|0;Ha=Ga-Ba>>2}while(Ha>>>0>2);Ia=Ha;Ja=Ba;Ka=Ga}else{Ia=z;Ja=i;Ka=Ca}switch(Ia|0){case 1:{La=170;Ma=103;break}case 2:{La=341;Ma=103;break}default:{}}if((Ma|0)==103)f[t>>2]=La;if((Ja|0)!=(Ka|0)){La=Ja;do{lp(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ka|0));Ka=f[A>>2]|0;A=f[y>>2]|0;if((A|0)!=(Ka|0))f[y>>2]=A+(~((A+-4-Ka|0)>>>2)<<2)}Ka=f[g>>2]|0;if(!Ka){u=e;return C|0}lp(Ka);u=e;return C|0}function nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)Do(g);else{l=j<<2;m=Yk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Gh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);lp(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[g>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[g+8>>2];f[g>>2]=0;r=g+4|0;f[r>>2]=0;f[g+8>>2]=0;do if(v)if(v>>>0>1073741823)Do(g);else{t=v<<2;q=Yk(t)|0;f[g>>2]=q;s=q+(v<<2)|0;f[g+8>>2]=s;Gh(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+128|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[g>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;y=g+8|0;A=g+4|0;t=g+16|0;z=g+20|0;nc(g);q=f[A>>2]|0;r=(f[z>>2]|0)+(f[t>>2]|0)|0;if((f[y>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[z>>2]|0)+1|0;f[z>>2]=B;a:do if(!B)C=1;else{r=a+104|0;q=d+16|0;s=d+20|0;w=d+28|0;x=a+8|0;n=d+12|0;k=a+92|0;l=a+48|0;j=a+44|0;o=a+36|0;p=a+4|0;D=a+16|0;E=a+88|0;F=a+76|0;G=a+84|0;H=B;while(1){I=f[t>>2]|0;J=H+-1|0;K=I+J|0;L=f[A>>2]|0;M=f[L+(((K>>>0)/341|0)<<2)>>2]|0;N=(K>>>0)%341|0;K=f[M+(N*12|0)>>2]|0;O=f[M+(N*12|0)+4>>2]|0;P=f[M+(N*12|0)+8>>2]|0;f[z>>2]=J;J=f[y>>2]|0;N=J-L>>2;if((1-H-I+((N|0)==0?0:(N*341|0)+-1|0)|0)>>>0>681){lp(f[J+-4>>2]|0);f[y>>2]=(f[y>>2]|0)+-4}J=f[m>>2]|0;N=J+(P*12|0)|0;if(K>>>0>c>>>0){C=0;break a}I=f[i>>2]|0;L=(I+-1|0)==(O|0)?0:O+1|0;if(L>>>0>=I>>>0){C=0;break a}I=(f[v>>2]|0)+(P*12|0)|0;O=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!O){if(K|0){M=0;do{Q=f[q>>2]|0;c:do if((f[s>>2]|0)!=(Q|0)){R=0;S=Q;do{T=S;U=f[T+(R*20|0)>>2]|0;V=T+(R*20|0)+12|0;W=T+(R*20|0)+16|0;X=(f[N>>2]|0)+(f[T+(R*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;do if((T|0)==4)Y=X;else{Z=f[n>>2]|0;if(!(f[W>>2]|0)){Y=Z;break}else{$=Z;aa=0;ba=T}while(1){Jf($|0,X+(aa<<2)|0,ba|0)|0;aa=aa+1|0;Z=f[V>>2]|0;if(aa>>>0>=(f[W>>2]|0)>>>0)break;else{$=$+Z|0;ba=Z}}Y=f[n>>2]|0}while(0);W=f[w>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(W<<2)>>2]|0;else ca=W;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;W=U+40|0;V=f[W>>2]|0;X=bl(V|0,f[W+4>>2]|0,ca|0,0)|0;Jf((f[f[U+64>>2]>>2]|0)+X|0,Y|0,V|0)|0;R=R+1|0;S=f[q>>2]|0}while(R>>>0<(((f[s>>2]|0)-S|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;M=M+1|0}while((M|0)!=(K|0))}}else{if(K>>>0>=3){if((f[x>>2]|0)>>>0>(f[p>>2]|0)>>>0){C=0;break a}M=P+1|0;mf(J+(M*12|0)|0,f[N>>2]|0,f[J+(P*12|0)+4>>2]|0);Q=(f[(f[m>>2]|0)+(M*12|0)>>2]|0)+(L<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>2]=0;Hh(D,Q,h);Q=(K>>>1)-(f[h>>2]|0)|0;S=K-Q|0;d:do if((Q|0)==(S|0)){da=Q;ea=Q}else{R=f[E>>2]|0;V=f[G>>2]|0;do if((V|0)!=(f[F>>2]|0)){X=(f[V>>2]&1<<31-R|0)!=0;W=R+1|0;f[E>>2]=W;if((W|0)==32){f[G>>2]=V+4;f[E>>2]=0;if(X){da=Q;ea=S;break d}else break}else if(X){da=Q;ea=S;break d}else break}while(0);da=S;ea=Q}while(0);Q=f[v>>2]|0;S=f[Q+(P*12|0)>>2]|0;V=S+(L<<2)|0;f[V>>2]=(f[V>>2]|0)+1;mf(Q+(M*12|0)|0,S,f[Q+(P*12|0)+4>>2]|0);if(da|0){Q=f[y>>2]|0;S=f[A>>2]|0;V=Q-S>>2;R=f[t>>2]|0;X=f[z>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(X+R|0)){nc(g);fa=f[t>>2]|0;ga=f[z>>2]|0;ha=f[y>>2]|0;ia=f[A>>2]|0}else{fa=R;ga=X;ha=Q;ia=S}S=ga+fa|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=L;f[ja+8>>2]=P;f[z>>2]=(f[z>>2]|0)+1}if(ea|0){S=f[y>>2]|0;Q=f[A>>2]|0;X=S-Q>>2;R=f[t>>2]|0;V=f[z>>2]|0;if((((X|0)==0?0:(X*341|0)+-1|0)|0)==(V+R|0)){nc(g);ka=f[t>>2]|0;la=f[z>>2]|0;ma=f[y>>2]|0;na=f[A>>2]|0}else{ka=R;la=V;ma=S;na=Q}Q=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=L;f[oa+8>>2]=M;f[z>>2]=(f[z>>2]|0)+1}break}Q=f[r>>2]|0;f[Q>>2]=L;S=f[i>>2]|0;if(S>>>0>1){V=1;R=S;X=L;while(1){X=(X|0)==(R+-1|0)?0:X+1|0;f[Q+(V<<2)>>2]=X;V=V+1|0;W=f[i>>2]|0;if(V>>>0>=W>>>0){pa=W;break}else R=W}}else pa=S;if(K|0){R=0;V=pa;while(1){if(V|0){X=f[r>>2]|0;Q=f[k>>2]|0;M=f[I>>2]|0;W=0;do{T=X+(W<<2)|0;f[Q+(f[T>>2]<<2)>>2]=0;Z=f[T>>2]|0;qa=(f[a>>2]|0)-(f[M+(Z<<2)>>2]|0)|0;do if(qa|0){ra=Q+(Z<<2)|0;sa=f[l>>2]|0;ta=32-sa|0;if((qa|0)>(ta|0)){ua=f[j>>2]|0;va=ua+4|0;if((va|0)==(f[o>>2]|0)){f[ra>>2]=0;break}else{wa=f[ua>>2]<>2]=ua;f[j>>2]=va;xa=32-ua|0;f[ra>>2]=(f[va>>2]|0)>>>xa|wa>>>(xa-ta|0);break}}ta=f[j>>2]|0;if((ta|0)==(f[o>>2]|0)){f[ra>>2]=0;break}f[ra>>2]=f[ta>>2]<>>(32-qa|0);sa=(f[l>>2]|0)+qa|0;f[l>>2]=sa;if((sa|0)!=32)break;f[j>>2]=ta+4;f[l>>2]=0}while(0);qa=f[T>>2]|0;Z=Q+(qa<<2)|0;f[Z>>2]=f[Z>>2]|f[(f[N>>2]|0)+(qa<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[q>>2]|0;e:do if((f[s>>2]|0)!=(W|0)){Q=0;M=W;do{X=M;qa=f[X+(Q*20|0)>>2]|0;Z=X+(Q*20|0)+12|0;ta=X+(Q*20|0)+16|0;sa=(f[k>>2]|0)+(f[X+(Q*20|0)+4>>2]<<2)|0;X=f[Z>>2]|0;do if((X|0)==4)ya=sa;else{ra=f[n>>2]|0;if(!(f[ta>>2]|0)){ya=ra;break}else{za=ra;Aa=0;Ba=X}while(1){Jf(za|0,sa+(Aa<<2)|0,Ba|0)|0;Aa=Aa+1|0;ra=f[Z>>2]|0;if(Aa>>>0>=(f[ta>>2]|0)>>>0)break;else{za=za+ra|0;Ba=ra}}ya=f[n>>2]|0}while(0);ta=f[w>>2]|0;if(!(b[qa+84>>0]|0))Ca=f[(f[qa+68>>2]|0)+(ta<<2)>>2]|0;else Ca=ta;if(Ca>>>0>=(f[qa+80>>2]|0)>>>0)break e;ta=qa+40|0;Z=f[ta>>2]|0;sa=bl(Z|0,f[ta+4>>2]|0,Ca|0,0)|0;Jf((f[f[qa+64>>2]>>2]|0)+sa|0,ya|0,Z|0)|0;Q=Q+1|0;M=f[q>>2]|0}while(Q>>>0<(((f[s>>2]|0)-M|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;W=R+1|0;if((W|0)==(K|0))break b;R=W;V=f[i>>2]|0}}}while(0);H=f[z>>2]|0;if(!H){C=1;break}}}while(0);i=f[A>>2]|0;ya=f[t>>2]|0;Ca=i+(((ya>>>0)/341|0)<<2)|0;Ba=f[y>>2]|0;za=Ba;Aa=i;if((Ba|0)==(i|0)){Da=0;Ea=0}else{a=(f[z>>2]|0)+ya|0;Da=(f[i+(((a>>>0)/341|0)<<2)>>2]|0)+(((a>>>0)%341|0)*12|0)|0;Ea=(f[Ca>>2]|0)+(((ya>>>0)%341|0)*12|0)|0}ya=Ca;Ca=Ea;f:while(1){Ea=Ca;do{a=Ea;if((Da|0)==(a|0))break f;Ea=a+12|0}while((Ea-(f[ya>>2]|0)|0)!=4092);Ea=ya+4|0;ya=Ea;Ca=f[Ea>>2]|0}f[z>>2]=0;z=za-Aa>>2;if(z>>>0>2){Aa=i;do{lp(f[Aa>>2]|0);Aa=(f[A>>2]|0)+4|0;f[A>>2]=Aa;Fa=f[y>>2]|0;Ga=Fa-Aa>>2}while(Ga>>>0>2);Ha=Ga;Ia=Aa;Ja=Fa}else{Ha=z;Ia=i;Ja=Ba}switch(Ha|0){case 1:{Ka=170;La=101;break}case 2:{Ka=341;La=101;break}default:{}}if((La|0)==101)f[t>>2]=Ka;if((Ia|0)!=(Ja|0)){Ka=Ia;do{lp(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ja|0));Ja=f[A>>2]|0;A=f[y>>2]|0;if((A|0)!=(Ja|0))f[y>>2]=A+(~((A+-4-Ja|0)>>>2)<<2)}Ja=f[g>>2]|0;if(!Ja){u=e;return C|0}lp(Ja);u=e;return C|0}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+132|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+96|0;m=a+52|0;j=a+48|0;k=a+40|0;i=a+4|0;n=a+32|0;o=a+28|0;C=a+20|0;D=a+92|0;E=a+80|0;F=a+88|0;G=e+4|0;H=e+8|0;I=A;while(1){J=f[s>>2]|0;K=I+-1|0;L=J+K|0;M=f[z>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[y>>2]=K;K=f[x>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;J=(f[t>>2]|0)+(Q*12|0)|0;if(L>>>0>b>>>0){B=0;break a}M=pl(a,L,J,P)|0;if(M>>>0>=(f[h>>2]|0)>>>0){B=0;break a}P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;do{S=f[O>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[G>>2]=f[S+4>>2];f[H>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[G>>2];f[V+8>>2]=f[H>>2];f[U>>2]=V+12}else Qf(S,e);f[v>>2]=(f[v>>2]|0)+1;N=N+1|0}while(N>>>0>>0);R=23}else{if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=1;U=S;T=M;while(1){T=(T|0)==(U+-1|0)?0:T+1|0;f[N+(V<<2)>>2]=T;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){X=W;break}else U=W}}else X=S;if(!L){R=23;break}U=0;V=X;while(1){if(!V)Y=f[w>>2]|0;else{T=f[q>>2]|0;N=f[w>>2]|0;W=f[J>>2]|0;Z=0;do{$=T+(Z<<2)|0;f[N+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=N+(aa<<2)|0;da=f[m>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[j>>2]|0;ga=fa+4|0;if((ga|0)==(f[k>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[j>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[j>>2]|0;if((ea|0)==(f[k>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[m>>2]|0)+ba|0;f[m>>2]=da;if((da|0)!=32)break;f[j>>2]=ea+4;f[m>>2]=0}while(0);ba=f[$>>2]|0;aa=N+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ba<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0);Y=N}N=f[Y>>2]|0;f[e>>2]=N;f[p>>2]=f[Y+4>>2];f[r>>2]=f[Y+8>>2];Z=f[c>>2]|0;W=Z+4|0;T=f[W>>2]|0;if(T>>>0<(f[Z+8>>2]|0)>>>0){f[T>>2]=N;f[T+4>>2]=f[p>>2];f[T+8>>2]=f[r>>2];f[W>>2]=T+12}else Qf(Z,e);f[v>>2]=(f[v>>2]|0)+1;Z=U+1|0;if(Z>>>0>=L>>>0){R=23;break b}U=Z;V=f[h>>2]|0}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}V=Q+1|0;U=f[l>>2]|0;S=U+(V*12|0)|0;if((S|0)==(O|0))ja=U;else{mf(S,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);ja=f[l>>2]|0}S=(f[ja+(V*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;Z=32-U|0;if((S|0)>(Z|0)){T=f[o>>2]|0;W=T+4|0;if((W|0)==(f[C>>2]|0))ka=0;else{N=f[T>>2]<>2]=T;f[o>>2]=W;ba=32-T|0;ka=(f[W>>2]|0)>>>ba|N>>>(ba-Z|0)}}else{Z=f[o>>2]|0;if((Z|0)!=(f[C>>2]|0)){ba=f[Z>>2]<>>(32-S|0);N=U+S|0;f[n>>2]=N;if((N|0)==32){f[o>>2]=Z+4;f[n>>2]=0;ka=ba}else ka=ba}else ka=0}ba=(L>>>1)-ka|0;Z=L-ba|0;c:do if((ba|0)==(Z|0)){la=ba;ma=ba}else{N=f[D>>2]|0;S=f[F>>2]|0;do if((S|0)!=(f[E>>2]|0)){U=(f[S>>2]&1<<31-N|0)!=0;W=N+1|0;f[D>>2]=W;if((W|0)==32){f[F>>2]=S+4;f[D>>2]=0;if(U){la=ba;ma=Z;break c}else break}else if(U){la=ba;ma=Z;break c}else break}while(0);la=Z;ma=ba}while(0);ba=f[t>>2]|0;Z=f[ba+(Q*12|0)>>2]|0;S=Z+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;mf(ba+(V*12|0)|0,Z,f[ba+(Q*12|0)+4>>2]|0);if(la|0){ba=f[x>>2]|0;Z=f[z>>2]|0;S=ba-Z>>2;N=f[s>>2]|0;U=f[y>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(U+N|0)){nc(g);na=f[s>>2]|0;oa=f[y>>2]|0;pa=f[x>>2]|0;qa=f[z>>2]|0}else{na=N;oa=U;pa=ba;qa=Z}Z=oa+na|0;if((pa|0)==(qa|0))ra=0;else ra=(f[qa+(((Z>>>0)/341|0)<<2)>>2]|0)+(((Z>>>0)%341|0)*12|0)|0;f[ra>>2]=la;f[ra+4>>2]=M;f[ra+8>>2]=Q;f[y>>2]=(f[y>>2]|0)+1}if(!ma)R=23;else{Z=f[x>>2]|0;ba=f[z>>2]|0;U=Z-ba>>2;N=f[s>>2]|0;S=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(S+N|0)){nc(g);sa=f[s>>2]|0;ta=f[y>>2]|0;ua=f[x>>2]|0;va=f[z>>2]|0}else{sa=N;ta=S;ua=Z;va=ba}ba=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((ba>>>0)/341|0)<<2)>>2]|0)+(((ba>>>0)%341|0)*12|0)|0;f[wa>>2]=ma;f[wa+4>>2]=M;f[wa+8>>2]=V;ba=(f[y>>2]|0)+1|0;f[y>>2]=ba;xa=ba}}while(0);if((R|0)==23){R=0;xa=f[y>>2]|0}if(!xa){B=1;break}else I=xa}}while(0);xa=f[z>>2]|0;wa=f[s>>2]|0;ma=xa+(((wa>>>0)/341|0)<<2)|0;va=f[x>>2]|0;ua=va;sa=xa;if((va|0)==(xa|0)){ya=0;za=0}else{ta=(f[y>>2]|0)+wa|0;ya=(f[xa+(((ta>>>0)/341|0)<<2)>>2]|0)+(((ta>>>0)%341|0)*12|0)|0;za=(f[ma>>2]|0)+(((wa>>>0)%341|0)*12|0)|0}wa=ma;ma=za;d:while(1){za=ma;do{ta=za;if((ya|0)==(ta|0))break d;za=ta+12|0}while((za-(f[wa>>2]|0)|0)!=4092);za=wa+4|0;wa=za;ma=f[za>>2]|0}f[y>>2]=0;y=ua-sa>>2;if(y>>>0>2){sa=xa;do{lp(f[sa>>2]|0);sa=(f[z>>2]|0)+4|0;f[z>>2]=sa;Aa=f[x>>2]|0;Ba=Aa-sa>>2}while(Ba>>>0>2);Ca=Ba;Da=sa;Ea=Aa}else{Ca=y;Da=xa;Ea=va}switch(Ca|0){case 1:{Fa=170;R=98;break}case 2:{Fa=341;R=98;break}default:{}}if((R|0)==98)f[s>>2]=Fa;if((Da|0)!=(Ea|0)){Fa=Da;do{lp(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Ea|0));Ea=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ea|0))f[x>>2]=z+(~((z+-4-Ea|0)>>>2)<<2)}Ea=f[g>>2]|0;if(!Ea){u=d;return B|0}lp(Ea);u=d;return B|0}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+132|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+96|0;m=a+52|0;j=a+48|0;k=a+40|0;i=a+4|0;n=a+32|0;o=a+28|0;C=a+20|0;D=a+92|0;E=a+80|0;F=a+88|0;G=e+4|0;H=e+8|0;I=A;while(1){J=f[s>>2]|0;K=I+-1|0;L=J+K|0;M=f[z>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[y>>2]=K;K=f[x>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;if(L>>>0>b>>>0){B=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(P|0)?0:P+1|0;if(M>>>0>=J>>>0){B=0;break a}J=(f[t>>2]|0)+(Q*12|0)|0;P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;do{S=f[O>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[G>>2]=f[S+4>>2];f[H>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[G>>2];f[V+8>>2]=f[H>>2];f[U>>2]=V+12}else Qf(S,e);f[v>>2]=(f[v>>2]|0)+1;N=N+1|0}while(N>>>0>>0);R=23}else{if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=1;U=S;T=M;while(1){T=(T|0)==(U+-1|0)?0:T+1|0;f[N+(V<<2)>>2]=T;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){X=W;break}else U=W}}else X=S;if(!L){R=23;break}U=0;V=X;while(1){if(!V)Y=f[w>>2]|0;else{T=f[q>>2]|0;N=f[w>>2]|0;W=f[J>>2]|0;Z=0;do{$=T+(Z<<2)|0;f[N+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=N+(aa<<2)|0;da=f[m>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[j>>2]|0;ga=fa+4|0;if((ga|0)==(f[k>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[j>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[j>>2]|0;if((ea|0)==(f[k>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[m>>2]|0)+ba|0;f[m>>2]=da;if((da|0)!=32)break;f[j>>2]=ea+4;f[m>>2]=0}while(0);ba=f[$>>2]|0;aa=N+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ba<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0);Y=N}N=f[Y>>2]|0;f[e>>2]=N;f[p>>2]=f[Y+4>>2];f[r>>2]=f[Y+8>>2];Z=f[c>>2]|0;W=Z+4|0;T=f[W>>2]|0;if(T>>>0<(f[Z+8>>2]|0)>>>0){f[T>>2]=N;f[T+4>>2]=f[p>>2];f[T+8>>2]=f[r>>2];f[W>>2]=T+12}else Qf(Z,e);f[v>>2]=(f[v>>2]|0)+1;Z=U+1|0;if(Z>>>0>=L>>>0){R=23;break b}U=Z;V=f[h>>2]|0}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}V=Q+1|0;mf(K+(V*12|0)|0,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);U=(f[(f[l>>2]|0)+(V*12|0)>>2]|0)+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+(1<>2]|0;Z=32-S|0;if((U|0)>(Z|0)){T=f[o>>2]|0;W=T+4|0;if((W|0)==(f[C>>2]|0))ja=0;else{N=f[T>>2]<>2]=T;f[o>>2]=W;ba=32-T|0;ja=(f[W>>2]|0)>>>ba|N>>>(ba-Z|0)}}else{Z=f[o>>2]|0;if((Z|0)!=(f[C>>2]|0)){ba=f[Z>>2]<>>(32-U|0);N=S+U|0;f[n>>2]=N;if((N|0)==32){f[o>>2]=Z+4;f[n>>2]=0;ja=ba}else ja=ba}else ja=0}ba=(L>>>1)-ja|0;Z=L-ba|0;c:do if((ba|0)==(Z|0)){ka=ba;la=ba}else{N=f[D>>2]|0;U=f[F>>2]|0;do if((U|0)!=(f[E>>2]|0)){S=(f[U>>2]&1<<31-N|0)!=0;W=N+1|0;f[D>>2]=W;if((W|0)==32){f[F>>2]=U+4;f[D>>2]=0;if(S){ka=ba;la=Z;break c}else break}else if(S){ka=ba;la=Z;break c}else break}while(0);ka=Z;la=ba}while(0);ba=f[t>>2]|0;Z=f[ba+(Q*12|0)>>2]|0;U=Z+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+1;mf(ba+(V*12|0)|0,Z,f[ba+(Q*12|0)+4>>2]|0);if(ka|0){ba=f[x>>2]|0;Z=f[z>>2]|0;U=ba-Z>>2;N=f[s>>2]|0;S=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(S+N|0)){nc(g);ma=f[s>>2]|0;na=f[y>>2]|0;oa=f[x>>2]|0;pa=f[z>>2]|0}else{ma=N;na=S;oa=ba;pa=Z}Z=na+ma|0;if((oa|0)==(pa|0))qa=0;else qa=(f[pa+(((Z>>>0)/341|0)<<2)>>2]|0)+(((Z>>>0)%341|0)*12|0)|0;f[qa>>2]=ka;f[qa+4>>2]=M;f[qa+8>>2]=Q;f[y>>2]=(f[y>>2]|0)+1}if(!la)R=23;else{Z=f[x>>2]|0;ba=f[z>>2]|0;S=Z-ba>>2;N=f[s>>2]|0;U=f[y>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(U+N|0)){nc(g);ra=f[s>>2]|0;sa=f[y>>2]|0;ta=f[x>>2]|0;ua=f[z>>2]|0}else{ra=N;sa=U;ta=Z;ua=ba}ba=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((ba>>>0)/341|0)<<2)>>2]|0)+(((ba>>>0)%341|0)*12|0)|0;f[va>>2]=la;f[va+4>>2]=M;f[va+8>>2]=V;ba=(f[y>>2]|0)+1|0;f[y>>2]=ba;wa=ba}}while(0);if((R|0)==23){R=0;wa=f[y>>2]|0}if(!wa){B=1;break}else I=wa}}while(0);wa=f[z>>2]|0;va=f[s>>2]|0;la=wa+(((va>>>0)/341|0)<<2)|0;ua=f[x>>2]|0;ta=ua;ra=wa;if((ua|0)==(wa|0)){xa=0;ya=0}else{sa=(f[y>>2]|0)+va|0;xa=(f[wa+(((sa>>>0)/341|0)<<2)>>2]|0)+(((sa>>>0)%341|0)*12|0)|0;ya=(f[la>>2]|0)+(((va>>>0)%341|0)*12|0)|0}va=la;la=ya;d:while(1){ya=la;do{sa=ya;if((xa|0)==(sa|0))break d;ya=sa+12|0}while((ya-(f[va>>2]|0)|0)!=4092);ya=va+4|0;va=ya;la=f[ya>>2]|0}f[y>>2]=0;y=ta-ra>>2;if(y>>>0>2){ra=wa;do{lp(f[ra>>2]|0);ra=(f[z>>2]|0)+4|0;f[z>>2]=ra;za=f[x>>2]|0;Aa=za-ra>>2}while(Aa>>>0>2);Ba=Aa;Ca=ra;Da=za}else{Ba=y;Ca=wa;Da=ua}switch(Ba|0){case 1:{Ea=170;R=96;break}case 2:{Ea=341;R=96;break}default:{}}if((R|0)==96)f[s>>2]=Ea;if((Ca|0)!=(Da|0)){Ea=Ca;do{lp(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Da|0));Da=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Da|0))f[x>>2]=z+(~((z+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=d;return B|0}lp(Da);u=d;return B|0}function qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;j=a+556|0;k=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[t>>2]|0)+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}J=Jg(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0<3){K=f[q>>2]|0;f[K>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=J;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[K+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!I){O=23;break}R=0;S=U;while(1){if(!S)V=f[w>>2]|0;else{Q=f[q>>2]|0;K=f[w>>2]|0;T=f[G>>2]|0;W=0;do{X=Q+(W<<2)|0;f[K+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=K+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[j>>2]|0;da=ca+4|0;if((da|0)==(f[k>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[j>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[j>>2]|0;if((ba|0)==(f[k>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[j>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=K+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=K}K=f[V>>2]|0;f[e>>2]=K;f[p>>2]=f[V+4>>2];f[r>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=K;f[Q+4>>2]=f[p>>2];f[Q+8>>2]=f[r>>2];f[T>>2]=Q+12}else Qf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=R+1|0;if(W>>>0>=I>>>0){O=23;break b}R=W;S=f[h>>2]|0}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}S=N+1|0;R=f[l>>2]|0;P=R+(S*12|0)|0;if((P|0)==(L|0))ga=R;else{mf(P,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=I-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{R=f[n>>2]|0;Q=f[C>>2]|0;do if((Q|0)!=(f[o>>2]|0)){T=(f[Q>>2]&1<<31-R|0)!=0;K=R+1|0;f[n>>2]=K;if((K|0)==32){f[C>>2]=Q+4;f[n>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[t>>2]|0;P=f[W+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(W+(S*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[x>>2]|0;P=f[z>>2]|0;Q=W-P>>2;R=f[s>>2]|0;T=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(T+R|0)){nc(g);ka=f[s>>2]|0;la=f[y>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0}else{ka=R;la=T;ma=W;na=P}P=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[oa>>2]=ia;f[oa+4>>2]=J;f[oa+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!ja)O=23;else{P=f[x>>2]|0;W=f[z>>2]|0;T=P-W>>2;R=f[s>>2]|0;Q=f[y>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(Q+R|0)){nc(g);pa=f[s>>2]|0;qa=f[y>>2]|0;ra=f[x>>2]|0;sa=f[z>>2]|0}else{pa=R;qa=Q;ra=P;sa=W}W=qa+pa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((W>>>0)/341|0)<<2)>>2]|0)+(((W>>>0)%341|0)*12|0)|0;f[ta>>2]=ja;f[ta+4>>2]=J;f[ta+8>>2]=S;W=(f[y>>2]|0)+1|0;f[y>>2]=W;ua=W}}while(0);if((O|0)==23){O=0;ua=f[y>>2]|0}if(!ua){B=1;break}else F=ua}}while(0);ua=f[z>>2]|0;ta=f[s>>2]|0;ja=ua+(((ta>>>0)/341|0)<<2)|0;sa=f[x>>2]|0;ra=sa;pa=ua;if((sa|0)==(ua|0)){va=0;wa=0}else{qa=(f[y>>2]|0)+ta|0;va=(f[ua+(((qa>>>0)/341|0)<<2)>>2]|0)+(((qa>>>0)%341|0)*12|0)|0;wa=(f[ja>>2]|0)+(((ta>>>0)%341|0)*12|0)|0}ta=ja;ja=wa;d:while(1){wa=ja;do{qa=wa;if((va|0)==(qa|0))break d;wa=qa+12|0}while((wa-(f[ta>>2]|0)|0)!=4092);wa=ta+4|0;ta=wa;ja=f[wa>>2]|0}f[y>>2]=0;y=ra-pa>>2;if(y>>>0>2){pa=ua;do{lp(f[pa>>2]|0);pa=(f[z>>2]|0)+4|0;f[z>>2]=pa;xa=f[x>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=ya;Aa=pa;Ba=xa}else{za=y;Aa=ua;Ba=sa}switch(za|0){case 1:{Ca=170;O=94;break}case 2:{Ca=341;O=94;break}default:{}}if((O|0)==94)f[s>>2]=Ca;if((Aa|0)!=(Ba|0)){Ca=Aa;do{lp(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Ba|0));Ba=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ba|0))f[x>>2]=z+(~((z+-4-Ba|0)>>>2)<<2)}Ba=f[g>>2]|0;if(!Ba){u=d;return B|0}lp(Ba);u=d;return B|0}function rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;j=a+556|0;k=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[t>>2]|0)+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}J=pl(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0<3){K=f[q>>2]|0;f[K>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=J;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[K+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!I){O=23;break}R=0;S=U;while(1){if(!S)V=f[w>>2]|0;else{Q=f[q>>2]|0;K=f[w>>2]|0;T=f[G>>2]|0;W=0;do{X=Q+(W<<2)|0;f[K+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=K+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[j>>2]|0;da=ca+4|0;if((da|0)==(f[k>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[j>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[j>>2]|0;if((ba|0)==(f[k>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[j>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=K+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=K}K=f[V>>2]|0;f[e>>2]=K;f[p>>2]=f[V+4>>2];f[r>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=K;f[Q+4>>2]=f[p>>2];f[Q+8>>2]=f[r>>2];f[T>>2]=Q+12}else Qf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=R+1|0;if(W>>>0>=I>>>0){O=23;break b}R=W;S=f[h>>2]|0}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}S=N+1|0;R=f[l>>2]|0;P=R+(S*12|0)|0;if((P|0)==(L|0))ga=R;else{mf(P,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=I-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{R=f[n>>2]|0;Q=f[C>>2]|0;do if((Q|0)!=(f[o>>2]|0)){T=(f[Q>>2]&1<<31-R|0)!=0;K=R+1|0;f[n>>2]=K;if((K|0)==32){f[C>>2]=Q+4;f[n>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[t>>2]|0;P=f[W+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(W+(S*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[x>>2]|0;P=f[z>>2]|0;Q=W-P>>2;R=f[s>>2]|0;T=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(T+R|0)){nc(g);ka=f[s>>2]|0;la=f[y>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0}else{ka=R;la=T;ma=W;na=P}P=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[oa>>2]=ia;f[oa+4>>2]=J;f[oa+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!ja)O=23;else{P=f[x>>2]|0;W=f[z>>2]|0;T=P-W>>2;R=f[s>>2]|0;Q=f[y>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(Q+R|0)){nc(g);pa=f[s>>2]|0;qa=f[y>>2]|0;ra=f[x>>2]|0;sa=f[z>>2]|0}else{pa=R;qa=Q;ra=P;sa=W}W=qa+pa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((W>>>0)/341|0)<<2)>>2]|0)+(((W>>>0)%341|0)*12|0)|0;f[ta>>2]=ja;f[ta+4>>2]=J;f[ta+8>>2]=S;W=(f[y>>2]|0)+1|0;f[y>>2]=W;ua=W}}while(0);if((O|0)==23){O=0;ua=f[y>>2]|0}if(!ua){B=1;break}else F=ua}}while(0);ua=f[z>>2]|0;ta=f[s>>2]|0;ja=ua+(((ta>>>0)/341|0)<<2)|0;sa=f[x>>2]|0;ra=sa;pa=ua;if((sa|0)==(ua|0)){va=0;wa=0}else{qa=(f[y>>2]|0)+ta|0;va=(f[ua+(((qa>>>0)/341|0)<<2)>>2]|0)+(((qa>>>0)%341|0)*12|0)|0;wa=(f[ja>>2]|0)+(((ta>>>0)%341|0)*12|0)|0}ta=ja;ja=wa;d:while(1){wa=ja;do{qa=wa;if((va|0)==(qa|0))break d;wa=qa+12|0}while((wa-(f[ta>>2]|0)|0)!=4092);wa=ta+4|0;ta=wa;ja=f[wa>>2]|0}f[y>>2]=0;y=ra-pa>>2;if(y>>>0>2){pa=ua;do{lp(f[pa>>2]|0);pa=(f[z>>2]|0)+4|0;f[z>>2]=pa;xa=f[x>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=ya;Aa=pa;Ba=xa}else{za=y;Aa=ua;Ba=sa}switch(za|0){case 1:{Ca=170;O=94;break}case 2:{Ca=341;O=94;break}default:{}}if((O|0)==94)f[s>>2]=Ca;if((Aa|0)!=(Ba|0)){Ca=Aa;do{lp(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Ba|0));Ba=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ba|0))f[x>>2]=z+(~((z+-4-Ba|0)>>>2)<<2)}Ba=f[g>>2]|0;if(!Ba){u=d;return B|0}lp(Ba);u=d;return B|0}function sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;j=a+556|0;k=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(M|0)?0:M+1|0;if(J>>>0>=G>>>0){B=0;break a}G=(f[t>>2]|0)+(N*12|0)|0;M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0>=3){if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}K=N+1|0;mf(H+(K*12|0)|0,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-T|0;P=I-R|0;c:do if((R|0)==(P|0)){U=R;V=R}else{S=f[n>>2]|0;Q=f[C>>2]|0;do if((Q|0)!=(f[o>>2]|0)){W=(f[Q>>2]&1<<31-S|0)!=0;X=S+1|0;f[n>>2]=X;if((X|0)==32){f[C>>2]=Q+4;f[n>>2]=0;if(W){U=R;V=P;break c}else break}else if(W){U=R;V=P;break c}else break}while(0);U=P;V=R}while(0);R=f[t>>2]|0;P=f[R+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(R+(K*12|0)|0,P,f[R+(N*12|0)+4>>2]|0);if(U|0){R=f[x>>2]|0;P=f[z>>2]|0;Q=R-P>>2;S=f[s>>2]|0;W=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(W+S|0)){nc(g);Y=f[s>>2]|0;Z=f[y>>2]|0;$=f[x>>2]|0;aa=f[z>>2]|0}else{Y=S;Z=W;$=R;aa=P}P=Z+Y|0;if(($|0)==(aa|0))ba=0;else ba=(f[aa+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[ba>>2]=U;f[ba+4>>2]=J;f[ba+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!V){O=23;break}P=f[x>>2]|0;R=f[z>>2]|0;W=P-R>>2;S=f[s>>2]|0;Q=f[y>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(Q+S|0)){nc(g);ca=f[s>>2]|0;da=f[y>>2]|0;ea=f[x>>2]|0;fa=f[z>>2]|0}else{ca=S;da=Q;ea=P;fa=R}R=da+ca|0;if((ea|0)==(fa|0))ga=0;else ga=(f[fa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ga>>2]=V;f[ga+4>>2]=J;f[ga+8>>2]=K;R=(f[y>>2]|0)+1|0;f[y>>2]=R;ha=R;break}R=f[q>>2]|0;f[R>>2]=J;P=f[h>>2]|0;if(P>>>0>1){Q=1;S=P;W=J;while(1){W=(W|0)==(S+-1|0)?0:W+1|0;f[R+(Q<<2)>>2]=W;Q=Q+1|0;X=f[h>>2]|0;if(Q>>>0>=X>>>0){ia=X;break}else S=X}}else ia=P;if(!I)O=23;else{S=0;Q=ia;while(1){if(!Q)ja=f[w>>2]|0;else{W=f[q>>2]|0;R=f[w>>2]|0;K=f[G>>2]|0;X=0;do{ka=W+(X<<2)|0;f[R+(f[ka>>2]<<2)>>2]=0;la=f[ka>>2]|0;ma=(f[a>>2]|0)-(f[K+(la<<2)>>2]|0)|0;do if(ma|0){na=R+(la<<2)|0;oa=f[m>>2]|0;pa=32-oa|0;if((ma|0)>(pa|0)){qa=f[j>>2]|0;ra=qa+4|0;if((ra|0)==(f[k>>2]|0)){f[na>>2]=0;break}else{sa=f[qa>>2]<>2]=qa;f[j>>2]=ra;ta=32-qa|0;f[na>>2]=(f[ra>>2]|0)>>>ta|sa>>>(ta-pa|0);break}}pa=f[j>>2]|0;if((pa|0)==(f[k>>2]|0)){f[na>>2]=0;break}f[na>>2]=f[pa>>2]<>>(32-ma|0);oa=(f[m>>2]|0)+ma|0;f[m>>2]=oa;if((oa|0)!=32)break;f[j>>2]=pa+4;f[m>>2]=0}while(0);ma=f[ka>>2]|0;la=R+(ma<<2)|0;f[la>>2]=f[la>>2]|f[(f[L>>2]|0)+(ma<<2)>>2];X=X+1|0}while(X>>>0<(f[h>>2]|0)>>>0);ja=R}R=f[ja>>2]|0;f[e>>2]=R;f[p>>2]=f[ja+4>>2];f[r>>2]=f[ja+8>>2];X=f[c>>2]|0;K=X+4|0;W=f[K>>2]|0;if(W>>>0<(f[X+8>>2]|0)>>>0){f[W>>2]=R;f[W+4>>2]=f[p>>2];f[W+8>>2]=f[r>>2];f[K>>2]=W+12}else Qf(X,e);f[v>>2]=(f[v>>2]|0)+1;X=S+1|0;if(X>>>0>=I>>>0){O=23;break b}S=X;Q=f[h>>2]|0}}}while(0);if((O|0)==23){O=0;ha=f[y>>2]|0}if(!ha){B=1;break}else F=ha}}while(0);ha=f[z>>2]|0;h=f[s>>2]|0;e=ha+(((h>>>0)/341|0)<<2)|0;c=f[x>>2]|0;ja=c;a=ha;if((c|0)==(ha|0)){ua=0;va=0}else{ia=(f[y>>2]|0)+h|0;ua=(f[ha+(((ia>>>0)/341|0)<<2)>>2]|0)+(((ia>>>0)%341|0)*12|0)|0;va=(f[e>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=e;e=va;d:while(1){va=e;do{ia=va;if((ua|0)==(ia|0))break d;va=ia+12|0}while((va-(f[h>>2]|0)|0)!=4092);va=h+4|0;h=va;e=f[va>>2]|0}f[y>>2]=0;y=ja-a>>2;if(y>>>0>2){a=ha;do{lp(f[a>>2]|0);a=(f[z>>2]|0)+4|0;f[z>>2]=a;wa=f[x>>2]|0;xa=wa-a>>2}while(xa>>>0>2);ya=xa;za=a;Aa=wa}else{ya=y;za=ha;Aa=c}switch(ya|0){case 1:{Ba=170;O=92;break}case 2:{Ba=341;O=92;break}default:{}}if((O|0)==92)f[s>>2]=Ba;if((za|0)!=(Aa|0)){Ba=za;do{lp(f[Ba>>2]|0);Ba=Ba+4|0}while((Ba|0)!=(Aa|0));Aa=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Aa|0))f[x>>2]=z+(~((z+-4-Aa|0)>>>2)<<2)}Aa=f[g>>2]|0;if(!Aa){u=d;return B|0}lp(Aa);u=d;return B|0}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+128|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+104|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+92|0;m=a+48|0;j=a+44|0;k=a+36|0;i=a+4|0;n=a+16|0;o=a+88|0;C=a+76|0;D=a+84|0;E=e+4|0;F=e+8|0;G=A;while(1){H=f[s>>2]|0;I=G+-1|0;J=H+I|0;K=f[z>>2]|0;L=f[K+(((J>>>0)/341|0)<<2)>>2]|0;M=(J>>>0)%341|0;J=f[L+(M*12|0)>>2]|0;N=f[L+(M*12|0)+4>>2]|0;O=f[L+(M*12|0)+8>>2]|0;f[y>>2]=I;I=f[x>>2]|0;M=I-K>>2;if((1-G-H+((M|0)==0?0:(M*341|0)+-1|0)|0)>>>0>681){lp(f[I+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}I=f[l>>2]|0;M=I+(O*12|0)|0;H=(f[t>>2]|0)+(O*12|0)|0;if(J>>>0>b>>>0){B=0;break a}K=pl(a,J,H,N)|0;if(K>>>0>=(f[h>>2]|0)>>>0){B=0;break a}N=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!N){if(J|0){L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[E>>2]=f[P+4>>2];f[F>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[E>>2];f[S+8>>2]=f[F>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;L=L+1|0}while(L>>>0>>0)}}else if(J>>>0<3){L=f[q>>2]|0;f[L>>2]=K;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=K;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[L+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!J)break;R=0;S=U;while(1){if(!S)V=f[w>>2]|0;else{Q=f[q>>2]|0;L=f[w>>2]|0;T=f[H>>2]|0;W=0;do{X=Q+(W<<2)|0;f[L+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=L+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[j>>2]|0;da=ca+4|0;if((da|0)==(f[k>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[j>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[j>>2]|0;if((ba|0)==(f[k>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[j>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=L+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[M>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=L}L=f[V>>2]|0;f[e>>2]=L;f[p>>2]=f[V+4>>2];f[r>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=L;f[Q+4>>2]=f[p>>2];f[Q+8>>2]=f[r>>2];f[T>>2]=Q+12}else Qf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=R+1|0;if(W>>>0>=J>>>0)break b;R=W;S=f[h>>2]|0}}else{if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}S=O+1|0;R=f[l>>2]|0;P=R+(S*12|0)|0;if((P|0)==(M|0))ga=R;else{mf(P,f[M>>2]|0,f[I+(O*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;Hh(n,P,e);P=(J>>>1)-(f[e>>2]|0)|0;R=J-P|0;c:do if((P|0)==(R|0)){ha=P;ia=P}else{W=f[o>>2]|0;Q=f[D>>2]|0;do if((Q|0)!=(f[C>>2]|0)){T=(f[Q>>2]&1<<31-W|0)!=0;L=W+1|0;f[o>>2]=L;if((L|0)==32){f[D>>2]=Q+4;f[o>>2]=0;if(T){ha=P;ia=R;break c}else break}else if(T){ha=P;ia=R;break c}else break}while(0);ha=R;ia=P}while(0);P=f[t>>2]|0;R=f[P+(O*12|0)>>2]|0;Q=R+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(P+(S*12|0)|0,R,f[P+(O*12|0)+4>>2]|0);if(ha|0){P=f[x>>2]|0;R=f[z>>2]|0;Q=P-R>>2;W=f[s>>2]|0;T=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(T+W|0)){nc(g);ja=f[s>>2]|0;ka=f[y>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0}else{ja=W;ka=T;la=P;ma=R}R=ka+ja|0;if((la|0)==(ma|0))na=0;else na=(f[ma+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[na>>2]=ha;f[na+4>>2]=K;f[na+8>>2]=O;f[y>>2]=(f[y>>2]|0)+1}if(ia|0){R=f[x>>2]|0;P=f[z>>2]|0;T=R-P>>2;W=f[s>>2]|0;Q=f[y>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(Q+W|0)){nc(g);oa=f[s>>2]|0;pa=f[y>>2]|0;qa=f[x>>2]|0;ra=f[z>>2]|0}else{oa=W;pa=Q;qa=R;ra=P}P=pa+oa|0;if((qa|0)==(ra|0))sa=0;else sa=(f[ra+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[sa>>2]=ia;f[sa+4>>2]=K;f[sa+8>>2]=S;f[y>>2]=(f[y>>2]|0)+1}break}while(0);G=f[y>>2]|0;if(!G){B=1;break}}}while(0);sa=f[z>>2]|0;ia=f[s>>2]|0;ra=sa+(((ia>>>0)/341|0)<<2)|0;qa=f[x>>2]|0;oa=qa;pa=sa;if((qa|0)==(sa|0)){ta=0;ua=0}else{na=(f[y>>2]|0)+ia|0;ta=(f[sa+(((na>>>0)/341|0)<<2)>>2]|0)+(((na>>>0)%341|0)*12|0)|0;ua=(f[ra>>2]|0)+(((ia>>>0)%341|0)*12|0)|0}ia=ra;ra=ua;d:while(1){ua=ra;do{na=ua;if((ta|0)==(na|0))break d;ua=na+12|0}while((ua-(f[ia>>2]|0)|0)!=4092);ua=ia+4|0;ia=ua;ra=f[ua>>2]|0}f[y>>2]=0;y=oa-pa>>2;if(y>>>0>2){pa=sa;do{lp(f[pa>>2]|0);pa=(f[z>>2]|0)+4|0;f[z>>2]=pa;va=f[x>>2]|0;wa=va-pa>>2}while(wa>>>0>2);xa=wa;ya=pa;za=va}else{xa=y;ya=sa;za=qa}switch(xa|0){case 1:{Aa=170;Ba=92;break}case 2:{Aa=341;Ba=92;break}default:{}}if((Ba|0)==92)f[s>>2]=Aa;if((ya|0)!=(za|0)){Aa=ya;do{lp(f[Aa>>2]|0);Aa=Aa+4|0}while((Aa|0)!=(za|0));za=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(za|0))f[x>>2]=z+(~((z+-4-za|0)>>>2)<<2)}za=f[g>>2]|0;if(!za){u=d;return B|0}lp(za);u=d;return B|0}function ub(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=Na,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+720|0;e=d;g=d+688|0;i=d+656|0;k=d+4|0;if((j[c+38>>1]|0)>514){f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;m=c+8|0;o=c+16|0;p=g+4|0;q=g+8|0;r=a+36|0;t=a+40|0;v=a+60|0;w=a+44|0;x=g+8|0;y=g+12|0;z=g+20|0;A=0;a:while(1){if((A|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){B=4;break}C=Qa[f[(f[a>>2]|0)+20>>2]&127](a,A)|0;D=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;E=f[(f[(f[D>>2]|0)+8>>2]|0)+(C<<2)>>2]|0;if((f[E+28>>2]|0)==9){C=b[E+24>>0]|0;E=f[l>>2]|0;D=f[i>>2]|0;F=E-D>>2;G=D;D=E;if(F>>>0>=C>>>0){if(F>>>0>C>>>0?(E=G+(C<<2)|0,(E|0)!=(D|0)):0)f[l>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Rg(i,C-F|0);F=C<<2;E=m;D=f[E>>2]|0;G=f[E+4>>2]|0;E=o;H=f[E>>2]|0;J=Ul(H|0,f[E+4>>2]|0,F|0,0)|0;E=I;if((G|0)<(E|0)|(G|0)==(E|0)&D>>>0>>0){K=0;break}Jf(f[i>>2]|0,(f[c>>2]|0)+H|0,F|0)|0;H=o;J=Ul(f[H>>2]|0,f[H+4>>2]|0,F|0,0)|0;F=I;H=o;f[H>>2]=J;f[H+4>>2]=F;H=m;D=f[H>>2]|0;E=f[H+4>>2]|0;H=Ul(J|0,F|0,4,0)|0;G=I;if((E|0)<(G|0)|(E|0)==(G|0)&D>>>0>>0){K=0;break}L=f[c>>2]|0;M=L+J|0;b[s>>0]=b[M>>0];b[s+1>>0]=b[M+1>>0];b[s+2>>0]=b[M+2>>0];b[s+3>>0]=b[M+3>>0];N=$(n[s>>2]);M=o;f[M>>2]=H;f[M+4>>2]=G;if(!((E|0)>(G|0)|(E|0)==(G|0)&D>>>0>H>>>0)){K=0;break}D=b[L+H>>0]|0;H=Ul(J|0,F|0,5,0)|0;F=o;f[F>>2]=H;f[F+4>>2]=I;if((D&255)>31){K=0;break}f[g>>2]=1228;f[p>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Ij(g,D&255,f[i>>2]|0,C,N);do if(aj(g,f[(f[v>>2]|0)+((((f[t>>2]|0)-(f[r>>2]|0)|0)/24|0)<<2)>>2]|0)|0){C=f[t>>2]|0;if((C|0)==(f[w>>2]|0)){De(r,g);O=0;break}f[C>>2]=1228;f[C+4>>2]=f[p>>2];P=C+8|0;f[P>>2]=0;D=C+12|0;f[D>>2]=0;f[C+16>>2]=0;F=(f[y>>2]|0)-(f[x>>2]|0)|0;H=F>>2;if(H|0){if(H>>>0>1073741823){B=20;break a}J=Yk(F)|0;f[D>>2]=J;f[P>>2]=J;f[C+16>>2]=J+(H<<2);H=f[x>>2]|0;F=(f[y>>2]|0)-H|0;if((F|0)>0){Jf(J|0,H|0,F|0)|0;f[D>>2]=J+(F>>>2<<2)}}f[C+20>>2]=f[z>>2];f[t>>2]=(f[t>>2]|0)+24;O=0}else O=1;while(0);f[g>>2]=1228;C=f[q>>2]|0;if(C|0){F=f[y>>2]|0;if((F|0)!=(C|0))f[y>>2]=F+(~((F+-4-C|0)>>>2)<<2);lp(C)}if(O|0){K=0;break}}A=A+1|0}if((B|0)==20)Do(P);if((B|0)==4){P=a+48|0;A=a+52|0;if((f[A>>2]|0)==(f[P>>2]|0))K=1;else{O=0;y=0;while(1){if(Rh(g,c)|0){q=f[g>>2]|0;Q=q<<31>>31^q>>>1}else Q=y;q=f[P>>2]|0;f[q+(O<<2)>>2]=Q;O=O+1|0;if(O>>>0>=(f[A>>2]|0)-q>>2>>>0){K=1;break}else y=Q}}}Q=f[i>>2]|0;if(Q|0){y=f[l>>2]|0;if((y|0)!=(Q|0))f[l>>2]=y+(~((y+-4-Q|0)>>>2)<<2);lp(Q)}R=K;u=d;return R|0}K=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;f[g+8>>2]=0;y=(K|0)==0;if(y){S=0;T=f[(f[a>>2]|0)+20>>2]|0;U=a}else{if(K>>>0>214748364)Do(g);l=K*20|0;A=Yk(l)|0;f[g>>2]=A;f[g+8>>2]=A+(K*20|0);Gh(A|0,0,l|0)|0;f[Q>>2]=A+l;l=0;A=0;O=f[(f[a>>2]|0)+20>>2]|0;while(1){P=Qa[O&127](a,l)|0;q=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;t=f[(f[(f[q>>2]|0)+8>>2]|0)+(P<<2)>>2]|0;P=f[t+28>>2]|0;q=Yj(P)|0;z=b[t+24>>0]|0;x=f[g>>2]|0;f[x+(l*20|0)>>2]=t;f[x+(l*20|0)+4>>2]=A;f[x+(l*20|0)+8>>2]=P;f[x+(l*20|0)+12>>2]=(q|0)>0?q:0;f[x+(l*20|0)+16>>2]=z;x=A+z|0;l=l+1|0;z=f[(f[a>>2]|0)+20>>2]|0;if(l>>>0>=K>>>0){S=x;T=z;U=a;break}else{A=x;O=z}}}O=Qa[T&127](a,0)|0;T=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;A=f[(f[(f[T>>2]|0)+8>>2]|0)+(O<<2)>>2]|0;b[A+84>>0]=1;O=f[A+68>>2]|0;T=A+72|0;l=f[T>>2]|0;if((l|0)!=(O|0))f[T>>2]=l+(~((l+-4-O|0)>>>2)<<2);O=c+8|0;l=f[O>>2]|0;T=f[O+4>>2]|0;O=c+16|0;z=O;x=f[z>>2]|0;q=f[z+4>>2]|0;b:do if((T|0)>(q|0)|(T|0)==(q|0)&l>>>0>x>>>0){z=f[c>>2]|0;P=b[z+x>>0]|0;t=Ul(x|0,q|0,1,0)|0;p=I;r=O;f[r>>2]=t;f[r+4>>2]=p;switch(P<<24>>24){case 0:{if(!((T|0)>(p|0)|(T|0)==(p|0)&l>>>0>t>>>0)){V=0;break b}P=Ul(x|0,q|0,2,0)|0;r=O;f[r>>2]=P;f[r+4>>2]=I;r=Ul(x|0,q|0,6,0)|0;w=I;if((T|0)<(w|0)|(T|0)==(w|0)&l>>>0>>0){V=0;break b}v=z+P|0;P=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=O;f[v>>2]=r;f[v+4>>2]=w;Nh(A,P)|0;Em(i);Mf(k,g);P=Xd(i,c,k)|0;w=f[k+16>>2]|0;if(w|0){v=k+20|0;r=f[v>>2]|0;if((r|0)!=(w|0))f[v>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[k>>2]|0;if(w|0){r=k+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;lp(w)}if(!P){V=0;break b}break}case 1:{if(!((T|0)>(p|0)|(T|0)==(p|0)&l>>>0>t>>>0)){V=0;break b}p=b[z+t>>0]|0;t=Ul(x|0,q|0,2,0)|0;P=O;f[P>>2]=t;f[P+4>>2]=I;if((p&255)>6){f[e>>2]=p&255;Ll(4930,e)|0;V=0;break b}P=Ul(x|0,q|0,6,0)|0;w=I;if((T|0)<(w|0)|(T|0)==(w|0)&l>>>0

>>0){V=0;break b}r=z+t|0;t=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=O;f[r>>2]=P;f[r+4>>2]=w;if(!y){w=0;do{r=Qa[f[(f[U>>2]|0)+20>>2]&127](a,w)|0;P=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[P>>2]|0)+8>>2]|0)+(r<<2)>>2]|0;Nh(z,t)|0;b[z+84>>0]=1;r=f[z+68>>2]|0;P=z+72|0;z=f[P>>2]|0;if((z|0)!=(r|0))f[P>>2]=z+(~((z+-4-r|0)>>>2)<<2);w=w+1|0}while(w>>>0>>0)}Mf(i,g);switch(p<<24>>24){case 0:{ye(k,S);w=he(k,c,i)|0;Be(k);if(w)B=77;else W=1;break}case 1:{ye(k,S);w=ge(k,c,i)|0;Be(k);if(w)B=77;else W=1;break}case 2:{Ae(k,S);w=je(k,c,i)|0;Oe(k);if(w)B=77;else W=1;break}case 3:{Ae(k,S);w=ie(k,c,i)|0;Oe(k);if(w)B=77;else W=1;break}case 4:{se(k,S);w=ce(k,c,i)|0;Fe(k);if(w)B=77;else W=1;break}case 5:{se(k,S);w=be(k,c,i)|0;Fe(k);if(w)B=77;else W=1;break}case 6:{se(k,S);w=ae(k,c,i)|0;Fe(k);if(w)B=77;else W=1;break}default:W=1}if((B|0)==77)W=0;w=f[i+16>>2]|0;if(w|0){t=i+20|0;r=f[t>>2]|0;if((r|0)!=(w|0))f[t>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[i>>2]|0;if(w|0){r=i+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;lp(w)}if(W|0){V=0;break b}break}default:{V=0;break b}}V=1}else V=0;while(0);W=f[g>>2]|0;if(W|0){g=f[Q>>2]|0;if((g|0)!=(W|0))f[Q>>2]=g+(~(((g+-20-W|0)>>>0)/20|0)*20|0);lp(W)}R=V;u=d;return R|0}function vb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Na,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=Ul(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0} -function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Ul(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Ul(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Wl(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function Qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)Do(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=ra(8)|0;cn(l,13388);f[l>>2]=4744;va(l|0,1128,101)}else{n=Yk(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=j;j=l;while(1){l=g;g=g+-12|0;f[j+-12>>2]=f[g>>2];f[j+-8>>2]=f[l+-8>>2];f[j+-4>>2]=f[l+-4>>2];l=j+-12|0;if((g|0)==(i|0)){o=l;break}else j=l}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;lp(e);return}function Rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){lp(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=j;j=g;while(1){m=l+8|0;if((j|0)==(f[i>>2]|0))kf(a,m);else{Ch(j,m);f[h>>2]=(f[h>>2]|0)+12}m=f[l>>2]|0;if(!m)break a;l=m;j=f[h>>2]|0}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Wa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;lp(d)}lp(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;lp(a)}lp(e)}lp(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==1048576;return k|0}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)Do(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;cn(h,13388);f[h>>2]=4744;va(h|0,1128,101)}else{k=Yk(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)Jf(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;lp(d);return}function Vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;if(!(Md(a,b)|0)){e=0;u=c;return e|0}g=b+8|0;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Ul(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){e=0;u=c;return e|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){e=0;u=c;return e|0}k=f[a+152>>2]|0;if((l|0)>=(k|0)){e=0;u=c;return e|0}l=a+156|0;f[d>>2]=0;i=a+160|0;m=f[i>>2]|0;g=f[l>>2]|0;j=m-g>>2;n=g;g=m;if(k>>>0<=j>>>0){if(k>>>0>>0?(m=n+(k<<2)|0,(m|0)!=(g|0)):0)f[i>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else dg(l,k-j|0,d);e=Bd(a+168|0,b)|0;u=c;return e|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==524288;return k|0}function Xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==262144;return k|0}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)lp(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)lp(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;Of(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;Of(a+12|0,k,e);Re(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,3596);ri(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);ri(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==65536;return k|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==32768;return k|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==8192;return k|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==4096;return k|0}function bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((Bb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=qp(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=Bb(a,c,g,i,h)|0;if(!o)s=j;else{Ra[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=Bb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)pp(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){ue(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;lp(h)}lp(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);lp(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(a)}lp(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)Do(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;cn(e,13388);f[e>>2]=4744;va(e|0,1128,101)}else{e=Yk(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)Jf(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;lp(i);return}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Hn(f[a+8>>2]|0,e)|0;h=Hn(f[a+12>>2]|0,e)|0;i=Hn(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Hn(f[a+(q<<2)>>2]|0,e)|0;s=Hn(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=pj(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Hn(f[a+(m<<2)>>2]|0,e)|0;j=Hn(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function fg(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Gn(l,e,0)|0){f[i+48>>2]=1;Za[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ya[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=Na;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=0;n=0;o=0;p=j;while(1){q=$($(1.0)/$(p|0));af(g,$(q*$(f[k+(m<<2)>>2]|0)),$(q*$(f[k+((m|1)<<2)>>2]|0)),e);Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+o|0,e|0,i|0)|0;j=n+1|0;if((j|0)==(c|0)){l=1;break}m=m+2|0;n=j;o=o+i|0;p=f[a>>2]|0}u=d;return l|0}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)Do(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{d=Yk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)Jf(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;lp(h);return}function ig(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=dj(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=dj(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=Uh(c)|0;if(h>>>0>4294967279)Do(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Fd(i,g,e)|0,(j|0)!=0):0)n=cj(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)lp(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}lp(f[e>>2]|0);u=d;return n|0}function lg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Pa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Se(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=Yk(44)|0;f[d>>2]=1536;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];pi(d+32|0,e+24|0);f[d>>2]=1592;g=d}f[a>>2]=g;return}function mg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(a|0)!=(k|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{dg(h,i-l|0,1404);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function ng(a){a=a|0;Ym(a);Ym(a+16|0);Ym(a+32|0);Ym(a+48|0);Ym(a+64|0);Ym(a+80|0);Ym(a+96|0);Ym(a+112|0);Ym(a+128|0);Ym(a+144|0);Ym(a+160|0);Ym(a+176|0);Ym(a+192|0);Ym(a+208|0);Ym(a+224|0);Ym(a+240|0);Ym(a+256|0);Ym(a+272|0);Ym(a+288|0);Ym(a+304|0);Ym(a+320|0);Ym(a+336|0);Ym(a+352|0);Ym(a+368|0);Ym(a+384|0);Ym(a+400|0);Ym(a+416|0);Ym(a+432|0);Ym(a+448|0);Ym(a+464|0);Ym(a+480|0);Ym(a+496|0);return}function og(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=ip(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){jp(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=a+i|0}}jp(k);return}else{Jf(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){jp(k);return}else{p=0;q=1}do{p=p+j|0;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+p|0,k|0,j|0)|0;q=q+1|0}while((q|0)!=(c|0));jp(k);return}}function pg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=ip(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){jp(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=a+h|0}}jp(j);return}else{Jf(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){jp(j);return}else{o=0;p=1}do{o=o+i|0;Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+o|0,j|0,i|0)|0;p=p+1|0}while((p|0)!=(c|0));jp(j);return}}function qg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);lp(g)}g=a+136|0;a=f[g>>2]|0;f[g>>2]=0;if(!a)return;g=a+-4|0;j=f[g>>2]|0;if(j|0){b=a+(j<<4)|0;do b=b+-16|0;while((b|0)!=(a|0))}jp(g);return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Yk(48)|0;Yn(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Yk(52)|0;$m(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=11689;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Ch(c,g);f[a>>2]=f[e>>2];Ch(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=d;return}}}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Dd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);lp(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);lp(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);lp(h)}dh(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function tg(a,b){a=a|0;b=b|0;var c=0,d=Na,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){yc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;yc(a,e);return}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}lp(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);lp(g);return}function vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;lp(d)}lp(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);lp(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;lp(i)}lp(j)}lp(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}lp(e);return}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;k=f[g+4>>2]|0;g=Ul(i|0,k|0,4,0)|0;l=I;if((e|0)<(l|0)|(e|0)==(l|0)&d>>>0>>0){m=0;return m|0}n=(f[b>>2]|0)+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=l;do if((j[b+38>>1]|0)<514){l=Ul(i|0,k|0,8,0)|0;n=I;if((e|0)<(n|0)|(e|0)==(n|0)&d>>>0>>0){m=0;return m|0}else{g=c;f[g>>2]=l;f[g+4>>2]=n;break}}while(0);if(!(o&1)){m=0;return m|0}c=(_(o|0)|0)^31;if((c+-1|0)>>>0>28){m=0;return m|0}f[a+8>>2]=c+1;o=2<>2]=o+-1;c=o+-2|0;f[a+16>>2]=c;f[a+20>>2]=(c|0)/2|0;m=1;return m|0}function xg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;lp(d)}lp(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);lp(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;lp(h)}lp(i)}lp(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;lp(b);return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=Yk(72)|0;gl(c);d=c;if((b|0)<0){Ua[f[(f[c>>2]|0)+4>>2]&127](c);e=0;return e|0}c=a+8|0;g=a+12|0;a=f[g>>2]|0;h=f[c>>2]|0;i=a-h>>2;do if((i|0)<=(b|0)){j=b+1|0;k=a;if(j>>>0>i>>>0){jf(c,j-i|0);break}if(j>>>0>>0?(l=h+(j<<2)|0,(l|0)!=(k|0)):0){j=k;do{k=j+-4|0;f[g>>2]=k;m=f[k>>2]|0;f[k>>2]=0;if(m|0)Ua[f[(f[m>>2]|0)+4>>2]&127](m);j=f[g>>2]|0}while((j|0)!=(l|0))}}while(0);g=(f[c>>2]|0)+(b<<2)|0;b=f[g>>2]|0;f[g>>2]=d;if(!b){e=1;return e|0}Ua[f[(f[b>>2]|0)+4>>2]&127](b);e=1;return e|0}function zg(a,b){a=a|0;b=b|0;var c=0,d=Na,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ic(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ic(a,e);return}function Ag(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=Yk(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Ug(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}Jf(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Pa[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Qa[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Qa[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Qa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Dh(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){lp(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}lp(f[e>>2]|0);u=a;return i|0}function Dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Bj(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Ra[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Ra[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);Jf(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Eg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Eg(c+8|0);lp(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)lp(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;lp(h)}if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);lp(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)lp(e);lp(d)}if((b[a+11>>0]|0)>=0)return;lp(f[a>>2]|0);return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;c=a+4|0;if((Pa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=gk(e,Qa[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;i=9;break}e=f[c>>2]|0;if(((h[e+36>>0]|0)<<8&65535)<512){if(!(Qa[f[(f[b>>2]|0)+28>>2]&127](b,f[(f[(f[e+4>>2]|0)+8>>2]|0)+(g<<2)>>2]|0)|0)){d=0;i=9;break}}else{j=oj(e,g)|0;if(!j){d=0;i=9;break}if(!(Qa[f[(f[b>>2]|0)+28>>2]&127](b,j)|0)){d=0;i=9;break}}a=a+1|0;if((a|0)>=(Pa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;i=9;break}}if((i|0)==9)return d|0;return 0}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=ip((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;jp(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Ul(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}Jf(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+j|0,g|0,a|0)|0;k=k+1|0;if((k|0)>=(b|0)){i=1;q=5;break}else j=j+a|0}if((q|0)==5){jp(g);return i|0}return 0}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=0;j=g;a:while(1){g=f[j+(a*144|0)>>2]|0;if(((g|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(g|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(g<<2)>>2]|0,(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){g=0;do{if((Qa[f[(f[k>>2]|0)+20>>2]&127](k,g)|0)==(c|0))break a;g=g+1|0}while((g|0)<(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=a+1|0;j=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-j|0)/144|0)>>>0){h=0;m=11;break}else a=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(a*144|0)+100>>0]|0)==0?0:m+(a*144|0)+4|0;return h|0}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Ul(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Ul(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(_(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(b>>>0<64){b=f[a+12>>2]|0;if(b>>>0<=1){e=0;return e|0}d=f[c>>2]|0;c=0;g=1;while(1){h=(f[d+(c<<2)>>2]|0)>>>0>(f[d+(g<<2)>>2]|0)>>>0?g:c;g=g+1|0;if(g>>>0>=b>>>0){e=h;break}else c=h}return e|0}c=a+580|0;b=f[c>>2]|0;g=32-b|0;d=a+576|0;if((g|0)<4){h=f[d>>2]|0;i=h+4|0;if((i|0)==(f[a+568>>2]|0)){e=0;return e|0}j=f[h>>2]<>2]=h;f[d>>2]=i;k=32-h|0;e=(f[i>>2]|0)>>>k|j>>>(k-g|0);return e|0}g=f[d>>2]|0;if((g|0)==(f[a+568>>2]|0)){e=0;return e|0}a=f[g>>2]<>>28;k=b+4|0;f[c>>2]=k;if((k|0)!=32){e=a;return e|0}f[d>>2]=g+4;f[c>>2]=0;e=a;return e|0}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=0;i=e;b:while(1){j=f[i+(h*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Qa[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=h+1|0;i=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-i|0)/144|0)>>>0)break a;else h=k}m=(f[c>>2]|0)+(h*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function Lg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;vg(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Ua[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);lp(g);return}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)Do(d);k=((b+-1|0)>>>5)+1|0;b=Yk(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;ef(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)lp(g);u=c;return}function Ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Ul(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=1200;f[e+4>>2]=-1;Ln(e,n);o=aj(e,f[a+16>>2]|0)|0;u=c;return o|0}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Do(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;cn(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{m=Yk(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Jf(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;lp(d);return}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=df(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=Yk(40)|0;Ch(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Ed(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Qg(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)Do(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=Yk(p)|0;if(g|0)Tm(o,m,g)|0;if(i|0)Tm(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Tm(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)lp(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Zn(o+p|0,l);u=k;return}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Gh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Do(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{d=Yk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;Gh(d|0,0,b<<2|0)|0;if((i|0)>0)Jf(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;lp(h);return}function Sg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}dh(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}lp(e);return}function Tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=Uh(d)|0;if(g>>>0>4294967279)Do(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=Yk(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){Jf(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(Bc(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}lp(f[e>>2]|0);u=a;return g|0}function Ug(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)Do(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=Yk(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)Jf(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;lp(e);return}function Vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Bk(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Pa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=1228;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Ij(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=aj(c,f[a+16>>2]|0)|0;f[c>>2]=1228;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}e=i;u=d;return e|0}function Xg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}dh(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;lp(b);return}function Yg(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function Zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Dh(c,g,e)|0;if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}lp(f[e>>2]|0);u=a;return h|0}function _g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=ql(l,k+1|0,15882,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Vh(c,n,0);k=n;j=b[h>>0]|0}Vh(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function $g(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Rg(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)Do(b);else if((m|0)==12)return d|0;return 0}function ah(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=ip(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Ym(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do i=i+-16|0;while((i|0)!=(c|0))}jp(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(Bd((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function bh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;bh(a+20|0);if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)lp(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;lp(g)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)lp(d);lp(c);return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Bc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;c=e;a=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e+4|0;e=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=d;d=c;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;a=c+4|0;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;g=1;return g|0}function dh(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0)lp(b);b=f[a>>2]|0;if(!b)return;lp(b);return}function eh(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=$k()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=16021;xl(15971,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Ra[f[(f[262]|0)+16>>2]&31](1048,k,g)|0){k=f[g>>2]|0;g=Pa[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=16021;f[e+4>>2]=h;f[e+8>>2]=g;xl(15885,e)}else{f[d>>2]=16021;f[d+4>>2]=h;xl(15930,d)}}xl(16009,b)}function fh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(fp()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=sp()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=sp()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function gh(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}f[a+4>>2]=3196;b=f[a+24>>2]|0;if(b|0)lp(b);b=f[a+12>>2]|0;if(!b)return;lp(b);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)Do(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;cn(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{k=Yk(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)Jf(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;lp(d);return}function ih(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;ch(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}lp(f[g>>2]|0);u=a;return +n}function jh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=4124;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=sp()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=bg(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Qh(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}lp(f[g>>2]|0);u=a;return c|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[a>>2]|0;e=d;if((((f[c>>2]|0)-d|0)/12|0)>>>0>=b>>>0)return;g=a+4|0;if(b>>>0>357913941){h=ra(8)|0;cn(h,13388);f[h>>2]=4744;va(h|0,1128,101)}h=f[g>>2]|0;i=Yk(b*12|0)|0;j=i+(((h-d|0)/12|0)*12|0)|0;k=j;l=i+(b*12|0)|0;b=h;if((b|0)==(e|0))m=k;else{h=b;b=j;do{j=h;h=h+-12|0;f[b+-12>>2]=f[h>>2];f[b+-8>>2]=f[j+-8>>2];f[b+-4>>2]=f[j+-4>>2];b=b+-12|0}while((h|0)!=(e|0));m=b}f[a>>2]=m;f[g>>2]=k;f[c>>2]=l;if(!d)return;lp(d);return}function mh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){mh(h);lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)lp(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;lp(d);return}function nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=ch(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}lp(f[g>>2]|0);u=a;return h|0}function oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Qh(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}lp(f[g>>2]|0);u=a;return h|0}function ph(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Bk(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;Ym(a+400|0);f[a+416>>2]=-1;f[a+420>>2]=-1;return}function qh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(qh(a,c)|0){j=a;e=Rl(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function rh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){e=d+8|0;g=f[e+4>>2]|0;i=d+16|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;if((g|0)>(l|0)|((g|0)==(l|0)?(f[e>>2]|0)>>>0>k>>>0:0)){e=b[(f[d>>2]|0)+k>>0]|0;g=Ul(k|0,l|0,1,0)|0;l=i;f[l>>2]=g;f[l+4>>2]=I;f[a+24>>2]=e&255;break}else{m=0;return m|0}}while(0);m=xc(a,c,d)|0;return m|0}function sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;Re(a,e,3568);Re(a+12|0,e,3564);ri(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)lp(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}lp(b);d=1;return d|0}function th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));lg(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);lp(i)}f[a>>2]=f[h>>2];u=e;return}function uh(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;lp(a)}lp(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;lp(c)}lp(d)}lp(b);return}function vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){Lh(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;Ol(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Zn(m+d|0,g)}u=e;return a|0}function wh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Rm(l,c,d)|0;b[g>>0]=0;Zn(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Qg(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function xh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+8|0;d=f[c>>2]|0;if(!d){lp(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}lp(g);lp(a);return}function yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));fc(i,e,g);e=f[i>>2]|0;if(!e){k=i+4|0;if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);k=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=k;u=d;return}else{f[a>>2]=e;e=i+4|0;Ch(a+4|0,e);if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);u=d;return}}function zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Jh(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function Ah(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ua[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}lp(e);return}function Bh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Ul(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=Fc(a,c,d,e)|0;return g|0}case 1:{g=id(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)Do(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=Yk(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Tm(i,g,h)|0;b[e>>0]=0;Zn(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=Bc(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}Vh(c,d-a|0,0);a=Fj(c,0)|0;c=f[b>>2]|0;Jf(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Eh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function Fh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;$d(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(!i){f[e>>2]=0;j=h}else{Yg(i);lp(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){Yg(i);lp(i)}j=f[g>>2]|0}if(!j){k=0;u=d;return k|0}j=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;Of(a+56|0,j,e);k=1;u=d;return k|0}function Gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!c){e=0;f[d>>2]=e;return}g=a+8|0;i=a+4|0;j=0-(b[a+12>>0]|0)&255;k=c;c=0;l=f[g>>2]|0;while(1){m=c<<1;if(l>>>0<4096?(n=f[i>>2]|0,(n|0)>0):0){o=f[a>>2]|0;p=n+-1|0;f[i>>2]=p;n=l<<8|(h[o+p>>0]|0);f[g>>2]=n;q=n}else q=l;n=q&255;p=X(q>>>8,j)|0;o=n>>>0>>0;l=o?p+n|0:q-j-p|0;f[g>>2]=l;p=m|o&1;k=k+-1|0;if(!k){e=p;break}else c=p}f[d>>2]=e;return}function Ih(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Gn(a,f[c+8>>2]|0,g)|0)){if(Gn(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else Pk(0,c,d,e);while(0);return}function Jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){Ug(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else hf(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Ul(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Kh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1368;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}lp(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;lp(c)}lp(d)}lp(a);return}function Lh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)Do(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=Yk(m)|0;if(g|0)Tm(l,j,g)|0;k=e-h-g|0;if(k|0)Tm(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)lp(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function Mh(a,b){a=a|0;b=b|0;if(!b)return;else{Mh(a,f[b>>2]|0);Mh(a,f[b+4>>2]|0);Sh(b+20|0,f[b+24>>2]|0);lp(b);return}}function Nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=Yk(32)|0,kl(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(g)}g=Yj(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=bl(e|0,g|0,c|0,0)|0;if(!(Jh(h,0,i,I)|0)){j=0;return j|0}Pi(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(vb(a,g,j,i)|0)){k=0;u=e;return k|0}Me(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Gn(a,b,0)|0))if((b|0)!=0?(g=fg(b,1072,1056,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Xa[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Qh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Bc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function Rh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(Rh(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function Sh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Sh(a,f[c>>2]|0);Sh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)lp(f[d>>2]|0);if((b[a+11>>0]|0)<0)lp(f[a>>2]|0);lp(c);return}function Th(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;d=f[b>>2]|0;if(!d){lp(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g);lp(a);return}function Uh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Zn(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Zn(a+c|0,g);b[h>>0]=c;break}else vh(a,c-k|0,d)|0;while(0);u=e;return}function Wh(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}lp(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;lp(c)}lp(d)}lp(a);return}function Xh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=Yk(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=Te(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Yg(a);lp(a);return}function Zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(qp(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=_h(c,a)|0;pp(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=_h(c,a)|0}while(0);return j|0}function _h(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Bj(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Ra[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function $h(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=11767;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;gi(Ac(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}lp(f[g>>2]|0);u=d;return}function ai(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ua[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}lp(e);return}function bi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3072;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Bk(a+232|0);return}function ci(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=Wk(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=Mn(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function di(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(Fo(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Wo(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Wo(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=(e|0)/20|0;if(!e)return;if(g>>>0>214748364)Do(a);h=Yk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g*20|0);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Jf(h|0,g|0,b|0)|0;f[c>>2]=h+(((b>>>0)/20|0)*20|0);return}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Ul(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;if((i|0)<0){k=0;return k|0}f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function gi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;rj(g,d&1);d=Pg(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}Hf(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function hi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function ii(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=vf(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=di(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[13990+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=14078;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=14078;else{i=14078;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return Ko(k,f[c+20>>2]|0)|0}function li(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Xl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+li(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Ul(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function oi(a){a=a|0;var b=0,c=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)Do(a);h=Yk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Jf(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;cn(g,13388);f[g>>2]=4744;va(g|0,1128,101)}g=(f[e>>2]|0)-d|0;h=Yk(b<<2)|0;if((g|0)>0)Jf(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;lp(d);return}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=Yk(20)|0;gm(c);d=c;break}case 1:{c=Yk(24)|0;Im(c);d=c;break}case 2:{c=Yk(36)|0;ll(c);d=c;break}case 3:{c=Yk(28)|0;zm(c);d=c;break}default:d=0}f[a>>2]=d;return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Do(a);e=Yk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=b;b=e;do{pi(b,c);b=(f[d>>2]|0)+12|0;f[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{yf(a+40|0,b);d=1;return d|0}return 0}function xi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function yi(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function zi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Ri(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function Ai(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Bi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){lp(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c);lp(a);return}function Ci(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Di(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);Mh(a+12|0,f[a+16>>2]|0);Sh(a,f[a+4>>2]|0);lp(a);return}function Ei(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b)return;lp(b);return}function Fi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){lp(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c);lp(a);return}function Gi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){lp(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}lp(g)}lp(a);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;ic(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{mk(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Ii(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b)return;lp(b);return}function Ji(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Ki(a){a=a|0;var b=0,c=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);lp(c);return}function Li(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+84>>2]|0;if(!b){tf(a);lp(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);tf(a);lp(a);return}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Pa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){d=0;return d|0}d=xc(a,b,c)|0;return d|0}function Ni(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Wl(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Wl((Gc(i,b,Wl(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Oi(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);lp(c);return}function Pi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Qi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=b[a+12>>0]|0;d=a+8|0;e=f[d>>2]|0;if(e>>>0<4096?(g=a+4|0,i=f[g>>2]|0,(i|0)>0):0){j=f[a>>2]|0;a=i+-1|0;f[g>>2]=a;g=e<<8|(h[j+a>>0]|0);f[d>>2]=g;k=g}else k=e;e=k&255;g=0-c&255;c=X(k>>>8,g)|0;a=e>>>0>>0;f[d>>2]=a?c+e|0:k-g-c|0;return a|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else Ug(a,b-g|0);g=a+24|0;a=g;b=Ul(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Si(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;He(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;dk(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}lp(f[c>>2]|0);u=e;return d|0}function Ti(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+84>>2]|0;if(!b){tf(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);tf(a);return}function Ui(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Vi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ke(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;dk(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}lp(f[c>>2]|0);u=e;return d|0}function Wi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function Xi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Gh(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{pn(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;pn(a,g,h)}u=f;return}function Yi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Qa[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function Zi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(Nh(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Ra[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function _i(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function $i(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Gn(a,f[b+8>>2]|0,g)|0)Eh(0,b,c,d,e);else{h=f[a+8>>2]|0;Za[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function aj(a,b){a=a|0;b=b|0;var c=0;c=Yk(40)|0;f[c>>2]=-1;kl(c+8|0);Va[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;lp(c)}lp(b);return 1}function bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function dj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function ej(a){a=a|0;var b=0,c=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function fj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Kh(a);lp(a);return}Ua[f[(f[b>>2]|0)+4>>2]&127](b);Kh(a);lp(a);return}function gj(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Vh(a,d,0);return}function hj(a){a=a|0;var b=0,c=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function ij(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function jj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;e=b;g=d+(~((d+-4-e|0)>>>2)<<2)|0;if((d|0)==(b|0))h=b;else{f[c>>2]=g;h=g}f[a+16>>2]=0;f[a+12>>2]=h;if(!b)return;if((h|0)!=(b|0))f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);lp(b);return}function kj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2292;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function lj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Kh(a);return}Ua[f[(f[b>>2]|0)+4>>2]&127](b);Kh(a);return}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Gn(a,f[b+8>>2]|0,0)|0)Ji(0,b,c,d);else{e=f[a+8>>2]|0;Xa[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=X(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(qp(d)|0)==0;h=Dg(a,e,d)|0;if(c)i=h;else{pp(d);i=h}}else i=Dg(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function oj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Qa[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function pj(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function qj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function rj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;gj(d);_g(a,d,b);Nm(d);u=c;return}function sj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){d=1;return d|0}d=Qa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return d|0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((lm(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function uj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=mg(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function wj(a,b){a=a|0;b=b|0;var c=0;Fk(a);f[a>>2]=1416;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function xj(a){a=a|0;var b=0,c=0;f[a>>2]=2292;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function yj(a){a=a|0;var b=0,c=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function zj(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Aj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[13972+(c&15)>>0]|0|e;c=Xl(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Bj(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Cj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Ej(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Fj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)Do(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Gj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,Ba(54,g|0)|0):0)b[a+75>>0]=-1;g=sf(a,c,d)|0;u=e;return g|0}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){mc(a,b,c);return}else{wc(a,0,0);return}}function Ij(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Me(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Jj(a,b){a=a|0;b=b|0;var c=0;if(!(Qa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Lj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(vl(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Mj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Nj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Oj(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;yh(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}lp(f[e>>2]|0);u=a;return c|0}function Pj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Wo(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Wo(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Qj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(vl(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Sj(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Tj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=Xl(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Uj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function Vj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Gn(a,f[b+8>>2]|0,g)|0)Eh(0,b,c,d,e);return}function Wj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Of(a+20|0,g,d);u=c;return}function Xj(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function Yj(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function Zj(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Ul(f[a+32>>2]|0,0,7,0)|0;d=Xl(c|0,I|0,3)|0;c=a+16|0;a=c;e=Ul(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function _j(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Of(a+20|0,g,d);u=c;return}function $j(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;Qe(c,d,d+12|0);return 1}function bk(){var a=0,b=0;a=Yk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function ck(a){a=a|0;f[a>>2]=3172;gh(a+8|0);lp(a);return}function dk(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;wh(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Uh(b)|0;d=Yk(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=go(d)|0;Jf(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function gk(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function hk(a){a=a|0;f[a>>2]=3172;gh(a+8|0);return}function ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;zc(a,b,c,d,e);return}function jk(a){a=a|0;var b=0,c=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Gn(a,f[b+8>>2]|0,0)|0)Ji(0,b,c,d);return}function lk(a){a=a|0;var b=0;f[a>>2]=3440;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function mk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Jf(a,c,d)|0;return a|0}function nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b){lp(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Ra[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function pk(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function rk(){var a=0,b=0;a=$k()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Wm(f[b+12>>2]|0);Wm(ro()|0)}function sk(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function tk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}lp(a);return}function uk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);lp(b)}lp(a);return}function vk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function wk(a){a=a|0;var b=0,c=0;if(Qo(a)|0?(b=mo(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)lp(b);return}function xk(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function yk(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);Kh(a);lp(a);return}function zk(a){a=a|0;var b=0,c=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;Qb(a,b,c);return}function Bk(a){a=a|0;xk(a);xk(a+40|0);Ym(a+80|0);xk(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Ck(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);Kh(a);return}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,5,6,c)|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return ed(a,b,3,4,c)|0}function Fk(a){a=a|0;var b=0;f[a>>2]=1256;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return jd(a,b,1,2,c)|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,b,3,4,c)|0}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,5,6,c)|0}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;Jf(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;return kd(a,b,1,2,c)|0}function Lk(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Mk(){var a=0,b=0;a=Yk(24)|0;f[a>>2]=1228;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Nk(a){a=a|0;var c=0;Mj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Ok(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;lp(b)}lp(a);return}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Qk(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Rk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Sk(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=Na;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function Uk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;lp(b)}lp(a);return}function Vk(a){a=a|0;var b=0;Nn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Gc(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function Xk(a){a=a|0;var b=0;$l(a);f[a>>2]=3580;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Yk(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=_a(b)|0;if(a|0){c=a;break}a=oo()|0;if(!a){c=0;break}Ta[a&3]()}return c|0}function Zk(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b)return;lp(b);return}function _k(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=np(f[a+60>>2]|0)|0;f[c>>2]=d;d=lm(Ca(6,c|0)|0)|0;u=b;return d|0}function $k(){var a=0,b=0;a=u;u=u+16|0;if(!(Ja(17020,3)|0)){b=Ha(f[4256]|0)|0;u=a;return b|0}else xl(16160,a);return 0}function al(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b)return;lp(b);return}function bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=ek(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Dk(b,c,d)|0}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ek(b,c,d)|0}function el(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fe(b,c,d)|0}function fl(a){a=a|0;var b=0;b=u;u=u+16|0;_b(a);if(!(Ka(f[4256]|0,0)|0)){u=b;return}else xl(16259,b)}function gl(a){a=a|0;var b=0;Fk(a);f[a>>2]=1312;b=a+36|0;a=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gk(b,c,d)|0}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hk(b,c,d)|0}function jl(a){a=a|0;f[a>>2]=2548;lp(a);return}function kl(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function ll(a){a=a|0;Im(a);f[a>>2]=2884;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kk(b,c,d)|0}function nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ik(b,c,d)|0}function ol(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+12>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=jh(a,b,c,g)|0;u=e;return d|0}function rl(a){a=a|0;f[a>>2]=2632;lp(a);return}function sl(a){a=a|0;f[a>>2]=2716;lp(a);return}function tl(a){a=a|0;f[a>>2]=2548;return}function ul(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function vl(a,b,c){a=a|0;b=b|0;c=c|0;return Tk(a,b,c)|0}function wl(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 Sa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function xl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[906]|0;bg(b,a,d)|0;Zh(10,b)|0;Da()}function yl(a){a=a|0;f[a>>2]=2800;lp(a);return}function zl(a){a=a|0;f[a>>2]=2632;return}function Al(a){a=a|0;f[a>>2]=2716;return}function Bl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;return gk(b,c)|0}function Dl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function El(a){a=a|0;xd(a);lp(a);return}function Fl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Gl(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gf(b,c,d)|0}function Il(){var a=0;a=u;u=u+16|0;if(!(Ia(17024,104)|0)){u=a;return}else xl(16209,a)}function Jl(a){a=a|0;Ld(a);lp(a);return}function Kl(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;Za[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Ll(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=bg(f[938]|0,a,d)|0;u=c;return b|0}function Ml(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Pa[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oh(b,c,d)|0}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Gh(a|0,(Lo(c)|0)&255|0,b|0)|0;return a|0}function Pl(a){a=a|0;return 4}function Ql(a){a=a|0;f[a>>2]=2800;return}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)lp(f[c>>2]|0);lp(a);return}function Tl(){}function Ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Vl(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=eg(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;return Si(a,b,c)|0}function Zl(a){a=a|0;Cd(a);lp(a);return}function _l(a){a=a|0;return 5}function $l(a){a=a|0;var b=0;f[a>>2]=3608;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function am(a){a=a|0;return 6}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ak(b,c,d)|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function dm(a,b,c){a=a|0;b=b|0;c=c|0;return Cl(a,b,c)|0}function em(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+28>>2]&127](b)|0}function fm(a,b,c){a=a|0;b=b|0;c=c|0;return $e(b,c)|0}function gm(a){a=a|0;f[a>>2]=1368;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function hm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+24>>2]&127](b)|0}function im(a,b){a=a|0;b=b|0;$h(a,b);return}function jm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0}function km(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ya[a&3](b|0,c|0,d|0,e|0,f|0)}function lm(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=sp()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;return Vi(a,b,c)|0}function nm(a,b,c){a=a|0;b=b|0;c=c|0;return Zg(a,b,c)|0}function om(a,b,c){a=a|0;b=b|0;c=c|0;return nh(a,b,c)|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;return Cg(a,b,c)|0}function qm(a,b,c){a=a|0;b=b|0;c=c|0;return +(+ih(a,b,c))}function rm(a,b){a=a|0;b=b|0;return Qa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function sm(a,b){a=a|0;b=b|0;return Qa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function tm(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function um(a,b,c){a=a|0;b=b|0;c=c|0;return qi(a,b,c)|0}function vm(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function wm(a,b,c){a=a|0;b=b|0;c=c|0;return Pm(b,c)|0}function xm(a,b,c){a=a|0;b=b|0;c=c|0;return oh(a,b,c)|0}function ym(a,b,c){a=a|0;b=b|0;c=c|0;return kh(a,b,c)|0}function zm(a){a=a|0;Im(a);f[a>>2]=2376;f[a+24>>2]=-1;return}function Am(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;return Rf(a,b,c)|0}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;return kg(b,c)|0}function Dm(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Em(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function Fm(){var a=0;a=Yk(40)|0;f[a>>2]=-1;kl(a+8|0);return a|0}function Gm(){var a=0;a=Yk(8)|0;f[a>>2]=1200;f[a+4>>2]=-1;return a|0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Tg(a,b,c)|0}function Im(a){a=a|0;gm(a);f[a>>2]=1476;f[a+20>>2]=0;return}function Jm(a,b){a=a|0;b=b|0;im(a,b);return}function Km(a){a=a|0;var b=0;if(!a)b=0;else b=(fg(a,1072,1160,0)|0)!=0&1;return b|0}function Lm(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Mm(a,b){a=a|0;b=b|0;return Oj(a,b)|0}function Nm(a){a=a|0;if((b[a+11>>0]|0)<0)lp(f[a>>2]|0);return}function Om(a){a=a|0;if(!a)return;Ua[f[(f[a>>2]|0)+4>>2]&127](a);return}function Pm(a,b){a=a|0;b=b|0;return bj(a,b)|0}function Qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xa[a&7](b|0,c|0,d|0,e|0)}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)mk(a|0,b|0,c|0)|0;return a|0}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;return dn(b,c)|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Jf(a|0,b|0,c|0)|0;return a|0}function Um(a,b){a=a|0;b=b|0;return -1}function Vm(a){a=a|0;return 3}function Wm(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();xl(16312,b)}function Xm(a,b){a=a|0;b=b|0;return Un(a,b)|0}function Ym(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function Zm(a){a=a|0;ug(a);lp(a);return}function _m(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function $m(a){a=a|0;kn(a);f[a>>2]=3012;f[a+48>>2]=0;return}function an(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&31](b|0,c|0,d|0)|0}function bn(a,b,c){a=a|0;b=b|0;c=c|0;ol(a,b,c);return}function cn(a,b){a=a|0;b=b|0;f[a>>2]=4724;fk(a+4|0,b);return}function dn(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function en(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=fh(a,b,0)|0;return c|0}function fn(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function gn(){var a=0;a=Yk(64)|0;Mj(a);return a|0}function hn(a,b){a=a|0;b=b|0;return $(on(a,b))}function jn(a){a=a|0;return f[a+8>>2]|0}function kn(a){a=a|0;lk(a);f[a>>2]=2952;f[a+44>>2]=0;return}function ln(a){a=a|0;if(!a)return;mh(a);lp(a);return}function mn(a,b){a=a|0;b=b|0;return ao(a,b)|0}function nn(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function on(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function pn(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Dg(b,c,a)|0;return}function qn(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function rn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wa[a&15](b|0,c|0,d|0)}function sn(){var a=0;a=Yk(96)|0;Nk(a);return a|0}function tn(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function un(a){a=a|0;var b=0;b=(fp()|0)+188|0;return ki(a,f[b>>2]|0)|0}function vn(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function wn(){var a=0;a=Yk(16)|0;_m(a);return a|0}function xn(){var a=0;a=Yk(40)|0;xk(a);return a|0}function yn(a,b){a=a|0;b=b|0;return 1}function zn(a,b){a=a|0;b=b|0;return Jn(a,b)|0}function An(a,b){a=a|0;b=b|0;return Kn(a,b)|0}function Bn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Cn(a,b){a=a|0;b=b|0;return _n(a,b)|0}function Dn(){var a=0;a=Yk(12)|0;Sn(a);return a|0}function En(a){a=a|0;Kh(a);lp(a);return}function Fn(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Hn(a,b){a=a|0;b=b|0;var c=0;c=Xn(a|0)|0;return ((b|0)==0?a:c)|0}function In(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Jn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Kn(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Ln(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gc(a,b,c,d,0)|0}function Nn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function On(){var a=0;a=Yk(84)|0;$l(a);return a|0}function Pn(a){a=a|0;Lg(a);lp(a);return}function Qn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Rn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Sn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Tn(a){a=a|0;f[a>>2]=4724;wk(a+4|0);return}function Un(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;return Qa[a&127](b|0,c|0)|0}function Wn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Xn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Yn(a){a=a|0;kn(a);f[a>>2]=3356;return}function Zn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function _n(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function $n(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function ao(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function bo(a){a=a|0;return $(n[a+20>>2])}function co(a){a=a|0;return f[a+4>>2]|0}function eo(a){a=a|0;if(!a)return;lp(a);return}function fo(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function go(a){a=a|0;return a+12|0}function ho(a){a=a|0;return f[a+88>>2]|0}function io(a,b,c){a=a|0;b=b|0;c=c|0;Va[a&7](b|0,c|0)}function jo(){var a=0;a=Yk(40)|0;Vk(a);return a|0}function ko(){var a=0;a=Yk(108)|0;Xk(a);return a|0}function lo(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function mo(a){a=a|0;return a+-12|0}function no(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function oo(){var a=0;a=f[4257]|0;f[4257]=a+0;return a|0}function po(a){a=a|0;return Oo(a+4|0)|0}function qo(a){a=a|0;return f[a+56>>2]|0}function ro(){var a=0;a=f[1158]|0;f[1158]=a+0;return a|0}function so(a){a=a|0;tf(a);lp(a);return}function to(a){a=a|0;pp(a);lp(a);return}function uo(a){a=a|0;return b[a+24>>0]|0}function vo(a,b){a=a|0;b=b|0;return 0}function wo(a){a=a|0;return f[a+40>>2]|0}function xo(a){a=a|0;return f[a+48>>2]|0}function yo(a,b){a=a|0;b=b|0;return Pa[a&127](b|0)|0}function zo(a){a=a|0;return f[a+60>>2]|0}function Ao(a){a=a|0;return f[a+28>>2]|0}function Bo(a){a=a|0;sa(a|0)|0;rk()}function Co(a){a=a|0;Tn(a);lp(a);return}function Do(a){a=a|0;Da()}function Eo(a,b){a=a|0;b=b|0;u=a;v=b}function Fo(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Go(a){a=a|0;return (f[a>>2]|0)==0|0}function Ho(a){a=a|0;return f[a+80>>2]|0}function Io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Jo(a,b){a=a|0;b=b|0;Ua[a&127](b|0)}function Ko(a,b){a=a|0;b=b|0;return Vl(a,b)|0}function Lo(a){a=a|0;return a&255|0}function Mo(a){a=a|0;f[a>>2]=0;return}function No(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Oo(a){a=a|0;return f[a>>2]|0}function Po(a){a=a|0;return 2}function Qo(a){a=a|0;return 1}function Ro(a,b){a=+a;b=b|0;return +(+li(a,b))}function So(){return 3}function To(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Uo(){return -4}function Vo(){return 4}function Wo(a){a=a|0;return (a+-48|0)>>>0<10|0}function Xo(){return -3}function Yo(){return 1}function Zo(){return 2}function _o(){return -5}function $o(a,b){a=a|0;b=b|0;aa(1);return 0}function ap(a){a=a|0;Ga()}function bp(a){a=a|0;Ta[a&3]()}function cp(){return -2}function dp(){ua()}function ep(){return -1}function fp(){return vp()|0}function gp(a,b){a=a|0;b=b|0;aa(6)}function hp(){return 0}function ip(a){a=a|0;return Yk(a)|0}function jp(a){a=a|0;lp(a);return}function kp(a){a=a|0;u=a}function lp(a){a=a|0;_b(a);return}function mp(a){a=a|0;I=a}function np(a){a=a|0;return a|0}function op(a){a=a|0;aa(0);return 0}function pp(a){a=a|0;return}function qp(a){a=a|0;return 0}function rp(){return I|0}function sp(){return 16952}function tp(){return u|0}function up(a){a=a|0;aa(5)}function vp(){return 3880}function wp(){aa(4)} +function wc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(m|0)==(q|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(dj(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(a|0)==(q|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(dj(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function xc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=dj(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=dj(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=36}else r=20;if((r|0)==20?!k:0)r=36;if((r|0)==36){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=i+4|0;m=f[k>>2]|0;if(!m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=m;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){m=t+16|0;l=b[m+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=dj(n?f[g>>2]|0:g,q?f[m>>2]|0:m,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=30;if((r|0)==30?o>>>0

>>0:0)break;s=_e(a,d,g)|0;return s|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;s=k;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((i|0)==(f[a>>2]|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){k=f[h+4>>2]|0;if(!k){w=h;break}else h=k}}h=w;k=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[k+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=dj(j?f[k>>2]|0:k,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=12;if((r|0)==12?p>>>0>>0:0){v=h;break}s=_e(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{i=v;f[d>>2]=i;s=i+4|0;return s|0}return 0}function yc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Oc(i,d)|0?od(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}Af(d,0,0)|0;if(!j){j=i+44|0;k=i+48|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=f[k>>2]|0;w=0;x=0;while(1){b:do if(v>>>0<16384){y=f[j>>2]|0;z=v;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[j>>2]=y;C=h[B+y>>0]|z<<8;f[k>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=v;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;v=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[k>>2]=v;c:do if(p){if((y|0)>0){D=0;E=x}else{C=(b[q>>0]|0)==0;z=0;B=x;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=f[r>>2]|0;F=0;H=0;while(1){I=B+(C>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(C&7)&1;I=C+1|0;f[r>>2]=I;K=I;L=J}else{K=C;L=0}H=L<>2]=H;D=D+1|0;if((D|0)>=(c|0)){G=C;break}else E=C}}else G=x;while(0);w=w+c|0;if(w>>>0>=a>>>0)break;else x=G}}}else Af(d,0,0)|0;_j(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);lp(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);lp(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);u=g;return l|0}function zc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=uk(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((uk(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Ul(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Wl(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Wl(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=f[e>>2]|0;l=(((j|0)>-1?j:0-j|0)+((h|0)>-1?h:0-h|0)|0)<=(k|0);if(l){m=h;n=j}else{if((j|h|0)>-1){o=1;p=1}else{q=(h|0)<1&(j|0)<1;o=q?-1:(h|0)>0?1:-1;p=q?-1:(j|0)>0?1:-1}q=X(k,o)|0;r=X(k,p)|0;k=(h<<1)-q|0;f[c>>2]=k;h=(j<<1)-r|0;f[i>>2]=h;if((X(o,p)|0)>-1){p=0-h|0;f[c>>2]=p;s=0-k|0;t=p}else{f[c>>2]=h;s=k;t=h}h=(t+q|0)/2|0;f[c>>2]=h;q=(s+r|0)/2|0;f[i>>2]=q;m=h;n=q}if(!m)u=(n|0)==0;else u=(m|0)<0&(n|0)<1;if(!m)v=(n|0)==0?0:(n|0)>0?3:1;else v=(m|0)>0?(n>>31)+2|0:(n|0)<1?0:3;if(u){w=m;x=n;y=1}else{switch(v|0){case 1:{z=n;A=0-m|0;break}case 2:{z=0-m|0;A=0-n|0;break}case 3:{z=0-n|0;A=m;break}default:{z=m;A=n}}n=c;f[n>>2]=z;f[n+4>>2]=A;w=z;x=A;y=0}A=(f[d>>2]|0)+w|0;f[a>>2]=A;w=(f[d+4>>2]|0)+x|0;x=a+4|0;f[x>>2]=w;d=f[e>>2]|0;if((d|0)>=(A|0))if((A|0)<(0-d|0))B=(f[b+4>>2]|0)+A|0;else B=A;else B=A-(f[b+4>>2]|0)|0;f[a>>2]=B;if((d|0)>=(w|0))if((w|0)<(0-d|0))C=(f[b+4>>2]|0)+w|0;else C=w;else C=w-(f[b+4>>2]|0)|0;f[x>>2]=C;if(y){D=B;E=C}else{switch((4-v|0)%4|0|0){case 1:{F=C;G=0-B|0;break}case 2:{F=0-B|0;G=0-C|0;break}case 3:{F=0-C|0;G=B;break}default:{F=B;G=C}}C=a;f[C>>2]=F;f[C+4>>2]=G;D=F;E=G}if(l){H=D;I=E;J=H+g|0;K=I+g|0;L=a;M=L;f[M>>2]=J;N=L+4|0;O=N;f[O>>2]=K;return}if((E|D|0)>-1){P=1;Q=1}else{l=(D|0)<1&(E|0)<1;P=l?-1:(D|0)>0?1:-1;Q=l?-1:(E|0)>0?1:-1}l=X(d,P)|0;G=X(d,Q)|0;d=(D<<1)-l|0;f[a>>2]=d;D=(E<<1)-G|0;f[x>>2]=D;if((X(P,Q)|0)>-1){Q=0-D|0;f[a>>2]=Q;R=0-d|0;S=Q}else{f[a>>2]=D;R=d;S=D}D=(S+l|0)/2|0;f[a>>2]=D;l=(R+G|0)/2|0;f[x>>2]=l;H=D;I=l;J=H+g|0;K=I+g|0;L=a;M=L;f[M>>2]=J;N=L+4|0;O=N;f[O>>2]=K;return}function Bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)lp(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}d=Yk(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)lp(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){b:do if(h){e=j;i=k;c=m;while(1){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=c;r=o;s=n;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[c>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}i=f[d>>2]|0;if(!i){v=37;break a}else{e=d;c=d}}}else{c=j;e=k;i=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(l|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=i;r=w;s=x;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[i>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[c>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{c=o;i=o}}}while(0);f[r>>2]=q;k=f[p>>2]|0;if(!k){v=37;break}else{j=p;l=s;m=p}}if((v|0)==37)return}function Cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;Ph(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(Rc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;Ph(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Ul(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;Th(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Fj(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Ul(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}Ff(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Ul(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=Yk(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(Cc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;lf(c,h,j)|0;$g(j);G=0}else G=1;$g(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)lp(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function Dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=Yk(88)|0;f[l+4>>2]=0;f[l>>2]=3216;m=l+12|0;f[m>>2]=3196;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=3196;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Hf(i+8|0,c,g);Ra[f[(f[i>>2]|0)+8>>2]&127](i);Ce(j,i);Ce(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;Qe(c,g)|0;f[g>>2]=3196;p=f[g+20>>2]|0;if(p|0)lp(p);p=f[g+8>>2]|0;if(p|0)lp(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=3196;k=f[j+20>>2]|0;if(k|0)lp(k);k=f[j+8>>2]|0;if(k|0)lp(k);f[l+8>>2]=f[h>>2];Qe(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;Te(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=3196;q=f[i+20>>2]|0;if(q|0)lp(q);q=f[i+8>>2]|0;if(q|0)lp(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);lp(q)}f[r>>2]=3196;r=f[h+24>>2]|0;if(r|0)lp(r);r=f[h+12>>2]|0;if(!r){u=e;return}lp(r);u=e;return}function Ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{Og(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=ip(l)|0;Dh(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){jp(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=u;u=e;while(1){k=c+(u<<2)|0;l=k+(n<<2)|0;q=b+(u<<2)|0;if((a|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=k+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=a;u=u+e|0;if((u|0)>=(d|0))break;else a=z}jp(h);return 1}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=f[a+44+(b<<2)>>2]|0;b=0;while(1){o=(n|0)==-1;p=o?-1:(n>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(b){if(o)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else dh(k,e);if(!(b&1)){p=n+1|0;if(o){s=-1;break}t=((p>>>0)%3|0|0)==0?n+-2|0:p;v=35;break}if(!o)if(!((n>>>0)%3|0)){t=n+2|0;v=35;break}else{t=n+-1|0;v=35;break}else s=-1}else{if(o)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else dh(k,e);p=n+1|0;if(!o?(q=((p>>>0)%3|0|0)==0?n+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else dh(k,e);if(!o?(q=(((n>>>0)%3|0|0)==0?2:-1)+n|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else dh(k,e);t=n;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}b=b+1|0;if((b|0)>=(h|0))break;else n=s}u=d;return}function Gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=g;i=d+2|0;break}else{h=g;i=d+-1|0;break}}else{h=-1;i=-1}while(0);g=a+184|0;j=f[g>>2]|0;switch(j|0){case 1:case 0:{if((h|0)==-1)k=-1;else k=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(k<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1){n=1;o=l;p=-1;q=28}else{n=1;o=l;p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;q=28}break}case 5:{if(b)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(r<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=l+(s<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1){n=2;o=l;p=-1;q=28}else{n=2;o=l;p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;q=28}break}case 3:{if(b)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=l+(u<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((i|0)==-1){n=1;o=l;p=-1;q=28}else{n=1;o=l;p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;q=28}break}case 7:{if(b)v=-1;else v=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(v<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((h|0)==-1)w=-1;else w=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;h=l+(w<<2)|0;f[h>>2]=(f[h>>2]|0)+2;if((i|0)==-1){n=2;o=l;p=-1;q=28}else{n=2;o=l;p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;q=28}break}default:x=j}if((q|0)==28){q=o+(p<<2)|0;f[q>>2]=(f[q>>2]|0)+n;x=f[g>>2]|0}switch(x|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}x=f[c>>2]|0;if(!b?(b=((e>>>0)%3|0|0)==0?d+-2|0:e,(b|0)!=-1):0)y=f[(f[x>>2]|0)+(b<<2)>>2]|0;else y=-1;f[a+188>>2]=(f[(f[a+156>>2]|0)+(y<<2)>>2]|0)<6?5:0;return}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Gh(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=l;l=b;b=0;while(1){if(!(f[(f[m>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31))){B=b*3|0;f[g>>2]=B;f[e>>2]=f[g>>2];sc(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=B+1;f[e>>2]=f[g>>2];sc(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=B+2;f[e>>2]=f[g>>2];sc(a,2,e);B=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else dh(w,e);E=f[a+44+(B<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else dh(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else dh(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];Fc(a,B,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=A;H=l}b=b+1|0;if(b>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{A=G;l=H}}u=d;return i|0}function Ic(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Qf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Jc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Sf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Kc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Tf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Lc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Vf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Mc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Wf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Nc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Yf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Oc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Zf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=g;i=d+2|0;break}else{h=g;i=d+-1|0;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1){k=1;l=e;m=-1;n=28}else{k=1;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1){k=2;l=e;m=-1;n=28}else{k=2;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((i|0)==-1){k=1;l=e;m=-1;n=28}else{k=1;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1){k=2;l=d;m=-1;n=28}else{k=2;l=d;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}default:{}}if((n|0)==28){n=l+(m<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((h|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;h=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((h|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(h|0)>(c|0)?c:h;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function Qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=ip(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)jp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Og(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;Eo(t)}else{v=n;w=0}while(1){f[i>>2]=f[v+(w<<2)>>2];f[h>>2]=f[i>>2];ec(a,h,c,w);n=X(w,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){E=10;break}n=f[o>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)Eo(t);return 0}function Rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Ul(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;Th(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Fj(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Ul(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}Ff(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Ul(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(Ph(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)Eo(h);s=Yk(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=s;s=x;do{b[q>>0]=0;q=(f[y>>2]|0)+1|0;f[y>>2]=q;s=s+-1|0}while((s|0)!=0);s=f[g>>2]|0;q=f[a>>2]|0;x=q+8|0;p=f[x>>2]|0;r=f[x+4>>2]|0;x=q+16|0;m=x;t=f[m>>2]|0;w=Ul(t|0,f[m+4>>2]|0,s|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{Ff(f[h>>2]|0,(f[q>>2]|0)+t|0,s|0)|0;t=x;q=Ul(f[t>>2]|0,f[t+4>>2]|0,s|0,0)|0;s=x;f[s>>2]=q;f[s+4>>2]=I;Bk(c,e,h);B=1}s=f[h>>2]|0;if(s|0){if((f[y>>2]|0)!=(s|0))f[y>>2]=s;lp(s)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}lp(f[e>>2]|0);u=d;return z|0}function Sc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=ip(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)jp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Og(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;Eo(t)}else{v=n;w=0}while(1){f[i>>2]=f[v+(w<<2)>>2];f[h>>2]=f[i>>2];dc(a,h,c,w);n=X(w,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){E=10;break}n=f[o>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)Eo(t);return 0}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Ka,t=Ka,u=Ka,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=Yk(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|s>$(t*u)){r=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;j=~~$(W($(s/u)))>>>0;xg(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function Uc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+32|0;g=e+8|0;i=e;switch(d|0){case 2:{d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{m=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Ma[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Cd(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);n=f[i>>2]|0;if(!n){f[i>>2]=0;break}else{o=n;p=i;break a}}while(0);n=Yk(24)|0;f[n+4>>2]=m;q=n+8|0;f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[q+12>>2]=f[g+12>>2];f[n>>2]=2436;k=n;l=8}while(0);if((l|0)==8){f[i>>2]=k;o=k;p=i}f[a>>2]=o;f[p>>2]=0;u=e;return}case 3:{p=f[b+12>>2]|0;o=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;b:do if((c|0)==-2){r=0;l=16}else{b=f[(f[(f[o+4>>2]|0)+8>>2]|0)+(p<<2)>>2]|0;do if((Ma[f[(f[o>>2]|0)+8>>2]&127](o)|0)==1){Bd(i,o,c,p,g,((h[o+36>>0]|0)<<8|(h[o+37>>0]|0))&65535);k=f[i>>2]|0;if(!k){f[i>>2]=0;break}else{s=k;t=i;break b}}while(0);m=Yk(24)|0;f[m+4>>2]=b;k=m+8|0;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[k+8>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];f[m>>2]=2492;r=m;l=16}while(0);if((l|0)==16){f[i>>2]=r;s=r;t=i}f[a>>2]=s;f[t>>2]=0;u=e;return}default:{f[a>>2]=0;u=e;return}}}function Wc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Og(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;Eo(v)}else{w=n;x=0}while(1){f[i>>2]=f[w+(x<<2)>>2];f[h>>2]=f[i>>2];if(!(Lb(j,h,c,x)|0)){q=0;y=24;break}n=X(x,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}x=x+1|0;if((x|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=x>>>0){v=n;y=8;break}}if((y|0)==8)Eo(v);else if((y|0)==24){u=d;return q|0}return 0}function Xc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Og(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;Eo(v)}else{w=n;x=0}while(1){f[i>>2]=f[w+(x<<2)>>2];f[h>>2]=f[i>>2];if(!(Kb(j,h,c,x)|0)){q=0;y=24;break}n=X(x,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}x=x+1|0;if((x|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=x>>>0){v=n;y=8;break}}if((y|0)==8)Eo(v);else if((y|0)==24){u=d;return q|0}return 0}function Yc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Me(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)Eo(l);else{q=o<<1;e=Yk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Dh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Me(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Cb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Cb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=v;A=0;while(1){d[e+(y<<1)>>1]=d[q+(A<<1)>>1]|0;A=A+1|0;if((A|0)==(o|0))break;else y=y+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=o+v|0}}while(0);v=f[l>>2]|0;if(v|0){l=f[g>>2]|0;if((l|0)!=(v|0))f[g>>2]=l+(~((l+-2-v|0)>>>1)<<1);lp(v)}r=t;u=i;return r|0}function Zc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Me(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)Eo(l);else{q=o<<1;e=Yk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Dh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Me(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Db(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Db(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=v;A=0;while(1){d[e+(y<<1)>>1]=d[q+(A<<1)>>1]|0;A=A+1|0;if((A|0)==(o|0))break;else y=y+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=o+v|0}}while(0);v=f[l>>2]|0;if(v|0){l=f[g>>2]|0;if((l|0)!=(v|0))f[g>>2]=l+(~((l+-2-v|0)>>>1)<<1);lp(v)}r=t;u=i;return r|0}function _c(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ne(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)Eo(k);else{p=n<<2;d=Yk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Dh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Ne(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Eb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Eb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=t;z=0;while(1){f[d+(x<<2)>>2]=f[p+(z<<2)>>2];z=z+1|0;if((z|0)==(n|0))break;else x=x+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=n+t|0}}while(0);t=f[k>>2]|0;if(t|0){k=f[e>>2]|0;if((k|0)!=(t|0))f[e>>2]=k+(~((k+-4-t|0)>>>2)<<2);lp(t)}q=s;u=h;return q|0}function $c(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ne(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)Eo(k);else{p=n<<2;d=Yk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Dh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Ne(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Fb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Fb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=t;z=0;while(1){f[d+(x<<2)>>2]=f[p+(z<<2)>>2];z=z+1|0;if((z|0)==(n|0))break;else x=x+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=n+t|0}}while(0);t=f[k>>2]|0;if(t|0){k=f[e>>2]|0;if((k|0)!=(t|0))f[e>>2]=k+(~((k+-4-t|0)>>>2)<<2);lp(t)}q=s;u=h;return q|0}function ad(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Ul(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=me(a,c,d)|0;return l|0}case 2:{l=me(a,c,d)|0;return l|0}case 3:{l=me(a,c,d)|0;return l|0}case 4:{l=me(a,c,d)|0;return l|0}case 5:{l=me(a,c,d)|0;return l|0}case 6:{l=me(a,c,d)|0;return l|0}case 7:{l=me(a,c,d)|0;return l|0}case 8:{l=me(a,c,d)|0;return l|0}case 9:{l=le(a,c,d)|0;return l|0}case 10:{l=ke(a,c,d)|0;return l|0}case 11:{l=je(a,c,d)|0;return l|0}case 12:{l=ie(a,c,d)|0;return l|0}case 13:{l=he(a,c,d)|0;return l|0}case 14:{l=ge(a,c,d)|0;return l|0}case 15:{l=ge(a,c,d)|0;return l|0}case 16:{l=ge(a,c,d)|0;return l|0}case 17:{l=ge(a,c,d)|0;return l|0}case 18:{l=ge(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function bd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;df(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)Eo(k);p=Yk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=p;p=n;do{b[d>>0]=0;d=(f[e>>2]|0)+1|0;f[e>>2]=d;p=p+-1|0}while((p|0)!=0)}df(g,0,0+a|0);a:do if(!o)r=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24>0){s=0;t=0}else{d=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(d<<2)>>2]|0;else v=d;w=f[k>>2]|0;f[j>>2]=v;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Hb(c,i,x,w)|0)){r=0;break a}d=d+1|0;if(d>>>0>=o>>>0){r=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[p>>2]|0)+(t<<2)>>2]|0;else y=t;d=f[k>>2]|0;f[j>>2]=y;w=b[l>>0]|0;f[i>>2]=f[j>>2];if(Hb(c,i,w,d)|0){z=s;A=0}else{r=0;break a}while(1){b[(f[g>>2]|0)+z>>0]=b[(f[k>>2]|0)+A>>0]|0;A=A+1|0;if((A|0)==(n|0))break;else z=z+1|0}t=t+1|0;if(t>>>0>=o>>>0){r=1;break}else s=n+s|0}}while(0);s=f[k>>2]|0;if(s|0){if((f[e>>2]|0)!=(s|0))f[e>>2]=s;lp(s)}q=r;u=h;return q|0}function cd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;df(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)Eo(k);p=Yk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=p;p=n;do{b[d>>0]=0;d=(f[e>>2]|0)+1|0;f[e>>2]=d;p=p+-1|0}while((p|0)!=0)}df(g,0,0+a|0);a:do if(!o)r=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24>0){s=0;t=0}else{d=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(d<<2)>>2]|0;else v=d;w=f[k>>2]|0;f[j>>2]=v;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Ib(c,i,x,w)|0)){r=0;break a}d=d+1|0;if(d>>>0>=o>>>0){r=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[p>>2]|0)+(t<<2)>>2]|0;else y=t;d=f[k>>2]|0;f[j>>2]=y;w=b[l>>0]|0;f[i>>2]=f[j>>2];if(Ib(c,i,w,d)|0){z=s;A=0}else{r=0;break a}while(1){b[(f[g>>2]|0)+z>>0]=b[(f[k>>2]|0)+A>>0]|0;A=A+1|0;if((A|0)==(n|0))break;else z=z+1|0}t=t+1|0;if(t>>>0>=o>>>0){r=1;break}else s=n+s|0}}while(0);s=f[k>>2]|0;if(s|0){if((f[e>>2]|0)!=(s|0))f[e>>2]=s;lp(s)}q=r;u=h;return q|0}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+32|0;e=d+16|0;g=d;if((j[c+38>>1]|0)<514){i=c+8|0;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}i=b[(f[c>>2]|0)+n>>0]|0;k=Ul(n|0,o|0,1,0)|0;o=l;f[o>>2]=k;f[o+4>>2]=I;if(i<<24>>24){p=0;u=d;return p|0}}i=0;do{Ph(e,c)|0;o=f[e>>2]|0;if(o|0){k=a+60+(i*12|0)|0;gd(k,o,0);Ym(g);if(!(ud(g,c)|0)){q=12;break}if(f[e>>2]|0){o=0;do{l=Pi(g)|0;n=(f[k>>2]|0)+(o>>>5<<2)|0;m=1<<(o&31);r=f[n>>2]|0;f[n>>2]=l?r|m:r&~m;o=o+1|0}while(o>>>0<(f[e>>2]|0)>>>0)}qp(g)}i=i+1|0}while((i|0)<4);if((q|0)==12){qp(g);p=0;u=d;return p|0}g=c+8|0;q=f[g>>2]|0;i=f[g+4>>2]|0;g=c+16|0;e=g;o=f[e>>2]|0;k=f[e+4>>2]|0;e=Ul(o|0,k|0,4,0)|0;m=I;if((i|0)<(m|0)|(i|0)==(m|0)&q>>>0>>0){p=0;u=d;return p|0}r=f[c>>2]|0;c=r+o|0;l=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=g;f[c>>2]=e;f[c+4>>2]=m;m=Ul(o|0,k|0,8,0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&q>>>0>>0){p=0;u=d;return p|0}q=r+e|0;e=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;q=g;f[q>>2]=m;f[q+4>>2]=k;if((l|0)>(e|0)){p=0;u=d;return p|0}f[a+12>>2]=l;f[a+16>>2]=e;k=Wl(e|0,((e|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=I;if(!(l>>>0<0|(l|0)==0&k>>>0<2147483647)){p=0;u=d;return p|0}l=k+1|0;f[a+20>>2]=l;k=(l|0)/2|0;e=a+24|0;f[e>>2]=k;f[a+28>>2]=0-k;if(l&1|0){p=1;u=d;return p|0}f[e>>2]=k+-1;p=1;u=d;return p|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=f[e>>2]|0;n=c;o=e;p=h}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=r>>>(g+u|0)|f[s>>2]&~(-1>>>(32-w|0));f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=x;n=v;o=e;p=h-q|0}q=32-m|0;h=-1<31){m=~h;e=f[d>>2]|0;v=p+-32|0;x=v>>>5;c=x+1|0;w=v-(x<<5)|0;x=f[e>>2]|0;v=e;s=p;u=n;while(1){g=f[u>>2]|0;r=x&m;f[v>>2]=r;f[v>>2]=g<>2]|r;v=v+4|0;x=f[v>>2]&h|g>>>q;f[v>>2]=x;s=s+-32|0;if((s|0)<=31)break;else u=u+4|0}u=n+(c<<2)|0;f[b>>2]=u;f[d>>2]=e+(c<<2);y=u;z=w}else{y=n;z=p}if((z|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[y>>2]&-1>>>(32-z|0);y=(q|0)<(z|0)?q:z;n=f[d>>2]|0;w=f[n>>2]&~(-1<>2]&-1>>>(q-y|0));f[n>>2]=w;f[n>>2]=w|p<>2];w=(f[o>>2]|0)+y|0;q=n+(w>>>5<<2)|0;f[d>>2]=q;f[o>>2]=w&31;w=z-y|0;if((w|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[q>>2]=f[q>>2]&~(-1>>>(32-w|0))|p>>>y;f[o>>2]=w;i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d>>2]=0;do if((j[b+38>>1]|0)<514){g=b+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=b+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=c;return o|0}else{i=(f[b>>2]|0)+m|0;m=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d>>2]=m;i=g;f[i>>2]=n;f[i+4>>2]=l;p=m;break}}else if(Ph(d,b)|0){p=f[d>>2]|0;break}else{o=0;u=c;return o|0}while(0);if(!p){o=0;u=c;return o|0}m=a+76|0;gd(m,p,0);Ym(e);if(ud(e,b)|0){if(f[d>>2]|0){p=0;l=1;do{l=l^((Pi(e)|0)^1);i=(f[m>>2]|0)+(p>>>5<<2)|0;n=1<<(p&31);g=f[i>>2]|0;f[i>>2]=l?g|n:g&~n;p=p+1|0}while(p>>>0<(f[d>>2]|0)>>>0)}d=b+8|0;p=f[d>>2]|0;l=f[d+4>>2]|0;d=b+16|0;m=d;n=f[m>>2]|0;g=f[m+4>>2]|0;m=Ul(n|0,g|0,4,0)|0;i=I;if(((!((l|0)<(i|0)|(l|0)==(i|0)&p>>>0>>0)?(k=f[b>>2]|0,b=k+n|0,q=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=d,f[b>>2]=m,f[b+4>>2]=i,i=Ul(n|0,g|0,8,0)|0,g=I,!((l|0)<(g|0)|(l|0)==(g|0)&p>>>0>>0)):0)?(p=k+m|0,m=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24,p=d,f[p>>2]=i,f[p+4>>2]=g,(q|0)<=(m|0)):0)?(f[a+12>>2]=q,f[a+16>>2]=m,g=Wl(m|0,((m|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,q=I,q>>>0<0|(q|0)==0&g>>>0<2147483647):0){q=g+1|0;f[a+20>>2]=q;g=(q|0)/2|0;m=a+24|0;f[m>>2]=g;f[a+28>>2]=0-g;if(!(q&1)){f[m>>2]=g+-1;r=1}else r=1}else r=0}else r=0;qp(e);o=r;u=c;return o|0}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)Eo(a);p=k<<6;k=b+31&-32;Jg(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;ok(q|0,k|0,p<<2|0)|0;k=r-(p<<5)|0;r=q+(p<<2)|0;s=r;if((k|0)>0){t=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~t|f[l+(p<<2)>>2]&t;v=s;w=k}else{v=s;w=0}}else{v=q;w=0}f[g>>2]=v;f[g+4>>2]=w;w=g;g=f[w>>2]|0;v=f[w+4>>2]|0;w=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=w;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(w|0)lp(w);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=x;A=v;B=m}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Dh(z|0,-1,b<<2|0)|0;z=B-(b<<5)|0;B=A+(b<<2)|0;if(!z){u=d;return}f[B>>2]=f[B>>2]|-1>>>(32-z|0);u=d;return}else{if(i){C=x;D=v;E=m}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Dh(C|0,0,i<<2|0)|0;C=E-(i<<5)|0;E=D+(i<<2)|0;if(!C){u=d;return}f[E>>2]=f[E>>2]&~(-1>>>(32-C|0));u=d;return}}function hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=f[e>>2]|0;o=c;p=e;q=i}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=w;o=u;p=c;q=i-r|0}r=32-n|0;i=-1<31){n=~i;c=o;u=q;do{w=f[c>>2]|0;v=f[d>>2]|0;e=f[v>>2]&n;f[v>>2]=e;f[v>>2]=w<>2]|e;e=v+4|0;f[d>>2]=e;f[e>>2]=f[e>>2]&i|w>>>r;u=u+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((u|0)>31);x=c;y=q&31}else{x=o;y=q}if((y|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}q=f[x>>2]&-1>>>(32-y|0);x=(r|0)<(y|0)?r:y;o=f[d>>2]|0;c=f[o>>2]&~(-1<>2]&-1>>>(r-x|0));f[o>>2]=c;f[o>>2]=c|q<>2];c=(f[p>>2]|0)+x|0;r=o+(c>>>5<<2)|0;f[d>>2]=r;f[p>>2]=c&31;c=y-x|0;if((c|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[r>>2]=f[r>>2]&~(-1>>>(32-c|0))|q>>>x;f[p>>2]=c;j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function id(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+4194304|0;f[a+48>>2]=x;o=x>>>0<1073741824;u=d;return o|0}function jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+2097152|0;f[a+48>>2]=x;o=x>>>0<536870912;u=d;return o|0}function kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+1048576|0;f[a+48>>2]=x;o=x>>>0<268435456;u=d;return o|0}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+262144|0;f[a+48>>2]=x;o=x>>>0<67108864;u=d;return o|0}function md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+131072|0;f[a+48>>2]=x;o=x>>>0<33554432;u=d;return o|0}function nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+32768|0;f[a+48>>2]=x;o=x>>>0<8388608;u=d;return o|0}function od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+16384|0;f[a+48>>2]=x;o=x>>>0<4194304;u=d;return o|0}function pd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Ul(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Oa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Na[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Na[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){Og(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(q|0)!=(s|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function qd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3072;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do{e=e+-16|0;qp(e)}while((e|0)!=(c|0))}jp(b)}qp(a+352|0);qp(a+312|0);qp(a+296|0);qp(a+256|0);Pg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Vg(a);lp(a);return}function rd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+16|0;d=c;e=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if((f[n>>2]|0)!=0?(n=f[(f[h>>2]|0)+(m<<2)>>2]|0,o=f[n+8>>2]|0,p=kg(n)|0,(p|0)!=0):0){n=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;q=f[n>>2]|0;n=f[o+56>>2]|0;o=Yk(32)|0;f[d>>2]=o;f[j>>2]=-2147483616;f[k>>2]=24;r=o;s=11771;t=r+24|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[o+24>>0]=0;s=q+16|0;r=f[s>>2]|0;if(r){t=s;v=r;a:while(1){r=v;while(1){if((f[r+16>>2]|0)>=(n|0))break;w=f[r+4>>2]|0;if(!w){x=t;break a}else r=w}v=f[r>>2]|0;if(!v){x=r;break}else t=r}if(((x|0)!=(s|0)?(n|0)>=(f[x+16>>2]|0):0)?(t=x+20|0,(hg(t,d)|0)!=0):0)y=hi(t,d,0)|0;else z=14}else z=14;if((z|0)==14){z=0;y=hi(q,d,0)|0}if((b[l>>0]|0)<0)lp(f[d>>2]|0);if(y)Zd(f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0,p);else z=19}else z=19;if((z|0)==19?(z=0,t=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Na[f[(f[t>>2]|0)+24>>2]&127](t,i)|0)):0){g=0;z=21;break}m=m+1|0;if((m|0)>=(e|0)){g=1;z=21;break}}if((z|0)==21){u=c;return g|0}return 0}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+12|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;f[g>>2]=0;m=g+4|0;f[m>>2]=0;f[g+8>>2]=0;if(!(k<<24>>24))n=0;else{if(k<<24>>24<0)Eo(g);k=Yk(l)|0;f[m>>2]=k;f[g>>2]=k;f[g+8>>2]=k+l;o=k;k=l;do{b[o>>0]=0;o=(f[m>>2]|0)+1|0;f[m>>2]=o;k=k+-1|0}while((k|0)!=0);n=b[j>>0]|0}k=n<<24>>24;f[i>>2]=0;o=i+4|0;f[o>>2]=0;f[i+8>>2]=0;if(n<<24>>24){if(n<<24>>24<0)Eo(i);n=Yk(k)|0;f[o>>2]=n;f[i>>2]=n;f[i+8>>2]=n+k;l=n;n=k;do{b[l>>0]=0;l=(f[o>>2]|0)+1|0;f[o>>2]=l;n=n+-1|0}while((n|0)!=0)}n=c+80|0;if(!(f[n>>2]|0))p=f[i>>2]|0;else{l=c+48|0;k=c+40|0;q=c+64|0;r=a+48|0;a=0;do{s=f[g>>2]|0;t=l;v=f[t>>2]|0;w=f[t+4>>2]|0;t=k;x=f[t>>2]|0;y=fl(x|0,f[t+4>>2]|0,a|0,0)|0;t=Ul(y|0,I|0,v|0,w|0)|0;Ff(s|0,(f[f[c>>2]>>2]|0)+t|0,x|0)|0;if((b[j>>0]|0)>0?(b[f[i>>2]>>0]=(f[(f[r>>2]|0)+(d<<2)>>2]|0)+(h[s>>0]|0),(b[j>>0]|0)>1):0){s=1;do{b[(f[i>>2]|0)+s>>0]=(f[(f[r>>2]|0)+(s+d<<2)>>2]|0)+(h[(f[g>>2]|0)+s>>0]|0);s=s+1|0}while((s|0)<(b[j>>0]|0))}s=f[i>>2]|0;x=k;t=f[x>>2]|0;w=fl(t|0,f[x+4>>2]|0,a|0,0)|0;Ff((f[f[q>>2]>>2]|0)+w|0,s|0,t|0)|0;a=a+1|0}while(a>>>0<(f[n>>2]|0)>>>0);p=s}if(p|0){if((f[o>>2]|0)!=(p|0))f[o>>2]=p;lp(p)}p=f[g>>2]|0;if(!p){u=e;return 1}if((f[m>>2]|0)!=(p|0))f[m>>2]=p;lp(p);u=e;return 1}function td(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=f[e>>2]|0;if((((j|0)>-1?j:0-j|0)+((h|0)>-1?h:0-h|0)|0)>(k|0)){if((j|h|0)>-1){l=1;m=1}else{n=(h|0)<1&(j|0)<1;l=n?-1:(h|0)>0?1:-1;m=n?-1:(j|0)>0?1:-1}n=X(k,l)|0;o=X(k,m)|0;p=(h<<1)-n|0;f[c>>2]=p;q=(j<<1)-o|0;f[i>>2]=q;if((X(l,m)|0)>-1){m=0-q|0;f[c>>2]=m;r=0-p|0;s=m}else{f[c>>2]=q;r=p;s=q}q=(s+n|0)/2|0;f[c>>2]=q;c=(r+o|0)/2|0;f[i>>2]=c;t=q;u=c;v=f[e>>2]|0;w=0}else{t=h;u=j;v=k;w=1}k=(f[d>>2]|0)+t|0;f[a>>2]=k;t=(f[d+4>>2]|0)+u|0;u=a+4|0;f[u>>2]=t;if((v|0)>=(k|0))if((k|0)<(0-v|0))x=(f[b+4>>2]|0)+k|0;else x=k;else x=k-(f[b+4>>2]|0)|0;f[a>>2]=x;if((v|0)>=(t|0))if((t|0)<(0-v|0))y=(f[b+4>>2]|0)+t|0;else y=t;else y=t-(f[b+4>>2]|0)|0;f[u>>2]=y;if(w){z=x;A=y;B=z+g|0;C=A+g|0;D=a;E=D;f[E>>2]=B;F=D+4|0;G=F;f[G>>2]=C;return}if((x|y|0)>-1){H=1;I=1}else{w=(y|0)<1&(x|0)<1;H=w?-1:(x|0)>0?1:-1;I=w?-1:(y|0)>0?1:-1}w=X(v,H)|0;b=X(v,I)|0;v=(x<<1)-w|0;f[a>>2]=v;x=(y<<1)-b|0;f[u>>2]=x;if((X(H,I)|0)>-1){I=0-x|0;f[a>>2]=I;J=0-v|0;K=I}else{f[a>>2]=x;J=v;K=x}x=(K+w|0)/2|0;f[a>>2]=x;w=(J+b|0)/2|0;f[u>>2]=w;z=x;A=w;B=z+g|0;C=A+g|0;D=a;E=D;f[E>>2]=B;F=D+4|0;G=F;f[G>>2]=C;return}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}b[a+12>>0]=b[(f[c>>2]|0)+n>>0]|0;n=l;i=f[n>>2]|0;o=f[n+4>>2]|0;n=Ul(i|0,o|0,1,0)|0;k=l;f[k>>2]=n;f[k+4>>2]=I;if((j[c+38>>1]|0)<514){k=g;m=f[k>>2]|0;q=f[k+4>>2]|0;k=Ul(i|0,o|0,5,0)|0;o=I;if((q|0)<(o|0)|(q|0)==(o|0)&m>>>0>>0)r=0;else{i=(f[c>>2]|0)+n|0;n=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[e>>2]=n;i=l;f[i>>2]=k;f[i+4>>2]=o;s=m;t=q;v=k;w=o;x=n;y=7}}else if(Ph(e,c)|0){n=g;g=l;s=f[n>>2]|0;t=f[n+4>>2]|0;v=f[g>>2]|0;w=f[g+4>>2]|0;x=f[e>>2]|0;y=7}else r=0;a:do if((y|0)==7){e=Wl(s|0,t|0,v|0,w|0)|0;g=I;if(!(0>(g|0)|0==(g|0)&x>>>0>e>>>0)?(e=(f[c>>2]|0)+v|0,(x|0)>=1):0){f[a>>2]=e;g=x+-1|0;n=e+g|0;switch((h[n>>0]|0)>>>6&3){case 0:{f[a+4>>2]=g;z=b[n>>0]&63;break}case 1:{if((x|0)<2){r=0;break a}f[a+4>>2]=x+-2;n=e+x+-2|0;z=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((x|0)<3){r=0;break a}f[a+4>>2]=x+-3;n=e+x+-3|0;z=(h[n+1>>0]|0)<<8|(h[n>>0]|0)|(h[n+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}n=z+4096|0;f[a+8>>2]=n;if(n>>>0<=1048575){n=Ul(v|0,w|0,x|0,0)|0;e=l;f[e>>2]=n;f[e+4>>2]=I;r=1}else r=0}else r=0}while(0);p=r;u=d;return p|0}function vd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=j;l=c;do{f[k>>2]=-1;Ti(k+4|0);b[k+100>>0]=1;m=k+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));k=(f[i>>2]|0)+144|0;f[i>>2]=k;l=l+-1|0}while((l|0)!=0);u=d;return}l=f[a>>2]|0;k=(j-l|0)/144|0;j=k+c|0;if(j>>>0>29826161)Eo(a);o=(h-l|0)/144|0;l=o<<1;h=o>>>0<14913080?(l>>>0>>0?j:l):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){l=ra(8)|0;cn(l,13392);f[l>>2]=4748;va(l|0,1128,101)}else{p=Yk(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;l=p+(k*144|0)|0;k=e+8|0;f[k>>2]=l;j=e+4|0;f[j>>2]=l;o=e+12|0;f[o>>2]=p+(h*144|0);h=l;l=c;do{f[h>>2]=-1;Ti(h+4|0);b[h+100>>0]=1;m=h+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));h=(f[k>>2]|0)+144|0;f[k>>2]=h;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;h=f[i>>2]|0;if((h|0)==(l|0)){q=j;r=f[j>>2]|0;s=l;t=h}else{m=f[j>>2]|0;n=h;do{m=m+-144|0;n=n+-144|0;Uc(m,n)}while((n|0)!=(l|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=f[k>>2];f[k>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=f[q>>2];Ug(e);u=d;return}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=f[e+8>>2]|0;c=g+12|0;if(b[c>>0]|0){h=23;break}i=g+8|0;j=f[i>>2]|0;d=f[j>>2]|0;if((d|0)==(g|0)){k=f[j+4>>2]|0;if(!k){h=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{h=7;break}}else{if(!d){h=16;break}l=d+12|0;if(!(b[l>>0]|0))m=l;else{h=16;break}}b[c>>0]=1;c=(j|0)==(a|0);b[j+12>>0]=c&1;b[m>>0]=1;if(c){h=23;break}else e=j}if((h|0)==7){if((f[g>>2]|0)==(e|0)){n=g;o=j}else{m=g+4|0;a=f[m>>2]|0;c=f[a>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[i>>2]|0}f[a+8>>2]=p;p=f[i>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=a;f[a>>2]=g;f[i>>2]=a;n=a;o=f[a+8>>2]|0}b[n+12>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;a=n+4|0;p=f[a>>2]|0;f[o>>2]=p;if(p|0)f[p+8>>2]=o;p=o+8|0;f[n+8>>2]=f[p>>2];c=f[p>>2]|0;f[((f[c>>2]|0)==(o|0)?c:c+4|0)>>2]=n;f[a>>2]=o;f[p>>2]=n;return}else if((h|0)==16){if((f[g>>2]|0)==(e|0)){e=f[g>>2]|0;n=e+4|0;p=f[n>>2]|0;f[g>>2]=p;if(!p)q=j;else{f[p+8>>2]=g;q=f[i>>2]|0}f[e+8>>2]=q;q=f[i>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=e;f[n>>2]=g;f[i>>2]=e;r=e;s=f[e+8>>2]|0}else{r=g;s=j}b[r+12>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;g=f[j>>2]|0;f[r>>2]=g;if(g|0)f[g+8>>2]=s;g=s+8|0;f[j+8>>2]=f[g>>2];r=f[g>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[g>>2]=j;return}else if((h|0)==23)return}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return mb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return ob(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return nb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Ul(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}gd(a+76|0,l,0);Ym(d);if(ud(d,b)|0){if((l|0)>0){k=a+76|0;i=0;m=1;do{m=m^((Pi(d)|0)^1);j=(f[k>>2]|0)+(i>>>5<<2)|0;o=1<<(i&31);p=f[j>>2]|0;f[j>>2]=m?p|o:p&~o;i=i+1|0}while((i|0)<(l|0))}l=e;e=f[l>>2]|0;i=f[l+4>>2]|0;l=g;m=f[l>>2]|0;k=f[l+4>>2]|0;l=Ul(m|0,k|0,4,0)|0;o=I;if(((!((i|0)<(o|0)|(i|0)==(o|0)&e>>>0>>0)?(p=f[b>>2]|0,b=p+m|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=o,o=Ul(m|0,k|0,8,0)|0,k=I,!((i|0)<(k|0)|(i|0)==(k|0)&e>>>0>>0)):0)?(e=p+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=o,f[e+4>>2]=k,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,k=Wl(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&k>>>0<2147483647):0){j=k+1|0;f[a+20>>2]=j;k=(j|0)/2|0;l=a+24|0;f[l>>2]=k;f[a+28>>2]=0-k;if(!(j&1)){f[l>>2]=k+-1;q=1}else q=1}else q=0}else q=0;qp(d);n=q;u=c;return n|0}function Bd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Yk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2632;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2688;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Yk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2548;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2604;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Yk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2800;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2856;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Yk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2716;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2772;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Dd(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+32|0;h=g+12|0;i=g;k=c+24|0;l=b[k>>0]|0;m=l<<24>>24;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;o=l<<24>>24==0;do if(!o)if(l<<24>>24<0)Eo(h);else{p=m<<1;q=Yk(p)|0;f[h>>2]=q;r=q+(m<<1)|0;f[h+8>>2]=r;Dh(q|0,0,p|0)|0;f[n>>2]=r;s=q;t=r;v=q;break}else{s=0;t=0;v=0}while(0);f[i>>2]=0;h=i+4|0;f[h>>2]=0;f[i+8>>2]=0;if(o){w=0;x=0;y=0}else{o=m<<1;l=Yk(o)|0;f[i>>2]=l;q=l+(m<<1)|0;f[i+8>>2]=q;Dh(l|0,0,o|0)|0;f[h>>2]=q;w=l;x=q;y=l}l=c+80|0;if(f[l>>2]|0){q=c+48|0;o=c+40|0;i=c+64|0;m=a+48|0;a=v;r=w;p=0;while(1){z=q;A=f[z>>2]|0;B=f[z+4>>2]|0;z=o;C=f[z>>2]|0;D=fl(C|0,f[z+4>>2]|0,p|0,0)|0;z=Ul(D|0,I|0,A|0,B|0)|0;Ff(a|0,(f[f[c>>2]>>2]|0)+z|0,C|0)|0;C=b[k>>0]|0;if(C<<24>>24>0){z=f[m>>2]|0;B=C<<24>>24;C=0;do{d[r+(C<<1)>>1]=(f[z+(C+e<<2)>>2]|0)+(j[s+(C<<1)>>1]|0);C=C+1|0}while((C|0)<(B|0));E=v}else E=a;B=o;C=f[B>>2]|0;z=fl(C|0,f[B+4>>2]|0,p|0,0)|0;Ff((f[f[i>>2]>>2]|0)+z|0,y|0,C|0)|0;p=p+1|0;if(p>>>0>=(f[l>>2]|0)>>>0)break;else{a=E;r=y}}}if(w|0){if((x|0)!=(w|0))f[h>>2]=x+(~((x+-2-w|0)>>>1)<<1);lp(y)}if(!s){u=g;return 1}if((t|0)!=(s|0))f[n>>2]=t+(~((t+-2-s|0)>>>1)<<1);lp(v);u=g;return 1}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+32|0;g=e+12|0;h=e;i=c+24|0;j=b[i>>0]|0;k=j<<24>>24;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;m=j<<24>>24==0;do if(!m)if(j<<24>>24<0)Eo(g);else{n=k<<2;o=Yk(n)|0;f[g>>2]=o;p=o+(k<<2)|0;f[g+8>>2]=p;Dh(o|0,0,n|0)|0;f[l>>2]=p;q=o;r=p;s=o;break}else{q=0;r=0;s=0}while(0);f[h>>2]=0;g=h+4|0;f[g>>2]=0;f[h+8>>2]=0;if(m){t=0;v=0;w=0}else{m=k<<2;j=Yk(m)|0;f[h>>2]=j;o=j+(k<<2)|0;f[h+8>>2]=o;Dh(j|0,0,m|0)|0;f[g>>2]=o;t=j;v=o;w=j}j=c+80|0;if(f[j>>2]|0){o=c+48|0;m=c+40|0;h=c+64|0;k=a+48|0;a=s;p=t;n=0;while(1){x=o;y=f[x>>2]|0;z=f[x+4>>2]|0;x=m;A=f[x>>2]|0;B=fl(A|0,f[x+4>>2]|0,n|0,0)|0;x=Ul(B|0,I|0,y|0,z|0)|0;Ff(a|0,(f[f[c>>2]>>2]|0)+x|0,A|0)|0;A=b[i>>0]|0;if(A<<24>>24>0){x=f[k>>2]|0;z=A<<24>>24;A=0;do{f[p+(A<<2)>>2]=(f[x+(A+d<<2)>>2]|0)+(f[q+(A<<2)>>2]|0);A=A+1|0}while((A|0)<(z|0));C=s}else C=a;z=m;A=f[z>>2]|0;x=fl(A|0,f[z+4>>2]|0,n|0,0)|0;Ff((f[f[h>>2]>>2]|0)+x|0,w|0,A|0)|0;n=n+1|0;if(n>>>0>=(f[j>>2]|0)>>>0)break;else{a=C;p=w}}}if(t|0){if((v|0)!=(t|0))f[g>>2]=v+(~((v+-4-t|0)>>>2)<<2);lp(w)}if(!q){u=e;return 1}if((r|0)!=(q|0))f[l>>2]=r+(~((r+-4-q|0)>>>2)<<2);lp(s);u=e;return 1}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return fb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return hb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return gb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Id(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;ii(a+232|0);Pg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Vg(a);lp(a);return}function Jd(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;rf(a+232|0);Pg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Vg(a);lp(a);return}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c;e=a+40|0;g=e;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Af(e,1,d)|0){g=a;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=d;k=f[e>>2]|0;l=f[e+4>>2]|0;e=a+8|0;m=e;n=a+16|0;o=n;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Wl(f[m>>2]|0,f[m+4>>2]|0,p|0,q|0)|0;m=I;if(!(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>o>>>0)){o=Ul(p|0,q|0,k|0,l|0)|0;l=n;f[l>>2]=o;f[l+4>>2]=I;do if((j[a+38>>1]|0)>=514){if(!(ud(a+80|0,a)|0)){r=0;u=c;return r|0}}else{l=a+96|0;g=l;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Af(l,1,d)|0){g=a;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=d;o=f[l>>2]|0;k=f[l+4>>2]|0;l=e;q=n;p=f[q>>2]|0;m=f[q+4>>2]|0;q=Wl(f[l>>2]|0,f[l+4>>2]|0,p|0,m|0)|0;l=I;if(!(k>>>0>l>>>0|(k|0)==(l|0)&o>>>0>q>>>0)){q=Ul(p|0,m|0,o|0,k|0)|0;k=n;f[k>>2]=q;f[k+4>>2]=I;break}}r=0;u=c;return r|0}while(0);if(!(Zg(a)|0)){r=0;u=c;return r|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));r=1;u=c;return r|0}}r=0;u=c;return r|0}function Ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(bc(a,c)|0)){g=0;u=d;return g|0}h=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Ra[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else ef(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Ul(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Ta[f[(f[a>>2]|0)+48>>2]&15](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Ra[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Ra[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Na[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Oa[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=Yk(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;No(e);if(Cf(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){jh(o);lp(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}lp(l)}jh(c);lp(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=12999;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){jh(i);lp(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}lp(p)}jh(h);lp(h);u=d;return}}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=f[b>>2]|0;f[d>>2]=g;b=a+8|0;h=(g|0)==-1;i=g+1|0;do if(!h){f[d+4>>2]=((i>>>0)%3|0|0)==0?g+-2|0:i;if(!((g>>>0)%3|0)){j=g+2|0;break}else{j=g+-1|0;break}}else{f[d+4>>2]=-1;j=-1}while(0);f[d+8>>2]=j;j=h?-1:(g>>>0)/3|0;h=a+216|0;i=a+220|0;k=a+368|0;a=g;g=0;while(1){if((a|0)!=-1?(l=f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(l|0)!=-1):0){if(((l>>>0)/3|0)>>>0>=j>>>0?(f[i>>2]|0)!=(f[h>>2]|0):0){l=0;do{if(Pi((f[k>>2]|0)+(l<<4)|0)|0){m=f[h>>2]|0;f[e>>2]=a;n=m+(l*144|0)+136|0;o=f[n>>2]|0;if(o>>>0<(f[m+(l*144|0)+140>>2]|0)>>>0){f[o>>2]=a;f[n>>2]=o+4}else dh(m+(l*144|0)+132|0,e)}l=l+1|0}while(l>>>0<(((f[i>>2]|0)-(f[h>>2]|0)|0)/144|0)>>>0)}}else p=10;if((p|0)==10?(p=0,l=f[i>>2]|0,m=f[h>>2]|0,(l|0)!=(m|0)):0){o=l;l=m;m=0;while(1){n=l;f[e>>2]=a;q=n+(m*144|0)+136|0;r=f[q>>2]|0;if(r>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[r>>2]=a;f[q>>2]=r+4;s=l;t=o}else{dh(n+(m*144|0)+132|0,e);s=f[h>>2]|0;t=f[i>>2]|0}m=m+1|0;if(m>>>0>=((t-s|0)/144|0)>>>0)break;else{o=t;l=s}}}l=g+1|0;if((l|0)==3)break;a=f[d+(l<<2)>>2]|0;g=l}u=c;return 1}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ze(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+36|0,c)|0)){r=0;return r|0}if(!(ze(a+56|0,c)|0)){r=0;return r|0}if(ze(a+76|0,c)|0)return lb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ze(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+36|0,c)|0)){r=0;return r|0}if(!(ze(a+56|0,c)|0)){r=0;return r|0}if(ze(a+76|0,c)|0)return kb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ud(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+32|0,c)|0)){r=0;return r|0}if(!(ze(a+52|0,c)|0)){r=0;return r|0}if(ze(a+72|0,c)|0)return sb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ud(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+32|0,c)|0)){r=0;return r|0}if(!(ze(a+52|0,c)|0)){r=0;return r|0}if(ze(a+72|0,c)|0)return pb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+8|0;i=e+4|0;j=e;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Ul(p|0,q|0,4,0)|0;r=I;a:do if((n|0)<(r|0)|(n|0)==(r|0)&m>>>0>>0)s=0;else{t=f[c>>2]|0;v=t+p|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=o;f[v+4>>2]=r;b:do switch(w|0){case 3:{if(!((n|0)>(r|0)|(n|0)==(r|0)&m>>>0>o>>>0)){s=0;break a}v=b[t+o>>0]|0;x=Ul(p|0,q|0,5,0)|0;y=l;f[y>>2]=x;f[y+4>>2]=I;f[a+8>>2]=v<<24>>24;if(v<<24>>24==1)if($b(a,c,g)|0)break b;else{s=0;break a}else{oj(4996,23,1,f[906]|0)|0;s=0;break a}break}case 2:{if(!($b(a,c,g)|0)){s=0;break a}break}default:{oj(5020,24,1,f[906]|0)|0;s=0;break a}}while(0);f[i>>2]=f[g>>2];f[j>>2]=f[k>>2];oe(i,j,a,d);s=1}while(0);d=f[g>>2]|0;if(!d){u=e;return s|0}g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~(((g+-12-d|0)>>>0)/12|0)*12|0);lp(d);u=e;return s|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=Yk(124)|0;f[k+4>>2]=0;f[k>>2]=3172;f[k+12>>2]=3196;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=3196;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Hf(i+8|0,o,g);Ra[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];Qe(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;tf(k,h);f[a>>2]=n;f[i>>2]=3196;n=f[i+20>>2]|0;if(n|0)lp(n);n=f[i+8>>2]|0;if(!n){bh(h);u=e;return}lp(n);bh(h);u=e;return}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=2;k=0;l=(j|0)==2;m=l?0:k;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=h;h=0;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;r=Ah(f[q>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(r){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?dj(z,A,w)|0:0){B=0;C=h;break b}}else if(!y){if((x&255)<<24>>24==(b[A>>0]|0)){D=v;E=g;F=A}else{B=0;C=h;break b}while(1){D=D+-1|0;E=E+1|0;if(!D)break c;F=F+1|0;if((b[E>>0]|0)!=(b[F>>0]|0)){B=0;C=h;break b}}}while(0);B=1;C=f[q>>2]|0}else{B=0;C=h}}else{B=3;C=h}while(0);if(s<<24>>24<0)lp(f[g>>2]|0);switch(B&3){case 3:case 0:break;default:{j=B;k=C;G=17;break a}}q=q+4|0;if((q|0)==(i|0)){j=2;k=C;G=17;break}else h=C}if((G|0)==17){l=(j|0)==2;m=l?0:k;u=e;return m|0}return 0}function Wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)Eo(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;cn(g,13392);f[g>>2]=4748;va(g|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=d+12|0;f[k>>2]=m+(l<<2);l=f[b>>2]|0;f[b>>2]=0;f[g>>2]=l;f[h>>2]=g+4;g=f[a>>2]|0;l=f[e>>2]|0;if((l|0)==(g|0)){n=i;o=f[i>>2]|0;p=g;q=l;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ug(d);u=c;return}b=f[i>>2]|0;m=l;do{m=m+-4|0;l=f[m>>2]|0;f[m>>2]=0;f[b+-4>>2]=l;b=(f[i>>2]|0)+-4|0;f[i>>2]=b}while((m|0)!=(g|0));n=i;o=b;p=f[a>>2]|0;q=f[e>>2]|0;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ug(d);u=c;return}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c+4|0;e=c;g=f[b>>2]|0;f[d>>2]=g;b=a+8|0;h=g+1|0;do if((g|0)!=-1){f[d+4>>2]=((h>>>0)%3|0|0)==0?g+-2|0:h;if(!((g>>>0)%3|0)){i=g+2|0;break}else{i=g+-1|0;break}}else{f[d+4>>2]=-1;i=-1}while(0);f[d+8>>2]=i;i=a+216|0;h=a+220|0;j=a+368|0;a=g;g=0;while(1){if((a|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)!=-1:0){if((f[h>>2]|0)!=(f[i>>2]|0)){k=0;do{if(Pi((f[j>>2]|0)+(k<<4)|0)|0){l=f[i>>2]|0;f[e>>2]=a;m=l+(k*144|0)+136|0;n=f[m>>2]|0;if(n>>>0<(f[l+(k*144|0)+140>>2]|0)>>>0){f[n>>2]=a;f[m>>2]=n+4}else dh(l+(k*144|0)+132|0,e)}k=k+1|0}while(k>>>0<(((f[h>>2]|0)-(f[i>>2]|0)|0)/144|0)>>>0)}}else o=11;if((o|0)==11?(o=0,k=f[h>>2]|0,l=f[i>>2]|0,(k|0)!=(l|0)):0){n=l;l=k;k=0;while(1){m=n;f[e>>2]=a;p=m+(k*144|0)+136|0;q=f[p>>2]|0;if(q>>>0<(f[m+(k*144|0)+140>>2]|0)>>>0){f[q>>2]=a;f[p>>2]=q+4;r=n;s=l}else{dh(m+(k*144|0)+132|0,e);r=f[i>>2]|0;s=f[h>>2]|0}k=k+1|0;if(k>>>0>=((s-r|0)/144|0)>>>0)break;else{n=r;l=s}}}l=g+1|0;if((l|0)==3)break;a=f[d+(l<<2)>>2]|0;g=l}u=c;return 1}function Yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+32|0;e=d+12|0;g=d;h=wj(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)Eo(e);else{n=Yk(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Dh(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;f[c>>2]=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2];s=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=s;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=f[c>>2];f[o+(q*12|0)+8>>2]=s;q=q+1|0}while(q>>>0>>0)}while(0);Wh(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);lp(a)}u=d;return}function Zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Yk(32)|0;ql(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;lp(d)}lp(g);h=f[e>>2]|0}Oi(a,h,0,0,0,0);j=a}else j=a;if(!(vh(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))Te(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;lp(c)}lp(h);return}h=Yk(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)Eo(c);l=Yk(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){Ff(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;lp(h)}lp(a);return}function _d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;fi(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(k|0)!=(j|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else ag(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(Bb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=i;i=0;while(1){f[d>>2]=f[a+(i<<2)>>2];f[c>>2]=f[d>>2];i=i+1|0;if(!(Bb(e,c)|0)){n=0;o=15;break}g=f[l>>2]|0;a=f[g>>2]|0;if(i>>>0>=(f[g+4>>2]|0)-a>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function $d(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(p|0)!=(o|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else Og(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(rb(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(rb(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=w;o=0;while(1){f[k+(t<<2)>>2]=f[i+(o<<2)>>2];o=o+1|0;if((o|0)==(l|0))break;else t=t+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=l+w|0}if((v|0)==18){u=e;return s|0}return 0}function ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ze(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+36|0,c)|0)){r=0;return r|0}if(!(ze(a+56|0,c)|0)){r=0;return r|0}if(ze(a+76|0,c)|0)return eb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ze(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+36|0,c)|0)){r=0;return r|0}if(!(ze(a+56|0,c)|0)){r=0;return r|0}if(ze(a+76|0,c)|0)return db(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ud(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+32|0,c)|0)){r=0;return r|0}if(!(ze(a+52|0,c)|0)){r=0;return r|0}if(ze(a+72|0,c)|0)return jb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function de(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ud(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+32|0,c)|0)){r=0;return r|0}if(!(ze(a+52|0,c)|0)){r=0;return r|0}if(ze(a+72|0,c)|0)return ib(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{ag(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{ag(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Ic(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=id(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<4194304){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=4194304){r=t;break}else q=t}}else r=n;while(0);q=r&1048575;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>20)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Jc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=jd(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<2097152){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=2097152){r=t;break}else q=t}}else r=n;while(0);q=r&524287;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>19)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Kc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=kd(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<1048576){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=1048576){r=t;break}else q=t}}else r=n;while(0);q=r&262143;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>18)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Lc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=ld(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<262144){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=262144){r=t;break}else q=t}}else r=n;while(0);q=r&65535;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>16)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Mc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=md(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<131072){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=131072){r=t;break}else q=t}}else r=n;while(0);q=r&32767;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>15)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Nc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=nd(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<32768){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=32768){r=t;break}else q=t}}else r=n;while(0);q=r&8191;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>13)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Oc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=od(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<16384){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=n;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;lp(a)}if((b[s+11>>0]|0)<0)lp(f[s>>2]|0);lp(d);return c|0}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=Ka,k=0,l=0,m=0,o=0,p=0,q=Ka,r=Ka,s=0,t=Ka,v=Ka,w=0,x=0,y=0,z=0;g=u;u=u+32|0;h=g+16|0;i=g;j=$(n[d+4>>2]);k=(1<>2])+-1|0;Gn(h);Sk(h,j,k)|0;d=f[a>>2]|0;if((d|0)==(f[c>>2]|0)){u=g;return}a=h+4|0;l=i+4|0;m=i+8|0;o=e+16|0;p=e+28|0;e=d;do{d=(f[e>>2]|0)-k|0;j=$(n[a>>2]);q=$(n[h>>2]);if((d|0)>-1)r=$(q*$(j*$(d|0)));else{s=Wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;r=$(-$(q*$(j*$(+(s>>>0)+4294967296.0*+(I|0)))))}s=(f[e+4>>2]|0)-k|0;if((s|0)>-1)t=$(q*$(j*$(s|0)));else{d=Wl(0,0,s|0,((s|0)<0)<<31>>31|0)|0;t=$(-$(q*$(j*$(+(d>>>0)+4294967296.0*+(I|0)))))}d=(f[e+8>>2]|0)-k|0;if((d|0)>-1)v=$(q*$(j*$(d|0)));else{s=Wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;v=$(-$(q*$(j*$(+(s>>>0)+4294967296.0*+(I|0)))))}n[i>>2]=r;n[l>>2]=t;n[m>>2]=v;s=f[o>>2]|0;d=f[s>>2]|0;w=f[p>>2]|0;if(!(b[d+84>>0]|0))x=f[(f[d+68>>2]|0)+(w<<2)>>2]|0;else x=w;w=i+(f[s+4>>2]<<2)|0;s=d+40|0;y=f[s>>2]|0;z=fl(y|0,f[s+4>>2]|0,x|0,0)|0;Ff((f[f[d+64>>2]>>2]|0)+z|0,w|0,y|0)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+12|0}while((e|0)!=(f[c>>2]|0));u=g;return}function pe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+640|0;c=f[b>>2]|0;if(c|0){d=a+644|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+628|0;b=f[g>>2]|0;if(b|0){j=a+632|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+616>>2]|0;if(l|0){g=a+620|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+604>>2]|0;if(!l){n=a+584|0;lj(n);o=a+564|0;lj(o);p=a+544|0;lj(p);q=a+528|0;qp(q);r=a+16|0;Ch(r);return}m=a+608|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+584|0;lj(n);o=a+564|0;lj(o);p=a+544|0;lj(p);q=a+528|0;qp(q);r=a+16|0;Ch(r);return}function qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));ac(a,h,i);if(f[a>>2]|0){n=h+24|0;qp(n);u=g;return}o=a+4|0;p=o+11|0;if((b[p>>0]|0)<0)lp(f[o>>2]|0);if(b[i+7>>0]|0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;q=Yk(32)|0;f[j>>2]=q;f[j+8>>2]=-2147483616;f[j+4>>2]=27;k=q;l=11743;m=k+27|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+27>>0]=0;f[a>>2]=-1;zh(o,j);if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);n=h+24|0;qp(n);u=g;return}Df(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){q=j+16|0;l=f[q>>2]|0;f[q>>2]=0;tc(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[p>>0]|0)<0)lp(f[o>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ra[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;zh(o,j+4|0)}o=j+16|0;i=f[o>>2]|0;f[o>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0);n=h+24|0;qp(n);u=g;return}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));ac(a,h,i);if(f[a>>2]|0){n=h+24|0;qp(n);u=g;return}o=a+4|0;p=o+11|0;if((b[p>>0]|0)<0)lp(f[o>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;q=Yk(32)|0;f[j>>2]=q;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=q;l=11722;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+20>>0]=0;f[a>>2]=-1;zh(o,j);if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);n=h+24|0;qp(n);u=g;return}og(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){q=j+16|0;l=f[q>>2]|0;f[q>>2]=0;kk(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[p>>0]|0)<0)lp(f[o>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ra[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;zh(o,j+4|0)}o=j+16|0;i=f[o>>2]|0;f[o>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0);n=h+24|0;qp(n);u=g;return}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;lg(a+16|0);Ym(a+528|0);tm(a+544|0);tm(a+564|0);tm(a+584|0);e=a+604|0;f[e>>2]=0;g=a+608|0;f[g>>2]=0;f[a+612>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Eo(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+612>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+616|0;f[g>>2]=0;e=a+620|0;f[e>>2]=0;f[a+624>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+624>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}ui(a+628|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}ui(a+640|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)Eo(d);else{i=b*12|0;j=Yk(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Dh(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(yh(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(i<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+k|0;f[e>>2]=q;p=f[n+(i+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(i+2<<2)>>2]|0;n=q>>>1;k=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=k;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))Lg(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else i=i+3|0}}else m=0;i=f[d>>2]|0;if(!i){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(i|0))f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);lp(i);u=c;return m|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;tm(a+16|0);tm(a+36|0);tm(a+56|0);tm(a+76|0);e=a+96|0;f[e>>2]=0;g=a+100|0;f[g>>2]=0;f[a+104>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Eo(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+104>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+108|0;f[g>>2]=0;e=a+112|0;f[e>>2]=0;f[a+116>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+116>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}ui(a+120|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}ui(a+132|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;i=d+8|0;j=f[i>>2]|0;k=f[i+4>>2]|0;i=d+16|0;l=i;m=f[l>>2]|0;n=f[l+4>>2]|0;if((k|0)>(n|0)|(k|0)==(n|0)&j>>>0>m>>>0){l=b[(f[d>>2]|0)+m>>0]|0;o=Ul(m|0,n|0,1,0)|0;p=I;q=i;f[q>>2]=o;f[q+4>>2]=p;if(l<<24>>24!=-2){r=p;s=o;t=l;v=3}}else{r=n;s=m;t=0;v=3}if((v|0)==3){if((k|0)>(r|0)|(k|0)==(r|0)&j>>>0>s>>>0){j=b[(f[d>>2]|0)+s>>0]|0;k=Ul(s|0,r|0,1,0)|0;r=i;f[r>>2]=k;f[r+4>>2]=I;w=j}else w=0;Ua[f[(f[a>>2]|0)+40>>2]&7](g,a,t<<24>>24,w<<24>>24);w=a+20|0;t=f[g>>2]|0;f[g>>2]=0;j=f[w>>2]|0;f[w>>2]=t;if(j){Ra[f[(f[j>>2]|0)+4>>2]&127](j);j=f[g>>2]|0;f[g>>2]=0;if(j|0)Ra[f[(f[j>>2]|0)+4>>2]&127](j)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Na[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){x=0;u=e;return x|0}if(!(Oa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){x=0;u=e;return x|0}d=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;c=f[a+4>>2]|0;if((c|0?((h[c+36>>0]|0)<<8&65535)<512:0)?!(Na[f[(f[a>>2]|0)+48>>2]&127](a,d)|0):0){x=0;u=e;return x|0}x=1;u=e;return x|0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;Ym(a+16|0);tm(a+32|0);tm(a+52|0);tm(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Eo(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}ui(a+116|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}ui(a+128|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+132|0;c=f[b>>2]|0;if(c|0){d=a+136|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+120|0;b=f[g>>2]|0;if(b|0){j=a+124|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+108>>2]|0;if(l|0){g=a+112|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+96>>2]|0;if(!l){n=a+76|0;lj(n);o=a+56|0;lj(o);p=a+36|0;lj(p);q=a+16|0;lj(q);return}m=a+100|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+76|0;lj(n);o=a+56|0;lj(o);p=a+36|0;lj(p);q=a+16|0;lj(q);return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{ag(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=0;while(1){h=d*3|0;i=f[o+(h<<2)>>2]|0;if((i|0)==-1){q=0;r=11;break}g=f[(f[m>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=p>>>0){q=0;r=11;break}i=f[a>>2]|0;f[i+(f[c+(d*12|0)>>2]<<2)>>2]=k;k=f[o+(h+1<<2)>>2]|0;if((k|0)==-1){q=0;r=11;break}l=f[g+(k<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+4>>2]<<2)>>2]=l;l=f[o+(h+2<<2)>>2]|0;if((l|0)==-1){q=0;r=11;break}h=f[g+(l<<2)>>2]|0;if(h>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+8>>2]<<2)>>2]=h;d=d+1|0;if(d>>>0>=e>>>0){q=1;r=11;break}}if((r|0)==11)return q|0;return 0}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;g=c;i=e+(~((e+-4-g|0)>>>2)<<2)|0;if((e|0)==(c|0)){j=e;k=c}else{f[d>>2]=i;j=i;k=i}i=a+16|0;f[i>>2]=0;e=a+12|0;f[e>>2]=k;k=b+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=b+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;return r|0}s=(f[b>>2]|0)+p|0;p=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;s=l;f[s>>2]=q;f[s+4>>2]=o;if(!((p|0)!=0&(p&3|0)==0)){r=0;return r|0}s=Wl(m|0,n|0,q|0,o|0)|0;t=I;if(0>(t|0)|0==(t|0)&p>>>0>s>>>0){r=0;return r|0}s=p>>>2;t=j-g>>2;if(s>>>0<=t>>>0)if(s>>>0>>0?(g=c+(s<<2)|0,(j|0)!=(g|0)):0){f[d>>2]=j+(~((j+-4-g|0)>>>2)<<2);u=q;v=o;w=n;x=m}else{u=q;v=o;w=n;x=m}else{Og(a,s-t|0);t=k;k=l;u=f[k>>2]|0;v=f[k+4>>2]|0;w=f[t+4>>2]|0;x=f[t>>2]|0}t=Ul(u|0,v|0,p|0,0)|0;v=I;if((w|0)<(v|0)|(w|0)==(v|0)&x>>>0>>0){r=0;return r|0}Ff(f[a>>2]|0,(f[b>>2]|0)+u|0,p|0)|0;u=l;b=Ul(f[u>>2]|0,f[u+4>>2]|0,p|0,0)|0;p=l;f[p>>2]=b;f[p+4>>2]=I;f[e>>2]=f[a>>2];f[i>>2]=0;r=1;return r|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)Eo(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{k=Yk(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1228;f[k+(e*24|0)+4>>2]=f[b+4>>2];pi(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=d;d=k;k=g;do{f[j+-24>>2]=1228;f[j+-20>>2]=f[d+-20>>2];g=j+-16|0;o=d+-16|0;f[g>>2]=0;p=j+-12|0;f[p>>2]=0;f[j+-8>>2]=0;f[g>>2]=f[o>>2];g=d+-12|0;f[p>>2]=f[g>>2];p=d+-8|0;f[j+-8>>2]=f[p>>2];f[p>>2]=0;f[g>>2]=0;f[o>>2]=0;f[j+-4>>2]=f[d+-4>>2];d=d+-24|0;j=k+-24|0;k=j}while((d|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Ra[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;lp(m);return}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3148;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Eo(i);else{o=((n+-1|0)>>>5)+1|0;p=Yk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];He(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Eo(i);k=((l+-1|0)>>>5)+1|0;l=Yk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];He(i,e,d);u=c;return}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3196;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Eo(i);else{o=((n+-1|0)>>>5)+1|0;p=Yk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];He(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Eo(i);k=((l+-1|0)>>>5)+1|0;l=Yk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];He(i,e,d);u=c;return}function De(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+128|0;c=f[b>>2]|0;if(c|0){d=a+132|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+116|0;b=f[g>>2]|0;if(b|0){j=a+120|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+104>>2]|0;if(l|0){g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;lj(n);o=a+52|0;lj(o);p=a+32|0;lj(p);q=a+16|0;qp(q);return}m=a+96|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+72|0;lj(n);o=a+52|0;lj(o);p=a+32|0;lj(p);q=a+16|0;qp(q);return}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ka,v=Ka,w=0,x=0,y=Ka,z=0,A=Ka;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=ip(j>>>0>1073741823?-1:j<<2)|0;Gn(e);if(!(Sk(e,$(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;jp(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){Ff((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}jp(l);u=d;return m|0}while(1){a=f[p>>2]|0;t=$(n[g>>2]);v=$(n[e>>2]);i=0;w=s;while(1){x=f[o+(w<<2)>>2]|0;if((x|0)>-1)y=$($($(x|0)*t)*v);else{z=Wl(0,0,x|0,((x|0)<0)<<31>>31|0)|0;y=$(-$(v*$(t*$(+(z>>>0)+4294967296.0*+(I|0)))))}A=$(y+$(n[a+(i<<2)>>2]));n[l+(i<<2)>>2]=A;i=i+1|0;if((i|0)==(j|0))break;else w=w+1|0}Ff((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+r|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+k|0;s=j+s|0}}jp(l);u=d;return m|0}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Dh(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)Eo(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{n=Yk(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Dh(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=d;d=h;h=j;do{j=i+-12|0;b=d;d=d+-12|0;f[j>>2]=0;n=i+-8|0;f[n>>2]=0;f[i+-4>>2]=0;f[j>>2]=f[d>>2];j=b+-8|0;f[n>>2]=f[j>>2];n=b+-4|0;f[i+-4>>2]=f[n>>2];f[n>>2]=0;f[j>>2]=0;f[d>>2]=0;i=h+-12|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);lp(m)}}while((c|0)!=(g|0))}if(!p)return;lp(p);return}function Ge(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=ip(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)jp(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}Ff(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Ul(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Ul(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Ul(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Ul(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((o|0)!=(a|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];ed(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=b;t=n;v=j;w=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=l+(e>>>5<<2)|0;s=b;t=b;v=j-p|0;w=e&31}e=(v|0)/32|0;ok(r|0,s|0,e<<2|0)|0;s=v-(e<<5)|0;v=r+(e<<2)|0;r=v;if((s|0)>0){p=-1>>>(32-s|0);f[v>>2]=f[v>>2]&~p|f[t+(e<<2)>>2]&p;x=r;y=s}else{x=r;y=w}}else{x=m;y=o}f[k>>2]=x;f[k+4>>2]=y;u=d;return}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;if(g-i>>2>>>0>=b>>>0){Dh(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}j=f[a>>2]|0;k=i-j>>2;i=k+b|0;if(i>>>0>1073741823)Eo(a);l=g-j|0;j=l>>1;g=l>>2>>>0<536870911?(j>>>0>>0?i:j):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(g)if(g>>>0>1073741823){j=ra(8)|0;cn(j,13392);f[j>>2]=4748;va(j|0,1128,101)}else{m=Yk(g<<2)|0;break}else m=0;while(0);f[d>>2]=m;j=m+(k<<2)|0;k=d+8|0;i=d+4|0;f[i>>2]=j;l=d+12|0;f[l>>2]=m+(g<<2);Dh(j|0,0,b<<2|0)|0;f[k>>2]=j+(b<<2);b=f[a>>2]|0;j=f[h>>2]|0;if((j|0)==(b|0)){n=i;o=f[i>>2]|0;p=b;q=j}else{g=f[i>>2]|0;m=j;do{m=m+-4|0;j=f[m>>2]|0;f[m>>2]=0;f[g+-4>>2]=j;g=(f[i>>2]|0)+-4|0;f[i>>2]=g}while((m|0)!=(b|0));n=i;o=g;p=f[a>>2]|0;q=f[h>>2]|0}f[a>>2]=o;f[n>>2]=p;f[h>>2]=f[k>>2];f[k>>2]=q;q=f[e>>2]|0;f[e>>2]=f[l>>2];f[l>>2]=q;f[d>>2]=f[n>>2];ug(d);u=c;return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)ok(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);lp(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Eo(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Eo(a);h=Yk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+(p<<2);return}function Ke(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Ul(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}r=o+i|0;i=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=d;f[r>>2]=m;f[r+4>>2]=p;if((q|0)>(i|0)){n=0;return n|0}f[a+12>>2]=q;f[a+16>>2]=i;r=Wl(i|0,((i|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=I;if(!(q>>>0<0|(q|0)==0&r>>>0<2147483647)){n=0;return n|0}q=r+1|0;f[a+20>>2]=q;r=(q|0)/2|0;i=a+24|0;f[i>>2]=r;f[a+28>>2]=0-r;if(!(q&1))f[i>>2]=r+-1;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}r=b[o+m>>0]|0;i=Ul(k|0,l|0,9,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=I;if((r&255)<2){f[a+88>>2]=r&255;break}else{n=0;return n|0}}while(0);n=ud(a+108|0,c)|0;return n|0}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){f[j>>2]=f[c>>2];o=o+-1|0;if(!o)break;else j=j+4|0}}if(!l){j=h+(b<<2)|0;if((n|0)==(j|0))return;else{p=i;q=n+(~((n+-4-j|0)>>>2)<<2)|0;break}}else{j=b-k|0;o=n;m=j;while(1){f[o>>2]=f[c>>2];m=m+-1|0;if(!m)break;else o=o+4|0}p=i;q=n+(j<<2)|0;break}}else{o=g;if(!g)r=e;else{m=a+4|0;k=f[m>>2]|0;if((k|0)!=(h|0))f[m>>2]=k+(~((k+-4-g|0)>>>2)<<2);lp(o);f[d>>2]=0;f[m>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)Eo(a);m=r>>1;o=r>>2>>>0<536870911?(m>>>0>>0?b:m):1073741823;if(o>>>0>1073741823)Eo(a);m=Yk(o<<2)|0;k=a+4|0;f[k>>2]=m;f[a>>2]=m;f[d>>2]=m+(o<<2);o=m;l=b;while(1){f[o>>2]=f[c>>2];l=l+-1|0;if(!l)break;else o=o+4|0}p=k;q=m+(b<<2)|0}while(0);f[p>>2]=q;return}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)ok(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=n;o=p;while(1){d[q>>1]=d[o>>1]|0;o=o+2|0;if((o|0)==(c|0))break;else q=q+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);lp(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)Eo(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)Eo(a);t=Yk(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=t;i=b;while(1){d[e>>1]=d[i>>1]|0;i=i+2|0;if((i|0)==(c|0))break;else e=e+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)ok(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);lp(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Eo(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Eo(a);h=Yk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function Oe(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;kc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;jc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)lp(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)lp(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(l|0)!=(o|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Og(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(Sb(a,d)|0)){s=0;u=c;return s|0}zb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{lp(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)Eo(c);else{j=((k+-1|0)>>>5)+1|0;l=Yk(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);ok(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{lp(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)Eo(h);else{n=((p+-1|0)>>>5)+1|0;c=Yk(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);ok(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function Re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Qi(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=d;d=0;do{k=j+(d<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Qi(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;d=d+1|0;j=f[i>>2]|0}while(d>>>0<(f[c>>2]|0)-j>>2>>>0)}j=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Qi(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;fi(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Gb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Gb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);lp(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)Eo(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)Eo(a);j=Yk(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;Ff(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;Ff(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((c|0)==(p|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function Ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;p=(j[c+38>>1]|0)<514;do if(p){r=Ul(k|0,l|0,8,0)|0;s=I;if((g|0)<(s|0)|(g|0)==(s|0)&e>>>0>>0){n=0;return n|0}else{t=d;f[t>>2]=r;f[t+4>>2]=s;u=s;v=r;break}}else{u=m;v=i}while(0);if(!(q&1)){n=0;return n|0}i=(_(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;do if(p){if(!((g|0)>(u|0)|(g|0)==(u|0)&e>>>0>v>>>0)){n=0;return n|0}i=b[o+v>>0]|0;q=Ul(v|0,u|0,1,0)|0;m=d;f[m>>2]=q;f[m+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=ud(a+88|0,c)|0;return n|0}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;fi(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Jb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Jb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(Hc(e,a,d)|0){d=f[g>>2]|0;Ne(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+56>>2]|0;if(d|0)lp(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}Vg(e);lp(e);u=c;return l|0}function Xe(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Ka,f=Ka,g=Ka,h=Ka,i=Ka,j=Ka,k=Ka,l=Ka,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Ka,u=Ka,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=g;j=$(g-h);k=$(h+g);l=h;m=-1.0}else{i=b;j=f;k=e;l=c;m=1.0}c=$(+i*2.0+-1.0);i=$(+l*2.0+-1.0);o=+k*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=t;w=d+8|0;n[w>>2]=u;return}else{l=$($(1.0)/$(L($(k))));k=$(j*l);n[d>>2]=k;t=$(c*l);u=$(i*l);v=d+4|0;n[v>>2]=t;w=d+8|0;n[w>>2]=u;return}}function Ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=d;j=a;while(1){if((b[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=d;r=a;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=c&255;if((b[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=X(e,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){a=f[g>>2]^q;if((a&-2139062144^-2139062144)&a+-16843009|0)break;a=g+4|0;d=s+-4|0;if(d>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((b[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=i;r=n}else{ok(p|0,d|0,o|0)|0;q=f[h>>2]|0;r=p}f[c>>2]=r;f[h>>2]=q+(m<<2);s=r;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;cn(m,13392);f[m>>2]=4748;va(m|0,1128,101)}m=Yk(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=d;u=n}else{l=o;m=d;v=n;do{f[l>>2]=f[m>>2];l=v+4|0;v=l;m=m+4|0}while((m|0)!=(i|0));t=f[a>>2]|0;u=v}f[a>>2]=p;f[c>>2]=n;f[h>>2]=u;f[j>>2]=k;if(!t)s=o;else{lp(t);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function _e(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=g;g=a+4|0;while(1){a=d+16|0;i=b[a+11>>0]|0;k=i<<24>>24<0;l=k?f[d+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=dj(e,k?f[a>>2]|0:a,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[d>>2]|0;if(!n){o=9;break}else{p=n;q=d}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=dj(k?f[a>>2]|0:a,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=d+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=i;q=r}}d=p;g=q}if((o|0)==9){f[c>>2]=d;h=d;return h|0}else if((o|0)==15){f[c>>2]=d;h=r;return h|0}else if((o|0)==16){f[c>>2]=d;h=g;return h|0}return 0}function $e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;hd(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=l;p=c;q=h;r=j;s=0}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=l;p=l;q=h-n|0;r=j+(g>>>5<<2)|0;s=g&31}g=(q|0)/32|0;ok(r|0,o|0,g<<2|0)|0;o=q-(g<<5)|0;q=r+(g<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);f[q>>2]=f[q>>2]&~j|f[p+(g<<2)>>2]&j;t=r;v=o}else{t=r;v=s}}else{t=k;v=m}f[i>>2]=t;f[i+4>>2]=v;u=d;return}function af(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=Yk(384)|0;$h(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ra[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}case 1:{c=Yk(424)|0;mh(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);m=11}break}case 2:{d=Yk(440)|0;Sg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ra[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}default:m=11}if((m|0)==11){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Na[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Rh(c)|0;if(i>>>0>4294967279)Eo(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=Yk(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){Ff(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=Rh(d)|0;if(i>>>0>4294967279)Eo(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=Yk(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){Ff(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Vd(i,g,h)|0,(o|0)!=0):0)q=cj(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)lp(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}lp(f[g>>2]|0);u=e;return q|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;i=d;do if((d|0)==(g|0)){j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=l;if(k>>>0>l>>>0){n=k;o=((n-m>>2)+1|0)/-2|0;p=k+(o<<2)|0;q=i-n|0;n=q>>2;if(!n)r=k;else{ok(p|0,k|0,q|0)|0;r=f[j>>2]|0}q=p+(n<<2)|0;f[c>>2]=q;f[j>>2]=r+(o<<2);s=q;break}q=h-m>>1;m=(q|0)==0?1:q;if(m>>>0>1073741823){q=ra(8)|0;cn(q,13392);f[q>>2]=4748;va(q|0,1128,101)}q=Yk(m<<2)|0;o=q;n=q+(m>>>2<<2)|0;p=n;t=q+(m<<2)|0;if((k|0)==(d|0)){u=l;v=p}else{l=n;n=k;k=p;do{f[l>>2]=f[n>>2];l=k+4|0;k=l;n=n+4|0}while((n|0)!=(d|0));u=f[a>>2]|0;v=k}f[a>>2]=o;f[j>>2]=p;f[c>>2]=v;f[e>>2]=t;if(!u)s=v;else{lp(u);s=f[c>>2]|0}}else s=d;while(0);f[s>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;lp(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Eo(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Eo(a);i=Yk(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}else{o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;n=a-e|0;if(n|0)ok(k|0,c|0,n|0)|0;c=k+n|0;if(!j){if((f[o>>2]|0)==(c|0))return;f[o>>2]=c;return}if((a|0)==(d|0))return;a=f[o>>2]|0;c=g;do{b[a>>0]=b[c>>0]|0;c=c+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((c|0)!=(d|0));return}}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Dh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)Eo(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{n=Yk(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Dh(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=d;d=h;h=b;do{d=d+-4|0;b=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=b;i=h+-4|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Ra[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;lp(p);return}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Eo(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;cn(e,13392);f[e>>2]=4748;va(e|0,1128,101)}else{l=Yk(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;zh(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=e;e=l;l=g;do{g=j+-12|0;e=e+-12|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=l+-12|0;l=j}while((e|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;lp(n);return}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)ok(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;Ff(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);lp(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)Eo(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)Eo(a);j=Yk(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;Ff(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Ul(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}i=d;f[i>>2]=m;f[i+4>>2]=p;if(!(q&1)){n=0;return n|0}i=(_(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}i=b[o+m>>0]|0;q=Ul(k|0,l|0,9,0)|0;r=d;f[r>>2]=q;f[r+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=ud(a+88|0,c)|0;return n|0}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=Yk(64)|0;g=Yk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=3416;f[g+8>>2]=h;f[d>>2]=g;yj(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){ef(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(m|0)!=(n|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Ra[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Ra[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Ra[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Ra[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=0;i=-1;j=b}else{h=0;i=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;j=b}}else{h=1;i=-1;j=-1}if((g|0)!=(i|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(h){l=-1;m=-1;n=j;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(h){l=-1;m=e;n=j;break}else o=e}e=j+1|0;b=((e>>>0)%3|0|0)==0?j+-2|0:e;if((b|0)==-1){l=-1;m=o;n=j}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=j}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function lf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(wc(e,c)|0){g=0;return g|0}a=Yb(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Bg(c+8|0);lp(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)lp(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)lp(a);lp(d);g=1;return g|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))$f(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){dh(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;lp(b)}lp(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);lp(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;lp(e)}lp(h)}lp(c);u=d;return}function nf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3608;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}sg(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){jh(i);lp(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g)}jh(a);lp(a);return}function of(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=lm(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=f[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=(q<<31>>31)+n|0;t=g-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;g=lm(Aa(146,e|0)|0)|0;if((o|0)==(g|0)){v=3;break a}else{m=r;n=s}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((n|0)==2)w=0;else w=c-(f[m+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|0}function qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=dj(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=dj(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function rf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);lp(g)}g=a+136|0;j=f[g>>2]|0;f[g>>2]=0;if(!j){l=a+120|0;qp(l);m=a+80|0;qp(m);n=a+64|0;qp(n);o=a+24|0;qp(o);return}g=j+-4|0;b=f[g>>2]|0;if(b|0){h=j+(b<<4)|0;do{h=h+-16|0;qp(h)}while((h|0)!=(j|0))}jp(g);l=a+120|0;qp(l);m=a+80|0;qp(m);n=a+64|0;qp(n);o=a+24|0;qp(o);return}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=h;j=b;do{f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];i=(f[g>>2]|0)+12|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/12|0;h=i+b|0;if(h>>>0>357913941)Eo(a);k=(e-j|0)/12|0;j=k<<1;e=k>>>0<178956970?(j>>>0>>0?h:j):357913941;do if(e)if(e>>>0>357913941){j=ra(8)|0;cn(j,13392);f[j>>2]=4748;va(j|0,1128,101)}else{l=Yk(e*12|0)|0;break}else l=0;while(0);j=l+(i*12|0)|0;i=l+(e*12|0)|0;e=j;l=b;b=j;do{f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];e=b+12|0;b=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;c=j+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ff(c|0,l|0,e|0)|0;f[a>>2]=c;f[g>>2]=b;f[d>>2]=i;if(!l)return;lp(l);return}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Qe(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{Te(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Te(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Te(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];gf(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Eo(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{k=Yk(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){jh(n);lp(n)}}while((h|0)!=(g|0))}if(!m)return;lp(m);return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Oj(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(Zj(5)|0,d)|0;Vh(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=Yk(96)|0;zj(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);Lh(j,c)|0;f[h>>2]=j;sh(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;lp(h)}lp(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);lp(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;lp(j)}lp(c)}lp(a);u=e;return}function wf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function xf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=ip(k)|0;Dh(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;Ac(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){jp(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;Ac(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));jp(l);u=g;return 1}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;mf(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);lp(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;lp(c)}lp(h)}lp(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){gg(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((b|0)==(e|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function zf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+172|0;d=f[c>>2]|0;do if((d|0)==-1){e=f[a+144>>2]|0;g=Ma[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(((h[g+36>>0]<<8|h[g+37>>0])&65535)<514)if(b[a+76>>0]|0){g=a+72|0;e=f[g>>2]|0;i=f[a+64>>2]|0;j=f[a+68>>2]|0;k=i+(e>>>3)|0;if(k>>>0>>0?(l=h[k>>0]|0,k=e+1|0,f[g>>2]=k,(l&1<<(e&7)|0)!=0):0){l=i+(k>>>3)|0;if(l>>>0>>0){m=(h[l>>0]|0)>>>(k&7)&1;l=e+2|0;f[g>>2]=l;n=l;o=m}else{n=k;o=0}k=i+(n>>>3)|0;if(k>>>0>>0){j=(h[k>>0]|0)>>>(n&7);f[g>>2]=n+1;p=j<<1&2}else p=0;q=(p|o)<<1|1}else q=0}else q=1;else q=7}else{j=(f[a+196>>2]|0)+(d<<2)|0;g=f[j>>2]|0;k=g+-1|0;f[j>>2]=k;if((g|0)<1){r=9;return r|0}else{q=f[3328+(f[(f[(f[a+184>>2]|0)+((f[c>>2]|0)*12|0)>>2]|0)+(k<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=q;r=q;return r|0}function Af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0;do if(c){if((j[a+38>>1]|0)>=514){if(nh(d,a)|0)break;else e=0;return e|0}g=a+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=a+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){e=0;return e|0}else{n=(f[a>>2]|0)+m|0;m=n;i=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=n+4|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;l=m;b[l>>0]=i;b[l+1>>0]=i>>8;b[l+2>>0]=i>>16;b[l+3>>0]=i>>24;i=m+4|0;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;n=g;i=Ul(f[n>>2]|0,f[n+4>>2]|0,8,0)|0;n=g;f[n>>2]=i;f[n+4>>2]=I;break}}while(0);b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;n=(f[a>>2]|0)+c|0;i=a+8|0;g=Wl(f[i>>2]|0,f[i+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=n;f[a+28>>2]=n+g;e=1;return e|0}function Bf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=ip(k)|0;Dh(l|0,0,k|0)|0;k=a+8|0;a=f[l>>2]|0;m=f[l+4>>2]|0;n=f[b+4>>2]|0;f[h>>2]=f[b>>2];f[h+4>>2]=n;f[j>>2]=a;f[j+4>>2]=m;td(i,k,j,h);f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];if((e|0)>=(d|0)){jp(l);u=g;return 1}m=0-e|0;a=h+4|0;n=j+4|0;o=i+4|0;p=e;do{q=c+(p<<2)|0;r=q+(m<<2)|0;s=b+(p<<2)|0;t=f[r>>2]|0;v=f[r+4>>2]|0;r=f[s+4>>2]|0;f[h>>2]=f[s>>2];f[a>>2]=r;f[j>>2]=t;f[n>>2]=v;td(i,k,j,h);f[q>>2]=f[i>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));jp(l);u=g;return 1}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;Ph(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){Ph(g,f[a>>2]|0)|0;k=Yk(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(Cc(a,k)|0))break;f[h>>2]=k;vi(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){jh(l);lp(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}jh(k);lp(k);m=0}while(0);if((j|0)==8)m=Cc(a,c)|0;i=m;u=d;return i|0}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Yk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));nk(c);f[c>>2]=3528;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Yk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));nk(c);f[c>>2]=3484;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;j=11693;i=h+28|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;zh(c,g);f[a>>2]=f[e>>2];zh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=d;return}}}function Ef(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;do if(!(Hn(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Hn(a,f[c>>2]|0,g)|0)){i=f[h>>2]|0;Va[f[(f[i>>2]|0)+24>>2]&3](i,c,d,e,g);break}i=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(j=c+20|0,(f[j>>2]|0)!=(d|0)):0){f[i>>2]=e;k=c+44|0;if((f[k>>2]|0)==4)break;l=c+52|0;b[l>>0]=0;m=c+53|0;b[m>>0]=0;n=f[h>>2]|0;Wa[f[(f[n>>2]|0)+20>>2]&3](n,c,d,d,1,g);if(b[m>>0]|0)if(!(b[l>>0]|0)){o=3;p=11}else q=3;else{o=4;p=11}if((p|0)==11){f[j>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;q=o}else q=o}f[k>>2]=q;break}if((e|0)==1)f[i>>2]=1}else Pk(0,c,d,e);while(0);return}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(k>>>0<=o>>>0)if(k>>>0>>0?(m=p+(k<<2)|0,(n|0)!=(m|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Og(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=4;o=0;k=j;while(1){f[g+(o<<2)>>2]=k;q=q+4|0;o=o+1|0;d=r+q|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((o|0)>=(i|0)){s=c;break}else k=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function Hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)Eo(a);n=j<<6;j=c+31&-32;Jg(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)lp(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Dh(h|0,0,n|0)|0;d=c-(a<<5)|0;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Dh(h|0,-1,n|0)|0;n=c-(a<<5)|0;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=xc(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=Yk(40)|0;zh(c+16|0,d);zh(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}wd(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Ul(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Ul(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Wl(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)Eo(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=ra(8)|0;cn(l,13392);f[l>>2]=4748;va(l|0,1128,101)}else{n=Yk(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=l;l=j;while(1){j=l;l=l+-12|0;f[g+-12>>2]=f[l>>2];f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];j=g+-12|0;if((l|0)==(i|0)){o=j;break}else g=j}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;lp(e);return}function Lf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Yk(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;Ff(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Rg(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;Ff(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>4294967279)Eo(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=a;m=0;n=j;o=13}else{Tm(a,j,(e&255)+1|0)|0;lp(j);o=15}}else{j=Yk(k+1|0)|0;if(g){l=j;m=1;n=f[a>>2]|0;o=13;break}else{Tm(j,a,(e&255)+1|0)|0;p=j;o=14;break}}while(0);if((o|0)==13){Tm(l,n,(f[a+4>>2]|0)+1|0)|0;lp(n);if(m){p=l;o=14}else o=15}if((o|0)==14){f[a+8>>2]=k+1|-2147483648;f[a+4>>2]=h;f[a>>2]=p;break}else if((o|0)==15){b[d>>0]=h;break}}while(0);return}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){lp(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=g;m=j;while(1){j=m+8|0;if((l|0)==(f[i>>2]|0))ff(a,j);else{zh(l,j);f[h>>2]=(f[h>>2]|0)+12}j=f[m>>2]|0;if(!j)break a;l=f[h>>2]|0;m=j}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Ta[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;lp(d)}lp(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;lp(a)}lp(e)}lp(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=g;i=b;do{j=h;f[j>>2]=0;f[j+4>>2]=0;h=(f[e>>2]|0)+8|0;f[e>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;h=g-i>>3;g=h+b|0;if(g>>>0>536870911)Eo(a);j=d-i|0;i=j>>2;d=j>>3>>>0<268435455?(i>>>0>>0?g:i):536870911;do if(d)if(d>>>0>536870911){i=ra(8)|0;cn(i,13392);f[i>>2]=4748;va(i|0,1128,101)}else{k=Yk(d<<3)|0;break}else k=0;while(0);i=k+(h<<3)|0;h=k+(d<<3)|0;d=i;k=b;b=i;do{g=d;f[g>>2]=0;f[g+4>>2]=0;d=b+8|0;b=d;k=k+-1|0}while((k|0)!=0);k=f[a>>2]|0;d=(f[e>>2]|0)-k|0;g=i+(0-(d>>3)<<3)|0;if((d|0)>0)Ff(g|0,k|0,d|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=h;if(!k)return;lp(k);return}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==1048576;return k|0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;if(!(Kd(a,b)|0)){e=0;u=c;return e|0}g=b+8|0;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Ul(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){e=0;u=c;return e|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){e=0;u=c;return e|0}k=f[a+152>>2]|0;if((l|0)>=(k|0)){e=0;u=c;return e|0}l=a+156|0;f[d>>2]=0;i=a+160|0;m=f[i>>2]|0;g=f[l>>2]|0;j=m-g>>2;n=g;g=m;if(k>>>0<=j>>>0){if(k>>>0>>0?(m=n+(k<<2)|0,(g|0)!=(m|0)):0)f[i>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else ag(l,k-j|0,d);e=ud(a+168|0,b)|0;u=c;return e|0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==524288;return k|0}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==262144;return k|0}function Uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)lp(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)lp(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;Hf(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;Hf(a+12|0,k,e);Le(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,3596);fi(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);fi(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==65536;return k|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==32768;return k|0} +function tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(m|0)!=(l|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Og(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{ag(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else ag(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else ag(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else ag(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Yk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)Eo(h);else{l=e<<2;r=Yk(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Dh(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+64|0;x=j+28|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;if(l-p>>2>>>0>1){E=p;F=1}else{G=q;Eo(G)}while(1){H=f[E+(F<<2)>>2]|0;I=(((H>>>0)%3|0|0)==0?2:-1)+H|0;J=I>>>5;K=1<<(I&31);L=(H|0)==-1|(I|0)==-1;M=H;N=1;O=0;b:while(1){P=N^1;Q=M;R=O;while(1){if((Q|0)==-1){S=R;v=58;break b}T=f[d+(R*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0?(U=f[(f[(f[o>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0,(U|0)!=-1):0)?(V=f[x>>2]|0,W=f[t>>2]|0,Y=f[W+(f[V+(U<<2)>>2]<<2)>>2]|0,Z=U+1|0,_=f[W+(f[V+((((Z>>>0)%3|0|0)==0?U+-2|0:Z)<<2)>>2]<<2)>>2]|0,Z=f[W+(f[V+((((U>>>0)%3|0|0)==0?2:-1)+U<<2)>>2]<<2)>>2]|0,(Y|0)<(F|0)&(_|0)<(F|0)&(Z|0)<(F|0)):0){U=X(Y,e)|0;Y=X(_,e)|0;_=X(Z,e)|0;if(y){Z=0;do{f[T+(Z<<2)>>2]=(f[c+(Z+_<<2)>>2]|0)+(f[c+(Z+Y<<2)>>2]|0)-(f[c+(Z+U<<2)>>2]|0);Z=Z+1|0}while((Z|0)!=(e|0))}Z=R+1|0;if((Z|0)==4){$=4;v=38;break b}else aa=Z}else aa=R;do if(N){Z=Q+1|0;U=((Z>>>0)%3|0|0)==0?Q+-2|0:Z;if(((U|0)!=-1?(f[(f[j>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)==0:0)?(Z=f[(f[(f[o>>2]|0)+12>>2]|0)+(U<<2)>>2]|0,U=Z+1|0,(Z|0)!=-1):0)ba=((U>>>0)%3|0|0)==0?Z+-2|0:U;else ba=-1}else{U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if(((U|0)!=-1?(f[(f[j>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)==0:0)?(Z=f[(f[(f[o>>2]|0)+12>>2]|0)+(U<<2)>>2]|0,(Z|0)!=-1):0)if(!((Z>>>0)%3|0)){ba=Z+2|0;break}else{ba=Z+-1|0;break}else ba=-1}while(0);if((ba|0)==(H|0)){S=aa;v=58;break b}if((ba|0)!=-1|P){Q=ba;R=aa}else break}if(L){M=-1;N=0;O=aa;continue}if(f[(f[j>>2]|0)+(J<<2)>>2]&K|0){M=-1;N=0;O=aa;continue}R=f[(f[(f[o>>2]|0)+12>>2]|0)+(I<<2)>>2]|0;if((R|0)==-1){M=-1;N=0;O=aa;continue}if(!((R>>>0)%3|0)){M=R+2|0;N=0;O=aa;continue}else{M=R+-1|0;N=0;O=aa;continue}}if((v|0)==58){v=0;if((S|0)>0){$=S;v=38}else{ca=X(F,e)|0;v=72}}if((v|0)==38){v=0;if(y){Dh(f[h>>2]|0,0,D|0)|0;O=$+-1|0;N=s+(O<<2)|0;M=a+60+(O*12|0)+4|0;I=a+60+(O*12|0)|0;O=f[h>>2]|0;K=0;J=0;while(1){L=f[N>>2]|0;f[N>>2]=L+1;if((f[M>>2]|0)>>>0<=L>>>0){da=O;ea=0;break a}if(!(f[(f[I>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31))){L=f[d+(K*12|0)>>2]|0;H=0;do{R=O+(H<<2)|0;f[R>>2]=(f[R>>2]|0)+(f[L+(H<<2)>>2]|0);H=H+1|0}while((H|0)!=(e|0));fa=J+1|0}else fa=J;K=K+1|0;if((K|0)>=($|0)){ga=fa;break}else J=fa}}else{J=$+-1|0;K=s+(J<<2)|0;O=a+60+(J*12|0)|0;I=f[h>>2]|0;M=f[a+60+(J*12|0)+4>>2]|0;J=f[K>>2]|0;N=0;H=0;while(1){L=J;J=J+1|0;f[K>>2]=J;if(M>>>0<=L>>>0){da=I;ea=0;break a}R=H+((f[(f[O>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31)|0)==0&1)|0;N=N+1|0;if((N|0)>=($|0)){ga=R;break}else H=R}}H=X(F,e)|0;if(ga){N=f[h>>2]|0;if(y){O=0;do{I=N+(O<<2)|0;f[I>>2]=(f[I>>2]|0)/(ga|0)|0;O=O+1|0}while((O|0)!=(e|0))}O=b+(H<<2)|0;I=c+(H<<2)|0;if((f[i>>2]|0)>0){M=0;do{J=f[N+(M<<2)>>2]|0;K=f[z>>2]|0;if((J|0)>(K|0)){R=f[A>>2]|0;f[R+(M<<2)>>2]=K;ha=R}else{R=f[B>>2]|0;K=f[A>>2]|0;f[K+(M<<2)>>2]=(J|0)<(R|0)?R:J;ha=K}M=M+1|0;ia=f[i>>2]|0}while((M|0)<(ia|0));if((ia|0)>0){M=0;do{N=(f[O+(M<<2)>>2]|0)+(f[ha+(M<<2)>>2]|0)|0;K=I+(M<<2)|0;f[K>>2]=N;do if((N|0)>(f[z>>2]|0)){ja=N-(f[C>>2]|0)|0;v=94}else{if((N|0)>=(f[B>>2]|0))break;ja=(f[C>>2]|0)+N|0;v=94}while(0);if((v|0)==94){v=0;f[K>>2]=ja}M=M+1|0}while((M|0)<(f[i>>2]|0))}}}else{ca=H;v=72}}if((v|0)==72?(v=0,M=c+((X(F+-1|0,e)|0)<<2)|0,I=b+(ca<<2)|0,O=c+(ca<<2)|0,(f[i>>2]|0)>0):0){N=0;do{J=f[M+(N<<2)>>2]|0;R=f[z>>2]|0;if((J|0)>(R|0)){L=f[A>>2]|0;f[L+(N<<2)>>2]=R;ka=L}else{L=f[B>>2]|0;R=f[A>>2]|0;f[R+(N<<2)>>2]=(J|0)<(L|0)?L:J;ka=R}N=N+1|0;la=f[i>>2]|0}while((N|0)<(la|0));if((la|0)>0){N=0;do{M=(f[I+(N<<2)>>2]|0)+(f[ka+(N<<2)>>2]|0)|0;H=O+(N<<2)|0;f[H>>2]=M;if((M|0)<=(f[z>>2]|0)){if((M|0)<(f[B>>2]|0)){ma=(f[C>>2]|0)+M|0;v=82}}else{ma=M-(f[C>>2]|0)|0;v=82}if((v|0)==82){v=0;f[H>>2]=ma}N=N+1|0}while((N|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=99;break}N=f[r>>2]|0;E=f[N>>2]|0;if((f[N+4>>2]|0)-E>>2>>>0<=F>>>0){G=N;v=28;break}}if((v|0)==28)Eo(G);else if((v|0)==99){da=f[h>>2]|0;ea=1;break}}else{da=w;ea=1}while(0);if(da|0){w=f[n>>2]|0;if((w|0)!=(da|0))f[n>>2]=w+(~((w+-4-da|0)>>>2)<<2);lp(da)}lp(s);s=f[d+36>>2]|0;if(s|0){da=d+40|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;da=f[w>>2]|0;if((da|0)!=(s|0))f[w>>2]=da+(~((da+-4-s|0)>>>2)<<2);lp(s)}s=f[d+12>>2]|0;if(s|0){da=d+16|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);lp(s);u=g;return ea|0}function ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(m|0)!=(l|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Og(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{ag(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else ag(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else ag(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else ag(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Yk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)Eo(h);else{l=e<<2;r=Yk(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Dh(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+12|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;if(l-p>>2>>>0>1){D=p;E=1}else{F=q;Eo(F)}while(1){G=f[D+(E<<2)>>2]|0;H=(((G>>>0)%3|0|0)==0?2:-1)+G|0;I=(G|0)==-1|(H|0)==-1;J=G;K=1;L=0;b:while(1){M=K^1;N=J;O=L;while(1){if((N|0)==-1){P=O;v=58;break b}Q=f[d+(O*12|0)>>2]|0;R=f[o>>2]|0;S=f[R+(N<<2)>>2]|0;if((S|0)!=-1){T=f[j>>2]|0;U=f[t>>2]|0;V=f[U+(f[T+(S<<2)>>2]<<2)>>2]|0;W=S+1|0;Y=((W>>>0)%3|0|0)==0?S+-2|0:W;if((Y|0)==-1)Z=-1;else Z=f[T+(Y<<2)>>2]|0;Y=f[U+(Z<<2)>>2]|0;W=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((W|0)==-1)_=-1;else _=f[T+(W<<2)>>2]|0;W=f[U+(_<<2)>>2]|0;if((V|0)<(E|0)&(Y|0)<(E|0)&(W|0)<(E|0)){U=X(V,e)|0;V=X(Y,e)|0;Y=X(W,e)|0;if(x){W=0;do{f[Q+(W<<2)>>2]=(f[c+(W+Y<<2)>>2]|0)+(f[c+(W+V<<2)>>2]|0)-(f[c+(W+U<<2)>>2]|0);W=W+1|0}while((W|0)!=(e|0))}W=O+1|0;if((W|0)==4){$=4;v=41;break b}else aa=W}else aa=O}else aa=O;do if(K){W=N+1|0;U=((W>>>0)%3|0|0)==0?N+-2|0:W;if((U|0)!=-1?(W=f[R+(U<<2)>>2]|0,U=W+1|0,(W|0)!=-1):0)ba=((U>>>0)%3|0|0)==0?W+-2|0:U;else ba=-1}else{U=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((U|0)!=-1?(W=f[R+(U<<2)>>2]|0,(W|0)!=-1):0)if(!((W>>>0)%3|0)){ba=W+2|0;break}else{ba=W+-1|0;break}else ba=-1}while(0);if((ba|0)==(G|0)){P=aa;v=58;break b}if((ba|0)!=-1|M){N=ba;O=aa}else break}if(I){J=-1;K=0;L=aa;continue}O=f[R+(H<<2)>>2]|0;if((O|0)==-1){J=-1;K=0;L=aa;continue}if(!((O>>>0)%3|0)){J=O+2|0;K=0;L=aa;continue}else{J=O+-1|0;K=0;L=aa;continue}}if((v|0)==58){v=0;if((P|0)>0){$=P;v=41}else{ca=X(E,e)|0;v=72}}if((v|0)==41){v=0;if(x){Dh(f[h>>2]|0,0,C|0)|0;L=$+-1|0;K=s+(L<<2)|0;J=a+60+(L*12|0)+4|0;H=a+60+(L*12|0)|0;L=f[h>>2]|0;I=0;G=0;while(1){O=f[K>>2]|0;f[K>>2]=O+1;if((f[J>>2]|0)>>>0<=O>>>0){da=L;ea=0;break a}if(!(f[(f[H>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31))){O=f[d+(I*12|0)>>2]|0;N=0;do{M=L+(N<<2)|0;f[M>>2]=(f[M>>2]|0)+(f[O+(N<<2)>>2]|0);N=N+1|0}while((N|0)!=(e|0));fa=G+1|0}else fa=G;I=I+1|0;if((I|0)>=($|0)){ga=fa;break}else G=fa}}else{G=$+-1|0;I=s+(G<<2)|0;L=a+60+(G*12|0)|0;H=f[h>>2]|0;J=f[a+60+(G*12|0)+4>>2]|0;G=f[I>>2]|0;K=0;N=0;while(1){O=G;G=G+1|0;f[I>>2]=G;if(J>>>0<=O>>>0){da=H;ea=0;break a}M=N+((f[(f[L>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31)|0)==0&1)|0;K=K+1|0;if((K|0)>=($|0)){ga=M;break}else N=M}}N=X(E,e)|0;if(ga){K=f[h>>2]|0;if(x){L=0;do{H=K+(L<<2)|0;f[H>>2]=(f[H>>2]|0)/(ga|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(N<<2)|0;H=c+(N<<2)|0;if((f[i>>2]|0)>0){J=0;do{G=f[K+(J<<2)>>2]|0;I=f[y>>2]|0;if((G|0)>(I|0)){M=f[z>>2]|0;f[M+(J<<2)>>2]=I;ha=M}else{M=f[A>>2]|0;I=f[z>>2]|0;f[I+(J<<2)>>2]=(G|0)<(M|0)?M:G;ha=I}J=J+1|0;ia=f[i>>2]|0}while((J|0)<(ia|0));if((ia|0)>0){J=0;do{K=(f[L+(J<<2)>>2]|0)+(f[ha+(J<<2)>>2]|0)|0;I=H+(J<<2)|0;f[I>>2]=K;do if((K|0)>(f[y>>2]|0)){ja=K-(f[B>>2]|0)|0;v=94}else{if((K|0)>=(f[A>>2]|0))break;ja=(f[B>>2]|0)+K|0;v=94}while(0);if((v|0)==94){v=0;f[I>>2]=ja}J=J+1|0}while((J|0)<(f[i>>2]|0))}}}else{ca=N;v=72}}if((v|0)==72?(v=0,J=c+((X(E+-1|0,e)|0)<<2)|0,H=b+(ca<<2)|0,L=c+(ca<<2)|0,(f[i>>2]|0)>0):0){K=0;do{G=f[J+(K<<2)>>2]|0;M=f[y>>2]|0;if((G|0)>(M|0)){O=f[z>>2]|0;f[O+(K<<2)>>2]=M;ka=O}else{O=f[A>>2]|0;M=f[z>>2]|0;f[M+(K<<2)>>2]=(G|0)<(O|0)?O:G;ka=M}K=K+1|0;la=f[i>>2]|0}while((K|0)<(la|0));if((la|0)>0){K=0;do{J=(f[H+(K<<2)>>2]|0)+(f[ka+(K<<2)>>2]|0)|0;N=L+(K<<2)|0;f[N>>2]=J;if((J|0)<=(f[y>>2]|0)){if((J|0)<(f[A>>2]|0)){ma=(f[B>>2]|0)+J|0;v=82}}else{ma=J-(f[B>>2]|0)|0;v=82}if((v|0)==82){v=0;f[N>>2]=ma}K=K+1|0}while((K|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(m|0)){v=99;break}K=f[r>>2]|0;D=f[K>>2]|0;if((f[K+4>>2]|0)-D>>2>>>0<=E>>>0){F=K;v=28;break}}if((v|0)==28)Eo(F);else if((v|0)==99){da=f[h>>2]|0;ea=1;break}}else{da=w;ea=1}while(0);if(da|0){w=f[n>>2]|0;if((w|0)!=(da|0))f[n>>2]=w+(~((w+-4-da|0)>>>2)<<2);lp(da)}lp(s);s=f[d+36>>2]|0;if(s|0){da=d+40|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;da=f[w>>2]|0;if((da|0)!=(s|0))f[w>>2]=da+(~((da+-4-s|0)>>>2)<<2);lp(s)}s=f[d+12>>2]|0;if(s|0){da=d+16|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);lp(s);u=g;return ea|0}function vb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Dm(c)|0;if((I|0)<0){q=1;r=13941;s=-c}else{q=(g&2049|0)!=0&1;r=(g&2048|0)==0?((g&1|0)==0?13942:13947):13944;s=c}Dm(s)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+So(s,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?r:r+9|0;z=q|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((b[y>>0]|0)==45){D=-(C+(-c-C));break}else{D=c+C-C;break}}else D=c;while(0);A=f[l>>2]|0;B=(A|0)<0?0-A|0:A;E=bi(B,((B|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){B=o+11|0;b[B>>0]=48;F=B}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;B=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[13976+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(B&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;B=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+B|0;Yi(a,32,d,x,g);qn(a,y,z);Yi(a,48,d,x,g^65536);qn(a,m,G);Yi(a,48,B-G|0,0,0);qn(a,A,E);Yi(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=E;O=c*268435456.0}else{N=f[l>>2]|0;O=c}E=(N|0)<0?k:k+288|0;H=O;G=E;do{B=~~H>>>0;f[G>>2]=B;G=G+4|0;H=(H-+(B>>>0))*1.0e9}while(H!=0.0);if((N|0)>0){v=N;A=E;z=G;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=Rl(f[J>>2]|0,0,y|0)|0;P=Ul(B|0,I|0,K|0,0)|0;B=I;Q=Wk(P|0,B|0,1e9,0)|0;f[J>>2]=Q;K=Nn(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;f[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(f[B>>2]|0))J=B;else break}K=(f[l>>2]|0)-y|0;f[l>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{S=K;T=R;U=J;break}}}else{S=N;T=E;U=G}if((S|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;K=T;B=U;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0>>0){P=(1<>>Q;W=0;Y=K;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0>>0);Y=(f[K>>2]|0)==0?K+4|0:K;if(!W){_=Y;$=B}else{f[B>>2]=W;_=Y;$=B+4|0}}else{_=(f[K>>2]|0)==0?K+4|0:K;$=B}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(f[l>>2]|0)+Q|0;f[l>>2]=v;if((v|0)>=0){aa=_;ba=V;break}else{K=_;B=V}}}else{aa=T;ba=U}B=E;if(aa>>>0>>0){K=(B-aa>>2)*9|0;v=f[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=10;V=G;while(1){G=A*10|0;V=V+1|0;if((V|0)==9){da=G;break}else A=G}}else da=10;A=f[v>>2]|0;V=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(V|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(da|0)/2|0;H=V>>>0>>0?.5:w&(V|0)==(G|0)?1.0:1.5;if(!q){ea=C;fa=H}else{G=(b[r>>0]|0)==45;ea=G?-C:C;fa=G?-H:H}G=A-V|0;f[v>>2]=G;if(ea+fa!=ea){V=G+da|0;f[v>>2]=V;if(V>>>0>999999999){V=aa;G=v;while(1){A=G+-4|0;f[G>>2]=0;if(A>>>0>>0){w=V+-4|0;f[w>>2]=0;ga=w}else ga=V;w=(f[A>>2]|0)+1|0;f[A>>2]=w;if(w>>>0>999999999){V=ga;G=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}G=(B-ha>>2)*9|0;V=f[ha>>2]|0;if(V>>>0<10){ja=ha;ka=ia;la=G}else{A=G;G=10;while(1){G=G*10|0;w=A+1|0;if(V>>>0>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}G=A+-4|0;if(!(f[G>>2]|0))A=G;else{pa=1;break}}v=0-na|0;do if(z){G=((K^1)&1)+x|0;if((G|0)>(na|0)&(na|0)>-5){qa=G+-1-na|0;ra=i+-1|0}else{qa=G+-1|0;ra=i+-2|0}G=g&8;if(!G){if(pa?(V=f[A+-4>>2]|0,(V|0)!=0):0)if(!((V>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((V>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;V=(w|0)>0?w:0;ta=0;ua=(qa|0)<(V|0)?qa:V;va=ra;break}else{V=Y+na-sa|0;Y=(V|0)>0?V:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=G;ua=qa;va=ra}}else{ta=g&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=bi(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-Y|0)<2){V=Y;while(1){w=V+-1|0;b[w>>0]=48;if((z-w|0)<2)V=w;else{ya=w;break}}}else ya=Y;b[ya+-1>>0]=(na>>31&2)+43;V=ya+-2|0;b[V>>0]=va;wa=V;xa=z-V|0}V=q+1+ua+B+xa|0;Yi(a,32,d,V,g);qn(a,r,q);Yi(a,48,d,V,g^65536);if(K){v=ma>>>0>E>>>0?E:ma;w=m+9|0;Q=w;W=m+8|0;P=v;do{J=bi(f[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){b[W>>0]=48;za=W}else za=J;else if(J>>>0>m>>>0){Dh(m|0,48,J-n|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=J;qn(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)qn(a,13992,1);if(P>>>0>>0&(ua|0)>0){E=P;Q=ua;while(1){W=bi(f[E>>2]|0,0,w)|0;if(W>>>0>m>>>0){Dh(m|0,48,W-n|0)|0;v=W;while(1){K=v+-1|0;if(K>>>0>m>>>0)v=K;else{Aa=K;break}}}else Aa=W;qn(a,Aa,(Q|0)<9?Q:9);E=E+4|0;v=Q+-9|0;if(!(E>>>0>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;Yi(a,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){E=m+9|0;w=(ta|0)==0;P=E;x=0-n|0;v=m+8|0;J=ma;K=ua;while(1){B=bi(f[J>>2]|0,0,E)|0;if((B|0)==(E|0)){b[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;qn(a,Ca,1);if(w&(K|0)<1){Da=B;break}qn(a,13992,1);Da=B}else{if(Ca>>>0<=m>>>0){Da=Ca;break}Dh(m|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>m>>>0)B=z;else{Da=z;break}}}while(0);W=P-Da|0;qn(a,Da,(K|0)>(W|0)?W:K);B=K-W|0;J=J+4|0;if(!(J>>>0>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;Yi(a,48,Ea+18|0,18,0);qn(a,wa,p-wa|0)}Yi(a,32,d,V,g^8192);M=V}else{K=(i&32|0)!=0;Q=q+3|0;Yi(a,32,d,Q,g&-65537);qn(a,r,q);qn(a,s!=s|0.0!=0.0?(K?13968:13972):K?13960:13964,3);Yi(a,32,d,Q,g^8192);M=Q}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(o|0)!=(j|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else sf(l,m-p|0,d);p=a+216|0;m=a+220|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=j;j=n;n=l;v=l;l=o;o=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;w=o*3|0;if((w|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(w<<2)>>2]|0;f[e>>2]=x;y=w+1|0;if((y|0)==-1){f[q>>2]=-1;z=x;A=0;B=92}else{C=x;D=y;B=91}}else{f[e>>2]=-1;C=-1;D=0;B=91}if((B|0)==91){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(D<<2)>>2];y=w+2|0;if((y|0)==-1){E=C;F=-1}else{z=C;A=y;B=92}}if((B|0)==92){B=0;E=z;F=f[(f[f[k>>2]>>2]|0)+(A<<2)>>2]|0}f[s>>2]=F;y=t+96|0;w=t+100|0;x=(l-j|0)/12|0;G=j;H=o;o=o+1|0;if(H>>>0>>0){I=n;J=t;K=v;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(o>>>0<=x>>>0)if(o>>>0>>0?(P=G+(o*12|0)|0,(O|0)!=(P|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[w>>2]=Q;R=G;S=v;T=t;U=Q;V=j}else{R=G;S=v;T=t;U=l;V=j}else{sf(y,o-x|0,d);x=f[i>>2]|0;G=f[x+44>>2]|0;R=f[y>>2]|0;S=x;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=E;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(o>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{t=J;j=M;n=I;v=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;W=1;u=c;return W|0}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)Eo(g);else{v=Yk(N)|0;f[g>>2]=v;I=v+(l<<2)|0;f[g+8>>2]=I;Dh(v|0,0,N|0)|0;f[K>>2]=I;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;l=e+8|0;I=r;v=0;while(1){n=f[(f[I+24>>2]|0)+(v<<2)>>2]|0;b:do if((n|0)!=-1){c:do if((f[(f[N>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0?(M=f[m>>2]|0,j=f[p>>2]|0,J=j,(M|0)!=(j|0)):0){t=(((n>>>0)%3|0|0)==0?2:-1)+n|0;o=(M-j|0)/144|0;if((t|0)==-1){j=0;while(1){M=f[(f[f[J+(j*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(M&31)&f[(f[J+(j*144|0)+16>>2]|0)+(M>>>5<<2)>>2]|0){X=0;break a}j=j+1|0;if(j>>>0>=o>>>0){Y=n;break c}}}j=I+12|0;M=0;while(1){s=f[(f[f[J+(M*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(s&31)&f[(f[J+(M*144|0)+16>>2]|0)+(s>>>5<<2)>>2]|0){s=f[J+(M*144|0)+32>>2]|0;L=f[s+(n<<2)>>2]|0;q=f[j>>2]|0;E=f[q+(t<<2)>>2]|0;do if((E|0)!=-1)if(!((E>>>0)%3|0)){Z=E+2|0;break}else{Z=E+-1|0;break}else Z=-1;while(0);if((Z|0)!=(n|0)){E=Z;while(1){if((E|0)==-1){X=0;break a}if((f[s+(E<<2)>>2]|0)!=(L|0)){Y=E;break c}U=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((U|0)!=-1){V=f[q+(U<<2)>>2]|0;if((V|0)==-1){_=-1;break}if(!((V>>>0)%3|0)){_=V+2|0;break}else{_=V+-1|0;break}}else _=-1;while(0);if((_|0)==(n|0))break;else E=_}}}M=M+1|0;if(M>>>0>=o>>>0){Y=n;break}}}else Y=n;while(0);o=f[b>>2]|0;f[(f[g>>2]|0)+(Y<<2)>>2]=o-(f[e>>2]|0)>>2;f[d>>2]=Y;M=o;if(M>>>0<(f[l>>2]|0)>>>0){f[M>>2]=Y;f[b>>2]=M+4;$=I}else{dh(e,d);$=f[k>>2]|0}if((((Y|0)!=-1?(M=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0,(M|0)!=-1):0)?(o=f[(f[$+12>>2]|0)+(M<<2)>>2]|0,(o|0)!=-1):0)?(M=o+(((o>>>0)%3|0|0)==0?2:-1)|0,(M|0)!=-1&(M|0)!=(Y|0)):0){o=$;t=M;M=Y;while(1){j=f[m>>2]|0;J=f[p>>2]|0;E=J;d:do if((j|0)==(J|0))B=66;else{q=(j-J|0)/144|0;L=0;while(1){s=f[E+(L*144|0)+32>>2]|0;L=L+1|0;if((f[s+(t<<2)>>2]|0)!=(f[s+(M<<2)>>2]|0))break;if(L>>>0>=q>>>0){B=66;break d}}q=f[b>>2]|0;f[(f[g>>2]|0)+(t<<2)>>2]=q-(f[e>>2]|0)>>2;f[d>>2]=t;L=q;if(L>>>0<(f[l>>2]|0)>>>0){f[L>>2]=t;f[b>>2]=L+4;aa=o}else{dh(e,d);aa=f[k>>2]|0}ba=aa}while(0);if((B|0)==66){B=0;E=f[g>>2]|0;f[E+(t<<2)>>2]=f[E+(M<<2)>>2];ba=o}if((t|0)==-1){ca=ba;break b}E=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((E|0)==-1){ca=ba;break b}J=f[(f[ba+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1){ca=ba;break b}E=J+(((J>>>0)%3|0|0)==0?2:-1)|0;if((E|0)!=-1&(E|0)!=(Y|0)){J=t;o=ba;t=E;M=J}else{ca=ba;break}}}else ca=$}else ca=I;while(0);v=v+1|0;if((v|0)>=((f[ca+28>>2]|0)-(f[ca+24>>2]|0)>>2|0)){B=27;break}else I=ca}}else B=27;while(0);if((B|0)==27){B=f[i>>2]|0;ca=f[B+44>>2]|0;$=f[ca+100>>2]|0;ba=f[ca+96>>2]|0;if(($|0)==(ba|0))da=B;else{Y=h+4|0;aa=h+8|0;k=B;p=B;B=ca;ca=ba;ba=$;$=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;m=(f[g>>2]|0)+($*3<<2)|0;f[h>>2]=f[m>>2];f[h+4>>2]=f[m+4>>2];f[h+8>>2]=f[m+8>>2];m=B+96|0;_=B+100|0;Z=(ba-ca|0)/12|0;r=ca;a=$;$=$+1|0;if(a>>>0>>0){ea=r;fa=ca;ga=ba;ha=k;ia=B;ja=p}else{I=ba;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if($>>>0<=Z>>>0)if($>>>0>>0?(v=r+($*12|0)|0,(I|0)!=(v|0)):0){l=I+(~(((I+-12-v|0)>>>0)/12|0)*12|0)|0;f[_>>2]=l;ka=r;la=p;ma=B;na=l;oa=ca}else{ka=r;la=p;ma=B;na=ba;oa=ca}else{sf(m,$-Z|0,d);Z=f[i>>2]|0;r=f[Z+44>>2]|0;ka=f[m>>2]|0;la=Z;ma=r;na=f[r+100>>2]|0;oa=f[r+96>>2]|0}ea=ka;fa=oa;ga=na;ha=la;ia=ma;ja=la}f[ea+(a*12|0)>>2]=f[h>>2];f[ea+(a*12|0)+4>>2]=f[Y>>2];f[ea+(a*12|0)+8>>2]=f[aa>>2];if($>>>0>=((ga-fa|0)/12|0)>>>0){da=ha;break}else{k=ha;p=ja;B=ia;ca=fa;ba=ga}}}f[(f[da+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[e>>2]|0)>>2;X=1}da=f[g>>2]|0;if(da|0){g=f[K>>2]|0;if((g|0)!=(da|0))f[K>>2]=g+(~((g+-4-da|0)>>>2)<<2);lp(da)}da=f[e>>2]|0;if(da|0){e=f[b>>2]|0;if((e|0)!=(da|0))f[b>>2]=e+(~((e+-4-da|0)>>>2)<<2);lp(da)}W=X;u=c;return W|0}function xb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=c;c=0;v=0;w=0;a:while(1){do if((c|0)>-1)if((v|0)>(2147483647-c|0)){x=_o()|0;f[x>>2]=75;y=-1;break}else{y=v+c|0;break}else y=c;while(0);x=b[t>>0]|0;if(!(x<<24>>24)){z=87;break}else{A=x;B=t}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}x=B+1|0;f[j>>2]=x;A=b[x>>0]|0;B=x}c:do if((z|0)==9)while(1){z=0;if((b[C+1>>0]|0)!=37){E=C;F=D;break c}x=D+1|0;G=C+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=G;D=x;z=9}else{E=G;F=x;break}}while(0);x=F-t|0;if(o)qn(a,t,x);if(x|0){t=E;c=y;v=x;continue}x=E+1|0;G=(b[x>>0]|0)+-48|0;if(G>>>0<10){H=(b[E+2>>0]|0)==36;J=H?G:-1;K=H?1:w;L=H?E+3|0:x}else{J=-1;K=w;L=x}f[j>>2]=L;x=b[L>>0]|0;H=(x<<24>>24)+-32|0;d:do if(H>>>0<32){G=x;M=0;N=L;O=H;while(1){P=1<>2]=P;U=b[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{G=U;M=T;N=P}}}else{Q=x;R=L;S=0}while(0);if(Q<<24>>24==42){x=R+1|0;H=(b[x>>0]|0)+-48|0;if(H>>>0<10?(b[R+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=1;W=R+3|0;X=f[g+((b[x>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);N=f[H>>2]|0;f[e>>2]=H+4;V=0;W=x;X=N}else{V=0;W=x;X=0}}f[j>>2]=W;x=(X|0)<0;Z=W;_=x?S|8192:S;$=V;aa=x?0-X|0:X}else{x=Nj(j)|0;if((x|0)<0){Y=-1;break}Z=f[j>>2]|0;_=S;$=K;aa=x}do if((b[Z>>0]|0)==46){if((b[Z+1>>0]|0)!=42){f[j>>2]=Z+1;x=Nj(j)|0;ba=f[j>>2]|0;ca=x;break}x=Z+2|0;N=(b[x>>0]|0)+-48|0;if(N>>>0<10?(b[Z+3>>0]|0)==36:0){f[h+(N<<2)>>2]=10;N=f[g+((b[x>>0]|0)+-48<<3)>>2]|0;H=Z+4|0;f[j>>2]=H;ba=H;ca=N;break}if($|0){Y=-1;break a}if(o){N=(f[e>>2]|0)+(4-1)&~(4-1);H=f[N>>2]|0;f[e>>2]=N+4;da=H}else da=0;f[j>>2]=x;ba=x;ca=da}else{ba=Z;ca=-1}while(0);x=ba;H=0;while(1){if(((b[x>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=x+1|0;f[j>>2]=ea;fa=b[(b[x>>0]|0)+-65+(13460+(H*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){x=ea;H=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;G=f[M+4>>2]|0;O=k;f[O>>2]=f[M>>2];f[O+4>>2]=G;z=49;break}if(!o){Y=0;break a}Td(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=ea;c=y;v=0;w=$;continue}N=b[x>>0]|0;G=(H|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(G|0){case 110:{switch((H&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=ea;c=y;v=0;w=$;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=ea;c=y;v=0;w=$;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}default:{t=ea;c=y;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=G;z=61;break}case 111:{M=k;P=f[M>>2]|0;T=f[M+4>>2]|0;M=Tj(P,T,q)|0;U=r-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=13924;z=67;break}case 105:case 100:{U=k;M=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=Wl(0,0,M|0,T|0)|0;P=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=P;sa=U;ta=P;ua=1;va=13924;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?13924:13926):13925;z=66;break e}break}case 117:{T=k;sa=f[T>>2]|0;ta=f[T+4>>2]|0;ua=0;va=13924;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=N;ya=1;za=0;Aa=13924;Ba=q;break}case 109:{T=_o()|0;Ca=wn(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:13934;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=m;Ea=-1;z=75;break}case 83:{T=f[k>>2]|0;if(!ca){Yi(a,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=ea;c=y;v=vb(a,+p[k>>3],aa,ca,O,G)|0;w=$;continue a;break}default:{wa=t;xa=O;ya=ca;za=0;Aa=13924;Ba=q}}while(0);f:do if((z|0)==61){z=0;G=k;H=f[G>>2]|0;x=f[G+4>>2]|0;G=Aj(H,x,q,ja&32)|0;T=(ha&8|0)==0|(H|0)==0&(x|0)==0;ka=H;la=x;ma=G;na=ha;oa=ia;pa=T?0:2;qa=T?13924:13924+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=bi(sa,ta,q)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=Ye(Ca,0,ca)|0;G=(T|0)==0;wa=Ca;xa=N;ya=G?ca:T-Ca|0;za=0;Aa=13924;Ba=G?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;G=0;x=Da;while(1){H=f[x>>2]|0;if(!H){Ga=T;Ha=G;break}M=en(n,H)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}H=M+T|0;if(Ea>>>0>H>>>0){T=H;G=M;x=x+4|0}else{Ga=H;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}Yi(a,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{x=0;G=Da;while(1){T=f[G>>2]|0;if(!T){Fa=Ga;z=84;break f}M=en(n,T)|0;x=M+x|0;if((x|0)>(Ga|0)){Fa=Ga;z=84;break f}qn(a,n,M);if(x>>>0>=Ga>>>0){Fa=Ga;z=84;break}else G=G+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;G=(oa|0)!=0|N;x=((N^1)&1)+(r-ma)|0;wa=G?ma:q;xa=(oa|0)>-1?na&-65537:na;ya=G?((oa|0)>(x|0)?oa:x):oa;za=pa;Aa=qa;Ba=q}else if((z|0)==84){z=0;Yi(a,32,aa,Fa,O^8192);t=ea;c=y;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}x=Ba-wa|0;G=(ya|0)<(x|0)?x:ya;N=G+za|0;M=(aa|0)<(N|0)?N:aa;Yi(a,32,M,N,xa);qn(a,Aa,za);Yi(a,48,M,N,xa^65536);Yi(a,48,G,x,0);qn(a,wa,x);Yi(a,32,M,N,xa^8192);t=ea;c=y;v=M;w=$}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{$=1;while(1){v=f[h+($<<2)>>2]|0;if(!v){Ia=$;break}Td(g+($<<3)|0,v,e);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function yb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+36|0;k=a+37|0;l=a+32|0;m=f[l>>2]|0;do if((((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)<514){n=m+8|0;o=f[n>>2]|0;p=f[n+4>>2]|0;n=m+16|0;q=n;r=f[q>>2]|0;s=f[q+4>>2]|0;q=Ul(r|0,s|0,4,0)|0;t=I;if((p|0)<(t|0)|(p|0)==(t|0)&o>>>0>>0){v=0;u=c;return v|0}w=(f[m>>2]|0)+r|0;x=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[d>>2]=x;w=n;f[w>>2]=q;f[w+4>>2]=t;t=Ul(r|0,s|0,8,0)|0;s=I;if((p|0)<(s|0)|(p|0)==(s|0)&o>>>0>>0){v=0;u=c;return v|0}else{o=(f[m>>2]|0)+q|0;f[e>>2]=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=n;f[o>>2]=t;f[o+4>>2]=s;y=x;break}}else{if(!(Ph(d,m)|0)){v=0;u=c;return v|0}if(Ph(e,f[l>>2]|0)|0){y=f[d>>2]|0;break}else{v=0;u=c;return v|0}}while(0);if(y>>>0>1431655765){v=0;u=c;return v|0}m=f[e>>2]|0;x=fl(y|0,0,3,0)|0;s=I;if(0>s>>>0|0==(s|0)&m>>>0>x>>>0){v=0;u=c;return v|0}x=f[l>>2]|0;s=x+8|0;o=f[s+4>>2]|0;t=x+16|0;n=t;q=f[n>>2]|0;p=f[n+4>>2]|0;if(!((o|0)>(p|0)|((o|0)==(p|0)?(f[s>>2]|0)>>>0>q>>>0:0))){v=0;u=c;return v|0}s=b[(f[x>>2]|0)+q>>0]|0;o=Ul(q|0,p|0,1,0)|0;n=I;r=t;f[r>>2]=o;f[r+4>>2]=n;a:do if(!(s<<24>>24)){if(!(te(a,y)|0)){v=0;u=c;return v|0}}else{if(m>>>0<256){if(!y)break;r=a+44|0;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=x+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;b:do if((B|0)>(n|0)|(B|0)==(n|0)&A>>>0>o>>>0){z=x;C=A;D=y;E=o;F=n;G=B;H=0;while(1){J=z+16|0;K=f[z>>2]|0;L=b[K+E>>0]|0;M=Ul(E|0,F|0,1,0)|0;N=I;O=J;f[O>>2]=M;f[O+4>>2]=N;f[g>>2]=L&255;if(!((G|0)>(N|0)|(G|0)==(N|0)&C>>>0>M>>>0))break b;N=b[K+M>>0]|0;M=Ul(E|0,F|0,2,0)|0;L=I;O=J;f[O>>2]=M;f[O+4>>2]=L;f[t>>2]=N&255;if(!((G|0)>(L|0)|(G|0)==(L|0)&C>>>0>M>>>0))break b;L=b[K+M>>0]|0;M=Ul(E|0,F|0,3,0)|0;K=J;f[K>>2]=M;f[K+4>>2]=I;f[w>>2]=L&255;L=f[r>>2]|0;K=L+100|0;M=f[K>>2]|0;if((M|0)==(f[L+104>>2]|0)){Lg(L+96|0,g);P=f[d>>2]|0}else{f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[K>>2]=(f[K>>2]|0)+12;P=D}H=H+1|0;if(H>>>0>=P>>>0)break a;z=f[l>>2]|0;K=z+16|0;E=f[K>>2]|0;F=f[K+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;K=z+8|0;C=f[K>>2]|0;G=f[K+4>>2]|0;if(!((G|0)>(F|0)|(G|0)==(F|0)&C>>>0>E>>>0))break;else D=P}}while(0);v=0;u=c;return v|0}if(m>>>0<65536){if(!y)break;r=a+44|0;w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;B=x+8|0;A=f[B>>2]|0;D=f[B+4>>2]|0;B=Ul(q|0,p|0,3,0)|0;E=I;c:do if(!((D|0)<(E|0)|(D|0)==(E|0)&A>>>0>>0)){C=x;F=o;G=B;z=E;H=n;K=D;M=A;L=y;J=0;while(1){N=C+16|0;O=f[C>>2]|0;Q=O+F|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=N;f[Q>>2]=G;f[Q+4>>2]=z;f[g>>2]=R&65535;R=Ul(F|0,H|0,4,0)|0;Q=I;if((K|0)<(Q|0)|(K|0)==(Q|0)&M>>>0>>0)break c;S=O+G|0;T=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=R;f[S+4>>2]=Q;f[w>>2]=T&65535;T=Ul(F|0,H|0,6,0)|0;Q=I;if((K|0)<(Q|0)|(K|0)==(Q|0)&M>>>0>>0)break c;S=O+R|0;R=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=T;f[S+4>>2]=Q;f[t>>2]=R&65535;R=f[r>>2]|0;Q=R+100|0;S=f[Q>>2]|0;if((S|0)==(f[R+104>>2]|0)){Lg(R+96|0,g);U=f[d>>2]|0}else{f[S>>2]=f[g>>2];f[S+4>>2]=f[g+4>>2];f[S+8>>2]=f[g+8>>2];f[Q>>2]=(f[Q>>2]|0)+12;U=L}J=J+1|0;if(J>>>0>=U>>>0)break a;C=f[l>>2]|0;Q=C+16|0;F=f[Q>>2]|0;H=f[Q+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Q=C+8|0;M=f[Q>>2]|0;K=f[Q+4>>2]|0;G=Ul(F|0,H|0,2,0)|0;z=I;if((K|0)<(z|0)|(K|0)==(z|0)&M>>>0>>0)break;else L=U}}while(0);v=0;u=c;return v|0}r=a+44|0;if((f[(f[r>>2]|0)+80>>2]|0)>>>0<2097152?(((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)>513:0){if(!y)break;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(Ph(i,x)|0){A=0;do{f[g>>2]=f[i>>2];if(!(Ph(i,f[l>>2]|0)|0))break d;f[t>>2]=f[i>>2];if(!(Ph(i,f[l>>2]|0)|0))break d;f[w>>2]=f[i>>2];D=f[r>>2]|0;E=D+100|0;B=f[E>>2]|0;if((B|0)==(f[D+104>>2]|0))Lg(D+96|0,g);else{f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[E>>2]=(f[E>>2]|0)+12}A=A+1|0;if(A>>>0>=(f[d>>2]|0)>>>0)break a;E=f[l>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(Ph(i,E)|0)}while(0);v=0;u=c;return v|0}if(y|0){w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;A=x+8|0;E=f[A>>2]|0;B=f[A+4>>2]|0;A=Ul(q|0,p|0,5,0)|0;D=I;e:do if(!((B|0)<(D|0)|(B|0)==(D|0)&E>>>0>>0)){L=x;G=o;M=A;z=D;K=n;H=B;F=E;C=y;J=0;while(1){Q=L+16|0;S=f[L>>2]|0;R=S+G|0;T=h[R>>0]|h[R+1>>0]<<8|h[R+2>>0]<<16|h[R+3>>0]<<24;R=Q;f[R>>2]=M;f[R+4>>2]=z;f[g>>2]=T;T=Ul(G|0,K|0,8,0)|0;R=I;if((H|0)<(R|0)|(H|0)==(R|0)&F>>>0>>0)break e;N=S+M|0;O=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=T;f[N+4>>2]=R;f[w>>2]=O;O=Ul(G|0,K|0,12,0)|0;R=I;if((H|0)<(R|0)|(H|0)==(R|0)&F>>>0>>0)break e;N=S+T|0;T=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=O;f[N+4>>2]=R;f[t>>2]=T;T=f[r>>2]|0;R=T+100|0;N=f[R>>2]|0;if((N|0)==(f[T+104>>2]|0)){Lg(T+96|0,g);V=f[d>>2]|0}else{f[N>>2]=f[g>>2];f[N+4>>2]=f[g+4>>2];f[N+8>>2]=f[g+8>>2];f[R>>2]=(f[R>>2]|0)+12;V=C}J=J+1|0;if(J>>>0>=V>>>0)break a;L=f[l>>2]|0;R=L+16|0;G=f[R>>2]|0;K=f[R+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;R=L+8|0;F=f[R>>2]|0;H=f[R+4>>2]|0;M=Ul(G|0,K|0,4,0)|0;z=I;if((H|0)<(z|0)|(H|0)==(z|0)&F>>>0>>0)break;else C=V}}while(0);v=0;u=c;return v|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];v=1;u=c;return v|0}function zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(k|0)!=(j|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else ag(h,b-l|0,3564);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)Eo(d);k=((b+-1|0)>>>5)+1|0;m=Yk(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Dh(m|0,0,k<<2|0)|0;n=b-(k<<5)|0;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)Eo(e);v=((o+-1|0)>>>5)+1|0;w=Yk(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Dh(w|0,0,v<<2|0)|0;x=o-(v<<5)|0;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=k;B=q;C=r;D=0;E=b;a:while(1){F=A;G=D*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=C;J=B;F=0;I=E;while(1){M=F+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[H+(N>>>5<<2)>>2]&1<<(N&31))){O=N;P=0;Q=I}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))dh(h,3564);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))dh(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=52;break a}T=R<<6;R=N+32&-32;Jg(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=I;O=I;P=1;Q=I+1|0}N=f[d>>2]|0;T=N+(O>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(O&31);T=N;b:do if(P){R=M;while(1){if((R|0)==-1){S=66;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=66;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==66){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!P){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=T;aa=N;ba=Q}else{$=J;aa=H;ba=I}F=F+1|0;if((F|0)>=3){ca=$;da=aa;ea=ba;break}else{H=aa;J=$;I=ba}}}else{ca=B;da=C;ea=E}}else{ca=B;da=C;ea=E}D=D+1|0;A=f[a>>2]|0;if(D>>>0>=(((f[m>>2]|0)-A>>2>>>0)/3|0)>>>0){S=18;break}else{B=ca;C=da;E=ea}}if((S|0)==18){fa=ca;ga=f[l>>2]|0;break}else if((S|0)==52)Eo(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0){if(!S){l=a;ca=0;ea=ga;while(1){e:do if(ea){da=ca;m=0;while(1){if(!(f[l>>2]&1<>2]=ba;ha=ba}else ha=da;if((m|0)==31){ia=ha;break}else{da=ha;m=m+1|0}}}else{m=ca;da=0;while(1){if(!(f[l>>2]&1<>2]=N;ja=N}else ja=m;if((da|0)==31){ia=ja;break e}da=da+1|0;if(!da)break d;else m=ja}}while(0);l=l+4|0;if((l|0)==(q|0))break d;else{ca=ia;ea=1}}}if(ga){ea=a;ca=0;l=0;while(1){m=l;da=ca;N=0;while(1){if(!(f[ea>>2]&1<>2]=T;ka=T;la=T}else{ka=da;la=m}if((N|0)==31)break;else{m=la;da=ka;N=N+1|0}}N=ea+4|0;if((N|0)==(q|0)){ma=N;na=ka;break}else{ea=N;ca=ka;l=la}}}else{ma=a;na=0}l=na;ca=0;while(1){if(!(f[ma>>2]&1<>2]=ea;oa=ea}else oa=l;ca=ca+1|0;if((ca|0)==(S|0))break;else l=oa}}while(0);oa=f[e>>2]|0;if(oa|0)lp(oa);oa=f[d>>2]|0;if(!oa){u=c;return 1}lp(oa);u=c;return 1}function Ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ka,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){r=b[q>>0]|0;m=g+(o<<3)|0;f[m>>2]=r;f[m+4>>2]=((r|0)<0)<<31>>31;o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Ul(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){t=g+(r<<3)|0;f[t>>2]=h[m>>0];f[t+4>>2]=0;r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Ul(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){k=d[t>>1]|0;q=g+(l<<3)|0;f[q>>2]=k;f[q+4>>2]=((k|0)<0)<<31>>31;l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){q=g+(o<<3)|0;f[q>>2]=j[k>>1];f[q+4>>2]=0;o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Ul(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){m=f[q>>2]|0;t=g+(r<<3)|0;f[t>>2]=m;f[t+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){t=g+(l<<3)|0;f[t>>2]=f[m>>2];f[t+4>>2]=0;l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){k=t;q=f[k+4>>2]|0;z=g+(o<<3)|0;f[z>>2]=f[k>>2];f[z+4>>2]=q;o=o+1|0;q=b[m>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else t=t+8|0}}else A=l;t=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;q=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;z=Ul(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=m+z|0;while(1){z=q;m=f[z+4>>2]|0;k=g+(r<<3)|0;f[k>>2]=f[z>>2];f[k+4>>2]=m;r=r+1|0;m=b[t>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+8|0}}else B=o;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 9:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=t+k|0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;t=g+(l<<3)|0;f[t>>2]=~~+C>>>0;f[t+4>>2]=k;l=l+1|0;k=b[q>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=r;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=q+t|0;while(1){E=+p[k>>3];t=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;q=g+(o<<3)|0;f[q>>2]=~~E>>>0;f[q+4>>2]=t;o=o+1|0;t=b[m>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){F=t;break}else k=k+8|0}}else F=l;k=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;t=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Ul(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=m+q|0;while(1){q=g+(r<<3)|0;f[q>>2]=h[t>>0];f[q+4>>2]=0;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){G=q;break}else t=t+1|0}}else G=o;t=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){dh(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=-1;n=l}else{m=f[(f[h>>2]|0)+(k<<2)>>2]|0;n=l}}else{m=-1;n=-1}l=a+24|0;k=f[l>>2]|0;h=k+(n>>>5<<2)|0;g=1<<(n&31);j=f[h>>2]|0;if(!(j&g)){f[h>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;h=f[o>>2]|0;if((h|0)==(f[g+8>>2]|0))dh(g,d);else{f[h>>2]=j;f[o>>2]=h+4}h=a+40|0;o=f[h>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){dh(o,e);p=f[h>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(n<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[l>>2]|0}else q=k;k=q+(m>>>5<<2)|0;q=1<<(m&31);o=f[k>>2]|0;if(!(o&q)){f[k>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;k=f[r>>2]|0;if((k|0)==(f[o+8>>2]|0))dh(o,d);else{f[k>>2]=q;f[r>>2]=k+4}k=a+40|0;r=f[k>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){dh(r,e);s=f[k>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(m<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[l>>2]|0)+(t>>>5<<2)|0;m=1<<(t&31);s=f[r>>2]|0;if(!(m&s)){f[r>>2]=s|m;m=f[i>>2]|0;f[e>>2]=m;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[a+48>>2]|0;f[d>>2]=s;r=f[m+4>>2]|0;m=r+4|0;o=f[m>>2]|0;if((o|0)==(f[r+8>>2]|0))dh(r,d);else{f[o>>2]=s;f[m>>2]=o+4}o=a+40|0;m=f[o>>2]|0;s=m+4|0;r=f[s>>2]|0;if((r|0)==(f[m+8>>2]|0)){dh(m,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=m}m=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1}m=f[b>>2]|0;a:do if((m|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=m;while(1){k=q;while(1){w=a+52+(k*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(k*12|0)>>2]|0)!=(x|0))break;n=k+1|0;if((n|0)<3)k=n;else break a}n=x+-4|0;p=f[n>>2]|0;f[w>>2]=n;f[b>>2]=k;f[i>>2]=p;if((p|0)==-1)break;n=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(n>>>5<<2)>>2]&1<<(n&31))){j=p;h=g;b:while(1){y=(j>>>0)/3|0;z=h+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[l>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))dh(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){dh(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[l>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))dh(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[l>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;h=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;h=a+52+(O*12|0)+4|0;j=f[h>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))dh(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[h>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=k;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function Cb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;o=l+q|0;while(1){d[g+(m<<1)>>1]=b[o>>0]|0;m=m+1|0;q=b[j>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){r=q;break}else o=o+1|0}}else r=k;o=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 2:{o=a+24|0;m=b[o>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){j=f[f[a>>2]>>2]|0;q=a+40|0;l=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;s=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;l=j+s|0;while(1){d[g+(q<<1)>>1]=h[l>>0]|0;q=q+1|0;s=b[o>>0]|0;if((q|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){t=s;break}else l=l+1|0}}else t=m;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;s=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;j=Ul(s|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;s=o+j|0;while(1){d[g+(k<<1)>>1]=d[s>>1]|0;k=k+1|0;j=b[l>>0]|0;if((k|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){u=j;break}else s=s+2|0}}else u=q;s=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 4:{s=a+24|0;k=b[s>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;j=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;o=Ul(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;j=l+o|0;while(1){d[g+(m<<1)>>1]=d[j>>1]|0;m=m+1|0;o=b[s>>0]|0;if((m|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else j=j+2|0}}else v=k;j=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 5:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){s=f[f[a>>2]>>2]|0;q=a+40|0;o=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;l=Ul(o|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;o=s+l|0;while(1){d[g+(q<<1)>>1]=f[o>>2];q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){w=l;break}else o=o+4|0}}else w=m;o=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 6:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;k=a+40|0;l=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;s=Ul(l|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;l=j+s|0;while(1){d[g+(k<<1)>>1]=f[l>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){x=s;break}else l=l+4|0}}else x=q;l=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 7:{l=a+24|0;k=b[l>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;j=Ul(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;s=o+j|0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;j=b[l>>0]|0;if((m|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){y=j;break}else s=s+8|0}}else y=k;s=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 8:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;j=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;o=Ul(j|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;j=l+o|0;while(1){d[g+(q<<1)>>1]=f[j>>2];q=q+1|0;o=b[s>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else j=j+8|0}}else z=m;j=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 9:{j=a+24|0;q=b[j>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){s=f[f[a>>2]>>2]|0;k=a+40|0;o=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(o|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;o=s+l|0;while(1){l=~~$(n[o>>2])&65535;d[g+(k<<1)>>1]=l;k=k+1|0;l=b[j>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else o=o+4|0}}else A=q;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 10:{o=a+24|0;k=b[o>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){j=f[f[a>>2]>>2]|0;m=a+40|0;l=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;s=Ul(l|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;l=j+s|0;while(1){d[g+(m<<1)>>1]=~~+p[l>>3];m=m+1|0;s=b[o>>0]|0;if((m|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){B=s;break}else l=l+8|0}}else B=k;l=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 11:{l=a+24|0;m=b[l>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){o=f[f[a>>2]>>2]|0;q=a+40|0;s=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(s|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;s=o+j|0;while(1){d[g+(q<<1)>>1]=h[s>>0]|0;q=q+1|0;j=b[l>>0]|0;if((q|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){C=j;break}else s=s+1|0}}else C=m;s=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Db(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;o=l+q|0;while(1){d[g+(m<<1)>>1]=b[o>>0]|0;m=m+1|0;q=b[j>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){r=q;break}else o=o+1|0}}else r=k;o=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 2:{o=a+24|0;m=b[o>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){j=f[f[a>>2]>>2]|0;q=a+40|0;l=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;s=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;l=j+s|0;while(1){d[g+(q<<1)>>1]=h[l>>0]|0;q=q+1|0;s=b[o>>0]|0;if((q|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){t=s;break}else l=l+1|0}}else t=m;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;s=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;j=Ul(s|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;s=o+j|0;while(1){d[g+(k<<1)>>1]=d[s>>1]|0;k=k+1|0;j=b[l>>0]|0;if((k|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){u=j;break}else s=s+2|0}}else u=q;s=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 4:{s=a+24|0;k=b[s>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;j=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;o=Ul(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;j=l+o|0;while(1){d[g+(m<<1)>>1]=d[j>>1]|0;m=m+1|0;o=b[s>>0]|0;if((m|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else j=j+2|0}}else v=k;j=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 5:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){s=f[f[a>>2]>>2]|0;q=a+40|0;o=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;l=Ul(o|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;o=s+l|0;while(1){d[g+(q<<1)>>1]=f[o>>2];q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){w=l;break}else o=o+4|0}}else w=m;o=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 6:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;k=a+40|0;l=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;s=Ul(l|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;l=j+s|0;while(1){d[g+(k<<1)>>1]=f[l>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){x=s;break}else l=l+4|0}}else x=q;l=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 7:{l=a+24|0;k=b[l>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;j=Ul(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;s=o+j|0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;j=b[l>>0]|0;if((m|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){y=j;break}else s=s+8|0}}else y=k;s=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 8:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;j=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;o=Ul(j|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;j=l+o|0;while(1){d[g+(q<<1)>>1]=f[j>>2];q=q+1|0;o=b[s>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else j=j+8|0}}else z=m;j=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 9:{j=a+24|0;q=b[j>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){s=f[f[a>>2]>>2]|0;k=a+40|0;o=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(o|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;o=s+l|0;while(1){l=~~$(n[o>>2]);d[g+(k<<1)>>1]=l;k=k+1|0;l=b[j>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else o=o+4|0}}else A=q;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 10:{o=a+24|0;k=b[o>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){j=f[f[a>>2]>>2]|0;m=a+40|0;l=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;s=Ul(l|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;l=j+s|0;while(1){d[g+(m<<1)>>1]=~~+p[l>>3];m=m+1|0;s=b[o>>0]|0;if((m|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){B=s;break}else l=l+8|0}}else B=k;l=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 11:{l=a+24|0;m=b[l>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){o=f[f[a>>2]>>2]|0;q=a+40|0;s=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(s|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;s=o+j|0;while(1){d[g+(q<<1)>>1]=h[s>>0]|0;q=q+1|0;j=b[l>>0]|0;if((q|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){C=j;break}else s=s+1|0}}else C=m;s=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Ul(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Ul(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Ul(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Ul(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Ul(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2])>>>0;f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Ul(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3]>>>0;o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Ul(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Ul(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Ul(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Ul(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Ul(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2]);f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Ul(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3];o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))dh(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=m;r=p;s=g+2|0;break}else{q=m;r=p;s=g+-1|0;break}}else{p=f[n+28>>2]|0;q=p;r=f[p+-4>>2]|0;s=-1}while(0);n=f[q+(s<<2)>>2]|0;if((r|0)==-1|(n|0)==-1){h=0;u=c;return h|0}s=a+24|0;q=f[s>>2]|0;g=q+(r>>>5<<2)|0;k=1<<(r&31);p=f[g>>2]|0;if(!(p&k)){f[g>>2]=p|k;k=f[b>>2]|0;p=k+1|0;if((k|0)==-1)t=-1;else t=((p>>>0)%3|0|0)==0?k+-2|0:p;f[e>>2]=t;p=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=p;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))dh(k,d);else{f[g>>2]=p;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;p=t+4|0;k=f[p>>2]|0;if((k|0)==(f[t+8>>2]|0)){dh(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(r<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[s>>2]|0}else w=q;q=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[q>>2]|0;if(!(t&w)){f[q>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;q=f[x>>2]|0;if((q|0)==(f[t+8>>2]|0))dh(t,d);else{f[q>>2]=w;f[x>>2]=q+4}q=a+40|0;x=f[q>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){dh(x,e);y=f[q>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;q=x;x=n;a:while(1){n=f[x+-4>>2]|0;f[b>>2]=n;r=(n>>>0)/3|0;if((n|0)!=-1?(n=(f[j>>2]|0)+(r>>>5<<2)|0,v=1<<(r&31),r=f[n>>2]|0,(r&v|0)==0):0){f[n>>2]=r|v;v=f[a>>2]|0;r=f[b>>2]|0;n=f[(f[v+28>>2]|0)+(r<<2)>>2]|0;if((n|0)==-1){h=0;z=79;break}else{A=r;B=v;C=n}b:while(1){n=(f[s>>2]|0)+(C>>>5<<2)|0;v=1<<(C&31);r=f[n>>2]|0;do if(!(r&v)){k=f[(f[B+40>>2]|0)+(C<<2)>>2]|0;if((k|0)==-1)D=1;else{p=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(p&31)&f[(f[B+12>>2]|0)+(p>>>5<<2)>>2]|0)!=0}f[n>>2]=r|v;p=f[b>>2]|0;f[e>>2]=p;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]|0;p=f[t>>2]|0;f[d>>2]=k;g=f[p+4>>2]|0;p=g+4|0;m=f[p>>2]|0;if((m|0)==(f[g+8>>2]|0))dh(g,d);else{f[m>>2]=k;f[p>>2]=m+4}m=f[w>>2]|0;p=m+4|0;k=f[p>>2]|0;if((k|0)==(f[m+8>>2]|0)){dh(m,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;E=m}m=E+24|0;f[(f[E+12>>2]|0)+(C<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1;m=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=m;z=59;break}p=k+1|0;do if((k|0)==-1)H=-1;else{g=((p>>>0)%3|0|0)==0?k+-2|0:p;if((g|0)==-1){H=-1;break}if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[m+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=m;J=(H>>>0)/3|0}else{F=A;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=63;break}r=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((r|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((r|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);r=(K|0)==-1;v=(K>>>0)/3|0;n=r?-1:v;p=(L|0)==-1;k=(L>>>0)/3|0;g=p?-1:k;do if(!r){M=f[j>>2]|0;if(f[M+(n>>>5<<2)>>2]&1<<(n&31)|0){z=69;break}if(p){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(p){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=G;J=O}v=(f[j>>2]|0)+(J>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(J&31);A=f[b>>2]|0;C=f[(f[I+28>>2]|0)+(A<<2)>>2]|0;if((C|0)==-1){h=0;z=79;break a}else B=I}do if((z|0)==63){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){dh(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];n=v+4|0;f[l>>2]=n;P=n;break}}while(0);if((z|0)==71){z=0;n=(f[l>>2]|0)+-4|0;f[l>>2]=n;P=n}Q=f[i>>2]|0;R=P}else{n=x+-4|0;f[l>>2]=n;Q=q;R=n}if((Q|0)==(R|0)){h=1;z=79;break}else{q=Q;x=R}}if((z|0)==79){u=c;return h|0}return 0}function Hb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+o|0;while(1){b[g+l>>0]=b[m>>0]|0;l=l+1|0;o=b[i>>0]|0;if((l|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){q=o;break}else m=m+1|0}}else q=j;m=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 2:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){i=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=i+r|0;while(1){b[g+o>>0]=b[k>>0]|0;o=o+1|0;r=b[m>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else k=k+1|0}}else s=l;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;j=a+40|0;r=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;i=Ul(r|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;r=m+i|0;while(1){b[g+j>>0]=d[r>>1];j=j+1|0;i=b[k>>0]|0;if((j|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){t=i;break}else r=r+2|0}}else t=o;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 4:{r=a+24|0;j=b[r>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;i=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Ul(i|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;i=k+m|0;while(1){b[g+l>>0]=d[i>>1];l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else i=i+2|0}}else u=j;i=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 5:{i=a+24|0;l=b[i>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;m=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=r+k|0;while(1){b[g+o>>0]=f[m>>2];o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else m=m+4|0}}else v=l;m=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 6:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;j=a+40|0;k=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;r=Ul(k|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;k=i+r|0;while(1){b[g+j>>0]=f[k>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){w=r;break}else k=k+4|0}}else w=o;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 7:{k=a+24|0;j=b[k>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;i=Ul(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;r=m+i|0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;i=b[k>>0]|0;if((l|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){x=i;break}else r=r+8|0}}else x=j;r=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 8:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;i=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;m=Ul(i|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;i=k+m|0;while(1){b[g+o>>0]=f[i>>2];o=o+1|0;m=b[r>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else i=i+8|0}}else y=l;i=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 9:{i=a+24|0;o=b[i>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;j=a+40|0;m=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Ul(m|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;m=r+k|0;while(1){k=~~$(n[m>>2])&255;b[g+j>>0]=k;j=j+1|0;k=b[i>>0]|0;if((j|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else m=m+4|0}}else z=o;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 10:{m=a+24|0;j=b[m>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){i=f[f[a>>2]>>2]|0;l=a+40|0;k=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;k=i+r|0;while(1){b[g+l>>0]=~~+p[k>>3];l=l+1|0;r=b[m>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=j;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 11:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;r=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;r=m+i|0;while(1){b[g+o>>0]=b[r>>0]|0;o=o+1|0;i=b[k>>0]|0;if((o|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){B=i;break}else r=r+1|0}}else B=l;r=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Ib(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+o|0;while(1){b[g+l>>0]=b[m>>0]|0;l=l+1|0;o=b[i>>0]|0;if((l|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){q=o;break}else m=m+1|0}}else q=j;m=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 2:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){i=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=i+r|0;while(1){b[g+o>>0]=b[k>>0]|0;o=o+1|0;r=b[m>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else k=k+1|0}}else s=l;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;j=a+40|0;r=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;i=Ul(r|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;r=m+i|0;while(1){b[g+j>>0]=d[r>>1];j=j+1|0;i=b[k>>0]|0;if((j|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){t=i;break}else r=r+2|0}}else t=o;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 4:{r=a+24|0;j=b[r>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;i=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Ul(i|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;i=k+m|0;while(1){b[g+l>>0]=d[i>>1];l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else i=i+2|0}}else u=j;i=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 5:{i=a+24|0;l=b[i>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;m=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=r+k|0;while(1){b[g+o>>0]=f[m>>2];o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else m=m+4|0}}else v=l;m=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 6:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;j=a+40|0;k=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;r=Ul(k|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;k=i+r|0;while(1){b[g+j>>0]=f[k>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){w=r;break}else k=k+4|0}}else w=o;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 7:{k=a+24|0;j=b[k>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;i=Ul(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;r=m+i|0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;i=b[k>>0]|0;if((l|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){x=i;break}else r=r+8|0}}else x=j;r=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 8:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;i=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;m=Ul(i|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;i=k+m|0;while(1){b[g+o>>0]=f[i>>2];o=o+1|0;m=b[r>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else i=i+8|0}}else y=l;i=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 9:{i=a+24|0;o=b[i>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;j=a+40|0;m=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Ul(m|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;m=r+k|0;while(1){k=~~$(n[m>>2]);b[g+j>>0]=k;j=j+1|0;k=b[i>>0]|0;if((j|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else m=m+4|0}}else z=o;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 10:{m=a+24|0;j=b[m>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){i=f[f[a>>2]>>2]|0;l=a+40|0;k=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;k=i+r|0;while(1){b[g+l>>0]=~~+p[k>>3];l=l+1|0;r=b[m>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=j;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 11:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;r=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;r=m+i|0;while(1){b[g+o>>0]=b[r>>0]|0;o=o+1|0;i=b[k>>0]|0;if((o|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){B=i;break}else r=r+1|0}}else B=l;r=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))dh(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))dh(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){dh(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))dh(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){dh(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))dh(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){dh(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=D;J=(H>>>0)/3|0}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=G;J=N}t=(f[j>>2]|0)+(J>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(J&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=I}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){dh(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Kb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)Eo(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)Eo(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Ab(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Ab(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];Ab(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Wl(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=fl(s|0,x|0,s|0,x|0)|0;N=I;O=fl(E|0,D|0,E|0,D|0)|0;P=Ul(O|0,I|0,M|0,N|0)|0;N=I;M=fl(J|0,H|0,J|0,H|0)|0;O=Ul(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=fl(P|0,C|0,s|0,x|0)|0;F=I;Q=fl(N|0,G|0,E|0,D|0)|0;R=Ul(Q|0,I|0,K|0,F|0)|0;F=I;K=fl(y|0,L|0,J|0,H|0)|0;Q=Ul(R|0,F|0,K|0,I|0)|0;K=I;F=Wl(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;R=Wl(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;S=fl(O|0,M|0,p|0,q|0)|0;q=I;p=fl(O|0,M|0,n|0,o|0)|0;o=I;n=fl(Q|0,K|0,F|0,t|0)|0;T=I;U=fl(Q|0,K|0,R|0,v|0)|0;V=I;W=Ul(n|0,T|0,S|0,q|0)|0;q=I;S=Ul(U|0,V|0,p|0,o|0)|0;o=I;p=fl(Q|0,K|0,s|0,x|0)|0;x=I;s=fl(Q|0,K|0,E|0,D|0)|0;D=I;E=fl(Q|0,K|0,J|0,H|0)|0;H=I;J=Li(p|0,x|0,O|0,M|0)|0;x=I;p=Li(s|0,D|0,O|0,M|0)|0;D=I;s=Li(E|0,H|0,O|0,M|0)|0;H=I;E=Wl(P|0,C|0,J|0,x|0)|0;x=I;J=Wl(N|0,G|0,p|0,D|0)|0;D=I;p=Wl(y|0,L|0,s|0,H|0)|0;H=I;s=fl(E|0,x|0,E|0,x|0)|0;x=I;E=fl(J|0,D|0,J|0,D|0)|0;D=Ul(E|0,I|0,s|0,x|0)|0;x=I;s=fl(p|0,H|0,p|0,H|0)|0;H=Ul(D|0,x|0,s|0,I|0)|0;s=I;x=Wl(0,0,F|0,t|0)|0;t=I;F=fl(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=23}break}case 1:{if(!s){ca=1;da=0;ba=24}else{Z=1;_=0;$=F;aa=s;ba=23}break}default:{Z=1;_=0;$=F;aa=s;ba=23}}if((ba|0)==23)while(1){ba=0;H=Rl(Z|0,_|0,1)|0;D=I;p=$;$=Xl($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&p>>>0>7)){ca=H;da=D;ba=24;break}else{Z=H;_=D;aa=I;ba=23}}if((ba|0)==24)while(1){ba=0;D=Nn(F|0,s|0,ca|0,da|0)|0;H=Ul(D|0,I|0,ca|0,da|0)|0;D=Xl(H|0,I|0,1)|0;H=I;p=fl(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&p>>>0>F>>>0){ca=D;da=H;ba=24}else{X=D;Y=H;break}}F=fl(X|0,Y|0,R|0,v|0)|0;s=I;H=fl(X|0,Y|0,x|0,t|0)|0;D=I;p=a+20|0;E=f[p>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[p>>2]=J;J=Wl(0,0,F|0,s|0)|0;p=Ul(W|0,q|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Wl(0,0,H|0,D|0)|0;F=Ul(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Li(p|0,s|0,O|0,M|0)|0;s=Li(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(r)fa=m<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function Lb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=o;q=n+2|0;break}else{p=o;q=n+-1|0;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(p<<2)>>2]|0;p=f[n+(q<<2)>>2]|0;q=f[a+36>>2]|0;n=f[q>>2]|0;c=(f[q+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)Eo(q);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=p>>>0)Eo(q);q=f[o+(p<<2)>>2]|0;p=(n|0)<(e|0);do if(p&(q|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=q<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Ab(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Ab(y,h,x,k)|0;x=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];Ab(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Wl(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=fl(s|0,x|0,s|0,x|0)|0;N=I;O=fl(E|0,D|0,E|0,D|0)|0;P=Ul(O|0,I|0,M|0,N|0)|0;N=I;M=fl(J|0,H|0,J|0,H|0)|0;O=Ul(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=fl(P|0,C|0,s|0,x|0)|0;F=I;Q=fl(N|0,G|0,E|0,D|0)|0;R=Ul(Q|0,I|0,K|0,F|0)|0;F=I;K=fl(y|0,L|0,J|0,H|0)|0;Q=Ul(R|0,F|0,K|0,I|0)|0;K=I;F=Wl(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;R=Wl(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;S=fl(O|0,M|0,c|0,m|0)|0;m=I;c=fl(O|0,M|0,r|0,o|0)|0;o=I;r=fl(Q|0,K|0,F|0,t|0)|0;T=I;U=fl(Q|0,K|0,R|0,v|0)|0;V=I;W=Ul(r|0,T|0,S|0,m|0)|0;m=I;S=Ul(U|0,V|0,c|0,o|0)|0;o=I;c=fl(Q|0,K|0,s|0,x|0)|0;x=I;s=fl(Q|0,K|0,E|0,D|0)|0;D=I;E=fl(Q|0,K|0,J|0,H|0)|0;H=I;J=Li(c|0,x|0,O|0,M|0)|0;x=I;c=Li(s|0,D|0,O|0,M|0)|0;D=I;s=Li(E|0,H|0,O|0,M|0)|0;H=I;E=Wl(P|0,C|0,J|0,x|0)|0;x=I;J=Wl(N|0,G|0,c|0,D|0)|0;D=I;c=Wl(y|0,L|0,s|0,H|0)|0;H=I;s=fl(E|0,x|0,E|0,x|0)|0;x=I;E=fl(J|0,D|0,J|0,D|0)|0;D=Ul(E|0,I|0,s|0,x|0)|0;x=I;s=fl(c|0,H|0,c|0,H|0)|0;H=Ul(D|0,x|0,s|0,I|0)|0;s=I;x=Wl(0,0,F|0,t|0)|0;t=I;F=fl(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=22}break}case 1:{if(!s){ca=1;da=0;ba=23}else{Z=1;_=0;$=F;aa=s;ba=22}break}default:{Z=1;_=0;$=F;aa=s;ba=22}}if((ba|0)==22)while(1){ba=0;H=Rl(Z|0,_|0,1)|0;D=I;c=$;$=Xl($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&c>>>0>7)){ca=H;da=D;ba=23;break}else{Z=H;_=D;aa=I;ba=22}}if((ba|0)==23)while(1){ba=0;D=Nn(F|0,s|0,ca|0,da|0)|0;H=Ul(D|0,I|0,ca|0,da|0)|0;D=Xl(H|0,I|0,1)|0;H=I;c=fl(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&c>>>0>F>>>0){ca=D;da=H;ba=23}else{X=D;Y=H;break}}F=fl(X|0,Y|0,R|0,v|0)|0;s=I;H=fl(X|0,Y|0,x|0,t|0)|0;D=I;c=a+20|0;E=f[c>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[c>>2]=J;J=Wl(0,0,F|0,s|0)|0;c=Ul(W|0,m|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Wl(0,0,H|0,D|0)|0;F=Ul(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Li(c|0,s|0,O|0,M|0)|0;s=Li(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(p)fa=n<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)Eo(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];Ab(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=o;J=a;K=o;while(1){do if(J){L=H+1|0;if((H|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?H+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A;T=Q;U=A+2|0;V=19;break}else{R=A;S=A;T=Q;U=A+-1|0;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=K+1|0;L=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if(!((K>>>0)%3|0)){R=A;S=H;T=L;U=K+2|0;V=19;break}else{R=A;S=H;T=L;U=K+-1|0;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=S;O=U;P=-1}else{M=R;N=S;O=U;P=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=P>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(P<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];Ab(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];Ab(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Wl(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Wl(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Wl(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Wl(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Wl(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Wl(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=fl($|0,ia|0,ca|0,ba|0)|0;da=I;la=fl(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=fl(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=fl($|0,ia|0,Q|0,L|0)|0;ia=I;$=fl(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=fl(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Wl(B|0,C|0,la|0,ma|0)|0;ma=Ul(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Ul(na|0,fa|0,D|0,E|0)|0;fa=Wl(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Wl(F|0,G|0,Q|0,ba|0)|0;ba=Ul(ga|0,I|0,$|0,L|0)|0;L=I;fg(i);K=f[c>>2]|0;$=(f[v>>2]|0)==0;if((K|0)==-1){oa=da;pa=ma;qa=ia;ra=fa;sa=L;ta=ba;ua=$;break a}else{A=M;B=ma;C=da;D=fa;E=ia;F=ba;G=L;H=N;J=$}}if((V|0)==22)Eo(W);else if((V|0)==28)Eo(Z)}else{oa=0;pa=0;qa=0;ra=0;sa=0;ta=0;ua=a}while(0);a=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;Z=Wl(0,0,pa|0,oa|0)|0;V=a?oa:I;W=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;N=Wl(0,0,ra|0,qa|0)|0;M=W?qa:I;v=(sa|0)>-1|(sa|0)==-1&ta>>>0>4294967295;c=Wl(0,0,ta|0,sa|0)|0;i=Ul((W?ra:N)|0,M|0,(v?ta:c)|0,(v?sa:I)|0)|0;v=Ul(i|0,I|0,(a?pa:Z)|0,V|0)|0;V=I;if(ua){if((v|0)<=536870912){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}ua=Xl(v|0,V|0,29)|0;Z=ua&7;ua=Li(pa|0,oa|0,Z|0,0)|0;a=Li(ra|0,qa|0,Z|0,0)|0;i=Li(ta|0,sa|0,Z|0,0)|0;va=ua;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Xl(v|0,V|0,29)|0;V=I;v=Li(pa|0,oa|0,i|0,V|0)|0;oa=Li(ra|0,qa|0,i|0,V|0)|0;qa=Li(ta|0,sa|0,i|0,V|0)|0;va=v;wa=oa;xa=qa;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function Nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ka,K=Ka,L=Ka,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=wc(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];ne(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{Rg(j,m);o=f[j>>2]|0;p=f[d>>2]|0}Ff(o|0,p|0,m|0)|0;zh(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=p;r=0;s=o}else{Rg(c,d);q=f[k>>2]|0;r=f[c>>2]|0;s=f[j>>2]|0}Ff(r|0,s|0,q-s|0)|0;s=i+11|0;q=b[s>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;d=r?f[i+4>>2]|0:q&255;if(d>>>0>3){q=c;r=d;o=d;while(1){p=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(p>>>24^p,1540483477)|0)^(X(r,1540483477)|0);o=o+-4|0;if(o>>>0<=3)break;else q=q+4|0}q=d+-4|0;o=q&-4;t=c+(o+4)|0;v=r;w=q-o|0}else{t=c;v=d;w=d}switch(w|0){case 3:{x=h[t+2>>0]<<16^v;y=12;break}case 2:{x=v;y=12;break}case 1:{z=v;y=13;break}default:A=v}if((y|0)==12){z=h[t+1>>0]<<8^x;y=13}if((y|0)==13)A=X(h[t>>0]^z,1540483477)|0;z=X(A>>>13^A,1540483477)|0;A=z>>>15^z;z=a+4|0;t=f[z>>2]|0;x=(t|0)==0;a:do if(!x){v=t+-1|0;w=(v&t|0)==0;if(!w)if(A>>>0>>0)B=A;else B=(A>>>0)%(t>>>0)|0;else B=A&v;o=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((o|0)!=0?(q=f[o>>2]|0,(q|0)!=0):0){o=(d|0)==0;if(w){if(o){w=q;while(1){r=f[w+4>>2]|0;if(!((r|0)==(A|0)|(r&v|0)==(B|0))){C=B;y=54;break a}r=b[w+8+11>>0]|0;if(!((r<<24>>24<0?f[w+12>>2]|0:r&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else D=q;while(1){w=f[D+4>>2]|0;if(!((w|0)==(A|0)|(w&v|0)==(B|0))){C=B;y=54;break a}w=D+8|0;r=b[w+11>>0]|0;p=r<<24>>24<0;l=r&255;do if(((p?f[D+12>>2]|0:l)|0)==(d|0)){r=f[w>>2]|0;if(p)if(!(dj(r,c,d)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=l;E=w;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(o){v=q;while(1){w=f[v+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)G=w;else G=(w>>>0)%(t>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}w=b[v+8+11>>0]|0;if(!((w<<24>>24<0?f[v+12>>2]|0:w&255)|0))break a;v=f[v>>2]|0;if(!v){C=B;y=54;break a}}}else H=q;while(1){v=f[H+4>>2]|0;if((v|0)!=(A|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(t>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}v=H+8|0;o=b[v+11>>0]|0;w=o<<24>>24<0;l=o&255;do if(((w?f[H+12>>2]|0:l)|0)==(d|0)){o=f[v>>2]|0;if(w)if(!(dj(o,c,d)|0))break a;else break;if((o&255)<<24>>24==(b[c>>0]|0)){o=l;p=v;F=c;do{o=o+-1|0;p=p+1|0;if(!o)break a;F=F+1|0}while((b[p>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){Lf(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(t>>>0);L=$(n[a+16>>2]);do if(x|J>$(K*L)){B=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;H=~~$(W($(J/L)))>>>0;qg(a,B>>>0>>0?H:B);B=f[z>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=t;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){t=a+8|0;f[f[g>>2]>>2]=f[t>>2];f[t>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=t;t=f[g>>2]|0;N=f[t>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=t;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;lp(O)}if((b[s>>0]|0)<0)lp(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;lp(i);u=e;return}function Ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)Eo(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];Ab(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=0;B=0;C=0;D=0;E=0;F=0;G=o;H=a;J=o;while(1){do if(H){K=G+1|0;if((G|0)!=-1){L=((K>>>0)%3|0|0)==0?G+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z;O=L;P=z+2|0;break}else{M=z;N=z;O=L;P=z+-1|0;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=J+1|0;K=((L>>>0)%3|0|0)==0?J+-2|0:L;if(!((J>>>0)%3|0)){M=z;N=G;O=K;P=J+2|0;break}else{M=z;N=G;O=K;P=J+-1|0;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];Ab(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(P<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];Ab(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Wl(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Wl(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Wl(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Wl(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Wl(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Wl(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=fl(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=fl(da|0,_|0,aa|0,$|0)|0;ga=I;ha=fl(ea|0,W|0,aa|0,$|0)|0;$=I;aa=fl(K|0,ca|0,S|0,L|0)|0;ca=I;K=fl(da|0,_|0,S|0,L|0)|0;L=I;S=fl(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Wl(A|0,B|0,fa|0,ga|0)|0;ga=Ul(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Ul(ha|0,$|0,C|0,D|0)|0;$=Wl(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Wl(E|0,F|0,S|0,X|0)|0;X=Ul(aa|0,I|0,K|0,L|0)|0;L=I;of(i);J=f[c>>2]|0;K=(f[t>>2]|0)==0;if((J|0)==-1){ia=Z;ja=ga;ka=ca;la=$;ma=L;na=X;oa=K;break a}else{z=M;A=ga;B=Z;C=$;D=ca;E=X;F=L;G=N;H=K}}if((R|0)==17)Eo(Q);else if((R|0)==21)Eo(U)}else{ia=0;ja=0;ka=0;la=0;ma=0;na=0;oa=a}while(0);a=(ia|0)>-1|(ia|0)==-1&ja>>>0>4294967295;U=Wl(0,0,ja|0,ia|0)|0;R=a?ia:I;Q=(ka|0)>-1|(ka|0)==-1&la>>>0>4294967295;N=Wl(0,0,la|0,ka|0)|0;M=Q?ka:I;t=(ma|0)>-1|(ma|0)==-1&na>>>0>4294967295;c=Wl(0,0,na|0,ma|0)|0;i=Ul((Q?la:N)|0,M|0,(t?na:c)|0,(t?ma:I)|0)|0;t=Ul(i|0,I|0,(a?ja:U)|0,R|0)|0;R=I;if(oa){if((t|0)<=536870912){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}oa=Xl(t|0,R|0,29)|0;U=oa&7;oa=Li(ja|0,ia|0,U|0,0)|0;a=Li(la|0,ka|0,U|0,0)|0;i=Li(na|0,ma|0,U|0,0)|0;pa=oa;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Xl(t|0,R|0,29)|0;R=I;t=Li(ja|0,ia|0,i|0,R|0)|0;ia=Li(la|0,ka|0,i|0,R|0)|0;ka=Li(na|0,ma|0,i|0,R|0)|0;pa=t;qa=ia;ra=ka;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function Pb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d+20|0;g=d+8|0;i=d+4|0;j=d;k=a+4|0;do if((h[(f[k>>2]|0)+36>>0]<<8&65535)<512){l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=-1;u=d;return r|0}else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=p;m=l;f[m>>2]=q;f[m+4>>2]=o;s=p;break}}else if(Ph(e,c)|0){s=f[e>>2]|0;break}else{r=-1;u=d;return r|0}while(0);a:do if(s|0){p=f[a+8>>2]|0;if(s>>>0>(((f[p+4>>2]|0)-(f[p>>2]|0)>>2>>>0)/3|0)>>>0){r=-1;u=d;return r|0}p=f[k>>2]|0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<258){p=c+8|0;o=c+16|0;m=g+4|0;q=g+8|0;l=a+40|0;n=a+44|0;t=a+36|0;v=s;w=0;while(1){x=p;y=f[x>>2]|0;z=f[x+4>>2]|0;x=o;A=f[x>>2]|0;B=f[x+4>>2]|0;x=Ul(A|0,B|0,4,0)|0;C=I;if((z|0)<(C|0)|(z|0)==(C|0)&y>>>0>>0)break;D=f[c>>2]|0;E=D+A|0;f[g>>2]=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;E=o;f[E>>2]=x;f[E+4>>2]=C;C=Ul(A|0,B|0,8,0)|0;E=I;if((z|0)<(E|0)|(z|0)==(E|0)&y>>>0>>0)break;C=D+x|0;f[m>>2]=h[C>>0]|h[C+1>>0]<<8|h[C+2>>0]<<16|h[C+3>>0]<<24;C=Ul(A|0,B|0,8,0)|0;x=I;E=o;f[E>>2]=C;f[E+4>>2]=x;if(!((z|0)>(x|0)|(z|0)==(x|0)&y>>>0>C>>>0))break;y=b[D+C>>0]|0;C=Ul(A|0,B|0,9,0)|0;B=o;f[B>>2]=C;f[B+4>>2]=I;b[q>>0]=b[q>>0]&-2|y&1;y=f[l>>2]|0;if((y|0)==(f[n>>2]|0)){Lg(t,g);F=f[e>>2]|0}else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+12;F=v}w=w+1|0;if(w>>>0>=F>>>0)break a;else v=F}r=-1;u=d;return r|0}v=g+4|0;w=a+40|0;l=a+44|0;t=a+36|0;n=0;q=0;do{Ph(i,c)|0;f[v>>2]=(f[i>>2]|0)+q;Ph(i,c)|0;o=f[i>>2]|0;q=f[v>>2]|0;if(q>>>0>>0){G=36;break}f[g>>2]=q-o;o=f[w>>2]|0;if((o|0)==(f[l>>2]|0))Lg(t,g);else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[w>>2]=(f[w>>2]|0)+12}n=n+1|0}while(n>>>0<(f[e>>2]|0)>>>0);if((G|0)==36){r=-1;u=d;return r|0}Af(c,0,0)|0;n=f[e>>2]|0;if(n|0){w=c+36|0;t=c+32|0;l=c+24|0;q=c+28|0;v=a+36|0;o=0;m=0;while(1){p=f[k>>2]|0;y=(b[w>>0]|0)==0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514)if(!y){p=f[t>>2]|0;B=f[l>>2]|0;C=f[q>>2]|0;A=B+(p>>>3)|0;if(A>>>0>>0){D=(h[A>>0]|0)>>>(p&7)&1;A=p+1|0;f[t>>2]=A;H=A;J=D}else{H=p;J=0}if((B+(H>>>3)|0)>>>0>>0){f[t>>2]=H+1;K=J}else K=J}else K=o;else if(!y){y=f[t>>2]|0;C=(f[l>>2]|0)+(y>>>3)|0;if(C>>>0<(f[q>>2]|0)>>>0){B=(h[C>>0]|0)>>>(y&7)&1;f[t>>2]=y+1;K=B}else K=0}else K=o;B=(f[v>>2]|0)+(m*12|0)+8|0;b[B>>0]=b[B>>0]&-2|K&1;m=m+1|0;if(m>>>0>=n>>>0)break;else o=K}}_j(c)}while(0);f[g>>2]=0;K=f[k>>2]|0;J=(h[K+36>>0]<<8|h[K+37>>0])&65535;if((J&65535)<512){K=c+8|0;H=f[K>>2]|0;e=f[K+4>>2]|0;K=c+16|0;F=K;s=f[F>>2]|0;o=Ul(s|0,f[F+4>>2]|0,4,0)|0;F=I;if((e|0)<(F|0)|(e|0)==(F|0)&H>>>0>>0)L=-1;else{H=(f[c>>2]|0)+s|0;s=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[g>>2]=s;H=K;f[H>>2]=o;f[H+4>>2]=F;M=s;G=43}}else if(J<<16>>16==512)if(Ph(g,c)|0){M=f[g>>2]|0;G=43}else L=-1;else G=57;b:do if((G|0)==43)if(!M)G=57;else{J=f[k>>2]|0;if(((h[J+36>>0]<<8|h[J+37>>0])&65535)>=258){J=a+52|0;s=a+56|0;F=a+48|0;H=0;o=0;while(1){f[i>>2]=0;Ph(j,c)|0;o=(f[j>>2]|0)+o|0;f[i>>2]=o;K=f[J>>2]|0;if((K|0)==(f[s>>2]|0))dh(F,i);else{f[K>>2]=o;f[J>>2]=K+4}H=H+1|0;if(H>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}}H=c+8|0;J=c+16|0;o=a+52|0;F=a+56|0;s=a+48|0;K=0;while(1){f[i>>2]=0;e=H;n=f[e>>2]|0;m=f[e+4>>2]|0;e=J;v=f[e>>2]|0;t=Ul(v|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&n>>>0>>0)break;n=(f[c>>2]|0)+v|0;v=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[i>>2]=v;n=J;f[n>>2]=t;f[n+4>>2]=e;e=f[o>>2]|0;if((e|0)==(f[F>>2]|0))dh(s,i);else{f[e>>2]=v;f[o>>2]=e+4}K=K+1|0;if(K>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}L=-1}while(0);if((G|0)==57)L=f[c+16>>2]|0;r=L;u=d;return r|0}function Qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+736|0;e=d+716|0;g=d;h=d+64|0;if((j[c+38>>1]|0)<515){i=1;u=d;return i|0}k=c+8|0;l=f[k+4>>2]|0;m=c+16|0;n=m;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((l|0)>(p|0)|((l|0)==(p|0)?(f[k>>2]|0)>>>0>o>>>0:0))){i=0;u=d;return i|0}k=b[(f[c>>2]|0)+o>>0]|0;l=Ul(o|0,p|0,1,0)|0;p=m;f[p>>2]=l;f[p+4>>2]=I;p=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[p>>2]|0)+80>>2]|0;p=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;do if(p|0)if(p>>>0>214748364)Eo(e);else{o=p*20|0;n=Yk(o)|0;f[e>>2]=n;f[e+8>>2]=n+(p*20|0);Dh(n|0,0,o|0)|0;f[m>>2]=n+o;break}while(0);p=a+64|0;o=a+68|0;n=a+60|0;q=a+52|0;r=a+56|0;s=a+48|0;t=0;v=0;a:while(1){if((t|0)>=(Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0)){w=44;break}x=Na[f[(f[a>>2]|0)+20>>2]&127](a,t)|0;y=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[y>>2]|0)+8>>2]|0)+(x<<2)>>2]|0;Lh(z,l)|0;b[z+84>>0]=1;x=f[z+68>>2]|0;y=z+72|0;A=f[y>>2]|0;if((A|0)!=(x|0))f[y>>2]=A+(~((A+-4-x|0)>>>2)<<2);switch(f[z+28>>2]|0){case 2:case 4:case 6:{B=z;break}case 1:case 3:case 5:{x=z+24|0;A=b[x>>0]|0;if(A<<24>>24>0){y=A;A=0;while(1){f[g>>2]=0;C=f[q>>2]|0;if(C>>>0<(f[r>>2]|0)>>>0){f[C>>2]=0;f[q>>2]=C+4;D=y}else{dh(s,g);D=b[x>>0]|0}A=A+1|0;if((A|0)>=(D<<24>>24|0))break;else y=D}}B=z;break}case 9:{y=b[z+24>>0]|0;Oj(g);A=f[z+56>>2]|0;x=X(Zj(6)|0,y<<24>>24)|0;Vh(g,A,0,y,6,0,x,((x|0)<0)<<31>>31,0,0);x=Yk(96)|0;zj(x,g);f[h>>2]=x;b[x+84>>0]=1;y=f[x+68>>2]|0;A=x+72|0;C=f[A>>2]|0;if((C|0)!=(y|0))f[A>>2]=C+(~((C+-4-y|0)>>>2)<<2);Lh(x,l)|0;x=f[p>>2]|0;if(x>>>0<(f[o>>2]|0)>>>0){y=f[h>>2]|0;f[h>>2]=0;f[x>>2]=y;y=x+4|0;f[p>>2]=y;E=y}else{Wd(n,h);E=f[p>>2]|0}y=f[E+-4>>2]|0;x=f[h>>2]|0;f[h>>2]=0;if(x|0){C=x+88|0;A=f[C>>2]|0;f[C>>2]=0;if(A|0){C=f[A+8>>2]|0;if(C|0){F=A+12|0;if((f[F>>2]|0)!=(C|0))f[F>>2]=C;lp(C)}lp(A)}A=f[x+68>>2]|0;if(A|0){C=x+72|0;F=f[C>>2]|0;if((F|0)!=(A|0))f[C>>2]=F+(~((F+-4-A|0)>>>2)<<2);lp(A)}A=x+64|0;F=f[A>>2]|0;f[A>>2]=0;if(F|0){A=f[F>>2]|0;if(A|0){C=F+4|0;if((f[C>>2]|0)!=(A|0))f[C>>2]=A;lp(A)}lp(F)}lp(x)}B=y;break}default:{G=0;break a}}y=B;x=f[y+28>>2]|0;F=Zj(x)|0;A=b[y+24>>0]|0;y=f[e>>2]|0;f[y+(t*20|0)>>2]=B;f[y+(t*20|0)+4>>2]=v;f[y+(t*20|0)+8>>2]=x;f[y+(t*20|0)+12>>2]=(F|0)>0?F:0;f[y+(t*20|0)+16>>2]=A;t=t+1|0;v=A+v|0}if((w|0)==44){Xf(g,e);switch(k<<24>>24){case 0:{ue(h,v);k=be(h,c,g)|0;xe(h);if(k)w=52;else H=0;break}case 1:{ue(h,v);k=ae(h,c,g)|0;xe(h);if(k)w=52;else H=0;break}case 2:{we(h,v);k=de(h,c,g)|0;De(h);if(k)w=52;else H=0;break}case 3:{we(h,v);k=ce(h,c,g)|0;De(h);if(k)w=52;else H=0;break}case 4:{se(h,v);k=Hd(h,c,g)|0;pe(h);if(k)w=52;else H=0;break}case 5:{se(h,v);k=Gd(h,c,g)|0;pe(h);if(k)w=52;else H=0;break}case 6:{se(h,v);v=Fd(h,c,g)|0;pe(h);if(v)w=52;else H=0;break}default:H=0}if((w|0)==52)H=1;w=f[g+16>>2]|0;if(w|0){v=g+20|0;h=f[v>>2]|0;if((h|0)!=(w|0))f[v>>2]=h+(~(((h+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[g>>2]|0;if(w|0){h=g+4|0;if((f[h>>2]|0)!=(w|0))f[h>>2]=w;lp(w)}G=H}H=f[e>>2]|0;if(H|0){e=f[m>>2]|0;if((e|0)!=(H|0))f[m>>2]=e+(~(((e+-20-H|0)>>>0)/20|0)*20|0);lp(H)}i=G;u=d;return i|0}function Rb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Ka,ea=Ka,fa=0,ga=Ka,ha=0,ia=Ka;c=u;u=u+32|0;d=c+12|0;e=c;g=a+60|0;if((f[g>>2]|0)==(f[a+64>>2]|0)?(f[a+48>>2]|0)==(f[a+52>>2]|0):0){h=1;u=c;return h|0}a:do if((Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0)>0){i=d+4|0;j=d+8|0;k=e+4|0;l=e+8|0;m=e+8|0;o=d+8|0;p=a+36|0;q=d+8|0;r=d+4|0;s=d+11|0;t=d+4|0;v=0;w=0;x=0;b:while(1){y=Na[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;z=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;A=f[(f[(f[z>>2]|0)+8>>2]|0)+(y<<2)>>2]|0;y=A+28|0;c:do switch(f[y>>2]|0){case 1:case 3:case 5:{z=A+24|0;B=b[z>>0]|0;C=B<<24>>24;f[d>>2]=0;f[i>>2]=0;f[j>>2]=0;if(!(B<<24>>24))D=0;else{if(B<<24>>24<0){E=8;break b}B=C<<2;F=Yk(B)|0;f[d>>2]=F;G=F+(C<<2)|0;f[o>>2]=G;Dh(F|0,0,B|0)|0;f[i>>2]=G;D=b[z>>0]|0}G=D<<24>>24;f[e>>2]=0;f[k>>2]=0;f[l>>2]=0;if(D<<24>>24){if(D<<24>>24<0){E=12;break b}B=G<<2;F=Yk(B)|0;f[e>>2]=F;C=F+(G<<2)|0;f[m>>2]=C;Dh(F|0,0,B|0)|0;f[k>>2]=C}switch(f[y>>2]|0){case 5:{if(Ed(a,A,x)|0)E=18;else{H=1;J=x}break}case 3:{if(Dd(a,A,x)|0)E=18;else{H=1;J=x}break}case 1:{if(sd(a,A,x)|0)E=18;else{H=1;J=x}break}default:E=18}if((E|0)==18){E=0;H=0;J=(b[z>>0]|0)+x|0}z=f[e>>2]|0;if(z|0){C=f[k>>2]|0;if((C|0)!=(z|0))f[k>>2]=C+(~((C+-4-z|0)>>>2)<<2);lp(z)}z=f[d>>2]|0;if(z|0){C=f[i>>2]|0;if((C|0)!=(z|0))f[i>>2]=C+(~((C+-4-z|0)>>>2)<<2);lp(z)}if(!H){K=w;L=J}else{M=H;break a}break}case 9:{z=f[(f[g>>2]|0)+(w<<2)>>2]|0;C=f[p>>2]|0;B=w+1|0;F=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;G=f[F>>2]|0;F=f[A+56>>2]|0;N=Yk(32)|0;f[d>>2]=N;f[q>>2]=-2147483616;f[r>>2]=24;O=N;P=11771;Q=O+24|0;do{b[O>>0]=b[P>>0]|0;O=O+1|0;P=P+1|0}while((O|0)<(Q|0));b[N+24>>0]=0;P=G+16|0;O=f[P>>2]|0;if(O){Q=P;R=O;d:while(1){O=R;while(1){if((f[O+16>>2]|0)>=(F|0))break;S=f[O+4>>2]|0;if(!S){T=Q;break d}else O=S}R=f[O>>2]|0;if(!R){T=O;break}else Q=O}if(((T|0)!=(P|0)?(F|0)>=(f[T+16>>2]|0):0)?(Q=T+20|0,(hg(Q,d)|0)!=0):0)U=hi(Q,d,0)|0;else E=37}else E=37;if((E|0)==37){E=0;U=hi(G,d,0)|0}if((b[s>>0]|0)<0)lp(f[d>>2]|0);if(U){Zd(A,z);K=B;L=x;break c}Q=f[C+(w*24|0)+4>>2]|0;R=b[A+24>>0]|0;N=R<<24>>24;S=N<<2;V=ip(N>>>0>1073741823?-1:N<<2)|0;Gn(d);if(!(Sk(d,$(n[C+(w*24|0)+20>>2]),(1<>2]>>2]|0)+(f[z+48>>2]|0)|0;W=z+80|0;e:do if(f[W>>2]|0){X=A+64|0;Y=C+(w*24|0)+8|0;if(R<<24>>24>0){Z=0;_=0;aa=0}else{ba=0;ca=0;while(1){Ff((f[f[X>>2]>>2]|0)+ca|0,V|0,S|0)|0;ba=ba+1|0;if(ba>>>0>=(f[W>>2]|0)>>>0)break e;else ca=ca+S|0}}while(1){ca=f[Y>>2]|0;da=$(n[t>>2]);ea=$(n[d>>2]);ba=0;O=aa;while(1){fa=f[Q+(O<<2)>>2]|0;if((fa|0)>-1)ga=$($($(fa|0)*da)*ea);else{ha=Wl(0,0,fa|0,((fa|0)<0)<<31>>31|0)|0;ga=$(-$(ea*$(da*$(+(ha>>>0)+4294967296.0*+(I|0)))))}ia=$(ga+$(n[ca+(ba<<2)>>2]));n[V+(ba<<2)>>2]=ia;ba=ba+1|0;if((ba|0)==(N|0))break;else O=O+1|0}Ff((f[f[X>>2]>>2]|0)+_|0,V|0,S|0)|0;Z=Z+1|0;if(Z>>>0>=(f[W>>2]|0)>>>0)break;else{_=_+S|0;aa=N+aa|0}}}while(0);jp(V);K=B;L=x;break}default:{K=w;L=x}}while(0);v=v+1|0;if((v|0)>=(Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0)){M=2;break a}else{w=K;x=L}}if((E|0)==8)Eo(d);else if((E|0)==12)Eo(e);else if((E|0)==54){jp(V);M=1;break}}else M=2;while(0);h=(M|0)==2;u=c;return h|0}function Sb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(p|0)!=(o|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{ag(i,m-q|0,3564);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;fi(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=t;t=m;m=s;s=k;k=0;while(1){p=f[o+(k<<2)>>2]|0;n=f[q>>2]|0;if(p>>>0>2>>>0){x=l;y=s;z=o;A=m}else{r=p+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(D|0)!=(n|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=m;G=o}else{E=l;F=m;G=o}else{ag(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(p<<2)|0;f[B>>2]=(f[B>>2]|0)+1;k=k+1|0;if(k>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;o=z;t=y;m=A;s=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)Eo(e);s=Yk(y<<1)|0;f[w>>2]=s;f[e>>2]=s;f[e+8>>2]=s+(v<<3);y=s;A=v;m=s;while(1){t=y;f[t>>2]=-1;f[t+4>>2]=-1;t=m+8|0;z=A+-1|0;if(!z)break;else{y=t;A=z;m=t}}f[w>>2]=s+(v<<3);H=s;I=s}s=f[q>>2]|0;v=f[d>>2]|0;m=s-v|0;A=m>>2;f[g>>2]=0;y=g+4|0;f[y>>2]=0;f[g+8>>2]=0;t=v;do if(A)if(A>>>0>1073741823)Eo(g);else{z=Yk(m)|0;f[g>>2]=z;o=z+(A<<2)|0;f[g+8>>2]=o;Dh(z|0,0,m|0)|0;f[y>>2]=o;J=z;K=o;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(v|0)){v=0;s=0;do{f[J+(v<<2)>>2]=s;s=(f[t+(v<<2)>>2]|0)+s|0;v=v+1|0}while(v>>>0>>0)}v=f[j>>2]|0;j=f[a>>2]|0;s=j;if((v|0)!=(j|0)){m=a+40|0;a=v-j>>2;j=J;v=0;g=H;z=H;o=H;x=H;l=H;k=H;while(1){F=f[s+(v<<2)>>2]|0;G=v+1|0;E=((G>>>0)%3|0|0)==0?v+-2|0:G;if((E|0)==-1)M=-1;else M=f[s+(E<<2)>>2]|0;E=((v>>>0)%3|0|0)==0;G=(E?2:-1)+v|0;if((G|0)==-1)N=-1;else N=f[s+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[m>>2]=(f[m>>2]|0)+1;O=j;P=v+2|0;Q=g;R=z;S=o;T=x;U=l;V=k}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[j+(N<<2)>>2]|0;while(1){p=f[l+(B<<3)>>2]|0;if((p|0)==-1){X=g;Y=z;Z=x;_=l;break b}if((p|0)==(M|0)){p=f[l+(B<<3)+4>>2]|0;if((p|0)==-1)$=-1;else $=f[s+(p<<2)>>2]|0;if((F|0)!=($|0))break}p=G+1|0;if((p|0)<(E|0)){G=p;B=B+1|0}else{X=g;Y=z;Z=x;_=l;break b}}p=f[x+(B<<3)+4>>2]|0;r=G;n=B;D=z;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[g+(n<<3)>>2]|0)==-1)break;else{n=C;D=g}}f[o+(n<<3)>>2]=-1;if((p|0)==-1){X=o;Y=o;Z=o;_=o}else{D=f[i>>2]|0;f[D+(v<<2)>>2]=p;f[D+(p<<2)>>2]=v;O=j;P=v;Q=o;R=o;S=o;T=o;U=o;V=k;break a}}else{X=g;Y=z;Z=x;_=l}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=k+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=J;P=v;Q=k;R=k;S=k;T=k;U=k;V=k;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=v;O=J;P=v;Q=H;R=H;S=H;T=H;U=H;V=H}else{O=j;P=v;Q=X;R=Y;S=o;T=Z;U=_;V=k}}while(0);v=P+1|0;if(v>>>0>=a>>>0)break;else{j=O;g=Q;z=R;o=S;x=T;l=U;k=V}}}f[b>>2]=A;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[y>>2]=K+(~((K+-4-J|0)>>>2)<<2);lp(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);lp(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);lp(ca)}h=1;u=c;return h|0}function Tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Og(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=ip(k)|0;Dh(d|0,0,k|0)|0;i=ip(k)|0;Dh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){jp(i);jp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+12|0;w=e<<2;if(s-m>>2>>>0>1){x=m;y=u;z=1}else Eo(r);while(1){u=f[x+(z<<2)>>2]|0;if(q)Dh(d|0,0,w|0)|0;if((u|0)!=-1){m=f[a>>2]|0;s=u;A=0;while(1){B=f[m+(s<<2)>>2]|0;if((B|0)!=-1){C=f[k>>2]|0;D=f[l>>2]|0;E=f[D+(f[C+(B<<2)>>2]<<2)>>2]|0;F=B+1|0;G=((F>>>0)%3|0|0)==0?B+-2|0:F;if((G|0)==-1)H=-1;else H=f[C+(G<<2)>>2]|0;G=f[D+(H<<2)>>2]|0;F=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((F|0)==-1)I=-1;else I=f[C+(F<<2)>>2]|0;F=f[D+(I<<2)>>2]|0;if((E|0)<(z|0)&(G|0)<(z|0)&(F|0)<(z|0)){D=X(E,e)|0;E=X(G,e)|0;G=X(F,e)|0;if(q){F=0;do{f[i+(F<<2)>>2]=(f[c+(F+G<<2)>>2]|0)+(f[c+(F+E<<2)>>2]|0)-(f[c+(F+D<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0));if(q){F=0;do{D=d+(F<<2)|0;f[D>>2]=(f[D>>2]|0)+(f[i+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0))}}J=A+1|0}else J=A}else J=A;F=(((s>>>0)%3|0|0)==0?2:-1)+s|0;do if((F|0)!=-1?(D=f[m+(F<<2)>>2]|0,(D|0)!=-1):0)if(!((D>>>0)%3|0)){K=D+2|0;break}else{K=D+-1|0;break}else K=-1;while(0);s=(K|0)==(u|0)?-1:K;if((s|0)==-1)break;else A=J}A=X(z,e)|0;if(J){if(q){s=0;do{u=d+(s<<2)|0;f[u>>2]=(f[u>>2]|0)/(J|0)|0;s=s+1|0}while((s|0)!=(e|0))}s=b+(A<<2)|0;u=c+(A<<2)|0;if((y|0)>0){m=0;do{F=f[d+(m<<2)>>2]|0;D=f[n>>2]|0;if((F|0)>(D|0)){E=f[o>>2]|0;f[E+(m<<2)>>2]=D;L=E}else{E=f[p>>2]|0;D=f[o>>2]|0;f[D+(m<<2)>>2]=(F|0)<(E|0)?E:F;L=D}m=m+1|0;M=f[g>>2]|0}while((m|0)<(M|0));if((M|0)>0){m=0;do{D=(f[s+(m<<2)>>2]|0)+(f[L+(m<<2)>>2]|0)|0;F=u+(m<<2)|0;f[F>>2]=D;if((D|0)<=(f[n>>2]|0)){if((D|0)<(f[p>>2]|0)){N=(f[v>>2]|0)+D|0;t=70}}else{N=D-(f[v>>2]|0)|0;t=70}if((t|0)==70){t=0;f[F>>2]=N}m=m+1|0;F=f[g>>2]|0}while((m|0)<(F|0));O=F}else O=M}else O=y}else{P=A;t=48}}else{P=X(z,e)|0;t=48}if((t|0)==48){t=0;m=c+((X(z+-1|0,e)|0)<<2)|0;u=b+(P<<2)|0;s=c+(P<<2)|0;if((y|0)>0){F=0;do{D=f[m+(F<<2)>>2]|0;E=f[n>>2]|0;if((D|0)>(E|0)){G=f[o>>2]|0;f[G+(F<<2)>>2]=E;Q=G}else{G=f[p>>2]|0;E=f[o>>2]|0;f[E+(F<<2)>>2]=(D|0)<(G|0)?G:D;Q=E}F=F+1|0;R=f[g>>2]|0}while((F|0)<(R|0));if((R|0)>0){F=0;do{m=(f[u+(F<<2)>>2]|0)+(f[Q+(F<<2)>>2]|0)|0;A=s+(F<<2)|0;f[A>>2]=m;if((m|0)<=(f[n>>2]|0)){if((m|0)<(f[p>>2]|0)){S=(f[v>>2]|0)+m|0;t=58}}else{S=m-(f[v>>2]|0)|0;t=58}if((t|0)==58){t=0;f[A>>2]=S}F=F+1|0;A=f[g>>2]|0}while((F|0)<(A|0));O=A}else O=R}else O=y}z=z+1|0;if((z|0)>=(j|0)){t=22;break}x=f[r>>2]|0;if((f[h>>2]|0)-x>>2>>>0<=z>>>0){t=23;break}else y=O}if((t|0)==22){jp(i);jp(d);return 1}else if((t|0)==23)Eo(r);return 0}function Ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Og(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=ip(k)|0;Dh(d|0,0,k|0)|0;i=ip(k)|0;Dh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){jp(i);jp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+64|0;w=k+28|0;x=e<<2;if(s-m>>2>>>0>1){y=m;z=u;A=1}else Eo(r);while(1){u=f[y+(A<<2)>>2]|0;if(q)Dh(d|0,0,x|0)|0;if((u|0)!=-1){m=f[k>>2]|0;s=u;B=0;while(1){if(((f[m+(s>>>5<<2)>>2]&1<<(s&31)|0)==0?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(s<<2)>>2]|0,(C|0)!=-1):0)?(D=f[w>>2]|0,E=f[l>>2]|0,F=f[E+(f[D+(C<<2)>>2]<<2)>>2]|0,G=C+1|0,H=f[E+(f[D+((((G>>>0)%3|0|0)==0?C+-2|0:G)<<2)>>2]<<2)>>2]|0,G=f[E+(f[D+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(F|0)<(A|0)&(H|0)<(A|0)&(G|0)<(A|0)):0){C=X(F,e)|0;F=X(H,e)|0;H=X(G,e)|0;if(q){G=0;do{f[i+(G<<2)>>2]=(f[c+(G+H<<2)>>2]|0)+(f[c+(G+F<<2)>>2]|0)-(f[c+(G+C<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0));if(q){G=0;do{C=d+(G<<2)|0;f[C>>2]=(f[C>>2]|0)+(f[i+(G<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0))}}I=B+1|0}else I=B;G=(((s>>>0)%3|0|0)==0?2:-1)+s|0;do if(((G|0)!=-1?(f[m+(G>>>5<<2)>>2]&1<<(G&31)|0)==0:0)?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(G<<2)>>2]|0,(C|0)!=-1):0)if(!((C>>>0)%3|0)){J=C+2|0;break}else{J=C+-1|0;break}else J=-1;while(0);s=(J|0)==(u|0)?-1:J;if((s|0)==-1)break;else B=I}B=X(A,e)|0;if(I){if(q){s=0;do{u=d+(s<<2)|0;f[u>>2]=(f[u>>2]|0)/(I|0)|0;s=s+1|0}while((s|0)!=(e|0))}s=b+(B<<2)|0;u=c+(B<<2)|0;if((z|0)>0){m=0;do{G=f[d+(m<<2)>>2]|0;C=f[n>>2]|0;if((G|0)>(C|0)){F=f[o>>2]|0;f[F+(m<<2)>>2]=C;K=F}else{F=f[p>>2]|0;C=f[o>>2]|0;f[C+(m<<2)>>2]=(G|0)<(F|0)?F:G;K=C}m=m+1|0;L=f[g>>2]|0}while((m|0)<(L|0));if((L|0)>0){m=0;do{C=(f[s+(m<<2)>>2]|0)+(f[K+(m<<2)>>2]|0)|0;G=u+(m<<2)|0;f[G>>2]=C;if((C|0)<=(f[n>>2]|0)){if((C|0)<(f[p>>2]|0)){M=(f[v>>2]|0)+C|0;t=68}}else{M=C-(f[v>>2]|0)|0;t=68}if((t|0)==68){t=0;f[G>>2]=M}m=m+1|0;G=f[g>>2]|0}while((m|0)<(G|0));N=G}else N=L}else N=z}else{O=B;t=46}}else{O=X(A,e)|0;t=46}if((t|0)==46){t=0;m=c+((X(A+-1|0,e)|0)<<2)|0;u=b+(O<<2)|0;s=c+(O<<2)|0;if((z|0)>0){G=0;do{C=f[m+(G<<2)>>2]|0;F=f[n>>2]|0;if((C|0)>(F|0)){H=f[o>>2]|0;f[H+(G<<2)>>2]=F;P=H}else{H=f[p>>2]|0;F=f[o>>2]|0;f[F+(G<<2)>>2]=(C|0)<(H|0)?H:C;P=F}G=G+1|0;Q=f[g>>2]|0}while((G|0)<(Q|0));if((Q|0)>0){G=0;do{m=(f[u+(G<<2)>>2]|0)+(f[P+(G<<2)>>2]|0)|0;B=s+(G<<2)|0;f[B>>2]=m;if((m|0)<=(f[n>>2]|0)){if((m|0)<(f[p>>2]|0)){R=(f[v>>2]|0)+m|0;t=56}}else{R=m-(f[v>>2]|0)|0;t=56}if((t|0)==56){t=0;f[B>>2]=R}G=G+1|0;B=f[g>>2]|0}while((G|0)<(B|0));N=B}else N=Q}else N=z}A=A+1|0;if((A|0)>=(j|0)){t=22;break}y=f[r>>2]|0;if((f[h>>2]|0)-y>>2>>>0<=A>>>0){t=23;break}else z=N}if((t|0)==22){jp(i);jp(d);return 1}else if((t|0)==23)Eo(r);return 0}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Ul(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Ul(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if(z>>>0>=(((f[a+220>>2]|0)-A|0)/144|0)>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=Ul(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=I;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{Dc(e,a,E);F=f[e>>2]|0;break}case 1:{Ud(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(D|0){v=0;u=d;return v|0}D=n<<24>>24;if(n<<24>>24<0){v=0;u=d;return v|0}n=Yk(88)|0;F=f[a+216>>2]|0;a=F+(D*144|0)+104|0;f[n+4>>2]=0;f[n>>2]=3124;E=n+12|0;f[E>>2]=3148;x=n+64|0;f[x>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;m=n+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[n+76>>2]=o;f[n+80>>2]=a;f[n+84>>2]=0;s=g+4|0;f[s>>2]=3148;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=F+(D*144|0)+4|0;f[i>>2]=3148;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[F+(D*144|0)+68>>2]|0;D=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;Hf(i+8|0,D,e);Ra[f[(f[i>>2]|0)+8>>2]&127](i);Be(j,i);Be(e,j);f[g>>2]=f[e+4>>2];D=g+4|0;Qe(D,e)|0;f[e>>2]=3148;t=f[e+20>>2]|0;if(t|0)lp(t);t=f[e+8>>2]|0;if(t|0)lp(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=n;f[j>>2]=3148;o=f[j+20>>2]|0;if(o|0)lp(o);o=f[j+8>>2]|0;if(o|0)lp(o);f[n+8>>2]=f[g>>2];Qe(E,D)|0;D=n+44|0;E=g+36|0;f[D>>2]=f[E>>2];f[D+4>>2]=f[E+4>>2];f[D+8>>2]=f[E+8>>2];f[D+12>>2]=f[E+12>>2];b[D+16>>0]=b[E+16>>0]|0;Te(x,f[w>>2]|0,f[r>>2]|0);x=n;f[i>>2]=3148;n=f[i+20>>2]|0;if(n|0)lp(n);n=f[i+8>>2]|0;if(n|0)lp(n);n=f[w>>2]|0;if(n|0){w=f[r>>2]|0;if((w|0)!=(n|0))f[r>>2]=w+(~((w+-4-n|0)>>>2)<<2);lp(n)}f[s>>2]=3148;s=f[g+24>>2]|0;if(s|0)lp(s);s=f[g+12>>2]|0;if(s|0)lp(s);G=x}x=Yk(64)|0;f[k>>2]=G;yj(x,k);G=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Ra[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Ra[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){n=c+1|0;w=s;if(n>>>0>g>>>0){ef(x,n-g|0);break}if(n>>>0>>0?(r=k+(n<<2)|0,(w|0)!=(r|0)):0){n=w;do{w=n+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);n=f[l>>2]|0}while((n|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Ra[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Wb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;e=d;g=a+144|0;i=f[g>>2]|0;k=Ma[f[(f[i>>2]|0)+32>>2]&127](i)|0;do if((((h[k+36>>0]|0)<<8|(h[k+37>>0]|0))&65535)<514){i=a+40|0;l=i;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Af(i,1,e)|0){l=a;m=i;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=e;o=f[i>>2]|0;p=f[i+4>>2]|0;i=a+8|0;q=a+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;r=Wl(f[i>>2]|0,f[i+4>>2]|0,s|0,t|0)|0;i=I;if(!(p>>>0>i>>>0|(p|0)==(i|0)&o>>>0>r>>>0)){r=Ul(s|0,t|0,o|0,p|0)|0;p=q;f[p>>2]=r;f[p+4>>2]=I;break}}v=0;u=d;return v|0}while(0);do if((j[a+38>>1]|0)>=514){if(!(ud(a+80|0,a)|0)){v=0;u=d;return v|0}}else{k=a+96|0;l=k;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Af(k,1,e)|0){l=a;m=k;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=e;p=f[k>>2]|0;r=f[k+4>>2]|0;k=a+8|0;q=a+16|0;o=q;t=f[o>>2]|0;s=f[o+4>>2]|0;o=Wl(f[k>>2]|0,f[k+4>>2]|0,t|0,s|0)|0;k=I;if(!(r>>>0>k>>>0|(r|0)==(k|0)&p>>>0>o>>>0)){o=Ul(t|0,s|0,p|0,r|0)|0;r=q;f[r>>2]=o;f[r+4>>2]=I;break}}v=0;u=d;return v|0}while(0);if(!(Zg(a)|0)){v=0;u=d;return v|0}l=c;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=f[g>>2]|0;l=Ma[f[(f[m>>2]|0)+32>>2]&127](m)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){m=f[g>>2]|0;n=(Ma[f[(f[m>>2]|0)+32>>2]&127](m)|0)+36|0;if(((h[n>>0]|0)<<8&65535)<512){n=c+8|0;m=f[n>>2]|0;r=f[n+4>>2]|0;n=c+16|0;o=n;q=f[o>>2]|0;p=Ul(q|0,f[o+4>>2]|0,4,0)|0;o=I;if(!((r|0)<(o|0)|(r|0)==(o|0)&m>>>0

>>0)){m=(f[c>>2]|0)+q|0;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=q;m=n;f[m>>2]=p;f[m+4>>2]=o;w=q;x=19}}else if(Ph(e,c)|0){w=f[e>>2]|0;x=19}if((((x|0)==19?(q=f[a+152>>2]|0,w>>>0>>0):0)?(o=c+8|0,m=f[o+4>>2]|0,p=c+16|0,n=p,r=f[n>>2]|0,s=f[n+4>>2]|0,(m|0)>(s|0)|((m|0)==(s|0)?(f[o>>2]|0)>>>0>r>>>0:0)):0)?(o=b[(f[c>>2]|0)+r>>0]|0,m=Ul(r|0,s|0,1,0)|0,s=p,f[s>>2]=m,f[s+4>>2]=I,o<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;y=q;break}v=0;u=d;return v|0}else{f[a+176>>2]=2;f[a+180>>2]=7;y=f[a+152>>2]|0}while(0);if((y|0)<0){v=0;u=d;return v|0}w=a+156|0;f[e>>2]=0;x=a+160|0;g=f[x>>2]|0;l=f[w>>2]|0;q=g-l>>2;o=l;l=g;if(y>>>0<=q>>>0)if(y>>>0>>0?(g=o+(y<<2)|0,(l|0)!=(g|0)):0){f[x>>2]=l+(~((l+-4-g|0)>>>2)<<2);z=2;A=7}else{z=2;A=7}else{ag(w,y-q|0,e);z=f[a+176>>2]|0;A=f[a+180>>2]|0}q=A-z+1|0;z=a+184|0;A=a+188|0;y=f[A>>2]|0;w=f[z>>2]|0;g=(y-w|0)/12|0;l=w;w=y;if(q>>>0<=g>>>0)if(q>>>0>>0?(x=l+(q*12|0)|0,(w|0)!=(x|0)):0){l=w;while(1){w=l+-12|0;f[A>>2]=w;o=f[w>>2]|0;if(!o)B=w;else{w=l+-8|0;s=f[w>>2]|0;if((s|0)!=(o|0))f[w>>2]=s+(~((s+-4-o|0)>>>2)<<2);lp(o);B=f[A>>2]|0}if((B|0)==(x|0))break;else l=B}C=B}else C=y;else{Fe(z,q-g|0);C=f[A>>2]|0}g=a+196|0;q=f[z>>2]|0;y=(C-q|0)/12|0;B=a+200|0;a=f[B>>2]|0;l=f[g>>2]|0;x=a-l>>2;o=l;l=a;if(y>>>0<=x>>>0)if(y>>>0>>0?(a=o+(y<<2)|0,(l|0)!=(a|0)):0){f[B>>2]=l+(~((l+-4-a|0)>>>2)<<2);D=C;E=q}else{D=C;E=q}else{Og(g,y-x|0);D=f[A>>2]|0;E=f[z>>2]|0}if((D|0)==(E|0)){v=1;u=d;return v|0}E=0;do{Ph(e,c)|0;D=f[e>>2]|0;if(D|0){x=f[z>>2]|0;y=x+(E*12|0)|0;q=x+(E*12|0)+4|0;C=f[q>>2]|0;a=f[y>>2]|0;l=C-a>>2;B=a;a=C;if(D>>>0<=l>>>0)if(D>>>0>>0?(C=B+(D<<2)|0,(a|0)!=(C|0)):0){f[q>>2]=a+(~((a+-4-C|0)>>>2)<<2);F=x;G=D}else{F=x;G=D}else{Og(y,D-l|0);F=f[z>>2]|0;G=f[e>>2]|0}yh(G,1,c,f[F+(E*12|0)>>2]|0)|0;f[(f[g>>2]|0)+(E<<2)>>2]=f[e>>2]}E=E+1|0}while(E>>>0<(((f[A>>2]|0)-(f[z>>2]|0)|0)/12|0)>>>0);v=1;u=d;return v|0}function Xb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4120]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((h|0)==(f[4121]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}f[4118]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4116]=f[4116]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=h;n=i;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=16768+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[4117]=f[4117]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=h;n=i;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=e>>>0)return;a=e+4|0;b=f[a>>2]|0;if(!(b&1))return;if(!(b&2)){r=f[4121]|0;if((e|0)==(f[4122]|0)){s=(f[4119]|0)+n|0;f[4119]=s;f[4122]=m;f[m+4>>2]=s|1;if((m|0)!=(r|0))return;f[4121]=0;f[4118]=0;return}if((e|0)==(r|0)){r=(f[4118]|0)+n|0;f[4118]=r;f[4121]=l;f[m+4>>2]=r|1;f[l+r>>2]=r;return}r=(b&-8)+n|0;s=b>>>3;do if(b>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4116]=f[4116]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;i=16768+(c<<2)|0;if((e|0)==(f[i>>2]|0)){f[i>>2]=u;if(!u){f[4117]=f[4117]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;i=f[c>>2]|0;if(i|0){f[u+16>>2]=i;f[i+24>>2]=u}i=f[c+4>>2]|0;if(i|0){f[u+20>>2]=i;f[i+24>>2]=u}}}while(0);f[m+4>>2]=r|1;f[l+r>>2]=r;if((m|0)==(f[4121]|0)){f[4118]=r;return}else x=r}else{f[a>>2]=b&-2;f[m+4>>2]=n|1;f[l+n>>2]=n;x=n}n=x>>>3;if(x>>>0<256){l=16504+(n<<1<<2)|0;b=f[4116]|0;a=1<>2]|0}f[y>>2]=m;f[z+12>>2]=m;f[m+8>>2]=z;f[m+12>>2]=l;return}l=x>>>8;if(l)if(x>>>0>16777215)A=31;else{z=(l+1048320|0)>>>16&8;y=l<>>16&4;a=y<>>16&2;b=14-(l|z|y)+(a<>>15)|0;A=x>>>(b+7|0)&1|b<<1}else A=0;b=16768+(A<<2)|0;f[m+28>>2]=A;f[m+20>>2]=0;f[m+16>>2]=0;y=f[4117]|0;a=1<>>1)|0);l=f[b>>2]|0;while(1){if((f[l+4>>2]&-8|0)==(x|0)){B=73;break}C=l+16+(z>>>31<<2)|0;n=f[C>>2]|0;if(!n){B=72;break}else{z=z<<1;l=n}}if((B|0)==72){f[C>>2]=m;f[m+24>>2]=l;f[m+12>>2]=m;f[m+8>>2]=m;break}else if((B|0)==73){z=l+8|0;t=f[z>>2]|0;f[t+12>>2]=m;f[z>>2]=m;f[m+8>>2]=t;f[m+12>>2]=l;f[m+24>>2]=0;break}}else{f[4117]=y|a;f[b>>2]=m;f[m+24>>2]=b;f[m+12>>2]=m;f[m+8>>2]=m}while(0);m=(f[4124]|0)+-1|0;f[4124]=m;if(!m)D=16920;else return;while(1){m=f[D>>2]|0;if(!m)break;else D=m+8|0}f[4124]=-1;return}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ka,F=Ka,G=Ka,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=g+(j+4)|0;m=e;o=d-j|0}else{l=g;m=i;o=i}switch(o|0){case 3:{p=h[l+2>>0]<<16^m;q=6;break}case 2:{p=m;q=6;break}case 1:{r=m;q=7;break}default:s=m}if((q|0)==6){r=h[l+1>>0]<<8^p;q=7}if((q|0)==7)s=X(h[l>>0]^r,1540483477)|0;r=X(s>>>13^s,1540483477)|0;s=r>>>15^r;r=a+4|0;l=f[r>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;o=(m&l|0)==0;if(!o)if(s>>>0>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&m;j=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((j|0)!=0?(d=f[j>>2]|0,(d|0)!=0):0){j=(i|0)==0;if(o){if(j){o=d;while(1){e=f[o+4>>2]|0;if(!((e|0)==(s|0)|(e&m|0)==(t|0))){u=t;break a}e=b[o+8+11>>0]|0;if(!((e<<24>>24<0?f[o+12>>2]|0:e&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else x=d;b:while(1){o=f[x+4>>2]|0;if(!((o|0)==(s|0)|(o&m|0)==(t|0))){u=t;break a}o=x+8|0;e=b[o+11>>0]|0;k=e<<24>>24<0;y=e&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){e=f[o>>2]|0;if(k)if(!(dj(e,g,i)|0)){v=x;q=63;break b}else break;if((e&255)<<24>>24==(b[g>>0]|0)){e=y;z=o;A=g;do{e=e+-1|0;z=z+1|0;if(!e){v=x;q=63;break b}A=A+1|0}while((b[z>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(j){m=d;while(1){o=f[m+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)B=o;else B=(o>>>0)%(l>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[m+8+11>>0]|0;if(!((o<<24>>24<0?f[m+12>>2]|0:o&255)|0)){v=m;break}m=f[m>>2]|0;if(!m){u=t;break a}}w=v+20|0;return w|0}else C=d;c:while(1){m=f[C+4>>2]|0;if((m|0)!=(s|0)){if(m>>>0>>0)D=m;else D=(m>>>0)%(l>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}m=C+8|0;j=b[m+11>>0]|0;o=j<<24>>24<0;y=j&255;do if(((o?f[C+12>>2]|0:y)|0)==(i|0)){j=f[m>>2]|0;if(o)if(!(dj(j,g,i)|0)){v=C;q=63;break c}else break;if((j&255)<<24>>24==(b[g>>0]|0)){j=y;k=m;A=g;do{j=j+-1|0;k=k+1|0;if(!j){v=C;q=63;break c}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=Yk(24)|0;zh(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(l>>>0);G=$(n[a+16>>2]);do if(p|E>$(F*G)){C=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;g=~~$(W($(E/G)))>>>0;qg(a,C>>>0>>0?g:C);C=f[r>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=l;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){l=a+8|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[u>>2]=l;l=f[t>>2]|0;if(l|0){u=f[l+4>>2]|0;l=H+-1|0;if(l&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&l;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Zb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Og(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=ip(i)|0;Dh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){jp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=v;v=1;while(1){if(t>>>0<=v>>>0){u=24;break}p=f[o+(v<<2)>>2]|0;q=X(v,e)|0;if((p|0)!=-1?(w=f[(f[a>>2]|0)+(p<<2)>>2]|0,(w|0)!=-1):0){p=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[p+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[p+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[p+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(v|0)&(A|0)<(v|0)&(z|0)<(v|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((s|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;p=f[h>>2]|0;if((A|0)>(p|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=p;D=w}else{w=f[l>>2]|0;p=f[n>>2]|0;f[p+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=p}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{p=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=p;if((p|0)<=(f[h>>2]|0)){if((p|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+p|0;u=56}}else{F=p-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=s}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(v+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((s|0)>0){A=0;do{p=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((p|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(p|0)<(H|0)?H:p;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=s}v=v+1|0;if((v|0)>=(t|0)){u=22;break}else s=G}if((u|0)==22){jp(j);return 1}else if((u|0)==24)Eo(m);return 0}function _b(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Og(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=ip(i)|0;Dh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){jp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=v;v=1;while(1){if(t>>>0<=v>>>0){u=24;break}q=f[p+(v<<2)>>2]|0;w=X(v,e)|0;if((((q|0)!=-1?(f[(f[k>>2]|0)+(q>>>5<<2)>>2]&1<<(q&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(q<<2)>>2]|0,(x|0)!=-1):0)?(q=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[q+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[q+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[q+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(v|0)&(B|0)<(v|0)&(A|0)<(v|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((s|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;q=f[h>>2]|0;if((B|0)>(q|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=q;C=y}else{y=f[l>>2]|0;q=f[n>>2]|0;f[q+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=q}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{q=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=q;if((q|0)<=(f[h>>2]|0)){if((q|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+q|0;u=53}}else{E=q-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=s}else{z=c+((X(v+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((s|0)>0){B=0;do{q=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((q|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(q|0)<(G|0)?G:q;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=s}v=v+1|0;if((v|0)>=(t|0)){u=22;break}else s=F}if((u|0)==22){jp(j);return 1}else if((u|0)==24)Eo(m);return 0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+672|0;g=e;i=e+656|0;j=e+4|0;k=c+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;u=e;return r|0}q=(f[c>>2]|0)+p|0;p=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;b[a>>0]=p;b[a+1>>0]=p>>8;b[a+2>>0]=p>>16;b[a+3>>0]=p>>24;q=l;m=f[q>>2]|0;o=f[q+4>>2]|0;q=Ul(m|0,o|0,4,0)|0;n=l;f[n>>2]=q;f[n+4>>2]=I;if(p>>>0>31){r=0;u=e;return r|0}p=k;n=f[p>>2]|0;s=f[p+4>>2]|0;p=Ul(m|0,o|0,8,0)|0;o=I;if((s|0)<(o|0)|(s|0)==(o|0)&n>>>0

>>0){r=0;u=e;return r|0}p=a+4|0;n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;q=l;p=f[q>>2]|0;n=f[q+4>>2]|0;q=Ul(p|0,n|0,4,0)|0;o=l;f[o>>2]=q;f[o+4>>2]=I;o=a+12|0;s=k;m=f[s>>2]|0;t=f[s+4>>2]|0;s=Ul(p|0,n|0,8,0)|0;n=I;if((t|0)<(n|0)|(t|0)==(n|0)&m>>>0>>0){r=0;u=e;return r|0}s=(f[c>>2]|0)+q|0;q=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;b[o>>0]=q;b[o+1>>0]=q>>8;b[o+2>>0]=q>>16;b[o+3>>0]=q>>24;s=l;m=f[s>>2]|0;n=f[s+4>>2]|0;s=Ul(m|0,n|0,4,0)|0;t=l;f[t>>2]=s;f[t+4>>2]=I;t=a+16|0;a=k;k=f[a>>2]|0;p=f[a+4>>2]|0;a=Ul(m|0,n|0,8,0)|0;n=I;if((p|0)<(n|0)|(p|0)==(n|0)&k>>>0>>0){r=0;u=e;return r|0}a=(f[c>>2]|0)+s|0;s=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[t>>0]=s;b[t+1>>0]=s>>8;b[t+2>>0]=s>>16;b[t+3>>0]=s>>24;a=l;k=Ul(f[a>>2]|0,f[a+4>>2]|0,4,0)|0;a=l;f[a>>2]=k;f[a+4>>2]=I;if(s>>>0>6){f[g>>2]=s;Ml(13331,g)|0;r=0;u=e;return r|0}f[i>>2]=d;a:do if(!q)v=17;else{ih(d,q);switch(f[t>>2]|0){case 0:{ue(j,3);Pd(j,c,i)|0;xe(j);v=17;break a;break}case 1:{ue(j,3);Od(j,c,i)|0;xe(j);v=17;break a;break}case 2:{we(j,3);Rd(j,c,i)|0;De(j);v=17;break a;break}case 3:{we(j,3);Qd(j,c,i)|0;De(j);v=17;break a;break}case 4:{se(j,3);zd(j,c,i)|0;pe(j);v=17;break a;break}case 5:{se(j,3);yd(j,c,i)|0;pe(j);v=17;break a;break}case 6:{se(j,3);xd(j,c,i)|0;pe(j);v=17;break a;break}default:{w=0;break a}}}while(0);if((v|0)==17)w=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[o>>2]|0);r=w;u=e;return r|0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=Yk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Ul(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(dj(d,12975,5)|0){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=12981;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Ul(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=Yk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Ul(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=Yk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Ul(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Ul(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Ul(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Ul(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=Yk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}function bc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0;d=u;u=u+80|0;e=d+76|0;g=d;i=d+72|0;j=d+64|0;k=d+68|0;l=a+28|0;do if(((h[(f[l>>2]|0)+36>>0]|0)<<8&65535)<512){m=c+8|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c+16|0;p=m;q=f[p>>2]|0;r=Ul(q|0,f[p+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&n>>>0>>0){s=0;u=d;return s|0}else{n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[e>>2]=q;n=m;f[n>>2]=r;f[n+4>>2]=p;t=q;break}}else if(Ph(e,c)|0){t=f[e>>2]|0;break}else{s=0;u=d;return s|0}while(0);if(!t){s=0;u=d;return s|0}q=a+4|0;p=a+8|0;n=f[p>>2]|0;r=f[q>>2]|0;m=n-r>>2;o=r;r=n;if(t>>>0>m>>>0){Og(q,t-m|0);if(!(f[e>>2]|0)){s=1;u=d;return s|0}}else if(t>>>0>>0?(m=o+(t<<2)|0,(r|0)!=(m|0)):0)f[p>>2]=r+(~((r+-4-m|0)>>>2)<<2);m=f[a+32>>2]|0;r=c+8|0;p=c+16|0;t=g+60|0;o=m+8|0;n=a+16|0;v=a+20|0;a=0;while(1){w=r;x=f[w>>2]|0;y=f[w+4>>2]|0;w=p;z=f[w>>2]|0;A=f[w+4>>2]|0;if(!((y|0)>(A|0)|(y|0)==(A|0)&x>>>0>z>>>0)){s=0;B=49;break}w=f[c>>2]|0;C=b[w+z>>0]|0;D=Ul(z|0,A|0,1,0)|0;E=I;F=p;f[F>>2]=D;f[F+4>>2]=E;if(!((y|0)>(E|0)|(y|0)==(E|0)&x>>>0>D>>>0)){s=0;B=49;break}E=b[w+D>>0]|0;D=Ul(z|0,A|0,2,0)|0;F=I;G=p;f[G>>2]=D;f[G+4>>2]=F;if(!((y|0)>(F|0)|(y|0)==(F|0)&x>>>0>D>>>0)){s=0;B=49;break}F=b[w+D>>0]|0;D=Ul(z|0,A|0,3,0)|0;G=I;H=p;f[H>>2]=D;f[H+4>>2]=G;if(!((y|0)>(G|0)|(y|0)==(G|0)&x>>>0>D>>>0)){s=0;B=49;break}x=b[w+D>>0]|0;D=Ul(z|0,A|0,4,0)|0;A=p;f[A>>2]=D;f[A+4>>2]=I;A=E&255;if((E+-1&255)>10){s=0;B=49;break}Oj(g);E=X(Zj(A)|0,F&255)|0;Vh(g,C&255,0,F,A,x<<24>>24!=0,E,((E|0)<0)<<31>>31,0,0);E=f[l>>2]|0;if((((h[E+36>>0]|0)<<8|(h[E+37>>0]|0))&65535)<259){E=r;x=f[E>>2]|0;A=f[E+4>>2]|0;E=p;F=f[E>>2]|0;C=Ul(F|0,f[E+4>>2]|0,2,0)|0;E=I;if((A|0)<(E|0)|(A|0)==(E|0)&x>>>0>>0){B=47;break}x=(f[c>>2]|0)+F|0;F=h[x>>0]|h[x+1>>0]<<8;x=p;f[x>>2]=C;f[x+4>>2]=E;E=F&65535;f[i>>2]=E;J=E}else{Ph(i,c)|0;J=f[i>>2]|0}f[t>>2]=J;E=Yk(96)|0;zj(E,g);f[j>>2]=E;E=Of(m,j)|0;F=f[j>>2]|0;f[j>>2]=0;if(F|0){x=F+88|0;C=f[x>>2]|0;f[x>>2]=0;if(C|0){x=f[C+8>>2]|0;if(x|0){A=C+12|0;if((f[A>>2]|0)!=(x|0))f[A>>2]=x;lp(x)}lp(C)}C=f[F+68>>2]|0;if(C|0){x=F+72|0;A=f[x>>2]|0;if((A|0)!=(C|0))f[x>>2]=A+(~((A+-4-C|0)>>>2)<<2);lp(C)}C=F+64|0;A=f[C>>2]|0;f[C>>2]=0;if(A|0){C=f[A>>2]|0;if(C|0){x=A+4|0;if((f[x>>2]|0)!=(C|0))f[x>>2]=C;lp(C)}lp(A)}lp(F)}f[(f[(f[o>>2]|0)+(E<<2)>>2]|0)+60>>2]=f[i>>2];f[(f[q>>2]|0)+(a<<2)>>2]=E;F=f[v>>2]|0;A=f[n>>2]|0;C=F-A>>2;x=A;if((E|0)<(C|0))K=x;else{A=E+1|0;f[k>>2]=-1;D=F;if(A>>>0<=C>>>0)if(A>>>0>>0?(F=x+(A<<2)|0,(D|0)!=(F|0)):0){f[v>>2]=D+(~((D+-4-F|0)>>>2)<<2);L=x}else L=x;else{ag(n,A-C|0,k);L=f[n>>2]|0}K=L}f[K+(E<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){s=1;B=49;break}}if((B|0)==47){s=0;u=d;return s|0}else if((B|0)==49){u=d;return s|0}return 0}function cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;lp(k)}lp(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);lp(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;lp(m)}lp(n)}lp(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=j;p=g;q=24}}else{o=h;p=e;q=24}if((q|0)==24){q=o;do{o=q+-4|0;f[c>>2]=o;e=f[o>>2]|0;f[o>>2]=0;if(e|0){o=e+88|0;h=f[o>>2]|0;f[o>>2]=0;if(h|0){o=f[h+8>>2]|0;if(o|0){g=h+12|0;if((f[g>>2]|0)!=(o|0))f[g>>2]=o;lp(o)}lp(h)}h=f[e+68>>2]|0;if(h|0){o=e+72|0;g=f[o>>2]|0;if((g|0)!=(h|0))f[o>>2]=g+(~((g+-4-h|0)>>>2)<<2);lp(h)}h=e+64|0;g=f[h>>2]|0;f[h>>2]=0;if(g|0){h=f[g>>2]|0;if(h|0){o=g+4|0;if((f[o>>2]|0)!=(h|0))f[o>>2]=h;lp(h)}lp(g)}lp(e)}q=f[c>>2]|0}while((q|0)!=(p|0))}p=f[a+4>>2]|0;a:do if(p|0){q=p+44|0;c=f[q>>2]|0;e=f[p+40>>2]|0;while(1){if((e|0)==(c|0))break a;r=e+4|0;if((f[(f[e>>2]|0)+40>>2]|0)==(i|0))break;else e=r}if((r|0)!=(c|0)){g=r;h=e;do{o=f[g>>2]|0;f[g>>2]=0;j=f[h>>2]|0;f[h>>2]=o;if(j|0){jh(j);lp(j)}g=g+4|0;h=h+4|0}while((g|0)!=(c|0));g=f[q>>2]|0;if((g|0)==(h|0))break;else{s=g;t=h}}else{s=c;t=e}g=s;do{j=g+-4|0;f[q>>2]=j;o=f[j>>2]|0;f[j>>2]=0;if(o|0){jh(o);lp(o)}g=f[q>>2]|0}while((g|0)!=(t|0))}while(0);b:do if((d|0)<5){t=f[a+20+(d*12|0)>>2]|0;s=a+20+(d*12|0)+4|0;r=f[s>>2]|0;i=r;c:do if((t|0)==(r|0))u=t;else{p=t;while(1){if((f[p>>2]|0)==(b|0)){u=p;break c}p=p+4|0;if((p|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){t=u+4|0;p=i-t|0;g=p>>2;if(!g)v=r;else{ok(u|0,t|0,p|0)|0;v=f[s>>2]|0}p=u+(g<<2)|0;if((v|0)!=(p|0))f[s>>2]=v+(~((v+-4-p|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((p|0)!=(u|0)){g=p-u>>2;u=0;do{p=d+(u<<2)|0;v=f[p>>2]|0;if((v|0)>(b|0))f[p>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}g=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((g|0)!=(u|0)){v=g-u>>2;u=0;do{g=d+(u<<2)|0;p=f[g>>2]|0;if((p|0)>(b|0))f[g>>2]=p+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((p|0)==(u|0))return;d=p-u>>2;u=0;do{p=a+(u<<2)|0;g=f[p>>2]|0;if((g|0)>(b|0))f[p>>2]=g+-1;u=u+1|0}while(u>>>0>>0);return}function dc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=Ka,E=Ka,F=Ka,G=Ka,H=Ka,I=Ka,K=Ka,M=Ka,N=Ka,O=Ka,P=Ka,Q=0,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;t=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;t=q}}else{r=-1;t=-1}q=f[a+52>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=t>>>0)Eo(q);p=c;c=f[p+(t<<2)>>2]|0;if(m>>>0<=r>>>0)Eo(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)v=c;else{if((e|0)>0){v=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;t=0;do{f[m+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;t=X(p,v)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;v=0;do{f[p+(v<<2)>>2]=f[d+(v+t<<2)>>2];v=v+1|0}while((v|0)<(f[r>>2]|0));u=g;return}r=f[a+72>>2]|0;v=X(r,c)|0;w=$(f[d+(v<<2)>>2]|0);x=$(f[d+(v+1<<2)>>2]|0);v=X(r,q)|0;y=$(f[d+(v<<2)>>2]|0);z=$(f[d+(v+1<<2)>>2]|0);if(!(y!=w|z!=x)){v=f[a+68>>2]|0;f[v>>2]=~~y;f[v+4>>2]=~~z;u=g;return}v=a+64|0;d=f[(f[v>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+60|0;r=f[e>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(d<<2)>>2]|0;else A=d;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];rb(r,h,A,j)|0;A=f[(f[v>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[e>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];rb(c,h,B,k)|0;B=f[(f[v>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[e>>2]|0;if(!(b[q+84>>0]|0))C=f[(f[q+68>>2]|0)+(B<<2)>>2]|0;else C=B;f[i>>2]=C;C=b[q+24>>0]|0;f[h>>2]=f[i>>2];rb(q,h,C,l)|0;D=$(n[l>>2]);E=$(n[k>>2]);F=$(D-E);D=$(n[l+4>>2]);G=$(n[k+4>>2]);H=$(D-G);D=$(n[l+8>>2]);I=$(n[k+8>>2]);K=$(D-I);D=$($(n[j>>2])-E);E=$($(n[j+4>>2])-G);G=$($(n[j+8>>2])-I);I=$($($($(F*F)+$(0.0))+$(H*H))+$(K*K));if(I>$(0.0)?1:(f[a+88>>2]|0)<258){M=$($($($($(F*D)+$(0.0))+$(H*E))+$(K*G))/I);N=$(D-$(F*M));F=$(E-$(H*M));H=$(G-$(K*M));O=M;P=$(L($($($(H*H)+$($(F*F)+$($(N*N)+$(0.0))))/I)))}else{O=$(0.0);P=$(0.0)}I=$(y-w);y=$(z-x);z=$(w+$(I*O));w=$(I*P);I=$(x+$(y*O));O=$(y*P);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;P=$(-w);y=$(I+(l?P:w));w=$(-O);P=$(z+(l?O:w));if(((n[s>>2]=P,f[s>>2]|0)&2147483647)>>>0>2139095040)Q=-2147483648;else Q=~~+J(+(+P+.5));l=f[a+68>>2]|0;f[l>>2]=Q;if(((n[s>>2]=y,f[s>>2]|0)&2147483647)>>>0>2139095040)R=-2147483648;else R=~~+J(+(+y+.5));f[l+4>>2]=R;u=g;return}function ec(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=Ka,w=Ka,x=Ka,y=Ka,z=0,A=0,B=0,C=Ka,D=Ka,E=Ka,F=Ka,G=Ka,H=Ka,I=Ka,K=Ka,M=Ka,N=Ka,O=Ka,P=0,Q=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+52>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Eo(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Eo(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)t=o;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+72|0;p=f[q>>2]|0;m=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+m<<2)>>2];t=t+1|0}while((t|0)<(f[q>>2]|0));u=g;return}q=f[a+72>>2]|0;t=X(q,o)|0;v=$(f[d+(t<<2)>>2]|0);w=$(f[d+(t+1<<2)>>2]|0);t=X(q,r)|0;x=$(f[d+(t<<2)>>2]|0);y=$(f[d+(t+1<<2)>>2]|0);if(!(x!=v|y!=w)){t=f[a+68>>2]|0;f[t>>2]=~~x;f[t+4>>2]=~~y;u=g;return}t=a+64|0;d=f[(f[t>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+60|0;q=f[e>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(d<<2)>>2]|0;else z=d;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];rb(q,h,z,j)|0;z=f[(f[t>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[e>>2]|0;if(!(b[o+84>>0]|0))A=f[(f[o+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[o+24>>0]|0;f[h>>2]=f[i>>2];rb(o,h,A,k)|0;A=f[(f[t>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[e>>2]|0;if(!(b[r+84>>0]|0))B=f[(f[r+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[r+24>>0]|0;f[h>>2]=f[i>>2];rb(r,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)?1:(f[a+88>>2]|0)<258){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;O=$(-v);x=$(H+(l?O:v));v=$(-N);O=$(y+(l?N:v));if(((n[s>>2]=O,f[s>>2]|0)&2147483647)>>>0>2139095040)P=-2147483648;else P=~~+J(+(+O+.5));l=f[a+68>>2]|0;f[l>>2]=P;if(((n[s>>2]=x,f[s>>2]|0)&2147483647)>>>0>2139095040)Q=-2147483648;else Q=~~+J(+(+x+.5));f[l+4>>2]=Q;u=g;return}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=k;k=0;w=0;while(1){x=f[(f[v+24>>2]|0)+(w<<2)>>2]|0;if((x|0)==-1){y=v;z=k}else{A=k+1|0;B=f[(f[l>>2]|0)+(((x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else dh(c,g);f[g>>2]=x;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=x;else{B=x+1|0;E=((B>>>0)%3|0|0)==0?x+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=x;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=x}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=k;x=f[s>>2]|0;if((x|0)==(f[t>>2]|0))dh(r,g);else{f[x>>2]=f[g>>2];f[s>>2]=x+4}x=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[x+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=E;E=k;H=A;while(1){I=F+1|0;J=((I>>>0)%3|0|0)==0?F+-2|0:I;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){I=H+1|0;K=f[(f[l>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else dh(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){dh(r,h);M=H;N=I;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=H;N=I;break}}else{M=E;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=M;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;I=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((I|0)==-1)break;J=f[(f[O+12>>2]|0)+(I<<2)>>2]|0;if((J|0)==-1)break;F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=F;if(!((F|0)!=-1?(F|0)!=(f[g>>2]|0):0)){P=O;Q=N;break b}else{E=M;H=N}}f[h>>2]=-1;P=O;Q=N}else{P=x;Q=A}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=x;Q=A}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2>>>0)break;else{v=y;k=z}}u=e;return}function gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;Eo(z)}else{A=a;B=0}while(1){f[j>>2]=f[A+(B<<2)>>2];f[d>>2]=f[j>>2];Ob(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Ul(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Ul(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;E=f[p>>2]|0;if((l|0)==0&(F|0)==0){G=h;H=E}else{J=((E|0)<0)<<31>>31;K=fl(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Li(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=fl(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Li(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=o;H=D?F:0-F|0}f[G>>2]=H;F=Pi(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C;N=a}else{L=D;M=f[m>>2]|0;N=f[o>>2]|0}if((L|0)<=-1){D=(N|0)>-1?N:0-N|0;if((M|0)<0)O=D;else O=(f[s>>2]|0)-D|0;D=(M|0)>-1?M:0-M|0;if((N|0)<0){P=O;Q=D}else{P=O;Q=(f[s>>2]|0)-D|0}}else{D=f[p>>2]|0;P=D+M|0;Q=D+N|0}D=(P|0)==0;a=(Q|0)==0;C=f[s>>2]|0;do if((Q|P|0)!=0?(F=(C|0)==(Q|0),E=(C|0)==(P|0),!(D&F|a&E)):0){if(D?(l=f[p>>2]|0,(l|0)<(Q|0)):0){R=0;S=(l<<1)-Q|0;break}if(E?(E=f[p>>2]|0,(E|0)>(Q|0)):0){R=P;S=(E<<1)-Q|0;break}if(F?(F=f[p>>2]|0,(F|0)>(P|0)):0){R=(F<<1)-P|0;S=Q;break}if(a){F=f[p>>2]|0;R=(F|0)<(P|0)?(F<<1)-P|0:P;S=0}else{R=P;S=Q}}else{R=C;S=C}while(0);f[i>>2]=R;f[r>>2]=S;C=B<<1;a=b+(C<<2)|0;D=c+(C<<2)|0;if((f[t>>2]|0)>0){C=R;F=0;while(1){E=f[v>>2]|0;if((C|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(C|0)<(l|0)?l:C;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;C=f[i+(E<<2)>>2]|0;F=E}if((U|0)>0){F=0;do{C=(f[a+(F<<2)>>2]|0)+(f[T+(F<<2)>>2]|0)|0;E=D+(F<<2)|0;f[E>>2]=C;if((C|0)<=(f[v>>2]|0)){if((C|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+C|0;W=40}}else{V=C-(f[y>>2]|0)|0;W=40}if((W|0)==40){W=0;f[E>>2]=V}F=F+1|0}while((F|0)<(f[t>>2]|0))}}B=B+1|0;if((B|0)>=(n|0)){W=3;break}F=f[g>>2]|0;A=f[F>>2]|0;if((f[F+4>>2]|0)-A>>2>>>0<=B>>>0){z=F;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)Eo(z);return 0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;Eo(z)}else{A=a;B=0}while(1){f[j>>2]=f[A+(B<<2)>>2];f[d>>2]=f[j>>2];Mb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Ul(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Ul(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;E=f[p>>2]|0;if((l|0)==0&(F|0)==0){G=h;H=E}else{J=((E|0)<0)<<31>>31;K=fl(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Li(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=fl(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Li(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=o;H=D?F:0-F|0}f[G>>2]=H;F=Pi(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C;N=a}else{L=D;M=f[m>>2]|0;N=f[o>>2]|0}if((L|0)<=-1){D=(N|0)>-1?N:0-N|0;if((M|0)<0)O=D;else O=(f[s>>2]|0)-D|0;D=(M|0)>-1?M:0-M|0;if((N|0)<0){P=O;Q=D}else{P=O;Q=(f[s>>2]|0)-D|0}}else{D=f[p>>2]|0;P=D+M|0;Q=D+N|0}D=(P|0)==0;a=(Q|0)==0;C=f[s>>2]|0;do if((Q|P|0)!=0?(F=(C|0)==(Q|0),E=(C|0)==(P|0),!(D&F|a&E)):0){if(D?(l=f[p>>2]|0,(l|0)<(Q|0)):0){R=0;S=(l<<1)-Q|0;break}if(E?(E=f[p>>2]|0,(E|0)>(Q|0)):0){R=P;S=(E<<1)-Q|0;break}if(F?(F=f[p>>2]|0,(F|0)>(P|0)):0){R=(F<<1)-P|0;S=Q;break}if(a){F=f[p>>2]|0;R=(F|0)<(P|0)?(F<<1)-P|0:P;S=0}else{R=P;S=Q}}else{R=C;S=C}while(0);f[i>>2]=R;f[r>>2]=S;C=B<<1;a=b+(C<<2)|0;D=c+(C<<2)|0;if((f[t>>2]|0)>0){C=R;F=0;while(1){E=f[v>>2]|0;if((C|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(C|0)<(l|0)?l:C;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;C=f[i+(E<<2)>>2]|0;F=E}if((U|0)>0){F=0;do{C=(f[a+(F<<2)>>2]|0)+(f[T+(F<<2)>>2]|0)|0;E=D+(F<<2)|0;f[E>>2]=C;if((C|0)<=(f[v>>2]|0)){if((C|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+C|0;W=40}}else{V=C-(f[y>>2]|0)|0;W=40}if((W|0)==40){W=0;f[E>>2]=V}F=F+1|0}while((F|0)<(f[t>>2]|0))}}B=B+1|0;if((B|0)>=(n|0)){W=3;break}F=f[g>>2]|0;A=f[F>>2]|0;if((f[F+4>>2]|0)-A>>2>>>0<=B>>>0){z=F;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)Eo(z);return 0}function ic(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>340){f[e>>2]=g+-341;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;n=j;do if((j|0)==(l|0)){o=f[a>>2]|0;p=o;if(i>>>0>o>>>0){q=i;r=((q-p>>2)+1|0)/-2|0;s=i+(r<<2)|0;t=n-q|0;q=t>>2;if(!q)v=i;else{ok(s|0,i|0,t|0)|0;v=f[g>>2]|0}t=s+(q<<2)|0;f[e>>2]=t;f[g>>2]=v+(r<<2);w=t;break}t=m-p>>1;p=(t|0)==0?1:t;if(p>>>0>1073741823){t=ra(8)|0;cn(t,13392);f[t>>2]=4748;va(t|0,1128,101)}t=Yk(p<<2)|0;r=t;q=t+(p>>>2<<2)|0;s=q;x=t+(p<<2)|0;if((i|0)==(j|0)){y=o;z=s}else{o=q;q=i;p=s;do{f[o>>2]=f[q>>2];o=p+4|0;p=o;q=q+4|0}while((q|0)!=(j|0));y=f[a>>2]|0;z=p}f[a>>2]=r;f[g>>2]=s;f[e>>2]=z;f[k>>2]=x;if(!y)w=z;else{lp(y);w=f[e>>2]|0}}else w=j;while(0);f[w>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;w=a+4|0;j=h-(f[w>>2]|0)|0;y=a+12|0;z=f[y>>2]|0;k=z-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;cn(g,13392);f[g>>2]=4748;va(g|0,1128,101)}g=Yk(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=Yk(4092)|0;f[d>>2]=k;cf(c,d);d=f[e>>2]|0;while(1){A=f[w>>2]|0;if((d|0)==(A|0))break;k=d+-4|0;Ze(c,k);d=k}k=A;A=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=A;f[w>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((g|0)!=(d|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(A|0)lp(A);u=b;return}if((z|0)!=(h|0)){h=Yk(4092)|0;f[c>>2]=h;cf(a,c);u=b;return}h=Yk(4092)|0;f[c>>2]=h;Ze(a,c);c=f[w>>2]|0;h=f[c>>2]|0;z=c+4|0;f[w>>2]=z;c=f[e>>2]|0;A=f[y>>2]|0;k=A;g=c;do if((c|0)==(A|0)){j=f[a>>2]|0;d=j;if(z>>>0>j>>>0){m=z;i=((m-d>>2)+1|0)/-2|0;v=z+(i<<2)|0;n=g-m|0;m=n>>2;if(!m)B=z;else{ok(v|0,z|0,n|0)|0;B=f[w>>2]|0}n=v+(m<<2)|0;f[e>>2]=n;f[w>>2]=B+(i<<2);C=n;break}n=k-d>>1;d=(n|0)==0?1:n;if(d>>>0>1073741823){n=ra(8)|0;cn(n,13392);f[n>>2]=4748;va(n|0,1128,101)}n=Yk(d<<2)|0;i=n;m=n+(d>>>2<<2)|0;v=m;l=n+(d<<2)|0;if((z|0)==(c|0)){D=j;E=v}else{j=m;m=z;d=v;do{f[j>>2]=f[m>>2];j=d+4|0;d=j;m=m+4|0}while((m|0)!=(c|0));D=f[a>>2]|0;E=d}f[a>>2]=i;f[w>>2]=v;f[e>>2]=E;f[y>>2]=l;if(!D)C=E;else{lp(D);C=f[e>>2]|0}}else C=c;while(0);f[C>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function jc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2012;i=c;f[a>>2]=i;return}case 2:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2068;i=c;f[a>>2]=i;return}case 4:{c=Yk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2124;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Yk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2180;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Yk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2236;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Yk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2292;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2348;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ym(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function kc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1648;i=c;f[a>>2]=i;return}case 2:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1704;i=c;f[a>>2]=i;return}case 4:{c=Yk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1760;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Yk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1816;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Yk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1872;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Yk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1928;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1984;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ym(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Eo(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=fl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Li(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=fl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Li(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Pi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x>>2]|0;E=f[x+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=B;f[v>>2]=E;Ac(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Eo(y);return 0}function mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=h;h=0;r=0;while(1){s=f[(f[q+24>>2]|0)+(r<<2)>>2]|0;if((s|0)==-1){t=q;v=h}else{w=h+1|0;f[b>>2]=h;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))dh(i,b);else{f[x>>2]=h;f[j>>2]=x+4}f[d>>2]=s;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=s;else{x=s+1|0;z=((x>>>0)%3|0|0)==0?s+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=s;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=s}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];s=f[o>>2]|0;if((s|0)==(f[p>>2]|0))dh(n,d);else{f[s>>2]=f[d>>2];f[o>>2]=s+4}s=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[s+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))dh(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){dh(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=G;I=F;break b}else A=F}f[e>>2]=-1;H=G;I=F}else{H=s;I=w}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=s;I=w}t=H;v=I}r=r+1|0;if(r>>>0>=(f[t+28>>2]|0)-(f[t+24>>2]|0)>>2>>>0)break;else{q=t;h=v}}u=c;return}function nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Eo(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];Mb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=fl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Li(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=fl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Li(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Pi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x>>2]|0;E=f[x+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=B;f[v>>2]=E;Ac(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Eo(y);return 0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Eo(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=fl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Li(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=fl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Li(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Pi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x+4>>2]|0;f[d>>2]=f[x>>2];f[a>>2]=B;f[i>>2]=Q;f[v>>2]=R;td(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Eo(y);return 0}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Eo(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];Mb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=fl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Li(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=fl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Li(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Pi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x+4>>2]|0;f[d>>2]=f[x>>2];f[a>>2]=B;f[i>>2]=Q;f[v>>2]=R;td(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Eo(y);return 0}function qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;vf(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Ul(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Ul(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(w|0)==(Zj(5)|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Ul(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{Ff(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Ul(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=20;break}}v=X(w,i)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Wl(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=z;z=x;x=B;B=C;C=0;while(1){y=Ul(u|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=u;F=z}else{Ff(k+(C<<2)|0,(f[d>>2]|0)+u|0,w|0)|0;y=l;A=Ul(f[y>>2]|0,f[y+4>>2]|0,v|0,0)|0;y=I;G=l;f[G>>2]=A;f[G+4>>2]=y;E=A;F=y}y=C+1|0;if((y|0)==(i|0)){D=20;break a}A=j;u=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0;C=y}}}else if(yh(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Ma[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}sk(k,i,k);H=F;J=1}while(0);if((D|0)==21){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Pa[f[(f[J>>2]|0)+44>>2]&31](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)lp(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;cn(e,13392);f[e>>2]=4748;va(e|0,1128,101)}e=Yk(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)lp(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){o=j;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(m|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=e;x=o;while(1){y=u+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:z&255)|0)){r=x;break c}if(!w?dj(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=x;break c}y=f[u>>2]|0;if(!y){r=u;break c}else{A=u;u=y;x=A}}}if(w){x=e;u=o;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=e;x=o;while(1){w=u+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:y&255)|0)){r=x;break c}y=A?f[w>>2]|0:w;if((f[s>>2]&255)<<24>>24==(b[y>>0]|0)){B=v;C=s;D=y}else{r=x;break c}while(1){B=B+-1|0;C=C+1|0;if(!B)break;D=D+1|0;if((b[C>>0]|0)!=(b[D>>0]|0)){r=x;break c}}y=f[u>>2]|0;if(!y){r=u;break}else{w=u;u=y;x=w}}}while(0);f[d>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}j=f[o>>2]|0;if(!j){E=43;break a}else{g=o;d=o}}f[q>>2]=d;l=f[o>>2]|0;if(!l){E=43;break}else{k=o;m=p;n=o}}if((E|0)==43)return}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+16|0;e=d+12|0;g=d+4|0;h=d+8|0;i=d;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=k;q=0;r=k;while(1){k=(q|0)==1;if(k){s=(r|0)==-1;do if(!s)if(!((r>>>0)%3|0)){t=r+2|0;break}else{t=r+-1|0;break}else t=-1;while(0);f[h>>2]=t;f[e>>2]=f[h>>2];if((kf(a,e)|0)==-1){v=r;break}w=r+1|0;if(s){x=12;break}y=((w>>>0)%3|0|0)==0?r+-2|0:w;f[c>>2]=y;w=y+1|0;if((y|0)==-1){z=r;x=16;break}A=((w>>>0)%3|0|0)==0?y+-2|0:w;if((A|0)==-1){z=r;x=16;break}w=f[(f[(f[m>>2]|0)+12>>2]|0)+(A<<2)>>2]|0;A=w+1|0;if((w|0)==-1){z=r;x=16;break}y=((A>>>0)%3|0|0)==0?w+-2|0:A;f[c>>2]=y;if((y|0)==-1){v=r;break}else{B=0;C=r;D=y;x=18}}else{E=f[g>>2]|0;F=p;G=0;H=r}while(1){if((x|0)==18){x=0;y=(D>>>0)/3|0;f[g>>2]=y;E=y;F=D;G=B;H=C}y=(f[n>>2]|0)+(E>>>5<<2)|0;A=1<<(E&31);w=f[y>>2]|0;if(A&w|0){I=F;J=G;K=H;break}f[y>>2]=w|A;A=f[l>>2]|0;if((A|0)==(f[o>>2]|0))dh(j,g);else{f[A>>2]=f[g>>2];f[l>>2]=A+4}A=G+1|0;if((G|0)>0){do if(!(A&1)){w=k?F:H;if((F|0)!=-1)if(!((F>>>0)%3|0)){L=F+2|0;M=w;break}else{L=F+-1|0;M=w;break}else{L=-1;M=w}}else{w=F+1|0;if((F|0)==-1){L=-1;M=H}else{L=((w>>>0)%3|0|0)==0?F+-2|0:w;M=H}}while(0);f[c>>2]=L;N=L;O=M}else{N=F;O=H}f[i>>2]=N;f[e>>2]=f[i>>2];D=kf(a,e)|0;f[c>>2]=D;if((D|0)==-1){I=-1;J=A;K=O;break}else{B=A;C=O;x=18}}if(!((J&1|0)==0|k^1)){s=f[l>>2]|0;w=f[s+-4>>2]|0;y=(f[n>>2]|0)+(w>>>5<<2)|0;f[y>>2]=f[y>>2]&~(1<<(w&31));f[l>>2]=s+-4}q=q+1|0;if((q|0)>=2){v=K;break}else{p=I;r=K}}if((x|0)==12){f[c>>2]=-1;z=-1;x=16}if((x|0)==16){f[c>>2]=-1;v=z}f[a+44+(b<<2)>>2]=v;v=f[l>>2]|0;l=f[j>>2]|0;j=l;if((v|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=v-l>>2;l=0;do{v=f[j+(l<<2)>>2]|0;a=b+(v>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(v&31));l=l+1|0}while(l>>>0>>0);u=d;return}function tc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;ac(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)lp(f[g>>2]|0);l=b[j+7>>0]|0;if((l&255|0)!=(Ma[f[(f[c>>2]|0)+8>>2]&127](c)|0)){m=Yk(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=13026;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=Yk(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=13077;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&r>>>0>(l<<24>>24==0?3:2)>>>0){l=Yk(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=13100;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}l=(r|(m&255)<<8)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Md(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)lp(f[g>>2]|0)}if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=Yk(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=13123;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}if(!(Ma[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=Yk(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=13157;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}if(Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=Yk(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=13189;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}function uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}On(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];If(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=r;n=a+16|0;while(1){l=f[e+16>>2]|0;if((d|0)<(l|0)){j=f[e>>2]|0;if(!j){x=23;break}else{y=j;z=e}}else{if((l|0)>=(d|0)){x=27;break}A=e+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=l;z=A}}e=y;n=z}if((x|0)==23){B=e;C=e;break}else if((x|0)==26){B=e;C=A;break}else if((x|0)==27){B=e;C=n;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=Yk(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}wd(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Qh(h+4|0,f[k>>2]|0);Qh(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(q|0)==(m|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(dj(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(q|0)==(a|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(dj(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0} +function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4116]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=16504+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[4116]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4118]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=16504+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[4121]|0;k=m>>>3;l=16504+(k<<1<<2)|0;i=1<>2]|0}f[q>>2]=h;f[r+12>>2]=h;f[h+8>>2]=r;f[h+12>>2]=l}f[4118]=n;f[4121]=j;o=e;u=b;return o|0}e=f[4117]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[16768+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=i;v=s}else{h=k;k=i;i=s;while(1){s=(f[h+4>>2]&-8)-d|0;l=s>>>0>>0;n=l?s:k;s=l?h:i;h=f[h+16+(((f[h+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=n;v=s;break}else{k=n;i=s}}}i=v+d|0;if(v>>>0>>0){k=f[v+24>>2]|0;h=f[v+12>>2]|0;do if((h|0)==(v|0)){s=v+20|0;n=f[s>>2]|0;if(!n){l=v+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=n;y=s}while(1){s=x+20|0;n=f[s>>2]|0;if(n|0){x=n;y=s;continue}s=x+16|0;n=f[s>>2]|0;if(!n)break;else{x=n;y=s}}f[y>>2]=0;w=x}else{s=f[v+8>>2]|0;f[s+12>>2]=h;f[h+8>>2]=s;w=h}while(0);do if(k|0){h=f[v+28>>2]|0;s=16768+(h<<2)|0;if((v|0)==(f[s>>2]|0)){f[s>>2]=w;if(!w){f[4117]=e&~(1<>2]|0)!=(v|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=k;h=f[v+16>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[v+20>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}while(0);if(t>>>0<16){k=t+d|0;f[v+4>>2]=k|3;e=v+k+4|0;f[e>>2]=f[e>>2]|1}else{f[v+4>>2]=d|3;f[i+4>>2]=t|1;f[i+t>>2]=t;if(m|0){e=f[4121]|0;k=m>>>3;h=16504+(k<<1<<2)|0;s=1<>2]|0}f[z>>2]=e;f[A+12>>2]=e;f[e+8>>2]=A;f[e+12>>2]=h}f[4118]=t;f[4121]=i}o=v+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){h=a+11|0;e=h&-8;s=f[4117]|0;if(s){k=0-e|0;n=h>>>8;if(n)if(e>>>0>16777215)C=31;else{h=(n+1048320|0)>>>16&8;l=n<>>16&4;j=l<>>16&2;D=14-(n|h|l)+(j<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[16768+(C<<2)>>2]|0;a:do if(!D){E=k;F=0;G=0;H=57}else{l=k;j=0;h=e<<((C|0)==31?0:25-(C>>>1)|0);n=D;I=0;while(1){J=(f[n+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=n;M=n;H=61;break a}else{N=J;O=n}else{N=l;O=I}J=f[n+20>>2]|0;n=f[n+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(n|0)?j:J;J=(n|0)==0;if(J){E=N;F=P;G=O;H=57;break}else{l=N;j=P;h=h<<((J^1)&1);I=O}}}while(0);if((H|0)==57){if((F|0)==0&(G|0)==0){D=2<>>12&16;d=D>>>k;D=d>>>5&8;i=d>>>D;d=i>>>2&4;g=i>>>d;i=g>>>1&2;m=g>>>i;g=m>>>1&1;Q=f[16768+((D|k|d|i|g)+(m>>>g)<<2)>>2]|0;R=0}else{Q=F;R=G}if(!Q){S=E;T=R}else{K=E;L=Q;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;i=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=i;T=g;break}else{K=i;M=g;H=61}}if((T|0)!=0?S>>>0<((f[4118]|0)-e|0)>>>0:0){g=T+e|0;if(T>>>0>=g>>>0){o=0;u=b;return o|0}i=f[T+24>>2]|0;m=f[T+12>>2]|0;do if((m|0)==(T|0)){d=T+20|0;k=f[d>>2]|0;if(!k){D=T+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=k;W=d}while(1){d=V+20|0;k=f[d>>2]|0;if(k|0){V=k;W=d;continue}d=V+16|0;k=f[d>>2]|0;if(!k)break;else{V=k;W=d}}f[W>>2]=0;U=V}else{d=f[T+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(i){m=f[T+28>>2]|0;d=16768+(m<<2)|0;if((T|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=s&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=s;break}}f[U+24>>2]=i;d=f[T+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[T+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=s}else X=s}else X=s;while(0);do if(S>>>0>=16){f[T+4>>2]=e|3;f[g+4>>2]=S|1;f[g+S>>2]=S;s=S>>>3;if(S>>>0<256){i=16504+(s<<1<<2)|0;d=f[4116]|0;m=1<>2]|0}f[Y>>2]=g;f[Z+12>>2]=g;f[g+8>>2]=Z;f[g+12>>2]=i;break}i=S>>>8;if(i)if(S>>>0>16777215)_=31;else{m=(i+1048320|0)>>>16&8;d=i<>>16&4;s=d<>>16&2;k=14-(i|m|d)+(s<>>15)|0;_=S>>>(k+7|0)&1|k<<1}else _=0;k=16768+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4117]=X|d;f[k>>2]=g;f[g+24>>2]=k;f[g+12>>2]=g;f[g+8>>2]=g;break}d=S<<((_|0)==31?0:25-(_>>>1)|0);s=f[k>>2]|0;while(1){if((f[s+4>>2]&-8|0)==(S|0)){H=97;break}$=s+16+(d>>>31<<2)|0;k=f[$>>2]|0;if(!k){H=96;break}else{d=d<<1;s=k}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=s;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=s+8|0;k=f[d>>2]|0;f[k+12>>2]=g;f[d>>2]=g;f[g+8>>2]=k;f[g+12>>2]=s;f[g+24>>2]=0;break}}else{k=S+e|0;f[T+4>>2]=k|3;d=T+k+4|0;f[d>>2]=f[d>>2]|1}while(0);o=T+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);T=f[4118]|0;if(T>>>0>=B>>>0){S=T-B|0;$=f[4121]|0;if(S>>>0>15){_=$+B|0;f[4121]=_;f[4118]=S;f[_+4>>2]=S|1;f[_+S>>2]=S;f[$+4>>2]=B|3}else{f[4118]=0;f[4121]=0;f[$+4>>2]=T|3;S=$+T+4|0;f[S>>2]=f[S>>2]|1}o=$+8|0;u=b;return o|0}$=f[4119]|0;if($>>>0>B>>>0){S=$-B|0;f[4119]=S;T=f[4122]|0;_=T+B|0;f[4122]=_;f[_+4>>2]=S|1;f[T+4>>2]=B|3;o=T+8|0;u=b;return o|0}if(!(f[4234]|0)){f[4236]=4096;f[4235]=4096;f[4237]=-1;f[4238]=-1;f[4239]=0;f[4227]=0;T=c&-16^1431655768;f[c>>2]=T;f[4234]=T;aa=4096}else aa=f[4236]|0;T=B+48|0;c=B+47|0;S=aa+c|0;_=0-aa|0;aa=S&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4226]|0;if(X|0?(Z=f[4224]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4227]&4)){X=f[4122]|0;c:do if(X){Y=16912;while(1){Z=f[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=f[Y+8>>2]|0;if(!Z){H=118;break c}else Y=Z}s=S-$&_;if(s>>>0<2147483647){Z=Kj(s|0)|0;if((Z|0)==((f[Y>>2]|0)+(f[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=s;else{da=Z;ea=s;H=135;break b}else{fa=Z;ga=s;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Kj(0)|0;if((X|0)!=(-1|0)?(e=X,s=f[4235]|0,Z=s+-1|0,U=((Z&e|0)==0?0:(Z+e&0-s)-e|0)+aa|0,e=f[4224]|0,s=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Z=f[4226]|0;if(Z|0?s>>>0<=e>>>0|s>>>0>Z>>>0:0){ca=0;break}Z=Kj(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;H=135;break b}else{fa=Z;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;H=135;break b}Z=f[4236]|0;X=c-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;H=135;break b}if((Kj(X|0)|0)==(-1|0)){Kj(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;H=135;break b}}while(0);f[4227]=f[4227]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Kj(aa|0)|0,aa=Kj(0)|0,ga=aa-ca|0,fa=ga>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;H=135}if((H|0)==135){ha=(f[4224]|0)+ea|0;f[4224]=ha;if(ha>>>0>(f[4225]|0)>>>0)f[4225]=ha;ha=f[4122]|0;do if(ha){ga=16912;while(1){ia=f[ga>>2]|0;ja=ga+4|0;ka=f[ja>>2]|0;if((da|0)==(ia+ka|0)){H=145;break}fa=f[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((H|0)==145?(f[ga+12>>2]&8|0)==0:0)?ha>>>0>>0&ha>>>0>=ia>>>0:0){f[ja>>2]=ka+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(f[4119]|0)+(ea-ca)|0;f[4122]=fa;f[4119]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[4123]=f[4238];break}if(da>>>0<(f[4120]|0)>>>0)f[4120]=da;aa=da+ea|0;fa=16912;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ca=f[fa+8>>2]|0;if(!ca)break;else fa=ca}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=da;ga=fa+4|0;f[ga>>2]=(f[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;c=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+B|0;T=c-ca-B|0;f[ca+4>>2]=B|3;do if((c|0)!=(ha|0)){if((c|0)==(f[4121]|0)){ba=(f[4118]|0)+T|0;f[4118]=ba;f[4121]=ga;f[ga+4>>2]=ba|1;f[ga+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){S=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(S|0)){f[4116]=f[4116]&~(1<<$);break}else{f[S+12>>2]=X;f[X+8>>2]=S;break}}else{S=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Z=U+4|0;s=f[Z>>2]|0;if(!s){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=s;na=Z}while(1){Z=ma+20|0;s=f[Z>>2]|0;if(s|0){ma=s;na=Z;continue}Z=ma+16|0;s=f[Z>>2]|0;if(!s)break;else{ma=s;na=Z}}f[na>>2]=0;la=ma}else{Z=f[c+8>>2]|0;f[Z+12>>2]=X;f[X+8>>2]=Z;la=X}while(0);if(!S)break;X=f[c+28>>2]|0;Z=16768+(X<<2)|0;do if((c|0)!=(f[Z>>2]|0)){f[S+16+(((f[S+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Z>>2]=la;if(la|0)break;f[4117]=f[4117]&~(1<>2]=S;X=c+16|0;Z=f[X>>2]|0;if(Z|0){f[la+16>>2]=Z;f[Z+24>>2]=la}Z=f[X+4>>2]|0;if(!Z)break;f[la+20>>2]=Z;f[Z+24>>2]=la}while(0);oa=c+_|0;pa=_+T|0}else{oa=c;pa=T}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ga+4>>2]=pa|1;f[ga+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=16504+($<<1<<2)|0;Y=f[4116]|0;Z=1<<$;if(!(Y&Z)){f[4116]=Y|Z;qa=ba+8|0;ra=ba}else{Z=ba+8|0;qa=Z;ra=f[Z>>2]|0}f[qa>>2]=ga;f[ra+12>>2]=ga;f[ga+8>>2]=ra;f[ga+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Z=(ba+1048320|0)>>>16&8;Y=ba<>>16&4;X=Y<<$;Y=(X+245760|0)>>>16&2;s=14-($|Z|Y)+(X<>>15)|0;sa=pa>>>(s+7|0)&1|s<<1}while(0);ba=16768+(sa<<2)|0;f[ga+28>>2]=sa;_=ga+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4117]|0;s=1<>2]=ga;f[ga+24>>2]=ba;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}s=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(s>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{s=s<<1;_=ba}}if((H|0)==193){f[ta>>2]=ga;f[ga+24>>2]=_;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}else if((H|0)==194){s=_+8|0;ba=f[s>>2]|0;f[ba+12>>2]=ga;f[s>>2]=ga;f[ga+8>>2]=ba;f[ga+12>>2]=_;f[ga+24>>2]=0;break}}else{ba=(f[4119]|0)+T|0;f[4119]=ba;f[4122]=ga;f[ga+4>>2]=ba|1}while(0);o=ca+8|0;u=b;return o|0}ga=16912;while(1){T=f[ga>>2]|0;if(T>>>0<=ha>>>0?(ua=T+(f[ga+4>>2]|0)|0,ua>>>0>ha>>>0):0)break;ga=f[ga+8>>2]|0}ga=ua+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0>>0?ha:T;T=ga+8|0;c=da+8|0;aa=(c&7|0)==0?0:0-c&7;c=da+aa|0;fa=ea+-40-aa|0;f[4122]=c;f[4119]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[4123]=f[4238];fa=ga+4|0;f[fa>>2]=27;f[T>>2]=f[4228];f[T+4>>2]=f[4229];f[T+8>>2]=f[4230];f[T+12>>2]=f[4231];f[4228]=da;f[4229]=ea;f[4231]=0;f[4230]=T;T=ga+24|0;do{c=T;T=T+4|0;f[T>>2]=7}while((c+8|0)>>>0>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;f[fa>>2]=f[fa>>2]&-2;f[ha+4>>2]=T|1;f[ga>>2]=T;c=T>>>3;if(T>>>0<256){aa=16504+(c<<1<<2)|0;ba=f[4116]|0;s=1<>2]|0}f[va>>2]=ha;f[wa+12>>2]=ha;f[ha+8>>2]=wa;f[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)xa=31;else{s=(aa+1048320|0)>>>16&8;ba=aa<>>16&4;c=ba<>>16&2;Y=14-(aa|s|ba)+(c<>>15)|0;xa=T>>>(Y+7|0)&1|Y<<1}else xa=0;Y=16768+(xa<<2)|0;f[ha+28>>2]=xa;f[ha+20>>2]=0;f[ca>>2]=0;ba=f[4117]|0;c=1<>2]=ha;f[ha+24>>2]=Y;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}c=T<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Y>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(T|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Y=f[ya>>2]|0;if(!Y){H=215;break}else{c=c<<1;ba=Y}}if((H|0)==215){f[ya>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==216){c=ba+8|0;T=f[c>>2]|0;f[T+12>>2]=ha;f[c>>2]=ha;f[ha+8>>2]=T;f[ha+12>>2]=ba;f[ha+24>>2]=0;break}}}else{T=f[4120]|0;if((T|0)==0|da>>>0>>0)f[4120]=da;f[4228]=da;f[4229]=ea;f[4231]=0;f[4125]=f[4234];f[4124]=-1;T=0;do{c=16504+(T<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;T=T+1|0}while((T|0)!=32);T=da+8|0;ba=(T&7|0)==0?0:0-T&7;T=da+ba|0;c=ea+-40-ba|0;f[4122]=T;f[4119]=c;f[T+4>>2]=c|1;f[T+c+4>>2]=40;f[4123]=f[4238]}while(0);ea=f[4119]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4119]=da;ea=f[4122]|0;ha=ea+B|0;f[4122]=ha;f[ha+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=_o()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+232|0;v=a+420|0;w=a+308|0;x=a+416|0;y=a+304|0;z=a+296|0;A=a+300|0;B=a+8|0;C=i+4|0;D=a+388|0;E=k+8|0;F=g+8|0;G=a+36|0;H=a+40|0;I=c+-1|0;J=a+400|0;K=0;b:while(1){L=K+1|0;if((f[v>>2]|0)!=-1?Pi(J)|0:0){M=f[v>>2]|0;f[x>>2]=M;if(!M)N=17;else{O=M;N=32}}else N=6;c:do if((N|0)==6){N=0;do if(!(b[w>>0]|0))P=1;else{M=f[y>>2]|0;Q=f[z>>2]|0;R=f[A>>2]|0;S=Q+(M>>>3)|0;if(S>>>0>>0?(T=h[S>>0]|0,S=M+1|0,f[y>>2]=S,T&1<<(M&7)|0):0){T=Q+(S>>>3)|0;if(T>>>0>>0){U=(h[T>>0]|0)>>>(S&7)&1;T=M+2|0;f[y>>2]=T;V=T;W=U}else{V=S;W=0}S=Q+(V>>>3)|0;if(S>>>0>>0){R=(h[S>>0]|0)>>>(V&7);f[y>>2]=V+1;X=R<<1&2}else X=0;P=(X|W)<<1|1;break}f[x>>2]=0;N=17;break c}while(0);f[x>>2]=P;O=P;N=32}while(0);d:do if((N|0)==17){N=0;R=f[o>>2]|0;if((f[g>>2]|0)==(R|0)){Y=-1;N=189;break a}S=R+-4|0;Q=f[S>>2]|0;U=f[B>>2]|0;T=(Q|0)==-1;M=Q+1|0;if(!T?(Z=((M>>>0)%3|0|0)==0?Q+-2|0:M,(Z|0)!=-1):0)_=f[(f[U>>2]|0)+(Z<<2)>>2]|0;else _=-1;Z=f[U+24>>2]|0;M=f[Z+(_<<2)>>2]|0;aa=M+1|0;if((M|0)==-1)ba=-1;else ba=((aa>>>0)%3|0|0)==0?M+-2|0:aa;aa=K*3|0;M=aa+1|0;ca=f[U+12>>2]|0;f[ca+(Q<<2)>>2]=M;f[ca+(M<<2)>>2]=Q;da=aa+2|0;f[ca+(ba<<2)>>2]=da;f[ca+(da<<2)>>2]=ba;ca=f[U>>2]|0;f[ca+(aa<<2)>>2]=_;U=ba+1|0;if((ba|0)!=-1?(ea=((U>>>0)%3|0|0)==0?ba+-2|0:U,(ea|0)!=-1):0)fa=f[ca+(ea<<2)>>2]|0;else fa=-1;f[ca+(M<<2)>>2]=fa;if(!T?(T=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(T|0)!=-1):0){Q=f[ca+(T<<2)>>2]|0;f[ca+(da<<2)>>2]=Q;if((Q|0)!=-1)f[Z+(Q<<2)>>2]=da}else f[ca+(da<<2)>>2]=-1;da=(f[r>>2]|0)+(_>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(_&31));f[S>>2]=aa;f[l>>2]=f[R+-4>>2];f[e>>2]=f[l>>2];Gc(t,e)}else if((N|0)==32){N=0;R=(O|0)==5;switch(O|0){case 3:case 5:{aa=f[o>>2]|0;if((f[g>>2]|0)==(aa|0)){Y=-1;N=189;break a}S=f[aa+-4>>2]|0;aa=K*3|0;da=R?aa:aa+2|0;ca=(R&1)+aa|0;Q=(R?2:1)+aa|0;R=f[B>>2]|0;Z=f[R+12>>2]|0;f[Z+(Q<<2)>>2]=S;f[Z+(S<<2)>>2]=Q;Z=R+24|0;T=R+28|0;M=f[T>>2]|0;if((M|0)==(f[R+32>>2]|0)){dh(Z,3112);ga=f[T>>2]|0}else{f[M>>2]=-1;R=M+4|0;f[T>>2]=R;ga=R}R=ga-(f[Z>>2]|0)>>2;Z=R+-1|0;T=f[B>>2]|0;M=f[T+24>>2]|0;ea=M;if(((f[T+28>>2]|0)-M>>2|0)>(s|0)){Y=-1;N=189;break a}M=f[T>>2]|0;f[M+(Q<<2)>>2]=Z;if(R|0)f[ea+(Z<<2)>>2]=Q;if((S|0)!=-1){Q=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((Q|0)!=-1){Z=f[M+(Q<<2)>>2]|0;f[M+(da<<2)>>2]=Z;if((Z|0)!=-1)f[ea+(Z<<2)>>2]=da}else f[M+(da<<2)>>2]=-1;Z=S+1|0;ea=((Z>>>0)%3|0|0)==0?S+-2|0:Z;if((ea|0)==-1)ha=-1;else ha=f[M+(ea<<2)>>2]|0}else{f[M+(da<<2)>>2]=-1;ha=-1}f[M+(ca<<2)>>2]=ha;ca=f[o>>2]|0;f[ca+-4>>2]=aa;ia=ca;break}case 1:{ca=f[g>>2]|0;aa=f[o>>2]|0;if((ca|0)==(aa|0)){Y=-1;N=189;break a}M=aa+-4|0;da=f[M>>2]|0;f[o>>2]=M;ea=f[C>>2]|0;e:do if(ea){Z=ea+-1|0;S=(Z&ea|0)==0;if(!S)if(K>>>0>>0)ja=K;else ja=(K>>>0)%(ea>>>0)|0;else ja=Z&K;Q=f[(f[i>>2]|0)+(ja<<2)>>2]|0;if((Q|0)!=0?(R=f[Q>>2]|0,(R|0)!=0):0){f:do if(S){Q=R;while(1){T=f[Q+4>>2]|0;U=(T|0)==(K|0);if(!(U|(T&Z|0)==(ja|0))){ka=ca;la=M;break e}if(U?(f[Q+8>>2]|0)==(K|0):0){ma=Q;break f}Q=f[Q>>2]|0;if(!Q){ka=ca;la=M;break e}}}else{Q=R;while(1){U=f[Q+4>>2]|0;if((U|0)==(K|0)){if((f[Q+8>>2]|0)==(K|0)){ma=Q;break f}}else{if(U>>>0>>0)na=U;else na=(U>>>0)%(ea>>>0)|0;if((na|0)!=(ja|0)){ka=ca;la=M;break e}}Q=f[Q>>2]|0;if(!Q){ka=ca;la=M;break e}}}while(0);R=ma+12|0;if((M|0)==(f[F>>2]|0)){dh(g,R);ka=f[g>>2]|0;la=f[o>>2]|0;break}else{f[M>>2]=f[R>>2];f[o>>2]=aa;ka=ca;la=aa;break}}else{ka=ca;la=M}}else{ka=ca;la=M}while(0);if((ka|0)==(la|0)){Y=-1;N=189;break a}M=f[la+-4>>2]|0;ca=(M|0)==-1;if(!ca?(f[(f[(f[B>>2]|0)+12>>2]|0)+(M<<2)>>2]|0)!=-1:0){Y=-1;N=189;break a}aa=(da|0)==-1;ea=f[B>>2]|0;R=f[ea+12>>2]|0;if(!aa?(f[R+(da<<2)>>2]|0)!=-1:0){Y=-1;N=189;break a}Z=K*3|0;S=Z+2|0;f[R+(M<<2)>>2]=S;f[R+(S<<2)>>2]=M;Q=Z+1|0;f[R+(da<<2)>>2]=Q;f[R+(Q<<2)>>2]=da;if(!ca){ca=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((ca|0)==-1)oa=-1;else oa=f[(f[ea>>2]|0)+(ca<<2)>>2]|0;ca=f[ea>>2]|0;f[ca+(Z<<2)>>2]=oa;U=M+1|0;T=((U>>>0)%3|0|0)==0?M+-2|0:U;if((T|0)==-1){pa=ca;qa=ea;ra=-1;sa=oa}else{pa=ca;qa=ea;ra=f[ca+(T<<2)>>2]|0;sa=oa}}else{T=f[ea>>2]|0;f[T+(Z<<2)>>2]=-1;pa=T;qa=ea;ra=-1;sa=-1}f[pa+(Q<<2)>>2]=ra;if(!aa){aa=(((da>>>0)%3|0|0)==0?2:-1)+da|0;if((aa|0)!=-1){Q=f[pa+(aa<<2)>>2]|0;f[pa+(S<<2)>>2]=Q;if((Q|0)!=-1)f[(f[ea+24>>2]|0)+(Q<<2)>>2]=S}else f[pa+(S<<2)>>2]=-1;Q=da+1|0;aa=((Q>>>0)%3|0|0)==0?da+-2|0:Q;if((aa|0)==-1){ta=-1;ua=-1}else{ta=aa;ua=f[pa+(aa<<2)>>2]|0}}else{f[pa+(S<<2)>>2]=-1;ta=-1;ua=-1}f[e>>2]=ua;S=f[D>>2]|0;aa=S+(sa<<2)|0;f[aa>>2]=(f[aa>>2]|0)+(f[S+(ua<<2)>>2]|0);S=f[ea+24>>2]|0;if((sa|0)!=-1)f[S+(sa<<2)>>2]=f[S+(f[e>>2]<<2)>>2];g:do if((ta|0)!=-1){ea=f[qa>>2]|0;aa=ta;do{f[ea+(aa<<2)>>2]=sa;Q=aa+1|0;T=((Q>>>0)%3|0|0)==0?aa+-2|0:Q;if((T|0)==-1)break g;Q=f[R+(T<<2)>>2]|0;T=Q+1|0;if((Q|0)==-1)break g;aa=((T>>>0)%3|0|0)==0?Q+-2|0:T}while((aa|0)!=-1)}while(0);f[S+(f[e>>2]<<2)>>2]=-1;do if(q){R=f[p>>2]|0;if((R|0)==(f[E>>2]|0)){dh(k,e);va=f[o>>2]|0;break}else{f[R>>2]=f[e>>2];f[p>>2]=R+4;va=la;break}}else va=la;while(0);f[va+-4>>2]=Z;f[l>>2]=f[va+-4>>2];f[e>>2]=f[l>>2];Gc(t,e);break d;break}case 7:{f[e>>2]=K*3;S=f[B>>2]|0;R=S+24|0;da=S+28|0;aa=f[da>>2]|0;if((aa|0)==(f[S+32>>2]|0)){dh(R,3112);wa=f[da>>2]|0}else{f[aa>>2]=-1;S=aa+4|0;f[da>>2]=S;wa=S}S=wa-(f[R>>2]|0)>>2;R=S+-1|0;da=f[B>>2]|0;aa=f[e>>2]|0;ea=f[da>>2]|0;f[ea+(aa<<2)>>2]=R;T=da+24|0;Q=da+28|0;ca=f[Q>>2]|0;if((ca|0)==(f[da+32>>2]|0)){dh(T,3112);xa=f[Q>>2]|0;ya=f[da>>2]|0}else{f[ca>>2]=-1;da=ca+4|0;f[Q>>2]=da;xa=da;ya=ea}f[ya+(aa+1<<2)>>2]=(xa-(f[T>>2]|0)>>2)+-1;T=f[B>>2]|0;aa=(f[e>>2]|0)+2|0;ea=T+24|0;da=T+28|0;Q=f[da>>2]|0;if((Q|0)==(f[T+32>>2]|0)){dh(ea,3112);za=f[da>>2]|0}else{f[Q>>2]=-1;ca=Q+4|0;f[da>>2]=ca;za=ca}f[(f[T>>2]|0)+(aa<<2)>>2]=(za-(f[ea>>2]|0)>>2)+-1;ea=f[B>>2]|0;aa=f[ea+24>>2]|0;T=aa;if(((f[ea+28>>2]|0)-aa>>2|0)>(s|0))break b;aa=f[e>>2]|0;if(S){f[T+(R<<2)>>2]=aa;if((S|0)!=-1){f[T+(S<<2)>>2]=(f[e>>2]|0)+1;R=S+1|0;if((R|0)!=-1){Aa=R;N=116}}else{Aa=0;N=116}}else{f[T+(S<<2)>>2]=aa+1;Aa=1;N=116}if((N|0)==116){N=0;f[T+(Aa<<2)>>2]=(f[e>>2]|0)+2}T=f[o>>2]|0;if((T|0)==(f[F>>2]|0)){dh(g,e);Ba=f[o>>2]|0}else{f[T>>2]=f[e>>2];aa=T+4|0;f[o>>2]=aa;Ba=aa}ia=Ba;break}default:{Y=-1;N=189;break a}}f[l>>2]=f[ia+-4>>2];f[e>>2]=f[l>>2];Gc(t,e);aa=c-K+-1|0;T=f[H>>2]|0;if((T|0)!=(f[G>>2]|0)){S=T;do{T=S;R=f[T+-8>>2]|0;if(R>>>0>aa>>>0){Y=-1;N=189;break a}if((R|0)!=(aa|0))break d;R=b[T+-4>>0]|0;ea=f[T+-12>>2]|0;f[H>>2]=T+-12;if((ea|0)<0){Y=-1;N=189;break a}T=f[(f[o>>2]|0)+-4>>2]|0;ca=(T|0)==-1;do if(!(R&1))if(!ca)if(!((T>>>0)%3|0)){Ca=T+2|0;break}else{Ca=T+-1|0;break}else Ca=-1;else{da=T+1|0;if(ca)Ca=-1;else Ca=((da>>>0)%3|0|0)==0?T+-2|0:da}while(0);f[e>>2]=I-ea;T=Tc(i,e)|0;f[T>>2]=Ca;S=f[H>>2]|0}while((S|0)!=(f[G>>2]|0))}}while(0);if((L|0)<(c|0))K=L;else{Da=B;Ea=L;N=135;break a}}Y=-1;N=189}else{Da=a+8|0;Ea=0;N=135}while(0);h:do if((N|0)==135){c=f[Da>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){Ca=f[o>>2]|0;do if((Ca|0)!=(f[g>>2]|0)){l=a+270|0;ia=a+364|0;Ba=a+360|0;Aa=a+352|0;za=a+356|0;xa=a+60|0;ya=a+64|0;wa=a+68|0;va=a+76|0;la=a+80|0;q=a+72|0;sa=a+312|0;ta=Ca;qa=Ea;i:while(1){ua=ta;f[e>>2]=f[ua+-4>>2];f[o>>2]=ua+-4;if((j[l>>1]|0)<514)if(b[ia>>0]|0){ua=f[Ba>>2]|0;pa=(f[Aa>>2]|0)+(ua>>>3)|0;if(pa>>>0<(f[za>>2]|0)>>>0){ra=(h[pa>>0]|0)>>>(ua&7)&1;f[Ba>>2]=ua+1;Fa=ra;N=143}else N=166}else N=144;else{Fa=(Pi(sa)|0)&1;N=143}if((N|0)==143){N=0;if(!Fa)N=166;else N=144}do if((N|0)==144){N=0;ra=f[Da>>2]|0;ua=f[ra>>2]|0;pa=ua;if((qa|0)>=(((f[ra+4>>2]|0)-ua>>2>>>0)/3|0|0)){N=174;break i}ua=f[e>>2]|0;oa=ua+1|0;if((ua|0)!=-1?(ka=((oa>>>0)%3|0|0)==0?ua+-2|0:oa,(ka|0)!=-1):0)Ga=f[pa+(ka<<2)>>2]|0;else Ga=-1;ka=f[ra+24>>2]|0;oa=f[ka+(Ga<<2)>>2]|0;ma=oa+1|0;if((oa|0)!=-1?(ja=((ma>>>0)%3|0|0)==0?oa+-2|0:ma,ma=ja+1|0,(ja|0)!=-1):0){oa=((ma>>>0)%3|0|0)==0?ja+-2|0:ma;if((oa|0)==-1){Ha=ja;Ia=-1}else{Ha=ja;Ia=f[pa+(oa<<2)>>2]|0}}else{Ha=-1;Ia=-1}oa=f[ka+(Ia<<2)>>2]|0;ka=oa+1|0;if((oa|0)!=-1?(ja=((ka>>>0)%3|0|0)==0?oa+-2|0:ka,ka=ja+1|0,(ja|0)!=-1):0){oa=((ka>>>0)%3|0|0)==0?ja+-2|0:ka;if((oa|0)==-1){Ja=ja;Ka=-1}else{Ja=ja;Ka=f[pa+(oa<<2)>>2]|0}}else{Ja=-1;Ka=-1}oa=qa*3|0;f[m>>2]=oa;ja=f[ra+12>>2]|0;f[ja+(oa<<2)>>2]=ua;f[ja+(ua<<2)>>2]=oa;oa=(f[m>>2]|0)+1|0;f[ja+(oa<<2)>>2]=Ha;f[ja+(Ha<<2)>>2]=oa;oa=(f[m>>2]|0)+2|0;f[ja+(oa<<2)>>2]=Ja;f[ja+(Ja<<2)>>2]=oa;oa=f[m>>2]|0;ja=pa+(oa<<2)|0;f[ja>>2]=Ia;f[pa+(oa+1<<2)>>2]=Ka;f[pa+(oa+2<<2)>>2]=Ga;if((oa|0)==-1)La=-1;else La=f[ja>>2]|0;ja=f[r>>2]|0;oa=ja+(La>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(La&31));oa=(f[m>>2]|0)+1|0;if((oa|0)==-1)Ma=-1;else Ma=f[pa+(oa<<2)>>2]|0;oa=ja+(Ma>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Ma&31));oa=(f[m>>2]|0)+2|0;if((oa|0)==-1)Na=-1;else Na=f[pa+(oa<<2)>>2]|0;oa=ja+(Na>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Na&31));oa=qa+1|0;ja=f[ya>>2]|0;pa=f[wa>>2]|0;if((ja|0)==(pa<<5|0)){if((ja+1|0)<0){N=158;break i}ua=pa<<6;pa=ja+32&-32;Jg(xa,ja>>>0<1073741823?(ua>>>0>>0?pa:ua):2147483647);Oa=f[ya>>2]|0}else Oa=ja;f[ya>>2]=Oa+1;ja=(f[xa>>2]|0)+(Oa>>>5<<2)|0;f[ja>>2]=f[ja>>2]|1<<(Oa&31);ja=f[va>>2]|0;if((ja|0)==(f[la>>2]|0))dh(q,m);else{f[ja>>2]=f[m>>2];f[va>>2]=ja+4}Pa=oa}else if((N|0)==166){N=0;oa=f[ya>>2]|0;ja=f[wa>>2]|0;if((oa|0)==(ja<<5|0)){if((oa+1|0)<0){N=168;break i}ua=ja<<6;ja=oa+32&-32;Jg(xa,oa>>>0<1073741823?(ua>>>0>>0?ja:ua):2147483647);Qa=f[ya>>2]|0}else Qa=oa;f[ya>>2]=Qa+1;oa=(f[xa>>2]|0)+(Qa>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Qa&31));oa=f[va>>2]|0;if((oa|0)==(f[la>>2]|0)){dh(q,e);Pa=qa;break}else{f[oa>>2]=f[e>>2];f[va>>2]=oa+4;Pa=qa;break}}while(0);ta=f[o>>2]|0;if((ta|0)==(f[g>>2]|0)){N=175;break}else qa=Pa}if((N|0)==158)Eo(xa);else if((N|0)==168)Eo(xa);else if((N|0)==174){Y=-1;N=189;break h}else if((N|0)==175){Ra=f[Da>>2]|0;Sa=Pa;break}}else{Ra=c;Sa=Ea}while(0);if((Sa|0)==(((f[Ra+4>>2]|0)-(f[Ra>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ra+28>>2]|0)-(f[Ra+24>>2]|0)>>2;Ca=f[k>>2]|0;qa=f[p>>2]|0;if((Ca|0)==(qa|0)){Ta=Ca;Ua=c}else{ta=e+4|0;va=e+8|0;q=e+12|0;la=Ra;ya=Ca;Ca=c;while(1){c=f[ya>>2]|0;wa=Ca+-1|0;sa=f[la+24>>2]|0;if((f[sa+(wa<<2)>>2]|0)==-1){Ba=Ca;while(1){za=Ba+-1|0;Aa=Ba+-2|0;if((f[sa+(Aa<<2)>>2]|0)==-1)Ba=za;else{Va=za;Wa=Aa;break}}}else{Va=Ca;Wa=wa}if(Wa>>>0>>0){Xa=la;Ya=Va}else{f[e>>2]=la;Ba=f[sa+(Wa<<2)>>2]|0;f[ta>>2]=Ba;f[va>>2]=Ba;b[q>>0]=1;if((Ba|0)==-1)Za=la;else{xa=la;Aa=Ba;while(1){f[(f[xa>>2]|0)+(Aa<<2)>>2]=c;fg(e);Aa=f[va>>2]|0;Ba=f[Da>>2]|0;if((Aa|0)==-1){Za=Ba;break}else xa=Ba}}xa=f[Za+24>>2]|0;if((c|0)==-1)_a=xa+(Wa<<2)|0;else{Aa=xa+(Wa<<2)|0;f[xa+(c<<2)>>2]=f[Aa>>2];_a=Aa}f[_a>>2]=-1;Aa=f[r>>2]|0;xa=Aa+(Wa>>>5<<2)|0;sa=1<<(Wa&31);wa=Aa+(c>>>5<<2)|0;Aa=1<<(c&31);Ba=f[wa>>2]|0;f[wa>>2]=f[xa>>2]&sa|0?Ba|Aa:Ba&~Aa;f[xa>>2]=f[xa>>2]&~sa;Xa=Za;Ya=Va+-1|0}ya=ya+4|0;if((ya|0)==(qa|0)){Y=Ya;N=189;break}else{la=Xa;Ca=Ya}}}}else{Y=-1;N=189}}else{Y=-1;N=189}}while(0);if((N|0)==189){Ta=f[k>>2]|0;Ua=Y}if(Ta|0){Y=f[p>>2]|0;if((Y|0)!=(Ta|0))f[p>>2]=Y+(~((Y+-4-Ta|0)>>>2)<<2);lp(Ta)}Ta=f[i+8>>2]|0;if(Ta|0){Y=Ta;do{Ta=Y;Y=f[Y>>2]|0;lp(Ta)}while((Y|0)!=0)}Y=f[i>>2]|0;f[i>>2]=0;if(Y|0)lp(Y);Y=f[g>>2]|0;if(!Y){u=d;return Ua|0}g=f[o>>2]|0;if((g|0)!=(Y|0))f[o>>2]=g+(~((g+-4-Y|0)>>>2)<<2);lp(Y);u=d;return Ua|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+232|0;v=a+8|0;w=a+36|0;x=a+40|0;y=c+-1|0;z=i+4|0;A=a+388|0;B=k+8|0;C=g+8|0;D=0;b:while(1){E=D+1|0;F=zf(t)|0;c:do if(F){G=(F|0)==5;switch(F|0){case 3:case 5:{H=f[o>>2]|0;if((f[g>>2]|0)==(H|0)){I=-1;J=177;break a}K=f[H+-4>>2]|0;H=D*3|0;L=G?H:H+2|0;M=(G&1)+H|0;N=(G?2:1)+H|0;G=f[v>>2]|0;O=f[G+12>>2]|0;f[O+(N<<2)>>2]=K;f[O+(K<<2)>>2]=N;O=G+24|0;P=G+28|0;Q=f[P>>2]|0;if((Q|0)==(f[G+32>>2]|0)){dh(O,3112);R=f[P>>2]|0}else{f[Q>>2]=-1;G=Q+4|0;f[P>>2]=G;R=G}G=R-(f[O>>2]|0)>>2;O=G+-1|0;P=f[v>>2]|0;Q=f[P+24>>2]|0;S=Q;if(((f[P+28>>2]|0)-Q>>2|0)>(s|0)){I=-1;J=177;break a}Q=f[P>>2]|0;f[Q+(N<<2)>>2]=O;if(G|0)f[S+(O<<2)>>2]=N;if((K|0)!=-1){N=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((N|0)!=-1){O=f[Q+(N<<2)>>2]|0;f[Q+(L<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=L}else f[Q+(L<<2)>>2]=-1;O=K+1|0;S=((O>>>0)%3|0|0)==0?K+-2|0:O;if((S|0)==-1)T=-1;else T=f[Q+(S<<2)>>2]|0}else{f[Q+(L<<2)>>2]=-1;T=-1}f[Q+(M<<2)>>2]=T;M=f[o>>2]|0;f[M+-4>>2]=H;U=M;break}case 1:{M=f[g>>2]|0;H=f[o>>2]|0;if((M|0)==(H|0)){I=-1;J=177;break a}Q=H+-4|0;L=f[Q>>2]|0;f[o>>2]=Q;S=f[z>>2]|0;d:do if(S){O=S+-1|0;K=(O&S|0)==0;if(!K)if(D>>>0>>0)V=D;else V=(D>>>0)%(S>>>0)|0;else V=O&D;N=f[(f[i>>2]|0)+(V<<2)>>2]|0;if((N|0)!=0?(G=f[N>>2]|0,(G|0)!=0):0){e:do if(K){N=G;while(1){P=f[N+4>>2]|0;W=(P|0)==(D|0);if(!(W|(P&O|0)==(V|0))){X=M;Y=Q;break d}if(W?(f[N+8>>2]|0)==(D|0):0){Z=N;break e}N=f[N>>2]|0;if(!N){X=M;Y=Q;break d}}}else{N=G;while(1){W=f[N+4>>2]|0;if((W|0)==(D|0)){if((f[N+8>>2]|0)==(D|0)){Z=N;break e}}else{if(W>>>0>>0)_=W;else _=(W>>>0)%(S>>>0)|0;if((_|0)!=(V|0)){X=M;Y=Q;break d}}N=f[N>>2]|0;if(!N){X=M;Y=Q;break d}}}while(0);G=Z+12|0;if((Q|0)==(f[C>>2]|0)){dh(g,G);X=f[g>>2]|0;Y=f[o>>2]|0;break}else{f[Q>>2]=f[G>>2];f[o>>2]=H;X=M;Y=H;break}}else{X=M;Y=Q}}else{X=M;Y=Q}while(0);if((X|0)==(Y|0)){I=-1;J=177;break a}Q=f[Y+-4>>2]|0;M=(Q|0)==-1;if(!M?(f[(f[(f[v>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0)!=-1:0){I=-1;J=177;break a}H=(L|0)==-1;S=f[v>>2]|0;G=f[S+12>>2]|0;if(!H?(f[G+(L<<2)>>2]|0)!=-1:0){I=-1;J=177;break a}O=D*3|0;K=O+2|0;f[G+(Q<<2)>>2]=K;f[G+(K<<2)>>2]=Q;N=O+1|0;f[G+(L<<2)>>2]=N;f[G+(N<<2)>>2]=L;if(!M){M=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((M|0)==-1)aa=-1;else aa=f[(f[S>>2]|0)+(M<<2)>>2]|0;M=f[S>>2]|0;f[M+(O<<2)>>2]=aa;W=Q+1|0;P=((W>>>0)%3|0|0)==0?Q+-2|0:W;if((P|0)==-1){ba=M;ca=S;da=-1;ea=aa}else{ba=M;ca=S;da=f[M+(P<<2)>>2]|0;ea=aa}}else{P=f[S>>2]|0;f[P+(O<<2)>>2]=-1;ba=P;ca=S;da=-1;ea=-1}f[ba+(N<<2)>>2]=da;if(!H){H=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((H|0)!=-1){N=f[ba+(H<<2)>>2]|0;f[ba+(K<<2)>>2]=N;if((N|0)!=-1)f[(f[S+24>>2]|0)+(N<<2)>>2]=K}else f[ba+(K<<2)>>2]=-1;N=L+1|0;H=((N>>>0)%3|0|0)==0?L+-2|0:N;if((H|0)==-1){fa=-1;ga=-1}else{fa=H;ga=f[ba+(H<<2)>>2]|0}}else{f[ba+(K<<2)>>2]=-1;fa=-1;ga=-1}f[e>>2]=ga;K=f[A>>2]|0;H=K+(ea<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[K+(ga<<2)>>2]|0);K=f[S+24>>2]|0;if((ea|0)!=-1)f[K+(ea<<2)>>2]=f[K+(f[e>>2]<<2)>>2];f:do if((fa|0)!=-1){S=f[ca>>2]|0;H=fa;do{f[S+(H<<2)>>2]=ea;N=H+1|0;P=((N>>>0)%3|0|0)==0?H+-2|0:N;if((P|0)==-1)break f;N=f[G+(P<<2)>>2]|0;P=N+1|0;if((N|0)==-1)break f;H=((P>>>0)%3|0|0)==0?N+-2|0:P}while((H|0)!=-1)}while(0);f[K+(f[e>>2]<<2)>>2]=-1;do if(q){G=f[p>>2]|0;if((G|0)==(f[B>>2]|0)){dh(k,e);ha=f[o>>2]|0;break}else{f[G>>2]=f[e>>2];f[p>>2]=G+4;ha=Y;break}}else ha=Y;while(0);f[ha+-4>>2]=O;f[l>>2]=f[ha+-4>>2];f[e>>2]=f[l>>2];Pc(t,e);break c;break}case 7:{f[e>>2]=D*3;K=f[v>>2]|0;G=K+24|0;L=K+28|0;H=f[L>>2]|0;if((H|0)==(f[K+32>>2]|0)){dh(G,3112);ia=f[L>>2]|0}else{f[H>>2]=-1;K=H+4|0;f[L>>2]=K;ia=K}K=ia-(f[G>>2]|0)>>2;G=K+-1|0;L=f[v>>2]|0;H=f[e>>2]|0;S=f[L>>2]|0;f[S+(H<<2)>>2]=G;P=L+24|0;N=L+28|0;M=f[N>>2]|0;if((M|0)==(f[L+32>>2]|0)){dh(P,3112);ja=f[N>>2]|0;ka=f[L>>2]|0}else{f[M>>2]=-1;L=M+4|0;f[N>>2]=L;ja=L;ka=S}f[ka+(H+1<<2)>>2]=(ja-(f[P>>2]|0)>>2)+-1;P=f[v>>2]|0;H=(f[e>>2]|0)+2|0;S=P+24|0;L=P+28|0;N=f[L>>2]|0;if((N|0)==(f[P+32>>2]|0)){dh(S,3112);la=f[L>>2]|0}else{f[N>>2]=-1;M=N+4|0;f[L>>2]=M;la=M}f[(f[P>>2]|0)+(H<<2)>>2]=(la-(f[S>>2]|0)>>2)+-1;S=f[v>>2]|0;H=f[S+24>>2]|0;P=H;if(((f[S+28>>2]|0)-H>>2|0)>(s|0))break b;H=f[e>>2]|0;if(K){f[P+(G<<2)>>2]=H;if((K|0)!=-1){f[P+(K<<2)>>2]=(f[e>>2]|0)+1;G=K+1|0;if((G|0)!=-1){ma=G;J=104}}else{ma=0;J=104}}else{f[P+(K<<2)>>2]=H+1;ma=1;J=104}if((J|0)==104){J=0;f[P+(ma<<2)>>2]=(f[e>>2]|0)+2}P=f[o>>2]|0;if((P|0)==(f[C>>2]|0)){dh(g,e);na=f[o>>2]|0}else{f[P>>2]=f[e>>2];H=P+4|0;f[o>>2]=H;na=H}U=na;break}default:{I=-1;J=177;break a}}f[l>>2]=f[U+-4>>2];f[e>>2]=f[l>>2];Pc(t,e);H=c-D+-1|0;P=f[x>>2]|0;if((P|0)!=(f[w>>2]|0)){K=P;do{P=K;G=f[P+-8>>2]|0;if(G>>>0>H>>>0){I=-1;J=177;break a}if((G|0)!=(H|0))break c;G=b[P+-4>>0]|0;S=f[P+-12>>2]|0;f[x>>2]=P+-12;if((S|0)<0){I=-1;J=177;break a}P=f[(f[o>>2]|0)+-4>>2]|0;M=(P|0)==-1;do if(!(G&1))if(!M)if(!((P>>>0)%3|0)){oa=P+2|0;break}else{oa=P+-1|0;break}else oa=-1;else{L=P+1|0;if(M)oa=-1;else oa=((L>>>0)%3|0|0)==0?P+-2|0:L}while(0);f[e>>2]=y-S;P=Tc(i,e)|0;f[P>>2]=oa;K=f[x>>2]|0}while((K|0)!=(f[w>>2]|0))}}else{K=f[o>>2]|0;if((f[g>>2]|0)==(K|0)){I=-1;J=177;break a}H=K+-4|0;O=f[H>>2]|0;P=f[v>>2]|0;M=(O|0)==-1;G=O+1|0;if(!M?(L=((G>>>0)%3|0|0)==0?O+-2|0:G,(L|0)!=-1):0)pa=f[(f[P>>2]|0)+(L<<2)>>2]|0;else pa=-1;L=f[P+24>>2]|0;G=f[L+(pa<<2)>>2]|0;N=G+1|0;if((G|0)==-1)qa=-1;else qa=((N>>>0)%3|0|0)==0?G+-2|0:N;N=D*3|0;G=N+1|0;W=f[P+12>>2]|0;f[W+(O<<2)>>2]=G;f[W+(G<<2)>>2]=O;Q=N+2|0;f[W+(qa<<2)>>2]=Q;f[W+(Q<<2)>>2]=qa;W=f[P>>2]|0;f[W+(N<<2)>>2]=pa;P=qa+1|0;if((qa|0)!=-1?(ra=((P>>>0)%3|0|0)==0?qa+-2|0:P,(ra|0)!=-1):0)sa=f[W+(ra<<2)>>2]|0;else sa=-1;f[W+(G<<2)>>2]=sa;if(!M?(M=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(M|0)!=-1):0){O=f[W+(M<<2)>>2]|0;f[W+(Q<<2)>>2]=O;if((O|0)!=-1)f[L+(O<<2)>>2]=Q}else f[W+(Q<<2)>>2]=-1;Q=(f[r>>2]|0)+(pa>>>5<<2)|0;f[Q>>2]=f[Q>>2]&~(1<<(pa&31));f[H>>2]=N;f[l>>2]=f[K+-4>>2];f[e>>2]=f[l>>2];Pc(t,e)}while(0);if((E|0)<(c|0))D=E;else{ta=v;ua=E;J=123;break a}}I=-1;J=177}else{ta=a+8|0;ua=0;J=123}while(0);g:do if((J|0)==123){c=f[ta>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){l=f[o>>2]|0;do if((l|0)!=(f[g>>2]|0)){pa=a+270|0;sa=a+364|0;qa=a+360|0;oa=a+352|0;U=a+356|0;na=a+60|0;ma=a+64|0;la=a+68|0;ja=a+76|0;ka=a+80|0;ia=a+72|0;ha=a+312|0;Y=l;q=ua;h:while(1){ea=Y;f[e>>2]=f[ea+-4>>2];f[o>>2]=ea+-4;if((j[pa>>1]|0)<514)if(b[sa>>0]|0){ea=f[qa>>2]|0;fa=(f[oa>>2]|0)+(ea>>>3)|0;if(fa>>>0<(f[U>>2]|0)>>>0){ca=(h[fa>>0]|0)>>>(ea&7)&1;f[qa>>2]=ea+1;va=ca;J=131}else J=154}else J=132;else{va=(Pi(ha)|0)&1;J=131}if((J|0)==131){J=0;if(!va)J=154;else J=132}do if((J|0)==132){J=0;ca=f[ta>>2]|0;ea=f[ca>>2]|0;fa=ea;if((q|0)>=(((f[ca+4>>2]|0)-ea>>2>>>0)/3|0|0)){J=162;break h}ea=f[e>>2]|0;ga=ea+1|0;if((ea|0)!=-1?(ba=((ga>>>0)%3|0|0)==0?ea+-2|0:ga,(ba|0)!=-1):0)wa=f[fa+(ba<<2)>>2]|0;else wa=-1;ba=f[ca+24>>2]|0;ga=f[ba+(wa<<2)>>2]|0;da=ga+1|0;if((ga|0)!=-1?(aa=((da>>>0)%3|0|0)==0?ga+-2|0:da,da=aa+1|0,(aa|0)!=-1):0){ga=((da>>>0)%3|0|0)==0?aa+-2|0:da;if((ga|0)==-1){xa=aa;ya=-1}else{xa=aa;ya=f[fa+(ga<<2)>>2]|0}}else{xa=-1;ya=-1}ga=f[ba+(ya<<2)>>2]|0;ba=ga+1|0;if((ga|0)!=-1?(aa=((ba>>>0)%3|0|0)==0?ga+-2|0:ba,ba=aa+1|0,(aa|0)!=-1):0){ga=((ba>>>0)%3|0|0)==0?aa+-2|0:ba;if((ga|0)==-1){za=aa;Aa=-1}else{za=aa;Aa=f[fa+(ga<<2)>>2]|0}}else{za=-1;Aa=-1}ga=q*3|0;f[m>>2]=ga;aa=f[ca+12>>2]|0;f[aa+(ga<<2)>>2]=ea;f[aa+(ea<<2)>>2]=ga;ga=(f[m>>2]|0)+1|0;f[aa+(ga<<2)>>2]=xa;f[aa+(xa<<2)>>2]=ga;ga=(f[m>>2]|0)+2|0;f[aa+(ga<<2)>>2]=za;f[aa+(za<<2)>>2]=ga;ga=f[m>>2]|0;aa=fa+(ga<<2)|0;f[aa>>2]=ya;f[fa+(ga+1<<2)>>2]=Aa;f[fa+(ga+2<<2)>>2]=wa;if((ga|0)==-1)Ba=-1;else Ba=f[aa>>2]|0;aa=f[r>>2]|0;ga=aa+(Ba>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Ba&31));ga=(f[m>>2]|0)+1|0;if((ga|0)==-1)Ca=-1;else Ca=f[fa+(ga<<2)>>2]|0;ga=aa+(Ca>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Ca&31));ga=(f[m>>2]|0)+2|0;if((ga|0)==-1)Da=-1;else Da=f[fa+(ga<<2)>>2]|0;ga=aa+(Da>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Da&31));ga=q+1|0;aa=f[ma>>2]|0;fa=f[la>>2]|0;if((aa|0)==(fa<<5|0)){if((aa+1|0)<0){J=146;break h}ea=fa<<6;fa=aa+32&-32;Jg(na,aa>>>0<1073741823?(ea>>>0>>0?fa:ea):2147483647);Ea=f[ma>>2]|0}else Ea=aa;f[ma>>2]=Ea+1;aa=(f[na>>2]|0)+(Ea>>>5<<2)|0;f[aa>>2]=f[aa>>2]|1<<(Ea&31);aa=f[ja>>2]|0;if((aa|0)==(f[ka>>2]|0))dh(ia,m);else{f[aa>>2]=f[m>>2];f[ja>>2]=aa+4}Fa=ga}else if((J|0)==154){J=0;ga=f[ma>>2]|0;aa=f[la>>2]|0;if((ga|0)==(aa<<5|0)){if((ga+1|0)<0){J=156;break h}ea=aa<<6;aa=ga+32&-32;Jg(na,ga>>>0<1073741823?(ea>>>0>>0?aa:ea):2147483647);Ga=f[ma>>2]|0}else Ga=ga;f[ma>>2]=Ga+1;ga=(f[na>>2]|0)+(Ga>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Ga&31));ga=f[ja>>2]|0;if((ga|0)==(f[ka>>2]|0)){dh(ia,e);Fa=q;break}else{f[ga>>2]=f[e>>2];f[ja>>2]=ga+4;Fa=q;break}}while(0);Y=f[o>>2]|0;if((Y|0)==(f[g>>2]|0)){J=163;break}else q=Fa}if((J|0)==146)Eo(na);else if((J|0)==156)Eo(na);else if((J|0)==162){I=-1;J=177;break g}else if((J|0)==163){Ha=f[ta>>2]|0;Ia=Fa;break}}else{Ha=c;Ia=ua}while(0);if((Ia|0)==(((f[Ha+4>>2]|0)-(f[Ha>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ha+28>>2]|0)-(f[Ha+24>>2]|0)>>2;l=f[k>>2]|0;q=f[p>>2]|0;if((l|0)==(q|0)){Ja=l;Ka=c}else{Y=e+4|0;ja=e+8|0;ia=e+12|0;ka=Ha;ma=l;l=c;while(1){c=f[ma>>2]|0;la=l+-1|0;ha=f[ka+24>>2]|0;if((f[ha+(la<<2)>>2]|0)==-1){qa=l;while(1){U=qa+-1|0;oa=qa+-2|0;if((f[ha+(oa<<2)>>2]|0)==-1)qa=U;else{La=U;Ma=oa;break}}}else{La=l;Ma=la}if(Ma>>>0>>0){Na=ka;Oa=La}else{f[e>>2]=ka;qa=f[ha+(Ma<<2)>>2]|0;f[Y>>2]=qa;f[ja>>2]=qa;b[ia>>0]=1;if((qa|0)==-1)Pa=ka;else{na=ka;oa=qa;while(1){f[(f[na>>2]|0)+(oa<<2)>>2]=c;fg(e);oa=f[ja>>2]|0;qa=f[ta>>2]|0;if((oa|0)==-1){Pa=qa;break}else na=qa}}na=f[Pa+24>>2]|0;if((c|0)==-1)Qa=na+(Ma<<2)|0;else{oa=na+(Ma<<2)|0;f[na+(c<<2)>>2]=f[oa>>2];Qa=oa}f[Qa>>2]=-1;oa=f[r>>2]|0;na=oa+(Ma>>>5<<2)|0;ha=1<<(Ma&31);la=oa+(c>>>5<<2)|0;oa=1<<(c&31);qa=f[la>>2]|0;f[la>>2]=f[na>>2]&ha|0?qa|oa:qa&~oa;f[na>>2]=f[na>>2]&~ha;Na=Pa;Oa=La+-1|0}ma=ma+4|0;if((ma|0)==(q|0)){I=Oa;J=177;break}else{ka=Na;l=Oa}}}}else{I=-1;J=177}}else{I=-1;J=177}}while(0);if((J|0)==177){Ja=f[k>>2]|0;Ka=I}if(Ja|0){I=f[p>>2]|0;if((I|0)!=(Ja|0))f[p>>2]=I+(~((I+-4-Ja|0)>>>2)<<2);lp(Ja)}Ja=f[i+8>>2]|0;if(Ja|0){I=Ja;do{Ja=I;I=f[I>>2]|0;lp(Ja)}while((I|0)!=0)}I=f[i>>2]|0;f[i>>2]=0;if(I|0)lp(I);I=f[g>>2]|0;if(!I){u=d;return Ka|0}g=f[o>>2]|0;if((g|0)!=(I|0))f[o>>2]=g+(~((g+-4-I|0)>>>2)<<2);lp(I);u=d;return Ka|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;k=d+8|0;l=d;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;o=i+4|0;f[o>>2]=0;f[i+8>>2]=0;p=(f[a+216>>2]|0)==(f[a+220>>2]|0);q=a+120|0;r=f[a+124>>2]|0;a:do if((c|0)>0){s=a+308|0;t=g+4|0;v=a+8|0;w=i+8|0;x=e+8|0;y=a+304|0;z=a+296|0;A=a+300|0;B=a+36|0;C=a+40|0;D=c+-1|0;E=0;b:while(1){F=E+1|0;c:do if(!(b[s>>0]|0))G=43;else{H=f[y>>2]|0;I=f[z>>2]|0;J=f[A>>2]|0;K=I+(H>>>3)|0;if(K>>>0>>0?(L=h[K>>0]|0,K=H+1|0,f[y>>2]=K,L&1<<(H&7)|0):0){L=I+(K>>>3)|0;if(L>>>0>>0){M=(h[L>>0]|0)>>>(K&7)&1;L=H+2|0;f[y>>2]=L;N=L;O=M}else{N=K;O=0}K=I+(N>>>3)|0;if(K>>>0>>0){J=(h[K>>0]|0)>>>(N&7);f[y>>2]=N+1;P=J<<1&2}else P=0;J=(P|O)<<1|1;K=(J|0)==5;switch(J&7){case 1:{G=43;break c;break}case 3:case 5:{J=f[m>>2]|0;if((f[e>>2]|0)==(J|0)){Q=-1;G=184;break a}I=f[J+-4>>2]|0;J=E*3|0;M=K?J:J+2|0;L=(K&1)+J|0;H=(K?2:1)+J|0;K=f[v>>2]|0;R=f[K+12>>2]|0;f[R+(H<<2)>>2]=I;f[R+(I<<2)>>2]=H;R=K+24|0;S=K+28|0;T=f[S>>2]|0;if((T|0)==(f[K+32>>2]|0)){dh(R,3112);U=f[S>>2]|0}else{f[T>>2]=-1;K=T+4|0;f[S>>2]=K;U=K}K=U-(f[R>>2]|0)>>2;R=K+-1|0;S=f[v>>2]|0;T=f[S+24>>2]|0;V=T;if(((f[S+28>>2]|0)-T>>2|0)>(r|0)){Q=-1;G=184;break a}T=f[S>>2]|0;f[T+(H<<2)>>2]=R;if(K|0)f[V+(R<<2)>>2]=H;if((I|0)!=-1){H=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((H|0)!=-1){R=f[T+(H<<2)>>2]|0;f[T+(M<<2)>>2]=R;if((R|0)!=-1)f[V+(R<<2)>>2]=M}else f[T+(M<<2)>>2]=-1;R=I+1|0;V=((R>>>0)%3|0|0)==0?I+-2|0:R;if((V|0)==-1)W=-1;else W=f[T+(V<<2)>>2]|0}else{f[T+(M<<2)>>2]=-1;W=-1}f[T+(L<<2)>>2]=W;f[(f[m>>2]|0)+-4>>2]=J;break}case 7:{f[k>>2]=E*3;J=f[v>>2]|0;L=J+24|0;T=J+28|0;M=f[T>>2]|0;if((M|0)==(f[J+32>>2]|0)){dh(L,3112);X=f[T>>2]|0}else{f[M>>2]=-1;J=M+4|0;f[T>>2]=J;X=J}J=X-(f[L>>2]|0)>>2;L=J+-1|0;T=f[v>>2]|0;M=f[k>>2]|0;V=f[T>>2]|0;f[V+(M<<2)>>2]=L;R=T+24|0;I=T+28|0;H=f[I>>2]|0;if((H|0)==(f[T+32>>2]|0)){dh(R,3112);Y=f[I>>2]|0;Z=f[T>>2]|0}else{f[H>>2]=-1;T=H+4|0;f[I>>2]=T;Y=T;Z=V}f[Z+(M+1<<2)>>2]=(Y-(f[R>>2]|0)>>2)+-1;R=f[v>>2]|0;M=(f[k>>2]|0)+2|0;V=R+24|0;T=R+28|0;I=f[T>>2]|0;if((I|0)==(f[R+32>>2]|0)){dh(V,3112);_=f[T>>2]|0}else{f[I>>2]=-1;H=I+4|0;f[T>>2]=H;_=H}f[(f[R>>2]|0)+(M<<2)>>2]=(_-(f[V>>2]|0)>>2)+-1;V=f[v>>2]|0;M=f[V+24>>2]|0;R=M;if(((f[V+28>>2]|0)-M>>2|0)>(r|0)){G=114;break b}M=f[k>>2]|0;if(J){f[R+(L<<2)>>2]=M;if((J|0)!=-1){f[R+(J<<2)>>2]=(f[k>>2]|0)+1;L=J+1|0;if((L|0)!=-1){aa=L;G=109}}else{aa=0;G=109}}else{f[R+(J<<2)>>2]=M+1;aa=1;G=109}if((G|0)==109){G=0;f[R+(aa<<2)>>2]=(f[k>>2]|0)+2}R=f[m>>2]|0;if((R|0)==(f[x>>2]|0))dh(e,k);else{f[R>>2]=f[k>>2];f[m>>2]=R+4}break}default:{G=183;break b}}R=c-E+-1|0;M=f[C>>2]|0;if((M|0)==(f[B>>2]|0))break;else ba=M;while(1){M=ba;J=f[M+-8>>2]|0;if(J>>>0>R>>>0){Q=-1;G=184;break a}if((J|0)!=(R|0))break c;J=b[M+-4>>0]|0;L=f[M+-12>>2]|0;f[C>>2]=M+-12;if((L|0)<0){Q=-1;G=184;break a}M=f[(f[m>>2]|0)+-4>>2]|0;V=(M|0)==-1;do if(!(J&1))if(!V)if(!((M>>>0)%3|0)){ca=M+2|0;break}else{ca=M+-1|0;break}else ca=-1;else{H=M+1|0;if(V)ca=-1;else ca=((H>>>0)%3|0|0)==0?M+-2|0:H}while(0);f[k>>2]=D-L;M=Tc(g,k)|0;f[M>>2]=ca;ba=f[C>>2]|0;if((ba|0)==(f[B>>2]|0))break c}}R=f[m>>2]|0;if((f[e>>2]|0)==(R|0)){Q=-1;G=184;break a}M=R+-4|0;R=f[M>>2]|0;V=f[v>>2]|0;J=(R|0)==-1;H=R+1|0;if(!J?(T=((H>>>0)%3|0|0)==0?R+-2|0:H,(T|0)!=-1):0)da=f[(f[V>>2]|0)+(T<<2)>>2]|0;else da=-1;T=f[V+24>>2]|0;H=f[T+(da<<2)>>2]|0;I=H+1|0;if((H|0)==-1)ea=-1;else ea=((I>>>0)%3|0|0)==0?H+-2|0:I;I=E*3|0;H=I+1|0;K=f[V+12>>2]|0;f[K+(R<<2)>>2]=H;f[K+(H<<2)>>2]=R;S=I+2|0;f[K+(ea<<2)>>2]=S;f[K+(S<<2)>>2]=ea;K=f[V>>2]|0;f[K+(I<<2)>>2]=da;V=ea+1|0;if((ea|0)!=-1?(fa=((V>>>0)%3|0|0)==0?ea+-2|0:V,(fa|0)!=-1):0)ga=f[K+(fa<<2)>>2]|0;else ga=-1;f[K+(H<<2)>>2]=ga;if(!J?(J=(((R>>>0)%3|0|0)==0?2:-1)+R|0,(J|0)!=-1):0){R=f[K+(J<<2)>>2]|0;f[K+(S<<2)>>2]=R;if((R|0)!=-1)f[T+(R<<2)>>2]=S}else f[K+(S<<2)>>2]=-1;S=(f[q>>2]|0)+(da>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(da&31));f[M>>2]=I}while(0);if((G|0)==43){G=0;I=f[e>>2]|0;M=f[m>>2]|0;if((I|0)==(M|0)){Q=-1;G=184;break a}S=M+-4|0;K=f[S>>2]|0;f[m>>2]=S;R=f[t>>2]|0;d:do if(R){T=R+-1|0;J=(T&R|0)==0;if(!J)if(E>>>0>>0)ha=E;else ha=(E>>>0)%(R>>>0)|0;else ha=T&E;H=f[(f[g>>2]|0)+(ha<<2)>>2]|0;if((H|0)!=0?(fa=f[H>>2]|0,(fa|0)!=0):0){e:do if(J){H=fa;while(1){V=f[H+4>>2]|0;ia=(V|0)==(E|0);if(!(ia|(V&T|0)==(ha|0))){ja=I;ka=S;break d}if(ia?(f[H+8>>2]|0)==(E|0):0){la=H;break e}H=f[H>>2]|0;if(!H){ja=I;ka=S;break d}}}else{H=fa;while(1){L=f[H+4>>2]|0;if((L|0)==(E|0)){if((f[H+8>>2]|0)==(E|0)){la=H;break e}}else{if(L>>>0>>0)ma=L;else ma=(L>>>0)%(R>>>0)|0;if((ma|0)!=(ha|0)){ja=I;ka=S;break d}}H=f[H>>2]|0;if(!H){ja=I;ka=S;break d}}}while(0);fa=la+12|0;if((S|0)==(f[x>>2]|0)){dh(e,fa);ja=f[e>>2]|0;ka=f[m>>2]|0;break}else{f[S>>2]=f[fa>>2];f[m>>2]=M;ja=I;ka=M;break}}else{ja=I;ka=S}}else{ja=I;ka=S}while(0);if((ja|0)==(ka|0)){Q=-1;G=184;break a}S=f[ka+-4>>2]|0;I=(S|0)==-1;if(!I?(f[(f[(f[v>>2]|0)+12>>2]|0)+(S<<2)>>2]|0)!=-1:0){Q=-1;G=184;break a}M=(K|0)==-1;R=f[v>>2]|0;fa=f[R+12>>2]|0;if(!M?(f[fa+(K<<2)>>2]|0)!=-1:0){Q=-1;G=184;break a}T=E*3|0;J=T+2|0;f[fa+(S<<2)>>2]=J;f[fa+(J<<2)>>2]=S;H=T+1|0;f[fa+(K<<2)>>2]=H;f[fa+(H<<2)>>2]=K;if(!I){I=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((I|0)==-1)na=-1;else na=f[(f[R>>2]|0)+(I<<2)>>2]|0;I=f[R>>2]|0;f[I+(T<<2)>>2]=na;L=S+1|0;ia=((L>>>0)%3|0|0)==0?S+-2|0:L;if((ia|0)==-1){oa=I;pa=R;qa=-1;ra=na}else{oa=I;pa=R;qa=f[I+(ia<<2)>>2]|0;ra=na}}else{ia=f[R>>2]|0;f[ia+(T<<2)>>2]=-1;oa=ia;pa=R;qa=-1;ra=-1}f[oa+(H<<2)>>2]=qa;if(!M){M=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((M|0)!=-1){H=f[oa+(M<<2)>>2]|0;f[oa+(J<<2)>>2]=H;if((H|0)!=-1)f[(f[R+24>>2]|0)+(H<<2)>>2]=J}else f[oa+(J<<2)>>2]=-1;H=K+1|0;M=((H>>>0)%3|0|0)==0?K+-2|0:H;if((M|0)==-1){sa=-1;ta=-1}else{sa=M;ta=f[oa+(M<<2)>>2]|0}}else{f[oa+(J<<2)>>2]=-1;sa=-1;ta=-1}f[k>>2]=ta;J=f[R+24>>2]|0;if((ra|0)!=-1)f[J+(ra<<2)>>2]=f[J+(ta<<2)>>2];f:do if((sa|0)!=-1){R=f[pa>>2]|0;M=sa;do{f[R+(M<<2)>>2]=ra;H=M+1|0;ia=((H>>>0)%3|0|0)==0?M+-2|0:H;if((ia|0)==-1)break f;H=f[fa+(ia<<2)>>2]|0;ia=H+1|0;if((H|0)==-1)break f;M=((ia>>>0)%3|0|0)==0?H+-2|0:ia}while((M|0)!=-1)}while(0);f[J+(f[k>>2]<<2)>>2]=-1;do if(p){fa=f[o>>2]|0;if((fa|0)==(f[w>>2]|0)){dh(i,k);ua=f[m>>2]|0;break}else{f[fa>>2]=f[k>>2];f[o>>2]=fa+4;ua=ka;break}}else ua=ka;while(0);f[ua+-4>>2]=T}if((F|0)<(c|0))E=F;else{va=v;wa=F;G=129;break a}}if((G|0)==114){Q=-1;G=184;break}}else{va=a+8|0;wa=0;G=129}while(0);g:do if((G|0)==129){c=f[va>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(r|0)){ua=f[m>>2]|0;do if((ua|0)!=(f[e>>2]|0)){ka=a+270|0;p=a+364|0;ra=a+360|0;sa=a+352|0;pa=a+356|0;ta=a+60|0;oa=a+64|0;qa=a+68|0;na=a+76|0;ja=a+80|0;la=a+72|0;ha=a+312|0;ma=ua;da=wa;h:while(1){ga=ma;f[k>>2]=f[ga+-4>>2];f[m>>2]=ga+-4;if((j[ka>>1]|0)<514)if(b[p>>0]|0){ga=f[ra>>2]|0;ea=(f[sa>>2]|0)+(ga>>>3)|0;if(ea>>>0<(f[pa>>2]|0)>>>0){ba=(h[ea>>0]|0)>>>(ga&7)&1;f[ra>>2]=ga+1;xa=ba;G=137}else G=160}else G=138;else{xa=(Pi(ha)|0)&1;G=137}if((G|0)==137){G=0;if(!xa)G=160;else G=138}do if((G|0)==138){G=0;ba=f[va>>2]|0;ga=f[ba>>2]|0;ea=ga;if((da|0)>=(((f[ba+4>>2]|0)-ga>>2>>>0)/3|0|0)){G=168;break h}ga=f[k>>2]|0;ca=ga+1|0;if((ga|0)!=-1?(aa=((ca>>>0)%3|0|0)==0?ga+-2|0:ca,(aa|0)!=-1):0)ya=f[ea+(aa<<2)>>2]|0;else ya=-1;aa=f[ba+24>>2]|0;ca=f[aa+(ya<<2)>>2]|0;_=ca+1|0;if((ca|0)!=-1?(Y=((_>>>0)%3|0|0)==0?ca+-2|0:_,_=Y+1|0,(Y|0)!=-1):0){ca=((_>>>0)%3|0|0)==0?Y+-2|0:_;if((ca|0)==-1){za=Y;Aa=-1}else{za=Y;Aa=f[ea+(ca<<2)>>2]|0}}else{za=-1;Aa=-1}ca=f[aa+(Aa<<2)>>2]|0;aa=ca+1|0;if((ca|0)!=-1?(Y=((aa>>>0)%3|0|0)==0?ca+-2|0:aa,aa=Y+1|0,(Y|0)!=-1):0){ca=((aa>>>0)%3|0|0)==0?Y+-2|0:aa;if((ca|0)==-1){Ba=Y;Ca=-1}else{Ba=Y;Ca=f[ea+(ca<<2)>>2]|0}}else{Ba=-1;Ca=-1}ca=da*3|0;f[l>>2]=ca;Y=f[ba+12>>2]|0;f[Y+(ca<<2)>>2]=ga;f[Y+(ga<<2)>>2]=ca;ca=(f[l>>2]|0)+1|0;f[Y+(ca<<2)>>2]=za;f[Y+(za<<2)>>2]=ca;ca=(f[l>>2]|0)+2|0;f[Y+(ca<<2)>>2]=Ba;f[Y+(Ba<<2)>>2]=ca;ca=f[l>>2]|0;Y=ea+(ca<<2)|0;f[Y>>2]=Aa;f[ea+(ca+1<<2)>>2]=Ca;f[ea+(ca+2<<2)>>2]=ya;if((ca|0)==-1)Da=-1;else Da=f[Y>>2]|0;Y=f[q>>2]|0;ca=Y+(Da>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Da&31));ca=(f[l>>2]|0)+1|0;if((ca|0)==-1)Ea=-1;else Ea=f[ea+(ca<<2)>>2]|0;ca=Y+(Ea>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Ea&31));ca=(f[l>>2]|0)+2|0;if((ca|0)==-1)Fa=-1;else Fa=f[ea+(ca<<2)>>2]|0;ca=Y+(Fa>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Fa&31));ca=da+1|0;Y=f[oa>>2]|0;ea=f[qa>>2]|0;if((Y|0)==(ea<<5|0)){if((Y+1|0)<0){G=152;break h}ga=ea<<6;ea=Y+32&-32;Jg(ta,Y>>>0<1073741823?(ga>>>0>>0?ea:ga):2147483647);Ga=f[oa>>2]|0}else Ga=Y;f[oa>>2]=Ga+1;Y=(f[ta>>2]|0)+(Ga>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(Ga&31);Y=f[na>>2]|0;if((Y|0)==(f[ja>>2]|0))dh(la,l);else{f[Y>>2]=f[l>>2];f[na>>2]=Y+4}Ha=ca}else if((G|0)==160){G=0;ca=f[oa>>2]|0;Y=f[qa>>2]|0;if((ca|0)==(Y<<5|0)){if((ca+1|0)<0){G=162;break h}ga=Y<<6;Y=ca+32&-32;Jg(ta,ca>>>0<1073741823?(ga>>>0>>0?Y:ga):2147483647);Ia=f[oa>>2]|0}else Ia=ca;f[oa>>2]=Ia+1;ca=(f[ta>>2]|0)+(Ia>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Ia&31));ca=f[na>>2]|0;if((ca|0)==(f[ja>>2]|0)){dh(la,k);Ha=da;break}else{f[ca>>2]=f[k>>2];f[na>>2]=ca+4;Ha=da;break}}while(0);ma=f[m>>2]|0;if((ma|0)==(f[e>>2]|0)){G=169;break}else da=Ha}if((G|0)==152)Eo(ta);else if((G|0)==162)Eo(ta);else if((G|0)==168){Q=-1;G=184;break g}else if((G|0)==169){Ja=f[va>>2]|0;Ka=Ha;break}}else{Ja=c;Ka=wa}while(0);if((Ka|0)==(((f[Ja+4>>2]|0)-(f[Ja>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ja+28>>2]|0)-(f[Ja+24>>2]|0)>>2;ua=f[i>>2]|0;da=f[o>>2]|0;if((ua|0)==(da|0)){La=ua;Ma=c}else{ma=k+4|0;na=k+8|0;la=k+12|0;ja=Ja;oa=ua;ua=c;while(1){c=f[oa>>2]|0;qa=ua+-1|0;ha=f[ja+24>>2]|0;if((f[ha+(qa<<2)>>2]|0)==-1){ra=ua;while(1){pa=ra+-1|0;sa=ra+-2|0;if((f[ha+(sa<<2)>>2]|0)==-1)ra=pa;else{Na=pa;Oa=sa;break}}}else{Na=ua;Oa=qa}if(Oa>>>0>>0){Pa=ja;Qa=Na}else{f[k>>2]=ja;ra=f[ha+(Oa<<2)>>2]|0;f[ma>>2]=ra;f[na>>2]=ra;b[la>>0]=1;if((ra|0)==-1)Ra=ja;else{ta=ja;sa=ra;while(1){f[(f[ta>>2]|0)+(sa<<2)>>2]=c;fg(k);sa=f[na>>2]|0;ra=f[va>>2]|0;if((sa|0)==-1){Ra=ra;break}else ta=ra}}ta=f[Ra+24>>2]|0;if((c|0)==-1)Sa=ta+(Oa<<2)|0;else{sa=ta+(Oa<<2)|0;f[ta+(c<<2)>>2]=f[sa>>2];Sa=sa}f[Sa>>2]=-1;sa=f[q>>2]|0;ta=sa+(Oa>>>5<<2)|0;ha=1<<(Oa&31);qa=sa+(c>>>5<<2)|0;sa=1<<(c&31);ra=f[qa>>2]|0;f[qa>>2]=f[ta>>2]&ha|0?ra|sa:ra&~sa;f[ta>>2]=f[ta>>2]&~ha;Pa=Ra;Qa=Na+-1|0}oa=oa+4|0;if((oa|0)==(da|0)){Q=Qa;G=184;break}else{ja=Pa;ua=Qa}}}}else{Q=-1;G=184}}else{Q=-1;G=184}}while(0);if((G|0)==184){La=f[i>>2]|0;Ma=Q}if(La|0){Q=f[o>>2]|0;if((Q|0)!=(La|0))f[o>>2]=Q+(~((Q+-4-La|0)>>>2)<<2);lp(La)}La=f[g+8>>2]|0;if(La|0){Q=La;do{La=Q;Q=f[Q>>2]|0;lp(La)}while((Q|0)!=0)}Q=f[g>>2]|0;f[g>>2]=0;if(Q|0)lp(Q);Q=f[e>>2]|0;if(!Q){u=d;return Ma|0}e=f[m>>2]|0;if((e|0)!=(Q|0))f[m>>2]=e+(~((e+-4-Q|0)>>>2)<<2);lp(Q);u=d;return Ma|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=(Lj(4440,4632,e,c)|0)-4440>>2;j=g;g=h;h=0;a:while(1){k=(f[4440+(i<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=211;n=h;o=8;break}p=f[4248+(l<<2)>>2]|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((k|0)==(X(q,p)|0)){r=h;break}else l=l+1|0}b:do if((o|0)==8){c:while(1){o=0;l=(k>>>0)/(m>>>0)|0;do if(l>>>0>=m>>>0)if((k|0)!=(X(l,m)|0)){p=m+10|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((k|0)!=(X(q,p)|0)){q=m+12|0;s=(k>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((k|0)!=(X(s,q)|0)){s=m+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(X(t,s)|0)){t=m+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(X(v,t)|0)){v=m+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(X(w,v)|0)){w=m+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(X(x,w)|0)){y=9;z=w;A=n}else{x=m+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(k|0)==(X(B,x)|0);y=C?1:D?9:0;z=C|D?x:m+210|0;A=C?k:n}else{y=1;z=w;A=k}}else{y=9;z=v;A=n}else{y=1;z=v;A=k}}else{y=9;z=t;A=n}else{y=1;z=t;A=k}}else{y=9;z=s;A=n}else{y=1;z=s;A=k}}else{y=9;z=q;A=n}else{y=1;z=q;A=k}}else{y=9;z=p;A=n}else{y=1;z=p;A=k}}else{y=9;z=m;A=n}else{y=1;z=m;A=k}while(0);switch(y&15){case 9:{r=A;break b;break}case 0:{m=z;n=A;o=8;break}default:break c}}if(!y)r=A;else{o=107;break a}}while(0);l=i+1|0;p=(l|0)==48;q=(p&1)+j|0;i=p?0:l;j=q;g=q*210|0;h=r}if((o|0)==106){f[d>>2]=k;E=k;break}else if((o|0)==107){f[d>>2]=k;E=A;break}}else{h=Lj(4248,4440,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function ab(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Ph(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Ph(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;ak(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Vg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}ah(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;pg(T,t);if(!(ph(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Hf(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Pb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Ph(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if(0>(E|0)|0==(E|0)&Y>>>0>Q>>>0)break;zk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Pb(a,m)|0;qp(m+24|0);if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);D=Ma[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=D;f[a+384>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+372>>2]=t;zk(m);c:do if(Rf(J,m)|0){D=Ya(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(Xd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(Nd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)_j(a+272|0);if((j[a+270>>1]|0)<514)_j(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=g;g=0;do{Uf(E+(g*144|0)+4|0,f[M>>2]|0)|0;O=f[T>>2]|0;H=f[O+(g*144|0)+132>>2]|0;Q=f[O+(g*144|0)+136>>2]|0;if((H|0)==(Q|0))_=O;else{N=O;O=H;while(1){f[p>>2]=f[O>>2];f[e>>2]=f[p>>2];wf(N+(g*144|0)+4|0,e);O=O+4|0;H=f[T>>2]|0;if((O|0)==(Q|0)){_=H;break}else N=H}}Hj(_+(g*144|0)+4|0,0,0);g=g+1|0;E=f[T>>2]|0}while(g>>>0<(((f[F>>2]|0)-E|0)/144|0)>>>0)}E=f[M>>2]|0;g=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=a+196|0;N=a+200|0;Q=f[N>>2]|0;O=f[E>>2]|0;H=Q-O>>2;S=O;O=Q;do if(g>>>0>H>>>0)Og(E,g-H|0);else{if(g>>>0>=H>>>0)break;Q=S+(g<<2)|0;if((O|0)==(Q|0))break;f[N>>2]=O+(~((O+-4-Q|0)>>>2)<<2)}while(0);fi(a+184|0,g);O=f[T>>2]|0;if((f[F>>2]|0)!=(O|0)){N=O;O=0;do{S=N;H=(f[S+(O*144|0)+60>>2]|0)-(f[S+(O*144|0)+56>>2]|0)>>2;E=f[M>>2]|0;Q=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=(H|0)<(Q|0)?Q:H;H=S+(O*144|0)+116|0;Q=S+(O*144|0)+120|0;v=f[Q>>2]|0;w=f[H>>2]|0;B=v-w>>2;A=w;w=v;do if(E>>>0>B>>>0)Og(H,E-B|0);else{if(E>>>0>=B>>>0)break;v=A+(E<<2)|0;if((w|0)==(v|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);fi(S+(O*144|0)+104|0,E);O=O+1|0;N=f[T>>2]|0}while(O>>>0<(((f[F>>2]|0)-N|0)/144|0)>>>0)}Z=wb(a,D)|0}else Z=0;while(0);qp(m+24|0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function bb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Ph(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Ph(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;ak(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Vg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}ah(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;pg(T,t);if(!(ph(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Hf(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Pb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Ph(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if(0>(E|0)|0==(E|0)&Y>>>0>Q>>>0)break;zk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Pb(a,m)|0;qp(m+24|0);if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);D=Ma[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=D;f[a+384>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+372>>2]=t;zk(m);c:do if(Wb(J,m)|0){D=Za(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(Xd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(Nd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)_j(a+272|0);if((j[a+270>>1]|0)<514)_j(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=g;g=0;do{Uf(E+(g*144|0)+4|0,f[M>>2]|0)|0;O=f[T>>2]|0;H=f[O+(g*144|0)+132>>2]|0;Q=f[O+(g*144|0)+136>>2]|0;if((H|0)==(Q|0))_=O;else{N=O;O=H;while(1){f[p>>2]=f[O>>2];f[e>>2]=f[p>>2];wf(N+(g*144|0)+4|0,e);O=O+4|0;H=f[T>>2]|0;if((O|0)==(Q|0)){_=H;break}else N=H}}Hj(_+(g*144|0)+4|0,0,0);g=g+1|0;E=f[T>>2]|0}while(g>>>0<(((f[F>>2]|0)-E|0)/144|0)>>>0)}E=f[M>>2]|0;g=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=a+196|0;N=a+200|0;Q=f[N>>2]|0;O=f[E>>2]|0;H=Q-O>>2;S=O;O=Q;do if(g>>>0>H>>>0)Og(E,g-H|0);else{if(g>>>0>=H>>>0)break;Q=S+(g<<2)|0;if((O|0)==(Q|0))break;f[N>>2]=O+(~((O+-4-Q|0)>>>2)<<2)}while(0);fi(a+184|0,g);O=f[T>>2]|0;if((f[F>>2]|0)!=(O|0)){N=O;O=0;do{S=N;H=(f[S+(O*144|0)+60>>2]|0)-(f[S+(O*144|0)+56>>2]|0)>>2;E=f[M>>2]|0;Q=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=(H|0)<(Q|0)?Q:H;H=S+(O*144|0)+116|0;Q=S+(O*144|0)+120|0;v=f[Q>>2]|0;w=f[H>>2]|0;B=v-w>>2;A=w;w=v;do if(E>>>0>B>>>0)Og(H,E-B|0);else{if(E>>>0>=B>>>0)break;v=A+(E<<2)|0;if((w|0)==(v|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);fi(S+(O*144|0)+104|0,E);O=O+1|0;N=f[T>>2]|0}while(O>>>0<(((f[F>>2]|0)-N|0)/144|0)>>>0)}Z=wb(a,D)|0}else Z=0;while(0);qp(m+24|0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function cb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Ph(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Ph(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;ak(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Vg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}ah(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;pg(T,t);if(!(ph(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Hf(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Pb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Ph(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if(0>(E|0)|0==(E|0)&Y>>>0>Q>>>0)break;zk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Pb(a,m)|0;qp(m+24|0);if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);f[a+372>>2]=t;zk(m);c:do if(Kd(J,m)|0){D=_a(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(Xd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(Nd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)_j(a+272|0);if((j[a+270>>1]|0)<514)_j(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=g;g=0;do{Uf(E+(g*144|0)+4|0,f[M>>2]|0)|0;O=f[T>>2]|0;H=f[O+(g*144|0)+132>>2]|0;Q=f[O+(g*144|0)+136>>2]|0;if((H|0)==(Q|0))_=O;else{N=O;O=H;while(1){f[p>>2]=f[O>>2];f[e>>2]=f[p>>2];wf(N+(g*144|0)+4|0,e);O=O+4|0;H=f[T>>2]|0;if((O|0)==(Q|0)){_=H;break}else N=H}}Hj(_+(g*144|0)+4|0,0,0);g=g+1|0;E=f[T>>2]|0}while(g>>>0<(((f[F>>2]|0)-E|0)/144|0)>>>0)}E=f[M>>2]|0;g=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=a+196|0;N=a+200|0;Q=f[N>>2]|0;O=f[E>>2]|0;H=Q-O>>2;S=O;O=Q;do if(g>>>0>H>>>0)Og(E,g-H|0);else{if(g>>>0>=H>>>0)break;Q=S+(g<<2)|0;if((O|0)==(Q|0))break;f[N>>2]=O+(~((O+-4-Q|0)>>>2)<<2)}while(0);fi(a+184|0,g);O=f[T>>2]|0;if((f[F>>2]|0)!=(O|0)){N=O;O=0;do{S=N;H=(f[S+(O*144|0)+60>>2]|0)-(f[S+(O*144|0)+56>>2]|0)>>2;E=f[M>>2]|0;Q=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=(H|0)<(Q|0)?Q:H;H=S+(O*144|0)+116|0;Q=S+(O*144|0)+120|0;v=f[Q>>2]|0;w=f[H>>2]|0;B=v-w>>2;A=w;w=v;do if(E>>>0>B>>>0)Og(H,E-B|0);else{if(E>>>0>=B>>>0)break;v=A+(E<<2)|0;if((w|0)==(v|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);fi(S+(O*144|0)+104|0,E);O=O+1|0;N=f[T>>2]|0}while(O>>>0<(((f[F>>2]|0)-N|0)/144|0)>>>0)}Z=wb(a,D)|0}else Z=0;while(0);qp(m+24|0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function db(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+132|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+96|0;j=a+52|0;i=a+48|0;n=a+40|0;o=a+4|0;C=a+32|0;D=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=A;while(1){J=f[r>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[x>>2]=K;K=f[z>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;J=(f[s>>2]|0)+(Q*12|0)|0;if(L>>>0>c>>>0){B=0;break a}M=vl(a,L,J,P)|0;if(M>>>0>=(f[h>>2]|0)>>>0){B=0;break a}P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;while(1){S=f[p>>2]|0;c:do if((f[t>>2]|0)!=(S|0)){T=S;U=0;do{V=T;W=f[V+(U*20|0)>>2]|0;X=V+(U*20|0)+12|0;Y=V+(U*20|0)+16|0;Z=(f[O>>2]|0)+(f[V+(U*20|0)+4>>2]<<2)|0;V=f[X>>2]|0;do if((V|0)==4)$=Z;else{aa=f[m>>2]|0;if(!(f[Y>>2]|0)){$=aa;break}else{ba=V;ca=aa;da=0}while(1){Ff(ca|0,Z+(da<<2)|0,ba|0)|0;da=da+1|0;aa=f[X>>2]|0;if(da>>>0>=(f[Y>>2]|0)>>>0)break;else{ba=aa;ca=ca+aa|0}}$=f[m>>2]|0}while(0);Y=f[v>>2]|0;if(!(b[W+84>>0]|0))ea=f[(f[W+68>>2]|0)+(Y<<2)>>2]|0;else ea=Y;if(ea>>>0>=(f[W+80>>2]|0)>>>0)break c;Y=W+40|0;X=f[Y>>2]|0;Z=fl(X|0,f[Y+4>>2]|0,ea|0,0)|0;Ff((f[f[W+64>>2]>>2]|0)+Z|0,$|0,X|0)|0;U=U+1|0;T=f[p>>2]|0}while(U>>>0<(((f[t>>2]|0)-T|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;N=N+1|0;if((N|0)==(L|0)){R=23;break}}}else if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){T=S;U=M;X=1;while(1){U=(U|0)==(T+-1|0)?0:U+1|0;f[N+(X<<2)>>2]=U;X=X+1|0;Z=f[h>>2]|0;if(X>>>0>=Z>>>0){fa=Z;break}else T=Z}}else fa=S;if(!L){R=23;break}T=fa;X=0;while(1){if(T|0){U=f[q>>2]|0;N=f[k>>2]|0;Z=f[J>>2]|0;Y=0;do{V=U+(Y<<2)|0;f[N+(f[V>>2]<<2)>>2]=0;aa=f[V>>2]|0;ga=(f[a>>2]|0)-(f[Z+(aa<<2)>>2]|0)|0;do if(ga|0){ha=N+(aa<<2)|0;ia=f[j>>2]|0;ja=32-ia|0;if((ga|0)>(ja|0)){ka=f[i>>2]|0;la=ka+4|0;if((la|0)==(f[n>>2]|0)){f[ha>>2]=0;break}else{ma=f[ka>>2]<>2]=ka;f[i>>2]=la;na=32-ka|0;f[ha>>2]=(f[la>>2]|0)>>>na|ma>>>(na-ja|0);break}}ja=f[i>>2]|0;if((ja|0)==(f[n>>2]|0)){f[ha>>2]=0;break}f[ha>>2]=f[ja>>2]<>>(32-ga|0);ia=(f[j>>2]|0)+ga|0;f[j>>2]=ia;if((ia|0)!=32)break;f[i>>2]=ja+4;f[j>>2]=0}while(0);ga=f[V>>2]|0;aa=N+(ga<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ga<<2)>>2];Y=Y+1|0}while(Y>>>0<(f[h>>2]|0)>>>0)}Y=f[p>>2]|0;d:do if((f[t>>2]|0)!=(Y|0)){N=Y;Z=0;do{U=N;ga=f[U+(Z*20|0)>>2]|0;aa=U+(Z*20|0)+12|0;ja=U+(Z*20|0)+16|0;ia=(f[k>>2]|0)+(f[U+(Z*20|0)+4>>2]<<2)|0;U=f[aa>>2]|0;do if((U|0)==4)oa=ia;else{ha=f[m>>2]|0;if(!(f[ja>>2]|0)){oa=ha;break}else{pa=U;qa=ha;ra=0}while(1){Ff(qa|0,ia+(ra<<2)|0,pa|0)|0;ra=ra+1|0;ha=f[aa>>2]|0;if(ra>>>0>=(f[ja>>2]|0)>>>0)break;else{pa=ha;qa=qa+ha|0}}oa=f[m>>2]|0}while(0);ja=f[v>>2]|0;if(!(b[ga+84>>0]|0))sa=f[(f[ga+68>>2]|0)+(ja<<2)>>2]|0;else sa=ja;if(sa>>>0>=(f[ga+80>>2]|0)>>>0)break d;ja=ga+40|0;aa=f[ja>>2]|0;ia=fl(aa|0,f[ja+4>>2]|0,sa|0,0)|0;Ff((f[f[ga+64>>2]>>2]|0)+ia|0,oa|0,aa|0)|0;Z=Z+1|0;N=f[p>>2]|0}while(Z>>>0<(((f[t>>2]|0)-N|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;Y=X+1|0;if((Y|0)==(L|0)){R=23;break b}T=f[h>>2]|0;X=Y}}else{if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}X=Q+1|0;T=f[l>>2]|0;S=T+(X*12|0)|0;if((S|0)==(O|0))ta=T;else{gf(S,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);ta=f[l>>2]|0}S=(f[ta+(X*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;Y=32-T|0;do if((S|0)>(Y|0)){N=f[D>>2]|0;Z=N+4|0;if((Z|0)==(f[E>>2]|0))ua=0;else{V=f[N>>2]<>2]=N;f[D>>2]=Z;aa=32-N|0;ua=(f[Z>>2]|0)>>>aa|V>>>(aa-Y|0)}}else{aa=f[D>>2]|0;if((aa|0)==(f[E>>2]|0))ua=0;else{V=f[aa>>2]<>>(32-S|0);Z=T+S|0;f[C>>2]=Z;if((Z|0)!=32){ua=V;break}f[D>>2]=aa+4;f[C>>2]=0;ua=V}}while(0);S=(L>>>1)-ua|0;T=L-S|0;e:do if((S|0)==(T|0)){va=S;wa=S}else{Y=f[F>>2]|0;V=f[H>>2]|0;do if((V|0)!=(f[G>>2]|0)){aa=(f[V>>2]&1<<31-Y|0)!=0;Z=Y+1|0;f[F>>2]=Z;if((Z|0)==32){f[H>>2]=V+4;f[F>>2]=0;if(aa){va=S;wa=T;break e}else break}else if(aa){va=S;wa=T;break e}else break}while(0);va=T;wa=S}while(0);S=f[s>>2]|0;T=f[S+(Q*12|0)>>2]|0;V=T+(M<<2)|0;f[V>>2]=(f[V>>2]|0)+1;gf(S+(X*12|0)|0,T,f[S+(Q*12|0)+4>>2]|0);if(va|0){S=f[z>>2]|0;T=f[y>>2]|0;V=S-T>>2;Y=f[r>>2]|0;aa=f[x>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(aa+Y|0)){ic(g);xa=f[r>>2]|0;ya=f[x>>2]|0;za=f[z>>2]|0;Aa=f[y>>2]|0}else{xa=Y;ya=aa;za=S;Aa=T}T=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((T>>>0)/341|0)<<2)>>2]|0)+(((T>>>0)%341|0)*12|0)|0;f[Ba>>2]=va;f[Ba+4>>2]=M;f[Ba+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}if(!wa){R=23;break}T=f[z>>2]|0;S=f[y>>2]|0;aa=T-S>>2;Y=f[r>>2]|0;V=f[x>>2]|0;if((((aa|0)==0?0:(aa*341|0)+-1|0)|0)==(V+Y|0)){ic(g);Ca=f[r>>2]|0;Da=f[x>>2]|0;Ea=f[z>>2]|0;Fa=f[y>>2]|0}else{Ca=Y;Da=V;Ea=T;Fa=S}S=Da+Ca|0;if((Ea|0)==(Fa|0))Ga=0;else Ga=(f[Fa+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[Ga>>2]=wa;f[Ga+4>>2]=M;f[Ga+8>>2]=X;S=(f[x>>2]|0)+1|0;f[x>>2]=S;Ha=S;break}while(0);if((R|0)==23){R=0;Ha=f[x>>2]|0}if(!Ha){B=1;break}else I=Ha}}while(0);Ha=f[y>>2]|0;Ga=f[r>>2]|0;wa=Ha+(((Ga>>>0)/341|0)<<2)|0;Fa=f[z>>2]|0;Ea=Fa;Ca=Ha;if((Fa|0)==(Ha|0)){Ia=0;Ja=0}else{Da=(f[x>>2]|0)+Ga|0;Ia=(f[Ha+(((Da>>>0)/341|0)<<2)>>2]|0)+(((Da>>>0)%341|0)*12|0)|0;Ja=(f[wa>>2]|0)+(((Ga>>>0)%341|0)*12|0)|0}Ga=wa;wa=Ja;f:while(1){Ja=wa;do{Da=Ja;if((Da|0)==(Ia|0))break f;Ja=Da+12|0}while((Ja-(f[Ga>>2]|0)|0)!=4092);Ja=Ga+4|0;Ga=Ja;wa=f[Ja>>2]|0}f[x>>2]=0;x=Ea-Ca>>2;if(x>>>0>2){Ca=Ha;do{lp(f[Ca>>2]|0);Ca=(f[y>>2]|0)+4|0;f[y>>2]=Ca;Ka=f[z>>2]|0;La=Ka-Ca>>2}while(La>>>0>2);Ma=Ca;Na=Ka;Oa=La}else{Ma=Ha;Na=Fa;Oa=x}switch(Oa|0){case 1:{Pa=170;R=109;break}case 2:{Pa=341;R=109;break}default:{}}if((R|0)==109)f[r>>2]=Pa;if((Ma|0)!=(Na|0)){Pa=Ma;do{lp(f[Pa>>2]|0);Pa=Pa+4|0}while((Pa|0)!=(Na|0));Na=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Na|0))f[z>>2]=y+(~((y+-4-Na|0)>>>2)<<2)}Na=f[g>>2]|0;if(!Na){u=e;return B|0}lp(Na);u=e;return B|0}function eb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+132|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+96|0;j=a+52|0;i=a+48|0;n=a+40|0;o=a+4|0;C=a+32|0;D=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=A;while(1){J=f[r>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[x>>2]=K;K=f[z>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;if(L>>>0>c>>>0){B=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(P|0)?0:P+1|0;if(M>>>0>=J>>>0){B=0;break a}J=(f[s>>2]|0)+(Q*12|0)|0;P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;while(1){S=f[p>>2]|0;c:do if((f[t>>2]|0)!=(S|0)){T=S;U=0;do{V=T;W=f[V+(U*20|0)>>2]|0;X=V+(U*20|0)+12|0;Y=V+(U*20|0)+16|0;Z=(f[O>>2]|0)+(f[V+(U*20|0)+4>>2]<<2)|0;V=f[X>>2]|0;do if((V|0)==4)$=Z;else{aa=f[m>>2]|0;if(!(f[Y>>2]|0)){$=aa;break}else{ba=V;ca=aa;da=0}while(1){Ff(ca|0,Z+(da<<2)|0,ba|0)|0;da=da+1|0;aa=f[X>>2]|0;if(da>>>0>=(f[Y>>2]|0)>>>0)break;else{ba=aa;ca=ca+aa|0}}$=f[m>>2]|0}while(0);Y=f[v>>2]|0;if(!(b[W+84>>0]|0))ea=f[(f[W+68>>2]|0)+(Y<<2)>>2]|0;else ea=Y;if(ea>>>0>=(f[W+80>>2]|0)>>>0)break c;Y=W+40|0;X=f[Y>>2]|0;Z=fl(X|0,f[Y+4>>2]|0,ea|0,0)|0;Ff((f[f[W+64>>2]>>2]|0)+Z|0,$|0,X|0)|0;U=U+1|0;T=f[p>>2]|0}while(U>>>0<(((f[t>>2]|0)-T|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;N=N+1|0;if((N|0)==(L|0)){R=23;break}}}else{if(L>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}N=Q+1|0;gf(K+(N*12|0)|0,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);S=(f[(f[l>>2]|0)+(N*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;U=32-T|0;if((S|0)>(U|0)){X=f[D>>2]|0;Z=X+4|0;if((Z|0)==(f[E>>2]|0))fa=0;else{Y=f[X>>2]<>2]=X;f[D>>2]=Z;V=32-X|0;fa=(f[Z>>2]|0)>>>V|Y>>>(V-U|0)}}else{U=f[D>>2]|0;if((U|0)!=(f[E>>2]|0)){V=f[U>>2]<>>(32-S|0);Y=T+S|0;f[C>>2]=Y;if((Y|0)==32){f[D>>2]=U+4;f[C>>2]=0;fa=V}else fa=V}else fa=0}V=(L>>>1)-fa|0;U=L-V|0;d:do if((V|0)==(U|0)){ga=V;ha=V}else{Y=f[F>>2]|0;S=f[H>>2]|0;do if((S|0)!=(f[G>>2]|0)){T=(f[S>>2]&1<<31-Y|0)!=0;Z=Y+1|0;f[F>>2]=Z;if((Z|0)==32){f[H>>2]=S+4;f[F>>2]=0;if(T){ga=V;ha=U;break d}else break}else if(T){ga=V;ha=U;break d}else break}while(0);ga=U;ha=V}while(0);V=f[s>>2]|0;U=f[V+(Q*12|0)>>2]|0;S=U+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;gf(V+(N*12|0)|0,U,f[V+(Q*12|0)+4>>2]|0);if(ga|0){V=f[z>>2]|0;U=f[y>>2]|0;S=V-U>>2;Y=f[r>>2]|0;T=f[x>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(T+Y|0)){ic(g);ia=f[r>>2]|0;ja=f[x>>2]|0;ka=f[z>>2]|0;la=f[y>>2]|0}else{ia=Y;ja=T;ka=V;la=U}U=ja+ia|0;if((ka|0)==(la|0))ma=0;else ma=(f[la+(((U>>>0)/341|0)<<2)>>2]|0)+(((U>>>0)%341|0)*12|0)|0;f[ma>>2]=ga;f[ma+4>>2]=M;f[ma+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}if(!ha){R=23;break}U=f[z>>2]|0;V=f[y>>2]|0;T=U-V>>2;Y=f[r>>2]|0;S=f[x>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(S+Y|0)){ic(g);na=f[r>>2]|0;oa=f[x>>2]|0;pa=f[z>>2]|0;qa=f[y>>2]|0}else{na=Y;oa=S;pa=U;qa=V}V=oa+na|0;if((pa|0)==(qa|0))ra=0;else ra=(f[qa+(((V>>>0)/341|0)<<2)>>2]|0)+(((V>>>0)%341|0)*12|0)|0;f[ra>>2]=ha;f[ra+4>>2]=M;f[ra+8>>2]=N;V=(f[x>>2]|0)+1|0;f[x>>2]=V;sa=V;break}V=f[q>>2]|0;f[V>>2]=M;U=f[h>>2]|0;if(U>>>0>1){S=U;Y=M;T=1;while(1){Y=(Y|0)==(S+-1|0)?0:Y+1|0;f[V+(T<<2)>>2]=Y;T=T+1|0;Z=f[h>>2]|0;if(T>>>0>=Z>>>0){ta=Z;break}else S=Z}}else ta=U;if(!L)R=23;else{S=ta;T=0;while(1){if(S|0){Y=f[q>>2]|0;V=f[k>>2]|0;N=f[J>>2]|0;Z=0;do{X=Y+(Z<<2)|0;f[V+(f[X>>2]<<2)>>2]=0;aa=f[X>>2]|0;ua=(f[a>>2]|0)-(f[N+(aa<<2)>>2]|0)|0;do if(ua|0){va=V+(aa<<2)|0;wa=f[j>>2]|0;xa=32-wa|0;if((ua|0)>(xa|0)){ya=f[i>>2]|0;za=ya+4|0;if((za|0)==(f[n>>2]|0)){f[va>>2]=0;break}else{Aa=f[ya>>2]<>2]=ya;f[i>>2]=za;Ba=32-ya|0;f[va>>2]=(f[za>>2]|0)>>>Ba|Aa>>>(Ba-xa|0);break}}xa=f[i>>2]|0;if((xa|0)==(f[n>>2]|0)){f[va>>2]=0;break}f[va>>2]=f[xa>>2]<>>(32-ua|0);wa=(f[j>>2]|0)+ua|0;f[j>>2]=wa;if((wa|0)!=32)break;f[i>>2]=xa+4;f[j>>2]=0}while(0);ua=f[X>>2]|0;aa=V+(ua<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ua<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0)}Z=f[p>>2]|0;e:do if((f[t>>2]|0)!=(Z|0)){V=Z;N=0;do{Y=V;ua=f[Y+(N*20|0)>>2]|0;aa=Y+(N*20|0)+12|0;xa=Y+(N*20|0)+16|0;wa=(f[k>>2]|0)+(f[Y+(N*20|0)+4>>2]<<2)|0;Y=f[aa>>2]|0;do if((Y|0)==4)Ca=wa;else{va=f[m>>2]|0;if(!(f[xa>>2]|0)){Ca=va;break}else{Da=Y;Ea=va;Fa=0}while(1){Ff(Ea|0,wa+(Fa<<2)|0,Da|0)|0;Fa=Fa+1|0;va=f[aa>>2]|0;if(Fa>>>0>=(f[xa>>2]|0)>>>0)break;else{Da=va;Ea=Ea+va|0}}Ca=f[m>>2]|0}while(0);xa=f[v>>2]|0;if(!(b[ua+84>>0]|0))Ga=f[(f[ua+68>>2]|0)+(xa<<2)>>2]|0;else Ga=xa;if(Ga>>>0>=(f[ua+80>>2]|0)>>>0)break e;xa=ua+40|0;aa=f[xa>>2]|0;wa=fl(aa|0,f[xa+4>>2]|0,Ga|0,0)|0;Ff((f[f[ua+64>>2]>>2]|0)+wa|0,Ca|0,aa|0)|0;N=N+1|0;V=f[p>>2]|0}while(N>>>0<(((f[t>>2]|0)-V|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;Z=T+1|0;if((Z|0)==(L|0)){R=23;break b}S=f[h>>2]|0;T=Z}}}while(0);if((R|0)==23){R=0;sa=f[x>>2]|0}if(!sa){B=1;break}else I=sa}}while(0);sa=f[y>>2]|0;h=f[r>>2]|0;Ca=sa+(((h>>>0)/341|0)<<2)|0;Ga=f[z>>2]|0;Ea=Ga;Da=sa;if((Ga|0)==(sa|0)){Ha=0;Ia=0}else{Fa=(f[x>>2]|0)+h|0;Ha=(f[sa+(((Fa>>>0)/341|0)<<2)>>2]|0)+(((Fa>>>0)%341|0)*12|0)|0;Ia=(f[Ca>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Ca;Ca=Ia;f:while(1){Ia=Ca;do{Fa=Ia;if((Fa|0)==(Ha|0))break f;Ia=Fa+12|0}while((Ia-(f[h>>2]|0)|0)!=4092);Ia=h+4|0;h=Ia;Ca=f[Ia>>2]|0}f[x>>2]=0;x=Ea-Da>>2;if(x>>>0>2){Da=sa;do{lp(f[Da>>2]|0);Da=(f[y>>2]|0)+4|0;f[y>>2]=Da;Ja=f[z>>2]|0;Ka=Ja-Da>>2}while(Ka>>>0>2);La=Da;Ma=Ja;Na=Ka}else{La=sa;Ma=Ga;Na=x}switch(Na|0){case 1:{Oa=170;R=107;break}case 2:{Oa=341;R=107;break}default:{}}if((R|0)==107)f[r>>2]=Oa;if((La|0)!=(Ma|0)){Oa=La;do{lp(f[Oa>>2]|0);Oa=Oa+4|0}while((Oa|0)!=(Ma|0));Ma=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ma|0))f[z>>2]=y+(~((y+-4-Ma|0)>>>2)<<2)}Ma=f[g>>2]|0;if(!Ma){u=e;return B|0}lp(Ma);u=e;return B|0}function fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+604|0;j=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[s>>2]|0)+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}J=Gg(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[t>>2]|0)!=(P|0)){Q=P;R=0;do{S=Q;T=f[S+(R*20|0)>>2]|0;U=S+(R*20|0)+12|0;V=S+(R*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(R*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=S;$=Y;aa=0}while(1){Ff($|0,W+(aa<<2)|0,Z|0)|0;aa=aa+1|0;Y=f[U>>2]|0;if(aa>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Y;$=$+Y|0}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=fl(U|0,f[V+4>>2]|0,ba|0,0)|0;Ff((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;R=R+1|0;Q=f[p>>2]|0}while(R>>>0<(((f[t>>2]|0)-Q|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;P=f[l>>2]|0;Q=P+(K*12|0)|0;if((Q|0)==(L|0))ca=P;else{gf(Q,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[l>>2]|0}Q=(f[ca+(K*12|0)>>2]|0)+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>>1)-da|0;Q=I-R|0;d:do if((R|0)==(Q|0)){ea=R;fa=R}else{P=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-P|0)!=0;V=P+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){ea=R;fa=Q;break d}else break}else if(W){ea=R;fa=Q;break d}else break}while(0);ea=Q;fa=R}while(0);R=f[s>>2]|0;Q=f[R+(N*12|0)>>2]|0;U=Q+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;gf(R+(K*12|0)|0,Q,f[R+(N*12|0)+4>>2]|0);if(ea|0){R=f[z>>2]|0;Q=f[y>>2]|0;U=R-Q>>2;P=f[r>>2]|0;W=f[x>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+P|0)){ic(g);ga=f[r>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0;ja=f[y>>2]|0}else{ga=P;ha=W;ia=R;ja=Q}Q=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=J;f[ka+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!fa){O=23;break}Q=f[z>>2]|0;R=f[y>>2]|0;W=Q-R>>2;P=f[r>>2]|0;U=f[x>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+P|0)){ic(g);la=f[r>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0;oa=f[y>>2]|0}else{la=P;ma=U;na=Q;oa=R}R=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=J;f[pa+8>>2]=K;R=(f[x>>2]|0)+1|0;f[x>>2]=R;qa=R;break}R=f[q>>2]|0;f[R>>2]=J;Q=f[h>>2]|0;if(Q>>>0>1){U=Q;P=J;W=1;while(1){P=(P|0)==(U+-1|0)?0:P+1|0;f[R+(W<<2)>>2]=P;W=W+1|0;V=f[h>>2]|0;if(W>>>0>=V>>>0){ra=V;break}else U=V}}else ra=Q;if(!I)O=23;else{U=ra;W=0;while(1){if(U|0){P=f[q>>2]|0;R=f[k>>2]|0;K=f[G>>2]|0;V=0;do{S=P+(V<<2)|0;f[R+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;sa=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(sa|0){ta=R+(Y<<2)|0;ua=f[j>>2]|0;va=32-ua|0;if((sa|0)>(va|0)){wa=f[i>>2]|0;xa=wa+4|0;if((xa|0)==(f[n>>2]|0)){f[ta>>2]=0;break}else{ya=f[wa>>2]<>2]=wa;f[i>>2]=xa;za=32-wa|0;f[ta>>2]=(f[xa>>2]|0)>>>za|ya>>>(za-va|0);break}}va=f[i>>2]|0;if((va|0)==(f[n>>2]|0)){f[ta>>2]=0;break}f[ta>>2]=f[va>>2]<>>(32-sa|0);ua=(f[j>>2]|0)+sa|0;f[j>>2]=ua;if((ua|0)!=32)break;f[i>>2]=va+4;f[j>>2]=0}while(0);sa=f[S>>2]|0;Y=R+(sa<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(sa<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[t>>2]|0)!=(V|0)){R=V;K=0;do{P=R;sa=f[P+(K*20|0)>>2]|0;Y=P+(K*20|0)+12|0;va=P+(K*20|0)+16|0;ua=(f[k>>2]|0)+(f[P+(K*20|0)+4>>2]<<2)|0;P=f[Y>>2]|0;do if((P|0)==4)Aa=ua;else{ta=f[m>>2]|0;if(!(f[va>>2]|0)){Aa=ta;break}else{Ba=P;Ca=ta;Da=0}while(1){Ff(Ca|0,ua+(Da<<2)|0,Ba|0)|0;Da=Da+1|0;ta=f[Y>>2]|0;if(Da>>>0>=(f[va>>2]|0)>>>0)break;else{Ba=ta;Ca=Ca+ta|0}}Aa=f[m>>2]|0}while(0);va=f[v>>2]|0;if(!(b[sa+84>>0]|0))Ea=f[(f[sa+68>>2]|0)+(va<<2)>>2]|0;else Ea=va;if(Ea>>>0>=(f[sa+80>>2]|0)>>>0)break e;va=sa+40|0;Y=f[va>>2]|0;ua=fl(Y|0,f[va+4>>2]|0,Ea|0,0)|0;Ff((f[f[sa+64>>2]>>2]|0)+ua|0,Aa|0,Y|0)|0;K=K+1|0;R=f[p>>2]|0}while(K>>>0<(((f[t>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=W+1|0;if((V|0)==(I|0)){O=23;break b}U=f[h>>2]|0;W=V}}}while(0);if((O|0)==23){O=0;qa=f[x>>2]|0}if(!qa){B=1;break}else F=qa}}while(0);qa=f[y>>2]|0;h=f[r>>2]|0;Aa=qa+(((h>>>0)/341|0)<<2)|0;Ea=f[z>>2]|0;Ca=Ea;Ba=qa;if((Ea|0)==(qa|0)){Fa=0;Ga=0}else{Da=(f[x>>2]|0)+h|0;Fa=(f[qa+(((Da>>>0)/341|0)<<2)>>2]|0)+(((Da>>>0)%341|0)*12|0)|0;Ga=(f[Aa>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Aa;Aa=Ga;f:while(1){Ga=Aa;do{Da=Ga;if((Da|0)==(Fa|0))break f;Ga=Da+12|0}while((Ga-(f[h>>2]|0)|0)!=4092);Ga=h+4|0;h=Ga;Aa=f[Ga>>2]|0}f[x>>2]=0;x=Ca-Ba>>2;if(x>>>0>2){Ba=qa;do{lp(f[Ba>>2]|0);Ba=(f[y>>2]|0)+4|0;f[y>>2]=Ba;Ha=f[z>>2]|0;Ia=Ha-Ba>>2}while(Ia>>>0>2);Ja=Ba;Ka=Ha;La=Ia}else{Ja=qa;Ka=Ea;La=x}switch(La|0){case 1:{Ma=170;O=105;break}case 2:{Ma=341;O=105;break}default:{}}if((O|0)==105)f[r>>2]=Ma;if((Ja|0)!=(Ka|0)){Ma=Ja;do{lp(f[Ma>>2]|0);Ma=Ma+4|0}while((Ma|0)!=(Ka|0));Ka=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ka|0))f[z>>2]=y+(~((y+-4-Ka|0)>>>2)<<2)}Ka=f[g>>2]|0;if(!Ka){u=e;return B|0}lp(Ka);u=e;return B|0}function gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+604|0;j=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[s>>2]|0)+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}J=vl(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[t>>2]|0)!=(P|0)){Q=P;R=0;do{S=Q;T=f[S+(R*20|0)>>2]|0;U=S+(R*20|0)+12|0;V=S+(R*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(R*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=S;$=Y;aa=0}while(1){Ff($|0,W+(aa<<2)|0,Z|0)|0;aa=aa+1|0;Y=f[U>>2]|0;if(aa>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Y;$=$+Y|0}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=fl(U|0,f[V+4>>2]|0,ba|0,0)|0;Ff((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;R=R+1|0;Q=f[p>>2]|0}while(R>>>0<(((f[t>>2]|0)-Q|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;P=f[l>>2]|0;Q=P+(K*12|0)|0;if((Q|0)==(L|0))ca=P;else{gf(Q,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[l>>2]|0}Q=(f[ca+(K*12|0)>>2]|0)+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>>1)-da|0;Q=I-R|0;d:do if((R|0)==(Q|0)){ea=R;fa=R}else{P=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-P|0)!=0;V=P+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){ea=R;fa=Q;break d}else break}else if(W){ea=R;fa=Q;break d}else break}while(0);ea=Q;fa=R}while(0);R=f[s>>2]|0;Q=f[R+(N*12|0)>>2]|0;U=Q+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;gf(R+(K*12|0)|0,Q,f[R+(N*12|0)+4>>2]|0);if(ea|0){R=f[z>>2]|0;Q=f[y>>2]|0;U=R-Q>>2;P=f[r>>2]|0;W=f[x>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+P|0)){ic(g);ga=f[r>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0;ja=f[y>>2]|0}else{ga=P;ha=W;ia=R;ja=Q}Q=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=J;f[ka+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!fa){O=23;break}Q=f[z>>2]|0;R=f[y>>2]|0;W=Q-R>>2;P=f[r>>2]|0;U=f[x>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+P|0)){ic(g);la=f[r>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0;oa=f[y>>2]|0}else{la=P;ma=U;na=Q;oa=R}R=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=J;f[pa+8>>2]=K;R=(f[x>>2]|0)+1|0;f[x>>2]=R;qa=R;break}R=f[q>>2]|0;f[R>>2]=J;Q=f[h>>2]|0;if(Q>>>0>1){U=Q;P=J;W=1;while(1){P=(P|0)==(U+-1|0)?0:P+1|0;f[R+(W<<2)>>2]=P;W=W+1|0;V=f[h>>2]|0;if(W>>>0>=V>>>0){ra=V;break}else U=V}}else ra=Q;if(!I)O=23;else{U=ra;W=0;while(1){if(U|0){P=f[q>>2]|0;R=f[k>>2]|0;K=f[G>>2]|0;V=0;do{S=P+(V<<2)|0;f[R+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;sa=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(sa|0){ta=R+(Y<<2)|0;ua=f[j>>2]|0;va=32-ua|0;if((sa|0)>(va|0)){wa=f[i>>2]|0;xa=wa+4|0;if((xa|0)==(f[n>>2]|0)){f[ta>>2]=0;break}else{ya=f[wa>>2]<>2]=wa;f[i>>2]=xa;za=32-wa|0;f[ta>>2]=(f[xa>>2]|0)>>>za|ya>>>(za-va|0);break}}va=f[i>>2]|0;if((va|0)==(f[n>>2]|0)){f[ta>>2]=0;break}f[ta>>2]=f[va>>2]<>>(32-sa|0);ua=(f[j>>2]|0)+sa|0;f[j>>2]=ua;if((ua|0)!=32)break;f[i>>2]=va+4;f[j>>2]=0}while(0);sa=f[S>>2]|0;Y=R+(sa<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(sa<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[t>>2]|0)!=(V|0)){R=V;K=0;do{P=R;sa=f[P+(K*20|0)>>2]|0;Y=P+(K*20|0)+12|0;va=P+(K*20|0)+16|0;ua=(f[k>>2]|0)+(f[P+(K*20|0)+4>>2]<<2)|0;P=f[Y>>2]|0;do if((P|0)==4)Aa=ua;else{ta=f[m>>2]|0;if(!(f[va>>2]|0)){Aa=ta;break}else{Ba=P;Ca=ta;Da=0}while(1){Ff(Ca|0,ua+(Da<<2)|0,Ba|0)|0;Da=Da+1|0;ta=f[Y>>2]|0;if(Da>>>0>=(f[va>>2]|0)>>>0)break;else{Ba=ta;Ca=Ca+ta|0}}Aa=f[m>>2]|0}while(0);va=f[v>>2]|0;if(!(b[sa+84>>0]|0))Ea=f[(f[sa+68>>2]|0)+(va<<2)>>2]|0;else Ea=va;if(Ea>>>0>=(f[sa+80>>2]|0)>>>0)break e;va=sa+40|0;Y=f[va>>2]|0;ua=fl(Y|0,f[va+4>>2]|0,Ea|0,0)|0;Ff((f[f[sa+64>>2]>>2]|0)+ua|0,Aa|0,Y|0)|0;K=K+1|0;R=f[p>>2]|0}while(K>>>0<(((f[t>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=W+1|0;if((V|0)==(I|0)){O=23;break b}U=f[h>>2]|0;W=V}}}while(0);if((O|0)==23){O=0;qa=f[x>>2]|0}if(!qa){B=1;break}else F=qa}}while(0);qa=f[y>>2]|0;h=f[r>>2]|0;Aa=qa+(((h>>>0)/341|0)<<2)|0;Ea=f[z>>2]|0;Ca=Ea;Ba=qa;if((Ea|0)==(qa|0)){Fa=0;Ga=0}else{Da=(f[x>>2]|0)+h|0;Fa=(f[qa+(((Da>>>0)/341|0)<<2)>>2]|0)+(((Da>>>0)%341|0)*12|0)|0;Ga=(f[Aa>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Aa;Aa=Ga;f:while(1){Ga=Aa;do{Da=Ga;if((Da|0)==(Fa|0))break f;Ga=Da+12|0}while((Ga-(f[h>>2]|0)|0)!=4092);Ga=h+4|0;h=Ga;Aa=f[Ga>>2]|0}f[x>>2]=0;x=Ca-Ba>>2;if(x>>>0>2){Ba=qa;do{lp(f[Ba>>2]|0);Ba=(f[y>>2]|0)+4|0;f[y>>2]=Ba;Ha=f[z>>2]|0;Ia=Ha-Ba>>2}while(Ia>>>0>2);Ja=Ba;Ka=Ha;La=Ia}else{Ja=qa;Ka=Ea;La=x}switch(La|0){case 1:{Ma=170;O=105;break}case 2:{Ma=341;O=105;break}default:{}}if((O|0)==105)f[r>>2]=Ma;if((Ja|0)!=(Ka|0)){Ma=Ja;do{lp(f[Ma>>2]|0);Ma=Ma+4|0}while((Ma|0)!=(Ka|0));Ka=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ka|0))f[z>>2]=y+(~((y+-4-Ka|0)>>>2)<<2)}Ka=f[g>>2]|0;if(!Ka){u=e;return B|0}lp(Ka);u=e;return B|0}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+604|0;j=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(M|0)?0:M+1|0;if(J>>>0>=G>>>0){B=0;break a}G=(f[s>>2]|0)+(N*12|0)|0;M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[t>>2]|0)!=(P|0)){Q=P;R=0;do{S=Q;T=f[S+(R*20|0)>>2]|0;U=S+(R*20|0)+12|0;V=S+(R*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(R*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=S;$=Y;aa=0}while(1){Ff($|0,W+(aa<<2)|0,Z|0)|0;aa=aa+1|0;Y=f[U>>2]|0;if(aa>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Y;$=$+Y|0}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=fl(U|0,f[V+4>>2]|0,ba|0,0)|0;Ff((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;R=R+1|0;Q=f[p>>2]|0}while(R>>>0<(((f[t>>2]|0)-Q|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;gf(H+(K*12|0)|0,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ca|0;P=I-R|0;d:do if((R|0)==(P|0)){da=R;ea=R}else{Q=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-Q|0)!=0;V=Q+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){da=R;ea=P;break d}else break}else if(W){da=R;ea=P;break d}else break}while(0);da=P;ea=R}while(0);R=f[s>>2]|0;P=f[R+(N*12|0)>>2]|0;U=P+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;gf(R+(K*12|0)|0,P,f[R+(N*12|0)+4>>2]|0);if(da|0){R=f[z>>2]|0;P=f[y>>2]|0;U=R-P>>2;Q=f[r>>2]|0;W=f[x>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+Q|0)){ic(g);fa=f[r>>2]|0;ga=f[x>>2]|0;ha=f[z>>2]|0;ia=f[y>>2]|0}else{fa=Q;ga=W;ha=R;ia=P}P=ga+fa|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=J;f[ja+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!ea){O=23;break}P=f[z>>2]|0;R=f[y>>2]|0;W=P-R>>2;Q=f[r>>2]|0;U=f[x>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+Q|0)){ic(g);ka=f[r>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0;na=f[y>>2]|0}else{ka=Q;la=U;ma=P;na=R}R=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=J;f[oa+8>>2]=K;R=(f[x>>2]|0)+1|0;f[x>>2]=R;pa=R;break}R=f[q>>2]|0;f[R>>2]=J;P=f[h>>2]|0;if(P>>>0>1){U=P;Q=J;W=1;while(1){Q=(Q|0)==(U+-1|0)?0:Q+1|0;f[R+(W<<2)>>2]=Q;W=W+1|0;V=f[h>>2]|0;if(W>>>0>=V>>>0){qa=V;break}else U=V}}else qa=P;if(!I)O=23;else{U=qa;W=0;while(1){if(U|0){Q=f[q>>2]|0;R=f[k>>2]|0;K=f[G>>2]|0;V=0;do{S=Q+(V<<2)|0;f[R+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;ra=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(ra|0){sa=R+(Y<<2)|0;ta=f[j>>2]|0;ua=32-ta|0;if((ra|0)>(ua|0)){va=f[i>>2]|0;wa=va+4|0;if((wa|0)==(f[n>>2]|0)){f[sa>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[i>>2]=wa;ya=32-va|0;f[sa>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[i>>2]|0;if((ua|0)==(f[n>>2]|0)){f[sa>>2]=0;break}f[sa>>2]=f[ua>>2]<>>(32-ra|0);ta=(f[j>>2]|0)+ra|0;f[j>>2]=ta;if((ta|0)!=32)break;f[i>>2]=ua+4;f[j>>2]=0}while(0);ra=f[S>>2]|0;Y=R+(ra<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(ra<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[t>>2]|0)!=(V|0)){R=V;K=0;do{Q=R;ra=f[Q+(K*20|0)>>2]|0;Y=Q+(K*20|0)+12|0;ua=Q+(K*20|0)+16|0;ta=(f[k>>2]|0)+(f[Q+(K*20|0)+4>>2]<<2)|0;Q=f[Y>>2]|0;do if((Q|0)==4)za=ta;else{sa=f[m>>2]|0;if(!(f[ua>>2]|0)){za=sa;break}else{Aa=Q;Ba=sa;Ca=0}while(1){Ff(Ba|0,ta+(Ca<<2)|0,Aa|0)|0;Ca=Ca+1|0;sa=f[Y>>2]|0;if(Ca>>>0>=(f[ua>>2]|0)>>>0)break;else{Aa=sa;Ba=Ba+sa|0}}za=f[m>>2]|0}while(0);ua=f[v>>2]|0;if(!(b[ra+84>>0]|0))Da=f[(f[ra+68>>2]|0)+(ua<<2)>>2]|0;else Da=ua;if(Da>>>0>=(f[ra+80>>2]|0)>>>0)break e;ua=ra+40|0;Y=f[ua>>2]|0;ta=fl(Y|0,f[ua+4>>2]|0,Da|0,0)|0;Ff((f[f[ra+64>>2]>>2]|0)+ta|0,za|0,Y|0)|0;K=K+1|0;R=f[p>>2]|0}while(K>>>0<(((f[t>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=W+1|0;if((V|0)==(I|0)){O=23;break b}U=f[h>>2]|0;W=V}}}while(0);if((O|0)==23){O=0;pa=f[x>>2]|0}if(!pa){B=1;break}else F=pa}}while(0);pa=f[y>>2]|0;h=f[r>>2]|0;za=pa+(((h>>>0)/341|0)<<2)|0;Da=f[z>>2]|0;Ba=Da;Aa=pa;if((Da|0)==(pa|0)){Ea=0;Fa=0}else{Ca=(f[x>>2]|0)+h|0;Ea=(f[pa+(((Ca>>>0)/341|0)<<2)>>2]|0)+(((Ca>>>0)%341|0)*12|0)|0;Fa=(f[za>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=za;za=Fa;f:while(1){Fa=za;do{Ca=Fa;if((Ca|0)==(Ea|0))break f;Fa=Ca+12|0}while((Fa-(f[h>>2]|0)|0)!=4092);Fa=h+4|0;h=Fa;za=f[Fa>>2]|0}f[x>>2]=0;x=Ba-Aa>>2;if(x>>>0>2){Aa=pa;do{lp(f[Aa>>2]|0);Aa=(f[y>>2]|0)+4|0;f[y>>2]=Aa;Ga=f[z>>2]|0;Ha=Ga-Aa>>2}while(Ha>>>0>2);Ia=Aa;Ja=Ga;Ka=Ha}else{Ia=pa;Ja=Da;Ka=x}switch(Ka|0){case 1:{La=170;O=103;break}case 2:{La=341;O=103;break}default:{}}if((O|0)==103)f[r>>2]=La;if((Ia|0)!=(Ja|0)){La=Ia;do{lp(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ja|0));Ja=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ja|0))f[z>>2]=y+(~((y+-4-Ja|0)>>>2)<<2)}Ja=f[g>>2]|0;if(!Ja){u=e;return B|0}lp(Ja);u=e;return B|0}function ib(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)Eo(g);else{l=j<<2;m=Yk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Dh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=p;s=o;t=j;v=n+8|0}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);lp(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=f[g>>2]|0;s=f[k>>2]|0;t=f[i>>2]|0;v=l}f[n>>2]=r;f[q>>2]=s;f[v>>2]=f[g+8>>2];f[g>>2]=0;v=g+4|0;f[v>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Eo(g);else{s=t<<2;q=Yk(s)|0;f[g>>2]=q;r=q+(t<<2)|0;f[g+8>>2]=r;Dh(q|0,0,s|0)|0;f[v>>2]=r;w=r;x=q;break}else{w=0;x=0}while(0);t=a+128|0;q=f[t>>2]|0;r=f[q>>2]|0;s=q+4|0;if(!r){y=x;z=w;A=q+8|0}else{w=f[s>>2]|0;if((w|0)!=(r|0))f[s>>2]=w+(~((w+-4-r|0)>>>2)<<2);lp(r);r=q+8|0;f[r>>2]=0;f[s>>2]=0;f[q>>2]=0;y=f[g>>2]|0;z=f[v>>2]|0;A=r}f[q>>2]=y;f[s>>2]=z;f[A>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;A=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;ic(g);q=f[z>>2]|0;r=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[A>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[y>>2]|0)+1|0;f[y>>2]=B;a:do if(!B)C=1;else{r=a+104|0;q=d+16|0;v=d+20|0;w=d+28|0;x=a+8|0;n=d+12|0;l=a+92|0;k=a+48|0;j=a+44|0;o=a+36|0;p=a+4|0;D=a+16|0;E=a+88|0;F=a+76|0;G=a+84|0;H=B;while(1){I=f[s>>2]|0;J=H+-1|0;K=I+J|0;L=f[z>>2]|0;M=f[L+(((K>>>0)/341|0)<<2)>>2]|0;N=(K>>>0)%341|0;K=f[M+(N*12|0)>>2]|0;O=f[M+(N*12|0)+4>>2]|0;P=f[M+(N*12|0)+8>>2]|0;f[y>>2]=J;J=f[A>>2]|0;N=J-L>>2;if((1-H-I+((N|0)==0?0:(N*341|0)+-1|0)|0)>>>0>681){lp(f[J+-4>>2]|0);f[A>>2]=(f[A>>2]|0)+-4}J=f[m>>2]|0;N=J+(P*12|0)|0;I=(f[t>>2]|0)+(P*12|0)|0;if(K>>>0>c>>>0){C=0;break a}L=vl(a,K,I,O)|0;if(L>>>0>=(f[i>>2]|0)>>>0){C=0;break a}O=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!O){if(K|0){M=0;do{Q=f[q>>2]|0;c:do if((f[v>>2]|0)!=(Q|0)){R=Q;S=0;do{T=R;U=f[T+(S*20|0)>>2]|0;V=T+(S*20|0)+12|0;W=T+(S*20|0)+16|0;X=(f[N>>2]|0)+(f[T+(S*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;do if((T|0)==4)Y=X;else{Z=f[n>>2]|0;if(!(f[W>>2]|0)){Y=Z;break}else{$=T;aa=Z;ba=0}while(1){Ff(aa|0,X+(ba<<2)|0,$|0)|0;ba=ba+1|0;Z=f[V>>2]|0;if(ba>>>0>=(f[W>>2]|0)>>>0)break;else{$=Z;aa=aa+Z|0}}Y=f[n>>2]|0}while(0);W=f[w>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(W<<2)>>2]|0;else ca=W;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;W=U+40|0;V=f[W>>2]|0;X=fl(V|0,f[W+4>>2]|0,ca|0,0)|0;Ff((f[f[U+64>>2]>>2]|0)+X|0,Y|0,V|0)|0;S=S+1|0;R=f[q>>2]|0}while(S>>>0<(((f[v>>2]|0)-R|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;M=M+1|0}while((M|0)!=(K|0))}}else{if(K>>>0>=3){if((f[x>>2]|0)>>>0>(f[p>>2]|0)>>>0){C=0;break a}M=P+1|0;Q=f[m>>2]|0;R=Q+(M*12|0)|0;if((R|0)==(N|0))da=Q;else{gf(R,f[N>>2]|0,f[J+(P*12|0)+4>>2]|0);da=f[m>>2]|0}R=(f[da+(M*12|0)>>2]|0)+(L<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<>2]=0;Eh(D,R,h);R=(K>>>1)-(f[h>>2]|0)|0;Q=K-R|0;d:do if((R|0)==(Q|0)){ea=R;fa=R}else{S=f[E>>2]|0;V=f[G>>2]|0;do if((V|0)!=(f[F>>2]|0)){X=(f[V>>2]&1<<31-S|0)!=0;W=S+1|0;f[E>>2]=W;if((W|0)==32){f[G>>2]=V+4;f[E>>2]=0;if(X){ea=R;fa=Q;break d}else break}else if(X){ea=R;fa=Q;break d}else break}while(0);ea=Q;fa=R}while(0);R=f[t>>2]|0;Q=f[R+(P*12|0)>>2]|0;V=Q+(L<<2)|0;f[V>>2]=(f[V>>2]|0)+1;gf(R+(M*12|0)|0,Q,f[R+(P*12|0)+4>>2]|0);if(ea|0){R=f[A>>2]|0;Q=f[z>>2]|0;V=R-Q>>2;S=f[s>>2]|0;X=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(X+S|0)){ic(g);ga=f[s>>2]|0;ha=f[y>>2]|0;ia=f[A>>2]|0;ja=f[z>>2]|0}else{ga=S;ha=X;ia=R;ja=Q}Q=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=L;f[ka+8>>2]=P;f[y>>2]=(f[y>>2]|0)+1}if(fa|0){Q=f[A>>2]|0;R=f[z>>2]|0;X=Q-R>>2;S=f[s>>2]|0;V=f[y>>2]|0;if((((X|0)==0?0:(X*341|0)+-1|0)|0)==(V+S|0)){ic(g);la=f[s>>2]|0;ma=f[y>>2]|0;na=f[A>>2]|0;oa=f[z>>2]|0}else{la=S;ma=V;na=Q;oa=R}R=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=L;f[pa+8>>2]=M;f[y>>2]=(f[y>>2]|0)+1}break}R=f[r>>2]|0;f[R>>2]=L;Q=f[i>>2]|0;if(Q>>>0>1){V=Q;S=L;X=1;while(1){S=(S|0)==(V+-1|0)?0:S+1|0;f[R+(X<<2)>>2]=S;X=X+1|0;W=f[i>>2]|0;if(X>>>0>=W>>>0){qa=W;break}else V=W}}else qa=Q;if(K|0){V=qa;X=0;while(1){if(V|0){S=f[r>>2]|0;R=f[l>>2]|0;M=f[I>>2]|0;W=0;do{T=S+(W<<2)|0;f[R+(f[T>>2]<<2)>>2]=0;Z=f[T>>2]|0;ra=(f[a>>2]|0)-(f[M+(Z<<2)>>2]|0)|0;do if(ra|0){sa=R+(Z<<2)|0;ta=f[k>>2]|0;ua=32-ta|0;if((ra|0)>(ua|0)){va=f[j>>2]|0;wa=va+4|0;if((wa|0)==(f[o>>2]|0)){f[sa>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[j>>2]=wa;ya=32-va|0;f[sa>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[j>>2]|0;if((ua|0)==(f[o>>2]|0)){f[sa>>2]=0;break}f[sa>>2]=f[ua>>2]<>>(32-ra|0);ta=(f[k>>2]|0)+ra|0;f[k>>2]=ta;if((ta|0)!=32)break;f[j>>2]=ua+4;f[k>>2]=0}while(0);ra=f[T>>2]|0;Z=R+(ra<<2)|0;f[Z>>2]=f[Z>>2]|f[(f[N>>2]|0)+(ra<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[q>>2]|0;e:do if((f[v>>2]|0)!=(W|0)){R=W;M=0;do{S=R;ra=f[S+(M*20|0)>>2]|0;Z=S+(M*20|0)+12|0;ua=S+(M*20|0)+16|0;ta=(f[l>>2]|0)+(f[S+(M*20|0)+4>>2]<<2)|0;S=f[Z>>2]|0;do if((S|0)==4)za=ta;else{sa=f[n>>2]|0;if(!(f[ua>>2]|0)){za=sa;break}else{Aa=S;Ba=sa;Ca=0}while(1){Ff(Ba|0,ta+(Ca<<2)|0,Aa|0)|0;Ca=Ca+1|0;sa=f[Z>>2]|0;if(Ca>>>0>=(f[ua>>2]|0)>>>0)break;else{Aa=sa;Ba=Ba+sa|0}}za=f[n>>2]|0}while(0);ua=f[w>>2]|0;if(!(b[ra+84>>0]|0))Da=f[(f[ra+68>>2]|0)+(ua<<2)>>2]|0;else Da=ua;if(Da>>>0>=(f[ra+80>>2]|0)>>>0)break e;ua=ra+40|0;Z=f[ua>>2]|0;ta=fl(Z|0,f[ua+4>>2]|0,Da|0,0)|0;Ff((f[f[ra+64>>2]>>2]|0)+ta|0,za|0,Z|0)|0;M=M+1|0;R=f[q>>2]|0}while(M>>>0<(((f[v>>2]|0)-R|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;W=X+1|0;if((W|0)==(K|0))break b;V=f[i>>2]|0;X=W}}}while(0);H=f[y>>2]|0;if(!H){C=1;break}}}while(0);i=f[z>>2]|0;za=f[s>>2]|0;Da=i+(((za>>>0)/341|0)<<2)|0;Ba=f[A>>2]|0;Aa=Ba;Ca=i;if((Ba|0)==(i|0)){Ea=0;Fa=0}else{a=(f[y>>2]|0)+za|0;Ea=(f[i+(((a>>>0)/341|0)<<2)>>2]|0)+(((a>>>0)%341|0)*12|0)|0;Fa=(f[Da>>2]|0)+(((za>>>0)%341|0)*12|0)|0}za=Da;Da=Fa;f:while(1){Fa=Da;do{a=Fa;if((a|0)==(Ea|0))break f;Fa=a+12|0}while((Fa-(f[za>>2]|0)|0)!=4092);Fa=za+4|0;za=Fa;Da=f[Fa>>2]|0}f[y>>2]=0;y=Aa-Ca>>2;if(y>>>0>2){Ca=i;do{lp(f[Ca>>2]|0);Ca=(f[z>>2]|0)+4|0;f[z>>2]=Ca;Ga=f[A>>2]|0;Ha=Ga-Ca>>2}while(Ha>>>0>2);Ia=Ca;Ja=Ga;Ka=Ha}else{Ia=i;Ja=Ba;Ka=y}switch(Ka|0){case 1:{La=170;Ma=103;break}case 2:{La=341;Ma=103;break}default:{}}if((Ma|0)==103)f[s>>2]=La;if((Ia|0)!=(Ja|0)){La=Ia;do{lp(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ja|0));Ja=f[z>>2]|0;z=f[A>>2]|0;if((z|0)!=(Ja|0))f[A>>2]=z+(~((z+-4-Ja|0)>>>2)<<2)}Ja=f[g>>2]|0;if(!Ja){u=e;return C|0}lp(Ja);u=e;return C|0}function jb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)Eo(g);else{l=j<<2;m=Yk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Dh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=p;s=o;t=j;v=n+8|0}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);lp(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=f[g>>2]|0;s=f[k>>2]|0;t=f[i>>2]|0;v=l}f[n>>2]=r;f[q>>2]=s;f[v>>2]=f[g+8>>2];f[g>>2]=0;v=g+4|0;f[v>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Eo(g);else{s=t<<2;q=Yk(s)|0;f[g>>2]=q;r=q+(t<<2)|0;f[g+8>>2]=r;Dh(q|0,0,s|0)|0;f[v>>2]=r;w=r;x=q;break}else{w=0;x=0}while(0);t=a+128|0;q=f[t>>2]|0;r=f[q>>2]|0;s=q+4|0;if(!r){y=x;z=w;A=q+8|0}else{w=f[s>>2]|0;if((w|0)!=(r|0))f[s>>2]=w+(~((w+-4-r|0)>>>2)<<2);lp(r);r=q+8|0;f[r>>2]=0;f[s>>2]=0;f[q>>2]=0;y=f[g>>2]|0;z=f[v>>2]|0;A=r}f[q>>2]=y;f[s>>2]=z;f[A>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;A=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;ic(g);q=f[z>>2]|0;r=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[A>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[y>>2]|0)+1|0;f[y>>2]=B;a:do if(!B)C=1;else{r=a+104|0;q=d+16|0;v=d+20|0;w=d+28|0;x=a+8|0;n=d+12|0;l=a+92|0;k=a+48|0;j=a+44|0;o=a+36|0;p=a+4|0;D=a+16|0;E=a+88|0;F=a+76|0;G=a+84|0;H=B;while(1){I=f[s>>2]|0;J=H+-1|0;K=I+J|0;L=f[z>>2]|0;M=f[L+(((K>>>0)/341|0)<<2)>>2]|0;N=(K>>>0)%341|0;K=f[M+(N*12|0)>>2]|0;O=f[M+(N*12|0)+4>>2]|0;P=f[M+(N*12|0)+8>>2]|0;f[y>>2]=J;J=f[A>>2]|0;N=J-L>>2;if((1-H-I+((N|0)==0?0:(N*341|0)+-1|0)|0)>>>0>681){lp(f[J+-4>>2]|0);f[A>>2]=(f[A>>2]|0)+-4}J=f[m>>2]|0;N=J+(P*12|0)|0;if(K>>>0>c>>>0){C=0;break a}I=f[i>>2]|0;L=(I+-1|0)==(O|0)?0:O+1|0;if(L>>>0>=I>>>0){C=0;break a}I=(f[t>>2]|0)+(P*12|0)|0;O=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!O){if(K|0){M=0;do{Q=f[q>>2]|0;c:do if((f[v>>2]|0)!=(Q|0)){R=Q;S=0;do{T=R;U=f[T+(S*20|0)>>2]|0;V=T+(S*20|0)+12|0;W=T+(S*20|0)+16|0;X=(f[N>>2]|0)+(f[T+(S*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;do if((T|0)==4)Y=X;else{Z=f[n>>2]|0;if(!(f[W>>2]|0)){Y=Z;break}else{$=T;aa=Z;ba=0}while(1){Ff(aa|0,X+(ba<<2)|0,$|0)|0;ba=ba+1|0;Z=f[V>>2]|0;if(ba>>>0>=(f[W>>2]|0)>>>0)break;else{$=Z;aa=aa+Z|0}}Y=f[n>>2]|0}while(0);W=f[w>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(W<<2)>>2]|0;else ca=W;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;W=U+40|0;V=f[W>>2]|0;X=fl(V|0,f[W+4>>2]|0,ca|0,0)|0;Ff((f[f[U+64>>2]>>2]|0)+X|0,Y|0,V|0)|0;S=S+1|0;R=f[q>>2]|0}while(S>>>0<(((f[v>>2]|0)-R|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;M=M+1|0}while((M|0)!=(K|0))}}else{if(K>>>0>=3){if((f[x>>2]|0)>>>0>(f[p>>2]|0)>>>0){C=0;break a}M=P+1|0;gf(J+(M*12|0)|0,f[N>>2]|0,f[J+(P*12|0)+4>>2]|0);Q=(f[(f[m>>2]|0)+(M*12|0)>>2]|0)+(L<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>2]=0;Eh(D,Q,h);Q=(K>>>1)-(f[h>>2]|0)|0;R=K-Q|0;d:do if((Q|0)==(R|0)){da=Q;ea=Q}else{S=f[E>>2]|0;V=f[G>>2]|0;do if((V|0)!=(f[F>>2]|0)){X=(f[V>>2]&1<<31-S|0)!=0;W=S+1|0;f[E>>2]=W;if((W|0)==32){f[G>>2]=V+4;f[E>>2]=0;if(X){da=Q;ea=R;break d}else break}else if(X){da=Q;ea=R;break d}else break}while(0);da=R;ea=Q}while(0);Q=f[t>>2]|0;R=f[Q+(P*12|0)>>2]|0;V=R+(L<<2)|0;f[V>>2]=(f[V>>2]|0)+1;gf(Q+(M*12|0)|0,R,f[Q+(P*12|0)+4>>2]|0);if(da|0){Q=f[A>>2]|0;R=f[z>>2]|0;V=Q-R>>2;S=f[s>>2]|0;X=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(X+S|0)){ic(g);fa=f[s>>2]|0;ga=f[y>>2]|0;ha=f[A>>2]|0;ia=f[z>>2]|0}else{fa=S;ga=X;ha=Q;ia=R}R=ga+fa|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=L;f[ja+8>>2]=P;f[y>>2]=(f[y>>2]|0)+1}if(ea|0){R=f[A>>2]|0;Q=f[z>>2]|0;X=R-Q>>2;S=f[s>>2]|0;V=f[y>>2]|0;if((((X|0)==0?0:(X*341|0)+-1|0)|0)==(V+S|0)){ic(g);ka=f[s>>2]|0;la=f[y>>2]|0;ma=f[A>>2]|0;na=f[z>>2]|0}else{ka=S;la=V;ma=R;na=Q}Q=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=L;f[oa+8>>2]=M;f[y>>2]=(f[y>>2]|0)+1}break}Q=f[r>>2]|0;f[Q>>2]=L;R=f[i>>2]|0;if(R>>>0>1){V=R;S=L;X=1;while(1){S=(S|0)==(V+-1|0)?0:S+1|0;f[Q+(X<<2)>>2]=S;X=X+1|0;W=f[i>>2]|0;if(X>>>0>=W>>>0){pa=W;break}else V=W}}else pa=R;if(K|0){V=pa;X=0;while(1){if(V|0){S=f[r>>2]|0;Q=f[l>>2]|0;M=f[I>>2]|0;W=0;do{T=S+(W<<2)|0;f[Q+(f[T>>2]<<2)>>2]=0;Z=f[T>>2]|0;qa=(f[a>>2]|0)-(f[M+(Z<<2)>>2]|0)|0;do if(qa|0){ra=Q+(Z<<2)|0;sa=f[k>>2]|0;ta=32-sa|0;if((qa|0)>(ta|0)){ua=f[j>>2]|0;va=ua+4|0;if((va|0)==(f[o>>2]|0)){f[ra>>2]=0;break}else{wa=f[ua>>2]<>2]=ua;f[j>>2]=va;xa=32-ua|0;f[ra>>2]=(f[va>>2]|0)>>>xa|wa>>>(xa-ta|0);break}}ta=f[j>>2]|0;if((ta|0)==(f[o>>2]|0)){f[ra>>2]=0;break}f[ra>>2]=f[ta>>2]<>>(32-qa|0);sa=(f[k>>2]|0)+qa|0;f[k>>2]=sa;if((sa|0)!=32)break;f[j>>2]=ta+4;f[k>>2]=0}while(0);qa=f[T>>2]|0;Z=Q+(qa<<2)|0;f[Z>>2]=f[Z>>2]|f[(f[N>>2]|0)+(qa<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[q>>2]|0;e:do if((f[v>>2]|0)!=(W|0)){Q=W;M=0;do{S=Q;qa=f[S+(M*20|0)>>2]|0;Z=S+(M*20|0)+12|0;ta=S+(M*20|0)+16|0;sa=(f[l>>2]|0)+(f[S+(M*20|0)+4>>2]<<2)|0;S=f[Z>>2]|0;do if((S|0)==4)ya=sa;else{ra=f[n>>2]|0;if(!(f[ta>>2]|0)){ya=ra;break}else{za=S;Aa=ra;Ba=0}while(1){Ff(Aa|0,sa+(Ba<<2)|0,za|0)|0;Ba=Ba+1|0;ra=f[Z>>2]|0;if(Ba>>>0>=(f[ta>>2]|0)>>>0)break;else{za=ra;Aa=Aa+ra|0}}ya=f[n>>2]|0}while(0);ta=f[w>>2]|0;if(!(b[qa+84>>0]|0))Ca=f[(f[qa+68>>2]|0)+(ta<<2)>>2]|0;else Ca=ta;if(Ca>>>0>=(f[qa+80>>2]|0)>>>0)break e;ta=qa+40|0;Z=f[ta>>2]|0;sa=fl(Z|0,f[ta+4>>2]|0,Ca|0,0)|0;Ff((f[f[qa+64>>2]>>2]|0)+sa|0,ya|0,Z|0)|0;M=M+1|0;Q=f[q>>2]|0}while(M>>>0<(((f[v>>2]|0)-Q|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;W=X+1|0;if((W|0)==(K|0))break b;V=f[i>>2]|0;X=W}}}while(0);H=f[y>>2]|0;if(!H){C=1;break}}}while(0);i=f[z>>2]|0;ya=f[s>>2]|0;Ca=i+(((ya>>>0)/341|0)<<2)|0;Aa=f[A>>2]|0;za=Aa;Ba=i;if((Aa|0)==(i|0)){Da=0;Ea=0}else{a=(f[y>>2]|0)+ya|0;Da=(f[i+(((a>>>0)/341|0)<<2)>>2]|0)+(((a>>>0)%341|0)*12|0)|0;Ea=(f[Ca>>2]|0)+(((ya>>>0)%341|0)*12|0)|0}ya=Ca;Ca=Ea;f:while(1){Ea=Ca;do{a=Ea;if((a|0)==(Da|0))break f;Ea=a+12|0}while((Ea-(f[ya>>2]|0)|0)!=4092);Ea=ya+4|0;ya=Ea;Ca=f[Ea>>2]|0}f[y>>2]=0;y=za-Ba>>2;if(y>>>0>2){Ba=i;do{lp(f[Ba>>2]|0);Ba=(f[z>>2]|0)+4|0;f[z>>2]=Ba;Fa=f[A>>2]|0;Ga=Fa-Ba>>2}while(Ga>>>0>2);Ha=Ba;Ia=Fa;Ja=Ga}else{Ha=i;Ia=Aa;Ja=y}switch(Ja|0){case 1:{Ka=170;La=101;break}case 2:{Ka=341;La=101;break}default:{}}if((La|0)==101)f[s>>2]=Ka;if((Ha|0)!=(Ia|0)){Ka=Ha;do{lp(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ia|0));Ia=f[z>>2]|0;z=f[A>>2]|0;if((z|0)!=(Ia|0))f[A>>2]=z+(~((z+-4-Ia|0)>>>2)<<2)}Ia=f[g>>2]|0;if(!Ia){u=e;return C|0}lp(Ia);u=e;return C|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+132|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+96|0;m=a+52|0;k=a+48|0;j=a+40|0;i=a+4|0;n=a+32|0;o=a+28|0;C=a+20|0;D=a+92|0;E=a+80|0;F=a+88|0;G=e+4|0;H=e+8|0;I=A;while(1){J=f[r>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[x>>2]=K;K=f[z>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;J=(f[s>>2]|0)+(Q*12|0)|0;if(L>>>0>b>>>0){B=0;break a}M=vl(a,L,J,P)|0;if(M>>>0>=(f[h>>2]|0)>>>0){B=0;break a}P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;do{S=f[O>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[G>>2]=f[S+4>>2];f[H>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[G>>2];f[V+8>>2]=f[H>>2];f[U>>2]=V+12}else Kf(S,e);f[v>>2]=(f[v>>2]|0)+1;N=N+1|0}while(N>>>0>>0);R=23}else{if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=S;U=M;T=1;while(1){U=(U|0)==(V+-1|0)?0:U+1|0;f[N+(T<<2)>>2]=U;T=T+1|0;W=f[h>>2]|0;if(T>>>0>=W>>>0){X=W;break}else V=W}}else X=S;if(!L){R=23;break}V=X;T=0;while(1){if(!V)Y=f[w>>2]|0;else{U=f[q>>2]|0;N=f[w>>2]|0;W=f[J>>2]|0;Z=0;do{$=U+(Z<<2)|0;f[N+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=N+(aa<<2)|0;da=f[m>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[k>>2]|0;ga=fa+4|0;if((ga|0)==(f[j>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[k>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[k>>2]|0;if((ea|0)==(f[j>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[m>>2]|0)+ba|0;f[m>>2]=da;if((da|0)!=32)break;f[k>>2]=ea+4;f[m>>2]=0}while(0);ba=f[$>>2]|0;aa=N+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ba<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0);Y=N}N=f[Y>>2]|0;f[e>>2]=N;f[p>>2]=f[Y+4>>2];f[t>>2]=f[Y+8>>2];Z=f[c>>2]|0;W=Z+4|0;U=f[W>>2]|0;if(U>>>0<(f[Z+8>>2]|0)>>>0){f[U>>2]=N;f[U+4>>2]=f[p>>2];f[U+8>>2]=f[t>>2];f[W>>2]=U+12}else Kf(Z,e);f[v>>2]=(f[v>>2]|0)+1;Z=T+1|0;if(Z>>>0>=L>>>0){R=23;break b}V=f[h>>2]|0;T=Z}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}T=Q+1|0;V=f[l>>2]|0;S=V+(T*12|0)|0;if((S|0)==(O|0))ja=V;else{gf(S,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);ja=f[l>>2]|0}S=(f[ja+(T*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;Z=32-V|0;if((S|0)>(Z|0)){U=f[o>>2]|0;W=U+4|0;if((W|0)==(f[C>>2]|0))ka=0;else{N=f[U>>2]<>2]=U;f[o>>2]=W;ba=32-U|0;ka=(f[W>>2]|0)>>>ba|N>>>(ba-Z|0)}}else{Z=f[o>>2]|0;if((Z|0)!=(f[C>>2]|0)){ba=f[Z>>2]<>>(32-S|0);N=V+S|0;f[n>>2]=N;if((N|0)==32){f[o>>2]=Z+4;f[n>>2]=0;ka=ba}else ka=ba}else ka=0}ba=(L>>>1)-ka|0;Z=L-ba|0;c:do if((ba|0)==(Z|0)){la=ba;ma=ba}else{N=f[D>>2]|0;S=f[F>>2]|0;do if((S|0)!=(f[E>>2]|0)){V=(f[S>>2]&1<<31-N|0)!=0;W=N+1|0;f[D>>2]=W;if((W|0)==32){f[F>>2]=S+4;f[D>>2]=0;if(V){la=ba;ma=Z;break c}else break}else if(V){la=ba;ma=Z;break c}else break}while(0);la=Z;ma=ba}while(0);ba=f[s>>2]|0;Z=f[ba+(Q*12|0)>>2]|0;S=Z+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;gf(ba+(T*12|0)|0,Z,f[ba+(Q*12|0)+4>>2]|0);if(la|0){ba=f[z>>2]|0;Z=f[y>>2]|0;S=ba-Z>>2;N=f[r>>2]|0;V=f[x>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(V+N|0)){ic(g);na=f[r>>2]|0;oa=f[x>>2]|0;pa=f[z>>2]|0;qa=f[y>>2]|0}else{na=N;oa=V;pa=ba;qa=Z}Z=oa+na|0;if((pa|0)==(qa|0))ra=0;else ra=(f[qa+(((Z>>>0)/341|0)<<2)>>2]|0)+(((Z>>>0)%341|0)*12|0)|0;f[ra>>2]=la;f[ra+4>>2]=M;f[ra+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}if(!ma)R=23;else{Z=f[z>>2]|0;ba=f[y>>2]|0;V=Z-ba>>2;N=f[r>>2]|0;S=f[x>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(S+N|0)){ic(g);sa=f[r>>2]|0;ta=f[x>>2]|0;ua=f[z>>2]|0;va=f[y>>2]|0}else{sa=N;ta=S;ua=Z;va=ba}ba=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((ba>>>0)/341|0)<<2)>>2]|0)+(((ba>>>0)%341|0)*12|0)|0;f[wa>>2]=ma;f[wa+4>>2]=M;f[wa+8>>2]=T;ba=(f[x>>2]|0)+1|0;f[x>>2]=ba;xa=ba}}while(0);if((R|0)==23){R=0;xa=f[x>>2]|0}if(!xa){B=1;break}else I=xa}}while(0);xa=f[y>>2]|0;wa=f[r>>2]|0;ma=xa+(((wa>>>0)/341|0)<<2)|0;va=f[z>>2]|0;ua=va;sa=xa;if((va|0)==(xa|0)){ya=0;za=0}else{ta=(f[x>>2]|0)+wa|0;ya=(f[xa+(((ta>>>0)/341|0)<<2)>>2]|0)+(((ta>>>0)%341|0)*12|0)|0;za=(f[ma>>2]|0)+(((wa>>>0)%341|0)*12|0)|0}wa=ma;ma=za;d:while(1){za=ma;do{ta=za;if((ta|0)==(ya|0))break d;za=ta+12|0}while((za-(f[wa>>2]|0)|0)!=4092);za=wa+4|0;wa=za;ma=f[za>>2]|0}f[x>>2]=0;x=ua-sa>>2;if(x>>>0>2){sa=xa;do{lp(f[sa>>2]|0);sa=(f[y>>2]|0)+4|0;f[y>>2]=sa;Aa=f[z>>2]|0;Ba=Aa-sa>>2}while(Ba>>>0>2);Ca=sa;Da=Aa;Ea=Ba}else{Ca=xa;Da=va;Ea=x}switch(Ea|0){case 1:{Fa=170;R=98;break}case 2:{Fa=341;R=98;break}default:{}}if((R|0)==98)f[r>>2]=Fa;if((Ca|0)!=(Da|0)){Fa=Ca;do{lp(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Da|0));Da=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Da|0))f[z>>2]=y+(~((y+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=d;return B|0}lp(Da);u=d;return B|0}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+132|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+96|0;m=a+52|0;k=a+48|0;j=a+40|0;i=a+4|0;n=a+32|0;o=a+28|0;C=a+20|0;D=a+92|0;E=a+80|0;F=a+88|0;G=e+4|0;H=e+8|0;I=A;while(1){J=f[r>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[x>>2]=K;K=f[z>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;if(L>>>0>b>>>0){B=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(P|0)?0:P+1|0;if(M>>>0>=J>>>0){B=0;break a}J=(f[s>>2]|0)+(Q*12|0)|0;P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;do{S=f[O>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[G>>2]=f[S+4>>2];f[H>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[G>>2];f[V+8>>2]=f[H>>2];f[U>>2]=V+12}else Kf(S,e);f[v>>2]=(f[v>>2]|0)+1;N=N+1|0}while(N>>>0>>0);R=23}else{if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=S;U=M;T=1;while(1){U=(U|0)==(V+-1|0)?0:U+1|0;f[N+(T<<2)>>2]=U;T=T+1|0;W=f[h>>2]|0;if(T>>>0>=W>>>0){X=W;break}else V=W}}else X=S;if(!L){R=23;break}V=X;T=0;while(1){if(!V)Y=f[w>>2]|0;else{U=f[q>>2]|0;N=f[w>>2]|0;W=f[J>>2]|0;Z=0;do{$=U+(Z<<2)|0;f[N+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=N+(aa<<2)|0;da=f[m>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[k>>2]|0;ga=fa+4|0;if((ga|0)==(f[j>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[k>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[k>>2]|0;if((ea|0)==(f[j>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[m>>2]|0)+ba|0;f[m>>2]=da;if((da|0)!=32)break;f[k>>2]=ea+4;f[m>>2]=0}while(0);ba=f[$>>2]|0;aa=N+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ba<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0);Y=N}N=f[Y>>2]|0;f[e>>2]=N;f[p>>2]=f[Y+4>>2];f[t>>2]=f[Y+8>>2];Z=f[c>>2]|0;W=Z+4|0;U=f[W>>2]|0;if(U>>>0<(f[Z+8>>2]|0)>>>0){f[U>>2]=N;f[U+4>>2]=f[p>>2];f[U+8>>2]=f[t>>2];f[W>>2]=U+12}else Kf(Z,e);f[v>>2]=(f[v>>2]|0)+1;Z=T+1|0;if(Z>>>0>=L>>>0){R=23;break b}V=f[h>>2]|0;T=Z}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}T=Q+1|0;gf(K+(T*12|0)|0,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);V=(f[(f[l>>2]|0)+(T*12|0)>>2]|0)+(M<<2)|0;f[V>>2]=(f[V>>2]|0)+(1<>2]|0;Z=32-S|0;if((V|0)>(Z|0)){U=f[o>>2]|0;W=U+4|0;if((W|0)==(f[C>>2]|0))ja=0;else{N=f[U>>2]<>2]=U;f[o>>2]=W;ba=32-U|0;ja=(f[W>>2]|0)>>>ba|N>>>(ba-Z|0)}}else{Z=f[o>>2]|0;if((Z|0)!=(f[C>>2]|0)){ba=f[Z>>2]<>>(32-V|0);N=S+V|0;f[n>>2]=N;if((N|0)==32){f[o>>2]=Z+4;f[n>>2]=0;ja=ba}else ja=ba}else ja=0}ba=(L>>>1)-ja|0;Z=L-ba|0;c:do if((ba|0)==(Z|0)){ka=ba;la=ba}else{N=f[D>>2]|0;V=f[F>>2]|0;do if((V|0)!=(f[E>>2]|0)){S=(f[V>>2]&1<<31-N|0)!=0;W=N+1|0;f[D>>2]=W;if((W|0)==32){f[F>>2]=V+4;f[D>>2]=0;if(S){ka=ba;la=Z;break c}else break}else if(S){ka=ba;la=Z;break c}else break}while(0);ka=Z;la=ba}while(0);ba=f[s>>2]|0;Z=f[ba+(Q*12|0)>>2]|0;V=Z+(M<<2)|0;f[V>>2]=(f[V>>2]|0)+1;gf(ba+(T*12|0)|0,Z,f[ba+(Q*12|0)+4>>2]|0);if(ka|0){ba=f[z>>2]|0;Z=f[y>>2]|0;V=ba-Z>>2;N=f[r>>2]|0;S=f[x>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(S+N|0)){ic(g);ma=f[r>>2]|0;na=f[x>>2]|0;oa=f[z>>2]|0;pa=f[y>>2]|0}else{ma=N;na=S;oa=ba;pa=Z}Z=na+ma|0;if((oa|0)==(pa|0))qa=0;else qa=(f[pa+(((Z>>>0)/341|0)<<2)>>2]|0)+(((Z>>>0)%341|0)*12|0)|0;f[qa>>2]=ka;f[qa+4>>2]=M;f[qa+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}if(!la)R=23;else{Z=f[z>>2]|0;ba=f[y>>2]|0;S=Z-ba>>2;N=f[r>>2]|0;V=f[x>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(V+N|0)){ic(g);ra=f[r>>2]|0;sa=f[x>>2]|0;ta=f[z>>2]|0;ua=f[y>>2]|0}else{ra=N;sa=V;ta=Z;ua=ba}ba=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((ba>>>0)/341|0)<<2)>>2]|0)+(((ba>>>0)%341|0)*12|0)|0;f[va>>2]=la;f[va+4>>2]=M;f[va+8>>2]=T;ba=(f[x>>2]|0)+1|0;f[x>>2]=ba;wa=ba}}while(0);if((R|0)==23){R=0;wa=f[x>>2]|0}if(!wa){B=1;break}else I=wa}}while(0);wa=f[y>>2]|0;va=f[r>>2]|0;la=wa+(((va>>>0)/341|0)<<2)|0;ua=f[z>>2]|0;ta=ua;ra=wa;if((ua|0)==(wa|0)){xa=0;ya=0}else{sa=(f[x>>2]|0)+va|0;xa=(f[wa+(((sa>>>0)/341|0)<<2)>>2]|0)+(((sa>>>0)%341|0)*12|0)|0;ya=(f[la>>2]|0)+(((va>>>0)%341|0)*12|0)|0}va=la;la=ya;d:while(1){ya=la;do{sa=ya;if((sa|0)==(xa|0))break d;ya=sa+12|0}while((ya-(f[va>>2]|0)|0)!=4092);ya=va+4|0;va=ya;la=f[ya>>2]|0}f[x>>2]=0;x=ta-ra>>2;if(x>>>0>2){ra=wa;do{lp(f[ra>>2]|0);ra=(f[y>>2]|0)+4|0;f[y>>2]=ra;za=f[z>>2]|0;Aa=za-ra>>2}while(Aa>>>0>2);Ba=ra;Ca=za;Da=Aa}else{Ba=wa;Ca=ua;Da=x}switch(Da|0){case 1:{Ea=170;R=96;break}case 2:{Ea=341;R=96;break}default:{}}if((R|0)==96)f[r>>2]=Ea;if((Ba|0)!=(Ca|0)){Ea=Ba;do{lp(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Ca|0));Ca=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ca|0))f[z>>2]=y+(~((y+-4-Ca|0)>>>2)<<2)}Ca=f[g>>2]|0;if(!Ca){u=d;return B|0}lp(Ca);u=d;return B|0}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;k=a+556|0;j=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[s>>2]|0)+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}J=Gg(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0<3){K=f[q>>2]|0;f[K>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=P;R=J;Q=1;while(1){R=(R|0)==(S+-1|0)?0:R+1|0;f[K+(Q<<2)>>2]=R;Q=Q+1|0;T=f[h>>2]|0;if(Q>>>0>=T>>>0){U=T;break}else S=T}}else U=P;if(!I){O=23;break}S=U;Q=0;while(1){if(!S)V=f[w>>2]|0;else{R=f[q>>2]|0;K=f[w>>2]|0;T=f[G>>2]|0;W=0;do{X=R+(W<<2)|0;f[K+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=K+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[k>>2]|0;da=ca+4|0;if((da|0)==(f[j>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[k>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[k>>2]|0;if((ba|0)==(f[j>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[k>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=K+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=K}K=f[V>>2]|0;f[e>>2]=K;f[p>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;R=f[T>>2]|0;if(R>>>0<(f[W+8>>2]|0)>>>0){f[R>>2]=K;f[R+4>>2]=f[p>>2];f[R+8>>2]=f[t>>2];f[T>>2]=R+12}else Kf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=Q+1|0;if(W>>>0>=I>>>0){O=23;break b}S=f[h>>2]|0;Q=W}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}Q=N+1|0;S=f[l>>2]|0;P=S+(Q*12|0)|0;if((P|0)==(L|0))ga=S;else{gf(P,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(Q*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=I-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{S=f[n>>2]|0;R=f[C>>2]|0;do if((R|0)!=(f[o>>2]|0)){T=(f[R>>2]&1<<31-S|0)!=0;K=S+1|0;f[n>>2]=K;if((K|0)==32){f[C>>2]=R+4;f[n>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[s>>2]|0;P=f[W+(N*12|0)>>2]|0;R=P+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+1;gf(W+(Q*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[z>>2]|0;P=f[y>>2]|0;R=W-P>>2;S=f[r>>2]|0;T=f[x>>2]|0;if((((R|0)==0?0:(R*341|0)+-1|0)|0)==(T+S|0)){ic(g);ka=f[r>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0;na=f[y>>2]|0}else{ka=S;la=T;ma=W;na=P}P=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[oa>>2]=ia;f[oa+4>>2]=J;f[oa+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!ja)O=23;else{P=f[z>>2]|0;W=f[y>>2]|0;T=P-W>>2;S=f[r>>2]|0;R=f[x>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(R+S|0)){ic(g);pa=f[r>>2]|0;qa=f[x>>2]|0;ra=f[z>>2]|0;sa=f[y>>2]|0}else{pa=S;qa=R;ra=P;sa=W}W=qa+pa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((W>>>0)/341|0)<<2)>>2]|0)+(((W>>>0)%341|0)*12|0)|0;f[ta>>2]=ja;f[ta+4>>2]=J;f[ta+8>>2]=Q;W=(f[x>>2]|0)+1|0;f[x>>2]=W;ua=W}}while(0);if((O|0)==23){O=0;ua=f[x>>2]|0}if(!ua){B=1;break}else F=ua}}while(0);ua=f[y>>2]|0;ta=f[r>>2]|0;ja=ua+(((ta>>>0)/341|0)<<2)|0;sa=f[z>>2]|0;ra=sa;pa=ua;if((sa|0)==(ua|0)){va=0;wa=0}else{qa=(f[x>>2]|0)+ta|0;va=(f[ua+(((qa>>>0)/341|0)<<2)>>2]|0)+(((qa>>>0)%341|0)*12|0)|0;wa=(f[ja>>2]|0)+(((ta>>>0)%341|0)*12|0)|0}ta=ja;ja=wa;d:while(1){wa=ja;do{qa=wa;if((qa|0)==(va|0))break d;wa=qa+12|0}while((wa-(f[ta>>2]|0)|0)!=4092);wa=ta+4|0;ta=wa;ja=f[wa>>2]|0}f[x>>2]=0;x=ra-pa>>2;if(x>>>0>2){pa=ua;do{lp(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;xa=f[z>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=pa;Aa=xa;Ba=ya}else{za=ua;Aa=sa;Ba=x}switch(Ba|0){case 1:{Ca=170;O=94;break}case 2:{Ca=341;O=94;break}default:{}}if((O|0)==94)f[r>>2]=Ca;if((za|0)!=(Aa|0)){Ca=za;do{lp(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Aa|0));Aa=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Aa|0))f[z>>2]=y+(~((y+-4-Aa|0)>>>2)<<2)}Aa=f[g>>2]|0;if(!Aa){u=d;return B|0}lp(Aa);u=d;return B|0}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;k=a+556|0;j=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[s>>2]|0)+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}J=vl(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0<3){K=f[q>>2]|0;f[K>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=P;R=J;Q=1;while(1){R=(R|0)==(S+-1|0)?0:R+1|0;f[K+(Q<<2)>>2]=R;Q=Q+1|0;T=f[h>>2]|0;if(Q>>>0>=T>>>0){U=T;break}else S=T}}else U=P;if(!I){O=23;break}S=U;Q=0;while(1){if(!S)V=f[w>>2]|0;else{R=f[q>>2]|0;K=f[w>>2]|0;T=f[G>>2]|0;W=0;do{X=R+(W<<2)|0;f[K+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=K+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[k>>2]|0;da=ca+4|0;if((da|0)==(f[j>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[k>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[k>>2]|0;if((ba|0)==(f[j>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[k>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=K+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=K}K=f[V>>2]|0;f[e>>2]=K;f[p>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;R=f[T>>2]|0;if(R>>>0<(f[W+8>>2]|0)>>>0){f[R>>2]=K;f[R+4>>2]=f[p>>2];f[R+8>>2]=f[t>>2];f[T>>2]=R+12}else Kf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=Q+1|0;if(W>>>0>=I>>>0){O=23;break b}S=f[h>>2]|0;Q=W}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}Q=N+1|0;S=f[l>>2]|0;P=S+(Q*12|0)|0;if((P|0)==(L|0))ga=S;else{gf(P,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(Q*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=I-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{S=f[n>>2]|0;R=f[C>>2]|0;do if((R|0)!=(f[o>>2]|0)){T=(f[R>>2]&1<<31-S|0)!=0;K=S+1|0;f[n>>2]=K;if((K|0)==32){f[C>>2]=R+4;f[n>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[s>>2]|0;P=f[W+(N*12|0)>>2]|0;R=P+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+1;gf(W+(Q*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[z>>2]|0;P=f[y>>2]|0;R=W-P>>2;S=f[r>>2]|0;T=f[x>>2]|0;if((((R|0)==0?0:(R*341|0)+-1|0)|0)==(T+S|0)){ic(g);ka=f[r>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0;na=f[y>>2]|0}else{ka=S;la=T;ma=W;na=P}P=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[oa>>2]=ia;f[oa+4>>2]=J;f[oa+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!ja)O=23;else{P=f[z>>2]|0;W=f[y>>2]|0;T=P-W>>2;S=f[r>>2]|0;R=f[x>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(R+S|0)){ic(g);pa=f[r>>2]|0;qa=f[x>>2]|0;ra=f[z>>2]|0;sa=f[y>>2]|0}else{pa=S;qa=R;ra=P;sa=W}W=qa+pa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((W>>>0)/341|0)<<2)>>2]|0)+(((W>>>0)%341|0)*12|0)|0;f[ta>>2]=ja;f[ta+4>>2]=J;f[ta+8>>2]=Q;W=(f[x>>2]|0)+1|0;f[x>>2]=W;ua=W}}while(0);if((O|0)==23){O=0;ua=f[x>>2]|0}if(!ua){B=1;break}else F=ua}}while(0);ua=f[y>>2]|0;ta=f[r>>2]|0;ja=ua+(((ta>>>0)/341|0)<<2)|0;sa=f[z>>2]|0;ra=sa;pa=ua;if((sa|0)==(ua|0)){va=0;wa=0}else{qa=(f[x>>2]|0)+ta|0;va=(f[ua+(((qa>>>0)/341|0)<<2)>>2]|0)+(((qa>>>0)%341|0)*12|0)|0;wa=(f[ja>>2]|0)+(((ta>>>0)%341|0)*12|0)|0}ta=ja;ja=wa;d:while(1){wa=ja;do{qa=wa;if((qa|0)==(va|0))break d;wa=qa+12|0}while((wa-(f[ta>>2]|0)|0)!=4092);wa=ta+4|0;ta=wa;ja=f[wa>>2]|0}f[x>>2]=0;x=ra-pa>>2;if(x>>>0>2){pa=ua;do{lp(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;xa=f[z>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=pa;Aa=xa;Ba=ya}else{za=ua;Aa=sa;Ba=x}switch(Ba|0){case 1:{Ca=170;O=94;break}case 2:{Ca=341;O=94;break}default:{}}if((O|0)==94)f[r>>2]=Ca;if((za|0)!=(Aa|0)){Ca=za;do{lp(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Aa|0));Aa=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Aa|0))f[z>>2]=y+(~((y+-4-Aa|0)>>>2)<<2)}Aa=f[g>>2]|0;if(!Aa){u=d;return B|0}lp(Aa);u=d;return B|0}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;k=a+556|0;j=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(M|0)?0:M+1|0;if(J>>>0>=G>>>0){B=0;break a}G=(f[s>>2]|0)+(N*12|0)|0;M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0>=3){if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}K=N+1|0;gf(H+(K*12|0)|0,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-T|0;P=I-R|0;c:do if((R|0)==(P|0)){U=R;V=R}else{S=f[n>>2]|0;Q=f[C>>2]|0;do if((Q|0)!=(f[o>>2]|0)){W=(f[Q>>2]&1<<31-S|0)!=0;X=S+1|0;f[n>>2]=X;if((X|0)==32){f[C>>2]=Q+4;f[n>>2]=0;if(W){U=R;V=P;break c}else break}else if(W){U=R;V=P;break c}else break}while(0);U=P;V=R}while(0);R=f[s>>2]|0;P=f[R+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;gf(R+(K*12|0)|0,P,f[R+(N*12|0)+4>>2]|0);if(U|0){R=f[z>>2]|0;P=f[y>>2]|0;Q=R-P>>2;S=f[r>>2]|0;W=f[x>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(W+S|0)){ic(g);Y=f[r>>2]|0;Z=f[x>>2]|0;$=f[z>>2]|0;aa=f[y>>2]|0}else{Y=S;Z=W;$=R;aa=P}P=Z+Y|0;if(($|0)==(aa|0))ba=0;else ba=(f[aa+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[ba>>2]=U;f[ba+4>>2]=J;f[ba+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!V){O=23;break}P=f[z>>2]|0;R=f[y>>2]|0;W=P-R>>2;S=f[r>>2]|0;Q=f[x>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(Q+S|0)){ic(g);ca=f[r>>2]|0;da=f[x>>2]|0;ea=f[z>>2]|0;fa=f[y>>2]|0}else{ca=S;da=Q;ea=P;fa=R}R=da+ca|0;if((ea|0)==(fa|0))ga=0;else ga=(f[fa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ga>>2]=V;f[ga+4>>2]=J;f[ga+8>>2]=K;R=(f[x>>2]|0)+1|0;f[x>>2]=R;ha=R;break}R=f[q>>2]|0;f[R>>2]=J;P=f[h>>2]|0;if(P>>>0>1){Q=P;S=J;W=1;while(1){S=(S|0)==(Q+-1|0)?0:S+1|0;f[R+(W<<2)>>2]=S;W=W+1|0;X=f[h>>2]|0;if(W>>>0>=X>>>0){ia=X;break}else Q=X}}else ia=P;if(!I)O=23;else{Q=ia;W=0;while(1){if(!Q)ja=f[w>>2]|0;else{S=f[q>>2]|0;R=f[w>>2]|0;K=f[G>>2]|0;X=0;do{ka=S+(X<<2)|0;f[R+(f[ka>>2]<<2)>>2]=0;la=f[ka>>2]|0;ma=(f[a>>2]|0)-(f[K+(la<<2)>>2]|0)|0;do if(ma|0){na=R+(la<<2)|0;oa=f[m>>2]|0;pa=32-oa|0;if((ma|0)>(pa|0)){qa=f[k>>2]|0;ra=qa+4|0;if((ra|0)==(f[j>>2]|0)){f[na>>2]=0;break}else{sa=f[qa>>2]<>2]=qa;f[k>>2]=ra;ta=32-qa|0;f[na>>2]=(f[ra>>2]|0)>>>ta|sa>>>(ta-pa|0);break}}pa=f[k>>2]|0;if((pa|0)==(f[j>>2]|0)){f[na>>2]=0;break}f[na>>2]=f[pa>>2]<>>(32-ma|0);oa=(f[m>>2]|0)+ma|0;f[m>>2]=oa;if((oa|0)!=32)break;f[k>>2]=pa+4;f[m>>2]=0}while(0);ma=f[ka>>2]|0;la=R+(ma<<2)|0;f[la>>2]=f[la>>2]|f[(f[L>>2]|0)+(ma<<2)>>2];X=X+1|0}while(X>>>0<(f[h>>2]|0)>>>0);ja=R}R=f[ja>>2]|0;f[e>>2]=R;f[p>>2]=f[ja+4>>2];f[t>>2]=f[ja+8>>2];X=f[c>>2]|0;K=X+4|0;S=f[K>>2]|0;if(S>>>0<(f[X+8>>2]|0)>>>0){f[S>>2]=R;f[S+4>>2]=f[p>>2];f[S+8>>2]=f[t>>2];f[K>>2]=S+12}else Kf(X,e);f[v>>2]=(f[v>>2]|0)+1;X=W+1|0;if(X>>>0>=I>>>0){O=23;break b}Q=f[h>>2]|0;W=X}}}while(0);if((O|0)==23){O=0;ha=f[x>>2]|0}if(!ha){B=1;break}else F=ha}}while(0);ha=f[y>>2]|0;h=f[r>>2]|0;e=ha+(((h>>>0)/341|0)<<2)|0;c=f[z>>2]|0;ja=c;a=ha;if((c|0)==(ha|0)){ua=0;va=0}else{ia=(f[x>>2]|0)+h|0;ua=(f[ha+(((ia>>>0)/341|0)<<2)>>2]|0)+(((ia>>>0)%341|0)*12|0)|0;va=(f[e>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=e;e=va;d:while(1){va=e;do{ia=va;if((ia|0)==(ua|0))break d;va=ia+12|0}while((va-(f[h>>2]|0)|0)!=4092);va=h+4|0;h=va;e=f[va>>2]|0}f[x>>2]=0;x=ja-a>>2;if(x>>>0>2){a=ha;do{lp(f[a>>2]|0);a=(f[y>>2]|0)+4|0;f[y>>2]=a;wa=f[z>>2]|0;xa=wa-a>>2}while(xa>>>0>2);ya=a;za=wa;Aa=xa}else{ya=ha;za=c;Aa=x}switch(Aa|0){case 1:{Ba=170;O=92;break}case 2:{Ba=341;O=92;break}default:{}}if((O|0)==92)f[r>>2]=Ba;if((ya|0)!=(za|0)){Ba=ya;do{lp(f[Ba>>2]|0);Ba=Ba+4|0}while((Ba|0)!=(za|0));za=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(za|0))f[z>>2]=y+(~((y+-4-za|0)>>>2)<<2)}za=f[g>>2]|0;if(!za){u=d;return B|0}lp(za);u=d;return B|0}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+128|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+104|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+92|0;m=a+48|0;k=a+44|0;j=a+36|0;i=a+4|0;n=a+16|0;o=a+88|0;C=a+76|0;D=a+84|0;E=e+4|0;F=e+8|0;G=A;while(1){H=f[r>>2]|0;I=G+-1|0;J=H+I|0;K=f[y>>2]|0;L=f[K+(((J>>>0)/341|0)<<2)>>2]|0;M=(J>>>0)%341|0;J=f[L+(M*12|0)>>2]|0;N=f[L+(M*12|0)+4>>2]|0;O=f[L+(M*12|0)+8>>2]|0;f[x>>2]=I;I=f[z>>2]|0;M=I-K>>2;if((1-G-H+((M|0)==0?0:(M*341|0)+-1|0)|0)>>>0>681){lp(f[I+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}I=f[l>>2]|0;M=I+(O*12|0)|0;H=(f[s>>2]|0)+(O*12|0)|0;if(J>>>0>b>>>0){B=0;break a}K=vl(a,J,H,N)|0;if(K>>>0>=(f[h>>2]|0)>>>0){B=0;break a}N=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!N){if(J|0){L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[E>>2]=f[P+4>>2];f[F>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[E>>2];f[S+8>>2]=f[F>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;L=L+1|0}while(L>>>0>>0)}}else if(J>>>0<3){L=f[q>>2]|0;f[L>>2]=K;P=f[h>>2]|0;if(P>>>0>1){S=P;R=K;Q=1;while(1){R=(R|0)==(S+-1|0)?0:R+1|0;f[L+(Q<<2)>>2]=R;Q=Q+1|0;T=f[h>>2]|0;if(Q>>>0>=T>>>0){U=T;break}else S=T}}else U=P;if(!J)break;S=U;Q=0;while(1){if(!S)V=f[w>>2]|0;else{R=f[q>>2]|0;L=f[w>>2]|0;T=f[H>>2]|0;W=0;do{X=R+(W<<2)|0;f[L+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=L+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[k>>2]|0;da=ca+4|0;if((da|0)==(f[j>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[k>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[k>>2]|0;if((ba|0)==(f[j>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[k>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=L+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[M>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=L}L=f[V>>2]|0;f[e>>2]=L;f[p>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;R=f[T>>2]|0;if(R>>>0<(f[W+8>>2]|0)>>>0){f[R>>2]=L;f[R+4>>2]=f[p>>2];f[R+8>>2]=f[t>>2];f[T>>2]=R+12}else Kf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=Q+1|0;if(W>>>0>=J>>>0)break b;S=f[h>>2]|0;Q=W}}else{if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}Q=O+1|0;S=f[l>>2]|0;P=S+(Q*12|0)|0;if((P|0)==(M|0))ga=S;else{gf(P,f[M>>2]|0,f[I+(O*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(Q*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;Eh(n,P,e);P=(J>>>1)-(f[e>>2]|0)|0;S=J-P|0;c:do if((P|0)==(S|0)){ha=P;ia=P}else{W=f[o>>2]|0;R=f[D>>2]|0;do if((R|0)!=(f[C>>2]|0)){T=(f[R>>2]&1<<31-W|0)!=0;L=W+1|0;f[o>>2]=L;if((L|0)==32){f[D>>2]=R+4;f[o>>2]=0;if(T){ha=P;ia=S;break c}else break}else if(T){ha=P;ia=S;break c}else break}while(0);ha=S;ia=P}while(0);P=f[s>>2]|0;S=f[P+(O*12|0)>>2]|0;R=S+(K<<2)|0;f[R>>2]=(f[R>>2]|0)+1;gf(P+(Q*12|0)|0,S,f[P+(O*12|0)+4>>2]|0);if(ha|0){P=f[z>>2]|0;S=f[y>>2]|0;R=P-S>>2;W=f[r>>2]|0;T=f[x>>2]|0;if((((R|0)==0?0:(R*341|0)+-1|0)|0)==(T+W|0)){ic(g);ja=f[r>>2]|0;ka=f[x>>2]|0;la=f[z>>2]|0;ma=f[y>>2]|0}else{ja=W;ka=T;la=P;ma=S}S=ka+ja|0;if((la|0)==(ma|0))na=0;else na=(f[ma+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[na>>2]=ha;f[na+4>>2]=K;f[na+8>>2]=O;f[x>>2]=(f[x>>2]|0)+1}if(ia|0){S=f[z>>2]|0;P=f[y>>2]|0;T=S-P>>2;W=f[r>>2]|0;R=f[x>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(R+W|0)){ic(g);oa=f[r>>2]|0;pa=f[x>>2]|0;qa=f[z>>2]|0;ra=f[y>>2]|0}else{oa=W;pa=R;qa=S;ra=P}P=pa+oa|0;if((qa|0)==(ra|0))sa=0;else sa=(f[ra+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[sa>>2]=ia;f[sa+4>>2]=K;f[sa+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}break}while(0);G=f[x>>2]|0;if(!G){B=1;break}}}while(0);sa=f[y>>2]|0;ia=f[r>>2]|0;ra=sa+(((ia>>>0)/341|0)<<2)|0;qa=f[z>>2]|0;oa=qa;pa=sa;if((qa|0)==(sa|0)){ta=0;ua=0}else{na=(f[x>>2]|0)+ia|0;ta=(f[sa+(((na>>>0)/341|0)<<2)>>2]|0)+(((na>>>0)%341|0)*12|0)|0;ua=(f[ra>>2]|0)+(((ia>>>0)%341|0)*12|0)|0}ia=ra;ra=ua;d:while(1){ua=ra;do{na=ua;if((na|0)==(ta|0))break d;ua=na+12|0}while((ua-(f[ia>>2]|0)|0)!=4092);ua=ia+4|0;ia=ua;ra=f[ua>>2]|0}f[x>>2]=0;x=oa-pa>>2;if(x>>>0>2){pa=sa;do{lp(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;va=f[z>>2]|0;wa=va-pa>>2}while(wa>>>0>2);xa=pa;ya=va;za=wa}else{xa=sa;ya=qa;za=x}switch(za|0){case 1:{Aa=170;Ba=92;break}case 2:{Aa=341;Ba=92;break}default:{}}if((Ba|0)==92)f[r>>2]=Aa;if((xa|0)!=(ya|0)){Aa=xa;do{lp(f[Aa>>2]|0);Aa=Aa+4|0}while((Aa|0)!=(ya|0));ya=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(ya|0))f[z>>2]=y+(~((y+-4-ya|0)>>>2)<<2)}ya=f[g>>2]|0;if(!ya){u=d;return B|0}lp(ya);u=d;return B|0}function qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=Ka,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+720|0;e=d;g=d+688|0;i=d+656|0;k=d+4|0;if((j[c+38>>1]|0)>514){f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;m=c+8|0;o=c+16|0;p=g+4|0;q=g+8|0;r=a+36|0;t=a+40|0;v=a+60|0;w=a+44|0;x=g+8|0;y=g+12|0;z=g+20|0;A=0;a:while(1){if((A|0)>=(Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0)){B=4;break}C=Na[f[(f[a>>2]|0)+20>>2]&127](a,A)|0;D=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;E=f[(f[(f[D>>2]|0)+8>>2]|0)+(C<<2)>>2]|0;if((f[E+28>>2]|0)==9){C=b[E+24>>0]|0;E=f[l>>2]|0;D=f[i>>2]|0;F=E-D>>2;G=D;D=E;if(C>>>0<=F>>>0){if(C>>>0>>0?(E=G+(C<<2)|0,(D|0)!=(E|0)):0)f[l>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Og(i,C-F|0);F=C<<2;E=m;D=f[E>>2]|0;G=f[E+4>>2]|0;E=o;H=f[E>>2]|0;J=Ul(H|0,f[E+4>>2]|0,F|0,0)|0;E=I;if((G|0)<(E|0)|(G|0)==(E|0)&D>>>0>>0){K=0;break}Ff(f[i>>2]|0,(f[c>>2]|0)+H|0,F|0)|0;H=o;J=Ul(f[H>>2]|0,f[H+4>>2]|0,F|0,0)|0;F=I;H=o;f[H>>2]=J;f[H+4>>2]=F;H=m;D=f[H>>2]|0;E=f[H+4>>2]|0;H=Ul(J|0,F|0,4,0)|0;G=I;if((E|0)<(G|0)|(E|0)==(G|0)&D>>>0>>0){K=0;break}L=f[c>>2]|0;M=L+J|0;b[s>>0]=b[M>>0];b[s+1>>0]=b[M+1>>0];b[s+2>>0]=b[M+2>>0];b[s+3>>0]=b[M+3>>0];N=$(n[s>>2]);M=o;f[M>>2]=H;f[M+4>>2]=G;if(!((E|0)>(G|0)|(E|0)==(G|0)&D>>>0>H>>>0)){K=0;break}D=b[L+H>>0]|0;H=Ul(J|0,F|0,5,0)|0;F=o;f[F>>2]=H;f[F+4>>2]=I;if((D&255)>31){K=0;break}f[g>>2]=1228;f[p>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Ij(g,D&255,f[i>>2]|0,C,N);do if($i(g,f[(f[v>>2]|0)+((((f[t>>2]|0)-(f[r>>2]|0)|0)/24|0)<<2)>>2]|0)|0){C=f[t>>2]|0;if((C|0)==(f[w>>2]|0)){Ae(r,g);O=0;break}f[C>>2]=1228;f[C+4>>2]=f[p>>2];P=C+8|0;f[P>>2]=0;D=C+12|0;f[D>>2]=0;f[C+16>>2]=0;F=(f[y>>2]|0)-(f[x>>2]|0)|0;H=F>>2;if(H|0){if(H>>>0>1073741823){B=20;break a}J=Yk(F)|0;f[D>>2]=J;f[P>>2]=J;f[C+16>>2]=J+(H<<2);H=f[x>>2]|0;F=(f[y>>2]|0)-H|0;if((F|0)>0){Ff(J|0,H|0,F|0)|0;f[D>>2]=J+(F>>>2<<2)}}f[C+20>>2]=f[z>>2];f[t>>2]=(f[t>>2]|0)+24;O=0}else O=1;while(0);f[g>>2]=1228;C=f[q>>2]|0;if(C|0){F=f[y>>2]|0;if((F|0)!=(C|0))f[y>>2]=F+(~((F+-4-C|0)>>>2)<<2);lp(C)}if(O|0){K=0;break}}A=A+1|0}if((B|0)==20)Eo(P);if((B|0)==4){P=a+48|0;A=a+52|0;if((f[A>>2]|0)==(f[P>>2]|0))K=1;else{O=0;y=0;while(1){if(Ph(g,c)|0){q=f[g>>2]|0;Q=q<<31>>31^q>>>1}else Q=y;q=f[P>>2]|0;f[q+(O<<2)>>2]=Q;O=O+1|0;if(O>>>0>=(f[A>>2]|0)-q>>2>>>0){K=1;break}else y=Q}}}Q=f[i>>2]|0;if(Q|0){y=f[l>>2]|0;if((y|0)!=(Q|0))f[l>>2]=y+(~((y+-4-Q|0)>>>2)<<2);lp(Q)}R=K;u=d;return R|0}K=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;f[g+8>>2]=0;y=(K|0)==0;if(y){S=f[(f[a>>2]|0)+20>>2]|0;T=a;U=0}else{if(K>>>0>214748364)Eo(g);l=K*20|0;A=Yk(l)|0;f[g>>2]=A;f[g+8>>2]=A+(K*20|0);Dh(A|0,0,l|0)|0;f[Q>>2]=A+l;l=f[(f[a>>2]|0)+20>>2]|0;A=0;O=0;while(1){P=Na[l&127](a,A)|0;q=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;t=f[(f[(f[q>>2]|0)+8>>2]|0)+(P<<2)>>2]|0;P=f[t+28>>2]|0;q=Zj(P)|0;z=b[t+24>>0]|0;x=f[g>>2]|0;f[x+(A*20|0)>>2]=t;f[x+(A*20|0)+4>>2]=O;f[x+(A*20|0)+8>>2]=P;f[x+(A*20|0)+12>>2]=(q|0)>0?q:0;f[x+(A*20|0)+16>>2]=z;x=z+O|0;A=A+1|0;z=f[(f[a>>2]|0)+20>>2]|0;if(A>>>0>=K>>>0){S=z;T=a;U=x;break}else{l=z;O=x}}}O=Na[S&127](a,0)|0;S=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[(f[S>>2]|0)+8>>2]|0)+(O<<2)>>2]|0;b[l+84>>0]=1;O=f[l+68>>2]|0;S=l+72|0;A=f[S>>2]|0;if((A|0)!=(O|0))f[S>>2]=A+(~((A+-4-O|0)>>>2)<<2);O=c+8|0;A=f[O>>2]|0;S=f[O+4>>2]|0;O=c+16|0;x=O;z=f[x>>2]|0;q=f[x+4>>2]|0;b:do if((S|0)>(q|0)|(S|0)==(q|0)&A>>>0>z>>>0){x=f[c>>2]|0;P=b[x+z>>0]|0;t=Ul(z|0,q|0,1,0)|0;p=I;r=O;f[r>>2]=t;f[r+4>>2]=p;switch(P<<24>>24){case 0:{if(!((S|0)>(p|0)|(S|0)==(p|0)&A>>>0>t>>>0)){V=0;break b}P=Ul(z|0,q|0,2,0)|0;r=O;f[r>>2]=P;f[r+4>>2]=I;r=Ul(z|0,q|0,6,0)|0;w=I;if((S|0)<(w|0)|(S|0)==(w|0)&A>>>0>>0){V=0;break b}v=x+P|0;P=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=O;f[v>>2]=r;f[v+4>>2]=w;Lh(l,P)|0;Em(i);Xf(k,g);P=Sd(i,c,k)|0;w=f[k+16>>2]|0;if(w|0){v=k+20|0;r=f[v>>2]|0;if((r|0)!=(w|0))f[v>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[k>>2]|0;if(w|0){r=k+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;lp(w)}if(!P){V=0;break b}break}case 1:{if(!((S|0)>(p|0)|(S|0)==(p|0)&A>>>0>t>>>0)){V=0;break b}p=b[x+t>>0]|0;t=Ul(z|0,q|0,2,0)|0;P=O;f[P>>2]=t;f[P+4>>2]=I;if((p&255)>6){f[e>>2]=p&255;Ml(4934,e)|0;V=0;break b}P=Ul(z|0,q|0,6,0)|0;w=I;if((S|0)<(w|0)|(S|0)==(w|0)&A>>>0

>>0){V=0;break b}r=x+t|0;t=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=O;f[r>>2]=P;f[r+4>>2]=w;if(!y){w=0;do{r=Na[f[(f[T>>2]|0)+20>>2]&127](a,w)|0;P=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;x=f[(f[(f[P>>2]|0)+8>>2]|0)+(r<<2)>>2]|0;Lh(x,t)|0;b[x+84>>0]=1;r=f[x+68>>2]|0;P=x+72|0;x=f[P>>2]|0;if((x|0)!=(r|0))f[P>>2]=x+(~((x+-4-r|0)>>>2)<<2);w=w+1|0}while(w>>>0>>0)}Xf(i,g);switch(p<<24>>24){case 0:{ue(k,U);w=be(k,c,i)|0;xe(k);if(w)B=77;else W=1;break}case 1:{ue(k,U);w=ae(k,c,i)|0;xe(k);if(w)B=77;else W=1;break}case 2:{we(k,U);w=de(k,c,i)|0;De(k);if(w)B=77;else W=1;break}case 3:{we(k,U);w=ce(k,c,i)|0;De(k);if(w)B=77;else W=1;break}case 4:{se(k,U);w=Hd(k,c,i)|0;pe(k);if(w)B=77;else W=1;break}case 5:{se(k,U);w=Gd(k,c,i)|0;pe(k);if(w)B=77;else W=1;break}case 6:{se(k,U);w=Fd(k,c,i)|0;pe(k);if(w)B=77;else W=1;break}default:W=1}if((B|0)==77)W=0;w=f[i+16>>2]|0;if(w|0){t=i+20|0;r=f[t>>2]|0;if((r|0)!=(w|0))f[t>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[i>>2]|0;if(w|0){r=i+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;lp(w)}if(W|0){V=0;break b}break}default:{V=0;break b}}V=1}else V=0;while(0);W=f[g>>2]|0;if(W|0){g=f[Q>>2]|0;if((g|0)!=(W|0))f[Q>>2]=g+(~(((g+-20-W|0)>>>0)/20|0)*20|0);lp(W)}R=V;u=d;return R|0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ka,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=0;m=o;while(1){s=$(b[m>>0]|0);n[g+(r<<2)>>2]=s;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else m=m+1|0}}else{m=0;r=o;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(h[k>>0]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else k=k+1|0}}else{k=0;u=o;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$(d[l>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else l=l+2|0}}else{l=0;u=o;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){s=$(j[m>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else m=m+2|0}}else{m=0;u=o;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(f[k>>2]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else k=k+4|0}}else{k=0;u=o;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$((f[l>>2]|0)>>>0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else l=l+4|0}}else{l=0;u=o;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){q=m;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else m=m+8|0}}else{m=0;u=o;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){q=k;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else k=k+8|0}}else{k=0;u=o;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;l=r+q|0;while(1){f[g+(o<<2)>>2]=f[l>>2];o=o+1|0;q=b[u>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){C=q;break}else l=l+4|0}}else C=k;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 10:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;q=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;r=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;q=u+r|0;while(1){s=$(+p[q>>3]);n[g+(m<<2)>>2]=s;m=m+1|0;r=b[l>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){D=r;break}else q=q+8|0}}else D=o;q=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 11:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;k=a+40|0;r=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;u=Ul(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;r=l+u|0;while(1){s=$((b[r>>0]|0)!=0&1);n[g+(k<<2)>>2]=s;k=k+1|0;u=b[q>>0]|0;if((k|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){E=u;break}else r=r+1|0}}else E=m;r=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+128|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+104|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+92|0;m=a+48|0;k=a+44|0;j=a+36|0;i=a+4|0;n=a+16|0;o=a+88|0;C=a+76|0;D=a+84|0;E=e+4|0;F=e+8|0;G=A;while(1){H=f[r>>2]|0;I=G+-1|0;J=H+I|0;K=f[y>>2]|0;L=f[K+(((J>>>0)/341|0)<<2)>>2]|0;M=(J>>>0)%341|0;J=f[L+(M*12|0)>>2]|0;N=f[L+(M*12|0)+4>>2]|0;O=f[L+(M*12|0)+8>>2]|0;f[x>>2]=I;I=f[z>>2]|0;M=I-K>>2;if((1-G-H+((M|0)==0?0:(M*341|0)+-1|0)|0)>>>0>681){lp(f[I+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}I=f[l>>2]|0;M=I+(O*12|0)|0;if(J>>>0>b>>>0){B=0;break a}H=f[h>>2]|0;K=(H+-1|0)==(N|0)?0:N+1|0;if(K>>>0>=H>>>0){B=0;break a}H=(f[s>>2]|0)+(O*12|0)|0;N=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!N){if(J|0){L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[E>>2]=f[P+4>>2];f[F>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[E>>2];f[S+8>>2]=f[F>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;L=L+1|0}while(L>>>0>>0)}}else{if(J>>>0>=3){if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}L=O+1|0;gf(I+(L*12|0)|0,f[M>>2]|0,f[I+(O*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(L*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;Eh(n,P,e);P=(J>>>1)-(f[e>>2]|0)|0;S=J-P|0;c:do if((P|0)==(S|0)){T=P;U=P}else{R=f[o>>2]|0;Q=f[D>>2]|0;do if((Q|0)!=(f[C>>2]|0)){V=(f[Q>>2]&1<<31-R|0)!=0;W=R+1|0;f[o>>2]=W;if((W|0)==32){f[D>>2]=Q+4;f[o>>2]=0;if(V){T=P;U=S;break c}else break}else if(V){T=P;U=S;break c}else break}while(0);T=S;U=P}while(0);P=f[s>>2]|0;S=f[P+(O*12|0)>>2]|0;Q=S+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;gf(P+(L*12|0)|0,S,f[P+(O*12|0)+4>>2]|0);if(T|0){P=f[z>>2]|0;S=f[y>>2]|0;Q=P-S>>2;R=f[r>>2]|0;V=f[x>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(V+R|0)){ic(g);X=f[r>>2]|0;Y=f[x>>2]|0;Z=f[z>>2]|0;$=f[y>>2]|0}else{X=R;Y=V;Z=P;$=S}S=Y+X|0;if((Z|0)==($|0))aa=0;else aa=(f[$+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[aa>>2]=T;f[aa+4>>2]=K;f[aa+8>>2]=O;f[x>>2]=(f[x>>2]|0)+1}if(U|0){S=f[z>>2]|0;P=f[y>>2]|0;V=S-P>>2;R=f[r>>2]|0;Q=f[x>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(Q+R|0)){ic(g);ba=f[r>>2]|0;ca=f[x>>2]|0;da=f[z>>2]|0;ea=f[y>>2]|0}else{ba=R;ca=Q;da=S;ea=P}P=ca+ba|0;if((da|0)==(ea|0))fa=0;else fa=(f[ea+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[fa>>2]=U;f[fa+4>>2]=K;f[fa+8>>2]=L;f[x>>2]=(f[x>>2]|0)+1}break}P=f[q>>2]|0;f[P>>2]=K;S=f[h>>2]|0;if(S>>>0>1){Q=S;R=K;V=1;while(1){R=(R|0)==(Q+-1|0)?0:R+1|0;f[P+(V<<2)>>2]=R;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){ga=W;break}else Q=W}}else ga=S;if(J|0){Q=ga;V=0;while(1){if(!Q)ha=f[w>>2]|0;else{R=f[q>>2]|0;P=f[w>>2]|0;L=f[H>>2]|0;W=0;do{ia=R+(W<<2)|0;f[P+(f[ia>>2]<<2)>>2]=0;ja=f[ia>>2]|0;ka=(f[a>>2]|0)-(f[L+(ja<<2)>>2]|0)|0;do if(ka|0){la=P+(ja<<2)|0;ma=f[m>>2]|0;na=32-ma|0;if((ka|0)>(na|0)){oa=f[k>>2]|0;pa=oa+4|0;if((pa|0)==(f[j>>2]|0)){f[la>>2]=0;break}else{qa=f[oa>>2]<>2]=oa;f[k>>2]=pa;ra=32-oa|0;f[la>>2]=(f[pa>>2]|0)>>>ra|qa>>>(ra-na|0);break}}na=f[k>>2]|0;if((na|0)==(f[j>>2]|0)){f[la>>2]=0;break}f[la>>2]=f[na>>2]<>>(32-ka|0);ma=(f[m>>2]|0)+ka|0;f[m>>2]=ma;if((ma|0)!=32)break;f[k>>2]=na+4;f[m>>2]=0}while(0);ka=f[ia>>2]|0;ja=P+(ka<<2)|0;f[ja>>2]=f[ja>>2]|f[(f[M>>2]|0)+(ka<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);ha=P}P=f[ha>>2]|0;f[e>>2]=P;f[p>>2]=f[ha+4>>2];f[t>>2]=f[ha+8>>2];W=f[c>>2]|0;L=W+4|0;R=f[L>>2]|0;if(R>>>0<(f[W+8>>2]|0)>>>0){f[R>>2]=P;f[R+4>>2]=f[p>>2];f[R+8>>2]=f[t>>2];f[L>>2]=R+12}else Kf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=V+1|0;if(W>>>0>=J>>>0)break b;Q=f[h>>2]|0;V=W}}}while(0);G=f[x>>2]|0;if(!G){B=1;break}}}while(0);h=f[y>>2]|0;e=f[r>>2]|0;c=h+(((e>>>0)/341|0)<<2)|0;ha=f[z>>2]|0;a=ha;ga=h;if((ha|0)==(h|0)){sa=0;ta=0}else{fa=(f[x>>2]|0)+e|0;sa=(f[h+(((fa>>>0)/341|0)<<2)>>2]|0)+(((fa>>>0)%341|0)*12|0)|0;ta=(f[c>>2]|0)+(((e>>>0)%341|0)*12|0)|0}e=c;c=ta;d:while(1){ta=c;do{fa=ta;if((fa|0)==(sa|0))break d;ta=fa+12|0}while((ta-(f[e>>2]|0)|0)!=4092);ta=e+4|0;e=ta;c=f[ta>>2]|0}f[x>>2]=0;x=a-ga>>2;if(x>>>0>2){ga=h;do{lp(f[ga>>2]|0);ga=(f[y>>2]|0)+4|0;f[y>>2]=ga;ua=f[z>>2]|0;va=ua-ga>>2}while(va>>>0>2);wa=ga;xa=ua;ya=va}else{wa=h;xa=ha;ya=x}switch(ya|0){case 1:{za=170;Aa=90;break}case 2:{za=341;Aa=90;break}default:{}}if((Aa|0)==90)f[r>>2]=za;if((wa|0)!=(xa|0)){za=wa;do{lp(f[za>>2]|0);za=za+4|0}while((za|0)!=(xa|0));xa=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(xa|0))f[z>>2]=y+(~((y+-4-xa|0)>>>2)<<2)}xa=f[g>>2]|0;if(!xa){u=d;return B|0}lp(xa);u=d;return B|0} +function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=a+16|0;ci(d,b);f[a+28>>2]=0;b=f[a+20>>2]|0;e=f[d>>2]|0;d=e;if((b|0)!=(e|0)){g=(b-e|0)/20|0;e=0;b=0;do{h=X(f[d+(e*20|0)+16>>2]|0,f[d+(e*20|0)+12>>2]|0)|0;b=b>>>0>>0?h:b;e=e+1|0}while(e>>>0>>0);g=f[c>>2]|0;e=f[a>>2]|0;d=g-e|0;if(b>>>0>d>>>0){Rg(a,b-d|0);i=f[a>>2]|0;j=a+12|0;f[j>>2]=i;return}else{k=g;l=e;m=b;n=d}}else{d=f[c>>2]|0;b=f[a>>2]|0;k=d;l=b;m=0;n=d-b|0}if(m>>>0>=n>>>0){i=l;j=a+12|0;f[j>>2]=i;return}n=l+m|0;if((k|0)==(n|0)){i=l;j=a+12|0;f[j>>2]=i;return}f[c>>2]=n;i=l;j=a+12|0;f[j>>2]=i;return}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==8192;return k|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==4096;return k|0}function _f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((xb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=rp(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=xb(a,c,g,i,h)|0;if(!o)s=j;else{Oa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=xb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)qp(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){Ie(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((h|0)==(g|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;lp(h)}lp(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);lp(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(a)}lp(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=i;k=b;while(1){f[j>>2]=f[c>>2];k=k+-1|0;if(!k)break;else j=j+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;j=h-i|0;h=j>>2;k=h+b|0;if(k>>>0>1073741823)Eo(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?k:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;cn(e,13392);f[e>>2]=4748;va(e|0,1128,101)}else{n=Yk(m<<2)|0;break}else n=0;while(0);e=n+(h<<2)|0;k=n+(m<<2)|0;m=e;n=b;while(1){f[m>>2]=f[c>>2];n=n+-1|0;if(!n)break;else m=m+4|0}m=e+(0-h<<2)|0;if((j|0)>0)Ff(m|0,i|0,j|0)|0;f[a>>2]=m;f[g>>2]=e+(b<<2);f[d>>2]=k;if(!i)return;lp(i);return}function bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=In(f[a+8>>2]|0,e)|0;h=In(f[a+12>>2]|0,e)|0;i=In(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=In(f[a+(q<<2)>>2]|0,e)|0;s=In(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=qj(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=In(f[a+(m<<2)>>2]|0,e)|0;j=In(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function cg(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Hn(l,e,0)|0){f[i+48>>2]=1;Wa[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Va[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=Ka,q=0;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=j;j=0;n=0;o=0;while(1){p=$($(1.0)/$(m|0));Xe(g,$($(f[k+(o<<2)>>2]|0)*p),$($(f[k+((o|1)<<2)>>2]|0)*p),e);Ff((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+n|0,e|0,i|0)|0;q=j+1|0;if((q|0)==(c|0)){l=1;break}m=f[a>>2]|0;j=q;n=n+i|0;o=o+2|0}u=d;return l|0}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=vc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;b[s>>0]=b[e>>0];b[s+1>>0]=b[e+1>>0];b[s+2>>0]=b[e+2>>0];b[s+3>>0]=b[e+3>>0];b[s+4>>0]=b[e+4>>0];b[s+5>>0]=b[e+5>>0];b[s+6>>0]=b[e+6>>0];b[s+7>>0]=b[e+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];g=1;return g|0}function fg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=h;j=b;while(1){f[i>>2]=1;j=j+-1|0;if(!j)break;else i=i+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Eo(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;j=m+(l<<2)|0;l=d;m=b;while(1){f[l>>2]=1;m=m+-1|0;if(!m)break;else l=l+4|0}l=d+(0-g<<2)|0;if((i|0)>0)Ff(l|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=d+(b<<2);f[c>>2]=j;if(!h)return;lp(h);return}function hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=dj(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=dj(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=Rh(c)|0;if(h>>>0>4294967279)Eo(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Vd(i,g,e)|0,(j|0)!=0):0)n=cj(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)lp(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}lp(f[e>>2]|0);u=d;return n|0}function jg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Oe(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=Yk(44)|0;f[d>>2]=1536;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];pi(d+32|0,e+24|0);f[d>>2]=1592;g=d}f[a>>2]=g;return}function kg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(k|0)!=(a|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{ag(h,i-l|0,1404);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function lg(a){a=a|0;Ym(a);Ym(a+16|0);Ym(a+32|0);Ym(a+48|0);Ym(a+64|0);Ym(a+80|0);Ym(a+96|0);Ym(a+112|0);Ym(a+128|0);Ym(a+144|0);Ym(a+160|0);Ym(a+176|0);Ym(a+192|0);Ym(a+208|0);Ym(a+224|0);Ym(a+240|0);Ym(a+256|0);Ym(a+272|0);Ym(a+288|0);Ym(a+304|0);Ym(a+320|0);Ym(a+336|0);Ym(a+352|0);Ym(a+368|0);Ym(a+384|0);Ym(a+400|0);Ym(a+416|0);Ym(a+432|0);Ym(a+448|0);Ym(a+464|0);Ym(a+480|0);Ym(a+496|0);return}function mg(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=ip(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){jp(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}Ff((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=i+a|0}}jp(k);return}else{Ff(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){jp(k);return}else{p=1;q=0}do{q=q+j|0;Ff((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+q|0,k|0,j|0)|0;p=p+1|0}while((p|0)!=(c|0));jp(k);return}}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=ip(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){jp(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}Ff((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=h+a|0}}jp(j);return}else{Ff(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){jp(j);return}else{o=1;p=0}do{p=p+i|0;Ff((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+p|0,j|0,i|0)|0;o=o+1|0}while((o|0)!=(c|0));jp(j);return}}function og(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Yk(48)|0;Zn(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Yk(52)|0;$m(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=11693;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;zh(c,g);f[a>>2]=f[e>>2];zh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=d;return}}}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){vd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((h|0)==(g|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);lp(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);lp(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);lp(h)}ah(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function qg(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rc(a,e);return}function rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}lp(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);lp(g);return}function sg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;lp(d)}lp(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);lp(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;lp(i)}lp(j)}lp(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}lp(e);return}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;k=f[g+4>>2]|0;g=Ul(i|0,k|0,4,0)|0;l=I;if((e|0)<(l|0)|(e|0)==(l|0)&d>>>0>>0){m=0;return m|0}n=(f[b>>2]|0)+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=l;do if((j[b+38>>1]|0)<514){l=Ul(i|0,k|0,8,0)|0;n=I;if((e|0)<(n|0)|(e|0)==(n|0)&d>>>0>>0){m=0;return m|0}else{g=c;f[g>>2]=l;f[g+4>>2]=n;break}}while(0);if(!(o&1)){m=0;return m|0}c=(_(o|0)|0)^31;if((c+-1|0)>>>0>28){m=0;return m|0}f[a+8>>2]=c+1;o=2<>2]=o+-1;c=o+-2|0;f[a+16>>2]=c;f[a+20>>2]=(c|0)/2|0;m=1;return m|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;lp(d)}lp(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);lp(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;lp(h)}lp(i)}lp(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;lp(b);return}function vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=ip((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){jp(i);return}if(g<<24>>24>0){g=0;j=0;while(1){a=0;l=j;while(1){b[i+a>>0]=f[k+(l<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else l=l+1|0}Ff((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+j|0,i|0,h|0)|0;g=g+1|0;if((g|0)==(c|0))break;else j=j+h|0}jp(i);return}else{Ff(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1){jp(i);return}else{m=1;n=0}do{n=n+h|0;Ff((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+n|0,i|0,h|0)|0;m=m+1|0}while((m|0)!=(c|0));jp(i);return}}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=Yk(72)|0;nl(c);d=c;if((b|0)<0){Ra[f[(f[c>>2]|0)+4>>2]&127](c);e=0;return e|0}c=a+8|0;g=a+12|0;a=f[g>>2]|0;h=f[c>>2]|0;i=a-h>>2;do if((i|0)<=(b|0)){j=b+1|0;k=a;if(j>>>0>i>>>0){ef(c,j-i|0);break}if(j>>>0>>0?(l=h+(j<<2)|0,(k|0)!=(l|0)):0){j=k;do{k=j+-4|0;f[g>>2]=k;m=f[k>>2]|0;f[k>>2]=0;if(m|0)Ra[f[(f[m>>2]|0)+4>>2]&127](m);j=f[g>>2]|0}while((j|0)!=(l|0))}}while(0);g=(f[c>>2]|0)+(b<<2)|0;b=f[g>>2]|0;f[g>>2]=d;if(!b){e=1;return e|0}Ra[f[(f[b>>2]|0)+4>>2]&127](b);e=1;return e|0}function xg(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Bc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Bc(a,e);return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Ma[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Na[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Na[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Ah(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){lp(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}lp(f[e>>2]|0);u=a;return i|0}function Ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Bj(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Oa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=k;m=0;n=c;o=a;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Oa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=f[g>>2]|0;m=e;n=c-e|0;o=a+e|0}else{l=k;m=0;n=c;o=a}while(0);Ff(l|0,o|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function Bg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Bg(c+8|0);lp(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)lp(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;lp(h)}if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);lp(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)lp(e);lp(d)}if((b[a+11>>0]|0)>=0)return;lp(f[a>>2]|0);return}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;c=a+4|0;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=ik(e,Na[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;i=9;break}e=f[c>>2]|0;if(((h[e+36>>0]|0)<<8&65535)<512){if(!(Na[f[(f[b>>2]|0)+28>>2]&127](b,f[(f[(f[e+4>>2]|0)+8>>2]|0)+(g<<2)>>2]|0)|0)){d=0;i=9;break}}else{j=pj(e,g)|0;if(!j){d=0;i=9;break}if(!(Na[f[(f[b>>2]|0)+28>>2]&127](b,j)|0)){d=0;i=9;break}}a=a+1|0;if((a|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;i=9;break}}if((i|0)==9)return d|0;return 0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=ip((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;jp(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Ul(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}Ff(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;Ff((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+k|0,g|0,a|0)|0;j=j+1|0;if((j|0)>=(b|0)){i=1;q=5;break}else k=k+a|0}if((q|0)==5){jp(g);return i|0}return 0}function Eg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=g;g=0;a:while(1){j=f[a+(g*144|0)>>2]|0;if(((j|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Ma[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Na[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(c|0))break a;j=j+1|0}while((j|0)<(Ma[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=g+1|0;a=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-a|0)/144|0)>>>0){h=0;m=11;break}else g=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(g*144|0)+100>>0]|0)==0?0:m+(g*144|0)+4|0;return h|0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Ul(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Ul(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(_(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(b>>>0<64){b=f[a+12>>2]|0;if(b>>>0<=1){e=0;return e|0}d=f[c>>2]|0;c=1;g=0;while(1){h=(f[d+(g<<2)>>2]|0)>>>0>(f[d+(c<<2)>>2]|0)>>>0?c:g;c=c+1|0;if(c>>>0>=b>>>0){e=h;break}else g=h}return e|0}g=a+580|0;b=f[g>>2]|0;c=32-b|0;d=a+576|0;if((c|0)<4){h=f[d>>2]|0;i=h+4|0;if((i|0)==(f[a+568>>2]|0)){e=0;return e|0}j=f[h>>2]<>2]=h;f[d>>2]=i;k=32-h|0;e=(f[i>>2]|0)>>>k|j>>>(k-c|0);return e|0}c=f[d>>2]|0;if((c|0)==(f[a+568>>2]|0)){e=0;return e|0}a=f[c>>2]<>>28;k=b+4|0;f[g>>2]=k;if((k|0)!=32){e=a;return e|0}f[d>>2]=c+4;f[g>>2]=0;e=a;return e|0}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=e;i=0;b:while(1){j=f[h+(i*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Ma[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Na[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Ma[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=i+1|0;h=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-h|0)/144|0)>>>0)break a;else i=k}m=(f[c>>2]|0)+(i*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function Ig(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;sg(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Ra[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);lp(g);return}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)Eo(d);k=((b+-1|0)>>>5)+1|0;b=Yk(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;$e(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)lp(g);u=c;return}function Kg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Ul(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=1200;f[e+4>>2]=-1;Mn(e,n);o=$i(e,f[a+16>>2]|0)|0;u=c;return o|0}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Eo(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;cn(k,13392);f[k>>2]=4748;va(k|0,1128,101)}else{m=Yk(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ff(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;lp(d);return}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=_e(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=Yk(40)|0;zh(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}wd(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Ng(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)Eo(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=Yk(p)|0;if(g|0)Tm(o,m,g)|0;if(i|0)Tm(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Tm(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)lp(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;_n(o+p|0,l);u=k;return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Dh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Eo(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;Dh(d|0,0,b<<2|0)|0;j=d+(0-g<<2)|0;if((i|0)>0)Ff(j|0,h|0,i|0)|0;f[a>>2]=j;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;lp(h);return}function Pg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}ah(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}lp(e);return}function Qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=Rh(d)|0;if(g>>>0>4294967279)Eo(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=Yk(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){Ff(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(vc(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}lp(f[e>>2]|0);u=a;return g|0}function Rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=h;j=c;do{b[i>>0]=0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=h-j|0;h=i+c|0;if((h|0)<0)Eo(a);k=e-j|0;j=k<<1;e=k>>>0<1073741823?(j>>>0>>0?h:j):2147483647;if(!e)l=0;else l=Yk(e)|0;j=l+i|0;i=l+e|0;e=j;l=c;c=j;do{b[e>>0]=0;e=c+1|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;h=j+(0-e)|0;if((e|0)>0)Ff(h|0,l|0,e|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=i;if(!l)return;lp(l);return}function Sg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ck(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=1228;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Ij(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=$i(c,f[a+16>>2]|0)|0;f[c>>2]=1228;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}e=i;u=d;return e|0}function Ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}ah(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;lp(b);return}function Vg(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Ah(c,g,e)|0;if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}lp(f[e>>2]|0);u=a;return h|0}function Xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=wl(l,i+1|0,15886,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;Th(c,n,0);k=b[h>>0]|0;i=n}Th(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(i|0)!=(h|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Og(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)Eo(b);else if((m|0)==12)return d|0;return 0}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=ip(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Ym(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do{i=i+-16|0;qp(i)}while((i|0)!=(c|0))}jp(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(ud((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function _g(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=dl()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=f[1159];Bl(15975,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;j=Oa[f[(f[262]|0)+16>>2]&31](1048,k,g)|0;k=f[1159]|0;if(j){j=f[g>>2]|0;g=Ma[f[(f[j>>2]|0)+8>>2]&127](j)|0;f[e>>2]=k;f[e+4>>2]=h;f[e+8>>2]=g;Bl(15889,e)}else{f[d>>2]=k;f[d+4>>2]=h;Bl(15934,d)}}Bl(16013,b)}function $g(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;$g(a+20|0);if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)lp(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;lp(g)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)lp(d);lp(c);return}function ah(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0)lp(b);b=f[a>>2]|0;if(!b)return;lp(b);return}function bh(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}f[a+4>>2]=3196;b=f[a+24>>2]|0;if(b|0)lp(b);b=f[a+12>>2]|0;if(!b)return;lp(b);return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(hp()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=_o()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=_o()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)Eo(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;cn(k,13392);f[k>>2]=4748;va(k|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];b=k+(0-g<<2)|0;if((e|0)>0)Ff(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;lp(d);return}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;eg(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}lp(f[g>>2]|0);u=a;return +n}function fh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=4124;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=1;n=h;o=4}else{h=_o()|0;f[h>>2]=75;p=-1}else{m=c;n=a;o=4}if((o|0)==4){o=-2-n|0;a=m>>>0>o>>>0?o:m;f[i+48>>2]=a;m=i+20|0;f[m>>2]=n;f[i+44>>2]=n;o=n+a|0;n=i+16|0;f[n>>2]=o;f[i+28>>2]=o;o=_f(i,d,e)|0;if(!a)p=o;else{a=f[m>>2]|0;b[a+(((a|0)==(f[n>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));ac(i,e,g);k=f[i>>2]|0;if(!k){j=i+4|0;if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);j=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=j;l=e+24|0;qp(l);u=d;return}else{f[a>>2]=k;k=i+4|0;zh(a+4|0,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);l=e+24|0;qp(l);u=d;return}}function hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Oh(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}lp(f[g>>2]|0);u=a;return c|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[a>>2]|0;e=d;if((((f[c>>2]|0)-d|0)/12|0)>>>0>=b>>>0)return;g=a+4|0;if(b>>>0>357913941){h=ra(8)|0;cn(h,13392);f[h>>2]=4748;va(h|0,1128,101)}h=f[g>>2]|0;i=Yk(b*12|0)|0;j=i+(((h-d|0)/12|0)*12|0)|0;k=j;l=i+(b*12|0)|0;b=h;if((b|0)==(e|0))m=k;else{h=j;j=b;do{b=j;j=j+-12|0;f[h+-12>>2]=f[j>>2];f[h+-8>>2]=f[b+-8>>2];f[h+-4>>2]=f[b+-4>>2];h=h+-12|0}while((j|0)!=(e|0));m=h}f[a>>2]=m;f[g>>2]=k;f[c>>2]=l;if(!d)return;lp(d);return}function jh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){jh(h);lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)lp(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;lp(d);return}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=eg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}lp(f[g>>2]|0);u=a;return h|0}function lh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Oh(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}lp(f[g>>2]|0);u=a;return h|0}function mh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ck(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;Ym(a+400|0);f[a+416>>2]=-1;f[a+420>>2]=-1;return}function nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(nh(a,c)|0){j=a;e=Rl(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){e=d+8|0;g=f[e+4>>2]|0;i=d+16|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;if((g|0)>(l|0)|((g|0)==(l|0)?(f[e>>2]|0)>>>0>k>>>0:0)){e=b[(f[d>>2]|0)+k>>0]|0;g=Ul(k|0,l|0,1,0)|0;l=i;f[l>>2]=g;f[l+4>>2]=I;f[a+24>>2]=e&255;break}else{m=0;return m|0}}while(0);m=qc(a,c,d)|0;return m|0}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;Le(a,e,3568);Le(a+12|0,e,3564);fi(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)lp(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}lp(b);d=1;return d|0}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));jg(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);lp(i)}f[a>>2]=f[h>>2];u=e;return}function rh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}l=j+c|0;if((k-j|0)>>>0>>0){Jh(a,k,l-k|0,j,j,0,0);m=b[h>>0]|0}else m=i;if(m<<24>>24<0)n=f[a>>2]|0;else n=a;Pl(n+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=l;else b[h>>0]=l;b[g>>0]=0;_n(n+l|0,g)}u=e;return a|0}function sh(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;lp(a)}lp(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;lp(c)}lp(d)}lp(b);return}function th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Rm(l,c,d)|0;b[g>>0]=0;_n(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Ng(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function uh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+8|0;d=f[c>>2]|0;if(!d){lp(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}lp(g);lp(a);return}function vh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Hh(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function wh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;i=c+54|0;j=c+48|0;k=c+24|0;l=c+36|0;if(!h){f[a>>2]=d;f[k>>2]=g;f[l>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[i>>0]=1;break}if((h|0)!=(d|0)){f[l>>2]=(f[l>>2]|0)+1;b[i>>0]=1;break}l=f[k>>2]|0;if((l|0)==2){f[k>>2]=g;m=g}else m=l;if((f[j>>2]|0)==1&(m|0)==1)b[i>>0]=1}while(0);return}function xh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ra[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}lp(e);return}function yh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Ul(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=yc(a,c,d,e)|0;return g|0}case 1:{g=ad(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)Eo(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=Yk(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Tm(i,g,h)|0;b[e>>0]=0;_n(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=vc(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}Th(c,d-a|0,0);a=Fj(c,0)|0;c=f[b>>2]|0;Ff(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Bh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;do if(!(Hn(a,f[c+8>>2]|0,g)|0)){if(Hn(a,f[c>>2]|0,g)|0){h=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[h>>2]=e;f[i>>2]=d;i=c+40|0;f[i>>2]=(f[i>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[h>>2]=1}}else Pk(0,c,d,e);while(0);return}function Ch(a){a=a|0;qp(a+496|0);qp(a+480|0);qp(a+464|0);qp(a+448|0);qp(a+432|0);qp(a+416|0);qp(a+400|0);qp(a+384|0);qp(a+368|0);qp(a+352|0);qp(a+336|0);qp(a+320|0);qp(a+304|0);qp(a+288|0);qp(a+272|0);qp(a+256|0);qp(a+240|0);qp(a+224|0);qp(a+208|0);qp(a+192|0);qp(a+176|0);qp(a+160|0);qp(a+144|0);qp(a+128|0);qp(a+112|0);qp(a+96|0);qp(a+80|0);qp(a+64|0);qp(a+48|0);qp(a+32|0);qp(a+16|0);qp(a);return}function Dh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b){d=0;f[c>>2]=d;return}e=a+8|0;g=a+4|0;i=0-(h[a+12>>0]|0)&255;j=f[e>>2]|0;k=b;b=0;while(1){l=b<<1;if(j>>>0<4096?(m=f[g>>2]|0,(m|0)>0):0){n=f[a>>2]|0;o=m+-1|0;f[g>>2]=o;m=h[n+o>>0]|0|j<<8;f[e>>2]=m;p=m}else p=j;m=p&255;o=X(p>>>8,i)|0;n=m>>>0>>0;j=n?o+m|0:p-i-o|0;f[e>>2]=j;o=n&1|l;k=k+-1|0;if(!k){d=o;break}else b=o}f[c>>2]=d;return}function Fh(a,b){a=a|0;b=b|0;var c=0;switch(f[(f[a+8>>2]|0)+28>>2]|0){case 2:{vg(a,b);c=1;return c|0}case 1:{vg(a,b);c=1;return c|0}case 4:{mg(a,b);c=1;return c|0}case 3:{mg(a,b);c=1;return c|0}case 6:{ng(a,b);c=1;return c|0}case 5:{ng(a,b);c=1;return c|0}default:{c=0;return c|0}}return 0}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Yd(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(i){Vg(i);lp(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){Vg(i);lp(i)}}else f[e>>2]=0;if(!(f[g>>2]|0)){j=0;u=d;return j|0}g=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;Hf(a+56|0,g,e);j=1;u=d;return j|0}function Hh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(c>>>0>i>>>0){Rg(a,c-i|0);break}if(c>>>0>>0?(i=h+c|0,(g|0)!=(i|0)):0)f[d>>2]=i}else df(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Ul(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Ih(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1368;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}lp(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;lp(c)}lp(d)}lp(a);return}function Jh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)Eo(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=Yk(m)|0;if(g|0)Tm(l,j,g)|0;k=e-h-g|0;if(k|0)Tm(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)lp(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function Kh(a,b){a=a|0;b=b|0;if(!b)return;else{Kh(a,f[b>>2]|0);Kh(a,f[b+4>>2]|0);Qh(b+20|0,f[b+24>>2]|0);lp(b);return}}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=Yk(32)|0,ql(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(g)}g=Zj(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,g)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=fl(e|0,g|0,c|0,0)|0;if(!(Hh(h,0,i,I)|0)){j=0;return j|0}Oi(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(rb(a,g,j,i)|0)){k=0;u=e;return k|0}Je(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Hn(a,b,0)|0))if((b|0)!=0?(g=cg(b,1072,1056,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ua[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=vc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function Ph(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(Ph(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function Qh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Qh(a,f[c>>2]|0);Qh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)lp(f[d>>2]|0);if((b[a+11>>0]|0)<0)lp(f[a>>2]|0);lp(c);return}function Rh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=c;h=a;while(1){if(!(b[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){d=j;e=4;break}else h=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Sh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;d=f[b>>2]|0;if(!d){lp(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g);lp(a);return}function Th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;_n(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;_n(a+c|0,g);b[h>>0]=c;break}else rh(a,c-k|0,d)|0;while(0);u=e;return}function Uh(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}lp(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;lp(c)}lp(d)}lp(a);return}function Vh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=Yk(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=Pe(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Vg(a);lp(a);return}function Xh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Bj(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Oa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=11771;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;ei(uc(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}lp(f[g>>2]|0);u=d;return}function Zh(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;while(1){d=b[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Go(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=d;j=0;k=c}}if((h|0)==5){i=b[f>>0]|0;j=g;k=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=f;f=0;g=k;while(1){g=g+1|0;k=(f*10|0)-i|0;i=(b[g>>0]|0)+-48|0;if(i>>>0>=10){l=k;break}else f=k}}else l=0;return (j|0?l:0-l|0)|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ra[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}lp(e);return}function $h(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3072;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ck(a+232|0);return}function ai(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a&255;e=a&255;if((f[c+76>>2]|0)>=0?(rp(c)|0)!=0:0){if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Xh(c,a)|0;qp(c);j=i}else k=3;do if((k|0)==3){if((e|0)!=(b[c+75>>0]|0)?(i=c+20|0,h=f[i>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=h+1;b[h>>0]=d;j=e;break}j=Xh(c,a)|0}while(0);return j|0}function bi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=a;f=c;c=d;while(1){g=Wk(e|0,f|0,10,0)|0;c=c+-1|0;b[c>>0]=g&255|48;g=e;e=Nn(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=I}h=c;i=e}else{h=d;i=a}if(!i)j=h;else{a=h;h=i;while(1){i=a+-1|0;b[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{a=i;h=(h>>>0)/10|0}}}return j|0}function ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=(e|0)/20|0;if(!e)return;if(g>>>0>214748364)Eo(a);h=Yk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g*20|0);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Ff(h|0,g|0,b|0)|0;f[c>>2]=h+(((b>>>0)/20|0)*20|0);return}function di(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Ul(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;if((i|0)<0){k=0;return k|0}f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function ei(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;sj(g,d&1);d=Mg(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}Mf(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;cn(g,13392);f[g>>2]=4748;va(g|0,1128,101)}g=(f[e>>2]|0)-d|0;h=g>>2;i=Yk(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;if((g|0)>0)Ff(k|0,d|0,g|0)|0;f[a>>2]=k;f[e>>2]=j;f[c>>2]=i+(b<<2);if(!d)return;lp(d);return}function gi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function hi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=qf(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Zh(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function ii(a){a=a|0;var b=0,c=0,d=0,e=0;qp(a+168|0);b=f[a+156>>2]|0;if(b|0){c=a+160|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+136|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=d+-4|0;c=f[b>>2]|0;if(c|0){e=d+(c<<4)|0;do{e=e+-16|0;qp(e)}while((e|0)!=(d|0))}jp(b)}qp(a+120|0);qp(a+80|0);qp(a+64|0);qp(a+24|0);return}function ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[13994+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=87;j=14082;e=5;break}else d=g}if((e|0)==2)if(!d)k=14082;else{i=d;j=14082;e=5}if((e|0)==5)while(1){e=0;d=j;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);i=i+-1|0;if(!i){k=d;break}else{j=d;e=5}}return Lo(k,f[c+20>>2]|0)|0}function li(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Xl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+li(a*18446744073709551616.0,b);h=(f[b>>2]|0)+-64|0;i=g}else{h=0;i=a}f[b>>2]=h;j=i;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Ul(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function oi(a){a=a|0;var b=0,c=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)Eo(a);h=Yk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Ff(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Oa[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=Yk(20)|0;gm(c);d=c;break}case 1:{c=Yk(24)|0;Im(c);d=c;break}case 2:{c=Yk(36)|0;rl(c);d=c;break}case 3:{c=Yk(28)|0;zm(c);d=c;break}default:d=0}f[a>>2]=d;return}function ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Oa[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Eo(a);e=Yk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;e=b;do{pi(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;e=e+-1|0}while((e|0)!=0);return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{uf(a+40|0,b);d=1;return d|0}return 0}function wi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function xi(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function yi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Qi(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function zi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Ai(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){lp(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c);lp(a);return}function Bi(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Ci(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);Kh(a+12|0,f[a+16>>2]|0);Qh(a,f[a+4>>2]|0);lp(a);return}function Di(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b)return;lp(b);return}function Ei(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){lp(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c);lp(a);return}function Fi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){lp(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}lp(g)}lp(a);return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;cc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{ok(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Hi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b)return;lp(b);return}function Ii(a){a=a|0;var b=0,c=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);lp(c);return}function Ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+84>>2]|0;if(!b){nf(a);lp(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);nf(a);lp(a);return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){d=0;return d|0}d=qc(a,b,c)|0;return d|0}function Li(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Wl(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Wl((zc(i,b,Wl(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Mi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=c+16|0;g=f[a>>2]|0;h=c+36|0;i=c+24|0;do if(g){if((g|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[a>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Ni(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);lp(c);return}function Oi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=h[a+12>>0]|0;c=a+8|0;d=f[c>>2]|0;if(d>>>0<4096?(e=a+4|0,g=f[e>>2]|0,(g|0)>0):0){i=f[a>>2]|0;a=g+-1|0;f[e>>2]=a;e=h[i+a>>0]|0|d<<8;f[c>>2]=e;j=e}else j=d;d=j&255;e=0-b&255;b=X(j>>>8,e)|0;a=d>>>0>>0;f[c>>2]=a?b+d|0:j-e-b|0;return a|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(b>>>0<=g>>>0){if(b>>>0>>0?(d=h+b|0,(e|0)!=(d|0)):0)f[c>>2]=d}else Rg(a,b-g|0);g=a+24|0;a=g;b=Ul(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Ri(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;qe(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ek(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}lp(f[c>>2]|0);u=e;return d|0}function Si(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+84>>2]|0;if(!b){nf(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);nf(a);return}function Ti(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;re(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ek(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}lp(f[c>>2]|0);u=e;return d|0}function Vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function Wi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Na[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function Xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(Lh(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Oa[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function Yi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Dh(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{qn(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;qn(a,g,h)}u=f;return}function Zi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function _i(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Hn(a,f[b+8>>2]|0,g)|0)wh(0,b,c,d,e);else{h=f[a+8>>2]|0;Wa[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function $i(a,b){a=a|0;b=b|0;var c=0;c=Yk(40)|0;f[c>>2]=-1;ql(c+8|0);Sa[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;lp(c)}lp(b);return 1}function aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function bj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+4>>2]|0;if(!b){lp(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function dj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function ej(a){a=a|0;var b=0,c=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function fj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2292;qp(a+108|0);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function gj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ih(a);lp(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Ih(a);lp(a);return}function hj(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Th(a,d,0);return}function ij(a){a=a|0;var b=0,c=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function jj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1928;qp(a+108|0);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function kj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function lj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;e=b;g=d+(~((d+-4-e|0)>>>2)<<2)|0;if((d|0)==(b|0))h=b;else{f[c>>2]=g;h=g}f[a+16>>2]=0;f[a+12>>2]=h;if(!b)return;if((h|0)!=(b|0))f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);lp(b);return}function mj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ih(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Ih(a);return}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Hn(a,f[b+8>>2]|0,0)|0)Mi(0,b,c,d);else{e=f[a+8>>2]|0;Ua[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=X(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(rp(d)|0)==0;h=Ag(a,e,d)|0;if(c)i=h;else{qp(d);i=h}}else i=Ag(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function pj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function qj(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=a;a=c;do{d=d+1|0;a=a+1|0;c=b[d>>0]|0;e=b[a>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function rj(a){a=a|0;var b=0,c=0;f[a>>2]=2292;qp(a+108|0);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function sj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;hj(d);Xg(a,d,b);Nm(d);u=c;return}function tj(a){a=a|0;var b=0,c=0;f[a>>2]=1928;qp(a+108|0);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function uj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){d=1;return d|0}d=Na[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return d|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((lm(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function wj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=kg(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function yj(a,b){a=a|0;b=b|0;var c=0;Fk(a);f[a>>2]=1416;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function zj(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Aj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=h[13976+(g&15)>>0]|0|e;g=Xl(g|0,a|0,4)|0;a=I;if((g|0)==0&(a|0)==0){f=d;break}else c=d}}return f|0}function Bj(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Cj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Ej(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Fj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)Eo(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Gj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,Ba(54,g|0)|0):0)b[a+75>>0]=-1;g=pf(a,c,d)|0;u=e;return g|0}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){fc(a,b,c);return}else{mc(a,0,0);return}}function Ij(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Je(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Jj(a,b){a=a|0;b=b|0;var c=0;if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Kj(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Mj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(zl(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Nj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;g=d;while(1){d=g+(c*10|0)|0;e=e+1|0;f[a>>2]=e;g=(b[e>>0]|0)+-48|0;if(g>>>0>=10){h=d;break}else c=d}}else h=0;return h|0}function Oj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Pj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Qj(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;gh(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}lp(f[e>>2]|0);u=a;return c|0}function Rj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(zl(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Tj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=f&7|48;f=Xl(f|0,a|0,3)|0;a=I;if((f|0)==0&(a|0)==0){e=d;break}else c=d}}return e|0}function Uj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Hn(a,f[b+8>>2]|0,g)|0)wh(0,b,c,d,e);return}function Vj(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Ih(a);lp(a);return}Ra[f[(f[c>>2]|0)+4>>2]&127](c);Ih(a);lp(a);return}function Wj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Hf(a+20|0,g,d);u=c;return}function Xj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function Yj(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function Zj(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function _j(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Ul(f[a+32>>2]|0,0,7,0)|0;d=Xl(c|0,I|0,3)|0;c=a+16|0;a=c;e=Ul(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function $j(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Hf(a+20|0,g,d);u=c;return}function ak(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;Ne(c,d,d+12|0);return 1}function ck(){var a=0,b=0;a=Yk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function dk(a){a=a|0;f[a>>2]=3172;bh(a+8|0);lp(a);return}function ek(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;th(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Rh(b)|0;d=Yk(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=ho(d)|0;Ff(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function hk(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Ih(a);return}Ra[f[(f[c>>2]|0)+4>>2]&127](c);Ih(a);return}function ik(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function jk(a){a=a|0;f[a>>2]=3172;bh(a+8|0);return}function kk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;tc(a,b,c,d,e);return}function lk(a){a=a|0;var b=0,c=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Hn(a,f[b+8>>2]|0,0)|0)Mi(0,b,c,d);return}function nk(a){a=a|0;var b=0;f[a>>2]=3440;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Ff(a,c,d)|0;return a|0}function pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b){lp(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Oa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function rk(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function tk(){var a=0,b=0;a=dl()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Wm(f[b+12>>2]|0);Wm(so()|0)}function uk(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function vk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}lp(a);return}function wk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);lp(b)}lp(a);return}function xk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function yk(a){a=a|0;var b=0,c=0;if(Ro(a)|0?(b=no(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)lp(b);return}function zk(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function Ak(a){a=a|0;var b=0,c=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;Nb(a,b,c);return}function Ck(a){a=a|0;zk(a);zk(a+40|0);Ym(a+80|0);zk(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,5,6,c)|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,b,3,4,c)|0}function Fk(a){a=a|0;var b=0;f[a>>2]=1256;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return bd(a,b,1,2,c)|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;return Zc(a,b,3,4,c)|0}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,5,6,c)|0}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;Ff(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;return cd(a,b,1,2,c)|0}function Lk(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Mk(){var a=0,b=0;a=Yk(24)|0;f[a>>2]=1228;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Nk(a){a=a|0;var c=0;Oj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Ok(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;lp(b)}lp(a);return}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Qk(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Rk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Sk(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=Ka;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function Uk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;lp(b)}lp(a);return}function Vk(a){a=a|0;var b=0;On(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;zc(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function Xk(a){a=a|0;var b=0;$l(a);f[a>>2]=3580;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Yk(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0){c=a;break}a=po()|0;if(!a){c=0;break}Qa[a&3]()}return c|0}function Zk(a){a=a|0;f[a>>2]=2548;qp(a+88|0);lp(a);return}function _k(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b)return;lp(b);return}function $k(a){a=a|0;f[a>>2]=2632;qp(a+88|0);lp(a);return}function al(a){a=a|0;f[a>>2]=2716;qp(a+88|0);lp(a);return}function bl(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=op(f[a+60>>2]|0)|0;f[c>>2]=d;d=lm(Ca(6,c|0)|0)|0;u=b;return d|0}function cl(a){a=a|0;f[a>>2]=2548;qp(a+88|0);return}function dl(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(17024,3)|0)){b=Fa(f[4257]|0)|0;u=a;return b|0}else Bl(16164,a);return 0}function el(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b)return;lp(b);return}function fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=fk(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Dk(b,c,d)|0}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ek(b,c,d)|0}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $d(b,c,d)|0}function jl(a){a=a|0;f[a>>2]=2800;qp(a+88|0);lp(a);return}function kl(a){a=a|0;var b=0;b=u;u=u+16|0;Xb(a);if(!(Ia(f[4257]|0,0)|0)){u=b;return}else Bl(16263,b)}function ll(a){a=a|0;f[a>>2]=2632;qp(a+88|0);return}function ml(a){a=a|0;f[a>>2]=2716;qp(a+88|0);return}function nl(a){a=a|0;var b=0;Fk(a);f[a>>2]=1312;b=a+36|0;a=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gk(b,c,d)|0}function pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hk(b,c,d)|0}function ql(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function rl(a){a=a|0;Im(a);f[a>>2]=2884;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kk(b,c,d)|0}function tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ik(b,c,d)|0}function ul(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+12>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=fh(a,b,c,g)|0;u=e;return d|0}function xl(a){a=a|0;f[a>>2]=2800;qp(a+88|0);return}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function zl(a,b,c){a=a|0;b=b|0;c=c|0;return Tk(a,b,c)|0}function Al(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 Pa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[906]|0;_f(b,a,d)|0;ai(10,b)|0;Da()}function Cl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Na[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return ik(b,c)|0}function El(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Na[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Fl(a){a=a|0;Id(a);lp(a);return}function Gl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Na[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Hl(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bf(b,c,d)|0}function Jl(){var a=0;a=u;u=u+16|0;if(!(Ga(17028,104)|0)){u=a;return}else Bl(16213,a)}function Kl(a){a=a|0;Jd(a);lp(a);return}function Ll(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;Wa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Ml(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=_f(f[999]|0,a,d)|0;u=c;return b|0}function Nl(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ma[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mh(b,c,d)|0}function Pl(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Dh(a|0,(Mo(c)|0)&255|0,b|0)|0;return a|0}function Ql(a){a=a|0;return 4}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)lp(f[c>>2]|0);lp(a);return}function Tl(){}function Ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Vl(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=bg(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;return Ri(a,b,c)|0}function Zl(a){a=a|0;qd(a);lp(a);return}function _l(a){a=a|0;return 5}function $l(a){a=a|0;var b=0;f[a>>2]=3608;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function am(a){a=a|0;return 6}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bk(b,c,d)|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function dm(a,b,c){a=a|0;b=b|0;c=c|0;return Dl(a,b,c)|0}function em(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ma[f[(f[b>>2]|0)+28>>2]&127](b)|0}function fm(a,b,c){a=a|0;b=b|0;c=c|0;return We(b,c)|0}function gm(a){a=a|0;f[a>>2]=1368;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function hm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ma[f[(f[b>>2]|0)+24>>2]&127](b)|0}function im(a,b){a=a|0;b=b|0;Yh(a,b);return}function jm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0}function km(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function lm(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=_o()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;return Ui(a,b,c)|0}function nm(a,b,c){a=a|0;b=b|0;c=c|0;return Wg(a,b,c)|0}function om(a,b,c){a=a|0;b=b|0;c=c|0;return kh(a,b,c)|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;return zg(a,b,c)|0}function qm(a,b,c){a=a|0;b=b|0;c=c|0;return +(+eh(a,b,c))}function rm(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function sm(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function tm(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function um(a,b,c){a=a|0;b=b|0;c=c|0;return qi(a,b,c)|0}function vm(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function wm(a,b,c){a=a|0;b=b|0;c=c|0;return Pm(b,c)|0}function xm(a,b,c){a=a|0;b=b|0;c=c|0;return lh(a,b,c)|0}function ym(a,b,c){a=a|0;b=b|0;c=c|0;return hh(a,b,c)|0}function zm(a){a=a|0;Im(a);f[a>>2]=2376;f[a+24>>2]=-1;return}function Am(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;return Nf(a,b,c)|0}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;return ig(b,c)|0}function Dm(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Em(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function Fm(){var a=0;a=Yk(40)|0;f[a>>2]=-1;ql(a+8|0);return a|0}function Gm(){var a=0;a=Yk(8)|0;f[a>>2]=1200;f[a+4>>2]=-1;return a|0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Qg(a,b,c)|0}function Im(a){a=a|0;gm(a);f[a>>2]=1476;f[a+20>>2]=0;return}function Jm(a,b){a=a|0;b=b|0;im(a,b);return}function Km(a){a=a|0;var b=0;if(!a)b=0;else b=(cg(a,1072,1160,0)|0)!=0;return b&1|0}function Lm(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Mm(a,b){a=a|0;b=b|0;return Qj(a,b)|0}function Nm(a){a=a|0;if((b[a+11>>0]|0)<0)lp(f[a>>2]|0);return}function Om(a){a=a|0;if(!a)return;Ra[f[(f[a>>2]|0)+4>>2]&127](a);return}function Pm(a,b){a=a|0;b=b|0;return aj(a,b)|0}function Qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ua[a&7](b|0,c|0,d|0,e|0)}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ok(a|0,b|0,c|0)|0;return a|0}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;return dn(b,c)|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Ff(a|0,b|0,c|0)|0;return a|0}function Um(a,b){a=a|0;b=b|0;return -1}function Vm(a){a=a|0;return 3}function Wm(a){a=a|0;var b=0;b=u;u=u+16|0;Qa[a&3]();Bl(16316,b)}function Xm(a,b){a=a|0;b=b|0;return Vn(a,b)|0}function Ym(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function Zm(a){a=a|0;rg(a);lp(a);return}function _m(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function $m(a){a=a|0;ln(a);f[a>>2]=3012;f[a+48>>2]=0;return}function an(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&31](b|0,c|0,d|0)|0}function bn(a,b,c){a=a|0;b=b|0;c=c|0;ul(a,b,c);return}function cn(a,b){a=a|0;b=b|0;f[a>>2]=4728;gk(a+4|0,b);return}function dn(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function en(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=ch(a,b,0)|0;return c|0}function fn(a){a=a|0;if(!a)return;qp(a+24|0);lp(a);return}function gn(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function hn(){var a=0;a=Yk(64)|0;Oj(a);return a|0}function jn(a,b){a=a|0;b=b|0;return $(pn(a,b))}function kn(a){a=a|0;return f[a+8>>2]|0}function ln(a){a=a|0;nk(a);f[a>>2]=2952;f[a+44>>2]=0;return}function mn(a){a=a|0;if(!a)return;jh(a);lp(a);return}function nn(a,b){a=a|0;b=b|0;return bo(a,b)|0}function on(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function pn(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function qn(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Ag(b,c,a)|0;return}function rn(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function tn(){var a=0;a=Yk(96)|0;Nk(a);return a|0}function un(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function vn(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function wn(a){a=a|0;var b=0;b=(hp()|0)+188|0;return ki(a,f[b>>2]|0)|0}function xn(){var a=0;a=Yk(16)|0;_m(a);return a|0}function yn(){var a=0;a=Yk(40)|0;zk(a);return a|0}function zn(a,b){a=a|0;b=b|0;return 1}function An(a,b){a=a|0;b=b|0;return Kn(a,b)|0}function Bn(a,b){a=a|0;b=b|0;return Ln(a,b)|0}function Cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Dn(a,b){a=a|0;b=b|0;return $n(a,b)|0}function En(){var a=0;a=Yk(12)|0;Tn(a);return a|0}function Fn(a){a=a|0;Ih(a);lp(a);return}function Gn(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function In(a,b){a=a|0;b=b|0;var c=0;c=Yn(a|0)|0;return ((b|0)==0?a:c)|0}function Jn(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Kn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Ln(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Mn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zc(a,b,c,d,0)|0}function On(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Pn(){var a=0;a=Yk(84)|0;$l(a);return a|0}function Qn(a){a=a|0;Ig(a);lp(a);return}function Rn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Sn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Tn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Un(a){a=a|0;f[a>>2]=4728;yk(a+4|0);return}function Vn(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&127](b|0,c|0)|0}function Xn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Yn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Zn(a){a=a|0;ln(a);f[a>>2]=3356;return}function _n(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function $n(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function ao(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function bo(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function co(a){a=a|0;return $(n[a+20>>2])}function eo(a){a=a|0;return f[a+4>>2]|0}function fo(a){a=a|0;if(!a)return;lp(a);return}function go(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function ho(a){a=a|0;return a+12|0}function io(a){a=a|0;return f[a+88>>2]|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function ko(){var a=0;a=Yk(40)|0;Vk(a);return a|0}function lo(){var a=0;a=Yk(108)|0;Xk(a);return a|0}function mo(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function no(a){a=a|0;return a+-12|0}function oo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function po(){var a=0;a=f[4258]|0;f[4258]=a+0;return a|0}function qo(a){a=a|0;return Po(a+4|0)|0}function ro(a){a=a|0;return f[a+56>>2]|0}function so(){var a=0;a=f[1158]|0;f[1158]=a+0;return a|0}function to(a){a=a|0;nf(a);lp(a);return}function uo(a){a=a|0;qp(a);lp(a);return}function vo(a){a=a|0;return b[a+24>>0]|0}function wo(a,b){a=a|0;b=b|0;return 0}function xo(a){a=a|0;return f[a+40>>2]|0}function yo(a){a=a|0;return f[a+48>>2]|0}function zo(a,b){a=a|0;b=b|0;return Ma[a&127](b|0)|0}function Ao(a){a=a|0;return f[a+60>>2]|0}function Bo(a){a=a|0;return f[a+28>>2]|0}function Co(a){a=a|0;sa(a|0)|0;tk()}function Do(a){a=a|0;Un(a);lp(a);return}function Eo(a){a=a|0;Da()}function Fo(a,b){a=a|0;b=b|0;u=a;v=b}function Go(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ho(a){a=a|0;return (f[a>>2]|0)==0|0}function Io(a){a=a|0;return f[a+80>>2]|0}function Jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Ko(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function Lo(a,b){a=a|0;b=b|0;return Vl(a,b)|0}function Mo(a){a=a|0;return a&255|0}function No(a){a=a|0;f[a>>2]=0;return}function Oo(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Po(a){a=a|0;return f[a>>2]|0}function Qo(a){a=a|0;return 2}function Ro(a){a=a|0;return 1}function So(a,b){a=+a;b=b|0;return +(+li(a,b))}function To(){return 3}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Vo(){return -4}function Wo(){return 4}function Xo(){return -3}function Yo(){return 1}function Zo(){return 2}function _o(){return (hp()|0)+64|0}function $o(){return -5}function ap(a,b){a=a|0;b=b|0;aa(1);return 0}function bp(a){a=a|0;Qa[a&3]()}function cp(){return -2}function dp(){ua()}function ep(){return -1}function fp(a,b){a=a|0;b=b|0;aa(6)}function gp(){return 0}function hp(){return vp()|0}function ip(a){a=a|0;return Yk(a)|0}function jp(a){a=a|0;lp(a);return}function kp(a){a=a|0;u=a}function lp(a){a=a|0;Xb(a);return}function mp(a){a=a|0;I=a}function np(){return 16960}function op(a){a=a|0;return a|0}function pp(a){a=a|0;aa(0);return 0}function qp(a){a=a|0;return}function rp(a){a=a|0;return 0}function sp(){return I|0}function tp(){return u|0}function up(a){a=a|0;aa(5)}function vp(){return 3752}function wp(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Pa=[op,Po,Qo,qn,Ao,Qo,Vb,zd,nn,co,qp,qp,Qo,qp,Qo,Qo,Ej,Po,Ej,Pl,Ej,Vm,Cj,Qo,_l,Cj,Qo,am,Ci,Qo,Ao,Qo,Ej,Po,Ej,Pl,Ej,Vm,Cj,Qo,_l,Cj,Qo,am,Ci,Qo,Ao,Po,qp,co,Qo,qp,Qo,Po,qp,co,Qo,qp,Qo,Vm,am,yi,Qo,Ao,am,yi,Qo,Ao,am,yi,Qo,Ao,am,yi,Qo,Ao,Je,Qo,Qo,Ml,yd,Yi,Qo,qp,ff,em,jm,hm,gb,Qo,co,jn,We,ee,_e,eb,Qo,co,jn,fb,Qo,co,jn,Cb,$g,qp,Qo,fi,mi,_k,po,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op];var Qa=[$o,Dj,Kf,gc,Jj,fn,vo,yn,Tb,ub,Am,yn,Fg,Nd,Bg,vj,ui,si,sj,$c,Um,vo,Pf,tc,vo,Xj,od,vo,Xj,Gd,vo,Qj,Ne,pk,tc,vo,Xj,od,vo,Xj,Gd,vo,Qj,Ne,pk,gg,Um,vo,wg,Um,vo,Ig,vo,Nj,nf,pk,vo,Nj,nf,pk,vo,Nj,Ze,pk,vo,Nj,Ze,pk,sm,we,vo,vo,Fl,Dl,Bl,vm,Hg,Kg,Yb,Ye,xe,ve,vm,Hg,Kg,Yb,vm,Hg,Kg,Yb,of,vk,yg,of,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o];var Ra=[No,cm,Tk,Zi,ul,Gg,vl,ze,xc,Lj,Ng,rh,Rj,Wg,Mi,sf,tj,Gj,Jk,Ph,No,No,No,No,No,No,No,No,No,No,No,No];var Sa=[Bn,Lc,bc,Wb,yb,Zc,dd,lc,cc,Xb,xb,Xc,cd,kc,Ff,Bf,oc,qc,sc,uc,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn];var Ta=[wp,dp,eh,Il];var Ua=[up,pp,jp,zk,nk,ij,ap,Lg,Pn,Kh,En,ug,Zm,Ck,yk,jk,ap,Uj,Uj,Uj,oi,ji,Oi,Fi,hj,_i,yj,qj,pp,jp,Uj,Uj,ni,hi,Ki,Bi,ej,Wi,xj,kj,pp,jp,yk,pp,jp,jp,tl,jl,pp,jp,zl,rl,pp,jp,Al,sl,pp,jp,Ql,yl,pp,jp,lj,fj,ai,ap,Ah,xh,Cd,Zl,Ei,xi,Zk,Lk,Wj,hk,ck,al,Qk,_j,Ii,Ai,xd,El,Ld,Jl,Th,pp,jp,ap,Th,Th,Ti,Li,tf,so,pp,to,pp,pp,to,Tn,Co,Co,fl,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up];var Va=[gp,zi,Ve,Hi,ic,gp,gp,gp];var Wa=[To,ti,Pb,Rb,Rb,Pb,Rb,Pb,Cf,rf,To,To,To,To,To,To];var Xa=[Io,th,bd,kk,mj,Io,Io,Io];var Ya=[no,Ih,Lf,no];var Za=[Wn,Vj,$i,Wn];return{___cxa_can_catch:ok,___cxa_is_pointer_type:Km,___divdi3:Ni,___muldi3:bl,___udivdi3:Mn,___uremdi3:Wk,_bitshift64Lshr:Xl,_bitshift64Shl:Rl,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Gm,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:rm,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Om,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:co,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Mk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:rm,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Om,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Lm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:co,_emscripten_bind_AttributeQuantizationTransform_range_0:bo,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Fm,_emscripten_bind_AttributeTransformData___destroy___0:Ok,_emscripten_bind_AttributeTransformData_transform_type_0:Oo,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:xn,_emscripten_bind_DecoderBuffer_Init_2:bn,_emscripten_bind_DecoderBuffer___destroy___0:eo,_emscripten_bind_Decoder_DecodeBufferToMesh_2:mm,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Yl,_emscripten_bind_Decoder_Decoder_0:jo,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:wm,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:el,_emscripten_bind_Decoder_GetAttributeFloat_3:Nl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Hl,_emscripten_bind_Decoder_GetAttributeIdByName_2:Cm,_emscripten_bind_Decoder_GetAttributeId_2:dm,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:il,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:nl,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:ml,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:nl,_emscripten_bind_Decoder_GetAttributeMetadata_2:um,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:dl,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:cl,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:hl,_emscripten_bind_Decoder_GetAttribute_2:Sm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Mm,_emscripten_bind_Decoder_GetFaceFromMesh_3:bm,_emscripten_bind_Decoder_GetMetadata_1:mn,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:fm,_emscripten_bind_Decoder_SkipAttributeTransform_1:Jm,_emscripten_bind_Decoder___destroy___0:Di,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Dn,_emscripten_bind_DracoFloat32Array_GetValue_1:hn,_emscripten_bind_DracoFloat32Array___destroy___0:tk,_emscripten_bind_DracoFloat32Array_size_0:Qn,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:Dn,_emscripten_bind_DracoInt16Array_GetValue_1:An,_emscripten_bind_DracoInt16Array___destroy___0:uk,_emscripten_bind_DracoInt16Array_size_0:Rn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Dn,_emscripten_bind_DracoInt32Array_GetValue_1:zn,_emscripten_bind_DracoInt32Array___destroy___0:tk,_emscripten_bind_DracoInt32Array_size_0:Qn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Dn,_emscripten_bind_DracoInt8Array_GetValue_1:Cn,_emscripten_bind_DracoInt8Array___destroy___0:Uk,_emscripten_bind_DracoInt8Array_size_0:$n,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:Dn,_emscripten_bind_DracoUInt16Array_GetValue_1:An,_emscripten_bind_DracoUInt16Array___destroy___0:uk,_emscripten_bind_DracoUInt16Array_size_0:Rn,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:Dn,_emscripten_bind_DracoUInt32Array_GetValue_1:zn,_emscripten_bind_DracoUInt32Array___destroy___0:tk,_emscripten_bind_DracoUInt32Array_size_0:Qn,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:Dn,_emscripten_bind_DracoUInt8Array_GetValue_1:Cn,_emscripten_bind_DracoUInt8Array___destroy___0:Uk,_emscripten_bind_DracoUInt8Array_size_0:$n,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:gn,_emscripten_bind_GeometryAttribute___destroy___0:eo,_emscripten_bind_Mesh_Mesh_0:ko,_emscripten_bind_Mesh___destroy___0:Om,_emscripten_bind_Mesh_num_attributes_0:In,_emscripten_bind_Mesh_num_faces_0:vn,_emscripten_bind_Mesh_num_points_0:Ho,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:qm,_emscripten_bind_MetadataQuerier_GetEntryName_2:Bm,_emscripten_bind_MetadataQuerier_GetIntEntry_2:ym,_emscripten_bind_MetadataQuerier_GetStringEntry_2:pm,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:om,_emscripten_bind_MetadataQuerier_HasEntry_2:Hm,_emscripten_bind_MetadataQuerier_HasIntEntry_2:xm,_emscripten_bind_MetadataQuerier_HasStringEntry_2:nm,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:wn,_emscripten_bind_MetadataQuerier_NumEntries_1:Xm,_emscripten_bind_MetadataQuerier___destroy___0:Gi,_emscripten_bind_Metadata_Metadata_0:bk,_emscripten_bind_Metadata___destroy___0:ln,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:ho,_emscripten_bind_PointAttribute_PointAttribute_0:sn,_emscripten_bind_PointAttribute___destroy___0:Wh,_emscripten_bind_PointAttribute_attribute_type_0:qo,_emscripten_bind_PointAttribute_byte_offset_0:xo,_emscripten_bind_PointAttribute_byte_stride_0:wo,_emscripten_bind_PointAttribute_data_type_0:Ao,_emscripten_bind_PointAttribute_normalized_0:lo,_emscripten_bind_PointAttribute_num_components_0:uo,_emscripten_bind_PointAttribute_size_0:Ho,_emscripten_bind_PointAttribute_unique_id_0:zo,_emscripten_bind_PointCloud_PointCloud_0:On,_emscripten_bind_PointCloud___destroy___0:Om,_emscripten_bind_PointCloud_num_attributes_0:In,_emscripten_bind_PointCloud_num_points_0:Ho,_emscripten_bind_Status___destroy___0:Sl,_emscripten_bind_Status_code_0:Oo,_emscripten_bind_Status_error_msg_0:Gl,_emscripten_bind_Status_ok_0:Go,_emscripten_bind_VoidPtr___destroy___0:eo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:ep,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:hp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Zo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Yo,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ep,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:hp,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Yo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Zo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Vo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ep,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Yo,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:hp,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:So,_emscripten_enum_draco_StatusCode_ERROR:ep,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Xo,_emscripten_enum_draco_StatusCode_IO_ERROR:cp,_emscripten_enum_draco_StatusCode_OK:hp,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:_o,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Uo,_emscripten_replace_memory:Oa,_free:_b,_i64Add:Ul,_i64Subtract:Wl,_llvm_bswap_i32:Xn,_malloc:_a,_memcpy:Jf,_memmove:mk,_memset:Gh,_sbrk:Sj,dynCall_ii:yo,dynCall_iii:Vn,dynCall_iiii:an,dynCall_iiiiiii:wl,dynCall_v:bp,dynCall_vi:Jo,dynCall_vii:io,dynCall_viii:rn,dynCall_viiii:Qm,dynCall_viiiii:km,dynCall_viiiiii:Kl,establishStackSpace:Eo,getTempRet0:rp,runPostSets:Tl,setTempRet0:mp,setThrew:fo,stackAlloc:tn,stackRestore:kp,stackSave:tp}}) +var Ma=[pp,Qo,Ro,rn,Bo,Ro,Rb,rd,on,eo,rp,rp,Ro,rp,Ro,Ro,Ej,Qo,Ej,Ql,Ej,Vm,Cj,Ro,_l,Cj,Ro,am,Bi,Ro,Bo,Ro,Ej,Qo,Ej,Ql,Ej,Vm,Cj,Ro,_l,Cj,Ro,am,Bi,Ro,Bo,Qo,rp,eo,Ro,rp,Ro,Qo,rp,eo,Ro,rp,Ro,Vm,am,xi,Ro,Bo,am,xi,Ro,Bo,am,xi,Ro,Bo,am,xi,Ro,Bo,Ge,Ro,Ro,Nl,pd,Wi,Ro,rp,af,em,jm,hm,cb,Ro,eo,kn,Se,_d,Ve,ab,Ro,eo,kn,bb,Ro,eo,kn,yb,Yg,rp,Ro,di,mi,bl,qo,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp];var Na=[ap,Dj,Gf,bc,Jj,gn,wo,zn,Qb,qb,Am,zn,Cg,Ld,yg,xj,ti,ri,uj,Fh,Um,wo,Jf,dd,wo,Yj,fd,wo,Yj,Ad,wo,Rj,Ke,rk,dd,wo,Yj,fd,wo,Yj,Ad,wo,Rj,Ke,rk,dg,Um,wo,tg,Um,wo,Fg,wo,Pj,hf,rk,wo,Pj,hf,rk,wo,Pj,Ue,rk,wo,Pj,Ue,rk,sm,Ee,wo,wo,Gl,El,Cl,vm,Eg,Hg,Vb,ye,fe,ee,vm,Eg,Hg,Vb,vm,Eg,Hg,Vb,jf,xk,wg,jf,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap];var Oa=[Oo,cm,Tk,Xi,yl,Dg,zl,ve,qc,Mj,Kg,oh,Sj,Tg,Ki,pf,vj,Gj,Jk,Nh,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo];var Pa=[Cn,Ec,Zb,Tb,ub,Sc,Xc,hc,_b,Ub,tb,Qc,Wc,gc,Bf,xf,lc,nc,oc,pc,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn];var Qa=[wp,dp,_g,Jl];var Ra=[up,qp,jp,Ak,pk,kj,bj,Ig,Qn,Ih,Fn,rg,Zm,hk,Vj,lk,Xj,Xj,Xj,Xj,oi,ji,Ni,Ei,ij,Zi,tj,jj,qp,jp,Xj,Xj,ni,gi,Ii,Ai,ej,Vi,rj,fj,qp,jp,Vj,qp,jp,jp,cl,Zk,qp,jp,ll,$k,qp,jp,ml,al,qp,jp,xl,jl,qp,jp,mj,gj,_h,Sh,xh,uh,qd,Zl,Di,wi,_k,Lk,Wj,jk,dk,el,Qk,$j,Hi,zi,Id,Fl,Jd,Kl,Sh,qp,jp,Sh,Sh,Sh,Si,Ji,nf,to,qp,uo,qp,qp,uo,Un,Do,Do,kl,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up];var Sa=[fp,yi,Re,Gi,cc,fp,fp,fp];var Ta=[Uo,si,Mb,Ob,Ob,Mb,Ob,Mb,yf,mf,Uo,Uo,Uo,Uo,Uo,Uo];var Ua=[Jo,qh,Vc,mk,nj,Jo,Jo,Jo];var Va=[oo,Bh,Ef,oo];var Wa=[Xn,Uj,_i,Xn];return{___cxa_can_catch:qk,___cxa_is_pointer_type:Km,___divdi3:Li,___muldi3:fl,___udivdi3:Nn,___uremdi3:Wk,_bitshift64Lshr:Xl,_bitshift64Shl:Rl,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Gm,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:rm,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Om,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:eo,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Mk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:rm,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Om,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Lm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:eo,_emscripten_bind_AttributeQuantizationTransform_range_0:co,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Fm,_emscripten_bind_AttributeTransformData___destroy___0:Ok,_emscripten_bind_AttributeTransformData_transform_type_0:Po,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:yn,_emscripten_bind_DecoderBuffer_Init_2:bn,_emscripten_bind_DecoderBuffer___destroy___0:fn,_emscripten_bind_Decoder_DecodeBufferToMesh_2:mm,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Yl,_emscripten_bind_Decoder_Decoder_0:ko,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:wm,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:il,_emscripten_bind_Decoder_GetAttributeFloat_3:Ol,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Il,_emscripten_bind_Decoder_GetAttributeIdByName_2:Cm,_emscripten_bind_Decoder_GetAttributeId_2:dm,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:pl,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:tl,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:sl,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:tl,_emscripten_bind_Decoder_GetAttributeMetadata_2:um,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:hl,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:gl,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:ol,_emscripten_bind_Decoder_GetAttribute_2:Sm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Mm,_emscripten_bind_Decoder_GetFaceFromMesh_3:bm,_emscripten_bind_Decoder_GetMetadata_1:nn,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:fm,_emscripten_bind_Decoder_SkipAttributeTransform_1:Jm,_emscripten_bind_Decoder___destroy___0:Ci,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:En,_emscripten_bind_DracoFloat32Array_GetValue_1:jn,_emscripten_bind_DracoFloat32Array___destroy___0:vk,_emscripten_bind_DracoFloat32Array_size_0:Rn,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:En,_emscripten_bind_DracoInt16Array_GetValue_1:Bn,_emscripten_bind_DracoInt16Array___destroy___0:wk,_emscripten_bind_DracoInt16Array_size_0:Sn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:En,_emscripten_bind_DracoInt32Array_GetValue_1:An,_emscripten_bind_DracoInt32Array___destroy___0:vk,_emscripten_bind_DracoInt32Array_size_0:Rn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:En,_emscripten_bind_DracoInt8Array_GetValue_1:Dn,_emscripten_bind_DracoInt8Array___destroy___0:Uk,_emscripten_bind_DracoInt8Array_size_0:ao,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:En,_emscripten_bind_DracoUInt16Array_GetValue_1:Bn,_emscripten_bind_DracoUInt16Array___destroy___0:wk,_emscripten_bind_DracoUInt16Array_size_0:Sn,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:En,_emscripten_bind_DracoUInt32Array_GetValue_1:An,_emscripten_bind_DracoUInt32Array___destroy___0:vk,_emscripten_bind_DracoUInt32Array_size_0:Rn,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:En,_emscripten_bind_DracoUInt8Array_GetValue_1:Dn,_emscripten_bind_DracoUInt8Array___destroy___0:Uk,_emscripten_bind_DracoUInt8Array_size_0:ao,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:hn,_emscripten_bind_GeometryAttribute___destroy___0:fo,_emscripten_bind_Mesh_Mesh_0:lo,_emscripten_bind_Mesh___destroy___0:Om,_emscripten_bind_Mesh_num_attributes_0:Jn,_emscripten_bind_Mesh_num_faces_0:vn,_emscripten_bind_Mesh_num_points_0:Io,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:qm,_emscripten_bind_MetadataQuerier_GetEntryName_2:Bm,_emscripten_bind_MetadataQuerier_GetIntEntry_2:ym,_emscripten_bind_MetadataQuerier_GetStringEntry_2:pm,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:om,_emscripten_bind_MetadataQuerier_HasEntry_2:Hm,_emscripten_bind_MetadataQuerier_HasIntEntry_2:xm,_emscripten_bind_MetadataQuerier_HasStringEntry_2:nm,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:xn,_emscripten_bind_MetadataQuerier_NumEntries_1:Xm,_emscripten_bind_MetadataQuerier___destroy___0:Fi,_emscripten_bind_Metadata_Metadata_0:ck,_emscripten_bind_Metadata___destroy___0:mn,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:io,_emscripten_bind_PointAttribute_PointAttribute_0:tn,_emscripten_bind_PointAttribute___destroy___0:Uh,_emscripten_bind_PointAttribute_attribute_type_0:ro,_emscripten_bind_PointAttribute_byte_offset_0:yo,_emscripten_bind_PointAttribute_byte_stride_0:xo,_emscripten_bind_PointAttribute_data_type_0:Bo,_emscripten_bind_PointAttribute_normalized_0:mo,_emscripten_bind_PointAttribute_num_components_0:vo,_emscripten_bind_PointAttribute_size_0:Io,_emscripten_bind_PointAttribute_unique_id_0:Ao,_emscripten_bind_PointCloud_PointCloud_0:Pn,_emscripten_bind_PointCloud___destroy___0:Om,_emscripten_bind_PointCloud_num_attributes_0:Jn,_emscripten_bind_PointCloud_num_points_0:Io,_emscripten_bind_Status___destroy___0:Sl,_emscripten_bind_Status_code_0:Po,_emscripten_bind_Status_error_msg_0:Hl,_emscripten_bind_Status_ok_0:Ho,_emscripten_bind_VoidPtr___destroy___0:fo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:ep,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:gp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Zo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Yo,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ep,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:gp,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Yo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Zo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Wo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ep,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Yo,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:gp,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:To,_emscripten_enum_draco_StatusCode_ERROR:ep,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Xo,_emscripten_enum_draco_StatusCode_IO_ERROR:cp,_emscripten_enum_draco_StatusCode_OK:gp,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:$o,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Vo,_emscripten_get_global_libc:np,_emscripten_replace_memory:La,_free:Xb,_i64Add:Ul,_i64Subtract:Wl,_llvm_bswap_i32:Yn,_malloc:Xa,_memcpy:Ff,_memmove:ok,_memset:Dh,_sbrk:Kj,dynCall_ii:zo,dynCall_iii:Wn,dynCall_iiii:an,dynCall_iiiiiii:Al,dynCall_v:bp,dynCall_vi:Ko,dynCall_vii:jo,dynCall_viii:sn,dynCall_viiii:Qm,dynCall_viiiii:km,dynCall_viiiiii:Ll,establishStackSpace:Fo,getTempRet0:sp,runPostSets:Tl,setTempRet0:mp,setThrew:go,stackAlloc:un,stackRestore:kp,stackSave:tp}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=asm["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"];var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoInt16Array_GetValue_1"];var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=asm["_emscripten_bind_DracoInt16Array___destroy___0"];var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=asm["_emscripten_bind_DracoInt16Array_size_0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=asm["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"];var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt16Array_GetValue_1"];var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=asm["_emscripten_bind_DracoUInt16Array___destroy___0"];var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=asm["_emscripten_bind_DracoUInt16Array_size_0"];var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=asm["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"];var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt32Array_GetValue_1"];var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=asm["_emscripten_bind_DracoUInt32Array___destroy___0"];var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=asm["_emscripten_bind_DracoUInt32Array_size_0"];var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=asm["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"];var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt8Array_GetValue_1"];var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=asm["_emscripten_bind_DracoUInt8Array___destroy___0"];var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=asm["_emscripten_bind_DracoUInt8Array_size_0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=asm["_emscripten_bind_MetadataQuerier_GetEntryName_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasEntry_2"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=asm["_emscripten_bind_MetadataQuerier_NumEntries_1"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;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"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;ieoq=bUF>W@1+Bk0Maamh&c95x|6h!bWA#eGyeabCMlrz zt-2*nlFqOwD$Xzv6bHnB&IDN$S=`a6C@4{b5Jd!xf;(c|7Z{n(_xC&Zz58Chs;=sE zLTJ*Jyt|$CcYf!$o!|MLXy=iAaTG=I-^RTglHSC{>{zG&_!(K)=L{+X^!YiIFBUjaMs|vo=zug+$(6(&HZ@bNk*QMoetiD@s5F1{tc?S|x*&|U3i|b=N(s-&krveJ6~|%@O%_2@$}sO zy*m%TXzr@HeFqNT9OYK*i{|FHADG{{xBl{M%d~C(WjpupKQMpA;RD}Z|9Z}j9XoD( z$<7@+_wGG#;c#>2Y~&d=@Nv2SkQjR$Yu@q%41iZV51&5naKYi{RFJAlZMgL60Tdf~1c zs}5D4_RQV9<3&N8>`Ud8aA+6pYF zs@Y7UnFMgEF%+z-LbK8|i4$vI)Sy)Mv6yTi+cPdaN*jtsNK6yGyO@YBA zFVpy}v*TvQ7{rvC#cLZHCjS>PO8h_aA2m@!!16lIS~8rd4U z)@bK|cVe=cHJg(&T-&rLjkB~Z1W2Q7=DZl3oSaz0eXH&FMYl+s=QWSV=SMj|v3?SM zN&;9T^9#&hd) z{RO-B-?XEgpFh0o1xM%Sw%s_t^Tl&F9X_ys`{AAYkG$}};eAVg+!$>sS61BC{k!Hb zKYU=aps$ju+2j4Q8M zyanG}OFsrI<3DeVwqCZ_o6w*aSUl zb@SYf2X2}>eCg2_zL2Rn{IoIJcEJfU2sd^-ExP7OCrCHkg>QcHV#z}bygAzsTs3#( z#T0+-)0dh48j+OC_8vHT6S=PIogmj?K(hU*izd2aZoW?qF1`8s{kskwo!hE{uU|L< z0dPC&c`o03VCVeh2M(8e_gcG-?09u%6j$AeRFi{TQ6K@4$}VTWj1X8{8KL;0l|M+cGjmqZ6xcrEu6690Kawr z{3Rnf|G$fu*SGzn1NLpp17ih!K=c29-Lk5>o>ne|&GPdu0M3r(!BzDxfX)+^)nqz% z!;;fw%YG4)o35BUux}15+%Br~)M)2LOO<~4&Ku{%cx|dbJ$k|8mrC3R^HZZ6pRrWJ z?T2?ks`t)ahXir(NWc82MK>+pf$R3{I@q7^eQHey<`!?$FkO4$7%V%y^Tq>437-D6 z^6=rEH}BZI;LXP9MPmr!f@IK^ZwUH>$!(G_5L>He`?Q*BY!PXt^EfULH=6m;pQJ)1o>+jDjZr!K`U<3 zC(TGo&R+&^Hb#dR&YFeEhFf)H{Q|r&CS*Swqxtj4e;zL6iiNYo^6x*oZ^zC`f0ZhC zv^%~yC43<~P-%`Wlvw+PnYOG%-@cH8Rc!H_kIo(5g&5CRZ9Z@mOO*?QPm5l%5aY(= zvD85rym{dmkI4Z}RaJb)vYI7+y#Ga2p8tB{JXh{KGTfD07IK-ZAMAkzF9iQ=|VDpSUl>xcSm}!x)@%HDO0p z7Z~-jc;Wo)e;zLKOIbR_%8%^7xXQmmS0KqFyT*(V=#&CY%g)hWLOos1XW(Mp*yKa(5^*!-I#2x8|)VHcZ-y1Jv zizCVRV+Px~7lG|2ihtFKJ1t6co@T6AP~% z6}>jze6odIy{%Tx9r1Hdww!I3Z7;9fviaI=SJ%pWU3~S)miNuqmsfA!`k%|~TZc;g z{&>iMR|DHP9kznh6jzZo7VSbVvNG zMfx+YcE+o``ikqHTVA{4sx8-D8GU~|WDcvA-`*I)gdtG7Mx>K)&*<=X26r#CD*q_rMgfAw|OUvtg2YqxLN+|T&N z_}n_?z6f6UqP+)RuygN@y}Mp;WArasW5){*&&@@Do2}Zhcki)%J6>?)+jkz^vFqti zi+;V)+5x{}1v>hC#;vX9Mjvdnb-VAtvAO6&O2LBf+`pw4VO*gZw zy?5`9UAv+WH}b*LuIQe|RPAwB^jnQp_2*sW`0d6-_3BvkJA=ZG?TYRl6n2c19~l(J z>8sNp;OWZOr$3$ka{9sa9)I|#U;ZfllT=Oq zYZl)h$bPx;dnf$+{l<^PZ;gL8{<-+){xSKx?C-OG&R*U4$;QVQ`TK*$>yuwdem?oRC3R?u_3Y|L^$! z#6K1Pbo|Tlufz|;e;5CI{Dt@x$#*8NP3{PP?@N9v`HAFR$^S|2N`5%GGf^&m`_1IT z$*(6LOnxQ#)#R6wyY2mV+V7j=&m^C-_UY@=peP#OH z>Hkb$lfE~7U;2~jyVLiiznK0~`t#{8r0-8Zkp5cwo9TzskEFj#O4a%buCGYnnf-Y7 z?(BE6JL7lJ1O5I|<8JPW@6(O%P3}wH+xUgXr|s{L8t-ZReB+NA_cz|%_&I(j|K#2?KH4}pj*p+;?8fIe zi)iy7haZ zTSB(Nk*&Eo3je+?jfzIu-rY+b|I!-%WsZMoAOAAPzqH7Ne;JsOb|VcJ7lw=X0sm~c z3=h(xK3t?2;9taWWsZN~OCSGIhU>#w7gQa>zX<$GYxo!CpT{1j&^_PXqi>ppnI>Zr zh~|~q@v8Icd(?nWfYJDD=?fDk%QbP!we#iLqfTR+fh4IM(O7%V|4ob{0g{4;U{=Ie z2(V=aczEokR!^_V+jNuYcsb8p)(HCa(J)lg#+sNijf&YMf zw^ag!fC1fT0f(r(Wp@!%>9O+o5hVo%e1e&Jnnd55_B{reg_Xdx5L68W264uZDy+ef zL5&85YxMdBHo95SurXn%+uqknjXi{ebX1~F)*3+@gf}hC7CP&f$S!5nW!RhLm-v_V zMGDn+)ZWEg8SJ!-kM^>nDG39n4t4;qtl^n@Sw5QE8sB6NB=cgO(}4h$ko<*kMUw$g&tMYkE&zj1jxp*g9Tk2H zb0a}bgXPE#!1naSn_GO#9IL@C;afujspSp`jaWx>#CfVga+!iAQEq5b)3R7Y)OK&2 zk58VzGK(ihW+^S35H5vzn)|?jt?{^dN<#WEq51%^x-!x4ismV$wN+X*Puqies^m;u zb!yx^z0KxnY*U1!-qG4T<$H6_f*JZXarE`EurTo%nlKVWGn4}3-D;{AI5bbK8EIkj zRFfbrsYE@mH6qMYFh1aupQjUbT+*zpuuu{f)AM-Id&EY8(4 zwED_CkaSI(=7N~d`?`8&+H^9co{?gpo{6;t^8n-~sAt0>xy!#L+8_#C`T1XY-`h=h z$Ye?|c`xfBzETcUw{y2YFbuQFZ0F-h7RPh_4{4Ez?8GZbzmTK;2ulzai>gN0p7WPU z764MM3Qt-lArC1>2C1eiu?>S%tD736nhq%hT0yD_1A&Z7A>sn0cpo6u?(^^lBGtf< zLW%*TGJ4po3@Ob3sgu>GW7ntSA${8HIVP*a0cy>F2oIV8dRO{15D(3eyaFBjBxdB2cIbJMpYIkQt8Dk9h5t7;AfynF*0JT>kvqlO# zmo6Q@to2Lbms!7T^vflF*(9an;^ay$$1hHvi{*l83%Y3@+Z3*>Pd-(UN(CSgth_%$ zV=#3_&$Jmq@X3ywl20H5E*PPoAQVH@I~#;?n~?{Fp{8p|MG9i3X<=f5CW()z1E@p@ znTD~K0Q*gY$HE?yazkHxvw{!{PgKyFkP~`oZAo1bTt-e;?NGB;m{XvY_zcZW9m26B zE!hG!9plc|TEF~7{-H*^wxV2S(PW-?zRu*$4GfAhl%Hh`rUh+Ciw($(9wdrN+bv~b zY)bJ2#}V(FG@vUMamnuPDlU8w2btR4UCm|9?(P{}*6!|}$)(ucg{=VA?qj%o0Ezf4 zuJ>>~+vo-YDTTF*36+96T7HO6lf^`LZPDn0Qr$+nsaQp8z?8-@4L|oK0&{uZq4`55 zU~-@C?IpqZl{|HRE-O|mZ-*bDPcPe2o;P2fcNEZ}rXVhk<`QKk*O|(7MwRQF zB70769g1<>#X75u$%2fs*pl%v%D5(EEY^X?=g6jj>Qg4ld={U|=$im+TAaM?ZY)vGT|%u1h? zulHM&aS=7wqqtuq5m_{%s-0o!Y!U(?JlHe<>ijhXv`*LF#!{kYGuzR zx&V%XVVWXf7gckUyU{=$WX@-%#0hSa7trJlZYrfbqnm2Mf?<*}Ho0{gwb)#L{ht)%?-IZO+3rrSfM;tIAuZJ+jYuq{(LiFHvu!4)U;}BI$TR^| zFz{=CdKEQK$VhU2-& z@ow3X4UR?CNF?PL5(SN-AQJ@yYnK7AozT@v=y1vGQ-PxN#bd*xsTv+dy$Mki!z1dv zT&R3PJOY6rTj$qMNh3SyBP+zB=K{OQWz*F?uULAdkC6-clEo!tGbgaA3A=3YM3D6g zbEh&e{tVo2ppi`%yin&eUa1M4^Ff{|3LHfqDj0)25?Vo?e0j(-X>7-lM`q`=bLm3l znHoVJt3qU9X;K%EXSfQ)ok0~?7Okw+ZcINTpj5L$rFLQ}Km^b%(idT|9uG!;%QdM#W*d6=lzS0j3De(2GwU&U7jdhNtI zD8`3}jlo9BDNCTxJxBQ2QMVy5cBf@YH^^%5jZN$<%f=&*#V9vNnf?DFXtriKuO zxWjrCyk8<;oZm|T5L*>_t`XR%ycgA1%CwA`BD1WwP~GD5fI2pXtO(aViJ_j6{Njbd zq(HKbA=xulT*2CqbNz~QPKBIkJ}c}LfCJJsC?Z= zKltg!UPR-y$BO2W@CdK<_eV%99gBP!twb42pQBY*+wZkVzN!gh%k|W&&F>xvh|LFru@BYD(fmc;iq_{HPSx*bou1c2E z#|Ga4$SOS|)Cof|S0aBSIvv{5OXzX4m_8&0upJhVxI38VwApdK7gePy^WZ7og5aLW zxd5JMC1=bAl$?a}ipk3lTefagUPxDBCWyPGX+>5BMH?kqab}Y#=2RFRWH&8bu@rAB z>t>eYYk14j)`UrSIsH_zjP8U0-MOPNo!T3u`069KnZ~?mJUNO?5%eK7?L&=I2~DYq z(#;UONzPry-Q`kF2eWkyO`~03w@qF9L1pAB9YTQjwvnuX(1_6aZpsXKE{BWudt;>hO`U zk`1s2J|k#HTA4>hQu*k3~o~X3ebUkEr zi^cy8V49UvGojsgB@}ecJw%Bd)R^k42RT8|<%U4_Gc^~x%4)3)k;ZhhU#`TL6$;+@ zS;&`$RD8f>VuNz98c@FS8FpeASK%Y6<-d^fDOJ6~Rh8lTJPj)FgEN|rTyc|l*$tXK zUE!Wt3Sn!M_RSUQ_1d9;6IM8Mm*4W3q{q*k@&9$2&PHpk4jOC!)3R9qcid8QRD{K1Vwyr7 zUw4rGUT9n`NkC95hE+^oDLD*O&R?5C2!k0t%n5NMpRLv6m8L!;tO?<6by?Y%XK64N zsxU9q%v79gvbq=m?e|_sGNxQSH!L3T4=xp+4yH+}0x5;nkkH40%seMJG*Q@fbb z(}b@MLhAK|iC1XY`A=FT18bzzOcgX>8ac&zuym{l>`C|ZVsqq$E=q6>EXmwJ_OQBC zr1OUuE^x$JUBrhB*=)!YIuA7W!1&~4oT_l=7x1Wvc2lO3h|}cE4BTBof{ z;|1`R0B%De9t%R5%Ok=PSSvO=nCx~37G{931qd5_ZPFgnW`Y^>4bSivKw@difYq3H zFdgbnlFkT|*==!OCW&-8q}5hVS*D4LVp#6Pa!<@3QZE^WwhyOUo>_>pLZL>WE$$Daq7~ zBOwjTU&i4n=~&Tr664L1#H~IABBVK~LK7xI#%px0JzZea?|!$P0}XjA(%JUB&6V>s z#wfiGnm^*HwP!IA$h%PKLSlKj2-I^~ZLN^@){hQ_!sxxUar-g%-*(7O| zH$cS7^S(*ErwJ5HTwOTas=)~>fndS|;L*gPlaw}mAh~%j z>q7gj*`d))6g3rywW_hPIW0$UkuZoi^JyF=4w@GFCelyiRHKxbzysvy6cu$84jJ?B z40;E33+)1lRb8kMEfM8`?7u+oqfHNoDglc`CPljyJWQ1^8fk-Eg0-$kuw?HfLM$P8 zazQ?nN>)LW8o_EIV9+Qs7^s-1nD9%_kv*|8B}#A|_b2eImklV7;v~%)%~pG2Qnm-J z@yh{@`JDKM5Y3@Pl%U!lBFuL27bstt&RQSdd7JJx-f|bBr<@iGGdv&wbR%#du|jP% zC+>G&7DfMY>FX}h7%?mmHaCHo-yLjlxLQnPwk-v*N@W=U$Ci4M8*Ue-(R+n&MSvSB+9|*{mFjR?ad}@M_(l)k zCwx2aRKx9kUuL*1k7FW*`dR?QIaa2Q zKQeoTYkb^@6X`z92{YxU5)= zUN)vaY~yk|^#y|Oo69 zd9O|<1pG3y-$$IFRjqTo$@HOl7n>`gIDK#5?s63R z0-l`X-^$qcmwBY+^SB%@(3N%SQ9*0ik#)KD<%eI+KP_dF)3Q^irA%^Kb_zl3$4*N@ z>+O#UT5FH?cPE?*qK=@oj!?F2P*g8m9By<7SJ>Hpq5{X4wbjZ zyH`h1{y4t)Mi6f7GodK>{DEZm>Nv_<_BP9(jBi%C*316DP}$nrI28Vx>N=K-*aTuj zAh8v5QL@IHIP1mGG?J0M^EYgm$S;=nSJjlkX&!`pwT(;`a)#YiWMb={_N=fUhhJ|X zRjTt|a_0e+x0b?v{|nnM-ucXw{gVVcNIUsid8V(HuoSX9uYrDuEk?BMnZ`Kns6 z7f|Yiz?gJ?KT{&^*bD!Z!R^-!ZZFE)p7g>h&wW`wW3Ni~fRXR1)nlV%6LIHh)gwUT zapRyBn5!lw(o?7A8R`%zWA>O6i>{SyTk?Xawx@gy}viT)$WzmZN2U_k5~1*7q8 zsoKruz$L_k5Tet069Cd(*7@N8s-BQxN~0KqYQet3MSD@XFzx{ZsIS6+Z?b4Y0q#`N zi?tz0I}KM9en)L{>~dFB#fGR=#xgPzW4@Bg79O!MgkQsz#r4X-Z90-GgbG(Sl(SGi zipI5mE{VooNa$0(T3B~?Wb>r+PM|IfsE}45umqnA3ErU@?(LjXQ`$A4+@u#4h#}0B zYX*4r*uiZvxIK4pd*0x7{owYT!R@-i?c?%ug%urZ^8$k4$T*e1coYj19$|n5OepsB zrrP@DaZ5xZ79gkXJJhyTCD-OffnQ-(631NqZc<~M9C(NmO@1&llK=KMUSfg#*DN4h z;o}D2d1ejZKNRrZY0dK;`u7Lu|D=ZJqj9}s<;MwQp_!!Zpgup;PY|FM$XaM$1=6Zh zwa^LTb`$eRz#)Kz&k=`?U_+_I-AWkedZ^o~|6tA{)jKxYCeagAFBp1vFEQ$(IIQ7j z_O9^7ae`e`I1k$^q6~*m&vqDnEWqev!qC|vs>8%zFtCB7TS#_8iYkRi&C+IUYXgwm zl4op1)la0KL_a#mu*~#B)Rw5cRX?}s=fCRbmi!B`BKdw6F%u*`-?s0Jq3E_emT zGID0a)nVLyG<23!IIuxSbh1u6O&5F6o%*lWYenEKaegi7 zDycwFGSYAS#L{rw#JJEtF?;^Uz8A34C^qEKJ;RaYPZ2&)`15-SRe3ZpswzbS>4I6{0EM#C`jIi`VnFZ97NeJ zn-MNVGC*@T9ibtKwp zF;F^uEkL%~t!0)(SC8i$A-=C)la=`nvYf@l_CIhz~62E`+Ck;;^%Y>k>rlmq>On&SwWqFo^(= ziP)qSr$nYJTL}2+?$rPw9xy8&JbZ>E4d0+#aV*0qO{lRE9GTLL&)+2Rq~=!GOW#Yi zTS$YWK-OSoDo}W|6a}Ur&KPvi=C~0nW#o0Lpm(XbI&l+d9ercMGo^ro%4vo(?Bf#Bi5(xVkCob zr68_-)di64d1vSIDJK_6+*|AQkbb>a#k<0*A|U*%*QU_$p~BhZ67LGgMghV(z8W-m zyfAIk6A<)?VeZ(a-#@;qf7G0K!6~KYPc!J6>@5&KA2^v*<-(+&^F&R2>ge*UXia{r zWl?>@HLFino9gh|1V!$OXQl!lcMJP;VS33k(=a?$?TOcJ7ioW1I~Udd((0(mO_FgM zWg$U4v3YMTH~B^<6xbkJBsT*;^jaL#59So>g*7NiC3`5=o5%4+zy?N_B1m`M6(i4C zM7f_BhzZ2*e^#_z{o&+?i<4_~r}FGD6TRH5pDR1>mE>NreZKaEWzq+94lH@u)Mr)h z6c74Er%XT)5;VLx;}viqe~*aL@_Rc^#=?GxL|QCIhzBjsTo?B9mWVwfP+HI`h?ojd z` zOrC&YfwZb{k1|%L$BOA;@fO1=lpvLYE)g8lNN_J1e?}*03k~d#1Ei=L2a_fA068U4 zkui$c2`U{R{-_$?XCeXu$X*9RFA7IcDisXKPND1(yM(5>(Mh5Yrz|p>-6*9~!d^qB zz_Nx;`;h*67r*m1Xtk;nUxpu$qG$%PAl$tMV*66ph|BvcNxRcC{i6)}k*J5z3^b)d zOGc6A@UJixgut34y+B%kAplr3^Q%sE8yK=THB7vxA%T4@qZgJfKZCXkI^vyB*a9Fu z&`#DIPj3tH{s^$m!BhU8+J^Mf?J}1>CmMoM;nN>T;5LP ztxe)1GPy$FL|}SnU7Fp}TYDWJ2x7-j>1-rnZgJLK5?4cbssiRGS(|U2U(yJPnso`@ zsNDMY5?hgHhODiXPJ!G|g@hqgc!{bXL`d#C`jt(Og9fFh#S z35`)rd@;mf?X;fB^4WG))@)Mr)_@CkQWjsPX%wgWtQP%AHYJ;wq#Z$EZP7A7JWr^~ z!70o}0RZd)1T2?BBU{B;m&UjB&X(k~wm7?%GAho#OBOw*fD$E3CnCHTiPEJLiF0UF zRGE&J2}%>ejmt?mN7cqji5)t`Ss$2Lq~(qY6Jcm!g8q|e3~%9vP1|WAOsMo{cEqAX3_xwb^j^!OzqL|7tCVlZ%Rl#C~1R7;ler#bk;=@;CM3L zm-o9hhl6k49V3?-30zZ5b^ZYT&Q7bLz^T$HBegqc7p4Hh)ZYg>)DCnA9nLtY(IMgw zQ_Bz?5*ezS!AwzuVhC+WPN`$G(jhb0*y?L!@C4NxNwky7pz3DsHK1IaJli9~dVnem zFV?gJ)EFf@ibR2)IPjNWVx{dm5e`BE8nC5PwePhd8W+@sGjxgkY}ynag}eXfrt<>5WmDO*YgPf(GQg`Z_!I ztLJ=@zO9CEROWHhS12^RK>t9h7Yt?n z<^hq`Znx9bAfZmDpr+JUw&r_o5Ky}4(BUqk1Z+vbkr)e+eX=V`ff0%Q4=-2Q6EsG` z_1gT$5;GE(uRlYB7C~`3pErn{>>&mHgA#@NriU5vL{tTfQ!&7}d@*fOb+G|K-5M;x zxtgTpQi`3eSHd}S^2^9xr+`oAmjRAu$y=vjWwBV<6ycojZ-|w}Pl+F2zRY;jlpowR zI{0TX_=Ubnl9=kYpdaFNsL}vIWJ&~Bb3jyD$iN?86o$?b5G+I6(BX>V!`koxnln}2 z(?BtI%9Cs0r>lF26bck|C*?gq_?|zDG%0gC(h1O(YxedUeOXhM2fe}!!4xeK<}3{D zG_M;nO$gPj(PGOwMNVfrI-e?^;paUPiCRZHZiHb$;}KN5ZD&&n>~=xRuZBu1Os;oy zjiG`s*3ze{n?wB{tOOEuepTmvknU9K|8_1~J&>#iVFK?q_nM-e2)Fdf#M)u1qGtJ@ zQd_LQi8#_AYdlCfc0O6Q?R4Ny7g1UeuOF;QnbilPM-p~FpxUHupi zF8#(r`L$|Oon+|TP?kThN2-C&ErkDyA)<7l=L7$wq{Ol*Hi$fGEHJPprGzyF9XD|h z5L&+i0U2r_2<)RdLRbNfgV0X)OpLplQIzf=Fl3HGKvNTThSq>rqBITIWY+my><2Z{ zcmY^>T!bEEHQn2^-YW3A7unFjNaZD#H$Vv{+`9K{Z6D$q7S&zjCu7Fg>KQq!o?fZMC8}3bSoC1*?Rbbp0`dCZq_hT93XL3x ziBSYNIidLzEDzyC2?et?&i}?DfiBkp+f{bBY=`fK!4z9)OnN}2gtV)Py(eC_?@B?h>{8rpWb?N*z^lKW#oobJKzqj@sgqz~v z1?B%}mH#9D{dbk0rs{l-q3<87eb4xgZl&+PU**5gzyF@{r+l}=FlygFUi+T#U8-a~ z{~y%8$9zX~);PfM=oc!b>su`Z<1v~FFvl{zWtxu86p z4Ibx?IO(PYZctRDw&EyPPh*1CdvKa%yOq&pz`DMiK&dZU%#5A~)rKaU?Z^bB-jtY- zPSlvPb56OsJV=b>fwF`$;FNoevb0*_ei{@XvhI8M4p25)PtIJfgQ8Is$6T(FSMP8{A-uH6>|^3K~O zumv>Kp}_+3naq^mjBQp>p0D;fDHqvE%n%j`xd?60S`xkL*rC3DGO;Zs^g0ySar@MB zrqOiVAZXE@QDlXhva@v5o}ui$&K{W>g~EJ>Q1tW~P&W0vOeC$XU+F=rg8i~iP;+=fa(e2A`_XONOh`fIxb%pt7IE7dy`MVYFZ*RwtXly|0@yCUbTzX zmfj3yhbapW#zG)8R4C=X;McZ8Vo5B)&y2m|=fXsL#b^jA#Vq_JPkN;h>X&LI3Rb`= zLbh@Tx*)P)FbN4qL^e|$8E$8rx!5KaMzKvOlHL<`-q@xI8r1_W!z>%Vz#g?o=EDJIP%)D%Sl!g>&;_{Fb*mVZAnr6oiR^|vYsbDzUbh0K_$ zAF$PD=mk(s3A3@X(Mk03K_LO@-y@!A3O4iQwO1+=z#%!to$}v zm*3F1B)_3CGgv0SrIq{^OMV;rZt`3BPBSIH={xe9=QsH+?F9KPw)55M-%WlC-&wPe z{HFZKZ=T=ex3m-FH#>P}=)1{p;XB>#RDfSVTkh8sSmym56ns%u)WQdD12Z+iGx|v{$ZZDp@$rW|iwy3carp>H|YRl{M)DTA9Z6s-&M(8N$9>sL$*JE@Vn-l*0!FW3HIpEJ9iaCi-IFIN+ z<2iz*i)}_{%o+Ylt2HYEen^rHsF_wSq0fraDwC~6giHWu$xK4?xVw645{}*V`UwGtq@n^h`P# zmtP3?(p+BlS%0t94OZ~i3ak)PR&RU~Zhgei_=j$Kg7X!RQ?5& zjw&C!0?N3E=UEQvd@X30 zYKSPHT%KGOx1)Iw%j^|KDapJHbCAZTWINJCnV^xuIA9)y!PIN7fEQ=5Ifl>#oj5iq z-^6RMGL+vkQ&hkFX+N}v^IYZ7s3VX?muP4#bFNGev%5KUC^lr2<(Ic8pI!6-b9&6u zO$>o#KmIFbB-fr*Wbf>qeVeJ;oP2_n+tAX0x2801cP5F=RveLCd{iid^#Ungw<-$z zaJY3{M57%QYc$EJ9bjmAxK`)cw^3DERVHji!BAghWI*+R1dvHI6n`_(TzU?gjib5l zC@_H-S>(a2KUqvD52L{(CC|jD4%dc=cb*I`>eK+DeAW>8gI=jj(l~W-F)XC^hPbmCw6Wh1_shYau%ICjKql_OhQKzA zM9JZn*=Qtc+DR0;s*xz!MIlkB8RmX#2ABbT%0!=#vftV3+*VBUAo{e*>61EH8g(+) zAzAjFgXspZgJ`#4WT|2?JE?K-iCEiy3l>Rw?yE&cH z5RS_xldV(YjjFTIqbnr|NbbRGAjujPM!v34Q=P&}snrYof^(DNB8hhhyx~l7D7&mN z67H2faZN*KuU03$7ui-=r9Eb3qHuu#0RR^eUc)!dW$O-HJ^7ZyLz#t0|I+ego zQ+g4;29YtGD1T$7Lk0EOJnTFHhRL=202k9H@guSao`DgPmYp;x^ChV=9g%&}R^$m7 z6x7>~(B}9&c)K;!3&?Gas@X5?gr_n$kx-de*taAb(pe^zgw|f0v8(K>;hhbstZd<# zCISy!=s$ye<=K>EjSRLz9fURm1Ri_xD~J2W;Jw!LgWcIoL{iyFEGiI}2WzLXiXl05 zh|8Dk_B*L$N)s~RIan%LKmSWG-jmoI>s4YfUx#wSa*1ydgBgcxnRyw|-$XaqwM^1f z4?t7(K!QKhO$ExNYF6k%pc3><$N)urM@VXOJ5oVR9rE&@nGAi`FvW~HiVij4wrNf~j2uoooxh@WRyAvr z@-yM3&dR0B_JXNK6HqYB+)=$`)(NhjDF3S@X}jBBR`D;}DgYZ|YG;}hsbhi(&w-KI zt9E566ZcY z$VE66+@_8pkD9`hrVc~~YZXa4Z_-;DW>*?&SGC-3?x%f;Q<$h!W9yXo#cciTwI#@4 zFXW#QKOI+X#I>)N8^%P!4C$eAfq5~rgBfG1WTe$h6n=lMUYP)2uWY`sniz&93Z7qB zaM7wdU=BEeL|UJaj@9^3&mKWLzkE^?KA#E7dh=isjY0Q`LVMu7w`4jLNieTQV zHj9w-obo^ygf8hQx&$YBhwTZPHW2j(O=ASTX%0pVE1_vjWajFiNk$c0c96BTjKTMo zMSy%UL@vniRYwv3+$rK$79)5|jS&>1bpIKnFYs_%zzF_qm=UlXU1tR13tt8bT>c~T zzs8Tm7rqS5m`z?B7=eh>3K_w-Rg3_rJ0o~TxE2FOa3>ocn1~{@%P*b`OP6^PjNr{; z1T@U(J`J_2YO$M7(!M?;P-E+~`KFU)1UD_D*8;|0)GHI<>y;fGqS^z}IK*KNE-d(= zVFaM*Bb5;_k-sV#!GouWf9e$RUCCF1Mu6&?CYzE?i0BgNK>SRaPA7l?Qw-vDY8J4v zkjYGD8fi#T`Dzxs`U&mLo%W`#T)cO|n-7IIb!FnS4zbS$W#V?+>1)LMq_*YpHB&9vPI?ZhI7q$)yz&}R|mQUpwqS@q=zNwMSz}>kBL*h4#mftXt7M@H3 z{U-uLSy5FhDL((iij|B%#uOrK>ll+!vyG{!BhF^3n@`f}0h`fyRmum7%V#l8o}9u# z&aoQDU(~D9;MA*o0E=HuKUjp*kZM8E4-u=;ynAHo9L)Dq#A+U;xy+R1(cJqVgM+9=7FRtr@Fbfy1Bc$c~^CF zXLa-H>gM+9=7G2>r@Fbfy1Bc$c~^CFXLa-H>IP}gSpbF;zd=g(8=MjR=I-idV|Y=7 zD{SLVNHjnBKb(_X;M?=gtxV1q(??zcxHg>I3#$ebTD%Fq6ZQ%NFvgTxOb5A$$V_Y= z6fLb*+LFNprc%9v6Uu~vsmz?nSRjxSBZ~*#M|q{-*Ml1AJL(+MG=4APB`S0|co+;Q9MbDr{A9Clws6EX0F$2pb46RCV!GjY`Qk3O?Wkh9++I`7>VFR!2;b4hv zo>fy{2LTam`gS@0Kf-7qnyt0Q3chvqv8`nV=&II9r&e~*16e_asrDPVTkX82-?LCF8 z?dGz-yZo_+7Dk2dlr8+8vfMmVP+n-h0C(XG>&~qrwsiD%s%Ft~ zo1^@Q=)P6Jf_Udsu{T#M0C@O2xL8vZdBD(4Y5FN9ki@}E&l6aoo-2jOC0kxJdMO17p34gd_K(v?aQ3MDo&9oZJ!uDgS3#j$DFr~Cu zWi7TAl;>f;ohQV?6-+!i2diM47Gn$`K2mdkzBX!j4jBi_HE20Ypau{`X5V)*IW%7lFWJ4o zR%>b?u}vaTs-w{5fa{aqV&4l&wQ^^ev=-BZkrww8S&J(IZfnp?8qt-|Vnx6h%uIXe zQy48gfQ;5+wnGoK*mmk_Hk_vhvskaRnkc9znou^p?Jf`I;mK9?ihP2)pj8Uah9)%e z$58IzN@s z2UF^b>6nUU!jxhsJjnnQ;8lxLg8<7aYM|4T&|}rF*)P%|D4WA8&^cQvwc*cv5&&i< zSkqT_6!VrYh6izw83TRw1{!7HYfwy;2#+zjd(#l39mqIqRZ3!A^TBLd1)!}mvl_1b ze2KxVmnxzkWF5`*#zf+}iI?(v zp6$)zi6ytEq?mOdtbl8^p0o34p8-TsT2u{95WLoy^Kf_|_#Lh;MeA}Z5CkD#c>OXJ z`#8E%aKdEN%09Hmg46Z`EdZxn^p^ss=c<8I86J_~6bAxY?ei7jffrcKAjENWI;Nj0g?#Y3bmYp0rT5BV!5<0&nh_dV6!#fUD_;g6}uU~pQ# z{Z^YY5)*yzg#;9~pi2zol~H+vt2HbI?B=&-&R@;0Xb8f(`N&ww-B_i1;Ylw5jTu

TUX&geB##IPYm?>?L&N8Vx+lSnP+fhRkj4U#+kp{AbfZ?HGG)VNs z1}Ih63?zhw00SJM(t?l!bRc-*R~}>rHaUcwR;V%zUDRETkSQiYqGs3J1PbDmN*U98 zs?Y<@<&3B4hD;DuA)Uj(4lY-twFfqCqXX%ze75%Vn)1nl0m~r*Y{MT|+h8Hk;5xlb znWVjR1ZY_Wv@8HE8vqUGrvNrnoXnd@yE*9GQH^QOnr~1-Id+J_Q52~{8LdAF6B5AN zM^^Gb&2||ZZUD_LZ?)c3KEe1F(5~}G7E|1TjQ5kxP0ws?Kr<(gUO*jmagYK-@ld@0 zQFReu7&%OCVOVVG0^Xq+=cldm3e#D@ZDLmA>hKWLQt;h#s||55Cnve`5> zG@ERwG?8pDzk=tGnL$qF95U3wd}8Bi)KcTN+&MJm*#y z8=iqm6ai)0Ee}Q73xgfFmC3ot9^?w#O5+Q)3EWD#-Kazwqk>lJ1PLswn!xytZww(& zjE6}dY>6DVM#ynek>ezg<77aN6%oaGSQSg7m(VA)KJhT@UBogFQb1Z=bW&4{bv1y2 z2}GnF@GvrszXNOtG`t~E1CBSoPYTTB8qBx^`FEw}A1|0Ayd?o$ zjRt}Opt+Bvi5Y6A%}k?}FdAW+JYJhU1;{w6Axh*iFXoe!0(3Q{wfV~CD5g!#Qrg=v z>B1NRBd^}N;-~NeRs{W(V1YnygQD5p)}XXkFetKeXiz}3GNpA+7bhgVO15Aq6jyYD zj&Z}tFc1|OMQZ>_H8OSS0x6>)(1m0JW1XBvpr@%q)r3(omR?B}R3S5rR>vhWhAM(& z;l{Mj_pRaU##zJH4OzoyoH#7Q6x>$t7qf=9%@jOita>SHxVFt=mxN&gF_$>ORNVtc z>(YXN%)T|s$hfz4tTkMU6*z7RAlj{2!!bo8O*%Xc*|Ggr7U8Pfl8UQ)=J(PI0%i@j z*(1>hvITb9hPWmu>eg@+Q7SYLXv;2fv)mdkQ{7_La5#)WfY``X94D%nOj-AwhmfjU zS!lWXj((s^t8NXqrc$iZo`f}ATJRWaxaqJ1>)NTZhCdDxwoGgIc>r~sHN4=xS-ssF zelCx)hM&(>*6?nT8qu^4w0sY~Xgk*M)x*l^LTkAASl=2hS{xqS8g6ka13G)K;J!5+ zGM9WZRP&2HU(@*l}9Xe+mH7H9H<$>t;MOexLvh)(xwyD zTZ@rBY4I3CxV5;S$Xe{?RY_VjcEyHpYjIjkk2i$dVg&=Ep|BZ~3=H82wk4(kv1*@E zL0Ayy9vH$~OB=%5HDezbXX{rNxIMgO3o_luGjS6tX%!bxkvN8-2RDXo)y#anD+DI4 zFpfSaQFfKXM2CSPe0tarzRHZhl0Y&maiJl6n$iS;bF^L{xmiZXvXDp>4B^uY4B^wG zrJ7+zR;y(h!l%QO>Knq5Z^+v-a{+59W(e0h4zQ+&+?*0a__TqZ5e#;62cL{sHAA?C zQCVQQRo8qlTPD3hPSvu$A>4DxatlR=?VAPk5oNgz26}>`3>(4+I0_tU)^$iExaqR$ z_;rQpirRlQgHw9c0z-Jy4B<`Q8!?Psn0V+6;o#(hGK9NO!d!!`gWl2`q*2UR^O>us z)DRv*DPbvDh9TVH=PCeto@q6(mbx{gZU|q8AzX%2YrZ|?<{IT*n)n308H=B`1lSdy zA-l?n$Zq6TWH)j&vKzS`*^Qi$>_+ZMb|Z%+yO9f%-P~Q>+*{q;U)?-V-N-r0%c*YU zK;`9BH+NSza=Wrm_g6O$R5x`2joiSzoa*KQyUCCHk$|Qyxc$h5 zoJbcWOEi9<8Eb3$+iZ>4?Lim;koNi-A524>L%c)p5pA&Ibt5n-!q)p4?8m0qkdy>2`nf+lfsNdKl$8YR6&Pkr&n`O=(S{^hv&dK8J+De<9IS^I|ZI!HDOk!swHhZO) z>2v{%y}Tl#sYN3(MG@`LUe)%?_`y|$%^Ufk$U?$WJ=Vu%tq@Lnle5rr70ZgHE(=!( zDc1F#e&2n+OxyR%*rh`hd-ludG#TF*(`K=*zhCBT8mnVxdZO~&q0^ha^dwga!`_gv zP?Kz`_RO#v8TQO@S}QGK8;tFl(fMQSnRyIP?3v-5?UK+B-GVF8AkX6RBt=V)2pQDv zatTXC0nx)*T$7|*@JR|>5YE%$N_D}`sAXr)jN&*N7Li9S}?!Fy)& zVjGw(p{#JFFqrJZz8TvAlK8qq3NDXXDb&11J6n3CkeH%-IbH}*hjl`G(R;jx)9m2f z_?krS>x33eTnla0Iw33F3e3)!`8uJNTkOqXoluQk#yVj@-3>*q1;b*p^P?F(%eD5W z$uMRgOxQi7WlNUfF5t4r@}FYm2dv_5WFO3WpDW8;{tNqH3{GC}36}pt%Kq}7A%X9f z==naFGpfb3j$s^&cc!Bd?HIMKW6OUmlG*Z~O~$YfCL~gM%yFTt^ckf*$>l%X^xD<_ zEL+B8XrVsVU|&4y`RbqCpKZNz!W$e8N`<)6;0bH6*7USCHE3`@ku})MI~A*ceWD@i zDt8~-1rrwkY!W07a`Dd!sqKQveN|raFFmwPFi-GJFs(u}r#stU`+LGtYk#vRUi-71 zAQO9fw)Ush?%stWvYkRp-otBu7xJcTiO%XlN5mt>?8(Fhl!Zd=C=jOye5X{_@L-`7a2vDIvmj zR5NiCNZ3p_tsIC=hhT z?fZL&2U}o}^(+BjeXCy==GoO2n8C{5f-GB%AY;tzrBN|liZIl$If;x8)@$lIr}JXNOJ%~exn{DeuJbT`=g zZ%w6GK@IokN{w5tDkEwqXUDUxDpDr`*^NWWzH{B^FOlL)^IPV7B#a#+Z-lG3!NUJN&{79_27X6Nste1u}n~s zk3AE&76Jh0YB@c&-09H{yB*{77`EZnRhiVqC_D};Ri-7UN1To-T>_bBb%&*#mhm}v zceFH$+8`wccSl!Z#GGo%iybamQ(oi)>B>t>$D^4AB4{uj6$GZP7N&AhL815%0KoMw zsXUgpU(>+vaS#9?;O_;+r0Fxc^ckHbfNoxq#A$P`R@wkQh z%=t_!m%lg)%tQnFP~X=tVl;S0JoA11K4%?n<>{V<_xkB*jC} z>^4kj7+VSYOy8Yx#{IH`1m_K0^ye8r)B$@?hE4U^(i#0!CwOFRb?w@*=Q5VYpZ*cf(Z9MxyA?TLy9eMZ%FpJ1v0 z!=TC3*Js#iAM_c+4eBvet0vy8p^Wd|Ae-9_M5;*$fYP$?o$cr|wyA%h&#bpt7E9?f z)u#S)i}gOn()}sWeHo?C3~lPSqGv`+HGM`>2zrv`wN3qt=`+=){=Pl~bjjN@?d62N zj3=$ncqoEVeWnSJE2Rf-8w*fs1DO)^~oPT~Gi;PhNIa4N$i z5}af7nU;Anw%`LUkGq6W_hd9W+1F>_X3NlL5cq%rBFF-L28;}zj3}!yDdaO|sh8Z+ z-`8hc(m0VmV{Lx$`pg;2+R`5?bNGoDdZ-|4Y^%_=q&gY`V97Q(6dDqk$sW}^p)YKZIy^rL*TqesWuGXNI zR%*?u+spL?5!&H3n)+TYt%kUo)6^-^C)&%U<}PE6#`khbl9R-Myx&W-E5*buI~2}$ zVFk%obEU}Uk^RgEH*7~a*EL8JAu9n6=@7;7*kNp{#5qyXRY9BJ@4QoLilX9l&oKm; zb%^;j3$#Q>$_*M2hlV30%6or_y|(3J7(HNe_PliWA9j9-4X-FHN781t<~k>6z?4~eQVbBt(Ju{>s~0FM}lt^vq9g| zOp+)+q;Fk#;`Jjf*D8qGVDH#P%n`yVYRz<5-@1r5gCJ_v`q9evj*XN$SU*}$5VdOk z=waVGrnR(D1>q6CckGG%^`j>atsm94dDYgB77wEK=-x4NhC9{Z9P11>SV1!3<soDgY6ARjyBI& zZNWWJtTr;jnU}jBS$X7^{_>GUj+Vw{oVUJwM7)I{ zl3}Z|?#wD$ar6a8o6{8xL){~@hDaeL2t|xGn#&toFnlNJ44qp`Mg;>%jTu4Gs9xNm+ zh$U?cNnw3-{6bQD>4l`>Skhtj#N??H#gcwddx8|SD1@9aWEqtb+rv`g@{ICUNX^NJ zFs2D&U^`glRbO}3#I|a2q>>UFeJRnDmxWTIUN32tucX95s9lp1*V{_eQc_}Nl|N^! zRbI=8Lst0^YFF-qwNeLG`Q=E7l~ukkC62SoORr$P0Z?#rN+JySTEeK5IATT~vC1z9 zwYyTQ{DTd(d#c2m!Ip^-X(@!-wV*N5oZZmSmZ8Bchr!z50o7SVvSmzLO9Cb80oC0~ zBJ;!v1F9$JLl#M9y!Ao4KU_kqyTSS(v>#`EFj8*{)#BENs-R77eF%n(#jFok5P9KT z_>!-`4y+II+Fm4bjVu9p9bCYLR?C)SFycD0)JqhbQP|gBOF!a8XE~MxK=6quB%3?38SkBm z$X0y4Jl~49@}*t~@G>ITSc~0vbu@%KauD5Ng?SLdT`RbvPlFcs6IqJ~A>5S`a*Qcz z`D?w_;;|vzap{5T6H8K5A9SxNb07z=N7lLI8_{=z93Q-Tgg}j~a|HsW1&kG~b1B0q z+0%8Z2^4x4E9QP|oDD0y<>Vq*BRwu7f;9pvpg>SsV!5lilI5<-=P5YWELiUP%8OwA zSd_1R1Z#W9-yDy|hRB?bMY>=rH&QOZ#{6JnCLBDpGV$mTX?f2NzUR-xa)|Em26plg z<#}9mh*S>3D$aZ;aNA8l;{mHZXssSkHrCvpnZm?0SL(+ z`D2hlwtE@{011;JcPn#!1goVD>EQZ?x&KtrLU2;dzb8#6S*y%$B?Ng^>CVYTN!DFe zQV=!F<6|bGsEtC+&KK}~ELIV#^NT4PbkqPJRucgIq-P+DV_60qxPhq2tr4)vyN%6X zIvhv7DH9h#rdJhBT{`aR1?=#0`KIjFqC*wwyYILIS)*8WDYD-?Zhh|^cf2a^u2xD8 zaXN9zGnA4ZpE%_zFlF^6Kxnc!Ll>6NburyCM8Y?Q(+*DI_#|$oA1;k*Pr&?AHgL>A2%N>_J$3xGtDhda=>K? zgzZko@OYA`ob8NTp;pV`rk=2CJdm_u~ z0*enXvd-VcAvU;PnQk1j=-<=O0J6{`g**3?SVD{(ML$BjJ+J+)dt2%;;l%m!DZCnyUJSLy;${>p>_y0PEfry zBJ|us?n2kphRE560!ZaQ>M+u4#XgodhDvtw&iELpAcJ2Gpz3#8RK<}Jwj(HgT^xf* zox8!#^7XcXQClf{vD?P%0=ny|0-GIRzav#O7|X&pO*6+g zcbFW;H=6AD#;LPlj}lk-CicD*zD3Kzw-Zz^NKHX-I}ZRSJO&Lu~nGlQrd+qC>0G$O2@Qe)KLJH!Y)XWWHJIsa4}G=YFlS z$hUuW6m{+si#`q=RR(#c8mzM?M;prae0h5&v4$x5BV7)audkJ4ZKsG7jR%_0`OCB? z;m(SMJ*q=Om)T@|Ce2m^DfQfwRUPBR=rZow$s746;-q;zy-g_s+#qR@1UezS81KYg zJ(C_xz&f6Hey9OU1V4!$MyUTc#|9yS_aE)bZyuRM!-z}*&AwC&a@EVagwO7hBY+Qf z9u*CKIE7^5mR^3{08;dlT8l}}J#uGEG|Fd^T5So!0Ee@~WGr48Y-)Fx?x~lYr!nZ3 znpH&k<3XJM+=6(ElXI!?$e%j-k0*9Sg4!IqZnA8ISfY`lYA{O|gMRfQ(e?qMpXO-w zl15%BB-<>B0tlooY>FRi(rJH6k3N%63yyIx?=J;{W3rop;a~Qg$PZ_(fA@ zRCXAjZCUaB2^(lygv;ELBpZM z6j^1-|2T;oqFT3~Def4R&mPMPtrn2V@c9Eww%FG zoDGRV!?8^=7wcmz>6r0vb$M)aY+|Ye(R3BAt%}a1qw;=>S`7d@p~Y)f*kU^03o3z4 zD517yqgXtoh)#@gfpivcg!13PMiI(8vP7x`0&ELKqO%)Kky1K8tFnvM22^k{=0Mww z5<$GMS{aZ6+cJ)1a-JKc6zEb%iy+E&UX}>Y65$!k5CP8uR0DG#KvfGB13Ab@+vp&N zDh;Y~E6DMx!?xnwl5 zo-UrwR0yj|L))j#LLy$kozcTv_jlFi@ONDHP61A&3Hx(F~mAWcVHuam-#}>MZlFLXW>89HEs>uKdYBqp( zz1`RZtpT=;S&=-Pg&PS21Y`JFOe57RAbjO?40{88SLugo3Q+iO!)PwU@apUA*sq@R zNujU#<{%;v{6bUMbi5)45pB9iBl33YP?}17P|f`hoqvn-?=TC@=+sK;lEDV;inHx! zz_1(j1q9xO3dFq8W~^hKv144(*ufY_r@rbn%dYzNEbd5OZVbqc1GkSZlRl*zVM>d- zfCdHy<~!mK(|d|RMr@kql5+-QHOrGtWASTt3#Vs_a`@EcMxtUAJ2xW5%0UUM9% zB(;glDTeCE&LC42%ml{M`3)<|Mz*yKylC&2uxD=!tj%5oyUj1Sg5`NwMS>NC{EHWFV`5X zJO3JU7H+xLA3l-*gmOdpV#oijw})QZ`G|~$ciTau2$L5lYiTVQL6ZRn1C+mgaIleV z3sT3WYPwZX(v%w$fepaJAmT@BhiOa!PWY7585}*=(IpZg`14Fy2e{cfrw{`YrJ-W@db_7D`Ik~A{ujX^6Y$z zhh6@KAVD%2gy4dRCo|DTsv-XOLX6DTTV1Vgga{vyNp@ctR8bz^$X$Z@}+87yjs1(a$l~`qa zX2@WMph{Jl!9WyCViH=RK*%YJlnhY|WNIL>C`zFm$z<7#L)of0N=Xr&FcnrL$4pAH zshE!Gh%xi|e$Vax_3tgSU?C|OSYG$9w|noo=brtXJH60;7Aa|h^dxv|1BI9t(IZh6 zcv(uJR7g>n1BXUsyng7vASmj z{>2=CGkk8B8S}J8W5Wpoi@OieGc&O2UE^X^Ixwi<&UG>b^rN>dfF#3ao}W=8vHw|S4>brKpk3cNeWv4HjeD_e6^XW3-< zktF5mP2sUbYb~IY#cragR*oOd_?EtAzP~^&qF=9W6J2~*HqACB?~-mOLa=`WT9=IF-&G2(y; zoLoksQeyyATQEZ2K`E86JTxnGIrx>K!rL^yAbR)0McS}y+8@X@u7wd@Bx$umge z2sX$Pn*C@I2DRnW|8jA4aQeQ*)i`Aqez6E!O|nll1Qm6>vb zM}i#t+CiT+L?m96R5y6qZOWc9GOnhi-HsFc1$DqH-Vb+AV$qTt#=WDNc}9ndirx%9 z3Pb!yQ5~p4=0PgAX%T35xN~%|NkOKoJr1g+P%n-3$~(2NzHjc}TeUbqvM7 zn@hOL+b6;<4$?!1prMO31xj}EhK&YTN@5vgTo(ny2pS@pj(1+1Jr!~SVySFhA#1d! ztZ}qovSf+YEjx%eZ07yf6c9-yP@S!aT>5NgzYKxC;PKJ3+N~pRKe8psh2?DB@PZ zZjEPuDvQk>uR$UI+dOAx026$wsUbC{QycmQOpz zuXD}026}rSHBdMQ9iXaM*LuOqMpDP2m9Zfs&ZLIY1;|^{=YtK?H&)jghgud~1$4|w zEpc$mI!iBj2a{qu!Kz|&%-zJ%L>aY_N8W~eVz4c>hQe*MpF&IkXTHfO zd}U4?Psg^WJh<79sDtdj9lr(^=EIf>iY$Cvz#JV5EYeOHX@i!Y_4e@3mFbq(`k0d?edx&o*D|!F?(j zVR2RzQc<8+I>3Q-fa>W$r8gbwIGluj!PD#BM+)Fe+YnUGb(x z-#-5m_w8f12s?81;0`7R@hHLiIsc(N4*6fq!KBg}>v}Qlf^UrV19)=FJg$q-5 z!Y_8B>R+uDN3U$iZa%>R_PI=ImZa-BdcSE060(Hw$O+e^6Z0&+WL;A2!3f1BH0<@6 zVxg}*gww_vxxUdWXB9%IZGf&tWfOP=Vnt=&dios*S|dlxTUd5}+(PV2A|G#1$xi8H56Y)dkJa7zf%~)hG5)`u|L;IPlk@cu1`-a3`GqijgkKzv zB4Tmz77qNP)(m1|IVUo4ew_bn{%8O1`M5Z(f6LPa;yn!zATOQ$3K3ja5X7%2q76M> zMi^)|I!RkTrpJ_;M1Y<$e6Gxy0&3o3SITr3-Gh1LrlP_SA>&u!UnmF&$>aE-?HFZz zu+#^~@j9PMuOht0YjV?J_LCCAIMlV8dbb*qP=xvqo+&w*nLv4nnq83Ai=xq zDQhTUUODKgdd&tL?y1A|sK%Z(Coa#M`jG7VhxK!QdH$;Uczug5%r7^0)<<-9RJV>_ zZti;Ga($~VaQ^E0RZmD^m!wCY|B8u8_ob5t8csi_V?UB{h{WzD|(IYa?GhntE1l8 z{nhb~_U?Cc_;vPt2QnJX-DF!;^)C*{7}GhBV%_ijEBm=k`Bj$V{2x!IE30cVcFPU{ zl0yWM)$M4M5nk~S!~`f@pi?kAuU{q;{7KXG=Ww@Sj=%IQmfrF-$Tn(Aly{;Rv#VNB z8Kea`jYMHst!gFT)(Q~>Zp8r==ykNqUv*1ucMqdGCwoY`(Lj<^A*g$x&dzZ`1_(d* zl8g#Z+;cC#QGH|H%@s8HWiwably`IWavBw^FRd#)R4<#kVpM5ey_`k`mkeTou=cW< zs+Z-UNV5E;n5vf({{07K_K}w#0)DM|aGOJK^b} zz*+-Bm1?DT;o|QV2NVM-#i0fau6HUII+OIT;w&MkRU=&zNl_|WsCdfw4@FKc0c&ZP zfQc@tXn|Y)e5cV8((8+b^fdXo3JGRKyjH|(l7$(HTz9!-Mny)@BASkymSi61(k*m< zN1xLuQHfv3DAAxZ0yL`c2~T5~HZt1~pP^&P$V~^Hx9joy!u5E)FTYS<L&`K7}1P! zxj!RMqjCJ#irk;m&aY|rCl-g!xk*f_=mwiz%Kf?8J%+a|ozy&%*tQ4--6= zLPY7St9U>!H`DFz&#B#?Jek~|6A%#hr%R`eK-S)Swo$PVIiAtkIXj05XiavjF$y>9gU?Ax#JMO1axKNr_m4O12#PY~ zU1JIH!e6$I`9P`t`|CBk?A{>z4Pn0T#D1enIx=p^s3S+|=LwsU{-Y9TxAB?`V|ql} zcm5&Q*hfl_?&E;{N07wBdWZuaR&4`{*Yil2esIi@Xp=~b*7bhZz1P_-oU@Z{0nnAw z&@e=scBJ}Y+9|86bBg_T#c!~F*%Lbia8x8eHM z@7%~^8%X$rN;GjGUdOi0b#|)bL%iP68YM!sS@pfa9K%P!3*X-4G#;f1UJMrb*Mmjg z*!N#3qa+6(aGxyRFkp6jGDqf`NAGR3hXse~6u8AD^TaDc!eEKAD{}`gN2?J0O1T_W z_3LG^PFPTi({(DQLjYtRMfMS$=d9Tjm)r;YQ{1jOtKATr!39;HW1qMnw>0D3Gv1g? z7iYf&TcSwnPs2~mbLb0~g*35w8R=K^qRowZGSmJHE9xEZU_Hsw4C@+yzp>GajTm;W z9KY~5fi_p(aRGk8-bokX7hn|MU4dK~?fIS@v<`$J(?G+RMV59qnt%>1@K_oOl4A^I zR&R>sZ~jGuR$xe-x=tp5HfgMM0wSn;obQZx+6;#OsG+`jo#jBGk##6te~C zna-ZU!Q+&sf0vTlszp*8Oj{6zO%ji;rJpHi%u!Kd9(79Cj+&b+L#GF^RHsBmA=4-z z3MvQ)A|UG8+px1<|0e0i7aWHgi+D5&JJ)+7Simw!b=C*CM^T@Fgl-T z?N(1~519)Z59yJji!vp$!wG}n!Q9O2*Mz8IJrGdetJi2McvOEW?d-fJ(#v-9DR3yo zvAQhKFeEFrcPPGxM7q_tstHIPSc=6`SJaV-9VUI?kSMwqoxLc-z#%fG=%qYPtb^d; ziOi-@I{r(5j6*CDbFYrRvQGu*1P^Ripixw*5h~;6H@Jem`hB`#qNTr3tDXd z`@q8&B`qPNMu01|RET&@OUaH}A$!k@0nVjR3y+%*XaV7Idm+uN*&pX-9L-0MX=W77_<#gDXl9y5!yCJfhWpE- znR+xMH-oxIr=|ZLy4>7S-||Fc_BeZK>vD5zed`mKbP0DSf0~1ro7?K!p19N;Ms7zQ zfq|^lym?G-nmzK;5x>N*S9o<#A z?Y3~+iKxZD_`Qzm`-iVwCIsN%6ZH{(-@5pHsXoMo+lChoKhYeyKjZQH>-Rj1H}&AN zn+0wyJcILtL_go3b70*bnQ!S78h7yi{D#h5X_n<3n-9P=y;K!l)mW05H`$y`7 zPu2%7-JicFb>S~NUGiXk#}lYn2kZI?t5_r+Ikwpe*5Wl_NVl~DJ^ZGlR5WQb*)dwaBM}3`&P>hws zE1?9s?_z){)FC3-9gTo5S|Y2susQE)JBA*xs7eX}J`(Kp+_znns3P4N1x(+BqQ<$H zcbw-TO+}(_O4oe^nP|10_=D~7v+Y|hH15V&5gG*T^Hm_^Q0r>;21KIN*QkpoYROc1 z$&OWkF3pw*Wcj$KOH*hzBS}d2P0D7UCYqTm0#UQdC&Z)1k1Ori53jnMS$n0e8Rhpk zs}jtJ!0o7Dy?Q~#n3+1ML;edJGXa9#I2a%COiVs?(0teMh^I7)x$H2K0Ck;N)WKz0 zIhc{_!bV(Qi2nPY<-L7c8whH=+>hCxa~FiA6;q~!;FOXuk)K|mQr@iH$u;^%gD$0z zabm>5L6F9d-&S%pdl+$?JnnI_6qwPR7VsmZ57Aj}js(mM2s$(zMbQA1n9}D#=q{#0 zchtbt)<_x_=*4XCC;+~(erN{t<}O{KThFg6-8bn?Rb38!E8^9F?6SVq)dLa;6E-u> zTv=QUd|Qfx!lops-bAj%kL00_y%^2EP-U&G{zXYan_i1Dp@@7&=}&3+3$vYUkjxAB zoPe<*-D-WITgf_P?TUm~k}x78g6vt84onH$n|(s)EnC%Gp$VaoQGrC5w4{1T_z2}| zBGro(hq({@)vGcB&5O2Exh4yhOGJYAlFH>0JM3M|6{%cPt6Y$kdU_E_3o`-V!_rU< zRW5yB)s+yu#ctPQuw;uTMRFr4RT^bOQHai#TGUDjW;I*&0wkfJDf2h7Q3^u=;*p zU-?tAm!|SXs9R^~hcz%~hhPipiZxhLEuD`D<&cWeNNR_~P#;x`RH;tRaOAGo#z1+q z$_p)ee#)C16Hb7Y1UyJ(k+H?fTWkrutMb;_S9Vw4ywg2+020`EEATF~Hf3|5wNZq% zMQb}yoGwn6khyJI8!=pfK>!dzm)7<%gk?d-GU!5OJ0$5rv=OVWNWPg4_$!r7=3?$} zwNux;n}O7!UN_sM4Xm)kOOuE$+myPtxm{f|-`+)CI~;AHT_?qjFParb2li0cw8KNM zu1V37x~7XusWT`X^s-mi)P-erZA(_MZoc-=({{CtJ-t>;udJ(XugYyX7u$txA|91g zV>!^k)}fv@3O!8<8v5K0Z(8VSk-W>|OA{bH4I8v?qN!mdOy2~)3`ZljVSy9$G-RZc z#XUR27ol3#(-i!MRkHs&A4iCjo)&jl$!CzOpljXyBmbO{yQJU|5yLWs6S+=YxCU%g z(7wn{xGO?xqZzoImfoUH_G~f4TUF9qNHPTK1 z#^A!%n?sXifDGf{FT_%taYW;FSYOtDlA$b>{X(#z$_C?;*bI6L6f(vTk#1p<&^4=+ zQ27TSmeHX(a`sd_9EnG*I8;<0I?1ANX#rn_0I-s0r*E~qIGoxk^kSP&$*qy%?beVD zmQ_ALq)#dZ9GEZK00anT-o|0Piju00|jHt_E_# zCF(JMnvM6*;dWHR*3VJ1|NTl#`v%~~&z0uD`&H0d5A)oH&IrSOKje|Km72Q;pnuiV z-iP)Ll4&*i^uo-@dNxl^y5wS^!uTb z70t*L#xK~(`qTKhHvL2Gpp+g?Z$G7Xer)Vk<{Lg#bILa`-&k~v<5KI`81n)i4x~Kh zEF=T)_QHbz24<{znAKbFN292oZr0z6Lu?<4;=cE@-{1zlD(LjOykJi?>%S4o3AII^ zeDcfA)mJ#^4`3PkZywO_v+Q&CJ@dg2it@iwE zwftGRw~YJMd-D)rBP)a!-ZFF;oGcz){&{Bk=NpDUUj%vfZzg&6CFsoy6>mq?H)fiF zJ^c?-OB9L0Gjc*yKQbz+kcP|7pFD6{FQi`!geve-mm$OUVlN>hSPl^fqYjXx_R}+R z8zE<)HWH4{Q%SUtZ2O7)R`VIx0ujA}IuBo)ls*bbl-# zDdmW`#^Xu&HG!D28bbIbjs$-Lw&uE$@QeFBgx~d{@T;$e@H<9elv@oRLS+*Xc^P7K zbunPc$NN}QC<6{hurh$tVHqa)Cwdup6z&IBmi!Zl(u+rXFNU~aa>qvbqWg9Tmlm4fP!u_GlIYRz6wL*GvzsdiJLJ3ZLSdB z6&JqU0GXy5f!^IFp!dy?A|t#6PODV;~El;K{z6991e&7w~V=$xM068-cby;MWXvle?_B zr8~D!=F&}_mU)`_{{R_7A~|eH>HQexr{V(nJA!3{vZ?4D24x%6E!IA5kXuXopm*_- z18B*aM{v$@Mvb8|hHT_(bFD~u^YS^F@`~{xZ$nd9(_Ho!i083NC=VW9A?bqLQ85X978F3ZtZN-aPi{&Rj8XdP81BIAdvW%d4oc~V}61Y`Gp|t z3SNNlGZphY>zV^1P&bLVCLPeXA_a#HKXvzD?G4=5s^dfyoY89dHso4eel z`mP2`+(Z$Dp#yF8>POWJ>`1)(&Rp<|gJD4VXuE%{YpddFvozW!dihr_`{{3sK`z3v2QXlMoo)a2KGmtDE)elSkDqDqTwIk3J ziyjiZCNuyOUc(skcroVFN`q60j7~YhzJ>az`f3a<-SsDclHNXDyXb=~SHn3S51n{} z*;#n@I-L`aqIVtiN%;uK?3(772Oq9aT$EP!s%RIaU=iXUteXy?i%xYn{Z%6hI&WNz zuXn#9@v3aSxXU@FE!>0W3HV_hYYuFIZnJvs6$JT~cpSC~`6!HdVs?^RC4%?@lPNpS zTwxA!ewWN5F>}H_flsp|eV=qV8d#gN#o_$$Iv#Rq`;4>~xRFH0cBx3al}j>V`4%sT zfUOBotaBV!dUN4Zb`vqBfdKT2X(Nj+VTEeVGe=9~*=+><7zyG8H`QxHt{au662vmy zp?P~%7vqWCx7|mis>6L}3`?t82}1Ar~`}66q(u^)-)C3yt=q#Slbgopq6lTUwvF4?Ks~y%i6x35fC&0 zO6T*#EEp|TomKTA+V(!D_%aDUCag4r0wCEP+9ui6hg|n~gTE3iPc#`%ugXvo{?yt# zLfX5e*GcAE5)7@*5znNehw&!j;Z44|p58=4zR5Q;Z>LiqL6$#^#J?(;t0!b!SeE2zv<6&Xic{jkF1i2)7El?0>8)*&w4@)%%g`X-5MyeSyvsF( zJXETB(+uJsKP^a>ZITlaRFfnlV;GXmzC=6*+$#|e#|tGv+KWBK3oTu`xp*O(L~6oe zydsMSmees)QDR@4O22 zVg0%_B+1*7B)N*X3}vG`(&p)ds&U;WW?ktCFjjJkgyi#c;$Fw~t$Orey*g*6=UGX7 zL{LNzC}hQnM51v-q!NyxJBNaoaGF{pE~GjG$2AMP-J%Y=$s;O_7qa5QX+R0??mYx{ zWJSF=kQJ%nNPu~g6&GzSiI}{`K#pl3a9SOBPzR(!%Zg%v8CwsckPLZF(VXbkG)(jr(h7s?OZ& zxX7uMw#=v-T~SBI76i`Ck&r+z%PC@g_9Ej6yfdfr)A zDrzBRBvY9BG7S`oYqRQCtNdW%fJ0}mQ7u`+VzTr>DQ&7>C@YURpr!7_2FaBG0g`sl z3Q=qd!HG=BPEJTR0*|_Ih;0tu`0^g8hS{UOGN@)~$|ZhCFcLOPRWmG&wx9s4Fj3^h z3OfVJk}uYSSyVGj>}godu)CDl=C*2vi3aWP#nORYSfS9gqp5qbLiI??XInKxO`Vp{ z4pxYU<>j-zCuV{JR(NkCMGX$YLBXcbZnM9QRN)ZX4oh41kf*rj)ff%gNaAIOnFF}q z5mqLXIERAD&H+)|s!P>$fr6c%2Or~pzviH)@MrO*9t36|V%ovFoFu}or97gQliut; zpx9OE5yEMb=TzQ?8q`ayYoV(wu`c|resM3>wP{Yw4Tkoj`X}M zVbdf(~z1_1X$R?+$iRNjV2 zDSQj+E(tQgB2{o#04=%-Au@nwT0~0#nwc3cT}l9&2|%-(1<;am{2~Epn;zKDkwKFH z)U(PhGwOZ;9}Kenn`^}_yVmrQkwGy5gdfW7U_dwlgFqHJ95BH0F!_;*wLVfmq-jzlZe>L{suux*YR=< zuluw4amC7$t9cj+oWl`*!A9`H=%55pF5b$4U$@oyJmY^Nzg@#?&Jl1d>UcTm%wa3U zn=;5SSEFHHFDGH1sDB`LMeO)!4o1F zpE3^^e$SRfV(I!fS=#BXIlgO6+%i|t#0oJqw>|C7`chr$PfU0>p(Ft4D@=eRAUv1d zGpyz)d6mVXFM!2B`&q-PxHMlp>qvNaPC48w5^3fHR4 zHJ{%>wXNf-&IM{>mb7Fiq7WWkJRh#kMJcXhQG@Gref#{Fs&lC<7l-3&cUX|CJ|5M% zSQm4ua~)GZRGsViv*11@x^k818d0LFReVIM&gBJ(Wk@6i5mVlrsLpjeHNm1f*D}~-S6h2I@fiYYi_Qss`{PMJ5&eanUq23hyZ0}5=bK5 zzONR+_`<*9CD(a^kWad0jB3ccyfie9XEu(L}xCeuHm^SBS zWjr9;bj|lv9M`y{v{Y|Gu5w0G1PQu!y$L9rdnR0qbB?m6+*rMdmjq7mgJDUEsF3?o zl%%-cmtRnH%PW-+Q0;!RXpykA5Ro#ae7c4KO!Sq?2d`8h~U3-@R3(49}uSn zF}6MK>#XuYR8)s8EN9}p@LZcz`QXOB|AOf8D=F=v0Z4-1nbQ8>D#Hg$!Ye85$si{a zY52NPBax<7>lc{P{tx?mTfES$h5bm)Q&%n2^5%RW- z194~S#C65tD{);r%iOJC2LX#c#QhWQ!_&S{%h(q>q?_p?%4lX+E5{3IChQ(= z=7tj2H_~W$W7pAeUs()`(J00r!5XKXhWVaOdNL=@`U2bmd{{o&bO9Wr7 z+}szV`4=QkyppC#AT2d^Ui380-+CoYbKnzP7D1kOn&y{RpLd$(Q1<9*>R9%`Mn{LS%ih(=itf5Kk+%*r#JozJYEo(lPltOvmKsE9sbD&*_-4u^zmnWVCFsoyl4ySZmi$%9s5|<#$f!Fi*S1tCNQV#C&Zs;3N=BWdx*am1)V&k0WYjsh zF@=4>PF~84Izlm&QFlBt>NW#yeOS(@J0|Xy5&B{#_X0EOj_u5-tHn0)!R^SXn-_$f zT|c94!`Vdp2_d0qc7w!5fY|MLX$X{1E*)XfWEw;uv;*Tv9zzJ2zbeH;6K0-d0%z9Y z;MtyAw}J~*SqyXrr58^(g`V+MUYwt(*Y-}gyR*dBC70$>y4_t)faJ!|E4xTpQapov zvYjZUC^h9u*o1btJ}yv^zNG`{Z>is1_g`I;jJHmBwybc?$?%+>9M^{(wZuE!gNJ$W zLV9v3Fm2lhouxhB6b%Ua4C{S_DBcCL|UE$Tn0c| z%FElkRaZ3HrOhs|dk`F>b{)fw33NGo?@nj$orob|*LL=v+dPzJs=k8|cMY(++cnwi z7>n_Bk94|_;&Re^(S`2UH8cE}_AbNkRStU9HqtMChMyAlj@(R!pHc!9t(b!Gs2#6- zr9l~@9TE80u)u&F8GcLSxo(EvA)8kXIkbQj8*kOu8Ga-*NC8}#_v3kyGW=ro4F~*U zX81+co`M*iu+@bjM~2_hrHRu+nwKiWPaTO2KjmwlV{N)U1(iF2^Q)QR_w@l3cw%HZ zMx3_6((O90OdW;3CeSRlNZ%IOxk!QRGyLWPX~&6gEW>ZB&F4oTk82>e&Z>Hgww)+W zX05muIs0&4;_SEZ(hM`s>MdvZZT?x#@H>i``pEOh@bi1sFKycU$E=7uOTP}T1>d77%exx&`ZD1%; z7t==30;f3a-gr=!t3bH6|b+V{`ZOirB>~8MJm#7zC>vH|5MkWMWlw;W;X$*4xu9fV! zJG3KMa|gVyoep^Ye83n-iNy50@&OMZ^=VD@GS31LA_c-ZB3|CfpPh0Jh;3H=y(-^&B_FU8#9zq=R6d}J$Qm6~?R+k!4eADb?v~(lw~*(vozGFG&3S@)^4ffE zIWdq*W~4g?qnp-8dqy`*4D3?@&FHF*vqe(-wG#tvU~*z$oGC{r5q)W%uOtR`VCf3y zs6yKSKwr(oz?6SV)tm($LgqV^d_kF$+vMTrlNk7eCEH-&ml^e8gCh#CJ*SLa))y?0 z!k9Q`wH+hmz8%m0HCsHLzj{AqDf9MonQFet5&O|xX(6xA9_65PLPzEEB(B|NV)>H~ zI<;Hd^DL>Ha)JIT1u#dV8x7yF(#6I9fjg}7d4}iTmTvFHN}YI=yR7{T537F5TrK-{ zjy%B&E3TrMD<{VZB!!x%D}0tx-PUi@-fHTcUK&(Irpfd;UqwMy7~@iJyKULj*Ik>( z)2x0-@wiU&QnDFM^~GHETs>5pPeYZ*svCU*3F7_BXXMpkgq_)!a)AFE2Sd$f61S>v z%5%gC9Ph>KMsVAvus}K%^ZwS{s>M2r@SjV^$>L^9w7uerO zk{a1fB)+l$oY&@7XR}|-!C2;%EX?mI3i>we%#+^!bkP~_qcH9}Gmg&i(R$o>1}nr- z)}Hr1HDLbpqWW}Nwi5>JT^lA!L&XZw<(ksF;#};fBh*?4CLBhrmeKuJ@%ovK()zT z=uXSBYLALYk!F;U&Vp^)8{{s zkKK0Nfn@!ts$VbIfg@Lqdm*srG82%b3Mux*csCQRc_aDgLRn!g7Ay&BMNHIu=#}y3VPcm za^<&MHQ%yToguiK<)jpKRZ@1K%tya9%bvWiE4aK{4z26_~qbldUI{W>?#b=!5 zNMi3<)Wz}azoSeCxJ8;|Ed*;>L>Lbks)B!{3c4TzjvGKS z@B7{dYoC1LEf4DQQ_YC(WcTq)C!gg0#fuk5mx{~&o!$4nqsxAPFU;f7I)6WF-VeWJ zblS)6<|pstCbec#6TDj&dixVkvGQ_%=P5#Z;-tIuiKp6a+)Av223PFQg-HlH? z^J^%!Ql-n2>O;TAnl7Gx z>ZykB{*6EW)o1?AKm5qId>_bD3KrSD!n$+@!lg5|yM!zA18m8E?8lq@X+I~D!kI~+ z&sM7HCr4>t&}HHzf_~*}J9(tug-Ch#X^<3@hJ$nuoJdrxSrvYmCbFJR>1z9Aes+I` zW%ogC#5;Jid+OxiDbNvObPB3EmIs@ZgLd)|#C6K6h!pJq97J#B+C)!VNFAjk&_?P6 zs18QWfzn4OAc#-juH|Tf;8Yy$R-a#2+!Jry8*jWJ-k{y~w|V0vM=0k593+SpK^c4y zl|^h)EpfhUz(8$pzPGEp_4f1E>Md{V?Cmpm+-z?}rcA?@4*#B_#~+E!FrxtE2GQeZ zkKHW5Up(~qByI26+g;J)OE=xyJ<#Jrd684qKelv&x=09g1^-g}SB{adr0f;H~;aJ!JiodTc3xkkr{{A?5w{Mm|FTg)h`4yRO!2 za+|D%OhB9LNY2+4s;@osIPAlq%7Fq&^9;$L5CE_Vr!DMN<7I>=BTtv*03vdQ!w7%M zipz$mUz;wFPWP-Duw#HOvUvfIxPw%^OXG<>Wz|7CBk7^EVS3Tc>VKN%RR~VN8>P_u zQmvkYKQmCNX;Pc(Rcc>7cYpoE_2{{GBOb@l1oX5MJV7l$m}==El%RR*4kd17H9|hA z*S@`xD+d8w&hXJizu2neH}zliq5O^Z#HD)K!IMao( zE)=@J8U0ZmK{`91ctD=NiRZ6IoDSg_jL`ft&tX{5j8lLQjAPasxM}7YZ9oUP=vl4Y zIyWx>m)q4vU8)(ZDrqBo>m3>g)qqmyRp(UjQ61JLKVGT^B=sMy#Rw?fI19>_v*$rO z`cDSq&F6ZZEf@0`FK4=t>w?G28PXEJ7;mBA7;bvJWsJAfK1M=7uGgz)eTx9Mv%YHq zsOV9WshCqlwh&4}$v{a;Xf5L)Y-NFx>}zgJq}4c~XpG<>^aG0Lo9Vd#E@UUJm2CKQ zE`|;i5=v$skgvvAfib-WnjQ_Bfbh@oQVQqDKV#DPna1S7X@yn?Gl)pA6v_%F&l(eWN+ zM)4l&{F5EL2Moj(aWa#}gIFmx18ETV=~+~|4B&h2Q<(c$4wkZ)xDQYC+=m?%bUSUI z(uSHR?h|SrwY?S_JhGZ8pyQ7)v0;o*ZzlJzUQ&m`5a@-HejsUfwh76WnC(6^s(yK; zIDDnh2HPv}v$Ss;3`TCfrlbq)vF|Xdvi#04i%7L>``}J~I~~&#TA6S3xme_*!VqZL z-8_8aY~!MUUcy@2BFZb7njFxhsszU59@M$Yfz=dK(|K3kcRwVf zb1#U1Z1&9VFz4gh2MZR(Ud2oZ^>sWOs|r5pZ9~L==Br$XDY5Z0aDYIVUAdIzMs=0a zOy1`Q7B#D`UTTi99W;X<&of9f`%N|k<6eD2b(UN}2!?{2K3x!_;M%`r;Sy zqwqdbN(@g=rcG(p4GmhfoMOGA$0E3}tggp&TfJ3RATSekN^WD91A%AgN&Zl`4n_j* z30)LMV%7(B^t0tT=b%v@j_*H+Qmv~l6^FbbHIY~A(L>F~1^K+|?4f3ML6=Lxc*2Rh z$RltO*dDE!J~Hlg%9+-)!4vA~@?BB$^ghHm-33w%EWNK?ocx5P18&h$Z3j9XfJ=ho z6+;3p{FD+*@z=*=E51hIFbs%;#6<$KHBq<3d{Ib8QTs)b1)wnnuDUFSXFgJNqX2B)6p$VZ4uojS{@3`GA&=e7PR~o z>T>hc<(j3EUZE~p)F!L1P?wh>b@}BSKTIctVbbUg03!)ulTNosnq%;bEuAOU^cTVr z)Kt>gD4w@E#S_p~$aXJ}m0x$(0MTHW#Asm+u+dm8#byh^m(Mgg|Lh0WUVB<7zL&-`Wy_%W&p~?>sPV{ zkPAhJ-N7jCt9#eC2K@3kU)x~~Slez5SUcB@cUS`u0Xl(Vl2p)S4Ujr)!3aekYry1e zy(0Mpgz0rInE?>QYzDAS4euQdl`JXJ1D%T^#E1-6q}j&FzzjfTob%1bxyDRdA}V?q z>icA?-0<_+%&FS z16-)NVO(Dpjh3&4X!PZr;-ej<8>*WtJ18CM=E_3dT%vW2fQ(KhYL}=Z{jBv2Pyr@A zwR;h?&uDA1P&<=DKGe?qX4KAK{P#%h?9|Joc3K6M+KD=974#Lg^A)x8>s0O3ZpE7p zGZsO;C3MZCfU;MIE*`YXxf#+&r*f(&xo*CQDrdM@m+9*AwVhcB&1K7k zOsHZqv7apJrj(6i#4Zx3Z1|hd4*4XWp!~UJdZ{ybIR4e@95Oea8^z$^=-1v8Q_J1@ znj9GhT5mStles^MPSJgek@9SEV7)G@>7GI?ctS>$J>KtR{_fS+X4xFP>f>-7h1(v- z_APJ<=@gbr#1xLTe_R&(u9OO!9D`hr`_)$V3|{5JY`~CZ9CT<#qM`| zezQO2kCCRO^~Z5T&Awa;5e3(J9N1`7x<(Wx=8L6Qv~JyOQu7(Y9HW6v7#e5&1vU6fqZ&F7Lch*#g z1GIu>?v|9W8q1TNLorueuGc?W?|-^J@HD&f)%)+qCv)}k$DV%ry%p9M+EWK`DCivo zGHf_HeVcd+3#rDI-<#P zmy->7k7Z4apn?eN>OU*qzx(g;CX)b>FazJ;#s@DYQ1Qm zVLOu_Py|uY5(p&%_H%!by(Y{4d`4f|=h8U?YJWAIGphDC{~*JI{5psrV|snY9-H2R zg9F4tH2bGzkWfA6U``{gdtDO*_`oT-jZ(-%=3EKt=A}y_7rq1(s!tX-Hx+k#XbnsQ z($zlQTnEJWEIs}k#{(wx5fAX56Z2;ag1?_f=8cd!3U)h_0IDf;Wzj=pg|R-H32A+H z^v{<^JTVw6v{N*9&Lr+8__4m2>Id0;;CzOo(&f7*k- zY=7tvgBik;1$u-9*4kH~kZnHu5?tI^seo0)c1T5{V)|A6FXM={6@5yvNfMTUaHQ@D z)QI}38C9Gv`2tErJrQx?Y@}z_iCjbGAXLu=alJX#ZKO$@B}6#LOwOLoT!WzTx;mor z=|#JBmOL(rZqy86YXgaHM0ILuSF`^IIh6Da_0_W+#7YSU+RHXBvEm{qsj!K{kw z;QFT9bE&JfFr%$nB-4xQLKL-vTt0iUgixiS(CM5ps!flcpUSY2mlPkMSbigt>ZF`{ zMLw0m3)=h8S&DwJUQuinw-uDBL9!J@Y+LOre=7xKSl?4FheLs+&>+8+A-mBF5CdQ} zjxUQIJxCr|1S{5~@7xe=W}sFliU&6c)=_u8rCsjn;8_-fVVxMG5u^ z<=hENb<7GYs@spDlo1`0j5gV<33z3c&e<1y~>R8ZT#BExEb^`$0PG^6cX?GZo z&V*bgPgnmWsoaZf$N@%;gi5G1w52XHtI%+!Fql4=@h(IVbu4F;N?}BcX-`@dW1^&d z2rrIt#)tI7(epuilG`rbc3diXTo`B6vj$yg@s+|(ZkaojR+m%qC0g8a{ z=@DGiVc3dCK-wMA%*<(Oxueo<84?=9bogW_^t-m@slVAlGCk_;^#>{Vdi5vxdRc)` zH!@5b5rDg4j(PwGGx9L2>R(QjEnrfyGGBvaDH?)S*EPS6@I=1Sme7O`qT!z`wpg(f z*(HFZ1igmP(=&5+JO|fcBU9g+3RCM!CXBv|Hzw>*t=*+Hf8}Afz3HA-#pP`{xfvcwh2a+%DbpPCT;3)*>)>#06f3X?obTaez;pGtxVIV$uP;5W?v=#fT) z=jVu*_^xA+fxVwvbG%Qfb>lhJVw70Odv)<$8vsRU&`4IPK@6Z|WaXv+k1Q!duLb9? zmi{J)tBfMJB46cA#;et+mkF)j5P24`T+Xf&g0l4xf)a=&@W!cS-*j4iTowo3{(M+p zSVWB&eI|KFsAo%~W{~N*cJ&L^t#AZlk!n)Fc?J9i^o39YX=WQ+dgRyW+jAx&q=dco z$^Hu)2s*|=hU|hHe?ONH@FMlxJhu>zNL@9G(R~9Tuf@mdzGND@A6TgFOHv9UhxdZn zf`tQzOfX1RS7DQ=Ss?hMf+KFHx+4=ZoYD*!D^3=7C#MIix{7)j*dMd@Nn5)zHFv7| z<1}Ys0?V}Xxv`vfuGgOz30z;*iT*cfqQ7>-{TgA%e_yzci7=za2?Rk`nh;dZu9ne~ ztArR;Bv+9w>{<~aWyJ70L;AiBVu%EF|JFsyxNDy*E$7evXM|@VyuKci5eN@G;My|6 zi|UW6_7~E7pS|Jt%1SwIA5ZW7uQ&W&QAx87*;9lkd~6Upi)%>5L%&+>Ix?&=5w+C& zt>FW=_78Nc`B++x)y`Wdx?8(_c76ES-5!_?AK3Zvqus}UeS)b30`R3o0KPy(r6f`5 z1~I1=bWK;eY~rn3qsPyN4ADNu3$l+g;?TT1*Wl+0+fB3fv4vY#mBpMf8*xgz1qF|k(+<_neN@6z4>?F=XW9d9kfNX z4eJon#B$%mXLq5zHh2QEA27uF!cym#f4*h;=a~fF-=;vrO@j9g%U`-Xed(T?{?Li^ z=E>dO#N(HrYuDf2UU^5mem*P@{n(DCHwkRG$}%yA1T}S<>$|;tMF(W@pR5~udpWJ>#9IlD7DGfK_t?`;SaL1@gTnFw6qm!OjGj= z978hNg&raHW8TW-Rps`!*JGbHtNcLD<{!&P4WSC}%is3M22hzRv&wR~T*JY%Q~xzO z0Fr*4%HApriv&9TmFq=t`#P)-G(;DTE6hRq7!9~mad^gT>af&~*PJz5$oi0L+W zQngitc|?r4Z0#h6nNm8!+;HZt>DJZA=q$DDJq8} z7=zd9L&1zojB$rx#?6+TT!-te;iGHyRy?)tr;79xS%=Q+V|0xCv$_6$CMU;JllonQ zrqCA*bQ7R>DfI#zY=2kqq0>t@(0xR*!0L%i&8VQr5)**{t!L8yA;%4XZVtbiN_cU+ z^J4phg*wFuRF%viak557_DS;k$I6M%~pW(m^E%`XYO-Yus{C+qG zbf|$9Z=Gb=6uG|!>{-FSPW^i})I z6rH{My9a@Gf`%T^FuMyUsZ7WsMVnB(317R&q9`+ zQrIm915GhQ&;stJk=c1GQ?fvDvT+xZw`>l>a1|zq!Onh>8KJMH=jqbb{t^mtx2|mE zNI$CflU`PMDni-kWcKdDehWx{@*a6kwD9fkVHu@)sEB-pXr(f`@JgFMJBD# zN(crZv}EYH5~*|1Y)mF9Kc^&@(Ye_V$uFi;*@$?N`G#3Ga+1LS7`nt-yFx5w>C;{U zdv`i@VPr{HW-|4IruA71a^`tL^d3}-%Hrn^2zYdP^}eIUR`7(iJ}4t=->tEv&a_YS zLzG{GfO0_@1PIJ13}R2|F;NfNeQ$0ro5e|G?^|xyC!*icilMg<;e8SFTFdsw5b-tU zT6BF4x&$p>YwuB=f;AQq6nzb+;u^$DB>}XF`hE_?K^!R5U8qV}jZS4qe@4HR#~W-E zru*-T(v&d1KvJBFU-?Q&Su|gF5aECm64}=r{vMzZG)Zibz@t=8r9KQ3WV)Gc5c(59 z$1+PJ?;M`l6LVHCVND{nDBKa=mdB|OH zAfgr|rA!3QVSm_ZtLqPUqd#6^Axdd$P<4s-Xc6Bo(}F=p_O`73AX7}Gc6xX1u1H&N zwsnPG4!UAiTQ0i7-RO$Y7CmFwZr=Xhhkx(GV;A($piKDkwmjco@kD}%wMtn@N-;pD z?nPHllobdV#J!bGY3bw$fbc-d6owlhJYT?#{ z{=-an4ujcdwF{iE2&S=od!3)%IfOLL%UxQ`@@}9-b{T-yWMcqY?nc*a&)%zReMkDR z+QuT-(MDBf)nU3!Jg|h>VGZCAVF+dWISK60KjRWU*yPFO-5k9{`jRQRO%;%H8^v3x zr|P@fYM)8eq!}-@s7*+QEyAvZB(uK-|B|S>_`ucY@c}fxt^+5F6T`ux_A%IHwJ(Fd z44%Jx`1~%wp@SBYvR2CNqMb9>e~-|aM|qvYo8#~%4$|9Fki$ST(Jn?1T&%FgHr0b}-)bdKVr$<1wVQqUO@o);e6ufq@rkpu zpFn#El-LTh4TaCZuMY&<556W;HXS%S`|zkkDG27`x~OWnr!gU^6c1wGH$y&6D)LzG zNI;w+u z2pJ+AD#8It4|vFxMMP@WaiD+?e3yr~5d>&`M2dEJ(=v%jUqSDDgy`;J1HzDVsV21`zeBBFniIEa=vOfF|XRVozwp$*EPYnIe9 zPYVdEe7g}OI1vP%t&8;0VBtw+GwW{3G@UHBT6_`v0gRx|uS#9R!5mdIG~B^pIz<0%P%kKnq& z;k@|H{_Z>4HEZ#mXKvs-66vy2*~hdhk+m>Wei7$x_D%VZ7HPa$`{{I5%O?d>Fhs^s zGKS9Lf#Bn=&OSD}H6DVCS?xSoygO$ci=XewU9O&&DN-0c1_s)QLeS`*(+5Yhk2^*P z)faFeS`h{ii+Au;3*2V^wKM=@+Mt)oNP(Qe^ms;K=Er2?I4U>_En8V%WAXCiQ~VHC zHnul4Nwh8{THlNKRF7~sGGa9@0k{CE6a+xucA$?6;$EqKRfaNv2Di6GNfbkd8j2d_SZYu!5K{T4lu)rU!?W9d z`U~0Y8RVY!-LEz7w4a-`|16tP(4m*anLHjW-ia!&fyx1c71Be-;%31E)4oO%1)zXH zq4W?w5fL-wwCLNCdJQT45Oa_PP|Ekm6s0fn_NY`88m4;L&6!?L7DHpTmU(yrKzbTW z?pd{PPig_fiS#3A(2aTwPNp}p0^H=A$I_eiO}`nI=-#A_D%%;9f!fa(;U{NNhegp0 zqCqsmE+-W?R9Ge+EpG)xRrA*-=V&F!mLOYoykOv#d%60?Dra#JHt zVoJP>m~wM3hnNyCBc|Nk%SlWzJiswix?iq}S*Xi{vbF4fN5&5e1)Jk4bdflfRSM;0 zB9T%Nmh_H=q#=gY9FQt^5GABmh1n~F*FXV;at8*gNKqdYSM$A)@B@M*Ow6>-AV10lx8+vAjr35pv(svj!Oh@H6 z(lcBC5fAvb9KYD}xEmE2i3;OV`@{vzZ~29bG6$M8uUJ-8022G(&7KWeOF+ULlWc5` zK7@WyPR8$GZ1s{(w3Fzk+*Rs2V98wQaWi~rJ`7*MaSR{((!3N1q*{XTYZeBvDLVd` zn>zbHsVvRG5m2Ef4}>ka)RI%1Cyn^Vu($B3R|WbC`l8B?k*!wYz->v9?VRfr%7 z#Gx|AAkpOv9{hh};WR5<@#Lz{+^IDXLd`WS#kG2Jxu@+jHJ%A$A+Cz@f1yJ*n+a7o z_A<01NeuJN5L=73{C<{Ki1hm%67^c9rD&%YzMnaQp3A}wJD1ujj)PRQ$rawJ{dnBg zT!7{M=XZX5?@#w1hLK5t!{Uz{PuvU9FyTwt;R|7|u-JMI-`5|Y<;?}o`jO4!*avE25IMCuq9>p~q$ zB#xZ`#6m>kEL88-H$Ssi-(;L&*TcD^HleSxXMv&!9@5M|DxGYcGANymAz}tnWOU3; z>MW(5ahB4~I7?|~oH;uS{H@Do#JbW1Sl!U;KJ)87^XoqI>pt`ACXXVaVB|zFabTX! zc`KLS#3x0koP!MZA@SeU3;dr$fO&r1eW9IoKX>b*4LhXH;T068CzlU5^oJyd)p1qg zWH$Tx$SL-7;7$*6pBZL8Gt7KunEA{w)3>l+vl{e?>XWa@Pb$mqNN=e=B6OqxCz|vT z`LB|zY`-~gECOFz;r5BM&EZIi^I@ev{H+-qaokI$%MpbG-V)E>qIZvV=THPkOn!z= z$zS=zG6^o~ zSL?@EbP^^HIjE1yL=u#@h5+(wdg1X4+*fW+kZnH>kpo*76kG2RjWeLw-3uszj^*rM zfCiDENh?~(wDx#gT!5NV?o9Q`_?cfs=pR2cCn2W$*G;vQKc8l0&c6jQQYZ@2nUjnn zGY0mHb%Jpfn#m0ZmzU?EeAc88=hl%;iCt|Wo!GAF?wVAI$WoE>S3lNFU&QjHl^#nH zE)FqF2O@x^L)NqVOy?|8MM7JMa;BImGLsTMhAqk;UxF->YHW4rRz*6bo{CyxgpO`t z{RqvLxs1|vq8%fI#I9c&8k1i#2qsKyQDmT?K$=D&Q;urtSwC{O+AC1%cCatwL_?Ov zXX!DqA-}}YT~V(L2OgF|L_QTYA)3$nnzU>oiNGX80g)b~RYJD;24s~ksMYjAK13Ni zvkI|DYubE6EK4a~<#_?ya8iOSa3YsG3EmEr7(!g)xP9sYakbCd6T(H7PgnxVkSe0T z#A5JLDC9j*m02oxzgjYL!`+|eb{uo7t6+`9Aq#}jAQ9P%2C1*d=na(c*Qybk(0HU% zBlrcjk2~F`AtdF)I-*3+&Xo%Sx2l zK#K6>VgWt)4hJtsmF^&CxlhUZ0Kj*dD>#kd{BM%ykF5O zN&{t23JsKa6Rm4e$h5beS0}`RCGNdNR`8K`BtSIBKUihZM-3NMDHel%s2|vAVhuWw zq62gKh&z&Cx`4Nmah3;!!)P%Yfz|lD3NI@?7l5Rd^vgnKXk1o}Q1x>0V)B>=9lI^{ zTU|B+r{}%&s=5*UMrk`;P*QZjEb#aRik`fK!YUbM*F+eF{F+RZ7~{J#bBt?BOwe?i zgschK-Rt^<9$p2~+LjlJ4uxmanhOuIC5kc}r|clYUN+*BY$L|mV@#j2yJBIyKi zk1A2D4Jg})oXjb;)$t3gT&O1xU3_q3qPx1sH(5==i<%J_IH@w_75O#Y96ly4vZ{D0 z4v)=2Nl4)-^h^PRP&}isC(U3b4JOf3?%RXUJFn3@^5*aMG$08~fXOsl!c(L1 zYQjKU1=G7V`wN|Iyjj$0eVgCX97mmd1Ar%J!&pLhq<2BmP07W*eUs)y9TG+&wVTMs zqU9SvE_%td>f0+?$Ot2989pew!o-t7BWUo0Y#p`abVHtFg3|lC2Hm0Vf9k41T-C4P zrBMuS&`A>kIFX{i<^d0GqI|9SnMC(!v55{<9&vhi#2s$p%rxBB!nI} zY@oB!5hDSKpY&FPOhbnvY3%wOFC(w$<2uoou~?+%ct#fT)VK@>40mjXkc__}v6&c3 zNTU-$52SGkiXsNMiTW>kGMv;(x3Mnhjh==k!NmqUVZQkwJqmt2r;Epg1Z90E2Q8ah z#L|rHBBUX3Xk0ia5@!pVUQ--_HG}>ugW10MbUkO+1Oh0=ETxQ2!p^k!fRwyBv2@&l zBSO#2*U@RRgRzIC{^JP zIo`&RxESe{3X_rHQDHM19C1i9VXo2z64A@TEhUCwjbF$oT-9BLvJ-?FyG zuROa;5(46Oefu}%SyD^yunLl!$=iJg!ImEVrueUJ&*+m&n2YV;>Nh1vpI$@ z(i;BL1fMnG1x5vz?zSgDF@N8=5k;8^RD|W(h;|ff;{mTKq2vK!E(3`*M*%g=Djm{l zGVLYc)6m}zZ;1r*x8y|C3a3OBAJR5uJ3nN`y~~3Oo(+L)jG^%%H8t)VhPF@zJ@f?f7x8T#b{2NX@N%V~>E)?32lUL|m!Qwr^pJWwGT#;R4V;Xgph@ z>CtI5dqb2neP={)u$@qOMN81&|rbiVd| z@1(CC-M4a)_sWIVMRcDqYk@j9nd~HRVst;C{nFwn$r%z%TC4~zR5Y8{@U~h8;c)9) z*DBvGNOA3${@D2p&fTJ~7r`1PdZ5tCn;(Gu&;!V5C91xU0}|7LdN$7>mzD~lypriv z5(g=;Tlret66}FLDCd1X5j{wvzWM4e@^|fmPbsFZa@g-^N=>@ z254Nrv`B3xt!6(J29kMZgleq!Nn24j>B`hy>xh&TVqMewiEi0ZMpFoQ!85%c)t$gY z4`>v;{|onC|~5%SD^?v8wSbRh(z*o-m4Zn>3Yal;Dycby!l zM>ow#4nPW-Q)0R%DyF8Y4+1YUa|$R+_Mmhg^bU{tL1ua>?CGE*vk}%ED$TqIZ1ddd zGj-0Zxt9h|l0XmW4u=ge<5tvovU=dS+9Q~j58(Su2@sQNAGy zrebYvi(Z32tbtxAS9X_~pjvzo?=_Q>pT-g-fK`G|$11=U;ABA)p=Cr^x~PtS3yfMg zQfQ?v$!A513pniPGDJ1JvxopVgytn;%BVao4zJmk&ZS{VYBx@C9#4Z0!|x9+_i?A%f|e!h&t143w5^;8iZlmEIx-nf*QQ6WRiZ z1_@iOsfk5ggV4bdBDmDJ(WJf=^euG)9gT0xIqhy(5W_c+u65l2(Y3NRz0^6w_}9Ia zx)EcGPKb6F>XXN_=#8|gkVA!v2=rQ00*S0E5$Bs%&y1oJ(*OmeSc3vMl{5x(U84Xo zok9WWa?*xfPX=uwA%XS%oO_+P4(yBs9a0zx;L}0^@Jb&k-#%xk7Ca4CAq8F%g&bO} z6jDfTMXxkMBqdz)EQB!AH=F|{kSyL_SE5-C;F6VKfgA!gpYD-EcTs#mT7g<#tA18I zZfH-s*3Am6Q;*_y>5!v)LILWK`~hFDLg;`#^MiL+MiUxJG%OI&pP0`{kVn+AN+p!Ve4rfAuCCnZv zP${4)08$e9N_2<9113B$I!6k{hhPVsro~C0@uEf`D+t6l#3i-`%rdn7vWl)TCNRoo zTTT_n+WED;4I)dFE}ksj3TQaI#mm*W4_2;;yB=k7B7|`xGM7npx3ohsLfF?&kQ>fX$IIvxL%JL z2sv<6FQA4hDTeh{I4_5{%%M;`tx3X>OP@7KE*yiFfu6x6tq&$CycohjZLXu9@qENl zbw9$Gi=dotM*JTF-25#fHV>G5R25;UG}x)$$xSC09@%F?I%06`IXBU>j0D!l+LUGh(SS8-Ck8Hu z{KI(*$B{szePLoT6|(+tN60Pu&%uk|?(%`j27H`BKFvgn@^q_DNy!R|^MKmvR8~Ml z6N9@d{nvNl!p7>YyvO&7dY?S>GD)-U5Kj-WC?IqGa!1RSzg(m*cXzQk48BbF7eufo z)uQVWyM%h9!=v@A1JTg*8`8*-@xUShhK5N4NEg+u7}YyIQXdhZ(1q|CFiXL>5O8Dy zwvHM4G18y?i)l{$9l{!R;dAmhs@$^BvlL`XLx!I$_a3q#w?#aT2&u3QQAmdfMGoTU z3%zqgBxVCEk!Z#oI0t5MSe{xsr!lce2kbIk6!}~{EgkyG!?c(`EWbr=bC~(mD7kr! zO-S96$v6ZyDNqM_4RXX1!S|aid>p{G9p&yR0QB4 zM0o^QR{-lYxDIKil9t5q@;bj*8mBC~7N^87gYdgL z7qr)Rv1f`@Eb{<%B^7m}0vfTt=E8w!*rEks492v0&X!XXHs)tZ>4MS>{7>ie_&iR_02CBTUtgS_us*uw!SF$)PN$edfXV z3Cz?{&xF!SUduIw+TK+>HtvpEuK!;42w1^dWFy+Tln_9rRgf1=xE#lu6#C+F`oU)$ zP+fKb)ny8(F1vtgIhWVZE316P0o-=*gcLAkQl_RQtjaVh%Z!d8EHxln7x{|ufa4md zFbh~KIQ#Lp2_^VU(VAJZ{1!3Tw)ZF93XhEYAqz2v+=vO6n*Hmef*K2#&F7U_8L&4w z8$Z}g%=(Zc)FdB}&7>aVIa5tQ0EFj^lx=y=Y?&C#bJp=6r;<)>_K+CdPz}t38=*j# z4>6X}1xhI3Hj5$4ugsK+UTZ2Hn%uo-8FZu>5y7Sho|t<4n8Z4foQ){2hWm8eM+i2X zN&Mhd5s8s#g|!B)82`!`v-B!}Z7j;q{t9~N_*ZK7>6kTZPyZF|n5?mvj~D<9zs(-L z$a((wMNC}yv3~q-{GG-n(@^g7YWA~)hW08faQ?AJBsa*TJVET}Ngk->XXoKemM*EEgLcTrwIYp$?9_@3&5Z43Jzz|?ae=NR@KYXXW@E``LHg9Y9{jZ*T9BRyG z5gY_N!CEEox-W6>=gR6iZ=fmqp|45c6BHSK7Luv~V)Ihr3+hZSv0i5->rtmcu-^Pt zh)V)F?UeCV10M!eh*r@weFvP;cp(-j(gx=&psK zzzYP5pt^yyq>oeO7D^DERlz{nT9(KRQ#4#S@Nuvx`@+GaY;g{vovs2uoS5F-|B zn^B=ak(4092w#LSnH6mu&AyE}`A@&?V)7no+Z~~kK%A_wdPmQ*8ksZp&VXJh<&Jfg zkWPi7WPjr!mXlspoSV{5BOXf&MD6WXwaedNnBLGw-R(OI!skLco8IDWxT~W~x#f^E z=!E*A*AV;K96}EkSMMwGRi!S$@a;d*G?Kc6V;e18(pj^EVVmd~4Uw~Xs^}Q^8eo8N zLsNwx02xz-SyM3Xru1^?`Tun?p}@byxF=@ZsN+e*63`R7<}3*zkoS%qOW!m*mbN(V zQldOh7_%Uq0z2}c8}N@|R@A%4)cD1wRAE!9qwWtx-eQ#qekU1)#u`fjt_kchv3Rxd z$n012D87fcav<$&_mVD|1n9o}Od{~A8nG-!)s>6XTa-n6iX@#q47QH(gVYFEE?;lMk00O?fP_`*p4OBA2~r7=g#lTF z(%}QtNx#s?1CTz{D4!CB`Ce*oA-`Fqg%=6Op*x6BEJLjbpo3w|XN5aJ-ng(#iCNUl z`#Y@2w3$)rw_b!WnkzoZ3qMEEnnqyj!Rz5+>0}Kfy}zFZ(R`DQVR|rA_;@WgJFv&@0OR^)qN+{M_okK%fIZ ziR_LqC_;JnFPzGbY2ToXl>zqonM?-M)KsQRC($~P8oH*k8tC~Mw;V$`*)>J@;8Iil zM^6nJxO=&Qd)$B?NMBR~dS=kTJzWF$?9~7<@O@)%SZ)9m(14y9H1J7QbwCT| zyz3A&cMqrz6|f~y@^!@-;O4pq9pFd?Sc2T6ZnrCqplR30{M4Z3-|bs|bdQ#u$k`9> zv)fvEi(65y=Wuv_YS7B(`c~euM=L7U^40~3>)ZRIZS6hg_Cy7T?fI!edtd0=du)&P zTIB`ztzea0g54#z;z!a~1v@`AXywa&E0^|YMRWBetMy4%wTt`oEsAvy@%+8W?=*p5 zV`*T1Y|x}+3sIcc;m6~X!*vy(u6{UGA!I?@HD^jc>Qc>RvQ1?yQmk(yAwl86A+s>f zP|H#oi#;p^#UMYlP#FthFZ|#JUtZ*g7VVpF_T^!IX!xone5idniKU20djH?k)+;M; zUh0@&oM0~K<*E5vs;Yv+!={$@J#(!N^44TI|6(0Kv?Nn8D?j)E5AggM4iLUFIEN1? zs=+yYI2yldI3$msL@-!W1vt!cve^3@k7E4siWd>yOf8N?B9b|NG^hh-av-W83Vp+^ zGFH_{TtR`40h!=y7r$m4AMpV@LUbK1J_RaDp%7{6JYAG>vj-RcuILAG3e^2E1>kZ) z6u3t*+^zszTidBV`v;Oqr#c`u@liq5Rq6KevZ}z1Q_r}$)yzP`nUyYnu7pv>KdtMZ z;2VGs@-ASW;y`@U-N*qkHe}5$8z`d0iu8cN&&aqFV_UEHx#fwfz$uPQyr!4^ICB*^ zB+gU?ZX;~hl1^0x4iwQKdWbF;gA>G?jA2C3g6(elskaf8<)B4$0cLx~D&QCEa6w@$ zi*JFo6oZp8w-TF?0U4cY`?D2Em)c$k31xueEA5w6r47m3I6iJaYqSoSBcTSJ zeh<3bR0BJP)^%Cr|(tSOPUO(!3L#6F!T1CHxo+$Z524HWt=c=N*o`Y^ z<<1fp3-gLzNnb&uGgy)vC_uzFfdjlRKAC)Bx+hk3oJ;|vX>!~P&l!X#oyi6|o&9nY zxh(!&^rOu;W z_{&S3&#uvVR8Mza`IXhLl=&J;v)PkI%bBb(nLEg|Nb=x-lb;h{A6#AfRm_VtZNea> zxQTAt&_pPjG+uYpE)~rozgYP^B6Y2Zv6r4W)Q`p3)5OJUNN=UE4Zl26B9kylU$P!8 z4T-fI&|_CyG_6nL2iDUN8b?A2x3+A?(?QtYYX}G+7#_KQEE#QMEC#7;RAY^W?h54n zEc1&zN%a6qP7yzV{sak|x#T0)}t*=nG%8;>f3 zu>z{1H_&<*GG=Os?D#Ru+DLb*^ zFgBj?0~@eCHnEwE?J&e($JjM^#xe8z|G%~O+2`JK`=u5SacOk-K6|gd9^d-b_g>%9 z{?T>1SZQnQC|1-+YMo*tbv>F7O(>43>K~*Rg)@>H3W*8qa^y4%!e^q(z z4D_9lLcd^gI7RrEpu_N|?-}JAtSfyZ z(Wb_aSCXs)j({bczxA4ISu*N@z?ws&mF`4ES+Hw>XGk|FM{W=9!N(~ArxxqFVYGIR z{Y8AqVLAe-_>mTHJq5Ux&&a_~xi0lz^*fHo5H9@n^xPRod737waUHgozCRBtY%rZ` zr_ZtVSrfbVQo6vYLu}+7cq$MGU0P25Hm0;Dc1@U~Fws~i&}lj&&|aVtwNRWoZ~EL^ zpw9#Kh)(cP2`t@(yS87N|~)U$?xeaMRA_?;3mp@&-(9aP((p}H^vlLZ_i zIXwL691p7L8D34!pH**S2+lY{f7SFly^&R4Dw((QgsDku)IU}ChOO1RaY5|`E(nbb zu;J{5(#vJy=fUCWK$ZRgY?jQ|dP4U5&KkKgIT>G3?5bvFqQ;)Bv1yUa$DCH?Dpmns|% z9f&*Y#tAGfIN!PB2v5k}Ku)nc)aB<&DS2Zdj59DQqlN?SBaFo6M-!Vpb78{J0#|Z21>6rh+m!Q4XVERl54d@(}=Vaxvq5+?J zIRG+vULnY6>yeN0wFOduu%N}xU^2fs_Cfw02;E1k*`qi>1*MW@0l27$g&UC$;2>*Q z^mi-(vgiVUs;3|BjV4YPkmQdQuaZxDfXrTy*bs&N(i^2*^i^Ucgpru|XLdW} z;24f@dcxR{hZ>>}C6wq1NS{KuB84xHq#OzPQvoDhY|?O&*cl%8tsd=It#}c-KpX4gq1aU@~Zr* zLMo6n7RTB`WVH&ICM^#j1T_%-TV5!U!&L@8o2oPBEsCq8BXU?XniqPKmnVu70yc9K zy%Z5Zcc*O7lydeVA81P1W*y+dKwYhf!(5-yanmL$5pwCIh&;;5JkzX8sHMS*27_U1 zeRdr(J}Ryme8`%D9A_$=dY84m0~Ic#UkQl$Js0T$gP#7|S$?Q>&UjaVsIw#(brrjL z!dYZ)2i&tm>@^@_7YEqDA0WBT>9Ht{Wj7WP!@!~w;lrW)CzBe^o^H)VbP%h_dkAZV z`>1i^nqsfN`Iz*ob}Nyf&9YWU6@&!}5Xd3#0}J++T9I05H}D+v1J2r8XIbJFtaI%i zH%TRFnt9pAu_N^A1MkL{qvXO}LVy-&75}T~35`^`iFf57WjOj6rOUff)Oun{Mh?2j z6YWkJM8GD@DR{9*P{s%l*tAeCnBJ(vsiz<$Za)dA_KJfmx3gvu+pyw6Um!^3YeXq@ zbAQ`ULyX0M$y2h3$vz?olv032^Acd`Mc|RxK6gUUV`&XpR1w~j4~ehiC`sjN3K0XE zxNyZtxK9;OG({fL9pEAMuQni*+%Zu75Rl}_)V`ktC$|J3cp^9zh77eT@aqoQWsD^zKU3=FfY zhJEDlWGOtD#Z2ZtZuVRqi|P03@bs@(9clWz+4B~xy=UH83obhI9{1ieFPv@Z8iUZe zE`plv6ee;CPU^1#Q8g(KEPQBRI^9wep5M%4p(n*V$hB1HjItjGv=>pru~kduK^+c$ zgR!Y4c2aw%PgzaeHtek>l*<`<)D5*)F16#pYq<2iXG#zx-lv_R@@2w5Lo(k0HF;qAfATstI| zUYb&!Av?2Rb&!4HUSq4u@NNTYt}wU?JQqz6NskZO(LsMS+IEtR*-Vl*4lFN1!d|=x zCyK-Ijx5U|=C_vTIc0~5^rnGeqmVPpv|=qR4w_MkV5qS>Lt|KT8HLTLi)k0D;+=Wp zXqtEoaMgo+u4otdAf}2(@=yT~z|bvH^@=}4Ai@kL+ixas11wwKhSux?gX_EvVeQk$ z-}b!XRf@T|)7FOP>d_r`JV=PwuM_(7l6Zt%r(ZAApO=Swf;&|~4Qx2l^H=K6t7iY6 zu&j3$?kLZ!&}0gqzA~MNw$i7q5BajyDM@-#6|X`QyZUUu$a7inaUk9~%g;ofsA?n6jA@Qct3Kb@m zBy1e*h>@*Us8T2naNES;J9QA*1`QyDp%bPA(3KQS)zU(!bYJa~C=wc?l{S7!tlOy} zBKKG{2?rmoSpU@CvqE~!veGG`F9`3EI#gnTic%YQKSj~7U~JDJR2HqR*n`2odAxModm zEF5BvK?Mx>kLHpo$J)D)Lx#hU>&;piUzvAMrmqx<218*>xS4Z4MsUFj{WayO1QYV| z1k{o8)E2-KormTpl8nSO`>CYAX3aJc(GYiW9a~@L`fR2C>az4DZ??ryXi$zBOHA2C zmDfervbJkUdA&rZ;4iWOB;|E=`%+&2)xrG0lJd%&Li!=_%W^Y1s7(XFhV=T<6qP+z z`enteESMJeA*&Phj<^u{+tYa2q7vbKS0OmgyaG1}WfcV;^2nUV~xXKEW+yEa3Zk)9dJ4AqV|B3dKD zuYCE66jY{Dq}W{DDN`xX7U%@4+Z#F%QgKaYpj5goNwYX*B*t2* zKm!*amIls+NWb|(QMghiMOc#U)}$CVDkGQ)tuof}R%Es*$u0#2mZpW!EugYI9pl5U z1|wXnZu1>eX;s_HzMSW+W-i25(N4*rWm;oSy-tMlJh&tl zY#9sKHAqv{R*MBjP&VJ-w>Aq`eV2 z(%iSCen(N;{AB$VXQ{V>9l(lW%6YCwG$uTt*1odpX$|X$Hfr-Zp($cbY;Fc~6sI!V z#1-pL+ni2R0|J<7$Vfu~+QwKJjWSUONzK$0!=TSX8>2w)Ywc&sNQ0)L9t&lIhpQkbsvs(>iYWth96QrmByCVhbxwi~U(o%`o zESKD^n!^5o6%pbm{Q>(y%PDNI?QsfKiNm3YA$uVe%(!K>63f3+r6;qz9L(MY;NMpi zDV0<`tuT79A1U?ajFd|5-3ZqOpHEz^QNgBx%XaTRsqL*c80=8wJNGV}axeGpSA-&u zWoTcKZ!-J@aJwf#k^lG=xq_E4uT;V1Rgpq|)*|o2 zvU}Ko;y{@+yIX3H8hqqS#5WaQ0}F2_8c&$2+)3$D1PZpRS>8@olu)f*%|;EmIg|5J z_3_LfYBEFw&_%rRsx7a*7N;~t_96>wS}*cStnq4DV2u~m3am+ss>7Ov7kMSZv|i+^ zMwm1^ULxpWL#-Umx)aH*@E}7tDbRyYm(n@;iAgTf5=lp~Yo_I7l}cmyDh}5*bgtnx zYkKIfo|>+Xh)RvgNXF0B`rjHq7ZWMht=mFWXkt^w zWxI5}PWEu=j?n9qOINEbTrj{Pk@^+x+;%1H;lMScv;)^DvvA;UDjp@YN8xyPU+XEdld>C_Q<;ctD-(yDqaPcFd;8(JhyyO4{M78D=;}&0Ir~{| zjujuylNR<7$s2+h77)ofvMqZ~^Ip80XQ%VTeyIKSC$9Y4N84}N+l7Z~5n|mVfro#JxiB-nm@U z?fxkv?UlmoX!^3X%`eTcEbXN3cnx9XGU+VOaJb&Rx918wzmeM1p2RD`D#gNjYNWpy z_FcsGH-?vd15BR%Zy>KQ{6mL}LvgUI5(A^ZiUN2WcJg#)&D#=^FvpPy!aj9o^kPWR z?xIspU2jIsw25%e<9W_^HZa<1nD9ev2y9Ve7s=b|IA$})N$bq8$5E`6b zm0RapA~eoYkQYFwZALb6WD!1;p1dB43!PF&3U{RKYU&CHeu~l36`zV2UE%OviDk;j zs>Qa{pW&iEyp8@yOo7-3wTmuAi#h<5ilSdx^KPbsEl~9C;$89Knmf8;S65<-)l^fP+)jYrbO-I z>iQSuudi=pVmy#?={)2ccsqQ3eSHT-j=-&M>`f`3YY&+wu(a)#IIpGtvpGf(B?np$ ze9Sg({ul!H2rA^3**%0b&C6X{%~LgSro(iZXoPYH%Ssso$Vw)49tvYz!X23$m_R?DePi$fy+Udb2yBDS8gZGnt>)oG zO=`&zu*lRRX$!lcaIbxYa4L!zezCZ&f=92S0tk2e{juU`f3Q$*2D?nX%_0`%Z||31 z0URI#xe~RJopSNrJ(vCtqx>uQj>{|K@@-s{zuKErm>TD`wxW3`#4d$mB(W=x!|F_3 zb0x5_ix9CxfaS~vOMbfoOTZJzKDGSyQ@}TU{5P-k<49m3&r+@g7FX7CN??)3cqnN8 zu)3~h2P=``bjx!ex~k~Fso4)XT1qGd!L)4d=c1}{Dun}OK&HX$1x$rWMIP&2v4=fs z4{xmIIc2&dk>%uFoQ~dKdh+R5&S_U&kD!Ur>zHHC5emwVPQ(ug#$#??bSi4)Y~Kg| zA}`ive-P9+y_ylp%^p|{mqqPL>Jni>wEp@Bs`9Z1*!lVm`7>w#8D7oT?}iNFCp&y< z_OKR>)Ony0>x_UE)l^Z47iskk@cM*HDAQKYFW^;^1Peg;O|z75zL=dkQ0mU1Ow~lE z7@u1GUj5R0y0zl_uA}X{qp9xa6@Mys-eS^72csT9!TyL)cYuPnk5_Q^^K7(j_}a8< z_6sG+NEjokyk=89jKKJ6jXuw_ zj)@{tTxf-9)d=?_J;kiwJ(s!ejdA$)$;|>#=OwPvw1L{8@6amuc`*CO9G%UsZ%Do* z8P`Oks9Myim@u|9Asv7sZ9NCtdZhR->UsDw>T%NB8k-c6njxJz&3`fK*jzoh^364VFM#@$! za(;Z69}a_(Mfr7ct^kr7J9TGw$o@9?7S?DC1(R=GfK;fjiShKU&|*ANc0a@^52aX7 zuU7%PLa?I;g`tPDmg?L4JEHXti5BjMI@jUpBrX-g0s8cb6Drv-4j9^J#Dd1ADfT2X zmuUBMxkkKqO_uWoUG+KS>yn|T zh+K;T!p?PzT@HbnO6Dq4LW5+{XTpya@5<|;peS#MYUb=SYY9kgnT3kL6n;p4H9Ev0 z$lm11He)5Y9yk<}TZLjO62U>S^}uVN2eOqY;rTKUg%a-vC32EL0u_3|@c-G@=f@R) zc&JmG4oL}F=McxEiWfS>p%RB=MfXAA8OIH<5YoW}euRxt1nK(7#^MXq?8R9+8~l*U zAC4g&*8S7kduWBN+KaQnpFsz8u)u8s)a&OrN!%5tHBJv;qCZz4{`<-}%}-~AKa<}N z^IQ4nbT0UfTy-w^v$*P9@MBzYX>3*3)A;<^{CX3mzpgs0r(e%-xE$drgRQuraiz1v zkMrvxiarN~nUv~>GGESTsZ%=6H*(cKCl2qq#YcdK(Vir#g@i^vdL{?`F-gy&I1$S? z>Vi3tlm3e8n0`0_I~_HCqoe@dh$KNz_;qsCGsfvbOL?@^9o4FhTHW{mLB-maf`D|$#5lUIu)GSe;Q@5}Nl@x68um->u3BhZ}i znNzio&KpOEWYc| zUa7p@XjHYadQ(0F8}yS6d2whjtK5w)K1^s82zNB~TV3`(r&QjtG1KZc!EfP+GUGNf z5hkP@0h;-FoFBIBS);t3tvj$vcQ>;S@E4U0mxefXejF(8UIPM-oX^XQe+7uPzy+IP zg$wKYtUYgD@JEgF_E|Wej!)F#(ZVWQ? zdFRcuHWj3=NiMz4J%I=U5^L-3&}JoT)pC~1H&^bEz}o8BDz!#`sA8hK4C(ARC0#ygG4NsR+3y{rpXvo zhX4f4U3+M=^J1rOAxdC_4g71>++P`kl){&#qo{V1t%R34j~LgKQbXt^YO6mP_bJj? z*ww~)s+jmpimMK%pzx3tt(NJcyqZdxJ2f=;F(e(t(xJ^QOmJMnW3Yh^QddoW*Q=v^ zl+Ir6^;3&Nm8Uf{g(Rq3S{6>^;-XSy{fn!~r-vnIQCMq;0qi)md8+PnMv1!LdH%+r zk(VgV2}t~;w;E&`Ivh#0ex2%1TZOR1TEtfRohaq-eYHsa(1j4pg1%w@<s2jJBG4L;6WM+Ii6vL$G=VP4(t{dgBYfm*H`lU0G&fkG<4pF&jLXo%dhOy%`-UWkY~@Dsy>WJr;tw3N)H zqhE=c;ArI|6LPRG5ppN*QZ=+Bs-~GsEe(U8nAVYpR1J!hM1v$uSu|K0RXi#94^tyF zq48)=nd?~I8kWK=+Qz)d%)CbZ#+0VP!&35wZde+!uq~KM^hl#g4YdU1unf9VD6K74 zH+}PFKq0vReCz-uS{P($$1C}S#6x5{^ju?VpkjM|1j_)~?e0yP|JwqR;us%7pacTT z1PLz#i^EZ5_EGpWYhew(3;ew;))tAV*lnMkkf`{96X zMp7_*YM8io!7W5r^K|TUl8oVWA-G0F07VutJiG_z$q{*4ZC(#p{t23^?)zhrvxq?N z%EzM5I1Pw~X0T@+NESfiL8vjzpM-HE0S2ChZVmz@2oP%G>F6Jbj+0?ts}3EAE>%ef zqU&IE9f-ck^;2ARK)Mb@mpWtzm6Mt17-0Laq*-AZh8RZvA5Q7>f#^4J)q&_$RnBwT zv3MIIBU7}F`qq&I?J4LVhjX zd;NpiMDvOqjxoe$zH}aYCm(_rEIInA)3J9IB;8sJc)N?932DPh>pa7{KPhu?m%?aiMdX+g<%O+5-}EVSni3#$gC0NUG9aO zs)Gt$%{vPz_t0>vk~s-%%ES}C{C#ida98)?MC!hlyvD!ie%f-LFCU0LA^Rxy4+56B z7D0Up7!<*s-%w@q8tPl?jO&39x=utzOpj-`=udkfx{j0w=PXd!Nw^N&?ES~&Bqu-n z@u+E@iIJ&#Tf+`xB?5gUc?a5QsfyR>A=FH7FL@67L|V{#9ueFju!mM^v6de3#WsGvmnqQ z11M1uB8&749Jy>aPA(`PL}Q`Ck@Vg`)?4 zLMuWOtwj|>3v?EmS}JR;3_JF#3dtahK{0#h9X2DfvNj-E2A%kceEMT~1VZ8lk@q>F zn3iYL1#}=L*j&&q#(d{uOc8(1Ca?8JXK_(zgd!zcz@g0M`o*hN$9A<5Vm`LZUJv(2 zk!x{7q*&b8Pu@jve$)mYyFzCF2eR#c1Sgo3=3qgEl@>&N%2QhXtb80_=a}fdh#3MLAz7)aviTwypDRPcWLqb`O1htsGAHj(c25oXb zg7eD~!TDR$Vk06rbx5Q$KTPH$OboHjOXi_uheEzibfPBY?kIbxmUd7n{Ew0uk<|*{ z^xfo}v}H-pIFX4{g>`rMn@Uc@)m`;XWrhAk9PaE7b!ImorH_5*kA3HledmvT=Z{C) z_p_zCF#kHTTMxD$_%<64*!-&iZwKUYQlKJ6v7abH`k7sTv@!s@Ghex#PA)?fJs&@= zLk~R^g#6hLIM6mdsaQn`fW9*TeP;mr&H(hC00=ZLdxC9uT3LE&OVuLS*PAG|6zsdL z4Rcs*WoO!o-BtExmDRT9M;>$D#?~c=5EQMMnW=HqZ{f75nr0ul993(-S6ioi)e5oL zVz-yjPkWX@37Yu;qiyh)eK5x|DvBG>5>%JoMoV@O7j|#AfW~?j_9?!QolBND45y)C z*%_*ROAa}|fZqV$|7kG#QJOtQqnMVtegIoBFBIHGA_ue4Lx4FjHql^Gu`Ifa!nmIkoH5>Im)%P#)?sp7|#h<18<_G>B7 zfj0RaA<*1v*J^}7m-E7&XZiiZ<>5&m(siGZn^3?`na%*RYv+~^tWzHqtHcT$IQHLW zC57!LAA1meMgP=}Inn6Uds{p8Xyetynhex^1*9pKKVn6q#GKlB+77~g(%4c)+K~X~ z&W_OofF_TV&>+rzDH(6zUu-jxeQLN8)cIwF;);uQ zE1?a=y=|{hT$R4!P~4~4=T$vT^fJQjztTf-qpK+t_ckV@A79)0l)nN)ai5{JApf^G z(^Df9w_;`A67=AiUKx9b;^*^zi24#jf5cnYDr`vVxAa+aMbHyKNR;`hT@Xz zgIW7>hT;Z2y|PeTwoL31iW_KyK-Y%i-YncK9L2h4C@#Ar9EyvG4F{8Y(+|Z}YBSsP zk=%9oIP@jo;FBje6t_lJ70&lVarj87ZzB$NN`DwtKgvb34c^seZTnF%WP)?pEw{ zXfvIO$ab1#qogC-V~eOhwZ)qoz3Inndmxz5Qwy$_`;{$d<3r0H+Yc_MOT|38$ssR!`nh6z28pX6Gwu|b>o~s z@{Y;L5N;?ah1@1pu6;j6qeZrH-|S~e?x89+)TNx8O18-_rQTF5$Q3t`y*P8Su6O0spsZt8UW3~I zxISk!DW8|FpG?H29l-26s4{qq1p=_BP4jjJ}iyjNajx*kvX^v&the~_*Z<`x`*EhCe_uI>8dEeoJBEe{LYT;Eqte>=gj-9)qx!;8QW zkUf+@_cmRLw0W1V#NoVKSCY=vS%BXc;sm^wr*BNBG!IiSTJv}&R>vuLx|qd7_I3W( zK=Y-Phaas)9^hRHHyE-5IMR&~gYzcDOuorwB1fq8Zc1V>6~)$kxHxqnXQ>Sf(d&&~ zSPyc6Sf2R2B0H-5Wso$9`8C@^#p-eXD9+_b1^Xoc)$>G3rVa`G=Ghnp^NmB zl}nWtJN!#LEcRY5_Xl3Crl~2#%iwC_0nMvg*TJfe5$0kbNqJft6MNVtuM=0NHnTQ< z$vbCx)nJ2P@zq{cb;Ne zQ@ln^GHWEObNqM)@Z!hW6l$lqFfv6re9LJd9T_%L8c3RTHb)X%XsjthETuIgbS=ZN zvh||L>+7vWY31Q|X)@Iw%M4Spw!+kdH7#J$>n#4a0-p{%xvNUPN|5N(}ugXY0P zisy(lhk%JQe3YpUi0X(@0$+$Ai-l1L!6$rW(9NnX;@t>w86!+s4r08K2|8m5_Imf&Mkn^`my3~ zDxxYE8$uL$B*HM}02v|f*#+DgDNU=7t?|lQrSDjBEDI!IEiBy6-?B-fDxND}@{H)8 zB_J$75ZPYZc>2*=^9E4gdbEk`>I{pv8dlT(3zuv zoq4?|@ZwSZ6U4;cpk#DQjMfZrmkw zOIzF%x;g7#97y~vo1CaltB|f`WQ#5@fdneSa4$a6v`n{kqJSb^`ta2uuuglXA0qO8$$Rb8a z+FV6mODFWPv2Dhegc7tL(WUeC;4}t2yUg_wQ-^JX{DS((rDwZKb9hHI(Umqsb>Qu| z`E67kuOpuyZ|XfZ^&UdKrMeFj+2(HLI>JyW86Xq&&Z<0OP6_00aw4b!gmQxfT@xSH zkx~U}qU9=zOVuUA3ZJ9uuG~BwpOA404G`Ju`PnPD$m%Qqm|B#*H@Dd^EHf+XLJs=< zJReJmM5+sgJmMu}&ta~a)KJ?8y7Mlbw1`6bGfs(Umx}9E1+w7sQxs8bHUu+U;gN=- z6Z*7og24EZH`uRF_zX>32?YB&Oi??67Lm`O|Z^W?}g8zKriq#cl_kg}7SMZLQ1f-=?2L{V6NcB>hx;WojEmUnM6YSJd%#Ero zJ##js)AWjdgRF~wM-mPph$;n+$i8$;X$he}UhuBITi3beG1B_9+hfS^t$cEXvU_Md zONU+lSaGP=lR7O9yb|iM)&x5WWG__Kv6|q0QMVC{(n0W+?3Ij156qpJ7w0RC;Bwdj z>wkqENx_&obqb?U%CN$zdSqtn8_+6#!J|X_U^b+3keVrt%<~Lj+UMg4!xPVq9LDnf0KCk7Yodz98&DpSHr6iP|2EayvA6 ztCC^t!7S8dFJQ#qyw$?_kK2$dXlLh|MauCv9jl9(p0`fxaG~lj!u9)mKAvB9-VX5`dlpu{Z+_g~>qs zYUnhUjjz5=$H_r)>OSFje3C~YiNzy%eGjK-;iZ5$WZ2DjD@-9vSBM0@K?%G zn10^?X9t4zC>hwQ(Y$P)Ye6}g9dtoNPIhf}ZNdQSLA>;3@$x7yO@)0q9=~p{WOTzL z1z$ntwe)V5S0Psaq*Cj`>n(4I=Zgl1Ju4*nV@V7vOh1wy3dcw$HCgj8so8fF;usvv zO-NSfBVp|GP_i*&X+zbaKK+(OG!H9Cs0T*gRC)hc4Y2M-`er~2}fJ^J}G zJ^J~J>0b2nS3jE>P0Wj)pXm^eOViRq+i6356T(R&7f+~RHsMezsRl^c*r~zJ5uE}O z+P;=)jKM*=&(O@02#XA0NE9k1-%-WTr_&!^3*6}Je!LWq%_T|#3o!ss7NRKv#!yo{ znEft2p?w++R5#}?8xoDLL2GxiGX+f?&&D_(u_sZRa6pn?oIxeUpa`39@Lhhie79)+ zT)_O-doceGJ(z!{2lGEn_k#KVo9-*_zvFYkvo)x{_qmuCyhP%0f3BSuOd4XwMaPV# za~NJRKtOOj!_fTv?5MzTJR8;H=V#9VJNZz-k$CyL%ip6AvaitNc}t%{UniQ^FL}TF4a%AblioaNnbFqtrPcwgT9=;G%_4GEY3U+U-6qn}5v zw4bda0|=K1WD-XA0xNR4!1`Z$UH`7%kM$;;eoML+Sl^!R)%ExMeyqa;*7~x#JAGxC z2E6-0${JK;AnO2mK%pnnpX|A@o+}EY0$M?6J}l?fV8XgH^-A$)P3W`Jzf)i}z}_JA zDQCYAnM!mlDUnP57FsWWl&GOC2-4VFZ8x?D!~Qxa65bRWsw!?;CsG0N=4Tic(orr} z!Ry7iWlShhl@`W?LD(f>990>Xgrx~moZ8E&_N7m-T6MIo>v(8| z28kg9cM9h1ln~MlOQue1;q zRZfH#CHym1zq!?{=`1-N`6vFxWCK|gZ7H#bWgb&jhOn$K^j9iCFMk9rd(lD=xLyk| zNwokIYSnuTXh;B2zh-V__0#7s!$LIGxVQv_fQ42eFw+8rmfbQvLO$v$$&p}Jm&L~K7oL`H2&^-Ae14HOJd1mZ<-VT$M6`0c-CWcCGo9Pgr=XBAnv}0 z8%~Smu@{YB|Dy8E9-~Kicg8|G(fWqDo{WjPpTBWyhz{80|yX23qfWE!)w*`{(J5q}OOW`)6ec6ikfE!fKXWv<-KvTw8$`s4l8rTYtS?Z_H z6p_566E|8*N-UrxVFM@83SR(<;4cly_9M+I|F5;I68=aUr8;?_dBr-Ny-~{vl1Sfq zhmA?qwLO`h$&00K(_7lg&&+;E?t^^x|CDtmaWe13N!J3_wy>a_keI^0XyIkEf2yws z$&Sq(Jirn?lJ4&oq=7C@7;<5il=w>hIxsD}2PAN0HZ)@U7X^aE)CKuB6bA^bY7YE_2dHv^Sj~D*qc!##59ok%XHv_|nNb!$zFj6zm7YEeMn6ERJ|6T%Cw+xO1{F)rC5TNmHGp zoI6K!Gp&l^)YR;Q@AxsKFrP|=U^H+h%5cUHK8r&AG6$lvO|Vf`SddL7OWpHpGW}~A zjpwsJDQi#xES0_f0+UHVvL0l2!}m;&nX0LnkWdgAD;dEw&6xh6FkfJttG}AwKpQX4 z9D}vE8%&Q1UmZzp!sHTF@gr})Lo27s?|a=1M$PXOIA4DNBI4c{9{b%Vh)at~Q#cr;$@ zQ*)~)-^_W&g%Wq*!I$M%TVgSs>zsCq=&Z%tPt`tHLC!PIz)Uvs5q@U7ndKIAj02W~ zm*E-K5f?;AY@*2Mz%&7Wrhprr?~cBJ{vem0ZdE}zA7|Ae%^K$w8sg0tkDS4c7=mBT z7JN&9e6exGtw*e~N zM77%AuvXnHDPv7zW*b55RUov4AF|%lXMN>J;PJU?<1GHl)QPDul%di~2{qp3Uu_6r z6Mc$UE-j1kDMpty%X!3{R$66h?r`_C;Ar87u%g(^pi^N%k6WPmCzw!d12!>0G(~36 zN}23$w_mTc8w}XeU~6;W%USvoyVCA2_wop~CLJkuK75wtVJp(*SCI~_{mEjbxG-$j zsYrY^jCD#_SvBmh(^##0|D{iG^@A*BIQnQjSzDiOY;JAO4jfENd-g_FbLCZjZEwG0 zQSWyyZr`-H{jSCBcQ0=L&K2H*1mCZC`eZ{4LNr3wi!dKuPzrS6sEi;)zEtt+7*rK$ z;&v7p^izcBgy@fsb{Cu3kUo;Zxpa!EfS*I6&^+?jo~1xON3bX(W~vkg!p|iNB+otM zg{)5^FOe#rT9Rk6B`s2dL~d9$CN1(t!_`>cA}uy4!h5TsNehl4NQ)$S7{r3Kti_oV z5xl}1krp4EM_mN%C(=Un0i^jg3lOooO06zd z3|u`{7c~2#tBWsVb(OZ-?)q}?)#YX6s5xwbV&MQ24QO}cdsQJDB5eE`BFDQfjU3;5 z4Uog(cuxd5io|zzA;$|>Bgf{~EONa2+EI?TUm7{yaSf1TB2M^3kYlnJa>y>bigax6 zV@D_8UNv9&o=aoLKe`6kF?*ueG20V6%GKC0`*zwRcz>dc)Mn4ha zK@FkO>|!ln++K|z2lw&giBpe%aB2K_%Qe7{(0HE+esn7DZv5CoFuiUcKb|;#y!q1j z@prEUemr5x^uawv(=YBJn;!a_#gBhHDAwfb$~gm}j(Acj>bUhV@L(imw?^}zj~d$H zXPDv*Yuy~|W=7|#rgno7d!A+Ju<}MwMve|lL8!DpDa(nCy}0CUIZfUmJMNM~H~J~b16Kw;!|)VQpJTPPI_fh5WbNp~5RXAkZW5GVw!)(*7sUzG;)#4V zSdMg=+8AOBvPXmoiZRK7qLj;1EF$$(J`#>gMT{kd#2IvPRNM3YG!asM&uk5FZ)6xY z=_*=wRbnBwhL3q$2HqGzgGq^jpm91ZpB;ZXM>O`1QyO#Wyrhd8Ro5|MeB38&V%X#R zeezZ%E8flM>^X9A%w?XFp{!aba2mtHqFsAIG1=;MWNfZWv0Pirqg*-rdp40wf3qZn zwA9A9&cjmDbS`Ju0x^J;T~I@Tajb1?6OcpR4rW?rUn9uaez1CM7*>if12yC-u_LOh zKof-n44;5Z$#a?BW3wDSUWPw;K%3LjBUe1nF~VaWbs*XpFQaYXT@jg`6hunY(6NOL z%UC262tF3T*^JI_4Kf+90E4#aAD3$+YhHK;gP=_RP2mvLG$PI58?f+kP&YHI^Hr%t z=9A{ZKg$U5p~kcR5U8?kVCSa~EIxgp`!v4N-=djO(Sv`QpHU@_cUOZt2s<^1b3Bz( z`BD)$M0$LoJabmRZO4h~=E68kpu7bWWrPx3m}wq7IJkHEp9{HW<)?@}0n6)moYb>L|14vZE5_Xjjl6`}#L z)-f>k*E(iaebzU#0%Y6Ja;S+%{>mcYHk06gBDf%HeC_6{dX6GnUc8+3^okPIIu{s}n z8w^=NlMS#|xH)u>b-ykkA**i+9p_N2JR z@QmF^U_%6P_@Z0^=oqu<-|hl$ybFnJT8d(G3AayfRgh!IENsc%A8t)Gi)@!>IDI8 zkR&Qn=LOEO!V%Yinj)Mc9`8FGsOkOJgvBT~;@IGxvw_gN`$^W_#%NL{)5_<>H~DSE zXR2xU3mNA1kVg@$_Dz&@fC3x(bJVdisgda-tTNw^Q# zMs%8E?MlVk0Y1f05dxUVt&*EkRH1fOFCDxVk#-m|_l~r4T9Syf^LNBaD%40}cImrI zh1ul{&Y!wd?0#eqVw%1$e({Abjd207YE2W*JagCpi!iqTy+8L_eonSQxRaAUL=F{d zi5LS0E?6qjf})v(S93ZDG6NN_8Rcy#dYdq5ThOJA_^WEqH%yvhPft4lHNVfTITp3b z?+sizU6E{Ab4!w0g+&&GbwM<;saNgv=W~)kkl>b16hcqMrHKk?i+7bV09WnQudHEj zDlGxapd^4Rjm9x+U_>{Ny>^q9-c1^LTNr764jgg!*`z*l3|cj!yNs(Ek<+#yk3{?IFoo*QKwzZ7@(u`)4%FOB+JxQzc|uF7ZRrEQpM$1TyAH;jQkD& z&gD*i$@AFe08x43PhH9MojJJ@nqPB9q(YCFqbT4DX#(}@a9pam9E%GH0izYRuBw&7 zt)w70U%Cy$KAB4kboK}tA3X3T<|}hJ8;=_H!ZMfB**B8DfJ}d%Ec113MjjK^KT}eK ztl?Okz%gOq&&ii6g!74(qTmk8+{F#RN8?3Y43}3_Ly%+W)NfhyVJZ@PN>GZ8v0>U0 z+KL>z29QJ*xrTc{I?&5C=n&F$vWQ6q)6B7BO?jVDjCVf%fbGEUtSCCszXL*lOLK(@ zx)1X-swSfD-n$%xtR^&CVddVbxCWkklYitQQjGMPm|xywqUtQcp@2fY_W}f<3MAcl z^;{^PgW@bTx<;gVClG366ehBB`GwOE>ID(NOJ6v5eNOqBs6}sPs>bZ+js%Fz z^ZUK?dz`3zQ25yo4sNdWD4+iPW`0DoJ7acl*X(+|&f4PQs0N$j=Lw|s0pkn=*bz?M z0yeRA1J*BLnr4rSI16Tym#4rg8PYiP;XbEgS2yL_*pfhb1*r;Yo z`b3I&foe;0PL_+f=Q4qTD+HAu&c2t`t+@tEbs0#oV6MqDVGO8Yc}#{ zsy63h|1ciD*BTnk0i0=()>KK8RFLqItR-tYMigPdNZ0uM(Dj;~3S;tB-37hoq|qCz zaVkG0P0SjFPSzwjQbNiLkSIyci=sw81~8ppuasHUSecOyRoCBD-CP~gpX={Bdsfe$ zUOjz*ZFERS=qLw0-`rGPpBk)>G%1bCI*Ye`s?c?c=^O^og<9&v^nk-m4$}k^M`D-u z)xfXXaU5>PQ6DD%Ji*pfCoR1DmJSNEE#SzmhPD|2J4qXS+s-K+G} z0wIaMQzx4XB0*Z^tUQEO5SMdQ^fKt_L{NmHGjAMD!GB2HbFj`-k@c>=$B859psH$3 z&F&}<3`xE*1%`)O7>)%)I4>1%c2DOSBNKEu|T7p&dPvqwV1Y6S)LrvHRIHjR|i$oCgZ=Z+7z5v zM%8tqT$|u^t3Xm_THOjijyxXQ%HX8{{~Lq@bVMJLV3q!?*jiC-n~|FkAdduLfN|&} z66e4qrM2#CEmFsdW#!ZN9>{NM*_n?yf#E%`I7)LQzEZX#K<1=@N_%A8lT!c?XldXe z4M0WBs{lylJq^$kTJ4DSbuD+=Dct~|nR#W9DRRnnY>Cuzr|RqDxpHyks`_Q}ft7_QRZ4C+LtP3Ael983|$k=7)k!b@~=}{?n;Mhqw z8;z>$Mg?taym`mF2)7voDY1~mo98MeR@U5c3PzD3*g!@}5hbeYEjm!h`{=uu`v5Kp zAQ?HRzad(Sg+SB6CKjF5T-M~K8ZBt8xLcH;x}*w0gB$j>ARv_;q4mBO*DD@}8X_!4 z-Mxzm8r*f(MhEZkk*LWFJ{|}WqV7h!hmM>%C*uS(L5zh5@vhb4ilyR(i__tR=7;%2 z)asy6`h^l5Efa#mOd^nnDN};=a8oLHbG7Mm>Exh{b=nm@5Jj)oMVO|FMS+x?4&6Q2 z@V&re*o@9;j};Tqyy{HtJwI&9nZg^C+YW}LjXvY)>`t$4y*c2TgbR{1`4K>%7HPHs z!Xs<(m?KtHGzWikr$oz7XcJToQ{DdDRysHFao$peS-8iAKglVTs7!Oc2U zDzd7ii0DBYDk#8P0;%hQA@lP{O1ssFLEttBWK;>%5mZuU#NEPLyi1eS+p z*0Sw#iz^UA)&e0!9J!S()!FqRUo}|TUn<@9K&+c7hdMFWj zDPQBAM+E|jR_c69wk>fOmIBX)^DPWvN7VFG)lpqI@ckq?mCiCIUr%7Agvu zZH6`S+y~Bn`nK5*3#1#+8BuWmIIQCzQET@y!8k!6av-#0g-wD*=qWGa0_b!~GjNPu zjMOR;& zjBg`>Op_Z1q{yQxE9y}F-)REynGzBhG@)rM9t3}M=sVfs_@A}GI4xe9q@Q82l)RK{ z8>)r9Tt0;`{KZEY|8{=uj>(MJlgemUjl;(M+y7R6>gNjd3HC!p3~m|;!Dk;Adj8RE8gABn9CTS} z*L-X4qpRA2$BI|g!nmyIj>uyL2*nsDD^qM0JK1Ys_vxT|=G9sO&fYlSGWz_SJ9~;8xNI{Ub^$yXcEEOv|LAsYDPXybus%W zFZ5pI%qTYmhC_qI&jDvV_pvYJX7)boQbs(z4^1qYwsAMTh0Q5)j?x_Ztjp}FOAPlhvS=BtsRuS<3SYV3h6+kpS zElgsdu4XtOL{Qh*XHT`}iCJTTIZ*=p#tKmaB{Oj!S-|Rc$P>fU%H;bxCE1Wdx`UuX zL}Mrms#*qBUAeix>~HQDUA~OX{U)|#k`O1xCC7<;2F<#OY*7k_Jf1{h7vn)it=0el z1Xk7;`;4T%Pui{g)~7Kgb)&9Sy-A^H*bsgV9PEvFybOo=Lq|>Bv?79N>4Z#k#mk~N zmLcy*pWb=JUmj0i-hRbjR_V*5SN!Fn^d%@22BDO#Yw3i_ox zZ)tjJZ*QGWJC%(9i_j{L6%IL$ZIHjM(o%e0@e+z_>N7p#i7p5>y3D4(RqQzNt4;D6 z0^J^z%-*t&`s}nPwc>hYq$d?q>!hgZ9xgBQC1MO(%jY9yyuPSN3 z4;l8@s;3e$P5^FC5=0nz@<-S5LpwZ>l1`}W_xwT?Hx-0R@*aT6mP1GS_9LC{dQOK?g|5#9k{)_^HE0bI>aW%- zed&K&`df8WP}ZS85`#TR=&xKn7`iOA*^U62U9MQ2mMM&b3rdNk^f2}KVx5tpV9(C* zZdYGAMkc0G}&%4#UgR+cdG#iRViJvUBeZ+;ktS0Ch@SF(5swGIjF$Q=%2 zRGk~ZGuhD!K_qwYu>8oS;(SBcKQ*AWo-ISJnAB%5X9J)mpr(hiJNGRmlvZ23C040g zyW2-vODmv_QjkYfh{`|SVm3RqBY$z&}{}p zjGDN*cq-I{cByaD2|LupfEWT9vta-h34j*>;BfXri6n}(fG<-^fHBz^;}vI`q^VE= z^&wi(%xi|Zv;geGi3pVT@s+?;ijX0z`MUee$xYnis8qHJ1Y)SOrR`YlZw~CBBaB0a z1E7w#r6ob4jJCr-ho=8zlFvl6CX29%j%Y!*Z;|wFqBSwmngr33rDHB9vs6Tk*s{wn zh?6K7E^yH(h?C6S5GUeKdc;X5KEO2QYvl>I5aN@-CNr3(P3mW#*c3(zz1j>MXNF>8 zJL~Uw2eGjsR7U%RBu!2;ePV-jv_xziP!a^g_}bcM=@;LI<+@L7TI@ptHL*d;v;HBJ zmrU0Y8&|B}QbNS0m*JvOn~qca_`S=E^yvFZAf*63i-i9WGe?g@VTixHcJEpkCm zJV)jWnu}RA4tgWL84IPOH>SXe-h?gN+CbO8h3!=9!ekf#?I7Z&O&~YRcTt|wYD=`8 zHv{O65T-D_QD_{PpXQID69XszNRe1c9~**w@NpvgCLJpf%{)wYxkO2YHBiz-I>aLb z7LbmWL<72QP5u?_!b{}LYc>4h~7tfpxIAF!@-|87^1eH2X33EK<+ zBovxeQR8<}jDY7)UIouuSwjX0Lu|tWBtO!ZAo_TLb9x|mRyI+a3aWZ&J5J2!4Rv(EoV7>z!SqqLjYpZMnaA>WqGS#(MMADpfm{NeLrklZeX{^Z8$g`*3-c64`NB?5pwCjx}qzbyar6 zvf?u{*;QYFnkj5XHiDr&htkdAe?I?6 z(ut}@BB6RwX^E=vFNXrb9gku`WdTgRZ-0lR0BKL} z<#q5-#9?4Oa9q3{7&NHpCFXsw013`*TLN6KbkR8;q(6Y4kn zopA+iPj>cN6`t}bWI7FbO8!ciQEvZjb4XrCgwj3i8xZxMp=R> zEDZZS!tYLzTjDlsO-)2L&0S5nZWbazUFCeMIXFKUp)ER<%jZZD%Ql}7M92a-*c^mk zQT8C}0U<`OsU2vhfT9}_*S09fg1=4+o_W(LUHnMoPH10`#017Duf)wD1d36B$w+G^ zUTMBtfBhk1^`E$QR6!_w<48#=V%xajhlk9hQXLWD&=mSr%Edw4Tj#cS$T(t5?Po zrago3pc_z2qBpHVP87O?20Ce_yzL|p#4(*iyrSmm9~Ky#b!47KD9qE!p=v?~#KK|j zW`4F7Q-od^=b_80sa;?ZzuhfeNo+6)##n|$f}2+Dn}Ual73Zwu)D9+#g|nWDB}UMb zOeIA7L+jkLPE;hwTXO-X%pzFSMEYab1aFQ#cYvFlIU- zG=OC*%gwBO(N3@YQ7J+Ift>wo1zrm&w1{;;94k<|VgNZACtD=}TL2!Wy&$lRo*x3EP_e z07Q?Xf|j{;Hv7RL`X;pzFra$Zwe?5G4D!We^|p5^q4z4ZfMR^67N9}eskC0HbhYgq z?CIdsu$2~JD=l7}`3Ol_-44;`c|qpOsEk z4^C*;gKlS+GFPRL9%`X~klogLM5w=QNs54X^|HV>7f z#@K0L6eWlDp&P=16y5;>_y|-TuZ)bPRcHZ?BJq3rC%GMeG!BW)0xq)ZQxMX8izGRQ z>ZJoM0ii)Xu6W{f{%b%>b7I7E?1z?GVOju^eAaa&mUWz0x$Xjz<_*2IE@dXU)$b)EaJ&BjTEM6XE?P$%CTc6fTD1@Ta!AJE2 zGB^9TkOWOVY&jut_&eT%+Uu!E!nvezkzrAaa+cmUCe&0!y+$Ts#`Li=%y>EzHg-Q9 zD~_RdG55#o&5-txyb^fUVcJk^Nu=-$c^dd7lE*Ju<}yjhoOfw2lDjxD;)Bb>+0QAO zLnoKcr-%S0)K9hz1S%p^bh@z(vtT}-5RK@`Da4y(LT6#b!!PR(ww$QFFPLTp=4aVk@&Gy(XW%b2wKdU#_8H zFNvLe`Ru0^CdAq&AVP?M`uC$%_I1VV?Qi)(!A7X_QvOhnwt>TT@}^?=7f$_+)8~+m zs1{K+Z2@Bt5Q|h3?|ynP{p0mwcAIbFtUb&bju>o5Fv(f5J)wkMnno$Tl`-y*gAgBFIrOjP}Q^3D)br zyC35~YnzE<(1o;GA(NBP*AX{cS}uYVZLxrv_iFtvSi~mu$?^4IT)8npW@6$I-HPMc zb;QyJEk)>N1GyC7aw;w&3Q!m9rO`KIa7kjSn-ws~ zh^DC!!CJBNPn0&K*`TzjwjS?dEF&I_nir}j4~d_v04IACJ2D(PRIS}Fow$q`u>j&# zKv6BPgd!8H=1B0M=D6Ii=uH-ao-W`oxk4Zne^8xqE)&itMK#H}ON$Y{M10-t-%0Ao+qzIDBAf@X7EdEZX&0)*OpahiZy;_-2 zxkC_7h^Z7X(LB1ZxC4xMVHY^{qxHdREvQp{-P``EqOR>azSnDom4b)hEcZEwCgX#x zu7ifvgtEfRgu=6bH?TnhhQpxXYu-0f&ZR1?BRhzFq9&-k9sb@|6kUqt z30))_&C;}JGr~QvH7A%OBrzho&g^tgTP+|2F|8z%bkRPDJikq>=@#Ug4iM?83w@~a z`vDt>c4mqppGK)4p-dVxOOh59rj{V2_JvNSV3W7`u)Kv38| zGe=D2g-8LH`{!${uEZojh(Il2S_F{Ji{UnyO8W(ZbvfTCg|*!dOAG` zXK`q2Y=drRUpwaRfx??=u{YdQYrTSS@G0qH)~7-23c^reX|!p@1x~2tVx}k~H}>$i z4SC6aO^ALX?L$f02<_s28<|`m6ZJVd5LD8z{4@*0!cXCbG`mW(YT zH$Vfk1kf_@3EBf}Dm!}OrD4lX+xeQ_O{d>K#!VO01u0bUDS%IS>2mKw5U%GCD{(6D zs{hY=ok(bn^VLEhlUPZ(#{Md--dpG^JE4!+7Y&fl0x1u-h=o3h#I4Y$jhePyQV5~t zH1oi`VjIKfTcd__f*+b(!3l6xflX*h@Z*IAKfPccm_o{=9_R^xMQ{aitz;Dv1H1PC z1Tl~=(Vzh~v&?jFRufjea>Pi0k~~U64WkHm68GAD>9qpnLUq$jb-(hHtUy+$SGt>L zY;-b%LMX*q>v zNuprgxLQ`EGJxcg*GfNOCABZPO-Cap(G8euN;P_^1TK$m4*YE>g1+i5Dak^upnU8Y zfuo@&GY}zT^KA7DT^8vX8m95;5ZP~ zbIPbC5#ziXpRtl!4KyjLQzDk2B>t1*$r$n+nt7=&R9+=nx+uBKqrelw7~_NX&|;cd zIty)d`%D9*N0OS`=W>7G5cz)a-Sp$KqbK{Z0f z?GkZ)wzp<|dn?liu7xC{o#84Lf`nwT;qL+vUL6ESTbp(KpGl3Ti)}}B7?~0N9Re*J zg6KtOR4K#8+%)?Pv&p-#Sm&o%96}E2xWwnv{~A!TN}jhMX#j*sbb%5lqST)traa0r zj<#*`OMNrxee?BM_UHZ0Uy-R~XG^WD3%#@%S##l(IH^gv{^{h0u=BwTuFgGYz(#%r zy7OZj#X(FSI7YTGh!W6<0d7lCh-j6-7{jF6{TW>JOgBa#O$8)}wsgn+>>~qke+&1m zpKQuTfR|ct{RlN3EKb4+Gs2oA|B7JlrHBAQU7!Wl0Txq0oVk;p< z*Z#FbHm0(LO5gk7M`~6D)NC_ryqRN&Z5z;9g-6%SEs z4{;kJnu|Oy{+Z{q7-d3&SF2&#Q5Y%07PKYr@%)JlJ(HHvf~>8f2LVAmAKY8!`L_FD z?KuO*YI#01h^;We^GzRC^L+e3A}9-EPs{W5BJupZ?TVh{;_}@SKmeDg?7D^uRxy>% zJuo_1v$-DD12q+zRZa)AQH>JCU9UE5?iq>V+T1e|#kB&c*-6S{+!QC_I3lSC*}zKF zoLR&SgN(-Ew{ZPU7NuAiYN{+eA*0JKW~mpr53umC?p<}-Q{2{sc6=AitE~xy5XG8^ zJ3>Lk9bNSdsB2;ej8mL&rb;7ErahE1^F$7tLQ#4fGWDAD?U_F5vAZ=IHSfV~LGmc^ zI2wZC>TZp@mdABHl?=RN+@juyJz^?cMAU_&cW+9pxFiq^D9OH=#p@mrR4vwiRmU=l$Vk&lu`c7;&uTifHv@vM zRm=B3T3=s{k{RWO){HW0%6pB2V4%$?7TXG4Prga7kUWp`hsqW9UPI?Jk}_`gv<*1GX9Ai;qc%mcbKm9JOtEuw0N25u52Qq zwK#Chm|;sn2o4r4p_aCSSKfmMVUegI;x(Yhz)Fp{JFdt=NP?ESgPnql3D}0*j|1sGgP-be$T_#!X8tylpuw#<95ml-Ts{(~6hVw-#nf;zGe860g&b591jK z@=oW2W~XvxV+ zMNizxy4<`*K-YJ*Oh+61S@eeO$kCm5D#RC_I&7VcxJP5;^a_ndG)XdsyiVR`Dme{o zpZ&6^5HF4ucR;U(ma$lvL^di=#X^oavY!Ats}X=D9>DwvAA@-cG)kxyv13sq?A6Ey z-0lqdCbNC6n;~1*fNa{6ED3%Xu~CaX$cw_f<%5YW`9xlZ?Xb-s9EQG>#LcbA#iH-~ zQF`JDx>GjmLL7kRp(j>0rKrjjZP`ZQAVyP3m&h6rV$F>81jAJ84wc&S3`~`=fE1H@ ztQ+;rPRFrGIZ7R$vZxKsk^i#hUxK%VY4TP^6-EnkRwDW9#)uVU5NMY7b*E1a)0NFr zhnr_mmuTLdaQuLj?*M{rg+^1m7VYT;90-9Da%@i4Oo{#mXf%O^fguux1eN5yBr;4a zcUr=?OzusVgf<%(k!Lgl0RZ?*EN2u3h6>j(f5DF8)Cw?=hnInoJ~c2_HXjZu1z~!* za!z~Hx4U@*V=-`aTTla(LbmY;j|WGSh)BG_ybz9nGnm2Is~YcUYrOMX)p!qxV;U|?4}4oIm?wrL z_&Co%C^?Y?Nh1TiTaeUxPLRw5Nm!R5`FP=YEYEk~3AH20szRD_N*D8@)3cAs=g*@= zlc_?QlNwU~*X=-M2O*g6wQMX<*#g2-gMVRQ5{Q7H7ve*M$l|OxCdV^cs0g8wiC`g# zyw^td@R$@05Cw3~Hb_RyfFf9~s2j;*nqeq}=YV|=;C<(7Lah0IR0kRS)sECC<(n;; zu8U-jFfEtLKw>~NE(_&RCHkwdqpSZCzAUM6JMu_C7}RwIORzrW6ERA}Gk7Q2rTmet zT%hP;=tD_gL|QGzZ%A2U3=2wSRUTm2;->2e{I)UPbO_5(pqKOfhD2+YFDB=oKu5#| z!(vsUWr&umPAL}xGBnA|SJHfPh=tgNGmF<61glF)ISmowG}8}E zk^Z}K;RGeV?WG0JGB~0EaX2g^)h?4k$rfK@ER%~`w>@oK$E=2WqRJ^lV?E@eh z-kd|nQ&}hI;xL5>^jj#=D!knFGy@?FWw5~|b!UKz>x`SGfiSM^GtJMHrw$AOrwR(H z#ty4+A{UnQwVgCv?Ft{UR>>B8BP$qnwWU>k{25r;gTzO8UrA%dSa zzB3COHHG0YVLKHpiza7}1~4r<&L(&+G=P_SeIt`gabsdEA|&WOF2i0^F`XY4dE!G@ z8w#Dz*f3g;%=*;yhs4I*t|i>^9P@-AB=YJ=YYdoP@Ki#L#pyafUop|VKYzAeBxcTw zifqj;&o#H4S6#q?PK2D-R3b}WTvl9EbCGaHF|wKNrJ!=rKJ>t*7iawMj$$zVr9m-@ ztrf!JhljEjJ3c}|^4wvgRiJvk#&Ip29wL16$ap8x)&SKE$_dT3XeIm0vsNMMH!5^lFejKef+jHG-@e zX#@}&z}o!%KVX&4-l4ou{a9-jVe=3hXCP6Oipc7didRF>{Y~s&%l}OFx5imsl!M`j zz%`^iZ zB^5#<4DYtKUP4MxKfrWrVG>WYfmZ8v<372g*lQw&g=ma4L5$`)%dWx;XLVhhHcS3k z&5K1rI_r|0*7PZUOM!&HcfXyM3Rk=q6kCnLM#Vg;G#hSoQNm;MMg7q3Ax2}J>W_2W z=J^|VDRSSf9iP54PHRW(LEHAy+8M{;JEgD=;=ngL5=n>f$f6tPPf@)fzyMumTay@p zYC@U)d}!R84Jtf}ZBqQt8&Px| zg10oFPS)ct(uE*WO34U;sBJ5)Jer7q@MkLaR>hKKX94SvkW;kn-@*zCp3_8au*vI0 z8|R_+vrLX`^GR>qCm3D^{=QOjBCU06*fUr*V5qIgZRIQYl? z5GeKJJguE!YzQdd6SM6%(j<_9C; zZ;05!?k#`KZz|$&9clujg)x90RSZ>2sARo_-)s}Icz>vx&3myhFtZ*owcGJj-6tVdj0Kr z)pbMUw;ZAU=qKIea3~r&NYDJlY5)ZgBtZ}&UX?%+;3h02xR@6Efdoj9;v$izh$x z#+LFiwwC<<=iawecQw#xk^&W@$%lH&UCurCoO91P_uPABRn;1Qj!?hYHoXB5<#BPq z1n?4vZi7r|*y8%NFHU?V|D@E5D70}vTpTBPRb$+SIWZFi#aQJ_37D(-e*DGzc*vkMZ^)WKTj z1aA|rtJ0)R?tvTVThYYYq6KDX^20V5SMg&I8wAN_jPI@@a}W`@Kh!Y8c{zziZ%sPS zb@N6isx{Ro)}r5-5@ej}c@`BArCfKXazPNj-PCJj-f~N>J?3E_eTO)+l!iA=YML}+ zk)D8dC;c^2k+jY&z(x}DQD+j;%ykk>jFN*eHG`5y0$Zh>B~p0^01G$7p`w(un3}y1 z(1=?Y1oYqs0R{+>35+Vb0#XrGHVE*E4&Dn#7{u;y89y;IoIAEOtOq7M>-kZ-9Jk0X6qVyQ+MQUB=$A9F9`r0(Fo+-^y2}|ZP7ea7_~V(A zfxh*x+iMWlt$MW;qz#7`4DGm%3@h3cO3_y;BqkK4oF>$>9t=YWTk#(QY>Kibo)3uH z#tLU>aTK=AIWV#!R!BXWd}FiC&6gyRHL#i2#{!;wAeV+!n~`G>Kxi-`$cdxzag7n4 zGTKa$!5k3Yswq_Fw6%nUDRrPIF|m=m6>)>HS|q}ySWkYD2`P{S$hN{lHXesJ8To~= zIJ!`sh1uvW89|O~LWt6%9{3K)*Vz+q`R5wN?OIb?T{qB#0{Z0B9c}D+R?3`N8q6J%%Z~Nn= z^N#6ed1vt`YTnVjhek7|xN3uWIboef1_u}8_IPl^bC>X3Utd^iQ83oghHv@ zjTN~Y#U3gn)aiMZ+}&tv^`-V^-x<#F`TGM^(&IqMsNCk-v~fooxInfC?eGA$EoSJa zz5R2^V*95WUn2X*YtN?2di%#-!Es1GmRYCv&yd+agcvabw`!UFqZw5vk2CwHc1HV0 zLx{6~6g-PoIvm%i$;1YFxyF;s{;4gXD#qN@{_%EOul*xhg7+NXyAfDhpGkGDEwq1F zrtZa25e2^3WuPFpe}=%mL%{<3hdmm_R2o)wEp7iGM1*W%#@j!bP7uaY(Myn8ZvQwv zj#oxfh64Q4!o*_x$A|J`#Q3&f(yBT8$9@K5`)Pn@M!i~++CR0T{bL6PO6-_5;dTbd z2a;FM{t-!H|H#}*?H>gR7wsR}L$ZG^<+ot}Y~fM%kIoE~{UdwG**{ih%atkn$JP*f z`^UCP#GX5w{liE^*O(G!dqSiS&i=785ltvBW&aGHi~VB?SIOBwFj|lOqd;qhakEsU z{Yl_3)#=VTv=dWAbh4DZl~lBXyn5M^4#(*4v}z_RMTd#@$8dJi7Cxs+D=q}DudY$^ zoto;4_G+rYWw$~@jxRRXP-Q1M4Ym3THB^N;E}@}%gRu!97!K08B~ip$>Rz`4-2XC5!9UszD=ISE z{?d4Z5HV=hI|Vx1o--+WZF?&^x9xqYC|85dwqH}Q?VTZvWzl2XUz*wW?&#cww!Pms zOQU}#h0bo<+j1UnV4T^u_p`#OfpG@gUfbhk2F8%t_UlasA|-??ZzxwEB$zd~?J?zY zI-Ri%Q1cowq+SV@++SSHpo}TPZi@w5wJ_yJ;tryt#(htgu{8YdmR2Wo}9t% zk>=&>o=b{$k3G~c%tu_9kGL=&@wa3?;!iHjN0`oXVLn1$^$YV6BT|pKN*LZ3<|8i5 zN4Oc33-b})pMGIJ;{44={6Ck3TNNktdhwGp-}JZLPmV>qC{E~tpIo!C5!2?_pu`Cg zkF*JAc7H!P9~CFG-GvQZ=e*=wvLGQj$=T^gzHyE^cfN9dO*iMa>B{|E?JIZjLaC?x z>Y|V8%${;)dR`?@xu2W5GB%ev(Fh;YEP#2xHPh24M5EUMo`z^#aDd}FeYG6masbK8 z^IhQoMqJpQ`>(zG+l3pU+Gmk%ThqukaZYoa*ZeE-Ry?hm9_bs|w#`MhotyXj8o34g zdB3j_&tC9;`|z4q#rxe8*@pYu`dud7>%{x*+~3+9i#eS<=I4U%`<2D~ymH_7m%WbN zClj3NqrV28aTGUE&=uvip}Y**a8Ljg0Ln#Lp!%*Wzu>eFIT2+-H8aFCqt zr(@%%QcW7)2rANKhoXyY%Y(i<=`b~w$D;V~nQ|c(1rZ?xvxT%0$`i(vmnPIGRzGO27$I|NL$h#D*gXSN6{(d0KTU6ciSjb8b96vgBFhsE*uF0??|Ewq4eNFR?sKu|$N zK?N&~$FKB@$6w(8wlsx!{Jzonn(JP6H2#3J4F$mvQ9-L0&DeA7i$$-p@Bk#bY5%iC z<9nTDz(wPyI?KSabQX&NgVx=e0v{8mC$mMz(gy<>LG*qhGcqwy=6 zu{Um67>&<o;RhP(>jc z-_O`vMN7`u+wKUG7R+T2WIBuGIZHG?3y_u@jbE|oi9$4fg+s0SMB{S=iG-g!B^ItK z#_X7lWpPzYMdNEHDHrSHCHhsdh2=X7&PUj17TkbLdNu%u4HpF2vknA&7$E#E2x00Q zWUnO+lB)}X?6p?C7-a9B2^JX0gY4;NFH|sXTts6}2oqeP@8Bd$*&D*-L)P88pK}PZ z&jW&bgY13CI{o8An5fx@FlpQA@+={Bh0|*v_bj%)QvcwF@R}uj*@KH?zI_0-S2DE(hvP;T>e;f!7sPy^%6!>hMIXMx`J6ZNL+`~94?l|ee$kZWAi2@`vTEO8!SVUZSI z^;-Dy*2Jp5<~6b6w^8c_SMypw@Sz&hIZJvDuXUcoJeD2TlvEYvAWXiB7QQ%c_BweE zH`-vR)qYN9|>^mtm2sAX}W4+8zD0aJMGbunDbrE!-;FtfgqC zDaE>5urN=hBbxKLS<6#0kFM0Jk{K=%eYWyQ8mHF8E*&?!Xie;T!7t_3Eib4_3-6gU zv9|RtFAyK(%L^PPvIVgD@&dO2whWGKaWbY->0Ub5yghYw_<$`d^qQpAQ|Ur&oHL?T zuZEP%oOeQapd5B(E1#f!`hKEQ*S1PlT3XPENEBKVd=&*nvrQWeyFpocSHV&)5U8g& znDCY&<;{V93vO-Ud)by?vz%Zn<;xb(sL^8!48)f+7%AU^&A^x152c&NKlv zK+736+HwY%V}WX&B{J38l_$rQQo_*G?0Zm5Ua$qsKO*4jjI4$bL}6h$LpB1@3(#C) z!L1Dh&KS_@Nb{2T1-DoMf|w<>KT1_vqT1QzMMfRu_J)SLyQnFLR_$37B0B8 znG1`JYcpk8DYe0K((S5u=v zf#=owhrChH$NAo8BOH$s)3@0Z1+no8Ho{rTD6r^`qVt_KtJLI;0^0~jBZ3(PXWt0N z8wFl5mVtz(^dU)Wwi-ub=^6y(l#bbk;f1!Wn|_r69!VIv&x zeAnXAWjf!zr>X3Oy`f-9=R3u!?dPx&jZ92W;P_?mX<{jMpYRy=H)BtNao* zR-Z4|8PEPXLa_8&X9k!v-bMy*3z)|lJg%j;GWUo+$@1v2AS_)jw@$_ zy{fYWHfWcEQE?Wt?j>CABm~YySo*T!9?2}XK zw%Bc)p$$1p;RwnWq(DJQXyY9xVZ=HyCQ3f(;*xX^h3aG9Zl$%6@J$Y7@>FIel@|9nXO z!ja;x3!1bJ9GAPT@^R#S?uJNx;zL*mRJLyith778q5J~ufCP+n z;n}KHl|GL4Gh3{UrKgK5;A&q7E{FJ*gk#tITxo}vVkx`%!VbA|&X1*Xw-tnmghUqYKB!GH}b zfk}srZ7`I!#8RL{=R_C`8$e2WhP1t3pT3trF=@CR6^(Y!#K2H-M(A+9r)} zJ0_Bb$sQzCn4Erbvppku07|lm8Q35>eR_?(HUTuLj_7iDud1s~oY1z8aCx_*30O|N zPoPQo!FE2CTO#8Y*de(L2@#%{Y(@~JWa?0|+50A=dRKejH6xL!XBk}6AW?lepbPx* zomzB?4Rl+kuSvSTRo{yaW?WQFHX|p^AZZQk>(K5p+PkC*(?ol<$J-p$*zpJyAx+b^ zzf+lk$`#c`%BGJDG)yeTLq!=5DaR!;*$iudU^gklVGmxO1K9~i9w*P~^bWmS&gFR| zc^>8RyyqEt?w=O5ZNmZZaRz;#WtvtMn5^kd!1zu$w)q>a)`i2<~4MIe9%>PGKuaJN>iBx zwJcI9;PJTR2Vd>L;>KI)>sw-=8L(r4ScYY+7bZRj%v}h^fCPitaQlyL&0i#JlifA{)q7;EnI}~0q;gU;{ zQfHE!XbF-cVJby9+sI3id@Nx)%b?j5Yp6h_0VK_O^Akwy(4no0&RMnrCWtH6G~XPY z_Ubw8MAs^Q>?CQ14)ObCz%F4#XaskuASxkqCk#37NvOW5mExf?0O1P0}Bo*rNU)sRkWl^X%45g>9S0CES4%KybwPxVd!)0Df{ z!_=S5r*mYNh6ia%p;Tk}olSu<{YoRBqb(^HPUj+-qr8gJ8IqOVVVhDtS#r0CY#pT1 z}^Yz?%Y-fnY87NLS5tYATe+{QCx1lXp*zZ>25_( zRZVg?e!oInREk9^nOgwtaMHURwHodiIk2JvOXyF%)7T0+RkcNPd%%D_S&>jUW@tqkw(W=t8=iesoZ%nI2UV_T;^ve+Gme)y|nv3?`}_akOuh$ePwT z!0h-B)S|pFxbM{6$K7%28L%X`GhL-rO?t{`L6`d;t*x{;yif4L$?ShJkK-%%ZSe2I&q)r_azOzq}hkS z4Cgu&#J|k=s%1i%N1K#-F(oB^!$?Wo!kt+-j2bC%U@17-5XF>``HnuQScKum%?Sx9 zPZw?1dqEXHOwnumg(zFH{^@?Gch|zY`Rrh*GL@iTya1vRC zl1Kt4@8Cz9LpMq0kropa4vPms@C=3zO8l50U2{Ae9oC8@F3FO`^^a#9d*n)8I zS(IDUjY|XNm|{`thXl-tW&|uqDjWGpCIgTkG$U1oLG4w5gvREMjnEA#phs34;7Nxo zt5v=PDN7hl8j8Uw3QZu}HIAAgJT&1n>VyEbKWR)3JnVlNt#@xN0VEnBM=~P4aU|;gRhT4 z$$QScR9uE(D%Ir3&HU;FjU@VVf);RBt;6-ma%ezWLXf;mE+l#}H6gk4CS=8_Yn7$d zwa8l1qprFAo}G(?`&?ZE6H?bWzfbiU84XjdI#x8~)U}9ZHQww?Hgl^{fnh_Q{@1|l z6WcIwrWOm>F?cp%9z#))`W*r7#$oTH@hvW8dK((AYh%V2>Mf?ArMKCS>1{%FL2uK6 z-MQW-12Q!6nCfjNMNDr4ZK94|y-lqOx+1(mOmIdQFw5o9(@eRdE5S6n*-5u?hpgksUMY^d<;zJN;c$w)wlV2`)6VWG% zZ^CYKxKtBua9uZA-0+bRx ziPbHL3HW#YV|_zoHP7T$0eNoIh(m;23MLwcAYmI}#3VmXNaDs!eUU};2)Bl5GH$?- z?gD8!e&gO~QJ?sLOA_jIrWe+m2oiEuk29!>-*DhnQ}f6+E>F#)YG3mxDw;d31O)>LB65xMwxpV%_(R_= zeg@SbkvV$6We|}wkWl=33?#-O^_llN*hvE4^YmsQIkda>Za|fFdPS?W7lthDmwK7$7iS{BuQHH0vqJd#3QuM`;E<(Z7&?9u z0eP=3w;xn|n`2U}EZU(lSSj%g=GZjy4CYx?3T-Qb!9cTPFsLg#Y8Q;r8MFuer4NH4 zIJ_MdqFB=|>0aEf+>WX@zD9JNxWwE!^?$QE97MlhaK~nIc$7bglL0Uubie{+(31Lr z8NiV&Qbo+!iIpPfm{Ez;UK8XvhZy9s6*MT8VP0O44DFf}nLdONgU?Njg5=|gE%gQI zG4vKo56=x$y3=zy`h`aocg|E*;o@|usgBc;`ojX-Oru5WP&rkH;zDJnxvP7rN*rDI zq%(#nYD2Rcjp)XTmM)@!1i?%r%#SWTf>V}EmZK&+JxS-+npZA!w-1m^{!5Y~&x}c2 z{@xF2l=v6r!kS?c#zV&lRh2fVPn&?iO8_fIfEiyvi~^xYOM;Z$6jz~rT9a4RkcjcX z(aTO@5|LW|o`f10k*tbxqUF|Tjhu!u-1a6x@DNFPD#=_BD%bn>c|o)&?PRLX@69)h zRKj~fml|N;%6hPaf$)_brlb2aUs~5pU#z>PxSQ(O@qE$#K^3W(@T_@dE%CbiWF@cXp!zt%W>Oz)!mT> z6&gD5*$Nisf{gm)!M6A7)Awe0Lgy*9RH1k4ty~_NxY0{ySXfvBla-tTk&2aEf#~tC zrV504^Dy_#BJWioY~BY5iQ5MtBRJ!hOx!>;bgfCUE4Dl1BOim{@X> zChsVE-}JIglHKOL)=wic5hCKje<2NGKrD#h2~7QlIdPjx|H`$3GU|5}jg%~zn~RVU zPtqLlga?*%oqJW%4GdH=V zMAr!yTchpxwJ5}KTg`ru-*TbX54p}NgZy}cHw;(SS%R;mS_|kc3-i1Zm4VAff~`_& z41&NUxW`;FrYxRfBm+L1owFXk9DtM4k1@+CO^XNNAyKk=eJE&ry_`HBOw=nu^6ZuM z@vtOf$l*au$f7gP0_!ifSlMJS4_*=04}JoI7PP3QgUN0n)3R3Txh=R)n51{2#(xpr zl?|$aAo=uDVg1)aW^m|tMk-Uvt_vXRRtfTm<)?hdL{gFZ97m2JML+I8&~xqN>QWd5 zc#L5Ra~xZugmG705K&f>4v?gSX&|i)-DJaj@{mlrntXnIrs^=MP01NcQfblw+0ryH z7RoYl5ee{5Ht7>76Nb4bLQn-U!}>1V2dkaJl$)U~7DN_Bp%P)#(s9Z%#$`ZMRdi7c zasKZ2JaO{4`DiXA?J5T z*YOHPk;zy5!6pgadrVX@ZsTuEAkuHB40KnFcFD~?CuH#6-xh%Lc)%$4iIR&F6O+7X zI4>uJc7b!Isx_nKPLZ-7#G*Sz*M5i_(UWkjrQiqvYdTVf3dQ^a2)c zlAO9%+}-$D8E$pX2ovof^&qu-laQn|s+t^-vriIhJI)&t*lU&Q%Cy4RmB(axlf~aI zmc+z6$F~YmCfN~8x*wz^?j2ZL&0s*o?AZWKi?o&NKo9)Dv?bXLB}Wr$%K=9|1Aj@>p$E`P-NXw)T=YkQF5$JfK2dMdhCzw13V}ilQUhszFRv<2 z{H(qzjF$0-R6_~TT$25O15Tuo0C4U-iMER50~ey9a$OK6S8B1W(lC0jq01B^C$#f1 zNUmgv6$QtGlYCxp)PaAn@l930Q>AGNjq<4yWqF96mzw2w909X0)2j!s`|%EHHq?P^cM59)kjt*a=_8`vkXNmpAYGLfNF=0M%68 zL0#N*pmO?95IJqBrwjyyPmTq`o%)R?vOJ5p%WL+PMT49$oVl^5pFl~IR z+@dTe7;GC$3-o5%OdUfX(A270c>@jCU6@=W=OpW~L7%Es5rE?2!xcY4%k!SD*odf% zCAyf5GFVg0fE7;>1+1uK91fyKc@`wBbL=o+=h%@bHSG8!#e^3E2q9?l%EDoXAYO>l znc!{?L(tZg&oUO=Dj$=O4#2K0jsu31+omklMDhnO1rs8Sb?SIF#vqruX(=tPHHXC| z@j6GKHi^3$c5Ys5!_B(nBDM8mUq`t@H9*8O?O(0-JIS>Q46OETzquq`BVMl(krv|6 zRqUn_HNIW8;`M=+NR;TnIq)ptY6xiH!S#K2TuavAW7=l~UuzPyr4@xgdR$UDfiz^* z)Sv<mgV^xka7Eu2)dZO0 zAyb!D4+ddWDpxB50IF?D-P*0RftUAtxiNkD9LUOWaasEId&2xBcCss!5jIPCY5LOG z#iR0)^kq+>7mI2fuGb5ZgD_UiL=$rv$sk0mSHwP*$}USqg$KewT*XIT7#2x z3c_+2Syolf<9l%#)b8!5|Av(nQcPa>8XL6?ucB^cy?jsbFke^g3F6CttaUl9LujOl zU{?CCaeOZp3ju{pQz!rD*8)61Ut`o(-@dzHCqfg-B-;5?l`OazwN-eNmFZbogKWcP zZ*K=Jmr)=DK~=^c4yJf51HiDHr}Rl{5H)^l^qH{nehG5lQ!T6K%hWSS-`CklLG`?u zF7z8>t%@%dhA*YuQ!oli)E8i*LL)1Bg9ehsF@lHf44yE)9Uc_G;5-iERoBwJ+IJ0E z-S~+L^p5PREP_(ydc;Gk@$trKfRyx@S5w%V2HXhyoAv~6?X(#6T?^?>ag144Nrd7f z!FxG75ME9PzDGsyU93p=$Cbu=E3I{Vn-|CHG{kA5oK2@z3vb5GKvn2aUY&|pvtJxj zrj!ceMM4rqH5>6|-?mm0{lYQrs~bOFX-PiQPP%ULz7DT#g(L?&^A7!CP*Y{JJeSY5 z-4BQZ3?a^MSyho_Q_(fi800D8aS2PrsDTBuHqS3j!+(*uq$L8P#z3vQ*l)_da@@S@ z4V~`{DouWf@K3#k{8f!1e7{>LeOrrh6cvtC;hf@P(S2}-S5=X)60a68`Q2Km#fXa$ z&pMy1CYR>a5Oq8~E{&97iNR?=J>b$oHx%7kEn^hqvf0VHm@ONtdS(ljhV~$U(^L!? zjEB`G^i_eT8cvt32EAE_v<+OkK{~+F#c8_dgA5XpoKu3#n`dKC*bG3kN=AGO*&)p< z@yLK4hbE_akQI>B?qTviG#M@}D$fH6YRs`-OjC;0*?kN;L5SAli_kag^$me(;}Erw zNa-l7KV8{auYbPN{fZ*fMP#COktrzb3V%gA75Lm!sZw-0G(YEIt1%B{2ysde^LqN&}W1b#JRUxsiijDwF$S9tpC z!Nm0e^wH5M8SE)P*-}E&=)?LAeX~`MC)<7UQcv=CV}C$F6s<|HJqjjU^L;&a?y0@! ziQa+br$9R@TZ$(;7Ejz=#lHiXSoNAT~D4@X$p_<|2xHN}HrPp5rFqyw5lCTD$ zOi&_ON{k2yMytf^U}}^ysKV3?t8*WAqF}ac^7G;a6=dK@izCe3ufIEVE<*G0MCRc! zA}iesE>1s>*(7XXq{z_6?TH00lZ{56j_S7EvFbvLw(o|>fU)6pB&ka3cS$ml0DJ+A zdPH(x1(JY)e#=1pA_$Bk1$EGPpKXrI&U&TwnBS#$Vt`+a0sg77K)blbSSr>I8$Vew zT`38hYm@(k3bHB=KimxEBQX_;{i&Ub^jA`m{l(%N_kd78YWd|=~Zxq%tS zlcz8^RyQx=?zBt~R#`XKF#~M1opygOe>-^Zp8Wn1;er_2!N!x7y8`z&@{v}U-UkO; znk&MgOdrE@0I#7l?qF^G-xlY!Dk08FLu-88Rxk_!Qd~;v_a!)DCtE{%r7-&9;*sVi zx_Fa++&=OV+c25F9TI+5Nxomdul&xKsf`cEoBqkOA6Cb0dX`%ZL~!TUsiMFPNvqMo zsl7Vt&&BJ|c!<4SC(<9#s+yr>yPQ(-+9c{=(GLMTSvJozF_~ODAvrOW(6^{T$r^hs z;VVMbBBl}zl~KPbZG`H7k)l!oQ#FZ!P5x{Dq|gLhZsM$=_@YS{{6|=IoMUkGxFRxv zb11n%^~&=A?+qy&El+h&2q^K1rb%6hOi{xlH^2flsVWtUN6&f}kN5ZjX)!Hj5Ok^l z8ylx81GFwmN>v69A+4mJ=&DJ%q*C>v>OQDO%j4CDl4*{4*N>s780Gqge=7Ni$W>(F zOtfbK-F7!jdj;T{1K<#E)GxJ|4#a+u4B#;y{ItVg`;Y!8=^-{Dp_&BJy@r~DWUeM} zaOzR=2D$dMy$Lw6)h)xHY$_fYjTHSzYU3y4jXx3BKKV|}kkiln|1Xr@BURqtpZ+*~ zTTOGTni_Qs>IKGws9LfI_m3ojtA!G!w8-6pq|%CU+dE;{$65(Y%Aq5r5SEM@6AXfq z;N+tmkHg7j6Uopq$*?t8311HO;d*0!CPq!fxf3XGtCkEgqmvA23(ArOP$gkpWBQ++ z3lnQcTszTRPfM!^^#Oy@wr1MEd**k9*bVWe$K&-=q_FkbG(#J&0+iuflRs(+EA+uG zH*}M7Y0EEQ2js=+(7PScmg@Ln*GN~SbUb3(_$XeZ4yvl%9w{|X9cs6!;5CYM4W(H_ zw4Uu_Q19?jlvF}8GzGB;FhapJ{3SJO+MrMcc(kK7)f&JV9f&&j7ucfj5J%utmc()7#8;4x#$kcfCtJ3M41yHtc~A&Yu>INYvx5H~o&WO0?C^7xQQ)wg;sn+GH zz)>iD#Q0TI!z;XzP_DUUnGqH%;lsX!k}maj9HtfFh4)hTkKQYRiSegN2x&wl#yCTk z`e)7dOYl3xvq2%MNz^GH`!Fh-!GPno)?}8`aiK_+*-~s>+E$yz8Wyd}@$3Et_5uwe z6f|r~23T1&I0AXbVwD7OcS=rS{J(Wg?ut)&LSQKg@efO;(r(X!o20{H?zD#18V4_J z4={KoJ4m^%@F=#cQAt41P zUIl0AMhvrT%qY={?v>+X*02|A8i1U7$GI7yrYEUif^BF%| zv;a5pfZ(KOJ{hl)lLL!8u4~X|YeD_g9P~B(Q}l4WTH<`Q+0YkFO4}p1=m1N5wNyHY zkpY>ZwlXP*OnM^GMUdWh#=$befc)&&gT!fk@-jd~0W>9?X+q4wf&!3LCtbi-C(Xk? z87fgb$c)gj1vx`?)mlPCnFfW<=1U(^>BvncYBj*184I=Bm6ZX-25+z-v5nt=ve?EL zUjuH~#HM0udy%+?$YIn=c4M7HDNON6RV7nyv^eRLxEau#AhaIrmEu%QvJ%2Ei24D#*>mDb{Tq*dROX|;6*FibK{e(5+>!EZ~+4sFz`PV20|37Fb=#;7z78=9@3|m?)(V8yeBK@78d(DGJ%;OGY>6H<`J_d zrbQ(0IcaWz$XwDmuz&LOsrRN%znAWK;FZK?iI0#7KM3h;Bf9lYWYg+7sM)=!wC zBFc3@f>Q)9ebzQEqIQ?6R8g4E7v<4RPT{_#R1(@gKBP$oP9)EV&d1Kv9pu+jm_$+< zN%*Of)?}X^;luMK_I*Lm=9x`dUd(e*MwZb&r%yx``eIJMa{>e6`9N-66|n9^@={&^ z#idz5E1wG`;*RD;`WY`su|1ez7}NES$iIvM6*-L!jXz30;^!LzA1tka$^RJOFW}#1 zl>GJA1H9Qb^B7@#xknt%cB77>5TY*m*Hmj1Yy6&Sy~Sn9&5XqmnYlnWyM0R3-|BR< z&Bh1J#mu~&+}P49-(L!Aw4FeIH{14+KlzLQIDjSBc&eg_2^PZO8RWjC`-Z!(Mw-y0 zGftSn5ABq3aiDMS$0DojmwI1ifv3f8(tIi^k=C4O{9tg)grE$WPq?a2v@r07i5r(Y zO}+y+x#;S`qiIbozC^cXdAnA4vu}-jC#pnK>?CF7t|C_Qcj~CpMB}G0R5a;Kefv<< zbzTPTE8%lOy$4>MB2yB%Dm;NG0%k8&s6uA~c@or5MYuqoO)wN+DpFmh2lEBMrCy06 zKM%)e1ABKo5_O%u5#kjCwuhQKj`BIY# zK(A;5L(9TzeIh;fNeKbbAe$i}3o{av^{<9hB?6^6#PwOoLkUDhjlWkhECPjI8i7et zXx2#~puB69CuuQ|7&mAxrx2)Ub5elL%o_mb^^=C=S+kODwlwA~i+T zfQ80imua^P_x=IZLo=pC&_1YjglN~FjrL;VlZyMFmf%+?A@|QhbA{K?gJU6?<8Ik4 zl}tN){ZbeX2#`_=2;t+7ep*!oxzUZSBhoxxs{-8wj&3Z(Rxd4W>sBls5kd*|5 zezcs6`XK^ZrXQFaDwe3+yQ;L&h|Yq+5f5StBPV+BUy3)#sHr@!!>8Fa7@$d2S-sQEC@>l+ z$$iY4rO#g@Zz*u3hp<_O4pffPKE2I_olKjkUBxs%8&Hu3D>)E0U zbbRK;YT2qVR(@g8qawQhQMTDE%&ZPgUGGCxCLRrShZ>ovS4E1YL#IX62`n1i8DY|g zP)c!fpd6!sYr%0)f6VMKGkMT+Q5ji2DXlj^)5Rfy@)Rh5!~7eztO+xS+O)2zNm|Si z8MSD_W~Ny~$%X1FaAmv_EQnJGZ9Bv|$H>Jxst==kn~{UTR4)gO;rheoMUY7sQihaa zY>fZRN^mPIpe&qHr+*6X*-yzcB~Yy2{ql!Tv7;S>nSgJ={n^IXg)>#<4XNk z!?4n8Yl5A?t@sRFfmn06kBB%hCnh$T+*){MW@J$ZjsIBz#yU2Dhd8=T5mx+SL9+)a zE-k>cRbm*Jc>PYFKFLx@O-=(6-5`X^BNa9N0se!sElkx%HkoUDxT2EM4X?PvUq)Ut zJnQ$Gkr-Q)t1zmr2To9fbICeWeQ2NpvDukT`Wsx8py3}P-u#R=x2vi7#ugP| z2=9|Ee*~y|S{0e3)X(fPYk9RDHK8Snw6aYCWjtd@PqNO$l9lCR!+tez9Dg-FMxFjM zCJ~V0Xow>UmVHS?V&ijy2JoRN6$f2{0b7CTknd2&8zET?P&Ed4uVRmJ7Nlo9B-3#? z>A|wT!P2+xGsvuJ7%WWwTn&*67Q`v04ila2y6gpYu%D9aLF9yW?x}=+CH5?tskb6J zRq_MSSq?%^(RXmPJwjImgSj`Dv)Zv!+lQs!2#zEJyY`XHC1M$Y?Czn)KZ1_%`Wbmr zXOUKjze6z)!PJOFHVgsq1jGl1YDDz@(a>n_Nm zu<{zBCg@3fZD~7Of|0P3wLMT$YpI7JdmuNnSM8%PQK8Tf$k(CB3elStEmjnTM>G@1 zySZS+!q6lc60MAI`Q^yOUm$RN9`nc`d<@!RIdbXA#RIK{@~G#$#WGoQ%7IIXOk!q@ zV(L$MX3soah9oV8bbMo59|F-gR!mX0Duuu#UdezK!VZ8m+~M>JZTst zu67XnVhtn^3A(1`;M$n-H$!A~GIMrL6yNo7q6n_QiPfAFwZV~{&I0-9{LPdT@e2X7 zf;~Ma8W!L>^RbKDfR2yGb)_Dz8}wXf;iV93PDSZ22(CxUEfmvmW8)Vp^%p$(Yik&DyoDK|L8&4%jcgh5LlBByi=c-h!DzIB z+!TU{m=++SLOAdzo`9Jff1f!I=XvL~!m1DheD1P8k`yaEVFrvNM(29hP%Qw(H-3W) z?%Zfc`vcm~3Jgg}WJBKmK<$@mVY*QL*(j>A4#s1ByOuB5CY36k4NqWAsxRR-YE~Nm zywZ|#q%Lze+e+J8)jg-*#jNB1{@g$K+UGv_3;$LNcfj#8*O7=;CjS@B3mgAJQreDJ zWJ`%X@6Hmx)fIQ09K&EoXmO>3QKaG1?0*I$KCRPY@yzBsE3j7DYG^X(QG`u!*jWQ4 zqZ@_Yk8>@lI_7q~rvY@^l(ge4;kJlQRJiA3WBqufg zO?hL&LW0K6RyLv%N=d}M%s-55UkKeOEz)y)JJ{?V_zfDrf?ANEQ%j=>lTS2~53xSA z@$2YKyeKKUuIxC%eqdxhHQWz7o#-icKU+my+AqYppZVcQ8!EDq4vRYyu(Le|A8!2? z-D$nCiG50w7fKUr2Owp3<8z*V=!K3_$7_9&Cd}+ooSf6Vub_QKrRXj+VI<*6!yR4n zX;A+QVGxa^Dat)58ox%DSzdb7zR>O%T2^s7BLYIm{P6A($Xx#$!-d-Pg6aVu9?%Ce zZV}vMR0|@zOBif+!yPF5?3lvpN9k9Vh-~CC17=g&4A&D`GaA22Bcy_}b9()_Ti*rm zK!Mu%Rc(`E;AZ4RxyS;+4RPjB!K?aHy~ zlwHZL7H0(2e_wP3B((GAplhx-9C7pDgA2 zfa4KYHp|pbY6e0J8p?r7)u|T)#9apPy5*hX`nN5rMOzOhesrGW0Xb<{80{7!>I+8EgKAzp_ z-$kvi*MCoT3Fz|W^pgOJ7w-`SB11*?HNkm@`EqcHW zMF)SxsHah#g3!O}H!d0?8Cn~E!CqJHV2z-$mQ3F!lLlCjrcCPsz|9>Cjo-rE!>h(; zDO7_WOdy9t;{h9idG~SC@`07^=putO>1or}^dCuW)uR16tvgg9_4<8_bV?)ug*fr4 zj&sCP&@N25L3?ni%yU4w80K#PBsenAaC@4Fdxl$r&bioo?RdQug!O9$w5+fVU2X>F z?Y`0FXem~0+ryweY&g-W|87ZAI7&`GZ=3x=@}OrGdrl(pU;yG#=wL_~5-e%4Z)wCH z>E=izufq+=17RUr`69KBq|$Chk&_nGp|Ojdc_P$@Nm~sN#1-w0VEmQh0P!zbXz%1J zad&J+JnZfm&!vdL+3S7y1iWS2&g$JJA6co2=TXsjcxVzhTN4L`)WVy9RznX2YtNF2(u()Incsb-KNk5iIYIvEZ_ashH zBxErTg(`r(k8TSf8{L&|3xw$fMY#$~zQVMOBAQK!F5^tppc@DGs5H9G7ENHt+e4EN z>dF9!qQsUwy3SFLDZ+#vW4*E~-U^hAa3!UV!w*N!ZACFsBp@$Jjgo&WvQa}J4~LbU z5FBXg`igbE#4Zd2?J<7azZ<$83r=J3aRgzik|`7-1)f9)HZ0nYD1awL&+x;R!}?K3 z4L`B_+2VfG-@H_3^P`^TN8QYi`k0@rgR_pUI6U($@Li!#t`Ew-4;D5rjwb7hsClE; z{{zBUe?s#=#7oA5wXUxp{N>ONs~!a;HIf7 zID~SXIU$!W#kuF?bU3jVQy%B2-idlPr@Ow@H>NKc6A@`x$aSHGU+#86ocd4d;ix?>Evn zM}LD-;$Q?d`geYGbC8@KtiONgo=bw@X|6^&u)mo5U*ppIFBabG`I}s~6w+OGsY~}s zezz9h|8M^N*9z~I|9xA6;31z*&s#PG!IOpOALIE$h37Bu{E5PI<+337w0{7q5i9` z?8WoX@Z1>4;lAf82lu!5-Rj>9?tgxDZ#fTcC0!xkx@|7sAM^WIA>Yqj)0=PP+8{Vx z`2I1Ti~X)>-DeBsKF71_fBW_He<9z?JQvG(>V_crQX$`-H@SQ-^ZQaE-zT>B=IbuN z*YHm0sp{~ddRsg<3eSz3=s*7~I=qwbO7{VNA1%Cp`>r6+_Zfcm{TKO7zw7zo8}nzS z`$5Xp`}Y^h*Yk@Dp6}n?3(qc|({feLF`kw0*_(UY@mmX?zryq2VBYWlm1pJu@E(`{ zule2TzpK2D^L$Go{pWnTKjwEsA>9ji0$<_zt2{qccy8X+TkbdcK8pza;M)41)Sm~Q z;)U`a1R*aYF8!t#x4{O!mH6eyzAKF`{cYu?h+ZA9JZU<;OYhTf>NLIA-w65iEP&6H zPv3{QJYkt+({qhWFz7d}r_TK_m+H`j6hFbE)RVqfJ*&7@a~0uR!*hd+0ncDkI{k^e z)AXvpSl2q9RadbMg7qRU{Ymnq<*GcvtY4L}p6g<+6fQd5zVQ>B^!Wsf>Q+9%d$xSH z&>+<(xb&-hYSU8rvi|e=1h?u`K9#XlKH*w_8_1WoLwS`?&;9aU%6pn+e}m*xd-YB@ zP`>n;fhb^5$?(F!lF`e{6p((`uktCa(lEdT3?f-R29S(izC^w>jnXNf(kcxDNx|A5I#s6fwYZkbr|wLB{ygGz8cSDHV~r|+U~{oO-8m7_FD&j4dQ%}?-ozA2sRR(Wc( zXi&dJ9#pyNpEq%-KK;$Yw5msCG8hF6K*3Hf1_-M|X&D>>1iyV3pXu*K>Qp|JvzrTn z9o)ioD_2^^ZQOqkm&y{q>F*)x6YMJYb}r@nUamKDrS+uwRId0_f47h?g-?0z;DY?@ zZv)>_m`8Y{?+Mo)t`w%UO#QA6lCN*7emjbU za=ne~VXl2#YLdR|FD9=*6npzmF?z>i2W6zwP7|EP_K#5=?3Rk8=Na zxc)BJ4{)U;)ji}%VNe}E$fds#-mBiUjx_yI-lt`&EkC5h{5{6|v@VsSzmvR6+p9MJ zu)PKSyiePo{;Hj7*8#4_xJJ1Sa_R3`(x>0mZnZaU&mr!|xY}HYx%4MombfZhWVOFf zaWlf5@~3bL7e&0Lu%!4n!gu{WPu{dn;qIutb^6x`_rmKqSK7}L+^6kUnfm*ZuU~bh zX@%=au7zp8;?t_GG_CMFwIHqfM1Q;vUM7#qQ##S4+Mj-t9w^)kw?kZIt}W|?pX5_p z>ftetdD&90t>JBh>#2P~@*=M>+W%rpz2a&}Ubw0rJ;s-3uC7-;1Rs(2V^>?=&s<$! zz1HV_MyM;ZQi4xmko> zT${PB&kx1hRmr#9->p0gbuJ>}ikLv?m zKg;!VT>p^kqg)^7`Xtx?%JnN;pXK^ZuHWJMJ+A-2B{KU?!TUIMErj{+@va}-|BUxV z*nflPh46oYcf$SO-@`xrNyUGRU*YQ@*C8(9Uv1P?;?m!UPbZcurc+tEL|XcjNg%w7 zC8za*zsLML^@ZL&aMM_4^w7-CTas?KGk$Qs+kWs+cl2m`tTQwHNN036vakH$OW&)9JRyZm0$Kx4TDY#umJe zYr*%mJC?CGJs(o!>{_DU0@M$;kI%Ph^XOCt-NL5rx_RkDb9c^6cRMpvQ$v_bzTN&v`{bQ7Go7)yhmbMq^78=MuHF4mltFeL zAiAk9L`b-~ZfA6Sx;=LP{8V@Rq0!DL@@{J8NN4oed4Tf9oBHAH^#R)UexRLqguM>r ztCPOj5c_%-w#x0{I;l!^?!~e9Pozf_c6K^fJMFJxS|jf_&aZ_j2Jpk8*sO zAnw|g8zoYykF-0PboGOBro!$#yFs#hkxK8>?%b%nb98!Udi>Dn)cB8h^PtyKDeBBS zcP-TBi+aMVTi3bi=b82JY5?&H^y71bI?q4DKHd-kE|##K=JKAlY)#qDV(s2C(-W)YY@x*^y;w*0Qe;S%PXuM=$v09!~Xth=DON* zdp*7%JUG|x(5C$l?>ew|FUfb@T7V_}Dr+&bPj}q(knld2H6i=5^X$+roVi&RdJ3~r zceRf&HF>T$T3G8jqNUjS*Q_63A&krFx}7#UIT`FS z$9^Ggv8=^2i)X3%#wBY`)yos@#W0+;J?2X6{) z7j7vyDGBem+4$m4iKFb>zR~fi_E_AViDySUbM5#pg#pAz+oR0J-w@pOw&czSg9n&E zAN5}jll+Dt&oyQf_mYaEV@!VD5WIa(QgR&jJvPh4Ka*jxOVf#oA&9$2+kBMhJmO|# zA1BN73?A*KdFH+U<|>>iX>` zuibt!=F9l>;b8v*`-17w>EMCnfnfWNox5(lY4^>y+?wpU^RB)7ZU`P}wk}&0My0j) zZ5nQr>u*?h#nnfrXJ(Hdj4K0cE?R%_#=%RfTen=gVW_tH^37Mi@xAZ)v8%4R_V(|6 z^Bs5IeeeB`{++-313&mfKYZY^(L-bH!$-y^CZ{@c-N%3AN8cIjXJYlp=u~|0@oqbw zv(S`7?clDNV@$us?M`Q=6TGcG$1JQVF`f1-u`@)kXa?IeeYg8~@KC#RY~01vjJ2o7 z+hf6lv+a%r^;kY0j*WMTtsxJzb?9g;ArZr~W8u;V`jcX zs)O@$kE5FrD%6>u1*UlJ@wsmMSd6E6Do@25!huFR<5Q2v^V6dz5Q5g|{nICqCuC~3 zCxbgXGjns-yXxYp@##tOkB(hGGfgIIp({GLD{ZA=gOb4+v)t1(U2#alX_qdDXWQ*g z0d?K+V}Lg^-|bC&czzB{-ZL|2%HUE=qgD34cMf4*5fnNM}mhRKX!0tYW$EPIi8xCnKk;D9zEvC zLWv%MK8}q}KOWD_(oo^w8t?mnmRgsLwdW3X#%G~9V9mO9&*<2~&!VeCN5`ke;*=zn zC`FHvXGW2E-J*gyWfl60HDvTR28kGM-!U^!;WLL0&3A%_yQ46m;>zHM83s7(LKKG+ z<1_PfF@4+?v-EJ*p;3l^hUQ@3{Inw^Y#fK*YA5=^>gdiKnwj$bFN}H!9mD6nBf34v=Q&{pIHX|Afzx&uKUj5 z6UiE!_f1ykI|x-gV$C-R;!Ddu3wwDxdtPT&UhuGi;0jTO{EI-$pR(+SM~_K{^rlUD zv)@M(1RhO6ny?qP2io0t%ycGYTN?YP&qem{Cts#rzM?o8J!nCX>ga>>hYv#zb0$l3 zMEDj{*C8je=tloeP~|U~u(MXSr(u)B$XDNA@!Zk*uECj)3Zqky*VyCg8xe$Bn{0w7((_vDo9~(!FIXp8zJr;bwbvvR|uhJ32 z#x|;V;s_~B#PV1G(8r9jpp$oucaO$b&RMy$Ca2*cW#{E>T+2?}HzD=5$B!_^qIp^A z#Z&3|xtSE;k7peOZC za?Xt(I5agnH&@KjlW51y6u&UVZ1c9-bCO*tCINy+>u zFif{k&N8I7$Kbb4yE{*OC8XNjv4haD@k0lkI>Yl$45uUAqy9xN3T{1cz;yj~=Zt8Y LJxJVTA;o_O^!4_c literal 333170 zcmeFa37}n9UGKlAGu*rHO-|a-rfq2VIZffVPzi&jB5HQqv<=Xvb^v_CKMidt8Jh7X zQeWFdKyiA{g7_DofILOZR755fP%BnMK&T3eidr8a$V1^hQS|@R{y*Q}Z|!sT8SaoY zDJ3+wJ$qW?Z~f-=TWdvI58N6@Q564Ge9n!@;luIa8{@-~?jmk@N)OvhU7{N^ez`Pt zvDZ=mA-b_)FQXfyD%b7d70;HDtEIUky0L9(58rvGm8nb1-&iGg+`)w!?<7ZZn2+h< zJFG2tTBXUIdT1WLU0Iam_QUb*Rgr36RhDJfH+ph=^78DAbldJj&0DwKx@Z4wNpvL9 zV`F~n3wCXb_r_mJzm)35l)boQ>w#_Q;Ycr5T=qRzmsf4N^!m-$Y`Nz8Ys1_2b=Q}d zKAU&pdCH!*Tva|lyl8BF!Jhr|QLG|nx9#4wb^k5fuCl75+={(r+x+!==C|&uzdYSC zZQgz9*4?}J%wMs8&-d29p0Q=imYZI@b<5UWyY}3)b$;8HZ7;rQ+ur%@dv-_G^i#w4 zy$APi+j408{`rGjcSUVgHWR+gzlb8EhF;~oIk zKU;ryk-t-6A>Fq=&0kqzo;4(DZt?zG^`~vwcI$zg_HW-izisyx;D6KJ+qS%5`z=wX zhD>kSwd>HWTjuv~-Rq5Ay=5=$+_v@REr962-fcH+f8q9oji5iWh(M(q8 zUk;e^oc|kfmgO05GW%JPMJu9=vf`8!&=RTAG*zkkM>b`Od8L24$@~A*2J-mN%BT@{ zqE)k%@GVtF6+$9^*`%gqdP+4$ zty4~k8Y@Vh>LFZKH1w_2w8vJf#beC37U}d-ZxTA6HKS9fraYZxZrQzx;XgH16(!AP z60Jx8BrTy>RTSEkrb(PwVd+|2!Cd;3cQ>%J|4lTX%1PkKFX4=-rLe!n^GUw(Q-refRvf{afa5+q*4#Pvbdt z;(fvP-8XM3=jZotf5E}|ZJTeJ-}<6$H}BuG`}+M`cOQ7+p8dBj{&9VDd3kijZQ8wk z{__2MZtd5(<;l?%-+pvuY}s=2wgdC~_uNJw*GE?#WefHl+`4;y`}b`XpM`79AE1m) z*DTzE@2;hv0G7$0*GJE~^k|Em2%7IW+EPYxBS-aySE(Ly6fOJ2Ih|%N8O2u z(0%&Rb^`3XWgFx2iN=P7v-St$vaR!52Y5RCdVTclZ(VK?!=QW4#mmh%-zOH47|p)w zTgI|pw(X`pH*ed2$-x)C5K4v*-&4mjk4=wQKT)*e4 zZ3kXN@!$Q_Wv0JIEalQ&dk)@Au4{WshWZcPVnUbs!ed~MqVEZe{Jrai_9 zp8Aw>|NgDFZMkgh&HCtt6By!HGI+~#g8=+wWBqvV$1)5z?v@GUJ(lIb_V1IRc+pcP z7jHOQ>qhOFPCQ}BOtmg-pCF6WoLZ5??cXs0Nk=k-*6&=n^+SU|Rn_yNt*;W*TEA=I z)>o;ATYt;Kt*1s`{zo79GMB-?+TJyJ0V92A%hdZ!iZZclhn^9rTB3-D4$>>*ks~3xRp-NTj z!mdTSP$eJk!Yzw*p~_LA&jQG=7T58o_Pj9i*Ams*f9nFsUrRmQ{M`#6e=S3WL*pE@ zk|urDjHcxBW$YBAuxR5Kysl)Q`K6vYvt(E;M zQ*M8Ea&b!dLS&%Q92nPF`-PdctVHwU608!7-+ge~{_UvojMZg(4&rZgW$-D{!Eub6 zkjGL7W$@7W7*EInPE}QW@3NXDdA$3UD$k3T&U59~1H)apZCuKXHjF$~4d1tPH%MLU z#(!B>lZLx-`#8ysHfi*EeRRh-8y-z`^}$=!kL}>blcPJA?#VD_9$q&A;oL^pQq=@H z9f`+@v;TRx#P5&Ct#-3)280Oa^&k2wl-a@SqnE_vG&+)f64{-o&doQEM3V9Zo>_}=Y=oC!Api8TxJHGLECSZKK1f=9BW6qA=|BL&=1AqGI1pN zZhT-{ccHD_Oz}Uwbf?8;ZrXF}-aWgw?KaoakHq7gYow0AljoOg`$4mfw`^Biel#AJ zRaUN><+a=O(T~OBI%zGz@W@`d08G5xaeljKGn9OR*KWGxhU+(O*>v@D%jaymY|Hi6mRDbQ`Q~e{itdUp zJJ!Ok-dro^74dV9wVchDUSD3h@v>_-UtKHjmGRZbTHbfxP+oogrvFf0ziFt%pNNON zcQvq0GGHr6U9oZVRU5Cr_ItKm|2@}i1X@Fy$`WNIh${|EP6%!j0O5L zsdmPzy!wh8o>N}C<*JR>T^apEJmd?j)jO{4*pOek`8k`fjb0fKc^j9`cE!f4H(tBx z(&$x3n=yb301fHVOV@ZcNLW6H4lV@P1v+@m=Ib_TfC21~duZtzuiyCmEthWIeC=h? zPYw&gT2`maOGVxrue}yX-nHNW)RI;>b4__|3DRu5Hu`_#AscOS4VyNHN`5LH65f+j zZ+jOaKqKt-Ehq{o3Fio<7NGfKOHx= zym0@vZP6F9l|GsJf&<^Xb?=t#Pkl=CtBuwc1QHX*(dRR6ZSpnxwMJXFx9&N#Eqbp~ zFh9F(K6+oHvE{%E_V0||-#?=GRAO=KBxszGlyX`RkYsj((+))8+oh zGunD$+WC8$U>8$4q^y6-Vbr`IpiUHGVdJ zL;P#;5Apkf_}}9nPBy(Fc}4PuSpUBvepm9d{Qu76UCBMkFX)Z^zBYLs_sX*P_n)Pd zOOPYGMf#VivcD|-!SvZ@83>cCTl(YaUFqA?_onyupQ^W?O8-3lZ2GD6_ZkoV@57CE z$6t>Bcl>|iuf{J+elU4?^0DOO$^FUSCtps!l6)!qV)l304>o?j@!D$s@O5c*cHN7YO)%4fWcc<@3e=^chmt=?ezEbk#{Ks92aR87+|&4j#veA`(0D7q)35y8DZkxl zMn$wC%Fl}9!{;`-@wts6+Oe*2Zlheequjf1U85j=Bs#Z|E8V(AK5dsGUf0Y!(YdXS z*#=&>cy8yOWJ<}W@(&Orp#oJ>hXRX6FS;apdP4Rxx+rNEN$2mgURv&XcDA82lP4RJ z4Mke!n^azrJ|oJDRJYx1CZR>$Ea#U59W|=g?7X7U%Pvx3MYBA@zZdUUnWVTV$!6l5 z|B9?ginQ}?w^>SriL~}{hi#lJ({7wEb zf+f_4tm;En&g|$l)&8i+j;%ip?@wc>KP~mA;r(eX)St$nKaF~Sie~4&Y^XokSbywI z{)um#{+wAf8H{E1>XV^Y!nDFMt$A4#{(V~-6^*jJqnA4Jr8VTshLA6FVrj!0rEu*R_4eDs`QaBWw3rH>w>34$QOZpsgN(OkT1&r zf*2S=`T_}kV|0vBdqNs@+auj;SKaH=Ry+S<4HvC*Mq3RZrG}5vF_Ku*Nvt_eV$CH; ztT`aD<`9WBIv*U6*p*^T6|2aLMt>+Px@%M)3#YqR6aFMV(yTDFDL#^UUo-D(^AW>N zGWvQZ*q-m`(KXRvCQ?iS!@M#(Jm|eTA4x=j(!^!y8x)h}BHVJ#e7WYJbJ%9!NGi!W zti8$qucSl*I0X=at%$D>bju9*C~fL>HF=wE5Fan+p=AxDQ;^2OC?^%=SVL22sc2p? z8|92m5i4yxm$ZAa72Mv@O(`jcCv+PHqf9NA>r2t-T&x$3&a3Ew6-A@Sohv(}xp5W> z=dRnFiE;|hi$p!%P>OoNhb(|)XE}3gkz7@MAl1yS9X*#e74Q&ddHy3=+zzm8bf-bR zxHq-4Ob+&%005TNasV{+j^b#W!9}kNd)bSg4Xp{($@~sRpsk@nOys?cGNyL+rc|2b zC~zpII`5S%oCbzU9v5v1Z>t0d0Ry_x0uE7m`;H=}(nICp14;@E_=Gt1G>N`9?RyL` zy#%O3P&E)3#2G=Vum-~mH5wGI@#`0eTrC=cyav1NeVx|m!#+qyCF*3Y5wt;r+!Ddi zS-(VfDWfjK-Yg&FU+Nl#syb*d;!TWnTE+)^S<#e&(L|k~>cd6W@EpA?AIfS?YC;3a zyd<;X8yKf*TP6v-6ZE$Z6Aj*>5}44RY6yjEr4Nw+N742 z@jPWW1eb<@m;sm6;nM1*Xh!O028dz#@wL+^&m05`)~(oU1)za7SQwz z8nNyI82IEEpia_7;k2+d61+4UJ=dH#|to*JP{S~evV3bdK~kbt4_B-$h){g_gHz*k+F>UTx7 zNoj4BR?%jAK$}Vqu`WcLcN%TRMiwNc?ZdRm_vX$qs{EEX`u14(mpD}>jKmOCQeeD8 zP4xnYXfyC3qfMcIT2hI6UTZ|4P0&Tq3?v%WXmhHMNTS3F|D;zzl81{XceycyK2^3v zl|$Gkij2o7Qsb=mbsQ9LrjhNPby^HSfLm%n1d9p@B?nYS4G7=h+<6QGz*mioI1uP% z#5{}v#=1^w?p()(0FFiYvf+aB`TS`Z#~6-ZK^qZDcl@&2gk=Z3o8iS8u*o$#yR`Gm z-J-^JcC#evA>lj!loZKa(qRk|34^4sJYrm%5z1Fmij&)${6EKubjOrp%#KcxVvHm9 z^Vd+xtXfk`G`dl_b_aM&xl!jQ8)w!`+;q$&v^R^C{?Esu^fx6)wK2svaWEwUCF;wN zA3(A>*^nU9+#JJ%uY3VX*KB7lDE7Rsn`34>Cqw2KDF)`4BuelFz-WRwHmrcV!dqhf zVX&2d|ABYE#jJ%)egjkOvL3oB<)8?4-s=yH!(1}g`9t)G!@2&4uSg>{wq>JY79HHE zKg`m5#j6RG)-hUkbm>`DMLdF80d?83`99S8_RgQSuy0ggC(|QL7PZh#i$!w+T8v80>@qYKROFJ+x8s^O!S-bF*c)_yF?GzIQ>Sn2aOPxL8=COI2-l%Qp3bd_H6<(Wjj0HCSOdZkw*%terPa~vD4c;8xobel9q#-AeJZtq;k5- zeZE-HhF1Y@O6^8GSrz7D zU;q}xBehGw!I28>_pu0}i>h-8h^vBT5W)e2W&@?qq&OQ>m*Y_OGAc+%D!{wbxx~sx zZ|}&`5LI2vD$DAVPMS`yim`DGOE9G9#}Io0c$9I zVXVoQgEiA8VT498PF!KlrQ=vLGZ|}^Q9(+fl7m$R!kT^sa<1|XMaDefr+}-5OBD{a zi&KP5Fq>5dh8@Az0!V~IQ^KKkABU!DI8-%w9EVKtLh32+Ed4c)4l;1q?c|E<3C1h9 zDBAUaH$4QrO2+Yu(wD$1+|ZAE81d?|6OC8>3YLdg5@NzDt^q-hFJ6t$cRWn|>YEI& zHlAp_>R0fMfmd5`?McQF2V;c}$ca&Nl$`=_fE<8Ff|}VN{f?oGE)0=Z zw@`ki$6^?uFfcxh0CU1Nj;KaVt;PFfDNuY7cbh(;h9fM^dvVF!By$}ki60DrTpM>LxwK`H5lQBrp1i{wBzK`)$1!hia}Jh^``J@vvUsv0ND zlu^%mnniY7v79|b8C74Ba-|+=g76ea2FmtK(cZVQmjDA4*?n?Nwl(?Fu)Do^-kS}W z-;1hJm3i2^;b|rc~ zh0X{>Hda}Y(}on=7l_JAGkXdp+TSKQ^LRP0r|GAPZD5iE=eYC3joH-Rkg@v6Z4)Rt z8mKVf52o^gA|DrBbua?+!4$WT`o&RVFli0?8nGE!mFg5Q(;g(o$j{GfHVkT zjuIuKZ!OIfE6M;52%Vgg**If}BZN$B0ur2H*sPPPgs+;G1B&)$5_8!r=SEb_!ksDr zfRw<%`~|HAz=B!&Pl<(7h@PdZIv7*=Oc-`SyZq#vKl$buAA_dA4JXV@@g!-<$4^Ef zR6tYWi5ip&&ovF5G(3CWYw$We$c5GJfP&?HUx_+D0d&hF7fOLn$_F~-=b{eNnhjh} z7!qCLBjvKPV2~E$flES>CT=o$V>29A8jY6WOj?@LBi1Djt{i9?0b$c7?v(~f+#*q0 zO2sYV!393N8f6Q{sqA7|xN0Cqv$ZVv?BZS`X~4uiV;8ALVUig{0gmP$rei7{6k=q} zrHa@17n67z86)%yQ5?ootz(J&Iz=ohAFLvDGkGv4u(lGSN2}c^b#YExrYp< z##*D9)y9OwxW*+@h4$IRlicd&e-vbaEA^6D4 zkw#A5wqkl+187Xs2MuL+mSjk^6;_+M%;n_<9fS;Z2lx~zMGi}w%8DRxP4G~(T-6P^suSGCf_)RVahT~b#wI3AftGtj zOquT0=M?1)AzURxj`M-{^o+Ut8G5DI1>NBplIUE1gN=tSqoryO(xG2;XlAB{z@h?V zM;-0xB@QWW`j83^)aBOP2fuY%e*97*OQd)-)iLrKVXGB)P8b;o)!yPr92yx^1^I4; zIzDwE7rfB8npJ>@+VH`airFirdx6UNkEDbN4NW1L@NtT*=AJ-!=3znFia%y$W1gA4 z*nHcbR?`i=>FS<@!QTmY57AexDq==h)tv9CvFGe4Z`{|*#9RrTk+5!={II00yz?E# zRT;*pKaGgaBLJ8$$7H*nV5PcD{Jk_NV_;xIQ2LEqD{%~UAzhPs6kusH zB*m-B{IQ&4v~ZuPZknqA3{tqnRAccQl9fdf?L1_ZNCF71q-95ulkmiSYA2cV{HGG6 zKVvbN2@$|G{(##h5R)2e1?&sqVty{0hky^Nltk&nZ0rE;5>tnFh=+iJCca)_EI(v& zfKa9eHwZC~E30!)d|5D2Ci2$Y+e9RmqndHQ3bHSsFK8s#$?UWq_3r79b zC_(8v)tsz1!}J-SB%O4@50}pOW=+Tm8;U-kRp=PGZS18}fa%s)AyYk)6P{XOU+23DLLwNc7+yb9(12Og5tqFZY!P^q5)5duw9?wU!~nV&f;BNq#-vb@ z&O;eO5Nmaj?K3n3HameB3>0@a!|9>{aU@g)oedwDlaz}b!$|3$X1M~#~I-b9=$$)vY4b+)H zZG(VB7Ai?-^%^^ctP-jN>b5&ALI8Lfz>|j1q&=iHXrYY)ttr3*=nYJbc?ZzG?lkF) z4OvtK@rfjnZH78Jh52Y4#K}py6U*J6-=|(O;BX}kvU`xB1S@1_=OIM=G-KG_IggZY z=}rdlibgR@3vEbXT9&$CZWVaibhf;q8l_A~q|jCnC80$QXeM<4fU%EE%{UO!v?<9O zKv{vUShJ*1OVm2s0f1qSXliFyVTVSY;DC`CA%_L3X166E%|jH;@*F9B)6@f55H-pT zE!praXSEyh9ZbB!hnY4abSXuLpm7kC`y;q7@_mpQG_HP#)TgY!u7Ol2=iijInBGT< zmbX7EZxnHkv^*=nOHG<$ZIrw`O%fF|^hLL07@?7Hj8N$YwdT%4<}u*8=bYGEM3-Cq zHAPr0n0>F6lQN7jj7*IbKLfGIT6F;8*77G|uh#K^r_zDeSGX5zrKP=b~a*3xKNY78_jBf6^ zvxu0hz5Q+!PsJ4$B#LnqMBNyqmnJ}4ExP(0mqyXQU-FX|Yd{zS7@cdk78$o-wJ23G zKhb9wDD@c2Q}7wZs^eOYQgxbTe-^%zRv%#FbfAM@r04T5j<@SVWz$disY+}?R|!|nVudYAC6 z2ynw#I}Z4!QXOtbUEVhczR|;X3*XK;-f(;O*BNfhm6(gjk1?f1VsSn$@oJ@Uz;rqCpIEMeQjmyc@7qpgVqU*^|b)p3E!!|A_ zQ(rDfqBov21cPGqX79{NfMw`I-j|14@}mWP{*j~wS@1o6S=;B~nEbBGRD@JfIpii~ z)x!x=hrCmGF|~Qc$<-;;3GdX2Q;i<}kvb_mg@WNDb>ftzhkv9_%1)tje1|cL6DQan z{*gKpDJEJ^zD}W&c&ARFqV=$k)JfSXbdv8(POP8m;pcuQWv8TQoqR+kMaz42 z0u`-?omG6D#qXnv)`<%I8x!AO=aE*-rj2z z8O=$llbn>DIw^IMld@ANT5mcj6|J{Cs%Wh_cwCt}iq@Iz4b3VN)|*G=8&^4m*&mj* zg83PUTb9}Q0*smR!DwH3B;K(qit@Ah!untqcX4BqnN1h?d|$F-RUG9ldzz2wdpRo)s3_tkDpAKvrylm(M)Vvu(76?_OCQvuVKjlGlAF`@h7phsx z^e;(X(#bw7*vz}9jb?ls2CdWzyGg4gVL+$zGa!oYvd(L`6YzQ({TYpC3~mL73KuOy z<-$tS{8_dqPyo1S2Ft~n2p`2?pjY*CQT+8nLZ9+gLc4n-BaqIU0kXgOQh4)=B3W&+Ykxu{O{L zUDk>c!898rEgb|GZ1t^{OB>6w0qZdGJ{~%)DIArcUEM{#c0_`+2RkV+Wj_p>M;BC@ z;M*N+15TbGpaK%qDxXVM+fdu~#cGAoftIosEJmNiRS2C;bE8MBWi9f}-y?{!b zb7mVy02x@SwYJ9jN~t{oEWYi7I-WXoygsckW-YN4DO;D!zD8P*%w7?4yG$dRkj-}B z5=-A%@Z9;fLNCEr--1K?Y&6(f3LLaOFSTY?J1J-naNDa-<<(gaSWg4A;-4D)&^4{$ zwf!NiR=s0|J3AYcSvM=;j1YjfibHO?My9$M;iByufxatH_>L&-Kv*=o5y;?h7D)>N^e)u~ zZmHzER-)VLZoWcNz(GK3?qtInu$phA8(L=1qIPZ8Fj!u%J!@EAPt{sppJ{o$cB-kC z*XMSy7q$%lba>m6dv)1%9B8;RwyByrq0P(~{a&lvpfg}BO;l&>NCqvWuR1gBEAQE? zfgQf>Y*;qFQA+k)==ZYlo!Tf+Uz*OCnqr<;iC0F>*$t*Lr&2~k7xbGlenzy0%hW~5 zS}t>l(2)e#SQmQ<&&)RqiHwh$u2CfCryVOscWY!B@tp%zC{epFP$C_Q_dO#jxNANg zpDa5DJUv~{1!BB7e`Rc3Rl}1Abu?UXFxXS|1eV%YUEnG^@9BIY<(MGpd275L(y#TZ zcvpB;Y|=jGwQ0NdP~lv1v3CW+r2x?{Ukw^Oo}aeq3E21q_0d>`y$${2yZXnc#0yR- zHGhgh*R*Vb`1!!elqo5XZ^i+U+7k&uZtQ+W##LCpd19V$&!KY2b+wxwYJs8d$3jvhB)d;D-uq z+Y#G2!+1L=3$9g4^x!Z{^lD&q3Ho#A9>l*Cp0^IP0(R4XMs&S;!w&oxCD-UqlEO|D z(aX#9b7kk3rLI>Jp09lkne+jf9myf>>Y&Ue%>0$PGdEZjT@sxb3N*Yp_JONyri4Dy z^7nSAi`cwzL*q}d3NeNLPFI}zASl|FR8X!;<~$CL`qQ0dHLj*TZJd^2VPt`pq3Mtg zE^o3{+p8dQp(eu)9vv?O2uw4fDFHu^76kcctKnz2I_(~$Lomb`**j2-(HMlJ8=TMV zLdoTnuu#&vbT=Ki2moY<7r`O23xXVrD{N9i;o8@-&UYo$ zZCjIYx+BPx+GZbNTNC^Z70>l8F{J?jGT*$!Ko9?^M!>WMJxtjyGbRdRwrdjP>4SDm zwB371!Z&rF;_BV+Md4^iv1&w&o$lCU>k-=J&Lnl8(+e5LZUi4Uybk>hF(DKQ#+lv8 z{$;9>V+&OrGKKjT+wzDVVkObF6%GxdL#TCXB%9j^^P)jJO{%kLDajT-R^&A?8`j2b ze_|vp{wZ!cAa%X5J+F+D8!~Im#nMfuT8PMPPc_IJhTHivQWX}w>#gcLxl8za5#Mts z?73pyj07KwX5a+E*=yjhFLB$qe4x^#J3V)E1S<$F&R`3AGO~+q^vvm6fds_NMI61r zPk2>&Sueekk~dlY3Rae9s3WLN7%h;gE+Rhzjkkfo_nWVlHJ~0a~&Ua6jQX4eX7Lc zqT;l>r3L!&@JWG~kqXPV&ie%zF^?{rT6rcIg>BRvodPnR-nT z@JbSy&aRSxmzBhkB`_gBT~^wTbP*6wblnI11g%{xle1{lsVZFvSc@Y89tl65rlCT{_B| z;`Ca|s5t#@dC6c$N|Y>~h%KB*lrEk~j9R0j%C!G)utnH@xSYlwsoFR#0k7>_^+9;f zF0JuC19x-<%nn-MAm4c3uD62fZ;9>5sa`;Zg6nzv%a}N9j2YeCQkepH> zxkdd<6RStxQ#-_dO1MoupPrFi;G5!L^u@%E2CJ^c~dyW3ZU~wegQ_e1_78=I z7ijwE&w_zGTjl|a^Fv7@F)_lXGNU;JjA3TxG$)>rL6|~Lqk~?;B#(|1gM~Vuf}2ub z*_scISfz{h?eDS=HR9E@LLqI;bdQ-Nf&XjJO;M(xpfBqJkI`jK&WW5-Rm)eOqCtz` zIGz7x5INTE`}-#Y3ir+8G3F^D-S;NHh&HLZ*npsJ4W_N!AgN@!Da-?3^4C?W%>bXy zZvY%o$!lj2WwAur3>zRn(2yvLpAyuprwsJDUfmZ(p*{pu{Q8`8JUTO!#knXGfubb_G^sq$%l zx*=yB>LA1QNGq3337aL3HTP;*v$luy-mSLr_gPIkQuS@9(}OuR_V`}ec?bMDm34hR z7y0C+Rl$uww##}=F-+7*`eF*?Fe_2B{7Qx7N>OQFqxK#Sq1 zCixPA-mNp?@ZjkbL$R@-hIhCL8wo##J;CAHCQ+r)z^!PJi$HnNydG)bI-w7tD=CO! zgBcCnladn4ret3d9uNCqGvLk$E$W;92*DWGu>+WD1CG^ z$p(zQXN6+yfGB~eUCaTF`l3ue$R-eRhPpu1=9`Q!Cyx(_iYlwA=M$@EM6;3OSUsTvr)7z5f?*#X@cPIQ@-KLmpsDZx2hcW)4X(M4 zi>}@SfeyN9Q@ealgEQS}O=9prsF8O*ggd9g-NCh3wW1ZpzNw?ko2kx6g&$y3=fiOq zPf_P1Fs)e-ccwk^{r79%8KIe$f4{%V|1tmmapk9}GdjJ5^84Tap!PlEJI+^q|3sDl z5B>WeDSyg$Ms(==Cu`pmzRPH<=l|o{_n7Y(s5+n!DM!CB-rTlnp$$)P>N6Vg&T{o` zwhwid25$MRj~Ss-{#%CFjNb(Jsc!~v#?$!8V+)rJcSrB|)l<{cuyo=(5D+U75civa zSXsWkp*@yYmUnT*pp(FONhaTXpbxPRPJJ=u(O${ILGxebHUWME62Nus7+5jkb$)#8 zoLdF3V%Z2!)akL7WHlF#Fyx?ESq!H;(xe-b4eRF6Vy$2plf*l=C2Bd4t zDNJYE{S`(m!t0r9nNwa`@VH*f7$t~2W2brYR=OcJNnHW#bM0{juvjJiJ`0u(nR>}R zy)$mVZr0B%bs4(mZfG#LAe6K?14BTPRGE8c7HecBo}oNu8etFKz2kx?>YfGSouPDR z7H2$3`>#YMEr_T ztGqkNvcwMRWj+X9U)?}r7BbGP0nH-K9icc-ABE`aDpsSKx}L7VW1{A^=##D@-a;RxnD z6gcU*+jz)Sq@6?$*e0Fc?TaayAcoZuZ8miSw&t2f40+OiSwVH9#Z|>(B`jeIg>RJL z(Er*_>Z0mOTeDZ}UA?ilf_efmV!G2KHm^V_3f&iO9|rHE7RWq008t;Dd~<6 zh}0`O27TL%n&vsokigtfOquEl2}ZOpu*gtVlY47>xl2G!>{%n`qQR8IPZH3qv+4n* z!Cis+f~1oK^kfXthy?Wa(?Y+5!(ZzyB@bi5lng^rB*;d9!DxVBN85UYs&vL_Q<$W) zNOGH!p^;Qu&Bz|pDOLiRmEygbCcE)G_0BMs+-n#=x&iVvhLVe+Na@3S1>eBeawc4* z64u4ciUd)O6f4ds&V1f%rXA$h$XTIO_IAxBO>gQli}H9Ny9n$DO3x%w(zvooxs#TtJF-k{flwy;ZA(VBgv8*)D{tVS85m5OE> zk$le+R5XwTz4A<}&MJnf*i^hRB;`ID%}s1N%J0vU;;`v$IeJ?myIv-4&%9z_*anGa zuIu&lG(F^Q>yPty-+VuO27|D6Qn8Q~@ECNu(+Zt$$Mec!R?nyVWsQG5gKAOkWaaYh zEH0#6%O&5@eXKv7Qn3|t0i#p|Y#&nH;wsTX#8A1i5c7E11-X)K;-{iSe@OzjLZn~{ z>vXoBI7#ZvW`$o)^NaKsbd@V-HHDHOD|$^S80O}IQ@VWhgBC~@j&;GZl;)w5HF6xl zVbLno5j++K%Hx=pH+^X~M_m2+$lQQ>d0Eq8*I-`{B&N z#AR}VguxcKOh9JQOyIWJq-`cHx_&y8A!x{BRE$&J zM#OYmr(YOmA~H}&ZOR7!l`N_mR2fb?0mO2IxF)WFW!j9GBp|J~MVk{45qZk4czX*A zB&?_N!C2*US4N$$rWyw($?RT(@K{E~Bc!Flxi0}WP0?ZqEqK@45sFp|iYzB=>VPty z-AG~17IeZ!Lo8L{Cx;0ufwgmHAN6$p5f!1zc!2_-ig=#Mjm|%%8$o`{y~?yoYA>ej zIQ#C|fM?3iT9vw~W|-e^HDerHOX%2LG(SIT2B2Epio8oIrNJy{vC33$5K%LpDrPhG zTBBICquZE?ZZWd6tGEfbJ=q<-jt6&4$?gt3|SJyY;P^k4>rvoe!vfyo6sp9m-hOL#z?7V_6G z-|RDR&j(N^;JA0z%bzXmNSu_D3h9&%^p$gx#>Vo(%5yL$nG+kz$zjXeQ>g|Wu?uc> zo9PBXEh6N#cI(qHACW>(yi5b`khpjR+WVb9`!|zgS6X((#a%mAaRmnt@Ipp zn&blXNwr)TbT^yb0v5K%6vi7kPUJK~E6A$Vc?AxrH|LMndg!=>aSvD@);r3M)iYm6}Gy zB!2>ZbW_b`RTIsAvJ#Ub*atSe0rnA_YlUzQC%K-R5d?Q_hqow5cOjWj>&&YEj@< z>aFCOAO8lME7W_LM{*^-~7E^cD-XhG%ldGns4}F(&4} zC(MzcmnMS~Ly9sE3k7|`IPtoRyH_uWkImg;kiy1kJK=pfJ`SsgV$0iB1Spr|E}0+YgNsw8cMq@{lLP?gaa+`}8**-*-P7M^JxG(*7n1M=!vHYHgtm#a_) z{mTH5a$qTe)CkxZJ`tBM+7Ze%4^M)dhr}Y}xZGPiR#YO$SwdXCc!%Gyyui|g3`EhD zO4iT+Vm$36?g`^nV$hgEIRpiIHHg|UOQ`3J7GXuo;mQrhq$!Q+0qCh7NQEbv(#kz* ze&j-+GEH5tVIDn?q%xY0R1hRXUjDOL3ts?BF%wRwepM1Tgca60Lyo|c?G@B1qJWY* ze?vQzYOMvd_7d7m1*=iM6M2~<+G*4)?NK$u`gj_NuuH$S3Ggi@XKlpBMy=&mP~YerJa%V92m z^^uuqgQlUNK-BpHc9(gUWK&vLWWj;iGB6wo0I`%yOeBUFttRI5Y@2vwsV^lmCQ>df zOa6}`epKY#YXU8Yn@w!BfSW=XHJZXBzHwKyJcKdTQWlCKkKjwFKP9JSA-=!MP%A9}%|-1Y`0 zpTh=2ZgfPnqtH7)tx(mAcldQ(xOQ~4A^q%86;Dx&~!;%9n)+rgK;@S)DSL&#RVC@>Db|C zogIE-NrBhYq(Cvs^q)5Rf_S_!DexKZ_WOerV7j@^ekByX9#Y_|(0@$|NGN(dZp@-)n@D&1~AO}qMB zUyZEu;+v0&>)$-ioW-xcP_Ic)uGh48h(!=&H~40NL&OkT9xMiz)_XFNNM?> z9JS8>mv|=1yJ(Av0X53lzMAQRpt|`qjT{I9jYee)U`Kowf8jCc|74qJ0DPfdm*8Hn z>nnKTYU=s|vVc@$MV}yHAd-4yngB&M=_eeBJ>V{h&sd-K59 zo3D($Ig*UEXY9@E$KJes?9IJnZ|)y^^T61fuZ+Dpl8&`!?9J=P-n@P6&Anr9?jL*e zz}TCwjJ-KxipFcQ{IAYP&huq>XH|Y{+Y(2S1^DI9s%AB&<+Tp+7B)eF7a1o?eX9gw zcX-B~)Y6=%O+ZZJY_*sfIV0r;$E_Lys^xAncak)TwbCRscZ9!O3-1WKYEil-Midb5Ni@XR>Cz1u8D@<4G?!i4eojwb7y5lWsKA(lieY9#UA!*&rYUUebNNk zZ*lFqv>5{peKiZ8;F_l6Se)R&Ik<2;iu7dOM**G*A(mYNo75Wxf3Y-&U1&>4U9Mct==pcR^bAYa;tDO760@oB6Gxy|a*OzRAet zJIXiN7G=V5<&m2mv=oGSLs5AlDgpAs8fMDaUCE{`y6q~^GEs;Gv!N>q!Te;_Ya6mN zk;U|xrP0a(zIQvx27s&?5?_>V3&?r$jbmD+O@1lmSsuGCB$W*o9Y+7kmHH(gW zDHUY|0IUM$&^vz?dvi5mK-|9rjOj>oEt?Y-5GdZlw}filQl4`_L7cP|EmU(2Y*XEJ>0k&p70i7l#6vh-E0;auWr}lK9QX!+}!XHb^fLf0WM5Vbc zYcW@5u+CxnZ=OvPu7KAmC|Cs>VU&et$a>J8@00Ubrz-KhMAXU>*GwS_L(lNDEEknI zVOP*lz20*&SiKrgsKnp`fm>{gMNtZF!hYj?#OA8ewuGkFsc>h7?HfRQ1HbIh%@x8R zfY8{XRvX!hP6vrp9wB?i1c_!)N#HHTZ=Ph>5w*tVyn1GFZzSbJIwXwx40 zJjQ~e2`4ljQ>+|nv4v2JViexVq=0chNd?R&BPg3&XNcPs5^ABL7$~RUi3aHT9NYpc=2Xm2;Y~iHm6@`z40-U>#6Y}!8S)2#Q5os8DaAVk3 z5$WSxB3KK^#@sc<0So0ovZZBV3*&lIJ9{g%B;*YB=JDdnXBJ)V1>wv}oM9gG@w_Rf z=3!BffnZlqn)<+M8plaRJyT%H`$JmWM2bWE`2@%qFe`e+XsHljW&u8wYk3c;tjG9r zy>viQSIov#v?7ocv5zDJP=Hr0P7MO!m>TH(L~nRf{Qw9khn3b4K7lZ{WUkO^KMQ97 zn3-TrUs){0Te=t?Btuph=&LvIC<9-E$@eM|%L~+d8e+Vo!HOFz+q%YJvarTtJ=w+) ze4}a1o@+H^Md&hs7PJ1Y5vo;hr!^b{La+O!V$$jGXsREQ3#MOt2YB z;<|xc3VojI%@yfA3YAKVIgi^4QBtQXg?C+X5~>SGo@(nNX@UT@+G2>q13SkNCR4O7 zrvlS~62&}2i+veC%z+idIOX3$B38V)3-qD? zSV);{0QCuXxEvBQ1s*O$>Ye4ko?`(*;50!#)GV>z)f#Xb?J`ZfFNt4+jmUb6v2YWG z*Hvp#$!f7K)@rQIesT$5+7MY(nzRa#C@onKl0-4lC~uAtlUzTUaJA^Qg1tFJ^aZU% z3|Ezzvcp!Yin58Uy`d_Hp9D6O;B;)lL@2?UbjiZ`in9nQX=}P(jkkyV-=^Xj&9m1Q zBPl*fS<>M7>HCsUKyV^xLU(f(=jaK&0@zG8ZlYHwwHF% z?FtJoA^@Qmzyp2)48b*UWKTxo)88`?ZXY3uB(CM{88ACt`vGR0j**G(5R*Nfn zAc`qBnp1bf#G*VwA4-y9p=^RDRp@~g2#lrKgAj+Rkj-HL2al_f+6lY0kufx2wu}OH z_8JP{Li{Rv0-VB7(6U&_5N z5sbe_yssCZqZL!!CY zf}~)!B5_4c#hb(!eFIS2i=!o0eT*A`D(2e&q{>kMd~Z#7DM3tv3be-SK1lNKPvdDt z|DmKxPavGOk*Lp%pUuM|BKjhT4WS(xB6xJ>%%z-!k!bv25JtwBP#_3Z48lkRPhf2j zM#`-o%ItD?mO)Bdb;Z*pj38bUMl$PK;;XF@zM58iH4S_<9q?7{UE;#1+7AOM18T8$ zk>XIn;Sxo|H!trCBU5J7NtewA?_Gf*k^_i2L)@Kemt-~_wrM$OV zp1PpZx@}HtmYvfBNo1S;9yqOWVS*w!t;OkFK?Emt59q8LV_Oj0!Y4VQtCd6(oz}90 zK=UD|HA`vXNdjeXTH~&r;It0hZK-aX)7pH&!X>A2TkF;YC*5g{)mU{~PHXwo7IIo6 z4AgDRN(gO|Mq#R7JsKX)r>kh6Jg{aME!1cFUvdY@HkTjlsX9{+kQC$J?q(3Ju=t zSvfb&EVno2p6)xX**qcmt4&%UK&8Ucd-?uc6>C34f3+rs7VuY}MP1Om9CuhY=W-EA znHU=OS8GcPoH`~5QukMP0jb+gXE{L)`==N5S36DD{ng&{5r4HqP3l11&tLObJ3&dl z^;Ti^+gykHiI5`ZBVi3YvT3D|2fd@_uNH|85(xuwyBhyPAyY~|QnMk5W|)@rSHmlo z;jgw9n^FWL?)$5)F@0CGr0E2I^>896#p1ZAEHgD3c{MD`EJSvjrA~jt%hHVvP zPV`rYO}tG>82GDahyB$n%||O;BeN36{nfL5e>HA>`3!N1zlXi6ZfX?=gSXOn+5Y$l-`k0}3Y@T0SX$*{kAfTUns%?S>VlY?TQK1hG1vJ2mb06)&c1C zxcRHuN)Os!w!hlp=c<2%vL*`#aai}N)&13H;;(L2{%U*3e+E7hdAKKQzN+YdyRHw< z1a0{TVzvB+5G}tUGRtoW$nqQFu>6MbE59M?%5Mm^@*85T{D#mfzagT^ZwRFFo4cwT z!lwKU(Ncaxkd)sL8|62IMEMPoP=0eH4L5gHH?Oa5h;s5Y_f|K=G=*}i8zPu^li%)# z+?mPX?jBcjB3;lenOOsxu~weHS&F6(VZo(>I@h=EkQrj;5*>OEXUF5#jXuD zd1ltikhf}LDb=y4=GC$9^uA#2!aMV92_cC@kQ$_AKQw7@7MC|EQG0w+!F>}{P9k`; z+S4zDQ`UO)&3!{m0e~6u4cUBwu*%X$j|OoK*~5^n1gy{?sQ+M;(LkI=llrGGe@~OPqc)@=KSPh4-+P~r)Gc7Z)^*EoybEj z+KT&IM(FUIpG~({9%KvT>`sS;D(vTm4QW|C)Q2vFIlp?hL$OPBdobrma7pMkZe`+$ zN_?1MyBGPHZK@Mb!uUd!X$$1ibe#e~WuhRX7^DWY30f!Iga*Pvi1LpWa)i zSv~nQx|-x;`fwc=jumFha@$L&dmh(M@Z2j>^YmLMS{_;&=KfAuYVJ?okjZm@ZDy10 z1UvI!vF6GqagKWKFF4@Bf)!hOk@!qP3IH0(R-W* z)EwK~_{?AKGk>;~x2DdjnLolFb%qL~=5tt@K(RN2nLjml88d$YdDj)WrT~lS&g-CQ zsG8Y4k;8-qC}G)-CL)>8JCDl(6MEX5eq=&#umEMPQ_C_Z^uhuZgOk_0#Drc*X>*{O z&@(h>`abNw0OgcwdaPqO$8?<8BWyy9iPnMjh)4N^o{?i%fD#g^Jm$lMw6a~4@)#%d z-~vKcl?$}QrEI#&8tl_SJ)h50+_B9-GUw>ETU%hMG??fZGHRAivrU5rhl5EQVd~Kv zd>rQUh8nC;9b0}9rt^#ln7I?SR?AP0dOFVvsVzUrZAPStV^gzvw)*7pzWSt9h;q7f zOqe8mZWWJTY&LJsXS>WfNj9gm;n_S}htS^Hv)Me&U-!-zo9);n_V8@p`Ft(f+8_Qj zcu_T*cUI96m(OhCp)A5|o+1^7X7jA*+0jx5vw56sth~1Rt`WG^5;0`?Gmwkoftq zi_YeGwn?*jD#2EtC=`OA0!~x3)h7hlT-Kkh^wlT4vehSCH>hK6tvHQF=F=}{$9;j2uRTGYY3+$hSY+)9`kp0#rTQwnF5;89{J7iF*uh1nk8bTr zP<>ekV2Z|sxxAG=wGSV$V0CLX0m1#`CvNRYsLJ6dS+37CB?Q-Lxi+DSO-eVk zQMjh=VYU{kI2J5zr$X3rZ|noH=`eOd6Egk1TBzyN4Ph&N7p;pO04$4}Ei8?gV77!} zm+H2eEoKdHj+sFMLrTg3>+^%zf*B!&KoOcUTTI3(JOkEe>+2P*4Nx^^M765h(g7OF z3stO^OV!L4*7K`$!juQ=>#c4P{q@`gwV@uk-PVVnk@y=9|^S_vqcul znAxHrMNmri3dP7wk=b%KS2ic@K8~x*mUD}AV772lipGFNLYiG|E@igBeFkRBs=-4W zH3Cc)qy;5n9c6RZ*4YyRt&qjmP77JI!(u0{vkzx3*3FjGRVGelsmzv^ud|=7><09k zRUM{iT88u8K!Zb(L_H ziwX+GhgJ4&W68X+wEda}QHz6B_5p*>E2hnM$z{9fFb`}O(ZmGX#e%?6i$bIoQX8!y zT!$9VH;c2!ZI^Q)EZ4Qpc9IdxsV|-%euip&@w`*5!;p%o*KHRz!mxTR7z`-xN@!r2N2Gk1K zE~>8kcvJfs1`$)=c40Ytuw4u{sK-#PBD^_68DC{VHn&~GtVtLm5i8rpR?ZJ>m$kNG z#A3EfwQ~NfVy%y{?EF&phawSWy9}+Ix1v{!mTI<(^bKqx%e$!UQmvft+b%$tygjp2 zmW)I^X4}Qr`;Xc#&EZHyTMZFx7xtS8wu`zJY?p>cQ@Ci@P_3NzY_eV8)#7x@VUsS8 z6x$_4NKTL0E`1~g+iC_83=-TOi9{T-1>J$N1UyX%9fPNke^GdPwi-N@;}HqZ3ARhi z;t*R%f?&ItmQasFG)~#KU65zXuw794fB|aAnC${en(czVcr@$g`?iZ~8%x_R*6N35 zyPUGjIK)uZz;>A}mT9}RsyIa1F0K62XC`w#<+65Y$|Z=SwI_a!mG+W0Kc>yMeABG4 z(oWuEh6~n;6hQD8b@Q8jjTO63cMCUKmf9GMz}T*gmZ$l?VAw9&7Hm$lC}y!qJhY#c!)$pdBC878fGFpkQWsg!(9l(EdG_$qE6NSl4%-A# zk)rGuS>u4KWm3TwAagE!yNqpQ5M^6ZhZ z%ByZ#nf8-B#AzWbq&6)ySU@wdt>)aeVj>7U?4B>2M_F$bbHTO}B?(i8Y^(E^o)^+I ztac?Etn#`58exAz&4muzRu}MQuq#RZ+K1&XdBE7nF90ZDzCw= zWG8l&*V_8bkUiv|?^{=o9k;HU#bbx8tKn^z%O$*_WggcLHyKJ$oQh7X@ZEV}+ zVe9H)*>)MX(6Mj3ykNJ7w_Wyb+q4inV1#KQ-+IKRg=AfsjIB=#u?s>_zHmU9btU)i zGN*;Y>{aGIZkuEa+b$1H3t8|Q#Y&zX!wwem{7=}y!p!}FANr^w*@(iCR0SYXjFSx^ zl1ga_vJWEax zVG|D~h{iTzwh5vz*ExBDsJ+w#(eOshVOGTa(o1c`{E*i0Xw#su5rpB-B#p3b${K27 z2&gjm>SE6JQH_u-KoeBHw*0f9zV4i}r>cHE+9F4H@w)Zu{N#1sw+B5$k zZ6DvK_GrEB4|Si~CD>jJq1Df;PCTA$Tp! z*f})rYPf>^5Y9q0`NZnL)v(A0=ra2WC^(M`t(J+mz#J}{p;yv?yF!F>UcahyT)s&R zFJlhZMQjCs)oYu5;p#BX;TsfV*7fIb>mwy$Z0x$>Q@N8jKo8rq;D=*MwAuiDf$hY@ z+Bq-J*UlaN94;Jq85_!&_)0AdVRQp@)E^B66Q{J;HuHtHrZ4%d7 zoKD&Rod})dz4P-3hZ>o`3LHvy{L#%{DaUbHgmt_*6gC!f;Ze>Wtv;?umt))h84Xg? zSVE3PLhw*hEy2RmSZob=G}BmBJW~jonJ|qN!eXirJfq2nHjQ;+w|{;thE{+3XM4zB z7mse*kU1lZbipxhyj*~-Hf_+M^F`v@Hl*c8fBKz&BblRZ8`v3h(zXq$wwqU3#=2EZ zufA;qQwqCPA|vd(H)w;+kSEGtnQ#m=8Zd!gVIxUt&f#diokgsD%-Hu8-HZl5Bhp@$ zfrE~0Pr>Y6V$nvu2K%uVX!S`MU0H2`!MoIL#!V=7u=#m{r4kj6(oL`$3@P!meApyP zPg)wK5P4K^nxnlov!G{MD@;&G4)nLj06HcGqtJhy!+{kM$w5zZ03AD5XfsHQ2ds81 z#zo$+c%EwO4wgvecctkxQ;*plY}=hx=5caCl66;>6hsB{gpJXUjDRzuA^(vO#$qK+ z{-^Xz8%BqNYkq#BGB9QL+YFd+Lj;$i6La7|z#4&%I#fo%CTcs>0H_W>E4!nZx`3fv zS)}iHRngRK=T$7bvUit6Mf%n|-qnBqV|jO#aR^Q;KMiIax}vZ1qZ0AQtA1TeHs;+}5;TgAFsC{@^k zmR-nIq`3z)o>l=H?^=68$(=7E1ca}kVoXeG&l-SeaE@isxmIQ10i>|DLlZVqY69&Q zUUXRwrwja07j|?WX_W8h@9|rQ$vPYuk9*Ug`44&=cOnI7k9R6E|R&X#FDmF6+fs7^ffG2Be^joslkv zsx8yUwpyyPmiI1HJwv8;XfT(k-Wm~lZu{H9%LIqWC528L$lu^F((6WeZK&q((&|t^ z1?&4}0F{J+0&)kK$s$&*fX%-xjzOf(uR}BCt8L9;RIUSed|{_ukjs7onO)X6E*1IT z$8jngyg%fE`x}Wss*Y6EU@QyYOr0`(bJ8BhHwM@7jniSl9wn~uO~QOJe2bQaZ%b4! zNX@`rJAWs=frmLB#6)1IA{@|Fj1wOWEtB>E?QqyZ8Rw^jguE&b`>Ra`a#36Q#ArZw)ZE$4oXvM5AUTUz;E{xWd1VtXn zXe^DPze8OPm9MRp1j$(uDb@`V&>iX6m3F9$Ei1_X zEKZt-(>s+SzzvpWqD=^|HB(b}_e_58~9j>g;v53d-qS>-pj8WK#E>cYcb6MK^{@&sGv`a~05uIdLk3N?71^(T0!@7xf z0e0e#+gX0~l+K&NK^hT0`=TkIsREp#4ERqbd4dj$N-<$SYE20YHM`%SP?PYdYOLeV zW!+4plS)cOs)WkyN?Rq@0uCi+vnose*Gb$E*E({le}CpgQE0V*REE#@L2NMskmjs6 zp(h{vQSu;Is);KJIE6fUcIgTxh9sbo*rtt3^f8untS^}-Hpd9F(l%7MYzG(8QTc#v z9Zicnp~bAmw+ul_FUd9Od@q;*Mo>cS9_XqOgcZ?=1x36u%CCWqVwA7S5}6OEt1XO& z&JK)1O6j~uWf!e=ST$l%fwvhaf_dSgG9U%9WfI9WJ9j>5r%85=05NxVjwHgfM0loc zh=ph9u0z6o097#1p=x@Nv9{4c4po{Cr>G$sC|;qKikY^IeZVJJh$5Q9ThL8?$(|sxoGWJT-T|ed4B|(+B)(ldL2{$w= zYiYbv*0FpQf!#Q8`{*(q#D5@ZaTno-*3v<2s6UYR41x zyK!h;v69yul*!v->T-&qI?m|(Bv3X8+IhQ<)Eb5z^?196)zXTk_(>$jQ>F*_hEoKd@`^ap5LJJ)Y|VVR z=HQBqjg!(WFIOAHJO3DSR&2S(AAUap6y-X5;Eb=|mnrf7vo!`N!51Z3g$Wm3TO^l8 z{JR))KFQ0qL&@*8qdGk~-GPkg6F{So{B7Zwpx|qPXGj@$f1)W*?ov!k0U6K8``Atv zhGY+N#KAb6*@k0h0S(@ezPrWTpnk6AuoFirn>ld?2P4&-im9B6cnSLDnA--u&JU?e zMh~M=@P)f=bcmut|KSagNv+Wd9q zWkzW%@u%Jj9O!Ht;UJn4OXDVgdji^v6Nl)ZyJk2UxSkBWJ)hi73 zZHk4i8*0XIr68iYC2kDc1(_I(Vec7qsHRw3pP7HBZ;AZ=pj<*XlBM(oXepUoCh1FyV4_Xa2utk*OuComUnXOtj*GJn&S;X zqn?%p+?JMT*Q3+Kqj!_WQKQPQ+PG*}lAyQ=o(1 zG)*%LZ!6yS-t6sWymP)CVvI7>)L@)rp(^dH>N8=fvWlr)JsGs7gQ=|EY$)xHqIr*( zMelX~wzck_E<4}ZVQI50j9+p4_s}F_qr^S`fA-!#*pl?D?>pUne%yQe-aBXJ&X2ph zvpaoSv#XIa!2Yoj0?TN6(XM8N5K64LWS0_Dg{qv)tcYf`qNvKu&O#_Gmn91Ct_T() z2trsvRv?7z2&}S1MR8Fv<&*R^p)QI5g$0G zb>o-7u>uZA?fh>5eGq=n$M-Jp#z&Ci*ULCj5^S@f&A^<E-QkojiVJ-Qo;m>DC2 zE-WcM6P~eD>`f5r^J50#rbH5xvdo9YXg{iKuzOffXjD2g6m0qPMUO2rE&fK2Ei>6L zHQEJu0Dm4bBf5Mh-O2=XZqGb^+vO z>%&1FH>+#in}0L9Y(W4s$hmt-M}rjIM~_P|)9%vsAIPSZ?2L_AkMv@+qZunER-;*% z`GT#BjS|t5xP@-|5Th19NYWiU?!~y}EW@!wTLIem}z-~qW{GY)X{2zvsa8E;4RYVx&Yn1Tf zt;__U*)AO#4qh+2zHZdNS(K&yKT<@1g``-7RooQ!kFT|pERt!(WUqVb(z(%Sp_Q2+ zWdXeL{cG3SaefTpBA!6FXvTU1e70dRNVwJryi^cG`E*k}eVuOPBbxn{5PlQSVoORB5MNl4g@o2V7_1>xPa{RGt**At_fHG6khmY@TB0&5xDP& zjW&w3G5UuPFN`FY=ilOhH6aAY3v==>y9D~vA_OL#d=m-4ITU((AQVyN2ho7Cgi>^% zZhBLbf>7S*Zp7h_+N_jWK%A6;A{Yo`V|P(!j$t8QC`4sJYK$XyHraY1X0RxVXK2?I zcx1ko;yipRd&EPagZOdA?)aJYi%ejhsmRW4wxxL}90N&6UxFSbS^rVtxPvvR7mD9$lsFdNOwlaW z8+my%2}3|@e0ecH5K7!6uN{R5U{Az?+3OMfa+Eqs0B*6JXQA*U&z5N_h*2Lu;^b4MTFNh%~%piaF1s>#Ao^6mC4?!xB38>hWSC(&Cj_va=@Yp_no3NwM z2wokR3vqcvT;3FyH*;|e)&VHi!|^LG@L0dF9BUfnYZ;at{Rd0^;zK7^dV8Vw?C-d{qWikuvp;$= z_Qj!t{1e=>zmdlFr(w@NX6|G9a#MTu6FmRb?b(yip^m5u! zQZSw@Mu;fjLqM zat|mlq>;a%S{y?l0|Fd8v98NWz9BuI;v1J;q(5%n#)WSP*bAhraIusZstZ*1lh!D3 zaRCcYRd8>FSuaZiwB|%^Cw;E}!!3Y}NQQ}OxMAQxh4E&NHo_?V>vY@mu zcHST;YiS+w*ld00R^ghGpxst_FTXyD(>2CvHF@i`nt{!k8o^quo-fq;(YHD3kyuc} zOS?dIxnepd0>hP8EDwGEkQFfRks1k^%5tRR@5D53js}+-n{J5YovS6^!@DhcG2APXwzJ4Uf#5iUSBk%GcI`IdUH45uPyFCq4_}BBy@IZ zT{4P|h#+-yhVxJwDs$bjxNDPo0)=hDBWwxtO%x~G({+9Ss5yO|c23`aL+-xQi#v4d z&g+XaT<%hjcj}i%n>#1X8L~*@%UzSEsjoG6XavW2?XIU-y*r-*=}tcd_T2GQ_Za__ zip)Y;*9sF8BRYe9Lk5(oZ7`>sJMO>pJ@?Q4%l3{NdX0f{EhvwxtKK>I)ycm8?ss>1 zr4D@u6G3!$i+$DgzdR;eOLl)PHJjB>@*~*&P>%}2879-&+WLkJ_A)a}2)$?(nrS!b z>)GVQc__+30T4-BX2WSWDk|0_`y)6CaYcCMgPP{#@lk|@m4)1rh}C1l@4 z=u-g5GxnlDkulqle)+3msqZ`_RO4jsNI$d?Bb6}94`}~a4uA-Q`3o^C{D>cU@y+TR zi@a7);}^|ZeN&Ow>cuoGHelLU#Fo8i){0rBef46R75p)X1)|xDW~pA3lOhT97h|bj zO!)WjRilr-_z>_ajXBK{rT4ka z5*=AVCiR=bkrQ^ym>Tm~(cx;2{+x@sOV2 zg75F7wtjV?IV!hfq8-|}aTb9-?ecjx|M3!NM?T+W^jG$ybUQ3JRsHmWa>G$|pi;b} zTx?R!Uyoe~vT+%^7R#c?D>?k0ZtlF+CG6Z@nxaeq0_($#>cMuR8x?O=3zi9(#FCsQ(@5~)2P^=O zXmQ7zs-Q5*PtcsEq*uZ5!4qrw3EI>XBmJrs@%z*KtKz+UTO*Vko0gQxz$o;oMysEw zZO;prwASH{2vI0NVAU@X7PI}JHU1Qbi*_m0tg7fbS&uXf*^^p^q({?o`WC(W)~Io5 zI#O43HfS?aB!D2L)rR9`qnwC`ilH3qEpRqK>8U}-qEGbGDhAS@w9KhbW(o{us&D5 zn*AS4kI1LN=X(dAGh6LO=BM>}cqi*`{&}NgmjwG%JPW_z*yzG1!9J|(k5r_YR&q@A zd0+PWJLKDOLC)FU6i3~HRVotM0}@wN;I|@!v<(%WF4@Jnm7ek0X}UT81z1?SCMPHU zPWTgJ;dbn---O~2?C5~+3e)mWva8-zUp*1clRd$o_GeS})k@p=NF}n(r z)JSICjdxwCqvA;^6e1Sa809clZ!G(lvF^ywI%DV;d~`O^CVDke2UtnT4NS&#RW^@O9OGJ%_j zvMM8A(u!LqZ-EN4`a=iU&V34D+h9OsQ1od|! zUPe?s-uKFi=K-t)25Bf7$ke`)J}^j5740xPP=+1SW!-g3otsN)8C+ z)zi+k5EyiI9lF|7a0`1OL|m1j3;O*Z>*bLf+u3_bxm*3B^#a%oh!{82GWjZ#D+@h} zz0z4Z+eFKPza?iFxd=%|3;j?VoBw)EP3db$TS=9on327ARweVJ8C!*+Yt3_0tj#r~Sh3a=vaEt9^sdG-%hDyE&3! z#NG)X+o~`3xpWiWU3cRkJuMbK(CEe&sFA)A^rzX((rkF+z}fKo>TG77&DgU+{lft* zeelHf_O|A>MaW+-)+zgjy|mhjz7vF;5+#I?nL>RJl!1g-MjK#x$BPOt`jYbfAM$i zs{NBUuH)I?d9*pj_uH4>uR$nw>7{?*T66Nz_SF3&9>2eN&r|qMcb?iVacAKXT`%56(iN$fJp78srX6LbH=i2?nd(sg8 zlBBO@r@8A`%UqSd_Rl_kDGv2{%SfHIB zpENu5HAaSTdYv(y@!b=?%M`@{pob@Ke4F>d&bO)hPvUv(2iFK-Gj1||ZLx)zq=`6} z;t|sr5&aPuL<4CD@!k6^^9=1U@4rh4(fi$2zjs=0F6(TBqO4rwP>CYXI0Z38fV%Zr zyw8$J#dRHKyxvWq2W%>ouJJ=6>S!C^aTV?WSJakUQ=6$)r6L;IR1Uwe#H57elvex@ za`}2Ub!*+3OWoV9v@V}GQQ!r-DNO<%hfmk@ztDtd9=;T%bj3DU2XCYaQcqqg(Zvc? zg|*W9nYBpb(eI{X^Is!EnLC0{yG|2&)KT~A7O=V-UBl$QuU(g*HHfEe)~~2wG%FT* zp;SL2$~EU4rH}DkEIkd)T-G2-)JgYcju9ExeHKp_7l7kpwyhh4LFiI|2_e-Vd5ZUr zXiI=5yxh;$&3Oo#Ma@c$MQmgJro@*t0#eB>dygCR3Ist1fTOvU61NI-who6dx+)S- zGkwJKgojvnb+NSqUI`MQ^$Lt5VCO*Zu|Ow@q)%zkPnZQgN<&iTG-)yniA9j`aS7FuS=08#zs%ee}xmVl$Gx6yURWp%{I3#|6T|pm92|1EJG8gaht) zhU%@t3PqhMVNbL{3}T>`iN-;!B|JyEV#upEsg}_zG>!yay>*aU7AFuNsFrOc*>aCs zwjs3)CW0(&eN6V&r9P%S4D>Oo!glCm$0WaiSbOy`G7gxQW-j6_ee9#i!`z|_%!)F0 zf*);3B9Kqy-Fygam2$Kdyhrd!ikMGVkfPITUEA~#M<@5UrV-q>Ek$g5uOepFe1IZ$ zGV!^stdh}*c($lC9}iK)bmBy>h)IQ#BBq-wNiXOWj8g0zBSctRR~512vTWsrIzR(M zn&I`dT()fe{026fE!7cLB?)JTyXcOS*btcM3Ec$?NCXmE`sc)FC5@4UfP?N|yizrlD@ZtszPmTXclp#_w#F(7fnVzpXvY;9|KxMm#9O zT{C;Q*S|j2?l!01s=L4@KZZU4lONu={jH&dp=q?Z4n7dC3Nk_tsx=+i{shMXJ zC@@0qmYc-loGcd#&*qWC17?!|=@>=r2nmE_9tcDOHJRu!)_dSzDg=5qAxbVff_^QtV}Z1Sg_KY;?l zSIhzYX}6z1k>D%muk)up@&v@B*26q^OrORLkL>8vTEnk%bb;efe*1`j9%px+c=BygliA|A}z!E!_{67q3#<`j{SWjx8VG@#Ay;o_v41{iM3sM)brz)bI`cef}iM z%?W?m<}WSew;$I#e{}`who-e!m1*b+Ntr zo*b=fX?FMFd#+iE4ZUDxj|LV%6z4jOvf&`YS%l*faJo^HS=DCWu`n8CWM?pzDYKoq`RqK0WAiWF8!(^wS+ zu;5!s@C8{U_{LKj?4ktyD!E5Fkda5jb+A|5ok}MMXPUj@uGltj*>xbKvbc-AM23|# zs5Bt@jE!*6fH)V#kG)VMI&d&5O8a#)n9u!*4Q3b!LX9md4@e8clhY%bkrCpV^bg!E z;nTtTkQ9``qf6HiH3g)lfO4|QXT;`41chK~z%=%>PE%-;szPe};JHv)csd1!$h@*Y zy}fdJyI)iB6XCE^-1|H3xcadHmMdN44r4vnS{1PFyx+H{$=A z?Vqe;PVL!hDkMf~-^xa1p%M*DV_!!~q?zinTjIx<0VZT|9p>yJAzO&CGtEHn?opKb zZb&y0A>f^LMa|o5v!agSPs2-=Iy%@s3KnKQjQR<%~3Eqt5|?7euBPY8;@JpYli+3ogZji&l^X>Ubyxb*GH`ybrV2H&|+OxHA5!D;d)Mnj?%%(EWM|>Z#atHEicgsEkRy4w7xv} zy5{bylF`o^GFTH96Nx^X&C8Z!1KJnBmi|Y#>N{$II3~8Mes>RkUrBA?jyH9+AY2YF zEHb|Kuhzgu|8CSQym=top+13FtPy)kNGB$TVL&2a+>p8mb}iU-QAeCr#3L$%6Zo_` zvivj?%nji6iA`eXWN=|ry)uS`IFW?tNK8Dw8M}|urihlz5{yC~L%q3l*t_{;-0|Ww zCYDTI53bm*bRq%kvoe>1M&HkmpxK4H)pR^^hr;M|9vU>cIo?#7%Ua9@RMeQNmDyP5 zyz)Sw(hAuW#jI#@19+?CT)-Z$OoBVM7cIet%@IxY4gs!}++VDKAkI}vzYk|li%RL$ zVo@M3eOg=cp;b^aWT4}~icQhI2to)jH=FdGPRmW4feq&)UN^;Zh&5deu`tUyz_O>H zRV^Dw6U8S3s{fcRdo-?rD9Ur{D6`9S;Qn&h88$unjrN39sN3K#Ja4FKi^%zZ1F7U; zg92*_OOt^TpZ-(;1(uY-qE8CG>&=~73Zav3u9!Oy1rXRK^gYs?5lAy5++*)NvJ!Cu z-rW&9`vg%>`oiV~$xhI*PhP}>toZz0D1$3!o!BGYH79I!-{P-?%d_o>r`L6AgbiFp z<1<5Lgi#q~9C@q4p>=8^ZB-yM-b6&a#Wy$8n@GvG_~yumFf}KU=kGxJUzc2R^G(Ei z^}pFFcI82XHy#!Z=Dh5Xb76^+sTCMAwLZX&1N4DsiUyNhg!IsRN02aD!iOuJ7~|Sk zAr@J3Is&1OuNEe&F3E}rt8z3T*vOcQV3Q@s0Vj(%sMf(*Now~_Pr+F$w-S}P$>1!y zM2Nyozap$^7rO%?{7_hxnZUwoj7XF${1yFP5oOU{(U_iTuNVlTVIn1P4E?peH&*uc5#e|)niW#+E(2K+C1Jc`#fx=|lXmai#!4Yh3eG@1iIWP- z2kP0&)11^dq$Vxx9Z4WuM_z`eF(nN5YYYIxbaRKec5P@77JzJkTnu-o!0E(n6VvEu zfu3l7wi8s57TReDj8h4Wli1osfan)&#i^TgArz;+Xpsem!yan_F);XbzzAu`A9TCLf7CR`>a`( z3H|Lv{uV#>@}mXDA?F;lmT(-_C>Kj^oR9ki4Iu|4bs_Dd8qTYd=$Yp=0Q2%@JkDE^ z{$NRx{-pOB7O`Jh5=nnvK-`+FWz4u@#u7!CF(xLdn$5_Pf~6C7zFw0cV4#2;N!CrFP+-so@3T0T0%qDf@`SXKWdu{H?EltKpgyp=6V<;NP#O$9;7$I-;s!eSF-b9jZ(m2^r2M&RKW>3EV&hqE{ zR>}5RiU@L>j5K3_gk9U8c2>b9g)2t;!hiGh}E6SILqiD#R_@e z&j44P;-1X1AY_)4*S%>DVt{)JLM8&V&nZsN2QWb4=(90Ejp$YwU@i!`cO=ao2KXu$ z4u>^B5*5-5**4RYVCPgcn8YEW<4QDRHbj)KY_cOn{Z{N()63aoI|WyJgbUC9L}@V<0^s_TQ%?4c{8~v)jV5r)l6$Ik$1mzBYH-2xa~(q;zZ)4MXiav$^9ykU%8dC@G_B4s$S}Q zAHJr(#03}v;Ahqe@+(AsAgO701fojo>?JjEGZA^+T#?iO;E>4oLjX}la*%&|KqMfyUe$dgWFE&|F+_PX8-hupeEn@VW;;(uJRI0A;mr?-~sO z)LUhD%%St zKnsc5HP9S$+}A*JxwF0on(L$8hD8-Fg3!JoMkkwc5#40#QOpbT%E3Gf@-!CEIAvvu zNtvJx3zreYU@GMYc}r1lB1v4Z@d5C76S<}TCTpVPrfAIcec0k8z0W9QC!|4tLJnPE z=r&`!gXMrgb4f`Y-V|ECjJxfqFLI_4vG;i;FB^#zd|QpcS^kJE7TZ4_JYR09beIRX zAF+g(8r){aEe4nBnpL+vIOlYX_M~>8l|cxia^48JTw<|r@R?^Lc>^b>G8sng-6~|Z ztZUX@Uz}~4sB6|z$ZSy8tf7`!u4~5UbInt;U1;uHoK{^k6*S{= zMm-KonKfskuGyJMv!JfoX^lX2&CWapo>SbcP;s*{#myZ1lIof{3l1yKzPe_2QcW%D znw_SO*_ixnT?|OPvvk+qT3>bjk1C&0&T=DYm{d7ZhOoW| z75#%;)8;xGlr9UOi8ovJ?jUvKEsVrNJG?YBe2;ASju-j)!mU)|s9PbSywf5oL<^NT z_z*vyp%jNlP^^rg@CbMjRi1dMas*rJ>$Gx26rqPMdpW!H%R5{}2+J8>8`=#;#2s``B1N^$OsJan*kQnBbjFgwk13VAq z0Y2TA2hdUVgYp1`&5D!C4klw>Rx6#LVndqLK}WSrqO7>JOrAqS#HNOqg4ZPcqG>5G zI4gTtw|FrWK%U^|vyp;DRJ`;@mpkW$Y05WAQ3^DK%Zpdj?U{=Jpc}dffGSnpD;Fe( zrYbvy6YG&}Nuj-n6I%m~{)n?YxCnqu`P&ftJ_+TkECN6trfr-yL&!(iE5K+f2WpDU ze{^^e0CM%DHl`u~1oZHxvniHQ&ZL1qFeD*MyE(m zQGh2KIChZCB&hNUtE0?@zV{hn3f}g!Iqf-)$N|q+C4jG0+Vk_#{c{o@Udn`h-ZNqU z$Col;2j0Gjog=mhqt1GB>zT0c+u)?`%|kO`ZRjRYe?`!+fm;WiSkRbB(8$GzENI{z zkf4FI04bB8G3#lDgaIB-f(EWd<-6)JSdU$kA!txZGz%KMoa2ybky@VVhlw&?71m3} zt6~(9Fce{mixMvht>Ldwtsw#yvY3I-Ce<3E*NZ@ll2+N+{4xBSipeJ9H9!Bc_E>XN z8LxtEYU5*s(~#dXym4|R%%Ts+<&!ST3#;b*n{VC;wQj!8c!lss z^F>VIxinvB^o5dGmC33USMuDI$*OeLcIOG4`FthAKpC&cmD9SRhk0&WpQx6oj8{Ib zHT-&1}>cyc$rO~&h~KI3)UohhjsJbD6&m*m)^N^w2WoP2`R4ZfaK0_;)R zAU>}^-&Mw|Y`g3tWZpjGbztdr#w#v1Exd-%ZY{H0$#~r&D0EhjG{s2rlL|9TQq^DG)V~C_a{z z(<%{xHj()Ux(+QrINQwmavOO!)RF3<#BcH`2-Mfq}0_{WEfyOk6pLOg%IkUen| z?!jfQ^a`8`HC!Y;xgp1|YSvLZ6J;2Ww8u`Ki(-2>;4w6_cG)fI=YwWIErvs9(04;H zbb`}{^5q6_f;r{9!u8w{_ihnXeMiJ=_Z?wrd)_;e%^Gk@8||z_I08%IuS8&_5|ne` ztYA;^?BHs!V7r*t`hblbfwjg4O)-u6*1EGG+FXctJpwk8B&3e{NnwkG9fy&an5Fg9 zWeT8dDJRr-4$9?m037;DA;=n$8i)XqKCs1k3fwji9F~a$J9xQ|%+N@ZOa}G17hc5W zzC|1Pa+I7?nx`*4x@{^tf)d&yN?tKAik|vdH|NW-Pk>rGQM{W;^Cs$f+A|U$;PEL2 z?oQW3FqI@X11^E)^UH-VqqGxQ8dnn|pZ*be=8q<`iMfuBsipkbH*qrS=T2 z%*8oa;2AN!#Vc5wGdy{9akMKI$5=#O$q^V1Han(dx^0k2o^qlD6a++G6Z3<=s(v#+ z4E?jq#3W@s$UB?YzC96<($Iigu1(IVVyBc3b5-9co@QP=3)NU2cE@` z>-opaLMD~5L3}Dc4Bf_M%>)$aZ%I@KDTMutElQ?c$V*iE6nKM*pD^Q);M3EoJ zkj(<3Gsm2`wrnIN-u0S;67PuqicS-dRx4Xs?PN5fJ zvQ}0Ip%9zM;j1ZcNe-VQwhr4WM7iZnl?kcH9HW4ciiNNdGT`@x)-y;<)a39P2{Aq^ zDv<1RrOiz!mN}TxL6cZX<#X?vkteXI*%8~&5Fxi_MIr?{VY3!fs$x?03Z~Y^)L|;0 z$1__f=8#?B6iW0%g?&nof%|J2QgnXg@x6SR$Cu_!XtlB?56k28MqnSOBh}GMd;Z8| z#0r=2gF4?vQxV*${76Yc0(FYuU%53^Oc&3l2>#VPKC?n+Oagi#Sn4Y;9TcQrwF7t{ zd`|<3JU(R{UuNyxpMuDBgRssTUY`Rx2OK!~o}xuo^Y^G;#aM*B&jgGWx!~r3vAzn7 z1LT6Q9vHC53=VxVI5;^TTWNqqIGsSUJW&2nz@+@WsyQoAX2$H?Ub$Fi;=xU25pQwC zITH$sb>(Q-U=xVB<2=3wez*hP?l1snhjXNXglO@JeL}RE$54pQ z!Ow}9^do7ehve~*zCeu$p)S<{by?=|9TkqR=JDNzh3DDw_>`T8cpFjD5Gq4GRcll_ zACMrU&Rq8tR|H~?9f7DVPA4&UC7*8#d_|UTPCr9FpVIRz-NM40&~*%^Ih0yc0y<48 zV^LCTwjaXLeXf?}shwaQ+d&AIse7Wh0?nPu_uF=1Mp))umc1K}wcV-H6Zt`k0FW*b zPY$HkNfs*eb4~?hRCh{FrNEjlbgRow!^{)MNrh2h2K1HN@V8zLmeh)#mw&X>ns6X0 z0W4d~S$!0lV^V{vEBizbt3C)H5KjqNgPE+P^&JfDkSq7W`tb_HLf3OWFg@iDFc;;U}1O&yeBJ+nEPyp$cd!sJrcU?tPcEGGy$sXb+?@q#uR7u+&V5Y!Ja zInFjzcFis&TlO+J>>SPs+{YSHOSwVTeo z;^7L7ADELfON^@8y(BE&e_)b|M;xt5~r5)>9-26>`VcH9{%;epZR!1d%2LS&L z534xKLOt6SUhpd~tXXd?l%ylyXlSYonr1OHSTF6%%~Hjem%_`ahnb7RiFuq>8Lh$# zRz{mov(s1)?4C9>4(S`u(!KN!W>bH;P{mwNmG0A2m3o9K8SpP&(R&jVte|p{+!yj*q zzhQK?TYIGYV;>($F;a|4f~t?9oBl^ElGd-8#sRN5dZ@@<_<&a-90=dyHHRalqaW~1 zV$D$OO4WUsBcmjvk?us;h>*q~^u&Dr;R1~1rDjzB<+5aK!@)e}6K0o#@ktevelU|5 z42?FEelQpxcG-J&WE(Jlt*n0|ZQCi~zODp3B`a4EG}-OJ=*r7+M3GQy6PR!rvs=dZ z-;htqm$ecobdN?&Im}dg1X%0kh$A5q$C$~@?vF=Tj#eW)HGobB?TASc=^J3y_3o?l z-$p;vJ}O+%PTR8Xc10wx=m|zX*^nf^SCn>a`O}(QvPJim+r2|+*;f`pKxX2)aHyv9j z!zWtTjDO8{KhXHYr{4B}Za?0R8QSPIeA9;67^&3BKl`vF>5Oyg7W z1pD0&zioWM*ZkwBU(*y%C?qAi;9bvr^r^=gUE#MMr|x@v$hSWAI3@+i!}M`&O*I9P zSro5jSp4&)PfhZt*VI`1$2oXrbm3>(S^nu$A6l%Z&udhP{b?!I-vfo244+=hPrv3v zk_iVt{q_GDA%$6wQ|{WM;ijqe#>(=oOi?HVY;X9@tVx3fCk zp4C6|cbH!JLSdt`kisYL6wR|Ja6T^gYRs=J?~6BH6>q#c-k{&^H+kb6 zS7_#Ix%iBL6`D|V2uv#4PP;UI1gF|pF>ustpJ}wbv46B5y6aX)D*|QewQ~70 ziXLAOg9*I2N%Z*H)3*xn=MOzTP2Y!(_CWObqgx*BA?WclMOkouSmUbn+Kq^Ru1a62 zD*c42^b)H~Aet)9!;)AtQJo6Nkm}J_`5~koACpCec-UgR_gA|!?;`LLN+d?>dzz`7 z=W+-j7b+J?e3p_O`~Zt(^Wh}mvsmo$uBiX_ve=daww}4atFJ2z8G#P&2+OeB01wl! zn3W3{i_#Df%mFYed<|pO>1d*da1$N-0) z<{J)q7KQNk*SDL9V`HF6N-<*08`>JQDESvoK)GD}0;=ncOpSlyja#rQ)oh0966%DJ zHGP$HSlT&;2^~Jo1N1x|ex1oVP7{x4{fIxm?8GAq* zOo!5EQCUN+;qAh-^p1Fm7nX8jT?)Z=K6pi^z14oAz_v5Y$Qj5iO9s(oCUJ@7yKzMZ&xEU zI)ov`SZXE4oUR(5bi+yBWm*r$qhszFtd6&4VqV6nmyuamI(A@)mYFc2uqnLE@?-D;SuYG$)F0@~~gMO1`hb=mn)j8C`xc%?#* zh<{dN1e83_@c~Te)N2+m~X}4 znwqh4ADP)dk&AH2zaEJSYha-QHNZaO8xR6N(FX!Qg?^CzjGx9vm8}*WmiWnZhhHgR z&aj1xfaBqI#xb4&9oo^o38#cz4j3RYCHx$DX1*Jf2G|Un7d@>;cF}jlOUhLk`)jNo zU(@6~OYPWtV+2t#o2ifVA04nZ!%%jvi@aXA~8i}*=}HwXP+pJj{~ z#4`0?u}66L=Rxr=%OH_?juKhmIo9&0`*;p0hxOsyXta25(GE_tfV=sK zlB0T*BUZGk$MpF&J~yxyefE(_mBKG^0woKI$%{kG^y!2G3+6vwg7r3&98lrpG{40e zm6su&u7e_WV{&Mo3)HlUDe=6<3D~EviH?d9ZPrg;Yfp2EHebcqq@lol{J9-Jjaz^8 z^rI@X)SA)OxZ|sILqw2n84bZ3DwUy71SLYar;&QP%o^o>H|xtS55aLn>gkB6J2UXh`I$yLr9D6QXAiS_@?l7$s zuUn~5LUWpuo*;oAYMP(WQQU5WHuXfMUxiD4e=YxN5y2?N2;UejDcX}!Xwei{NxTgI zYhIj9M=O|xEVOBA44(}L*FPF-yBlFp#~MZ3a}J-p7U1&^zaIM$FEjRxeuYFIkhI`|DSB4bPmGuMJvw}cqR@a(2bHUv_h z7_bKz5fOUi*=-2FGFi1D*ulO5BW7~8A!tm^1_iRMagDPL0bVW57(2l_jF$tcq_a*h z161b=073n>hOCAq2b`E)Y9@$v+}l*(6bOP~<6ix+B4KSlARhHV^TCXnteOv$Qk2XGI_6LDp6>{? zFXq-Ep-mTM==(@h-X~FVj3ryD-(^zCnIcpPF-rIbXfMXwM*Q2QGc z5-dCMf>hXeJZat~nm3wyD3CJYpqvp-6APpd(i%~T1#63q1C@Af1>&4;HdKlAbsxm# zyBtCs4I)FFBeF@K8!E(L;8Gz*yuV3>xH5<>C@&Ra8x{srQ^=5~R$FMYSw4iOu+Up* z`bt5)(oEZi>gn1(+J<_%wp347s9P&T5VjoAw?q$-Y)t{dWmdkYZ_k6a8huTdYHD)X zhngBL`w!pc!g zx_Qhh>Q;y*Sw&S~seXLER8+fcgW87o*3|YTdh?QsDlB`+EcRkCi+vr?n@b88C2W!) z3K_@J35knBVz6!%5}O_8x{R$nj;IaA8$4vw?fi>z%(+xqWN(MLe5Sl~w4h;rs~>q@ zyRu7W5R$X6zwp_-g3b}xhXJ5c3>24$1H*BNDfsgr6^sv`Lz#W&n#4-jCrx>3_oe6` z&AP;gZU04ybN(~d5%Gx0O6lmtD%=Xbr~n8JaNH$5>dzWZpJw#uIA`LiB7Sqgr(TVg z>~a`s1#$o~0Zu;j62}=gi77th&`XBJQC9!HN1P||m=&V~CXpO4G+E9G2fZyo7IS^o zAX=&Z@5^$6VNNOQvo$-4-8dXV1Nd@}hb=8p>GkcfRn%pObT5o5eNkwen zgBtfufe}2L{AI5kHB!H6hbLrpIpqDUGUQjkVdNdq2l_h9w>yIg-3~DN2nW|Ls_WmY z$|Dh%sTkY&C01uD?~sCkO8|w%Lne6ep&hqWNO=U$IYDUrqm*o*s-v9+)e57-AMnR$ z)3IQW;P#sTn@XrCz$&&ix+i-08R9%Kc&xmlo$G$7^CJb6IV_+6oMxRqjH>Vw_`b{(yGnbFtw^~f952@! z6=G{P3G$rr;Yn;7T<+)2)7L+q?!CA60hh|OWF)RdgX@6gYPH1Ek1GlgTLpO4ta(h> zkMOzM)sZGKSxy3jhH4tm^}>ALB&MUI;l_{_~#2v>l?9px-`56ktNh_{*UDe|MbgDg!zfFGhc-=^S*+7Dupb6mCZi+ zEX}fXjmN9r%kD#uJ@(l5%L!U`gieVV{q*mRUNIVd^N6u@Kc7C!Q1Q#@GqdV`_4h{j zo?i(;V@}^XQZXK#-@%1_F2cep@{OhU9J$M^bx#nWf%C+6J1IrmtF^q_l>JTZ{d5yZ z)SoGDZ8`4s^xAU%15l#w$@W>meBa9BpF9(AVVwAn4_%x;eNg-d#S)5f$i2%*rH ztqj=|=K9n8o2z+z+7fEGBsds(L1nGB5n<#d@0V39 zX1T1g)CpPopN$G3e3aiXnk|Y$!C%+^PN(d!Lq%U>GE zFGTF6n1lzoHvcm0SfHOURE(X%Z`qf}mv~*P05?{S7zA-Wq(B~O*u=1ye-dC3^VkE2 zBqa_v2uzFTh#R1>Rf!P8p1aW!L%~f4K@^WiVBhn!2iG#|L?rY`LL4Sm|LdxleT^1> z{aF^jbIR9EuK)2^|Gzg_|Gz(2|9_Zhs^}~0Of|P#T<1S{_H~wb#lnW^G7+G1&!2Bb zEwP^amweCc{{)x(@kG2Nty`Wd+3q%C+mTYlma~z&SZ+DEv_M{U|EdRh)%{@)@~Zpe z^cjvTkn3pr@%-OH?Yd(Af5W4Vfr@@Wz)r!w#zTFt|M4WEZ*^=!idvFfD_nINpFm9* zhRSV}7b@C7Mr&LPicjR-j4x~wyH+hqqW0w4GuP7&B1Er2F(IHqcgfr39;SO<*HBbZ zz3h%(B8p1FR^!tSBy6dM76Yi~UqWJR*})7zdmWih{9P#r#2TerP+nEJKoYe(&QU`} zQ;Q;RyFXV6F?tZ@YB5S}ZSpx}ZFu~@DqwCD04fh4ZdE)kv@`x$>n*hlE1_zzb-EVz#R_|e1!%kj zz+js7F82_5jfXYTG)_4+BZV))4N=?>1@D0y8`7Z#8j+a~m)OgegMy|R+}fG$$vp}v zS^=+-de(s9FP;JUcn&pGn6KW=1l!-BrZG+Jb&2WyL_I8SdZ3Ukn$_sg>-CGi5@<#* zz>v=|Kchf^hL!Pi2~gVC2hUGEnhK~Hpyh1^Lfy;^=|p|!84~jz&`d1J-|G7RnijQj zg!*}l^%By}E~M95OKV!a4TIr;ozX=R?{npGCN-5A0mp>II!Z6`6Iw2q4J(=Wr->EN z4PhTvgBH*n;WLo{lXhA^)NaKOQ(jhuK`k9&7*@im6v~eZXQi+ipU9=#mZ9OVPvTki zw&kd8fc?-`-V*}-L+YZX!=hHJsW~@JlxW|U+LuTPK~<}To&}$X+*A7F7GE6`-sseG z03H|F48%o>2N=8n15$ZmjK4GQgC(yp&+;Dh5=@LgnO96Q3$o=YSP(lKWH!vrxj0HE z0oFk($H9;xU~8s8{N&`IU|NvG zH36Nq=nloDjH=s(MTbRx>3shRxL)oJmJHvVFb)saKTI? zxJU;U+>+d(u$u-c1Fc$^L+p;ff;(CzFQ^k{xV^zT(Sso16%+s@1&Yd*-?b%b&Tu5P zXg3<{{1AIka*X$&TddqGC`x<$pcZ+Hd1})+L1_JfEfHV=NtC)ZXDSy!NVeN#mD>!t zCs8p;y73WQ%^%10Ckjbiqwe!zPyqz3wSI{>-mff^H!Dl@%mpym;KB@cd@4%;@ATln ze_8;$C9hngSnwMT1W;#k7_y{uB%3}Yua0sOnB+#? zV>bSb)YJL;i)p@L5gH-mdys4)psRst_J!FbST*o}2;6`Afb@q&F|ltb!Qg8@UGw%* zJ5WXpZ(tC^s0GXeF(e>@7_rBN7!o_5Wi|R1gcz15zEAEoIcB^QH|K5=0_lzcc8&NQGz5 zsSFEyO#Xp1`r|{t((U~NdH0-7+p*sN)7kvfLCtOsn?2}(`S5}Ljqm2hAD?0zW!wHy zLjEriUnn7iwXh}vMb%oECUM(@Pd|;R09aIzf$p8shRV=WVF9)hk_J>=^N?+P>tjM{GoViL=mQTHC2 z6?X3-sR6rl<@Xz6$?9~je0cTi+g86`OyK=ZiYwhBcwfER(!Hsr`);|Rv+2!q2faz1 z%;Ivl`MuqZcd67l3?y+U?Umj1CJy;q9Qe1+IDp8Yn_=o1$-&3Z z>4E%u6c2}<>1RSuH3thMxYvKQc*jHJSdSJ;D00NE()>eQN#obd07m+De)M*UMV2J~ zpujS%nHn~d&=PEdwMjY}>Fu>j@Q~FY!vi5$@Q^h}TVf5Z#3nz4@(d5|WWQ+;ZqO#t zuMCe8c%a9cP$QoWh+n{?)P%)egeuF|Gdz+5)#Hv4XLwjR)vYvSN|nd}$!tDRT&n;2 zW_gUj;N*{i&|vP-JbkRId<%_O>RNjekb$Q)?6o}sUzM-L$YRXhXifxotuRKNfV;NG z<(WF!93MWq(HxJbbSTM*`^)rH%EDt(zgq~8ey1RJSc@rnTf=o{-1G_R(h6 zB%f|1qn5Hu&AZQ}FQ0}wQUE-D;quyeo({Ayd)%G!?U3)P3zl(R8bHKb=a?;(Al|@* zN)T^~Hr|XH&5|EWeNE&a+>Wj$^06h~5)1xHaNlbD&G$D>t=eU{qkay2mvh-NH1vq3 znQy3?AZQkr8*Qns`d&5}slPJG$#luKn9W~}nM#|TE$H2oBAT$r%%4&q#+ojuTePIs zJ!QT3;p%qU3NZ8I@peNiZcfJ6HCKa}`73CqNsXiLi_7$b;qw(qdX#TCEIUy4+Xf1Ew{Ffy; zM|Vtk*d1So-RTwguGd=lfyfwjj)C;y5lKB7h_@|g!oW8NU*Qh2HRD~C@C7LWII(y0 zGO{{vXGxYQUT1w<1XTL>FcO0WVzTr9mK9;FCgJJU&-J%Z3NtORwx7P#-KV{+uxf1Dsg_bRPhmz3? zk!ma@s=|g9lmy=SV{!@UqmJuJ+>yt%9u*b_Ac$sU4}gU#HSH~M_@L7eqB5)uL>dQO zmyaxkgRrOepi+nrTx}l&JiDU)%Bk{ru!4==H9zWph`GSwv|~oylYG$@V-h1MSCU)M znV7_(!eW))K3BfCuzStY~!h&$5R6^mn~h6`1Rr8+-C*faXAJ<_60n%w_jRA_|X z1(M=VBczKOVZQHBw*doG(#*-f3>1>R9PUR~CY1}L6wv9W1Lyho3?HCYx6D>C+ux(~9%M?AV`9*VT?_QdK?)>npN4qGjU z!mlwDQ6|)iVZTN9*&#dtq0?WneLwktIci~ zIAIYiWA(jFacTb)(lW0OX}QV=ffkWvu*xPI1JLqo49$6yhYjsJT)T%gMsHDTt!1y> zR;5-oTm}q_kOVs{gc|}3I`U6RLWlYplW;tS&qlajpoB>AGaW}S5dbWMjymb0xv%a+ znS8iVaNpy;Lc#bN7~cE|xK}4dxNqR;uc86eyZpY6w;4Ubll%i#HYhtD4X z90mxT6s?gayX@!Uv%g1F(3^RW%Uk2}7A{iKl6ODUG-*5S@!%O~pxu`ql`hJMq-qKJ z-S;EA={b}MEhQ%nz=9d=A&2!8-PR3Q^OsLAxPC}@QuBir7)o=Vz&bkJ|Wr% zt%qMVi-Kox1uQAO4TrrYG1Igy+B1X8lyyMPMCJ=N+yi=uF*?RThJ5uc5*5tj71jJY zrJMdDKaA)9JZP_erNcQjX%HQFT+N4{v|;c~Xu?qgh zfrerkvAdAH^nSxnaTcHU+?Y~M3`VM+#G*fvVgB>lGx{E5OFF2=p-tATGZ;p2;O`oZ zerGTT{N4`_YNVhwrbxO%#fSe2mw(3_CXw?Wuh1qKJC(mPe0W-Y6CXZrHGe*6-cL1U zYSfDen^s-tVAt(9Eh3w&5ii6{0P$~%r=^+6Z77_wbwGQ-vJ&tKAir)Q@%abL*jcp_ z5Ehln_jpkWE#_6WmB&1p|1C~?BYqw7Ei0j0qEoaqo|4e_5SD2WVA;;m+)k=(m)iNj zO|;{+IzRfj_9F6Cd1?MHRq^YaiXSP{e5qNU?)DRG<#%BYW9FcV$t;1e z0D!W=;)e?6vHbd;!qkbEsnQoS2cdJGTz*asPUas&cjghvF%qXRqr{dSJkwiQn_Ed8F57i$X4G@# z(D1DN98OSBiJk`*-uqGySVe5@;sH?=S?iwBS$eKKm)=Chzr{CCr#G8helx7fz3Cl2 zH5-Sq1^-+bj$n4L_n9qG$O^_4Hh?5nmI7qHJpY+W*3+iI1Sg<_n<6dRCG7}P@sXNM z1LMh3$S6r6u^LDrw>0A2XVLY%2RCgo@c4Wm(+s~bd(5Sk;DJ2ucW%4SFG z%fE#PZ*ohFK)htq>97MKJ||ub84>!0h)R0W+_qg|n%xhUj;hoIAU&{6)MZ)0P?uc< zPx}>hS=I>DX`Q!v79AQwQC1hAa9f%Or?~agIWA!an#DBQwKNg!*>Pj*?@n`!LJ@jq zju`~guhLHZv+jq5cn1ryM5SyQ7JWaKY7kP_5{GT~=oM^h#g(hF^_gv~*%GF>8jg;e z|8zJ3qVU=z8PFViM!hmhZTKB5sov6wND``2;DwEnV>duP`BG@oD!{1ln7K5X2tm|ZPQ_|sk@kFaG9>04 zhX`*0-Undj!rgW|$yZ!^5!nuX!+hIgg4S2xr_qSZv`0lNP+LXuXIH+DHCjN;`NDuj z%f(_4U$(i!Ta6!&pS2cXdEfm0#t(10Z5j7xf|>x&6*%5 zf{r+)#TFWBJwa;EJ?Y+>%-vVpDp^_%+rdcHBMbfNegF2gd7#%RUZ)c=j57dBBt~W* z3FZt)7N7ns;dW&Z>{ZDYQb1Xtk!)JROKe)yXk4)D5##NdkV_~1gG$h0DbewTOwbZ4 zlNT}x<*<^?FNn0nkHBpln_?s&v5|QWI58;kJ`oAp6_Kb89frvQm8jL*5y{^+RwPo# zwq{=pVC2}Z$|Ua4vH2OD-E`2{WO?CecvKrUf%K-QfTDH-;>-V3IpH;B{yEP;yBVYy zF)&$g{3)eLaWADw@hPQA@yVG*;4hA+G5bmjV7)@G`;%YyC%^7be%+t^y2+zR2^c90 z9iPxoeEQ7V^|#O@k${l~3-%$}-_uL>pOewxs~YZe9jwQB&=766A&(DFpEy0~TDX)y zC>6YkyOJMA^AAN(g9c&K16L7ngI?j%AD8xU@KzxC>F{>~IsNR>YY-bPqd-UF`Gh z#wNdI^K#uIZu5e)VMqaPO6yyqx}9{u*_B6{O7%w(rxVHc<9n&K-b>}U61C1RAQ>oV zaom%4=#R{-&OcCZk96e~Eml)q)tBNb%wh82g231OFHg^|bkz2qjjDowOG22?2~4!D z3YCy0wsWz$g%uv9jaeaJ&ARGgXkOT`hX*QFXn&V^jL`Vzs&Vs>&j zVbHWJhx-ugfJh&ye9b(QU-=NQvqA9q01k*8rl7-(=#{s3X^9K!snoURHsx8Tk-BXO zfa;mzTcIAZiYZG({n2tBm!`(DS4@KC5<`?qqgra3g{(CM!Xa~OV4=Md!UI1=7QNnBZb(*vl_y$V_!SQz2WfsC0p_qwaZS242>hyr*RZ0( zcyvI#ux#Gck`o9M;D(@sKLIfENiA#=t$aH_@WNesLCG%-XVOE&D#YUw^Rs?sAIj6A zEdyES+v^DF(H@7Y0o^imMK;;({;Y1scE9FV67snxCXW;g>WZS3%t=(jtt+Bhh%Jc$ zoQB>JfdK$Gi$NF-?GvJ_D!RUumugaZgvjUE*Xom_tmi+89dMGX|7nT(g0CEsmdrf_);!KadHJ<^tQ40ylggdQ50?e~-}^s>dAX;5SK zx>Kv8pD4#IXrcs>Fg)JhWH-c`YIi~^*x;n7NvAr}69B%r7tsW$WBkl{UyvZrUE^qV z_=xT}IwFHPHR6FJm@eV1#FEts;RotxLodeW4Y*k4`2&znGB4YhiE*1MlJ0W(T5^I1 z4SQJ{wFYeTP0xGd)eUS@XcK3lgOH*EW`Ad{P;BE}l&l{$cbGW{^|h1`n=ry@Hwifv zdkiPjVlkd${ay{<7f;tKygTlWb)~qES`Ch-qZFK z8Pf;aB3F=|!HqFFyR!#zsB&7ym1g?j)d#kw`c=QtCVMIPP&)?yru9fEF@8-y4j+>U zxq&fGmv=5eNC@KVwwO!w8gEOCR~j35nK$@_mqwi>lL?bPJW}s|W`oQg(n$dUY4e9!6ke*~TRfB2{x4`|426Jw3N%)>TFLU|GxH?(8WjWlRA&Y+`*h65CUL_cVEzHE;@ zKrMPuhIfSvz+smLkWNFG!1vYi>1MfDz24mKGfLdiv^8I({d1m3_;LaIYbkD9OHo* zLEc=DzyeYAy>Hx#1q9b&cBIsaaf%M~0;#aKpmFm~%64H$$%w1Pw6laUL3>YS>?xux z`A4##y3%*3Bm-9@Y1)qNe$Xn-_ucnc9P^-i zmF7v^FCRqRi3zXu8zhMm{T@-b7+hIyh^5X?73`!a-L7#26;FG*@y{4lfs?jUP+2p5 z31oxE{e+Z3-?T4O6VVfXymA|^B*sHQ6txCPsP^d)UXzf0Pia_rdT<%76Kf!z&D%xh z+R4~iaA&}^%YMAe76$9hAQIDm#@Ct5v%KER3@g3cCRl{ZjZ*uFcdq71uAe|+_t!%Z zr?Q)J<_>q7OWoTzI9M#X6z)U&p!1yUrAKG={4dzfs9%(%9Xhm#C13VRFCNKN0Z;y8 z9HEMP& zp$oK}b7mzc(d1$z9Y%dXYekM^JV*A+%t^cT0*~k>>#tuq!D!`I(OoeQE|Q@*bxl~o z=(VJh74y?!q(#)w4`)&>0h0q{O8TIG$<5k-L~5g?&OZ=V5oo*Rb*pPB96yaSEtPs-OZR z2#!zx6e~S+gHvA>m!?E?$2=#PE#S}!KPz~(@TOoHB*p``ov`w07|RQ+5ZEQQ;^8m~k18S<=(CJ< z><5R8ZzV;jBjKWDq2pC%W(YGvLSj&p3He`)5V)2%m{S@&_`4ju=@k#AdwK9IgmxdU z#uz+fP;>dsG=Ufe!=f8aL3TbRrEh9hisJx-6#k;c7kz*6jZQP^@22({6rp0>N~Bj7^qiOP!%goP?dKN zvrZ@>8I*O8`r67oD^PCP(_m;Sd|@wc_uw=oa2J!7hWYrQzKhpfpZ4!guH zs3ENLY9eb=?`=?#0s}#6OHe;Z5u65>9k|AIiU?(8QW8vohdn(9V{p88bghE0c0i+w382kvS;7?} z2bBmdSO&`;{ze2e;dC#KIYbJ7~!0jV;M+RaBx`rZ>5JoOR7qv$h zkF#RBlSLt+APs2L%A(&7$)>Gsgp9bChqN6-nsW?WLW%rD9#Y6UU=4j~b0vTI03Djt zIb$=uvUa|N{!*Ap6wBb2#A8Tn4(vXFEaPyJXjXwNu4ap)q>_F{cCvu|>0X`@-fRI` zc8GpP10)Y1C!FpFkbyh|Zzv>=d}MG_L)J}KHwjrk{H%~onM+jhNRWj{4u%7Ju-!yt zNVsfiP0OC_DQJudc@v#jLUomxjYTXBUUvTq4$D+%@ey0g61<7a=6e~u$cqB6?AZyt z`H74$P^z%VEJxDMClOa35$IPicu96W(ln$I_Rztg(#Fd7@}Qh;x3aPF6M0a3u{e!z zfW?S)BK-9)9xG0Xs2xRCOLhNn(`OqFM3sRjb;1-3ca<~@GCCnI_~()Aj>^Hj6%J;* zo|WNMDw8w?t0v)`TmlYDQbd*xE*f7ZCGCT?jDXBii=0z$QqH5AJMOV(rP>ym`m zd=}D1hZR9`2#rC>!2q@dlB!N*T2Dq^NJL_%QNKfuY6M%q1K&;WC_aNdD|qr>FMJB8 zc-=1`{aeuW0nU3LMBGKLlVu~~Kn(ID0bR0q#QHbHbuhSxNCk+kUR5m2>Y8w5nPAW9 zv&qcLRMTY4~ak$9(Gv6sg`GRusq>7X2LE)q>=GP zmUQDwc+jv>q#q-y8f$(Yz51GkxX;1W5GXmFVT{VmJ!(;f^=GzA*m-008hJwi;0Z`lVlSNJ&3F-0zxc-n3;EKO2#d56LN=zirG{M zeCT5EtICIl_RC{ew$|m3G><-_SSUFG*?AZTPB0~Sm|G5xv$y3kwVZ#Y2=kz2<|O?m zhSZR;mPf=i69t4Z@<`P7@DXO_d1n`w-)z9nXDK0E@ z*i)4QZ}15p)wCeZGa#yj^I~^BJET0I3z9 z!NdXuuME*y@EQ{JMMomUK_-lcH8*17N{4CTRKtR!CkhjMY!oicK>Y%!h^;3$Oj%Y~ zGX&q2{h+z3)hPx@4lzx1-}p5djDNI1G!WgV$wc>gTC`XpL8ALKF7yIZ zSa6nsq{KcmFalVD?l)9wl`61i+Apz3tDC<|tW!aU{9P1J)5KpAb5WNYKx@Jg&;_!A z>HtEBMa`u#4^Zh%2rmmrId|KFx5P;jC4gIM8(<$J#b(t?6-fYLAmJrz;XyvM3!m{N zxKA^x|DTegC=ft|B)1|h4i*&VN3Di)LRf7meZw|SE6S&|qVP>dDrRKJ$QIZZkPjym z0DL4DFDiB}p|SFQ3v(n{PUEL>$IZ`<9sE9^BG|YF=a*Vu#{MP7{Vq+V_4+;p2f_u7DF3_5qM3S$vZi+ldl{u!c|zXuMt9c z=Mpt|RhwZf;y}4ceba6eo-k*q*`MQF6x`9j@}zq=(!qd!rQP_CRZ&HA*ZHPh^^ltqA%kOF9jKA5kXp1%(x z0=QnNQMQKYByG=sN_jr?NB?}_x6NNM@PQ$~;D@gK4*t+ib>#sp|6S2F9{XRt{0JnN zW)TtuJHc8NG;>S*_ES~;>pn_XbVIF4xYL}N{>W?H7$7#}m%gFF^rGprY+^kcDP;g& zts==Mkke0`Uqq)s3$9d(MhTo|t}q&0sg9ZuXj7K>};}{W;rMM z%3>D6K@nKgG!JZ1V|&M2r+2Y8=mZg5pq*1a&AsKz8 zi29oEg-OLG?nV@PQOr8XF@B_#G$-sf-j1|e{)_K`NTKPn9dyW+Y^;K}9@J-9X+&uj z1XIwI3)Opb!cQ zK}1n_5g(Xi`T5BKzVb{n1igmH*A)9iFml_}1a~TQ5lVnGCh?5v4;i<& zk#P|Ln@7sbz#S(dhq)Oz(2b(PnSr;J_eS5A_x|D8rGOR~KAGP9Jei1%~^b<&MMD+gQBj~?J1 z00^tp%hDVLz%l?>8h~YJ8NNW3^bOrR0O(88gjPj+>|eDL@|)%o%1>A<6Bwr=pVb1! z2cpZ34kL}vrAI>54WXIxUfW{+->{n%eaT{^3FuWRR@x^(Tqq%^viaS0M9v^<=^JaO zi%@96#ZroH;A+vuOTcCRvxKj6ZplBNIqBJ=p?>#9W;DDm=}BLaJ~VELR{AP|)nBDN zyUi*ts&DlCpo4o?JGjps=z&28dS=kUeYu1C4(ovAqQ0|N zuXYdwR}Tz2&@+P$2-8c@(mokNE4Qk(d#$SXF<~;$Us+xRZmt)T0Y^yR3gq7GiRF?q zT6TfXPYrth?Y`$XAJQ|mdj^yH-95d$&As@M!Swvppcic5X?|}zq!*RAdi#>P~{6#JhzABi9FX*blJbc-WZ%r)AIb;I(*BiJ%vELMJycs6u9WU8v`~PR} zU4Si1tNXtFIFEboxsTI5Ju^MSJoec%sF50}%b|ub8W(p1(=*6eB4sSeDUzZpO4-$o z@O0Bm5r?501wVCxo@sUpYK;hw}WB48~p zD2H&-7UQRcrtF_J>ut^=yp``S1e69J4YFnag8^?#uXN}eYb8Wrg z@(;zwUyhGg^KpfUEtEMKXns0A?v9V0__&{y$MN-mxXoRKoGtYBdX@{+7OH2_CZx;@F8d2Fpqb`bb&&aOpRF?mAVi_#BOnnpUnFPW#%Y9sT+9~jv>94CcGXx zwf%L}%v~BeriGhb8hLiW$Q91e$hBpC`oS_^$3nJXN_x0#h|Hs7L8Pzo!2tMza0+=Y zyDC;hCIWfpSZn6k_A*W3njv}=JWs2~2Q<&q_A8``gCGF8n|Kiu4+FEpVC; zYrT6K5*jfL?CI&RmBl6pqr+=;{;YFAM%su^00?3uSz;6vGy+22cg!-2?u1*&JOhn$ z6v5w`@)OvFcnfAPs^0P_*0&=D^%4KtqTtD+ipZ1~>unja;RTx{1gpsxW~_IfuTlG? zr)^YJM_?7IBl;Lun|g(8H=z@|1`@rH`I5e^ah2VKv!7vCwaFl7d8qYxuG&Vi3?GLJ zSTraw=W2@GfuL|G9NN&NmbOv2AU}uns>+M!6&HN%c|(&ZfcGD;%ID_%(SA+sN?_pu zd71#+N5*(9Co}#d#bS&G6-h5bKqC-HWhW+m3c-dK&$UBqhrsBva}U;dm(_VZuVpMf z1TY&Pl>b(n!WCQ_f(wfwxG?eQh zmk_AKCJck;3IS=r#HMr5h~Z2Oo$z;!I0NAWI4oG#^fTNoCEC( zsER#;o@gOIFU{!^kJBcPkSkP8E;4p@1E`AICY_LzVcJk6N2r9tvZK*(Ed9>(tP}>P zdXT(BDWT?7Y*J#!%sJ?7AWWipyFf@C(gM!bUz0G&3F6`&aDqN{1rw=8gx* zh%xL;abU4nC@sK~_K$eW0|b9iW5D;T6*I$|irg zXjR||ZxGu(BO))=LV&R1r8<$XtKlJFJHVhU!>6m+2Lrd@)R49t67r2B-9gF%I2SUg zI~YLi^sO4yGlqa#Pqu_o%r<@)wxF6nDFUKRsT1FY)1!CaMprD<%Q1K6I5p;3u>(=d zfb@>VHa?@iH9c4*zGpqBK&j@tQ;89MjFvDI4#&(j(bjLXgyvDkTE04^4TNbZ zI|XR*OG+acFQ@{Iyxb{v1T&U6ASFHk40u-GShd;DdKG|Nvrc>%3F&6-a@K1M+%;=y zM5v+DahQRgWfpm}o;sAK8WLI5CF1mej7_ZAYb3uLAH}j5UDl4SiJCBnj4J^#zyE+C zFzM;PoaM&^*eTkXcTNKT9+N6=dKuDFZse5^L4cr}uc~JrH#nU)xja7<* z;GFRmuR<&X;edF6We~FIFg_A|pb_u7u9dZ;&dFzsx+r$zBXL=AmLWV=qD~D|=~JLV z>|qwU-NxvmvJrDoXKd;+9dbjXSA7yf4D5rCCHBj{s?-j>;Ho7O$Cu79rj~Z->CzeH zL1>mTG`y1$tx#5meD+E{au;cXsjvnW0c}q3smD%%kWd|41bOs@MlW^U$&~%7Bi_3V zGGcc~@3iCuPfqhR${5Z#I0NsMuMy4a%L5&8T6jqlv%V-*G9x2+n2G9n0m-Hma7}R1UGPnM zk>E5ioLH)AU^tNmpa%@1{Zlm6w!wqv?qKj(EK3^=@OZ|s5k!D#Gr&XVYEdqL7U$Yn z$v&?MJX&#q2NjZUyBaWfj7S+jhrkSi-`}*jPF^&lAe52w($3K&@27#07#zjQdGo45n&a|B4^c zjh1w=njO~1YL3MhN};$y`!Ih>^zv|O)?9}47Km7PcGQwFNW+N4VS}wqxWZ-S9BJ?E zf{$&9J2btTUs#anS_it4)y1gw&Skn3G`n1DU~G_{S1I^_cA{4vBxlWBR_vWb z5(zf-)RqN7cXr>1x2`u3yxjlf%pNa`)J`1`{@V!_7UqnkOV{&?x; z*f%LvFIXL=vWDqw)ic~2mzUhTnF0zWzfa)cPM#Ksy9+49 z-eQr&58hS0O6tTtb~8Lrm+p3Kp+Pm*uO0n)NnAqT)32B5&&wkM!8bKQ3+x=y^;hc8 zt7gB2X7;YOwD~KOrSrL~wRGq!z1oI}HRUTZlB5C30DJ=W6{cKz6(vikbH$yeSOOd; zPSfnFmq)lnepCgKlBpWOA|AdHQ+5A`SKDCwnW{$ns4Ibd-p5ouDujv%jSK)h{L`EF zT#C8;ZupF4>*3~W6zI0C2Zg;H){tyHed%mHdEYu)Pv_*kE|NIqC?Tt-XX~M-N&M50 zw4+kCp14194r6P$r1`3yUA7)W_#v@mY(3?8Ve1WBTQ5_%9b3->LDke#bH+N)lJswl zHpoxpuYi|KS$3FpoYWaHu;!4uaNbt_!sL6#n3R@UdN0q#-sYT!Y!VLUa$6UOp*qQI zRBLIL@ibqMA8o79Z?9FA{7{1yFI|J_%uel5+jp4lfI;fz24jSw5^G4iOvQgLqaKS! z;T&5u00sL>_MrtgWWT^I*@t_tO8mm2fRxoZy{*IvOhuJ!DW>tY2rP zuIgV_>c@}fN0zKqM)N8G=#|S#GJG&%J-T;~OKeclTZUxCsw|`s-$OMcSshs%hgq!0 zYV&3$Va5lZY&0*eV(2+g9*A$v3yn4Ou03V4c&}R*dH-$7wfn338jhts%_O><5=U&y zqJgJMS+b18neih@tdx8lo6}RqAMozmvyyKnL<>| zRz@W};~=Bb)C&d;>ZtH)*hr1A)r5;Xj7mQyaILnQETZh+PR7=lbrD`_j0E`jrdeRa zwGDvLD&QmrVxtn;^&tJ%$I*wr1$d@F!MMDbEpyR-0a(6FSyiKxK?(Hx zrg^{)$R!+0uv>T}zPX_je#QNv1Glo^0|QivQ0l4c`(bV?3X8doLqX>D5kAPyn;#X2 zEA^xpOLCc30w$tT-Yzp*DaL}YYVOG`XdVoTTDJz|5GV$u)@nUMY~Y7}NxW`m461V{ z;csiLciv+$ZMmE9%XuyfCb3**uyDoDE=TQiq$0=Gl@9-#5(Ll zB8H2CbD|2AEwN5aUvo`C(P~e44tLc=MCD5Si8l#mY1)f@(r7meqTBT->o1#B%ek;s z5k}_Hx-RpTN!h)!%B;2{M7ybZorDq?ea;SKFh|)XvrPhuezg@Hj1L5`*pN?#w6Trx zkcw}a_=7Y@S_(nLn1wb*f!^ENh=iS|jgUfY1{yvcrk=90|* zmd9BM=V5KiyB5=8tm^xFa0#T?zT<|1by&Z$qxA$7k4(Y}(8xi_r3ovg!&mwf_Jvkf z__dy_P?N+KikPwqsgSa!utJHG-zP^T54?61IDOy0uPVPOS#P2+Mj&g5JQ^`VwCC&j zO(X_tHJ|eQrWApV^ja|a33~`^=d*ki)VHUgv-4L*V4u?dR$KqOta2sYe@j^9xOuKy z%tz2WKOgyli0`S0TtHlQ(c8t-L~ku^3sf^4j8I=w?Igm>iN%h5vFQYPTSVI->;HyZbJvOUfQ+;;bmd%ZGj&Blay#{P^ zCu-g|kQ>o1+1#yh66R|ON=0aq5(xkq&8-^R=0;J`k}uqSt^dR}H%q!~bC-vK$C4P! zYf_~e)V~<8vg$fg zN~GwACl2vCpt)FG14<=|V|BOGA1#np+?ovqWIG=c(o0K>@e+O~57Oq-ux_bYF-m4E z^Qom~qlSZ%j%;!rHqasoiy880^@uu;%dC?*eN~RQ=^QQQ;B}n&_-Z zTcG7#z6_9}z1>>p9^6^W@;Ns8Vo=B&7!R>nY6^_VI;GcIu_Xog5Ew~LI6?(SP>APgvd1w5AQRI* z@lZLiiWSrRwNXT+ADL_Mx%K8U1ySEZ-aSZs6;V_w<91$<2p+`N9!1L4km9;HNcJll zQO7>fh|0y!c%SKMe1hr9Q+LbHV<^B?CTA&?&qtQf4*w@Xa5B9s|4>o%PpPu zPkDi_7G5XPo9JnKhd`tw?-f5Y>34IBV7>SL?0xfqL~O)t>QfsPuLi5+_wmwTjHK{b zVjr`+BCfsx5zRgY@`||Lf4n#r$9S(}kzgc?`FL-3w-@OhtfrI~mQdBc(|DkigOH%? zLUTVx#UsB8R?N9P&v{Q%VtiNy2|py%z?RtIJn%*Mrh@tC59`h2d{Wa?XZ_%v)S17V zeAwl`jx<=u?BR^=b$S1f@PYULXrbZ4F~d7?Dq|6wujS{PwTm@caQ_Tvd@bo%!71fw z%Ja=-_9igK=al4dW2Mzo9q4`Ii#VVBroYGyR2vQd#@@N))9NO6CE-7mieARatReWC=H~LvIl5lsA(u1kS@W`P;?M&8VX0H15Km{fx+G5 z;W*TGJlu`(IFyXO#j`c%Kx;_RqmEmqp%_=zypN?|uL_8K@KAh|aX_UT3as z?A3NC+>N2geJyuuuixBNZH8p#$E1=kynJo47lCLw#d6^i8Dc&Alb%b>6JBfTdl->^WK*e-Uxa zHhO8fCEI3aN;#>{So*WK)wI)_we|?g7^4%WqkY~ADnJdM-fYYv<0o}V|a65n~EJI zeJ_s#Ld{!q)wEC%PZcSW--m6ERymil_C32$VDePcLX0_AO^d60Ici$O%dfoJms3rP zG{dv3VUS&k1h9*U|F%feV!Zi$#U-;1G4H zR6h3SxiOgiUhrPs)zR!^g*$b?g2au~C8~rt{f!S*!ta!g0UVHCEYWuF@D~b>{E^8f> zA&a<$BTqAG5=_fk4QJOE!ROJcNS%AJ5$7im>><|ijQofNI7D1YW)c|IG4uI{-T*_# zRT8x>WN?U9>`?%Yu^9KwAokA^b!aB+6_B^{yjUHRLKG~cZG z<#biVm9pfRB6HA|QB6$s!cdAl)Y*SGxHTS<$scu{-<&g##m~3o=3=~j)cSsmJ&Lrm zn!N^xv!BJ8MYqy-q;}ye3exU9)d08I-!SoKH3q6in&C<2Uuf}^g ze)OJD8@AcLfMZeR2?pH@7?UzA+KR#X#ilqf(jb?PB9Kjf0oS35u{^^oBnt)uLBFjF z%h@N+ZgEymBDCZ)v?uZlK2sBtuvRSq0jqx?`g5z~a{YQAh^_-eY9B_rR{50J$lZ~_ z3CUnh13Cv~AS_?8?IB)Y%Ouw`;g;2m2(qO{7JlZG%*vJ??d80Z1JUJFF8gspZG{a)nGI)dS$Iij(Q}F{`v@ zJg*;dIJ&;w$}yAwSXFQ7Xn1D67U*so1Z~c3jq@_&-vT6CV1hlpI?Qohuf=Xx6_ilPn)r+AE*u3_uQ2C~&ZJTg~1f|IGDj0GZleNc74HYV~&)yBivG#iK2 zzyv4aDl+Mj4onFrihJel;~*g)$XapG>K4+Kq(N$=Zd=|L!5fRrEEe=7m0pn0em6=$ zb>q_1U?ym}+`ywv14!VtvoQ;)sBC>>)U@W+PD|jcUSZ6wDIbQBSG~^{^poLR@2t&T~kOc+J?~RCL};s`p$o zHhrP3ZQFXR(}3#kV?r^AueI}3il**73sV=Pq)lSL{xK{eL_km z7`USGrFX0CJsi&Xqq@EH2l#kmft7QaP`KwnygmyW3Y~<+!dtxtuy~0t3Z3=aiD0BR zvMWjt9(Lh6Eq;rKI5xGf9X1fn=rcW)M ze^iYJG$8TRNxSLTl*6FYxkHhXDUT~rMm5f$qlap}CNp)|4ceVA+Jgqj;sj-QS0I0m z;3>LhPGGMM%mv+^)g$VaK8PlYdegIfO7TvktusMahTuqJA8{Vp{_PvU6sEZ(#v8HOY=pQH4sIs{u|>#ErLqC!+B5Iiu~+7~p4RF%G6FnwAW zyLG`$bjX^B1kuJN4q$Y_DkJ}ZN3>H%8UpMBVLz?D1C>L49s?{th3L@t{#@{#AkN9w zmy2#=KGp(lFc%#;7C=H%%JA2O@xrq~Jzo9fI9TX2IqrJ_rL-^;5$E$cYRZkWDc_FX zayy@2;PVbXKhLL(q|fmw!{@j8l;uPCNn24BjoRQ-(Wz}d@%+NjGKJ6PxA4h+RNG)5 zh|x-v*gmbgQb#>Q79C~Q5ZV8mzyKDIny~Vys{u(}F$zTmiiab^F^}miNg|@v2b=g?N(o)zB0CEnP4=}XE z^I_XL3urF8XAd1yNWyR$3`cF{(N?>qVh+2K7Xw_`(~ym!6%UHw+#^|Ipid`;D0B$> zU^q#3@*8Yn;4`o=u0{9Ch!3e9djV7TU8^($$m30hL9N8Ntb_yS)!{mqS*U~Zx6gBgD!!!nWo+myVsBOxLj<~Y2u=NhMGwCcp2wg zg+~a&QxkZ)Y1Gfm+TV#?uIqO@J-|ro+UQtok>sySiIaHd)Njs}o;_4_<6X3%z5>eH zrg0^&GnqqP@2s(<-t8+RfyhIpK%yyE^W+2$fy75Nz7&KmnvqV<$f=}9;k??%tQ5k1 zGzN4i_PFTL@pSfQ?3dOZ?F0%gFNYF8(nOX=;!GmjLV0xy&uIj=R!5c0nHw|$uJF3s zBnUQTk_q4Vv9~tup5ddvX!s)e<>4o(m77hX5t-f2HgJ0INAzb7TxBp%v6K0Y@ZGs` z`36qtOYB52;@WNc6D0xi>Ntc)8{5vHbLvEoA19FxM* zYTMRxc|;dkcHQNeiKV+@w<=!4heQZx#mV-;S+1$hd8K_i%40+*zB(GQBnMMurqKue zLsup#pZhzVy(jGTd2+8?F+kF5psI4iamAXt6imoN8k4SxY||wxbPNNBQYbm5L5(PI z&ogRw#ZpHyZHNUHpfRK2LgaJasNH==+l>pzS`C!WUwhsLZKT3gH@3@fSb>nCXE@2q z>ncl!AaO+gwLX%}3NUz)kSkKZIkp1kw!&>r$e9chS-g}$wB{jr!Go1q;${ld0ZSmO z7?>Rkza|ey_DR^-3K&;6;AvIvyM;7OsAm)-hD^`W^!jev=)tc{KR%)|I0Gb21yx3= zFBsOi*sQE*GpO|t8Ff;0Eqgd%QF_XnctGow5;idcn5gpk zwv(h+wLP@rE){e@!3jK(LIH(8u_58U@sJ27@^#ga;^5ab@26-;h3BvfN<=F5fs*z{ zUL};GhpT|n(vVsxp@;4RrGgj3gz&UbP z@d;6c7Ft9VQ)|`gJ}Tp3+O^G9NCsm}xVJdpuo+QxwE@vowE7eI^w)=xTlwj^2IT0$ z?4P3?D)Zoaf}`Q?v=;G1lnIs+W_CTnk?@!}KOE_sHo@_qfW_An9J@S->j{o?yar;$ z*ApCZf{5E+PjHlc1QOHh364lNbd;6ZpAZaola$}<365w1ho@FvPjI}R;MgTN{_0YK zO5z1)oRc zY-PR7>ts9YWq!a{8cVicig(k3r2sCZcoyw!low~1hJ=T zpe!hdf^moutyfCT7*{v(z3zOK{%I3v=y9LCWIu;zR{7xCH0zEvq|Px*K$C*JxYq%M zoN~C<&*5$*9ye85wTiw@&&~dqDEY4(3VsW$d{MzKo>PW!soE(DkcX+{1s^hOh1T2s zn2uq9JzQLohV8w}-Vx4%u%o{kM0$w~P-U{G9PnWDj=VaZK{M0H?HsJR#PRScQ%6sYHAK5MQ`!ha-Wygtfh<)M|CMH`Muyo^mTIJjMi$c|OLbjb*6BXGvQ$YalRrXf zV#`^o>yfcQ@N&N_RYvO2rZQZG79fJLk>~}?L9IrXYGjCNT;gk_Wjv`YRc%r-#Tgep zdN4U*W*Uk(qT#^9LiRQl&q=sXb(X4G{OO?ato^+P#dSt1tUs;x_(uJN(mg*uM+xe6AAz7-Dn{A?*vQ&i!ZI-I> zkKuT=9agoJjVPY;`yxx#NZBT)rnLIN-Mv|=#-DGYELBsP$pHWW9Fc;uXZY3-Sf2E< zR2Pp*0tb06vP$>MQWfx6gNeepY8=)dJyetBELC^DXpemNHcQnoJt69Js26Dzbz7j{ zb_wMZ6tDW0%2K@(s(yy1RaVb3RqUUo`V2VL6=$j5M0Vb%OVy)#YO_>>22hh2yji%j zR81|{C`(o7Vj=O(n5Bvq%EXtlRD&qKZdt0qORp|Vl^q28WT^()pu)9Ts<#R^Bl{=x z>lIn5Y_4#Ys*<_(W~p)r5(>F!bFj!#<&~#4OLdNRsy_Q!s{OerOLgcxmPlREiGgPS zz-C=C_?enG`pC*nU(fzVZTd3r+<(&-)CjZIyxV;iHdSSoVvYo@e)DYldbV^rw7-2e zeN~LQOR!2-ev|U3+6<{@dItp9tTp3#O?|QHE3g^K^HgRd-+{flCmZ=@l>JrN$aAhg zfo$Zu%1Og2=XoTZ=r5+gR+si`Gm8PTdDph zFdO+cVKJ~%Hu7zzkfm&7-~I+@>|#YhGrw11~sB@s%&I068=Z| zQK(^n==-M4M*h7h+u3w=s?6thio?ZCwO;+4EEv!BsF^7a?ENMewGR zcuza2ykk3Fz;&zkRd<0V#^)a-0ad##Vz&gnwRI7gQd=28Nu}|BE>Aryozbg6Chv)l z$+FWvGVT7MEy*StBE-;4w*BPCTwl07A1~hG9bRs}JQsl|ouB3B)eq3<^e0C7u+98t zrm6We-rDA5@R3{(b98S-8=U#=Z9h2Ul=&T%nbEt75BYom=!bhB z&1)UsQ)Rf&P~m-d`p!W<6;a?xkNQZ`t_dkbzzK?1fTW7uQ4OsU-I;xy8dj9L^bZYF zC3n;TMWH(5WO2z8Z$uIIJ#8n&&3hRj(sW%;ytH;t$hw@ykSz4(c zDB`u$PHK9nCJIJ^>r$PwHC?IUh8dhvfEPDqGHQZN)g5TDAmvA6Cc1;8qmD4*JY)2k znl&GDB7g>Frpbfug$6D9h;c5(%cwZ2bZlxw>9M@sbW;%h)l%x_ueRl+Kb5D#vI;^v zu8GR6*Sbh1)ohnrPs!envDyQmZ1{-3iot;4lFW=>;)WSmjd9cRUAs7;e}VVW5vVK) zzB}wksR{NCsY!=S)vN+}5erZA5Qw$a#v|yeNnY_3-om7X*mI<4EUZqs0Z1B9Y=Kwk zQ+EgK--<W6;kCO`K98JO3?5VSv+_}9b_-gTwv1xN^!bKFs(siTINxb6nM>)j@EptIC~_AStdpsoKu~6N2mCz`PQ4#QOm=W zZ7EYW%dPi`Y~?!;l(n;rAuE=S`%(Xv?L%@z@I9*|#Y_X)>~3*s7^K7sAL&BDt*er>dMwex|dTyAL(M^n}E`Ip3J?1Nk$51~VKEmKl{d+8M#3*E~=X$3>fFqiB~_F5mt4Liw^ z^>Y&T)F&H(qfhT*9j0BZF`(tnE8m>{(MGX(Y4AqM32G5466PYGy*`9|ESlHEB(*q7bE3N5A+^sN2OG^bx>fNRJU3q1JRV( zFla72O>RVqLBK?bconh(qBu!S}c$X``RPo zL=$yI5+Ue=)<}VNfn~dz{ebEURn*W;PxD}r9+Y~y&w~&S50=i;LziwJv(lb7I5w!R0m zol)s=2?z@im@2w;0+yGZTXvPeoUtlpBs}hc=y$PhVr<|kRUJBDQg&a^6ef}?dF0O< zq#$2r_OpMK``BbW7XK6S}$TUYsfXeblOROdEODr#MEYAuoXhF2QsUo@wH6+p5~HRN6jf zk?|U3Wf}JpW;x!G*qf26tb(J#6)15LNYy>Gk?@HcL2Z>_R2nX2{{+a{6=2aBYRgfzWpqFE=gc)3*)sZKXl#*g=b&3C8P0a(OMJ zm+N`0x8KDXfh3jnEJ>rtiY3*% z$jY|Re?Fh*V;R7$Dw{`2hFnLiHH%u?Q=mknT1?(8=HfEC|<4^@;XFK;8RxY=-*O$VfN=X;Yo~= zUZN%pP&T~pcX|Cx5vCjH;Yk8c@WnM$|eemRV*nE)#jrv zu%<3H(HO)&e4L98OrsWjEv>)F=6T6@m|Je$^<*)#9)CGMdxVl-e!?|`tQqIkxIHl% z2z&d6ARm~Z_cvUp-GEoEcXcG7k7!>ov8oEgrmPd{(b*$|Vz1#kivahA<=Sod#u>fhj#0hGVy#o9_rZ_uvWnw;OFX8Wp$Z zS!(hywcSsL?;m@tHrRjoZL{-hRxO*KB14PKC;LF=4}OqvF} zhq%%F-7jX%aQ4>WL9;j#v-n_d7Jt7ti=R)U)hrn85r&B?;tEG=h_1;F`X&XU7eW%w zfWuBQ;J!76jZ5QOao9v#z7>aU3l-|BCo-oOXfnZM)DF1?VSZp)AU`u^w+X>5aJq+5A6_g1kv%b%f6$xhFZ5>mOX<57 z;h&}NLaE>UQmA)ADNtvAHK-G#vq8{}Zl86yGe-9>d!zd|z0v)jz0v()S`&@#|4wTn z<@4XAk=_v_z4Piv+L}6mahYi*WpzK$5}Ofd|9x-pZ~BA4b>a70(|3XP$J2KW{wMz+ zs4{`JzQO@dUm1P_VTtK4l#S(ZPJ55g8CDtnVI6^p>7y2tliiZ?;F_>` zr+>Y`rGPU+NL0?gkn>)s?#a+x3c_Gc7Qjjz((VPB^Q}c38X=5U7VaJAp5= za~lPI;Ge^iE@h5e9G;u~u1$2V$#};!M?8ktE25HcCK#q05$N<5XlQT zGiJ}TDjz-D+SNjzj3-!~m<%q!6Y&%Po7Frz2l&RZhaR;jlJQnC%H#TQBHL}i^sj;ho&LY93}-Y=vn@g6!O_0mUSi-Gw)PP zw*uC-un@iar*Rq8m!GqD>+L~ua`UYX5~2P6PC=dKV#kmR&!zNe+Mkj@nB5POzzoS5 zj8G^xj=hCWA{3WwFXY06weX&ntS#-qAxCNkqvC!A&5=1mIcsI`8J;09APxlMs0*rn zC?yeC)ttJC3{c|)$hbNowa{A-@$|$^n*3gls#CTwNsXI)3c7WM134$nPGwRA7gt)y z<`73*6t1pG&-UQtg{lh;&Wz`np7Y>fF7yh=;W!0M2WNB>Ip<*^jm9M#U(axE5E^Bn zaajV<7}f9XsRh~O*3@@Kvo`%tGdj;_e^g@D2}|Y7zr{X2TI5pMoY8&M!81z79;tAAGIRR&G>epWUc`DHxAk*p5<&TNT0rCq9f? z4kU}B8U+UuQy&Ef3U*Kpw~8#6U$kO1uvh;N`%yxzoReNy|o;PMI(y&LU}8UPL#4iv{!pv z)72>6Gf)P@CaqBhgtNGqB{lK~EExx!1H|u{AL9)wg%Ht~V|ben{OULI!6P@xWzN&5 z&(=D(RzbC52gUz#gq*c;*7**&5ne`=Sm)JYHEt3`qcDU+XF5$oL21HbBsW}8gb$dy zfe7GocqMPuV;_XTov+<_o{(bbd-b#_t@v?$G#Sr4uISx6m>{1;|V1N+_(rkxm@a#SxN|>J}*+6Q;`*c0RxqVGrBWyi(i+)0BmNJ+kB+V`nR?;LQkI_XBUv(wjJ$_P$9x zgEv4D0Tn8j0s_W z6f#DTkH%}0_36gu*7oek(L~m>|1XFd3ct2rzp`letBbFHy!iUH#n;ONGZu~EO;`C9 zBzUjV`IAF2n9!(heQ07k*aG^P#mDjZsN&-!92F(vG(-mP6cgGJ?{Se6R&qmTNQS`D zd8Pt>4tvrr+1Fm+!F-NBQAYk$DeglEOx#D&d{~R9hj+wU|dO~zvPpshQV4;aNxx~)-s9nQzDUtJ7O)HEo*^TgSC*10BhM4Yf0B& zEp7`pm`TvRfhsZFrKrnzpQsCdeIRx5W>8nz$c4)cu@+31@#g;2 zWim2#;TAM?l`?&1x3IsW$H$ng``06CnR_hgWxASFV~a}RR7a5Zvl{)t5n zLJ`-BbNsEtk>lZOfE;U*gii)J*7idVEXb9tWBWRGbjs}$mMcGYICi}48eqrl$zsQB zU+lmozDlsn{={O(e|7D6$6F7_j=ymYu;X#7(NBhX(84~Vw9m8-UI*b!oj0g4=4b(zzRHdixktb z_OGph8H%;A%(&D8JI0QE)#HdQDcejTCGf(*CpR#{ks&l=rL-n^K%LtymwW7-BesjZ zx%SZacg^EqGe!YyT%%4*8$T-7i9CGiEn||>OO@iYaAK)*`9Q$H5g=_w4{i-Id9VP5 zGPO=s#4@txh39c&vNCy7EZW58=fWFt@sSLM_mHnOC1B)7X)gb9cHZ@1F8D?H0Go36 zs}C(+eW-gi-qPQqnbFW?@I#HLkcB(c+0>~+g5v2pJzpvh=kn#tUoOvI&~FXIUozg; zyVP{JOuo6cXr6WyEYk({luiGz=t8ni&|V@$y%q|co`0NnAV^n;;D;Qa+L)$x6EVsu zydN<-0%Lrm3#ALVJ5mJ7*Ab_St%3lP9{$>ZE~+9z%WTA05c}Be<7d@teLpMA#7;D^ z6~~c8^vbqvxH?GDRtG6kb&z6F9Yl~NnmQi?{N((rm4Z$J91}=R(n4c5_Yl!(=)i+{ zG4vRJ9)o25)O(P}Q;`VpKsk&*KfKjg94qF~E94$aYH+alK*G6x*G1ZOkycv;gsc`K z?Jd_u+S5>^!R&U4wBn`HFB~S)Dl>CLSJe|}RVU9Jps;fJG?Hi4QzFi)Gi2IdHzBT@ z5PM9Bzj>YCKK=MDf$!b?HopRX>xh9Yh*^){&RTw}MxTE6!|W;Hx3lZ~_PWakV{fm1 z`}W|spS$j|c^bKFNTpm>Z>yJ1fB!J;*4yUAZE-PTpI6M*p6lcrFIv@>CZB%HR*v~=&uok9 z%=S97UCC_Uah=&d{g~~ZSR|py!!+A264?(#F5-|+$1vpM*;B!6AJ48c+w07BC9{3k zb!PkYW43#uWCY26=MXnS8zbw5$hrvG(=kByl*GpfkKIgqL!@x{gGwCQ3O1Ym)h_ME zn~RFMtgW=QSfCsjXE0)*>F=^2uaXs+Lm z-*RQ5-ztdMQTN+fC#f8~vv%D3c)53#3>d5TF?oArUpe`r@S!S1*XvZN)(JhNqBt2t znI5i`vBfBO#?i4&m6P6R3r{#opOSg1t!m?;YVcUS z*}h2j&V%gWB)J3-kvN2S1O{wpQ>LJ^#sG$r$F@`;*I7I4c5}iYGm%|Jc_)%f0M3ds zrgT?rro2W#tlX3~wUJV~WT7Yzht_#W1CB>D=Kuqns(Z_=1@dygAlsP!tIjXmRU~tT zM(vaiD7k8bD+{ux%mpPlNk{9eQINhyG8zqO@Vruwm614M5K3r^jJzLlo~E~6lN_U( ziDN@;&i=uagg0qZG-;A$<#n=~d^gfFwNqQUg90Ex*2j25>6+T8r!*!Seux4Y%J93? z(5?qZY99$Zg_7=kG4p9Vy-YjZj7&Rn)0}BnD$`CWJ!DXk^p_ItawXc4-AT5b4NPTB z@>_X!_%bPYu}_|zi;<8h*1qSIx1v#!U3%}ZB)go+xl0d<&5vwBOv@J;aF+zH%Jn)L zZwlt%0jMyx|NTsEVm_5^koDvwtyG@&a^j+7cL}trub`wRA=X^^tv*`YL<1t3FJ(01k8a~IOqH=fsk5J^ zumuw@Av{kzb9Nh-8X`Ze=yY}$o0us8_SrID*QVq#>HRYmM#vhD`w3hVCjN>-t3o`V zMDM^G{05I7tl<{H6-Vf^S z#5h@9NWj&xgA>)@@x~7~<*QwQn0r2Of^ESbtXMmEHy{zXw0KwxHb1J?#OA$+IkiLH zv=X$vW05ar^dOFgroE{XG5XzG>p{aL3rvUrRQaSEKRjpj+CL4^xa2yVh>TGvOQ(b} zFoB4N$(&xkVSLvO7}U}mu4kVs)0!kkZ(6CwBqv8zMArGg_73oIV)w!7XMcBaYo$y1 z^zUuvcWQNKtnO*8uBny+O_mPMr;VIZR)u_8AI`}{fE}rk&~9J88?e5K^z`X2&k!>| z*ZlS~XCKUiBMp2givY?UrAYC`0A+3h=m2t`-w76fB{RjBS;Zk=4yQxG;toQK6sHB+D1!9fhPDSFcfy>ed@hQFiVaJ2C%JxUlv z?^LcC(jg;c!?_qdeQPXR8UqFDW3Fm=4c-iyDjS#+^kT%+Hac71*nT&B^aer##YS9v zIgR&5Xe?KrZ5-mI7$ju*D{=%cG>GcP%4J1L z3YCb>sGdKEZMHCuML0)UQ;_LsH6x?gKrS@o+uH9Q@{m#`Zk_b%XvKJ9FWJuH9bUzCb4iq}?m3LeD$Lt7B<^^&L&B*0PSG++Iz^ zWmE+-Dl^o#G6K#oxs@(hs9QklbZg*S?L2Nx%~C!EP0!_1L=PsXJKC!ERPKvrfgaH6 zZqu;XuTt#w$xGwZy@|8Cm9ARtV?$4Rrnw|?8v|<2a#S%VDSo~g%o2gGp@SIw4`XBH z&`gJwSsui!kyqxnocZV7LkmH+32<;H%g+%3-PL)<%p^XUjW-I! z@I>8n2}vf$(18eO3u>9TJiJ*d_#j!h~n zj3ag(m{a7{QMIzk+;6Hj1tVytx=Ac)6O8r_2&T?6)9OxDx3w7ER%I^b@ZSgy)eJ%} z-Uvi9m8gOLE^VEtwk_jL@+ca?0+0xL=?I#b4asbGZ&7hqvM8Va+#UHXl2hBrDW7SA zB)h9PL3b3ia#bRM0l}cUMil!Ke?ypwFRB9=wS|y2eQ3`DUDhwJvEkf%_gKqfh++;lWsnUy2X4XEyZ_@{nKhoFC!N9!5ciu ze550JKJ2pceArQ?xs24Txo4xfjJmmapPLmh$@ndXPkk#?>gIW>Zmsq9 z9#v^D9zCXyq8VOP!`jBD8gp=r5U@Jjw`fKeVL>WG)w~MZPuqAXMlR$QMh;>l&v-if zGnLDYafjk)w4@G2==_LTb$Sa|07Q$u9H*j3rMiN+;4#Jis_`5un$B+u6-`8%+CWL7 zO@JwyxOhQt7CK`ET)l~r4Xsn_`1MqOXz^y+)zp7eJR(k{Gj_&6yfS7AKFNp%B$sJF zl7ro1c)EM`CP;xvuM2YB0s{(uFD-EYWtC4$ zP+HLyh_bgU_R6sckcSoU;hr8>AO=Wi$f{UgAm?KE-3T}(EJmJ)*u$d#l_Nk*4?uyj z3t0-)ZSNo_Sb0?()j#k}W;dz&>>6g>l&^8dJGx_#*iodu6klB^=11|`wBO`jIfcd$ ztX!%vOgPh2=r2?&#ea!V5q`Dnch0>itBTTSGX1751Pp3gJyF1psBFi^`PM% zJekV}&gS6h96X;b2?;Fhs^4bX&o}JLne0U%nqB{VRK`0rbKl2L}~T_ zVN)h5yd)=Yx@BGk70YVDt*K|UxfSKk(FhbnaT;lenLN-7YOnIpOM2~SE4gSsjRn%=qTcl-0_t5~qMhFLWwPnrSYCqujU{5~-`H=g z%ed5kW53ZZ<4^yM{l~lifS0kQ-`X+}EZx};z~pE58O_o=`vF-2ihW-?VB7}`{D6_~ z5AK7;zCXwh9{oYXKWO~>PT6;%+}2`j-HtPnsD>qJ~O8K8E|D~2<`2;4^nI&JXyS|7P@7N zlUhN48SkjiprtG*LNc#WDP@8$#<+xL1v{0(fDyO{kGeEYhODiQ=a6vh}NzOLwi z-}A9!I>%Cu!BX)e-4EYjvFP*+PFkx;R?SJa86#q9zL6aS6Q9RK8)6Y(L} zoR<(PXa5klqFRtvNc%yMKK7RxfvI$|0*yaY5cTC2KvW&Q8rKiMa1mPgFqL4fnsRQJ zb5@GdY$_&>6!9Q&0vt;*MsSKw5shkcc+Ngayiw?z5r^tnDWLT{T7C-aYRpd;wwUhnACRIW3+)n8Jy-qa zsr2UQtA4XeZ=Sg7H;<(^@z7t@JVCkH@8^Mt_TxyeGP6nPXa(W7DDNgn7Ekffe$%u2 zXMyO1ZMm!oNURc1k?6r`K+4OgM0a-;FX3@5y;DcHqFaQW^f8}*jt_(Kl}lL|O6M@!jFFl5*ouUgfV8lT1pZzNFGsb4;hUYB z3u%d+wK8WckkoQMHBp_Y_h=Um@Bl|+UD!`at1smr>a8jLlE%d}< zIRdzTt%YDYr&`1#HUCnwM`6vQcRdIYT`!U4xW5cyv5l`J>CMcEH$jL?cyzI#0L%Ls(A~XLGKKLw`dU1 z*FGaz@D?I(j4yagdK$*QrMEd@My`W9+VlR4#p``Kk z*b5fGK~w-wIDowj%w9^#H5T2BJ+T&1Gg`k_w>XHkBpz=ru>#Q&v*-{_5(&m>Si~t; z0gGYar8I?rMf*kqrEZutw9ri4LDyRVTn%?P7%qZ#a0g&x&X5*XoS|FeiD1Nbh$XJT z%Hjs{JJ9>|nZg40G!*<1E9WOB`+u*TpN4;DA4Vj7e&Hemt2LokGUJWW?}m3oeU7Wc z`FCve07%Q^GvsYJ56$a`|0Y(gtYHJBw6}Q@Vy=Oad?DW`X9TzaLKjSwPEL*iO}AZt zBSx)tPvk_Bq*BIAw&)f*MvQKBU#|v!XSY~Tn z242z*fl=E+8cTn;W(dg7m~9`4Ghn_897ZXDqt4nU+bm9cYayQ6>Jgp5usppLEio#A zO>j;vP2W1mHzg|M*m0T^xH0?mpdL%@VtPXT@J6^0^2y?d$abX_JZ0xV3i6YcvBRnb zqqYoASwX?Od75l`WqD2-`IMsotfX(zC1VQpC*e|yRLsJ;KrACkm5e}gP$rHTAtPFY zGtjKKv+ZrAp`dA#XL2fgg+tURduW5}EDOpn+kT38S%g8}5q-p+P623t%X6Wmxc0Z0 zf}R(T0P`nESVHQVkMn)W914;OL{A)H6)g(9N%kcxzjw?20-mTh6GK_N)oJg}j%vG) zY}hnbURn%{$CgGVEfQfldxYH!>OszaGeFi_aKdFlGpLnVP0J3<2nooe^an|6(20hj zHAK%^UAuHfAOxrM1yChUB3dX<#%QJIZCx4z1;S%>lsuLa&9HS?3T3~PuYqN(!?PCY zQ)O%~knVxfk;Xuc^jYLbqe&*2UhT;3hT;ZB!EIQDjvFApj4CaP#WEEGCUu9i!EzA>gPW8~lG5bn3PwKbsAJQRICo!*85Yr8f*P zymscZZNi$nBDaXH+Jx*t;jDm~-FjF|$}rNb7&KZ8<6t^UA(oy2(J^_;S;oT9y&gXP zQSkj z9;}vH@@f_RB-&+$BA%FJa((cnb$vh-OgHrdPbZC#es*V#Nv#jEICHyO%)4rqA%&Wm>K~?c&Qd{ioCazs$0}SEf;Y&A9?E}kY3^n>P@+*6jFVt2Oww7qE{4;w2ijHM9(%0|pvp+@m+XX0gq9sa@K zUg-!6LzEMev{w=ain9zQ49ZCQL%$7a%R+6AkDe>HWDP7DhH$qEfj5&U=$;&E@AceL z$2!D!>o4%0hEQ$AAsBGdYAcQel{(==Fi5+e{UkqlRPDgbXm$3!A%ch2q+QVNx;Cro zOkABEUT=GEEk-wk7h$Fzstxb0U9a?Xwe3Sg(gEEu+(IAF){8SAbu2gDF~%G>{js=t z0v*v#G$1Cw`eim-O=ce(G?|=^dWau<1%t>m#&_pD>k#ze zLuI-mNKGKEhrkS>@sf^;)nBg*`sP>5ViK634SLr3#*)+IDNDWxKBJg}mv7H{XuF5k zW7@69bg>@Ov>vbuuLtpuUF$)sS`Q8k?bc(c^$=h3dThjA=a>$UX+7v6;wJz|PgfgW z4`!RBcfwMRCuPZlkKJ39PFt8~7UsfcA$hB*0$wRmMVGYR*GSQ{{5%*Y4OB>4hC`bE z8IT!}=|j?_l+M%<9AAXXOO zYa=5%>@*R$?qhg^(cm7R1oHCk6mT=_6#1t6aOSgKN;gSVp!bn?(Y^>i^h_z>ySm^! z_C=`2unEoH{+~3zs~bS{&BAJddVLF0Z%Z)}aX~A&ntRK!7EBP>wZ3g;-tjRV7<6lF zlA;s#L_u|VDMe-6@wn!c?V2SvPDUu2J&aD@8```nLElD7|z#P$MiVaai|-jHXXJsaf0R3pBxLDo~G zVZelaoN;Y9h1W|=NMY0B5{U*5_c}FygWtZ$q3OWptth~Zz1$$Ei}uUY4a7z{02m8B z-?yn9Hs17yna*w(&R_?prF<|}M#r}S-%!*6uT!vW8Ul?b9ny_FWa=6}rlVXn46NSN zY8enLU!&8RvOLdnWzB0BfC5G`YIGWLA(KLjz=Na)L@9&m^gmSMipj9_pzVt|1t(JT z(Cf+Kw05KBK?8}KB}ak-28<7)BJc%Di^)vCTI7=yzZd=(ozu1`&vOwg*M=oC1ldl+ z^^w(!JSNFu;_is%*#E&=VWV_;Ozcf%1yWK|8+R|;V_eE~j7zyV#zo2>^fX@s3c`ni zh&yJM=MDo)6HLN2cwG#g&AZxkQnB#|ywrZNTJX}&{>1cTvaXA^lu<;!0*#V+qM*In z0ei%w?Uf1=j7XkdU~>|4U?}>5zdr2XlxL;J^k$E}3JFDr-X0GPmT@YN!m})#8R_57 zBkeAS=2&z&%D}iP((7k$BYz42M-s4I&g7^Wo5CDtoBUSe8#q6DL`=DSW zl=-v#p&gYk0eSMKVtp>1{Y&RAO4_|`h!X2v%XC+Rd2LJFdwekcck9LMQt?nF#vg=9 zqneq0g5If`=+jIzCpE%_9YmP*+O%Pu=sB3uYXEc2>oBCYO7qTN|D}ITQH4=+{K0DU z+VqpPjq9)FVe=TFk`{(`oD&j1-oVjUh|A$QW~g(024}IZY22NR3Eu==wSR?<=eEis z&xDE3%?b{&ss{9dt^}>cf4bpH7rKF-q~BRPFkfjlALOle&{mOcy<{x%LcJ-Et3FS7`tnLIjld`xU!Zm!pcbL@{p$xJ_pm$f8rp4f!3ozs*^~lrqc^ofE32sf^-N-@u>kfaIyud zcQ?v{fN%ima6gdZCs+n4LkD2-cRFp3OT`gNz=Yl*Iz`nw235jN6*!aP#qddJfEm?C ztI0>+0iEDRltMtqAE|HnkF}==PD=Fv{**5@!9XqqB`#b5&u^%X!o_N`VUc18zv=8B z4XiNK;%A6BI2tXKb8w(q2j3+)F&6Z^E<$7esLBWIo|%Y&iYWwn!Wj`HR;#5$A+8vi zWx*UVEe2x=*IfVU@YtIkwz+}x)bV%5%8=vnsjIH05n1gBKIu|Cd`J= zS2H()wGz@Rt8FAaJVqx4{wS7Ayyd90lI>~57bF9(G?7n_hC&hI9q1v!weUT-So4=! z2#CG5#+I}Kq8o-~J;68v)q)KSlW_o2IZ!0JsSSd=u0Fz)C)M`(`2;QyN9ghKzN|pMPUXFuKClwj4L%gR@2(098L4_KsxbmBJZ(#@TO&J zhWBn35P-WG@^Yz#+!6yChyj@hHc-Sv>sHX_QU&s^*VE~}k}i5h!r79%Xt6-m)}*qV zdr{QH+-n`fS2{YI57(!`^a|q9h&CFr4MTMZrt62GRk-8S+Bkfskef2Z)ldqzGD+!k zBU9i-8Rfk}NC-i#l6%(J83!%_$vyK;9#(sDzzVi|n=6?$E-@BbZZKnYaAR~$wJkTh zxiRxm0zC5>QHmnM%G~u-=#yK>zF|F@O0sR}9Y4k3*6reo>QI_|%Xn$Im1=_>>X|WX zJ83-77`TQeZp0j9pDQ+l?pp8p4j~a-bWHr#5JXg-EU#t%xEMF69Alw3dpX``QTMy(o zYn8zG6zDruuuQ68@meO?R|UCYRZuqs7Je^OL9PH^lv^e$7bhK~7#8i|>q3elZ(>^s z_+IplihWfsorCB`2}E0!Z~#B~CM9rFVu8nN<>a|ly}bC9-x~o`)4sb0XU`yO3fikS z+kygEb6zhfTr50zQ%Brk9tcEUD~fV328Au)h}N9wlDp|DX;2fslX%C7)GYK#hz{nB z7FYTTFSa-NIuhC&4b+$ebo3-atvRU$kfIR6L#ujHTy&v*1TU^Tq1_ZdL49i+l1jvJz6W!bZ%j`)6K_*NRoM72JNx_x7=_0%hKQKax8yE>sF+l>CiRey2j;Lg zDh$9WTL6HRz(5L9J>CZ_O*Vb3bm2TbCDH})_|X1wN_%|H+h(m?_JP(PkiG?m6Er`wnG@0& z@&?@Uus8I)o@DW`c?AT(8k!mNW1Z;{cdPU#Sh|>x`o|Q6A4qMBvJ>jxC=^B43=F&! zZJf)X()d!U5KPUSQz~j^(6N%bBC%d61jZZTrQ}fKFz>?)n=N@MEl@+Lk!GZBL#45Q z4k7oClVVp%f415|1K_aKW)m!yzzZ^=3V4m$loA*C)+R0_x1t6tcL?fTas>`_={T48 zAQ4$^d?OD!tEQzXD`i6{0N;e=?2C{U5Lvkt0IDWm!4|`{=_s(;&?D>A@KayW$cTcTaizen8 zK8Cc)wWThZ^tlvxaJ0el3V`alG&P3v@r~jr{taScTev^Tki^TjrL;y2NZ^OcqkjLV zfqhnZe1s9G0kolSe4l-C0A_E&!F^>@u7K_KJD1Rzz|o|8oWo?eg!C>2d#NK3t3v+* zI!h990FpXnP_1dn(!#E3DO1HdhdYi%fEJ0(+gek#s|ILSmsnFJXNZE@=IO9q(KY;iE6gt#^|O3g@JCNQ<26OvK~q6^^Xx=DfmbZ13+jyTt&f>6!!3{=J(M8Q1cOQA#m67zp6eX>u@ZuCuU7xM2YBZG9oz7bBH|yKCN(BQS4?K|aK^ zg{k*#A~+8Rf&mpkP}4mis99o}YL<@&!l_5IlI|-Z(&_oEydYvdKlb7oBG@&wg}$F4 zverSwx_*ePK138nKNKR;tucHmdz5FtIG}TOc*ti$CB)WeA|j@#kJL9MpUGH0ld*gz zLPXFod?qnV)5KO8s208ylA3=pYDoDzJPOK;Q}4S0`>bKr1C`Bp?C#R5fAI}xCbi{_|O!>cW4 zzBp&vFO%@zy{wzlhYJfPNutbBA_*V;_#X)c1dG?43<*II*m75+l#=Kz>BxblkZW%E z$(f@8!Fz##JW|3FxrS;RUbK>0<$jEuhL!@WG$cu^<+6kn7DuV^aAH9Sb^^t6!5{(_ z!ByhU-T`P141Q1FJlPPsV)5C<90PinGKi6^!#1!;h0vHg9HR7IK;z?1rE7xjat~It<2W_A^~c#b$RhH9rMB(mK|SO6{}KCknB<;OT>Fpp!`Yf z-IQ(;y7}(z@q)X1WR>Q2K=)eBq40L9eY)TekVUbzTh>rTmGX3AMgE-c%C`uJoKeYw z$PSGwUZ8vA_b*V8B`V=5T8mOPsC>`XaAcVq{Y9Y?Vv%Pi`*dKKTKQC9%}zl2nCHKt9Gdbp;JsFr}oX_W}yi1{pSXiTpfrYpOr z4R_C^4(Z;5=wej?1Um)|Q1mYqEroaihZ0TX#Smg@rNo0{(ptcx+qR8fHHhoU*W240 zFM0`wELmFyMt^TS0Dp<;y)ZEJurOZ0;Bi_77-+@Iz)0ys28IRQ?(UOAQY(B&_Xfsd z;!qu^0ZO6Yc!sB7?V32mL5{(^5RQN|_|oj=L9%j}JC*%~a`=S>30k3mqM?>TD_$)cL1(MNICSYkKJB53Tq?S;_@U_^zxRhxK;XjLAA16F4dyY>5CSOub(;CjoV z$aM}DWgdgts@aP%`G&gHYgYO+Y813Ib6-b~8`%994|zZgo5IT@7$jDkfQ91d&H2V3 zR2e{qr6BrDTn9<0Ro+{Y)ME1(#c+a(J@qVxgM16@K;N?66p%g#T z!WbEliqzy%V2$RijQSz-M$-sSqNZe2m{INk~F>Ro1IHA#6jdv($ zha!Yz#ZICCWkYHueij4I`%Kt_7?2cm-mt_UX@%K6>ovf31n;{LlMD9Bii4Ua-nGr< zlQHJf1XG+I+7c8PTf0k8473s(tRS*XM%JPr1=cmgT6E%q6bB{7h*I0c7_uugbZ0ki zA!?>Z3-2C5bHW<4_z|l3Ii&4k@^&?mEs$`@x&FiIh?uTYH%io_89ZAt8t{BP&%v?C z%K$(;Py}+t$vzszmIFH-4zi`roL7E%H72;?s5K9Zy$@LV-a1FAVcnxIm~sVmL~AY^ zyjgi*uy$SCZp&(?BuzgunEf8R_|R~EAkP&(OeHh4`d3h0!H=AbS_`M+y_iI4lI zFI2lqALq~Ddz4zL+;4#r&TrpW1G`VZVE1^S&};pW2yXiQdbIbp;s^V_ou{|;kjS{! ztF4KFibPYar<(mi*DykR@;h;4L+DprS2q>>Ow$O6481W5d|_>T!O{R9#SYz)Rp$Rrcdk_xH+sJm5Nl11XN z+8DbfBx00OgDp(zXOZLztB{sCn$3 zl+iDVN%lFqp?U$s8fu*#3T0$nb$_@nxGkVX(vQD9X?^6^Z1df@2fS*u{6~R zkHs`J-;Z_DPGXhJGm;z=N8M!eG35mw0K!S&Ni6xtI+w9c@WnS3=+CpNV)JG+&SJJkIN6GUXNwS)Cb1lccMc88 zXT;9Mx-O8~)R)WPWa>Ti5y9Znwg$s6Fts_dsA{m5LJqRr`|_!+Y7it<)c`gE(vtVT z0EQbsqb;L67BmW}izSb-*)t4?SoyIM?CjF`#OI(|DAroRMzw1-=`l!Oeg7dl<6=!wZ~>vcGpu@Q~%4*dDlWj(m8DuM7mc@$s?lQ zY<28u_M#FT(6QIqEe}|yh8;~Rv5-W=kqNyBoUIWC1C89$ooolYh*hA*Sslr9_Cmw~ z48Y{xr6e+TXYbfYXfx-|# z56sEslN#Rwb$BLupn8mUAGWD#v4kMm+8=O3e*n84SsKJ7$CEG&|0#=f7~{Uzs{Q|d zCsz9-h1QPy8~2+20IW-kTKg;Co7Mh*T($rDJF0L0v8FTK7@a&`?r+^sEeiR(4=MKU zKlxs*_<#Ift@wX%6<^p8UaYB%4OkcK#5+?{G_QspyFs%OctC3Gv(s^q2HdlaEpjg! zE?5q52jsofZP`g=<^jUosRfy6DxVIve#aw!fOfL-_DEVN&XsSDTl;im2Hl$!xGxeB&C%}NkDN(G=Ef@@yfWp z%t?$g7aS{DP%4&@5);K_DjiGBP(lKy>Ot~6DA{bJ$C+}r)5iIPQW2ek^ei8@aDS4! zb`tyqckMX&G43&UZWnTUhC4EL@&)b}aetb7)8*N6d0r5WIj@tdJBkbc160Wt3P+_- z2P~0#og>gpB7v6h5o9lA+zPUnp(YlccvQ6%c1UQ(Im>NYIyw#>G$(`{Yx!7Jg4Ja5 zD{doQC!e-7cadA0$f|A!8bQaR8IX@AgQkLg!q%KfUS;WwfN8Cd8;w6=lN%#-9-7ZLj$8=twl5~x-7t3U&J z0D+9ao&u^gwNT)Ef(@9KOfWIZ82x?-e{CR>YoXd&1EgBpMX+1rm}lt_u7k6a zLA;%ixY4CK&!G>mV~Rp`*cflstrlhX_ufIJq0ojYiGKU8i%!7xE{iUi4ez{vu!Mu-<5x z^U1~hxGB1)T;OheIduKN7C2d4MX<&OZW&(bTWm-%>DDg}9Za^&i>^g#o}NGz$39Ch zg5`E68~+qgkLZwN53)OpN|7}>u;supIxD6ft-b>l_~x2(@g~ZmJ2ttss_{kK3}S;I z*@ES!E8i8E1l9vp%y3>#V$oZZ#&gZg0dB&U=D;FyqurP*V|40y7Zq?;Xx*K@2tjxb zM7gf!fNA9#=IK8A4)U^?hBr-28$V*>%#dV<2OkzQpG1419fStNtlkITWsOy0V-}U@BU5;B+PADqJ z7ub`!o+duXafz-6fr}Rm!3c1I3T!==p-7zuV>Ld{wrz%1_!(YZtG0r);`9YWJC+y2 zicTt*laext@kJ=75%sPY!w}3?{g1AdqO6H61)^rmh!}EUGcaEc zXO)9*;a*w79#>C(HDo59`yZ8TMqZXKR{b0Ch1y^yD@@KVn0izW;j#hyq8$Fz^R=DV zz|G@vLo;~M(&7!+=Bu*8C_j6t|NDGzc`x?~11&^`(ZgVxrYvRFGtJIbp>&%;kbo!2 zf@o2~=5v1(?7_L0+I4As^Dm3!a;Q}gB_tPZPsfl95J+Zzue#G%;}AjNB$|lRl3F7> zS>Fu*B4{6?cgPx{K!m9cnT@!ypt+@;w&I&VYB_DwR*{uX-9mYUIw7@^Tj|_fTW+OO zil$s>DqGh3A*<2-FI>%`^=PcH6Y8>o(N)4w*kt{j( z`{?VmIf`M}Z4FD*x2`M=#}7Z^2jv9WdXR>r;lgP+I{gzFbkr0Hui@D7>6wP3nb{t< zo?(%TX*gcSKdpwtvN_XmhWj;~;Y{K$YB)Yyui-3N?OqMXRl85aaf$`x5+nmP99l_8 z6*jzvgH8kiEK9?2a+;7V((xLOdd&b0$EjKj*r|qdPRn!}+DEF*N;Di>YL*Wauc(Hj z-O!5~jx-)=I2*VZG@PxxO2g54u+ng(@eI~*40x~MX!ANWoHeJ@aOlu94V{V(4%^9I zoQAVTjbMCmDGg`z%rqPmsUoN0h?^8O9ON(!)TWC_z7uOf({v}0+G!&UyQT|yJ*cSX zcmc8{DJ_$mnX9wzZJT*W<1pzy6-zMU47q&gS7VH9Q1bLlgSWKi!x8lU^JWKgMCQce0~P=_`3Z7;3% z%AmNE0Hv2f*D(N_47#yTyj;iFwQ*T8sLM}FI=l=@$;+2P(Q=^eC1g;y9u{upy8l2K zl(Uu96umNNtxpEcBB{@yH00_p_}_NpEx3iDDOd<+OJ{ZJMeOr_kQDS74tCvEHmMkc4pMRpHv( z@Z-$2ca*git2YK4o$U1LjfALE!6veW&(`FM0fv{-Y^=9_=V~?$V-K&QX5;Xu@nl(= z%{fKQ#$M{L&n>(@w_rw&*XI^wB9!F}1MYYH+``kZ&n=jA^7`C@Eab1xEsUXfmbo-n zg>3Tr+(M?;y*{__`rN{It_1#FFt_l9bHZ)%?pfOQ?G3-?z~QG`EQnbqS(18e-z+<2 z;A@R!w(sG^w(pTewr}Q(a@#kHb)4zMrQjS>9>84WVUZ_uzRnTeR4_C$oL0 z^*yIG;=Ft8HWb^9MOvEC9ZA-E@1BvOcaPj{oOh48emUb;Hc9#|v3=u3v>7iV%+}|b zGf~rf_n7UQkMi!Zqd;|*hgrV2X0AOle6x*>?A;vw>g?a#&BKR#)8*T8`Ch=#Y!&z( zvwu4;pVaz&G5u|s)^BZ5;`}jQuJzmZvN-++c(}E(q2)MwsR7a5D$9HA8lLekEWi}-0o%k zO1up@UsE1hc&i69_Ljz6Z`yD;JCnAyzeld;sN&Tr@S=%YWm6}O@H_J%9{&1LNh{|*eTPMw)sisE3f%W=Seb1nlAXtvss#y z2nptc4{J1c>eKkj!wP79ofMe+${U1at2wdUljOB&&qnH9+E<>BUYeGxJkqp0<#TCT zVl>jUq-ROf<}c6vV&0$TzJ$L#TPdi&tqY35KUa;xoi$3njKe=_a>3Qynk8j zFYo;Ql-%3`a3S~p@>LuHDlgApzM=_o%?5jC4)d4qvuRtLg1`JgZ+XpBpVnI*%EUpV z;4RODF!hGqd*|CZti-%aSsFk`aFh0@@s{_}N!5AFr_xDvS<;EAue6=>`SCjT*6zP z#Rwuv^JwVtmbVZ-4f2-99b&P!ycM*hbYe^U#V;^mRQ;SbzTu8foJY7kN}@sD@+j@g z^_H)g??b^`zM`F`7kkUI_qNy{Hwva-6+LcDo08+N^9ol4XS>L}<+TNp^HlPdkc(n- zn+HyGHSYnhfzfoeDsnDW#t@)gOwD76euQ0bQ+-=jCy$(p;rQEH|`4$+ey-PXm;~kJF*;`Ar zZGXX?r{DzdwmJhubAkub9(Nv4L%Y$irmK0c{lPx)ZhuNRtWH%)ec&s7{zq9P^FQ)l z`{n~*u?6P^ANb5-@_=KHS00=_-I@70&-`|c?8yTte1PTWm>-z)XM-4I@~gnfEwv2V6F z{2G^{v)l07>zgg5yU#b<^l*)>Mc-_<+S5eKmyoE&8r9zH+rpYm1hy`-F&mf zK(%)S`(Pyle6y=EmU>f{H>0!YQ@l-#6A3_^nZ*s}OT`gliqA1A^n7z7CwIkNj&Jso z)i(RIZ5$+5cvo%uk2VTLb~Uqn!8iM1#0(8n>9&Qo`V^T+NL8@+&6W@UGJUh1zZ|l2 zUTrqdP_=vP(*_~gs=m2IeOlja8`(~^`t;@4r$?=MObG`p4RD|#NWO~Xd%jyKy2Y&& zjR~dUWS@S{#Nr^i#w|w0OfApsZIjIwH%LgLbL_#1*voN|XDr#__kfC{+Cth7$v)`DK~Jk+jJ`jC46)XShozICV9JOBE;(EY1S_TP(R3*0XR%#!gan3z%4~BgJWAJj8YV7IkHLfbv1a^ z7WjFY(aNcGp*D`a(E3wD%DK)GAv}-|n}?M-UC6#4>u}&p#pRY}G$s;-)&yTgjmvIg zj6oZfq<1|k`2vBExzX6SL?$oz4_f+aOVG=`9VjLm z1JHPgwZyCdaY0Y%U;1jx4l;-bEqyiF$t>yCM=#8lzFst7>8thYqHnmRDVyRe6qRjx zwd>c*@(u4<`sze4aB2qinu-5f&$v8;I%18MzMA~8^wL)(C-t&ZEPZ9s=9w&g^|CHV zv4$TY{(mPrh}Y7kud=S!>JM#n;{Wmt>b>Is%h`OUPy9DO4RJ3d7IRNwtt(8)NZ4;a zqfx-b|I=?iI239 z*RVm|y5Fh9f79i2Ms`N-DZPxWbXxIWOEC-LzYOY#|1zlO;=d$&#D6WzMEsXMy&(Q? z=2hbVcJ714f2&Tfd7YDuiUZ1-nb$|%7Q<#pN_oo5G_QLhK;tq(MJE2Av3cE==AX{M zZUXewjv<0S5Mq9lwyIid=VU z1A8j)`&<$Di`&tBD-7&TSk=XEnSuH8>=LW$626k<1(<|_64$3bY z8)y(*O5nHcXe7Zpf!_@5HXeAX-)%>O<<#ujPPOSZuv2^2H($DzlbprQ}tmZ8LrUPX5 zd>N^nw)HKw{F}IlbcjUlw!c9Y8Z1$}O+Zl5#I1EOtYVr(y+X@>HW2mc06nJvejUKg z`cQ1H10dA*L7YYU7MuPvh)=BpSXWx>uw6!^tfFBJnoBF#{(JLCP=>K z&IaK`$K?2tW|W+KBm}+a`$1CYP`9Mf!nP4{Y~!(3aEucKB0E@(t-O+OKBkq}(7KyE z{|M#>+oD+$Q^b*%OMzmNJZ-gSPwio~ z3W;3!cT`1cC_t(8Tte#)Uu>a zd{Q6^M$3ALoeLpQ@>hfaZBbYkEQ;q0Go-3DF}F8EZG0sV27S=(?T$n!Zm30rsZ9Wm zHmM`L+hEN(S32xZ$0itREF*zcR`ehiOllt5C5*$gvjLKHVUULQ-Qd_Jp)F0YN@&qp zC>sr>t&rTT)CN>XrW?UVdT_CYuTR5eGfWzLh_ADYz+2jRA*4l}mwuj+xzedevz&wx zbP-)^D_iIqR^#bf-t?+YD->N@kIU(rV|R?MZN><;!KstbwORg*Y}MCr{05wYq7_T<|_*LP8ga2VI;+?oi5*l`|ShY5=3L0o2$F=3>uic)}A<)nT|i z28l<>0%zRP>N%H5MIX{E#cUWi2QV9(J`2S|@kw&b1~W8o$i)-{Yf$|nE%HlQLj-G} zl%&8K;BTcOYhXm`h_f2U$XP?FGet`HzgR<+K3Uv6{{MFgeK$wwHhj)s}(mpub8ob-Ux?LN1LJuP?B+%65J&$jnSD> z-on|8s%F?Frm+qp8|!d`rg&$miJSqg=%hwNq6*i*v$$|${Wkbw2@_mdd~-Z;NT;?+ zO>QPHI<^jXftvEaXx*t0376A6xfiN5crbm;aZuv<5`98RxsujQB9gSqXjjSvGw8~~ zh~}iYisBiPmE2)l^yUOxo)(d;gH(bU!qpd?a0L_sfHwz_Xg7I={J10#8B|uV##J|( zW*}J2eSRN$RPh;*9=C^z?#V)|>^_n`eT=6Q3VI@a_yiB2F-X4gGyZ{$K<(U-m|pVI&p42&&kODmvKDJBy_Gf&@8lS?ltD^9 z!pJ+MaZN=7I)XU~8I39mBsj$Y<4dyeC|iq0gi1)^tUWu{5C_w)|6Wr+-15l`%9#!J+q_bfav&x}rY;}AHv^t+oW~})R8S$6dS=CG^^JtTp>8L(=(Wpb6geU8R3=}DGFdRGD z5XHccT+2e3Mi_3WoD^^Jbm4aI@>`|u%DE+yDa7|q!vILKl@6TI zSL0N1m8>D37nprWyR<@NMFH!3F*Rm{gEpwA>##J#WU>veoIFd3;|d5C|7ccv>Si=sDOSdPHlpxVO3`7MHz3qOOr4;ut!j+FaG(~1L3Km|6}>VM z$1D8`GPRl+C9Cr?v7!x~Yc6`%ExdhCZiS)*fAT`(5o%fv7jG9 z=n~{4qjA7+k9w#>1fX<{$5u&$Z-A0WI7ceVp8`V41vyf)?r4%qvaP`+HQ=dMhXcUZ zp#cdBLGo^yglNT7E#%3og%u~QLGa%)Y0YTINNAKI0ab2HYGR0|#IhH!%CWDfF|!)O zhivw*fGVdh!vLDeYeE6=Y)0LMnj*D19KsF5w46vOvUY2gGO-PL*h!>WpHNHTts|PX zn~7~gb3ts2Xp~%Rix!D(#!XCYgLp(4y<(f_7Md09da*6-kb?^sBXQt6xUvpxVw=N0 zm8QO_*ru8LH8P|?*y3+67Sp5PU(lJURoSraPWes{8VcOv5LS_~#*o8naIx=E3B?M^j;pNUohRYei!~ zDTb4n8;>AnFM8K9)+$t1b4Bhf3*W~Wpybb%f{BbFNNUC$xw&2zWjayH5y7f>V!^Pe zMsbEk2V0f0z@VG){i1{kx$$N*#QY<8GY1P2Q8I+1OBlIldYfjSY2T5c{O`wsjJ z?{j3>TqlZ5CxT}$r4vP2AJZ5OG@31g+}8Uuj8a>UuV$_lK|ro@u0mD?c?!Z0RWEKs zs*s2q5#U@1$Z180eLY$cBahk(+Lei+roo!1(u#Bxs3JS9$hfQ1is+*@EFkoqrf^Zb zB{Z~aix)G0(bmrH1y2E3*S#uUs%VvVF|w8RNVv?Ti&K%_R~R~+E+M*qjyF>nUgY8V zM<^jkUdSK6!6UBDs&-#e3VCC75Yg2_(2|dRp?{+<41VpRiPisA3w$; zuL^xUfBXcGyejmG{P9yf@~Y4$^T*Hd$g4s>oj-n#M_v_rGJpI6kGv}M^ZDb`Jo2j0 zr}D>VdE`~0&*YC^;gMH`K9@g!l}BC``h5QQB9FW(^o9KK8$9x=(3kSZhkqLUy3mFE z@lhUmRoqAN#}D$zt3n^kA3wq)uL}K8{`fH-c~$7+`Qs;eHP6?Jo2j0llkKpc;r=~pU)qk=8;#0K9xT{%OkG}eI|eW3Xi-h^tt@;t32|m z(C4#9dLA6VlyZDGZbY8r`>{i|&{ibjR%xY?!}4$`;EiFFZVZQjF<_V)Aj_jAd5s>y zDAnkBbm>))E{$*mrn*fbQ!hjpH2Qk-B*TFndu3L|`U|VVA>>?yOw0%LW$_{`W1RJ% zJpDme5`$4qIb25~u^H0CCgYqFQO!CNNvOa^Nlm6&hwDsuW$r<33rG^{0lOJx7O|o;x7fa&hR1%MwS^-)yHO*Dg zkf<0iUz8$p*x0NgDx_ISB)5qc8zB*E(a#BD3dYqJ?q?!-Nop*N*=BVtT9s&3(BWrm zY<_3Jhg>A5NQvYHs1SK;QapOCs>;OX1sOJ^6vhU^V1b-^X<=qfLj$^MgR@XfCbx7- zxhmSEmSOOgJ6t-UB&pmGqp2I>GIc|#Naa9d;j*qOJPwe*DL{+%)bzGegod$Zwb~;4 zrPRPgs8E-+DFo5qrWH@ai_|<#3aQgT;=a-%KI<IOxoMJNoAW^XfS_mGKjFB7E0Uyj&KZe)As$WKMA~s6Wcq(F(H9DOUG}VtBdR0He zoYpkubQU=}Gjj=a7G<-7j?NgVo$7~u+s_L2e#q&}LE8fmelQfqhoatRbY_5=phLeC z2!rX&s4Slt^qQabVLaoJYs}2*6+cH86lmxWi4id;F&{1xvv8R(pwNs|YLK##y>E9= zXBVVF0GejFA<9u`#BB4Lwp(PI zr>hoi^ZnCyn#&^ZvL>+#a%hMg3Qt{f+O9{}vmUt_)?;$0-5MopDX}Z8V6x9w)%V~e zK|y(=T_NS-j9yq8gSd$1roS_ryGDUU%9{ubs)Ng=%A2tjLke@iDW(W?nqwwi8ZOlv ze0<};4wtSL93cUn!78e*9ny$YurFgqMM;ocR81}#;u0}dlQk77Ld`%-S=DaIm81y~ zv%okLI_p=2CHb<1sV_??Q{uMLO^(^1%{A(c|6C?n$i!|?-|wQAi5^c9Qr5I9(N$(7 z^czM+8T3c>P=b6t8;NwV#t_*h!R_MePV7BFzJMnu3eK#jjLm?bEZnb|Uk%T^O_6<~ zc=h_jQCJtiRUoj_U!~x~nX14eSnypoW3^ksqX2-AOS^P6WcdPoM#ohKoFKW0vondK zT3DYGi&m?Z#!9rX=E=&*KZ1%H!$99cr4N!4{%cWF^DR+ChfRXJL=15xW3TCN$TOy; zv{v2Os`CvbYl%`l+0sq69F^A{849o{&ivpIWo%88jkU%k`K;QbdZqxvg;fpAf`Cf^|ek{1my7J2F+%>L99L zc+W!*A3x%5^Wsl``}KED8epOCw}c_ajnR&Q@(ak^oz#GUFjXH32)=tV8QD|+F~~pG z=N392rRyoWO_MGW5SNgNih1}*2IAtFYAKCL6ixp8ovQy_iORYlnMJ8~i31sptPu@^ z+r+^vfsUt(gUbUA>0rSoOtPq|fka8-s}|-#2-d85mBeyrMT{D;Ag19!(9m>NVuWn1 zFDk-1&OEs9MI!SX84_iEY%14x$!r^8OOhlAl~|D~)t&autCJ87Zqce?+mgz&j6MaF zh7&Odv*=x#vzvxvH}opew9yIkB7d1v%GXN>XPz@Ggo<5FzJX<(JH7XV+q`+GoP5MR zs_%TvJu>BJdZ zSKZ@%Jih22@8|Iw?(qxZu^9k-^(DlnP+otx;U*%{--4S!!<+Bwi* z|4s0;!q$p-#oZ=&U_q7S-BOA;ib|6wF>`U)*9114&^sb9nq61Aj37iM*lH}25n3%A zgATMEHC_~MB?#Lb56nvPQLx+duOzrJ5Os+m1ogizIiE;zgy#(T1jVH{(&%_*z**#u)XcLJ;L!k`s3@JQ$HQM~zGw z1L&A{Bq8yrQ7zdkOE?^bVZu(avtVWEGPIo7R?0?;Cj0C<=P4UNI33uCOc+Cy*Ygn7 zaABZqH8`eL_HIz7S;mf;33#B~nrwmXlqT1fgH7g#FY%EouvbGo;xe^7S33s1%H7;* zEHG<%z-g#Ue8jkRi3gtr`Ur>*>wmbuboPnx-O&9yP=7KI-LK;`=XJo&s{eIrVJ7z- z=)rBxvk2k+Oa10v$qL zaecDh1YC_ztzq#w+?DW3(&4i%7v0ILnr!SQ8;`EOC@d}G7ij*8nY#ukq*QUD&dnvp8L(O0`ckM-ug?%Yss}Rr6t1@ZFON#$p*UzpKZ(H*e@Oi++>) zwF+v>oe8AZO@8W&VH)o4r~9d?M`jcXk%ySK_NEBwWjRV~d5lA=nM zjW8kypCJt<$t6Ho(#R<&RUPVXP2}L`L{MWDAXTH7#r_JGngyK2GgI z%3ua*l0u9ZooLo+8bhEuEMJm$;jO@9Go*+4)e@>Alg_HA%BEd3Uq!=+9;?a1$)MB3 z$0QD?H~M(a@IR z1;9jD1-xjvFy-TdKo=vr@L~tQ8CEDyd5C_XO+KxLs;xqwWe9kaOkF}ZV7nT*9S&9} zH%?ou$>d+Z5KIDaYpq%yY9p0RUsRi`L7sJ$crEC(Y-qp{dUbQ7b;`BLS*rF%|FNv$ z1d|5upkl;KB{m_o3Ndwr$qdoM^^s2Ljn7h!fujRmi%oB4?&Fk@zJkR9n_Bg}%=n^ng_PXCu;em9s}eM5b8 zc$CgCn*T=h$i$@k)kmvx3>Yo*S_`6ZbaZI6qVM#d-hV)<-sCvfP!N`)a;;JYR&Cm5 zOBB_Vqi^UBz^LS6d;)A)lylRN?+aZ33criOKx#2IqyZ3v1)P%xWSN{T@~DiiuQOO$ zj~v1~C>atlu|W@PgKCemi~Kq9DjJF%IU0@sR&EVVwO~w>O|Z_C+%qpKDbbJYf)9?| z(NRZRO%|i8D9@7Z4DKat)lN1#`v%>*4^82F zp>!zry&}$EzEE%b7^HW!+ZJk8SRL0(UdHbYPeKQH68>D~ZUd%a>|A6$tgPjsfUsG)gCJX=j)B>} z{gpJ=iq84Q+-z)63`f-KyFOe{5(jl)Ko*w(XK!zfbYNu_$a-iBHWbc7cc}FynlvHz z)s})zV1q^jN`UVf4Qaf}fKK2l^MaffRoXQodQhE4U>K#R$Tk6yv%lq9+$~x)y|W9@ z8f}9?zfpR&C8D0x1?dv7)SDI-%9gc4)&gVT;&E_+ix;Qy90(e$4K}r82qME~0M}QJ zjKgXv0^zxgtSm4H9do4{nqHd>OUNY!UTC^WX$lemAM442Ts3ZhmcL=h;dvP?$9vJTo_ShIl<^43xM031w#qF z9QJp*SmLE(k*CS*lZr-Xw`jFV&H034TGEYV-=VNLh|7uvwVft2h#Q5x(M=jht$0}1 za#9!!^n=sJO-Crpoc3Nu0?Qi-&Z7GI!R$;*$?I2n6ZM0aoIaMw=Q>bAZ#6QM`q~QP z;Nu$PAN^V|Dbqu#!&pb0@*^!p^dxb`z+|-}$qpYq>WTgy^am)2tTo}XQ(ls5ez2#^ zog)u@+=lHmgOLT=%|-pikhn3bt$JWwCJ$;?OkGMw=6uOK&WOm85!{;N$a%*g=hfdI zI>UslkSKU`8q^91Bf0}McHty4zDzarO(!_$3ko?=G5Vu(kPLy74{yunG2SlmCywbG1};8`e1=-VN)2u3`N@X;@!PkRR6J zZ7_x8t4aa_&z4b{fi-!QY0Op4bv!NbG{n;O=2;lath5F9d+D3Odw1r~_W(F%WC;tc zh;i^6DsJIx6h{r?a39$!_~EY+{D^{U@Ua+Nu0`9xC|0&1BW1^Hjm@Hf8?$C)j8eV} z@>Mm@`fcK~-l{deS-v%Jzp;)By>UJXu1SKtQjlD*gN{}dUyhW57jaQjXQG!nRt7PVTtaZRJ9{FE> zsZa&9F){ZMHfwW^p`)@AXBZqm;wATy9iTIv~fZ(lL04l$fa` zNC#()<~E3nsw|Bs5@|uqJY)Z`21pJ#4K1tWlgUS$q2HVq{ydUA4#biIY+?i9q1K|h zLo_{B{$F$Yniqr6-9PP++5Uq+NO~wwBtaHV{6S{pD2Pk$cc>JZI=p@rKl&qFj4C0Et-Dp|xg;?Ri93+>bP zjFA<^p&Aq^3(>>av#bR;jeL$Y!g)Nrn?334yG&dpd`9EPyKW7Qy^h^d@tuC`mO95~ zshHB?*2X<-HAJF#<8H-uocM*C)3`6)tktLIW}Ni7n>F~Yg;k#SVR$G**ZC>?Y^?{_ z&CT=b@p?X=4+pIi<2>%VDVre#{`!=;nL73w?js3vaXJp&yKR2+19Teb->_i=rF8@d zNG+$Gv|5o3pj6p!9N3pu%{8Ej>uD2L^CotvZdI*`NrjPyMlRgzA&mphTctff%u@}l6VE-rX5Q9e1l6_tq zwGtV9hvC7$Yr0?KLTgk!U=5c_Qn#z~Ooiqs5auJ|9ELnbsTs>;@%II#qaxnXIk>uL zM?Ks91@;0}!X`ATiYow11eC+#1~9)9vGQ#V*EOL!Os`D>pp@wgI$JspjE7z~>LKSP z%fHod(26g;#U87~JgcQfFn+zBQ7;`*wOO*$qlQ5Y5NTAURu*n8tZ-5mN7iADta#ch zYSoYc_USXJxDslpQXM)H!fqqEqGtn_6J5|7u@8dx1wU{BHd{i%Tt>0luacZ4{eMK$ zIPEg z$dGbPd0N_AazYbKz<^Ct3LKG=>apZx=uFDI-Ao30!_!l88xfz3_UJaohm+B6dG#q3 zJLf!?ry`Fmp?yx@a8LBvEWB$H8UAD-Tdy)$cPx1!&w%XGB;b|Lg&Z+w6Oew!Fws*X z^e9B|`Y*`#?Bq4X)>85d-nMR=b(auN@z(p}0RN8Uuf7&E1D>&4mxK$<+%60`+C8Y5 z$b^{`{+eiuV2e>wRhPJpkm-C2ORbM@CG9 z>^-t#s1VKS5|ueXc`oE(YNcqh@dCcjnoOm<-PoC!*PNn$5h^9tY^ehX;aV_&PRfkT z5X-qOQ+Xc+vOTDsig1}&-VYaZO%naXn0=6h1tfPry@s_k2Mf{wU}r4~(--U@XNMt8 z(fD+QnG##NVlDL5kY`a4jf;DjTWdj0N{#nbtePkW3N#8(N7fVwu5i-sTIDG~0urND z%?lO0+-!n`KFloOozlJN$)c0+*AtWif6PIyb?_dUIi0@<|hp_t)TvWetwi?MnagG z`0zUi9I4(V@j1wx77@Je#Esbb5tiz=tE~VHM_kzk&Baj-&Kr}j%|P^#KEtjYky1lK zg-L*!aTWfxFs#ZEHo8E&4502sE%hzA2GwAc*6_B{Nt1f53Jo8)hBxm@1>)uqy4h*f z!lGf_P^-Iar~xgkQsvR)5RQG6%waSJQ9_g+(r^<6WhMd9VX?_UR6rKi?-nzo-sKZ; zAWbW)E9z$3dBOXw>2;&~cxI$ETgIErZ<`KC)uxOdXoCMK#D`jWSsL%G%|RZdedlCS z(JEc2(q{isHd^u}my%1TR!1SjP(4u;Zh^&&oo_rWi(mt}|w9>0*5h>7YPaZA$M>%U=L zS8jc<-?zYPQhjAbss40Dss7W7QgI653b26> z^9oXF&B&S4#^0?d)k6&EXI_@==RJt=pOVqAS@R0Y`q>qw`rwLE{rrkjePl(cKDwe* zzr3PUPpl}_Csvf|U#uwAr&g5ew^o$ucUF|@&{AAz&eVBhpH7MK`FA26{)+L3OC#YgPs+q#@{u#!5tP{Fye(P(D(%N_h8Snd6em zX{*sfmL=-DR;r$4joc7*la7Q+qylbMt-{8C!N`)Vnr!@c+N#r#U^fZmrkt1XGvo_W zH<&c78eqXyeLVmsU%gCd3#chs{i90#*Tb;Vs~Llcz%5M-T!z#MtxxVR0=0?Op>01( z$t((d1E+$Lj&h)Wap^|e_Je@NBwM*+-vUOf89o5m{}vXGvu00j@4y4PML4E*HGU4= zzii7V^^vUt8;@0_+@~9u@r3b=w5B81?~vh!FjKyO4q$@YrHTqZG6p`tbpD}cEFpSX zsOq*4yM{Y90wrQSDAtX96aDI zg73dYqaahi>ogMtD*Hv_A5*6Pj3xxYRlqEfFiWB*`pzrbT7g18%ugmDO;)sj-YV_O>xxr$66Xi<~H1I^tGOYi|0AWkNsH9UYD zQ(-+h_}iS@lFQOBT!+4b>m@eP1h-%_?Td(<(cW z?(KN}rUY$PB{{3IWxa6a`a6URu{Azi*@Rb$M}*lJQ%Z(0sh#Mlw4e;s)_}Zv`o^)= zQ8Np7>t6|JNocvy6KQH?D_>rN3T7xLjoy}2f2G6AClA=vsC8OF#FxTJQ^wJhhz~?1 zkWu4*pdF~Dtk4y|$TZE_^-pRl-y-%~1^{jNOt!kH5Kcm7veZyvD-w-0rgijH!uQ7N z3a;2U5hSEN_IE2)+#f)NxcMnjI60<;I;79jEy zWGdyMhar!~Uudv4vp>Oddcuu~&s{by5|zRN447EO`q?E7+yYS5^BXkq91Js`t zP^y2(LsozB0~0Jv2&(^lsZ@1~;AKX&ZDDK|QdkImU84^Wmy)eGh&6tx(vnmpF617z zM>|^8oeS?~M)Lpq#6NlQ^B?%-f2AcX;P@ZDPh2GVcT_HHd=#q2(rBxjsypA4MZL#m zc9~4t;6_Msd23u|3qYm<=ys3k=w3{(`Hlc2v-uPk-3Hv?$l8cHgA!M=#8Hg~^m%QT z@;=~*fI~?25kM*tl7GRMvLIyj@O$2;TE~-my~&Ybn6kVOTj`6)VNqi(%=kk;2~L$? z@{-AAjWv{Q+x)O&SWw>qF+#(+VcIH}Jib+!BPGo6#qy?vjbR#(RyNTMz9`E(DMVu@ zZ6gAkSM9o6j+VK=tq&|BU64eUc% zCvezf3!3AaQ;_p$**Q}q?hLg+gPItzNIl*9Gt@6EXrEd3@Zg&^RMtWrj^)+btQZN2 z+cu5KZU-0Fbt<|c@3^jGH|;k^#<6bS7jD(<#^53_3j6lGk}Ryt;3>-Z$r1!;T-y~e z*DuxVdHT$7VCOi9y5wA|oontbI(LM6a~%KE(M&T3WH}=t2p1Etw2i6Xr`499$9kw$e)VTSaG9A}HzUn$~%V z0?$RQ@%5qiM?0OfIw>k!+cu-JJp(DtZ0RMM5B*o!r#l)oy8v6@&tl zNZ>Rs76=w8vzVs7i6nGB_6Kex3plYebh3~@U9lboVf|8pDye;AmxrOF_T1=l1|utu z?PbVbHge$Z??uow-GAYvZCPg&)L6wfE2ht(j>BD$xsE_=(GfUbG-j`2fueAo8c7<+ zNdyUSVo|VGaU7++JmIg{2otm?HqDE}my$wwIkfu^aEG3u9oG z@I;FB-rIt%BnEF`o4q5(wo>c{PvUL0o#&Kd+jXUFE*>VJ%iPlrNd}hon(Io}xThPg zE8XCp*uwB8s)OKS_0in~Y*jzjk`NcowVt$8a?;HrNpLPx^`6Knii9kNhfo=??aYmV ztTa3^?Ji9BWmUI4B41#dM-k12-*Wwa8%X2ecI8I1*&+nwYI~tEfEpmlt(4f3Lf1HI zF*&5rVysAZ*}DdVGq{{m8{daZ&hkVybW~9hxt5ZDC9)BakcY!cP6!S(+X={;UhI|5 z0_`DP*x!xajyan#$T)(~cu%?9L<-zwGPB{&ZlVC*;>wpEwC*yiG?8K z65Nh;xDjniMjPyUv!;Fl6|?*sB~}hLt*^}rNIpkM7>EJ7LXeF= z$IuOq{Vxz$3F_zMWpIFEDo1OVh`eYk$&LSuVFCyzN7RQvPlHPjVfs)?A0m6G z(h!ZH&aL8ZRd=ho+mO2ryW0piYNl})8bd+6q!j!%xyQjJrS-q3ioY=@Zb00FBHO+{(W16 z;BFsJ@A1YUc%<AuMQ{zAH+y`(qYO_v72LgD-4ycgU3o4h|>$oC0Yw93Ed za@xO;?nT~<`8;w(5Ij>z_vSacbT4v$p^)xlJ9^X2_2FyiD(I=^@S$?g=e<#QAHA0L z^Y5a=oB6JI@8^DBA^e`JgFxS>xa<2bb5FnP{cYFe?}~RH`6~P;3;FB)*}nHZ*Y(2l zM&8qWmCpq4O81fLd+YH#eeYl4eP}3e_rKs>>3@EwOaE8gxB2hN@1OC0Lm~d>e7rAm z-&lzE%q_rIcz>Svy9@8<-P)V)-|&47X83`%^)J^?0#ETmWDkOnz!I14>BVEPk#7-q zZuVVqbm_N^KoPwfUTM;J3QM2UZ)!A!>o-O^y$j$|rPKFeE>Bp-+4MfbB^Y#1%c=7` z%B3t82St*#nVr{JB_dMi)F3jU1b&PAXv}h(odWx z%~$yeX5E#?dakp%Qn+Yz`^GIe?$Zetm92Dw_jKuQph7B7aOtjes?$>Gvi9@o1h>jm zI_0rcI^kNsjigKKp|nb;_d)445Kgu1H$*zsS7E||(xvYVL;-_Jh8G5wj9y+MgY>)Z zN~gGr!vGU7h-B#)Kr(uHhIDBh#Zx-PRU8JAfWae67xU~HOK_5OX}l)kiksr>q{msB zUU|k`gX*rj`A!);>C>r9<*9TnuBFoHyMB+8F6OQ@7jP+jE7zcOX?}bT9wVLJmF7Y& zrMrmhVlIU#kCX=WUC;V0kWSwewv9{awsT#=m8MVA>AU)Ye)p3u{eCI$O2?oQT+WrI zPt)nU=v%+rNvC`iNAVe8tWR?bp5mM0schw^I*SH%FZMy@tM+*#m&(&`j!vs`lqZ8x zzyK6n#l-+&WhgF#LjdEq@9JmzJx7^Jr+lvCf?)?YaJ`8u&ErO%zmH3KslVxWH{}U- z<$DvC(tSVIo4L|*(sasK{ZqdiNSDH=G&gfWe)ikQw-n|vLi9c1+R2r|l;)}X+93Jb z=K5zslBGoo%v-pqmHnRMTUxDK2~m}HaqZ?3*aA6CE6{~z{XS2+v`B$?8y7+LdxD1) zjN1uOo_o0N;2Pr+$Z4JeT`WVt$4Hl!DH!kMss+h!o?riJg|4XLRg@?!ZFx~cvE|ij zA=eO>s`C~uRYyO`6Jy*}{9C#1;!@nVaox>z57*nd?&aFer7G#WelckUs=!j(cW|j{ z#k4=b`ww!ZRsA8J_1i&O!6Gsct7t3WLh{Q7-+)2v@mj z8EO1Ogr|9{E`MK<`Q1-=T9)$B?>J#;eO2clvry1acv}DTu6n9od%5oC8t2-_rQhSk zPrs|)s&87K{X8GwYI8lnrJryaaaFiTYQHCW7~@IlQ#gf-B3@HiQhXfbyM8B0o0ciu z9kNg-e~s}hyiRbX?L5hIT5sj4-!r~^m6^sBuBW*A<38`>s;o4w@I2iYS8bvn!NE(U zQGSXinpFMMZ;}Ird*ODNtIV}^o$!-9xwRf1=Jc$s^^rA%Hn<+y9VE{YjQalPTk929 z0;@IZm5=!}7rHbT)>p6fX&w{G%B15{NID{qSn0{L7uQQaN{*l2Ru9(&$$!|E<@mwv z^+#_nk*?TOb>3HTDP#544P57OZQ;6*YdhDaTyNwO0~MF~ey&@%ZsXd+r6yI^QnQGR zL>dRVgzCdwN4QRKy_f5!xPFG~zvueLT>q5opK*Ph>yuo+&h;BypXK^puK$heUvvE- zm&okf1@D8D)erN}5jF_!Um?5*`)~8!5C0bl6Ylkscz-{4;YwX@KbLT?`ss?e^c(Z> z)ZL2ll#ecvm3~qOgmZPr83pjW--oFk6n59O2Rh^XXRo>;>2^C4`;K2hdslGhfp>J;?L{$ejQ7tTp6j&d=P56qZXat;#}`h-Gqc@z{^;D? zY^U2kaK%XQ)^_*M?18@EcqI72cE=L-#^*zdoU4~8w*d9M?ITCq)Omb5gRZ}7S6{z$ zr1@KBXS$u)>FFXWZn(SCJ}|LgNW6Fdq4weSt?lXVxX*Ua#9jC9z54q8C_mI0pR*Vf zGY7LK+A}e+i(g)!{!}kN&&80uZhH1$XZ-N1 z0Od8;4#L}O1GF83Kzr2@_8Q=?j{9aq>}#3XE*I2SmGdqW$ZsOIM>gs-Jz9=VrYs)$_`8?Aez7;^c4EgxXpw6_4R~zax z9rIpgcuzn4y~+Td85w+giFcWd=*+6{?WN@9R^c^C*2@I`HA3Udh4%DA(KT=CA3XYp zA{$IrI{Liq?9Ytgvp&1Ra=-m!%&P$CnfAYLKZvLAW#4|7USou~Ob&2nP-o-CD}~>e1^m0lfOETz_%=eM$A@>KpQ?#R;m#34UNEn>LEuGfYr1NW{z{Fne@G zuxDoOXg8jiw|S&-g69t{3Y?prnCZs*r)Q6nV18<1Ztr+Hy|xz{sGC(wr$Mf~Qr5mj z%9c^et^)_#JDI7NYIhbzcvHdp#Z=ERX0bHCF}t66u-T4gBTk9KwD_y6pezH2qy24{ z!Hxm|K8pYHGD`&0dF@-6I~nf`pl$;(XKpDtDG6VBz4eP*#E!CWyT>P{+Xv$AY&rCch1Cz$0vy)2F6r(A$Ve@7@U_q zF*Bi=b}UGituJN(bZJqs12NCRL+|)>#+&D_NKuC6NvyC3>>+3f!D?ri6#cf9$=8~s~*+dMeg+l^@N zMu+WD&wTp>#aT_3iX+b>_Oj(Syjp+d1I@Sh|0Qu)y7K|<=gUpX`ChU@M?e1ZAJ?d0 z-8wv+{tb~(0OU(9G=Ik$rKcy5_9)XKxxh zr?zeDhK<7`tKYEY!VBK}&_B57l1p#;{x{!z%WZeO^}Zkedq47{fB(n!-ao$oK>LA% z6O&WZo%!yAKmHT%3idFudT@L?-uGa)9nYI<%Kmn6>+E5sU*mSCGusK?-kxU`)`XZ& zdk)_jyjL`X?K^$9`(SW)yK{KL`P3X}&rGxr1aF&bcg(5B((!V5qKj`0X`rqBhhi~_ zm_B=8qSM|FaXy%RnR9YUuv;p9U=_ryNRF4=&KwNxeem$U+3AV>hU9p9c6QF_V`luYCksV-2lR1xeCEM;c8-b)|5kb52GrD= zf=>IIb+J9(b`aqnLq#~v0G4jkPGA~4~KYA5*&tzpPlyYFN}H! zU5C$GM|8W7&-20za7e(I2dC{WfX;U(W*mF*?U7R`Dw0(=Z=0;lcjBse(5i17#OIcM z7WVRb_5^2IUU090;4)Ey{EI-$-?HQnj2{*c>5ZHA%|RcH5qLBOX~bUG?rL}6Iop|% zZfV^=eJ^(ZLHuRLr7NsD|Em^nnK;hk4_rIU;$6I6L16Lwb1 z_6*(R0r;zLuXz5@(XPRnj|$_{kk^3+)yQ)l9D8WA0^=)&(lZzctm_^cpE=|f6R;Ei0%jyy0T<+djdGR7i#S?_`;j=7cpmmDlavJAY{6@LqwmR~6Z%*x6gq6ZB{TL zzCXrX_mG-u?<~wFet=={Xh-sSEJ()p9&C5_9-N-tH$FYT_kr>G?zZg#Y{}??RJ4*$ z9#6Fy5*c0=CCgL%c)K&J(GF2vCB_W2jQUF@N}H;^*O5hsVY+>Mjv=*ufd1BLcaP#< v38{9kyb{;3iT!(>IK%r@C{72vhkQUU3f{DLugUuD&MDC}w-3L|LX7_(q`f@+ diff --git a/javascript/draco_decoder_gltf.js b/javascript/draco_decoder_gltf.js index 122c767..fb50f4f 100644 --- a/javascript/draco_decoder_gltf.js +++ b/javascript/draco_decoder_gltf.js @@ -1,20 +1,21 @@ var DracoDecoderModule = function(DracoDecoderModule) { DracoDecoderModule = DracoDecoderModule || {}; + var Module = DracoDecoderModule; // included code may refer to Module (e.g. from file packager), so alias it -var Module=typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:{};var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=(function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});Module["onModuleParsed"]=(function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+13472;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,PA4AAIQOAAAYAAAAAAAAABQOAACrDgAAPA4AAMgOAAAYAAAAAAAAADwOAADxDgAAQAAAAAAAAAAUDgAADQ8AABQOAAAyDwAAPA4AAFcPAAAwAAAAAAAAADwOAAB4GQAASAAAAAAAAAA8DgAAhw8AAIAAAAAAAAAAPA4AAOAPAACQAAAAAAAAADwOAAA0EAAAoAAAAAAAAAA8DgAAaBAAALAAAAAAAAAAFA4AAJMQAAA8DgAAtxAAAMgAAAAAAAAAFA4AAFURAAA8DgAA8xEAAOAAAAAAAAAAPA4AAIsSAACAAAAAAAAAADwOAAAUEwAA4AAAAAAAAAA8DgAArhMAAOAAAAAAAAAAPA4AAFQUAADgAAAAAAAAADwOAADqFAAAMAEAAAAAAAAUDgAAlRUAADwOAABAFgAASAEAAAAAAAA8DgAA5RYAAIAAAAAAAAAAPA4AAHsXAABIAQAAAAAAADwOAAAiGAAASAEAAAAAAAA8DgAA1RgAAEgBAAAAAAAAPA4AAC8gAABgAAAAAAAAADwOAACkGQAAqAEAAAAAAAA8DgAAFRoAAJAAAAAAAAAAPA4AAIEaAADIAQAAAAAAABQOAAA3GwAAPA4AAO0bAADgAQAAAAAAADwOAACdHAAAqAEAAAAAAAA8DgAAPh0AAAACAAAAAAAAFA4AAAEeAAA8DgAAxB4AABgCAAAAAAAAPA4AAIEfAACoAQAAAAAAADwOAABaIAAAYAAAAAAAAAA8DgAA8SAAAOgCAAAAAAAAPA4AAAchAAA4AgAAAAAAADwOAAD1IwAAsAIAAAAAAAAUDgAAKCEAADwOAABwIQAAgAIAAAAAAAAUDgAAOiIAABQOAABUIgAAPA4AAI8iAACAAgAAAAAAADwOAAA4IwAAgAIAAAAAAAAUDgAAQSQAADwOAABvJAAAsAIAAAAAAAA8DgAA3CQAADgCAAAAAAAAPA4AAMIkAACAAgAAAAAAABQOAAD8JAAAPA4AAC8mAAAAAwAAAAAAABQOAACBJgAAFA4AAKQwAAA8DgAABDEAACADAAAAAAAAPA4AALEwAAAwAwAAAAAAABQOAADSMAAAPA4AAN8wAAAQAwAAAAAAADwOAADmMQAACAMAAAAAAAA8DgAA9jEAAEgDAAAAAAAAPA4AACsyAAAgAwAAAAAAADwOAAAHMgAAaAMAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAgAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAAAAMAAAAAUAAAAGAAAAAQAAAAMAAAAEAAAABQAAAAMAAAAEAAAABgAAAAEAAAAHAAAABQAAAAAAAABIAAAABwAAAAgAAAACAAAACAAAAAMAAAAEAAAACQAAAAoAAAAFAAAA/////wAAAABQAAAACQAAAAoAAAABAAAACwAAAAwAAAAFAAAAAwAAAAQAAAANAAAADgAAAA8AAAAGAAAAAQAAAAAAAABgAAAACwAAAAwAAAAGAAAACAAAAAMAAAAEAAAAEAAAAAoAAAAHAAAACAAAAAEAAAAHAAAAEQAAAAAAAACAAAAADQAAAA4AAAABAAAACAAAAAEAAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAABAAAAAAAAAHAAAAANAAAADwAAAAwAAAAIAAAADQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFAAAAAEAAAAAAAAAEAEAAA0AAAAQAAAADgAAAAgAAAAPAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAAAgAAAAAAAAAAAQAAEQAAABIAAAAQAAAACAAAABEAAAAJAAAAEgAAABMAAAAKAAAACwAAABUAAAADAAAAAAAAAPAAAAATAAAAFAAAABIAAAAIAAAAEwAAABQAAAAWAAAAFwAAAAoAAAALAAAAGAAAAAQAAAAAAAAA0AAAABUAAAAWAAAAFQAAAAgAAAAWAAAAFwAAABkAAAAaAAAACgAAAAsAAAAbAAAABQAAAAAAAAC4AAAAFwAAABgAAAAcAAAAGAAAAAIAAAAAAAAAeAEAAA0AAAAZAAAAGQAAAAgAAAAaAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAABgAAAAAAAABoAQAAGgAAABsAAAAbAAAACAAAABwAAAAJAAAAEgAAABMAAAAKAAAACwAAAB0AAAAHAAAAAAAAAFgBAAAcAAAAHQAAAB0AAAAIAAAAHgAAAB8AAAAeAAAAHwAAAAoAAAALAAAAIAAAAAgAAAAAAAAAOAEAAB4AAAAfAAAAIAAAAAgAAAAhAAAAIgAAACEAAAAiAAAACgAAAAsAAAAjAAAACQAAAAAAAAAgAQAAIAAAACEAAAAkAAAAIwAAAAMAAAAAAAAAiAEAAAsAAAAiAAAACQAAAAgAAAADAAAACgAAABAAAAAKAAAABwAAAAsAAAACAAAAJAAAACUAAAAAAAAAmAEAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACYAAAAnAAAAKQAAACoAAAAoAAAACgAAAAAAAAAIAgAAJQAAACYAAAArAAAAJgAAACwAAAAtAAAAKQAAACoAAAApAAAAKgAAACsAAAALAAAAAAAAAPABAAAnAAAAKAAAACwAAAAuAAAABAAAAAAAAADQAQAAKQAAACoAAAAvAAAAJgAAADAAAAAxAAAALQAAAC4AAAApAAAAKgAAAC8AAAAMAAAAAAAAALgBAAArAAAALAAAADAAAAAyAAAABQAAAAAAAAAoAgAALQAAAC4AAAAMAAAACAAAAAMAAAANAAAAEAAAAAoAAAAHAAAADgAAAAEAAAAHAAAAMQAAADMAAAAyAAAAAAAAADgCAAAvAAAAMAAAADQAAAA1AAAAAQAAADYAAAA3AAAAOAAAADkAAAA6AAAAMwAAADQAAAABAAAAAAAAAEgCAAAxAAAAMgAAADQAAAA7AAAANQAAADYAAAA3AAAAOAAAADwAAAA9AAAANgAAADcAAAA+AAAAAAAAAFgCAAAzAAAANAAAADgAAAA5AAAAOgAAADsAAAA/AAAAQAAAAEEAAABCAAAA/////wAAAABwAgAANQAAADYAAAA8AAAAQwAAAAAAAABoAgAANwAAADgAAAA5AAAA/////wAAAACQAgAAOgAAADsAAAA9AAAARAAAAAAAAACIAgAAPAAAAD0AAAA+AAAAAAAAAKACAAA/AAAAQAAAAD4AAABFAAAAAAAAALgCAABBAAAAQgAAAD8AAABAAAAAQQAAAEIAAABGAAAARwAAAEgAAABJAAAAAAAAAAEAAAADAAAABQAAAAcAAAAAAAAAyAIAAC8AAABDAAAANAAAADUAAABDAAAANgAAADcAAAA4AAAAOQAAADoAAAAzAAAANAAAAEoAAAAAAAAA2AIAAEQAAABFAAAARAAAAEsAAAAAAAAA6AIAAC8AAABGAAAATAAAADUAAAABAAAATQAAADcAAAA4AAAAOQAAAP//////////AAAAAPACAABHAAAASAAAAAYAAAADAAAA/////wAAAAAAAwAASQAAAEoAAAAHAAAABAAAAJwKAAAFAAAAAAAAAAAAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJg0AAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAAAAAABADAABLAAAATAAAAE0AAABOAAAAEgAAAAEAAAABAAAAAwAAAAAAAAA4AwAASwAAAE8AAABNAAAATgAAABIAAAACAAAAAgAAAAQAAAAAAAAASAMAAFAAAABRAAAATwAAAAAAAABYAwAAUAAAAFIAAABPAAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRGVjb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVEZWNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ASW5wdXQgaXMgbm90IGEgbWVzaC4Ac2tpcF9hdHRyaWJ1dGVfdHJhbnNmb3JtAE41ZHJhY28xMU1lc2hEZWNvZGVyRQBONWRyYWNvMjJNZXNoRWRnZUJyZWFrZXJEZWNvZGVyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzE1UG9pbnRzU2VxdWVuY2VyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjVQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZURlY29kZXJFRUUATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWREZWNvZGVyRQBGYWlsZWQgdG8gcGFyc2UgRHJhY28gaGVhZGVyLgBEUkFDTwBOb3QgYSBEcmFjbyBmaWxlLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBVc2luZyBpbmNvbXBhdGlibGUgZGVjb2RlciBmb3IgdGhlIGlucHV0IGdlb21ldHJ5LgBVbmtub3duIG1ham9yIHZlcnNpb24uAFVua25vd24gbWlub3IgdmVyc2lvbi4ARmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIGRlY29kZXIuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBONWRyYWNvNE1lc2hFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATjVkcmFjbzEwUG9pbnRDbG91ZEUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAlZAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function 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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+13472;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,QA4AAIgOAAAYAAAAAAAAABgOAACvDgAAQA4AAMwOAAAYAAAAAAAAAEAOAAD1DgAAQAAAAAAAAAAYDgAAEQ8AABgOAAA2DwAAQA4AAFsPAAAwAAAAAAAAAEAOAAB8GQAASAAAAAAAAABADgAAiw8AAIAAAAAAAAAAQA4AAOQPAACQAAAAAAAAAEAOAAA4EAAAoAAAAAAAAABADgAAbBAAALAAAAAAAAAAGA4AAJcQAABADgAAuxAAAMgAAAAAAAAAGA4AAFkRAABADgAA9xEAAOAAAAAAAAAAQA4AAI8SAACAAAAAAAAAAEAOAAAYEwAA4AAAAAAAAABADgAAshMAAOAAAAAAAAAAQA4AAFgUAADgAAAAAAAAAEAOAADuFAAAMAEAAAAAAAAYDgAAmRUAAEAOAABEFgAASAEAAAAAAABADgAA6RYAAIAAAAAAAAAAQA4AAH8XAABIAQAAAAAAAEAOAAAmGAAASAEAAAAAAABADgAA2RgAAEgBAAAAAAAAQA4AADMgAABgAAAAAAAAAEAOAACoGQAAqAEAAAAAAABADgAAGRoAAJAAAAAAAAAAQA4AAIUaAADIAQAAAAAAABgOAAA7GwAAQA4AAPEbAADgAQAAAAAAAEAOAAChHAAAqAEAAAAAAABADgAAQh0AAAACAAAAAAAAGA4AAAUeAABADgAAyB4AABgCAAAAAAAAQA4AAIUfAACoAQAAAAAAAEAOAABeIAAAYAAAAAAAAABADgAA9SAAAOgCAAAAAAAAQA4AAAshAAA4AgAAAAAAAEAOAAD5IwAAsAIAAAAAAAAYDgAALCEAAEAOAAB0IQAAgAIAAAAAAAAYDgAAPiIAABgOAABYIgAAQA4AAJMiAACAAgAAAAAAAEAOAAA8IwAAgAIAAAAAAAAYDgAARSQAAEAOAABzJAAAsAIAAAAAAABADgAA4CQAADgCAAAAAAAAQA4AAMYkAACAAgAAAAAAABgOAAAAJQAAQA4AADMmAAAAAwAAAAAAABgOAACFJgAAGA4AAKgwAABADgAACDEAACADAAAAAAAAQA4AALUwAAAwAwAAAAAAABgOAADWMAAAQA4AAOMwAAAQAwAAAAAAAEAOAADqMQAACAMAAAAAAABADgAA+jEAAEgDAAAAAAAAQA4AAC8yAAAgAwAAAAAAAEAOAAALMgAAaAMAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAgAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAAAAMAAAAAUAAAAGAAAAAQAAAAMAAAAEAAAABQAAAAMAAAAEAAAABgAAAAEAAAAHAAAABQAAAAAAAABIAAAABwAAAAgAAAACAAAACAAAAAMAAAAEAAAACQAAAAoAAAAFAAAA/////wAAAABQAAAACQAAAAoAAAABAAAACwAAAAwAAAAFAAAAAwAAAAQAAAANAAAADgAAAA8AAAAGAAAAAQAAAAAAAABgAAAACwAAAAwAAAAGAAAACAAAAAMAAAAEAAAAEAAAAAoAAAAHAAAACAAAAAEAAAAHAAAAEQAAAAAAAACAAAAADQAAAA4AAAABAAAACAAAAAEAAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAABAAAAAAAAAHAAAAANAAAADwAAAAwAAAAIAAAADQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFAAAAAEAAAAAAAAAEAEAAA0AAAAQAAAADgAAAAgAAAAPAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAAAgAAAAAAAAAAAQAAEQAAABIAAAAQAAAACAAAABEAAAAJAAAAEgAAABMAAAAKAAAACwAAABUAAAADAAAAAAAAAPAAAAATAAAAFAAAABIAAAAIAAAAEwAAABQAAAAWAAAAFwAAAAoAAAALAAAAGAAAAAQAAAAAAAAA0AAAABUAAAAWAAAAFQAAAAgAAAAWAAAAFwAAABkAAAAaAAAACgAAAAsAAAAbAAAABQAAAAAAAAC4AAAAFwAAABgAAAAcAAAAGAAAAAIAAAAAAAAAeAEAAA0AAAAZAAAAGQAAAAgAAAAaAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAABgAAAAAAAABoAQAAGgAAABsAAAAbAAAACAAAABwAAAAJAAAAEgAAABMAAAAKAAAACwAAAB0AAAAHAAAAAAAAAFgBAAAcAAAAHQAAAB0AAAAIAAAAHgAAAB8AAAAeAAAAHwAAAAoAAAALAAAAIAAAAAgAAAAAAAAAOAEAAB4AAAAfAAAAIAAAAAgAAAAhAAAAIgAAACEAAAAiAAAACgAAAAsAAAAjAAAACQAAAAAAAAAgAQAAIAAAACEAAAAkAAAAIwAAAAMAAAAAAAAAiAEAAAsAAAAiAAAACQAAAAgAAAADAAAACgAAABAAAAAKAAAABwAAAAsAAAACAAAAJAAAACUAAAAAAAAAmAEAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACYAAAAnAAAAKQAAACoAAAAoAAAACgAAAAAAAAAIAgAAJQAAACYAAAArAAAAJgAAACwAAAAtAAAAKQAAACoAAAApAAAAKgAAACsAAAALAAAAAAAAAPABAAAnAAAAKAAAACwAAAAuAAAABAAAAAAAAADQAQAAKQAAACoAAAAvAAAAJgAAADAAAAAxAAAALQAAAC4AAAApAAAAKgAAAC8AAAAMAAAAAAAAALgBAAArAAAALAAAADAAAAAyAAAABQAAAAAAAAAoAgAALQAAAC4AAAAMAAAACAAAAAMAAAANAAAAEAAAAAoAAAAHAAAADgAAAAEAAAAHAAAAMQAAADMAAAAyAAAAAAAAADgCAAAvAAAAMAAAADQAAAA1AAAAAQAAADYAAAA3AAAAOAAAADkAAAA6AAAAMwAAADQAAAABAAAAAAAAAEgCAAAxAAAAMgAAADQAAAA7AAAANQAAADYAAAA3AAAAOAAAADwAAAA9AAAANgAAADcAAAA+AAAAAAAAAFgCAAAzAAAANAAAADgAAAA5AAAAOgAAADsAAAA/AAAAQAAAAEEAAABCAAAA/////wAAAABwAgAANQAAADYAAAA8AAAAQwAAAAAAAABoAgAANwAAADgAAAA5AAAA/////wAAAACQAgAAOgAAADsAAAA9AAAARAAAAAAAAACIAgAAPAAAAD0AAAA+AAAAAAAAAKACAAA/AAAAQAAAAD4AAABFAAAAAAAAALgCAABBAAAAQgAAAD8AAABAAAAAQQAAAEIAAABGAAAARwAAAEgAAABJAAAAAAAAAAEAAAADAAAABQAAAAcAAAAAAAAAyAIAAC8AAABDAAAANAAAADUAAABDAAAANgAAADcAAAA4AAAAOQAAADoAAAAzAAAANAAAAEoAAAAAAAAA2AIAAEQAAABFAAAARAAAAEsAAAAAAAAA6AIAAC8AAABGAAAATAAAADUAAAABAAAATQAAADcAAAA4AAAAOQAAAP//////////AAAAAPACAABHAAAASAAAAAYAAAADAAAA/////wAAAAAAAwAASQAAAEoAAAAHAAAABAAAAJwKAAAFAAAAAAAAAAAAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJw0AAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAnzAAAAAAAAAQAwAASwAAAEwAAABNAAAATgAAABIAAAABAAAAAQAAAAMAAAAAAAAAOAMAAEsAAABPAAAATQAAAE4AAAASAAAAAgAAAAIAAAAEAAAAAAAAAEgDAABQAAAAUQAAAE8AAAAAAAAAWAMAAFAAAABSAAAATwAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAFVuc3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAElucHV0IGlzIG5vdCBhIG1lc2guAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxEZWNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUARmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ARFJBQ08ATm90IGEgRHJhY28gZmlsZS4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4AVW5rbm93biBtYWpvciB2ZXJzaW9uLgBVbmtub3duIG1pbm9yIHZlcnNpb24uAEZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBkZWNvZGVyLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ATjVkcmFjbzRNZXNoRQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAE41ZHJhY28xMFBvaW50Q2xvdWRFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOADAxMjM0NTY3ODlBQkNERUYuAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAJWQAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=Runtime.staticAlloc(4);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_ii;var ga=env.invoke_iii;var ha=env.invoke_iiii;var ia=env.invoke_iiiiiii;var ja=env.invoke_v;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viii;var na=env.invoke_viiii;var oa=env.invoke_viiiii;var pa=env.invoke_viiiiii;var qa=env.__ZSt18uncaught_exceptionv;var ra=env.___cxa_allocate_exception;var sa=env.___cxa_begin_catch;var ta=env.___cxa_find_matching_catch;var ua=env.___cxa_pure_virtual;var va=env.___cxa_throw;var wa=env.___gxx_personality_v0;var xa=env.___resumeException;var ya=env.___setErrNo;var za=env.___syscall140;var Aa=env.___syscall146;var Ba=env.___syscall6;var Ca=env._abort;var Da=env._emscripten_memcpy_big;var Ea=env._pthread_getspecific;var Fa=env._pthread_key_create;var Ga=env._pthread_once;var Ha=env._pthread_setspecific;var Ia=$(0);const Ja=$(0);function Ka(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function Ib(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;xm(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];yb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Tj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Tj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=ij(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Wg(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=ij(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Wg(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Yg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)xm(z);return 0}function Jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;xm(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];wb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Tj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Tj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=ij(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Wg(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=ij(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Wg(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Yg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)xm(z);return 0}function Kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Af(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))Af(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Af(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Af(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function Lb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;xm(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];yb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Tj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Tj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=ij(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Wg(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=ij(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Wg(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Yg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;dc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)xm(y);return 0}function Mb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;xm(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];wb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Tj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Tj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=ij(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Wg(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=ij(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Wg(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Yg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;dc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)xm(y);return 0}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=u;u=u+16|0;e=d+12|0;g=d;h=d+8|0;i=d+4|0;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=0;q=f[g>>2]|0;r=k;while(1){s=(f[n>>2]|0)+(q>>>5<<2)|0;t=1<<(q&31);v=f[s>>2]|0;if(t&v|0)break;f[s>>2]=v|t;t=f[l>>2]|0;if((t|0)==(f[o>>2]|0))Af(j,g);else{f[t>>2]=f[g>>2];f[l>>2]=t+4}t=p+1|0;if((p|0)>0){v=(r|0)==-1;do if(!(t&1))if(!v)if(!((r>>>0)%3|0)){w=r+2|0;break}else{w=r+-1|0;break}else w=-1;else{s=r+1|0;if(v)w=-1;else w=((s>>>0)%3|0|0)==0?r+-2|0:s}while(0);f[c>>2]=w;x=w}else x=r;f[i>>2]=x;f[e>>2]=f[i>>2];v=Qd(a,e)|0;f[c>>2]=v;if((v|0)==-1)break;s=(v>>>0)/3|0;f[g>>2]=s;p=t;q=s;r=v}r=(k|0)==-1;do if(!r)if(!((k>>>0)%3|0)){y=k+2|0;break}else{y=k+-1|0;break}else y=-1;while(0);f[h>>2]=y;f[e>>2]=f[h>>2];do if((Qd(a,e)|0)==-1)z=k;else{h=k+1|0;if(!r){y=((h>>>0)%3|0|0)==0?k+-2|0:h;f[c>>2]=y;h=f[m>>2]|0;q=y+1|0;if(((y|0)!=-1?(p=((q>>>0)%3|0|0)==0?y+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h+12>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0){h=((p>>>0)%3|0|0)==0?q+-2|0:p;f[c>>2]=h;if((h|0)==-1){z=k;break}else{A=h;B=0;C=k}while(1){h=(A>>>0)/3|0;f[g>>2]=h;p=(f[n>>2]|0)+(h>>>5<<2)|0;q=1<<(h&31);h=f[p>>2]|0;if(q&h|0){D=B;E=C;break}f[p>>2]=h|q;q=f[l>>2]|0;if((q|0)==(f[o>>2]|0))Af(j,g);else{f[q>>2]=f[g>>2];f[l>>2]=q+4}q=B+1|0;if((B|0)>0){h=(A|0)==-1;do if(!(q&1))if(!h)if(!((A>>>0)%3|0)){F=A+2|0;G=A;break}else{F=A+-1|0;G=A;break}else{F=-1;G=A}else{p=A+1|0;if(h){F=-1;G=C}else{F=((p>>>0)%3|0|0)==0?A+-2|0:p;G=C}}while(0);f[c>>2]=F;H=G;I=F}else{H=C;I=A}f[i>>2]=I;f[e>>2]=f[i>>2];A=Qd(a,e)|0;f[c>>2]=A;if((A|0)==-1){D=q;E=H;break}else{B=q;C=H}}if(!(D&1)){z=E;break}t=f[l>>2]|0;h=f[t+-4>>2]|0;p=(f[n>>2]|0)+(h>>>5<<2)|0;f[p>>2]=f[p>>2]&~(1<<(h&31));f[l>>2]=t+-4;z=E;break}else J=k}else{f[c>>2]=-1;J=-1}f[c>>2]=-1;z=J}while(0);f[a+44+(b<<2)>>2]=z;z=f[l>>2]|0;l=f[j>>2]|0;j=l;if((z|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=z-l>>2;l=0;do{z=f[j+(l<<2)>>2]|0;a=b+(z>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(z&31));l=l+1|0}while(l>>>0>>0);u=d;return}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Af(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))Af(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Af(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Af(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;c=u;u=u+32|0;d=c+16|0;e=c;fg(d,b)|0;g=f[d>>2]|0;if(g){i=a+60|0;Gc(i,g,0);Vk(e);if(ud(e,b)|0){if(f[d>>2]|0){g=0;do{j=Yg(e)|0;k=(f[i>>2]|0)+(g>>>5<<2)|0;l=1<<(g&31);if(j)m=f[k>>2]|l;else m=f[k>>2]&~l;f[k>>2]=m;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}n=10}}else n=10;do if((n|0)==10){fg(d,b)|0;g=f[d>>2]|0;if(g|0){m=a+72|0;Gc(m,g,0);Vk(e);if(!(ud(e,b)|0))break;if(f[d>>2]|0){g=0;do{i=Yg(e)|0;k=(f[m>>2]|0)+(g>>>5<<2)|0;l=1<<(g&31);if(i)o=f[k>>2]|l;else o=f[k>>2]&~l;f[k>>2]=o;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}}fg(d,b)|0;g=f[d>>2]|0;if(g|0){m=a+84|0;Gc(m,g,0);Vk(e);if(!(ud(e,b)|0))break;if(f[d>>2]|0){g=0;do{k=Yg(e)|0;l=(f[m>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);if(k)p=f[l>>2]|i;else p=f[l>>2]&~i;f[l>>2]=p;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}}fg(d,b)|0;g=f[d>>2]|0;if(g|0){m=a+96|0;Gc(m,g,0);Vk(e);if(!(ud(e,b)|0))break;if(f[d>>2]|0){g=0;do{l=Yg(e)|0;i=(f[m>>2]|0)+(g>>>5<<2)|0;k=1<<(g&31);if(l)q=f[i>>2]|k;else q=f[i>>2]&~k;f[i>>2]=q;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}}g=b+8|0;m=f[g>>2]|0;i=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;j=f[k+4>>2]|0;k=Tj(l|0,j|0,4,0)|0;r=I;if((i|0)<(r|0)|(i|0)==(r|0)&m>>>0>>0){s=0;u=c;return s|0}t=f[b>>2]|0;v=t+l|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=g;f[v>>2]=k;f[v+4>>2]=r;r=Tj(l|0,j|0,8,0)|0;j=I;if((i|0)<(j|0)|(i|0)==(j|0)&m>>>0>>0){s=0;u=c;return s|0}m=t+k|0;k=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=g;f[m>>2]=r;f[m+4>>2]=j;if((w|0)>(k|0)){s=0;u=c;return s|0}f[a+12>>2]=w;f[a+16>>2]=k;j=Vj(k|0,((k|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;w=I;if(!(w>>>0<0|(w|0)==0&j>>>0<2147483647)){s=0;u=c;return s|0}w=j+1|0;f[a+20>>2]=w;j=(w|0)/2|0;k=a+24|0;f[k>>2]=j;f[a+28>>2]=0-j;if(w&1|0){s=1;u=c;return s|0}f[k>>2]=j+-1;s=1;u=c;return s|0}while(0);s=0;u=c;return s|0}function Qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+80|0;e=d+76|0;g=d;h=d+72|0;i=d+64|0;j=d+68|0;if(!(fg(e,c)|0)){k=0;u=d;return k|0}l=f[e>>2]|0;if(!l){k=0;u=d;return k|0}m=a+4|0;n=a+8|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=p;p=o;if(l>>>0>q>>>0){hf(m,l-q|0);if(!(f[e>>2]|0)){k=1;u=d;return k|0}}else if(l>>>0>>0?(q=r+(l<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2);q=f[a+32>>2]|0;p=c+8|0;n=c+16|0;l=g+60|0;r=q+8|0;o=a+16|0;s=a+20|0;a=0;while(1){t=p;v=f[t>>2]|0;w=f[t+4>>2]|0;t=n;x=f[t>>2]|0;y=f[t+4>>2]|0;if(!((w|0)>(y|0)|(w|0)==(y|0)&v>>>0>x>>>0)){k=0;z=40;break}t=f[c>>2]|0;A=b[t+x>>0]|0;B=Tj(x|0,y|0,1,0)|0;C=I;D=n;f[D>>2]=B;f[D+4>>2]=C;if(!((w|0)>(C|0)|(w|0)==(C|0)&v>>>0>B>>>0)){k=0;z=40;break}C=b[t+B>>0]|0;B=Tj(x|0,y|0,2,0)|0;D=I;E=n;f[E>>2]=B;f[E+4>>2]=D;if(!((w|0)>(D|0)|(w|0)==(D|0)&v>>>0>B>>>0)){k=0;z=40;break}D=b[t+B>>0]|0;B=Tj(x|0,y|0,3,0)|0;E=I;F=n;f[F>>2]=B;f[F+4>>2]=E;if(!((w|0)>(E|0)|(w|0)==(E|0)&v>>>0>B>>>0)){k=0;z=40;break}v=b[t+B>>0]|0;B=Tj(x|0,y|0,4,0)|0;y=n;f[y>>2]=B;f[y+4>>2]=I;y=C&255;if((C+-1&255)>10){k=0;z=40;break}Sh(g);C=X(ci(y)|0,D&255)|0;lg(g,A&255,0,D,y,v<<24>>24!=0,C,((C|0)<0)<<31>>31,0,0);fg(h,c)|0;f[l>>2]=f[h>>2];C=dj(96)|0;Gh(C,g);f[i>>2]=C;C=oe(q,i)|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){y=v+88|0;D=f[y>>2]|0;f[y>>2]=0;if(D|0){y=f[D+8>>2]|0;if(y|0){A=D+12|0;if((f[A>>2]|0)!=(y|0))f[A>>2]=y;fn(y)}fn(D)}D=f[v+68>>2]|0;if(D|0){y=v+72|0;A=f[y>>2]|0;if((A|0)!=(D|0))f[y>>2]=A+(~((A+-4-D|0)>>>2)<<2);fn(D)}D=v+64|0;A=f[D>>2]|0;f[D>>2]=0;if(A|0){D=f[A>>2]|0;if(D|0){y=A+4|0;if((f[y>>2]|0)!=(D|0))f[y>>2]=D;fn(D)}fn(A)}fn(v)}f[(f[(f[r>>2]|0)+(C<<2)>>2]|0)+60>>2]=f[h>>2];f[(f[m>>2]|0)+(a<<2)>>2]=C;v=f[s>>2]|0;A=f[o>>2]|0;D=v-A>>2;y=A;if((C|0)<(D|0))G=y;else{A=C+1|0;f[j>>2]=-1;B=v;if(A>>>0<=D>>>0)if(A>>>0>>0?(v=y+(A<<2)|0,(v|0)!=(B|0)):0){f[s>>2]=B+(~((B+-4-v|0)>>>2)<<2);H=y}else H=y;else{Ae(o,A-D|0,j);H=f[o>>2]|0}G=H}f[G+(C<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){k=1;z=40;break}}if((z|0)==40){u=d;return k|0}return 0}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;$d(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Tj(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Tj(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(ci(5)|0)==(w|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Tj(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{ge(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Tj(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=20;break}}v=X(i,w)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Vj(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=0;y=z;z=x;x=B;B=C;while(1){C=Tj(y|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=y;F=z}else{ge(k+(u<<2)|0,(f[d>>2]|0)+y|0,w|0)|0;C=l;A=Tj(f[C>>2]|0,f[C+4>>2]|0,v|0,0)|0;C=I;G=l;f[G>>2]=A;f[G+4>>2]=C;E=A;F=C}C=u+1|0;if((C|0)==(i|0)){D=20;break a}A=j;u=C;y=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0}}}else if(Sf(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Na[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}wi(k,i,k);H=F;J=1}while(0);if((D|0)==21){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Qa[f[(f[J>>2]|0)+44>>2]&15](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)fn(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;$k(e,9789);f[e>>2]=3704;va(e|0,856,80)}e=dj(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)fn(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?mh(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function Tb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;Gb(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)fn(f[g>>2]|0);l=b[j+7>>0]|0;if((Na[f[(f[c>>2]|0)+8>>2]&127](c)|0)!=(l&255|0)){m=dj(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=9577;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=dj(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=9628;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&(l<<24>>24==0?3:2)>>>0>>0){l=dj(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=9651;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}l=((m&255)<<8|r)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Yc(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)fn(f[g>>2]|0)}if(!(Na[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=dj(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=9674;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}if(!(Na[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=dj(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=9708;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}if(Na[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=dj(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=9740;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}function Ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Jl(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ke(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=dj(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Lc(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;gg(h+4|0,f[k>>2]|0);gg(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Qc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+4194304|0;f[n>>2]=k;o=k>>>0>1073741823;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<4194304){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<4194304){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&1048575;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>20)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Rc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+2097152|0;f[n>>2]=k;o=k>>>0>536870911;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<2097152){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<2097152){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&524287;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>19)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Sc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+1048576|0;f[n>>2]=k;o=k>>>0>268435455;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<1048576){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<1048576){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&262143;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>18)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Tc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+262144|0;f[n>>2]=k;o=k>>>0>67108863;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<262144){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<262144){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&65535;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>16)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Uc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+131072|0;f[n>>2]=k;o=k>>>0>33554431;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<131072){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<131072){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&32767;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>15)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function _b(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(q|0)==(k|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(mh(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((q|0)==(a|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(mh(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Vc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+32768|0;f[n>>2]=k;o=k>>>0>8388607;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<32768){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<32768){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&8191;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>13)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Wc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+16384|0;f[n>>2]=k;o=k>>>0>4194303;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<16384){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<16384){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&4095;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>12)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function bc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(mh(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(mh(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function cc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=mh(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=mh(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=mh(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=Id(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=mh(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=Id(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function dc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;n=((l?j:0-j|0)+(k?h:0-h|0)|0)<=(m|0);if(n){o=h;p=j}else{if(k)if(!l)if((h|0)<1){q=-1;r=-1}else s=6;else{q=1;r=1}else if((j|0)<1){q=-1;r=-1}else s=6;if((s|0)==6){q=(h|0)>0?1:-1;r=(j|0)>0?1:-1}l=X(m,q)|0;k=X(m,r)|0;m=(h<<1)-l|0;f[c>>2]=m;h=(j<<1)-k|0;f[i>>2]=h;if((X(q,r)|0)>-1){r=0-h|0;f[c>>2]=r;t=0-m|0;u=r}else{f[c>>2]=h;t=m;u=h}h=(u+l|0)/2|0;f[c>>2]=h;l=(t+k|0)/2|0;f[i>>2]=l;o=h;p=l}if(!o)v=(p|0)==0;else v=(o|0)<0&(p|0)<1;if(!o)w=(p|0)==0?0:(p|0)>0?3:1;else w=(o|0)>0?(p>>31)+2|0:(p|0)<1?0:3;if(v){x=1;y=o;z=p}else{switch(w|0){case 1:{A=p;B=0-o|0;break}case 2:{A=0-o|0;B=0-p|0;break}case 3:{A=0-p|0;B=o;break}default:{A=o;B=p}}p=c;f[p>>2]=A;f[p+4>>2]=B;x=0;y=A;z=B}B=(f[d>>2]|0)+y|0;f[a>>2]=B;y=(f[d+4>>2]|0)+z|0;z=a+4|0;f[z>>2]=y;d=f[e>>2]|0;if((d|0)>=(B|0))if((B|0)<(0-d|0))C=(f[b+4>>2]|0)+B|0;else C=B;else C=B-(f[b+4>>2]|0)|0;f[a>>2]=C;if((d|0)>=(y|0))if((y|0)<(0-d|0))D=(f[b+4>>2]|0)+y|0;else D=y;else D=y-(f[b+4>>2]|0)|0;f[z>>2]=D;if(x){E=C;F=D}else{switch((4-w|0)%4|0|0){case 1:{G=D;H=0-C|0;break}case 2:{G=0-C|0;H=0-D|0;break}case 3:{G=0-D|0;H=C;break}default:{G=C;H=D}}D=a;f[D>>2]=G;f[D+4>>2]=H;E=G;F=H}if(n){I=E;J=F;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}if((E|0)>-1)if((F|0)<=-1)if((E|0)<1){Q=-1;R=-1}else s=42;else{Q=1;R=1}else if((F|0)<1){Q=-1;R=-1}else s=42;if((s|0)==42){Q=(E|0)>0?1:-1;R=(F|0)>0?1:-1}s=X(d,Q)|0;n=X(d,R)|0;d=(E<<1)-s|0;f[a>>2]=d;E=(F<<1)-n|0;f[z>>2]=E;if((X(Q,R)|0)>-1){R=0-E|0;f[a>>2]=R;S=0-d|0;T=R}else{f[a>>2]=E;S=d;T=E}E=(T+s|0)/2|0;f[a>>2]=E;s=(S+n|0)/2|0;f[z>>2]=s;I=E;J=s;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}function ec(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Wc(i,d)|0?Cd(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}ch(d,0,0)|0;if(!j){j=i+48|0;k=i+44|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=0;w=0;x=f[j>>2]|0;while(1){b:do if(x>>>0<16384){y=f[k>>2]|0;z=x;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[k>>2]=y;C=z<<8|h[B+y>>0];f[j>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=x;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;x=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[j>>2]=x;c:do if(p){if((y|0)>0){D=0;E=w}else{C=(b[q>>0]|0)==0;z=0;B=w;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=0;F=0;H=f[r>>2]|0;while(1){I=B+(H>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(H&7)&1;I=H+1|0;f[r>>2]=I;K=J;L=I}else{K=0;L=H}C=K<>2]=C;D=D+1|0;if((D|0)>=(c|0)){G=H;break}else E=H}}else G=w;while(0);v=v+c|0;if(v>>>0>=a>>>0)break;else w=G}}}else ch(d,0,0)|0;di(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);fn(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);fn(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d);u=g;return l|0}function fc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=yi(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((yi(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Tj(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Vj(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Vj(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function gc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=dj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1572;i=c;f[a>>2]=i;return}case 4:{c=dj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1628;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=dj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1684;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=dj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1740;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1796;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Vk(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=dj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1320;i=c;f[a>>2]=i;return}case 4:{c=dj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1376;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=dj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1432;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=dj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1488;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1544;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Vk(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c;if(!(ud(a+80|0,a)|0)){e=0;u=c;return e|0}if(!(tf(a)|0)){e=0;u=c;return e|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=a+176|0;f[h>>2]=2;g=a+180|0;f[g>>2]=7;i=f[a+152>>2]|0;if((i|0)<0){e=0;u=c;return e|0}j=a+156|0;f[d>>2]=0;k=a+160|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(i>>>0<=n>>>0)if(i>>>0>>0?(l=o+(i<<2)|0,(l|0)!=(m|0)):0){f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2);p=2;q=7}else{p=2;q=7}else{Ae(j,i-n|0,d);p=f[h>>2]|0;q=f[g>>2]|0}g=q-p+1|0;p=a+184|0;q=a+188|0;h=f[q>>2]|0;n=f[p>>2]|0;i=(h-n|0)/12|0;j=n;n=h;if(g>>>0<=i>>>0)if(g>>>0>>0?(l=j+(g*12|0)|0,(l|0)!=(n|0)):0){j=n;while(1){n=j+-12|0;f[q>>2]=n;m=f[n>>2]|0;if(!m)r=n;else{n=j+-8|0;k=f[n>>2]|0;if((k|0)!=(m|0))f[n>>2]=k+(~((k+-4-m|0)>>>2)<<2);fn(m);r=f[q>>2]|0}if((r|0)==(l|0))break;else j=r}s=r}else s=h;else{nd(p,g-i|0);s=f[q>>2]|0}i=a+196|0;g=f[p>>2]|0;h=(s-g|0)/12|0;r=a+200|0;a=f[r>>2]|0;j=f[i>>2]|0;l=a-j>>2;m=j;j=a;if(h>>>0<=l>>>0)if(h>>>0>>0?(a=m+(h<<2)|0,(a|0)!=(j|0)):0){f[r>>2]=j+(~((j+-4-a|0)>>>2)<<2);t=s;v=g}else{t=s;v=g}else{hf(i,h-l|0);t=f[q>>2]|0;v=f[p>>2]|0}if((t|0)==(v|0)){e=1;u=c;return e|0}v=0;do{fg(d,b)|0;t=f[d>>2]|0;if(t|0){l=f[p>>2]|0;h=l+(v*12|0)|0;g=l+(v*12|0)+4|0;s=f[g>>2]|0;a=f[h>>2]|0;j=s-a>>2;r=a;a=s;if(t>>>0<=j>>>0)if(t>>>0>>0?(s=r+(t<<2)|0,(s|0)!=(a|0)):0){f[g>>2]=a+(~((a+-4-s|0)>>>2)<<2);w=l;x=t}else{w=l;x=t}else{hf(h,t-j|0);w=f[p>>2]|0;x=f[d>>2]|0}Sf(x,1,b,f[w+(v*12|0)>>2]|0)|0;f[(f[i>>2]|0)+(v<<2)>>2]=f[d>>2]}v=v+1|0}while(v>>>0<(((f[q>>2]|0)-(f[p>>2]|0)|0)/12|0)>>>0);e=1;u=c;return e|0}function jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)fn(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}d=dj(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)fn(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;fg(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(qc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;fg(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Tj(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;jg(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Lh(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Tj(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}ge(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Tj(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=dj(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(kc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;Rd(c,h,j)|0;uf(j);G=0}else G=1;uf(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)fn(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=dj(88)|0;f[l+4>>2]=0;f[l>>2]=2440;m=l+12|0;f[m>>2]=2420;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=2420;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;le(i+8|0,c,g);Sa[f[(f[i>>2]|0)+8>>2]&127](i);ld(j,i);ld(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;xd(c,g)|0;f[g>>2]=2420;p=f[g+20>>2]|0;if(p|0)fn(p);p=f[g+8>>2]|0;if(p|0)fn(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=2420;k=f[j+20>>2]|0;if(k|0)fn(k);k=f[j+8>>2]|0;if(k|0)fn(k);f[l+8>>2]=f[h>>2];xd(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;Ad(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=2420;q=f[i+20>>2]|0;if(q|0)fn(q);q=f[i+8>>2]|0;if(q|0)fn(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);fn(q)}f[r>>2]=2420;r=f[h+24>>2]|0;if(r|0)fn(r);r=f[h+12>>2]|0;if(!r){u=e;return}fn(r);u=e;return}function mc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{hf(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=cn(l)|0;Xf(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){dn(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=e;k=u;while(1){u=c+(a<<2)|0;l=u+(n<<2)|0;q=b+(a<<2)|0;if((k|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=u+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=k;a=a+e|0;if((a|0)>=(d|0))break;else k=z}dn(h);return 1}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=0;o=f[a+44+(b<<2)>>2]|0;while(1){b=(o|0)==-1;p=b?-1:(o>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(n){if(b)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else Af(k,e);if(!(n&1)){p=o+1|0;if(b){s=-1;break}t=((p>>>0)%3|0|0)==0?o+-2|0:p;v=35;break}if(!b)if(!((o>>>0)%3|0)){t=o+2|0;v=35;break}else{t=o+-1|0;v=35;break}else s=-1}else{if(b)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else Af(k,e);p=o+1|0;if(!b?(q=((p>>>0)%3|0|0)==0?o+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else Af(k,e);if(!b?(q=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else Af(k,e);t=o;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}n=n+1|0;if((n|0)>=(h|0))break;else o=s}u=d;return}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Wf(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=0;B=l;l=b;while(1){if(!(f[(f[m>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){b=A*3|0;f[g>>2]=b;f[e>>2]=f[g>>2];Nb(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=b+1;f[e>>2]=f[g>>2];Nb(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=b+2;f[e>>2]=f[g>>2];Nb(a,2,e);b=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else Af(w,e);E=f[a+44+(b<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else Af(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else Af(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];nc(a,b,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=B;H=l}A=A+1|0;if(A>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{B=G;l=H}}u=d;return i|0}function pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((i|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=2;l=-1;m=e;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1){k=2;l=-1;m=d;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=d;n=28}break}default:{}}if((n|0)==28){n=m+(l<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((i|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(i|0)>(c|0)?c:i;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function qc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Tj(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;jg(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Lh(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Tj(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}ge(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Tj(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(fg(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)xm(h);s=dj(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=x;x=s;do{b[x>>0]=0;x=(f[y>>2]|0)+1|0;f[y>>2]=x;q=q+-1|0}while((q|0)!=0);q=f[g>>2]|0;x=f[a>>2]|0;s=x+8|0;p=f[s>>2]|0;r=f[s+4>>2]|0;s=x+16|0;m=s;t=f[m>>2]|0;w=Tj(t|0,f[m+4>>2]|0,q|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{ge(f[h>>2]|0,(f[x>>2]|0)+t|0,q|0)|0;t=s;x=Tj(f[t>>2]|0,f[t+4>>2]|0,q|0,0)|0;q=s;f[q>>2]=x;f[q+4>>2]=I;Hi(c,e,h);B=1}q=f[h>>2]|0;if(q|0){if((f[y>>2]|0)!=(q|0))f[y>>2]=q;fn(q)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}fn(f[e>>2]|0);u=d;return z|0}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=La,t=La,u=La,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=dj(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;Ue(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function sc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+8|0;e=f[d>>2]|0;switch(f[e+28>>2]|0){case 2:{g=b[e+24>>0]|0;h=g<<24>>24;i=cn((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;a:do if(c|0){if(g<<24>>24>0){l=0;m=0}else{ge(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1)break;else{n=0;o=1}while(1){n=n+h|0;ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+n|0,i|0,h|0)|0;o=o+1|0;if((o|0)==(c|0))break a}}while(1){j=0;p=m;while(1){b[i+j>>0]=f[k+(p<<2)>>2];j=j+1|0;if((j|0)==(h|0))break;else p=p+1|0}ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+m|0,i|0,h|0)|0;l=l+1|0;if((l|0)==(c|0))break;else m=m+h|0}}while(0);dn(i);q=1;return q|0}case 1:{i=b[e+24>>0]|0;h=i<<24>>24;m=cn((h|0)>-1?h:-1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))r=0;else r=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;b:do if(c|0){if(i<<24>>24>0){s=0;t=0}else{ge(f[f[e+64>>2]>>2]|0,m|0,h|0)|0;if((c|0)==1)break;else{u=0;v=1}while(1){u=u+h|0;ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+u|0,m|0,h|0)|0;v=v+1|0;if((v|0)==(c|0))break b}}while(1){l=0;k=t;while(1){b[m+l>>0]=f[r+(k<<2)>>2];l=l+1|0;if((l|0)==(h|0))break;else k=k+1|0}ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+t|0,m|0,h|0)|0;s=s+1|0;if((s|0)==(c|0))break;else t=t+h|0}}while(0);dn(m);q=1;return q|0}case 4:{Ke(a,c);q=1;return q|0}case 3:{Ke(a,c);q=1;return q|0}case 6:{Le(a,c);q=1;return q|0}case 5:{Le(a,c);q=1;return q|0}default:{q=0;return q|0}}return 0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function uc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else hf(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;xm(v)}else{w=0;x=n}while(1){f[i>>2]=f[x+(w<<2)>>2];f[h>>2]=f[i>>2];if(!(vb(j,h,c,w)|0)){q=0;y=24;break}n=X(w,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;x=f[n>>2]|0;if((f[n+4>>2]|0)-x>>2>>>0<=w>>>0){v=n;y=8;break}}if((y|0)==8)xm(v);else if((y|0)==24){u=d;return q|0}return 0}function vc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else hf(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;xm(v)}else{w=0;x=n}while(1){f[i>>2]=f[x+(w<<2)>>2];f[h>>2]=f[i>>2];if(!(ub(j,h,c,w)|0)){q=0;y=24;break}n=X(w,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;x=f[n>>2]|0;if((f[n+4>>2]|0)-x>>2>>>0<=w>>>0){v=n;y=8;break}}if((y|0)==8)xm(v);else if((y|0)==24){u=d;return q|0}return 0}function wc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)xm(l);else{q=o<<1;e=dj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Xf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);rd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(mb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(mb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);fn(o)}r=t;u=i;return r|0}function xc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)xm(l);else{q=o<<1;e=dj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Xf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);rd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(nb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(nb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);fn(o)}r=t;u=i;return r|0}function yc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;sd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)xm(k);else{p=n<<2;d=dj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Xf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);sd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(ob(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(ob(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);fn(n)}q=s;u=h;return q|0}function zc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;sd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)xm(k);else{p=n<<2;d=dj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Xf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);sd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(pb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(pb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);fn(n)}q=s;u=h;return q|0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Tj(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=ac(a,c,d)|0;return l|0}case 2:{l=ac(a,c,d)|0;return l|0}case 3:{l=ac(a,c,d)|0;return l|0}case 4:{l=ac(a,c,d)|0;return l|0}case 5:{l=dd(a,c,d)|0;return l|0}case 6:{l=ac(a,c,d)|0;return l|0}case 7:{l=ac(a,c,d)|0;return l|0}case 8:{l=ac(a,c,d)|0;return l|0}case 9:{l=$b(a,c,d)|0;return l|0}case 10:{l=Zb(a,c,d)|0;return l|0}case 11:{l=Yb(a,c,d)|0;return l|0}case 12:{l=Xb(a,c,d)|0;return l|0}case 13:{l=Wb(a,c,d)|0;return l|0}case 14:{l=Vb(a,c,d)|0;return l|0}case 15:{l=Vb(a,c,d)|0;return l|0}case 16:{l=Vb(a,c,d)|0;return l|0}case 17:{l=Vb(a,c,d)|0;return l|0}case 18:{l=Vb(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function Bc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ld(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)xm(k);p=dj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}Ld(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(rb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(rb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;fn(n)}q=s;u=h;return q|0}function Cc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ld(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)xm(k);p=dj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}Ld(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(sb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(sb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;fn(n)}q=s;u=h;return q|0}function Dc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function Ec(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function Fc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d+4|0;i=d;if(!(fg(e,c)|0)){j=-1;u=d;return j|0}k=f[e>>2]|0;if(k|0){l=f[a+8>>2]|0;if(k>>>0>(((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0)>>>0){j=-1;u=d;return j|0}l=g+4|0;k=a+40|0;m=a+44|0;n=a+36|0;o=0;p=0;do{fg(i,c)|0;f[l>>2]=(f[i>>2]|0)+p;fg(i,c)|0;q=f[i>>2]|0;p=f[l>>2]|0;if(p>>>0>>0){r=22;break}f[g>>2]=p-q;q=f[k>>2]|0;if((q|0)==(f[m>>2]|0))ef(n,g);else{f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[k>>2]=(f[k>>2]|0)+12}o=o+1|0}while(o>>>0<(f[e>>2]|0)>>>0);if((r|0)==22){j=-1;u=d;return j|0}ch(c,0,0)|0;r=f[e>>2]|0;if(r|0){e=a+4|0;o=c+36|0;k=c+32|0;g=c+24|0;n=c+28|0;m=a+36|0;a=0;p=0;while(1){l=f[e>>2]|0;i=(b[o>>0]|0)==0;if(((h[l+36>>0]<<8|h[l+37>>0])&65535)<514)if(!i){l=f[k>>2]|0;q=f[g>>2]|0;s=f[n>>2]|0;t=q+(l>>>3)|0;if(t>>>0>>0){v=(h[t>>0]|0)>>>(l&7)&1;t=l+1|0;f[k>>2]=t;w=v;x=t}else{w=0;x=l}if((q+(x>>>3)|0)>>>0>>0){f[k>>2]=x+1;y=w}else y=w}else y=p;else if(!i){i=f[k>>2]|0;s=(f[g>>2]|0)+(i>>>3)|0;if(s>>>0<(f[n>>2]|0)>>>0){q=(h[s>>0]|0)>>>(i&7)&1;f[k>>2]=i+1;y=q}else y=0}else y=p;q=(f[m>>2]|0)+(a*12|0)+8|0;b[q>>0]=b[q>>0]&-2|y&1;a=a+1|0;if(a>>>0>=r>>>0)break;else p=y}}di(c)}j=f[c+16>>2]|0;u=d;return j|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)xm(a);p=k<<6;k=b+31&-32;cf(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;si(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)fn(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Xf(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Xf(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function Hc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Tj(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Oa[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Pa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Oa[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Na[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Oa[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){hf(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(s|0)!=(q|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Na[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function Ic(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c;e=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[n>>2]|0){n=f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0;o=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;p=f[o>>2]|0;o=f[n+56>>2]|0;n=dj(32)|0;f[d>>2]=n;f[j>>2]=-2147483616;f[k>>2]=24;q=n;r=8408;s=q+24|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));b[n+24>>0]=0;r=p+16|0;q=f[r>>2]|0;if(q){s=r;t=q;a:while(1){q=t;while(1){if((f[q+16>>2]|0)>=(o|0))break;v=f[q+4>>2]|0;if(!v){w=s;break a}else q=v}t=f[q>>2]|0;if(!t){w=q;break}else s=q}if(((w|0)!=(r|0)?(o|0)>=(f[w+16>>2]|0):0)?(s=w+20|0,(Ge(s,d)|0)!=0):0)x=wg(s,d,0)|0;else y=13}else y=13;if((y|0)==13){y=0;x=wg(p,d,0)|0}if((b[l>>0]|0)<0)fn(f[d>>2]|0);if(x){s=f[(f[h>>2]|0)+(m<<2)>>2]|0;t=f[s+8>>2]|0;ad(t,Je(s)|0)}else y=18}else y=18;if((y|0)==18?(y=0,s=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Oa[f[(f[s>>2]|0)+24>>2]&127](s,i)|0)):0){g=0;y=20;break}m=m+1|0;if((m|0)>=(e|0)){g=1;y=20;break}}if((y|0)==20){u=c;return g|0}return 0}function Jc(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2296;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}dn(b)}jf(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;fn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)fn(b);b=f[a+120>>2]|0;if(b|0)fn(b);b=f[a+108>>2]|0;if(b|0)fn(b);b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+60>>2]|0;if(b|0)fn(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;pf(a);fn(a);return}function Kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=c;l=j;do{f[l>>2]=-1;ah(l+4|0);b[l+100>>0]=1;m=l+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));l=(f[i>>2]|0)+144|0;f[i>>2]=l;k=k+-1|0}while((k|0)!=0);u=d;return}k=f[a>>2]|0;l=(j-k|0)/144|0;j=l+c|0;if(j>>>0>29826161)xm(a);o=(h-k|0)/144|0;k=o<<1;h=o>>>0<14913080?(k>>>0>>0?j:k):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){k=ra(8)|0;$k(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{p=dj(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;k=p+(l*144|0)|0;l=e+8|0;f[l>>2]=k;j=e+4|0;f[j>>2]=k;o=e+12|0;f[o>>2]=p+(h*144|0);h=c;c=k;do{f[c>>2]=-1;ah(c+4|0);b[c+100>>0]=1;m=c+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c=(f[l>>2]|0)+144|0;f[l>>2]=c;h=h+-1|0}while((h|0)!=0);h=c;c=f[a>>2]|0;m=f[i>>2]|0;if((m|0)==(c|0)){q=j;r=f[j>>2]|0;s=c;t=m}else{n=m;m=f[j>>2]|0;do{m=m+-144|0;n=n+-144|0;tc(m,n)}while((n|0)!=(c|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=h;f[l>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=s;of(e);u=d;return}function Lc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=0;k=2;l=(k|0)==2;m=l?0:j;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=0;r=h;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uf(f[r>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(h){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?mh(z,A,w)|0:0){B=0;C=q;D=14;break b}}else if(!y){if((b[A>>0]|0)==(x&255)<<24>>24){E=g;F=v;G=A}else{H=0;I=q;D=13;break b}while(1){F=F+-1|0;E=E+1|0;if(!F)break c;G=G+1|0;if((b[E>>0]|0)!=(b[G>>0]|0)){H=0;I=q;D=13;break b}}}while(0);H=1;I=f[r>>2]|0;D=13}else{H=0;I=q;D=13}}else{H=3;I=q;D=13}while(0);if((D|0)==13){D=0;if(s<<24>>24<0){B=H;C=I;D=14}else{J=H;K=I}}if((D|0)==14){D=0;fn(f[g>>2]|0);J=B;K=C}switch(J&3){case 3:case 0:break;default:{j=K;k=J;D=17;break a}}r=r+4|0;if((r|0)==(i|0)){j=K;k=2;D=17;break}else q=K}if((D|0)==17){l=(k|0)==2;m=l?0:j;u=e;return m|0}return 0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Tj(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}Gc(a+76|0,l,0);Vk(d);if(ud(d,b)|0){if((l|0)>0){k=a+76|0;i=1;m=0;do{i=i^((Yg(d)|0)^1);j=(f[k>>2]|0)+(m>>>5<<2)|0;o=1<<(m&31);if(i)p=f[j>>2]|o;else p=f[j>>2]&~o;f[j>>2]=p;m=m+1|0}while((m|0)<(l|0))}l=e;e=f[l>>2]|0;m=f[l+4>>2]|0;l=g;p=f[l>>2]|0;i=f[l+4>>2]|0;l=Tj(p|0,i|0,4,0)|0;k=I;if(((!((m|0)<(k|0)|(m|0)==(k|0)&e>>>0>>0)?(d=f[b>>2]|0,b=d+p|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=k,k=Tj(p|0,i|0,8,0)|0,i=I,!((m|0)<(i|0)|(m|0)==(i|0)&e>>>0>>0)):0)?(e=d+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=k,f[e+4>>2]=i,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,i=Vj(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&i>>>0<2147483647):0){j=i+1|0;f[a+20>>2]=j;i=(j|0)/2|0;l=a+24|0;f[l>>2]=i;f[a+28>>2]=0-i;if(!(j&1)){f[l>>2]=i+-1;q=1}else q=1}else q=0}else q=0;n=q;u=c;return n|0}function Oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=dj(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2024;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2080;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Vk(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=dj(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=1940;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=1996;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Vk(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Pc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;Me(a+232|0);jf(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;fn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)fn(b);b=f[a+120>>2]|0;if(b|0)fn(b);b=f[a+108>>2]|0;if(b|0)fn(b);b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+60>>2]|0;if(b|0)fn(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;pf(a);fn(a);return}function Qc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=pe(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Rc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=re(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Sc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=se(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Tc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=ue(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Uc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=ve(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Vc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=we(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Wc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=xe(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(Qb(a,c)|0)){g=0;u=d;return g|0}h=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else Md(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Tj(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Ua[f[(f[a>>2]|0)+48>>2]&7](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=Na[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Oa[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Pa[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=dj(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;Gm(e);if(ee(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){Ef(o);fn(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}fn(l)}Ef(c);fn(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=9550;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Ef(i);fn(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}fn(p)}Ef(h);fn(h);u=d;return}}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function _c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=dj(124)|0;f[k+4>>2]=0;f[k>>2]=2396;f[k+12>>2]=2420;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=2420;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;le(i+8|0,o,g);Sa[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];xd(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;Xd(k,h);f[a>>2]=n;f[i>>2]=2420;n=f[i+20>>2]|0;if(n|0)fn(n);n=f[i+8>>2]|0;if(!n){zf(h);u=e;return}fn(n);zf(h);u=e;return}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=Ah(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)xm(e);else{n=dj(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Xf(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);mg(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);fn(a)}u=d;return}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=dj(32)|0;qj(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;fn(d)}fn(g);h=f[e>>2]|0}Xg(a,h,0,0,0,0);j=a}else j=a;if(!(Qf(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))Ad(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;fn(c)}fn(h);return}h=dj(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)xm(c);l=dj(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){ge(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;fn(h)}fn(a);return}function bd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Gg(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(lb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(lb(e,c)|0)){n=0;o=15;break}i=f[l>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(o|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else hf(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(bb(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(bb(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=0;o=w;while(1){f[k+(o<<2)>>2]=f[i+(t<<2)>>2];t=t+1|0;if((t|0)==(l|0))break;else o=o+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=w+l|0}if((v|0)==18){u=e;return s|0}return 0}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Wc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Cd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<16384){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=o;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);fn(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);fn(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);fn(a);u=d;return j|0}function ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;fn(a)}if((b[s+11>>0]|0)<0)fn(f[s>>2]|0);fn(d);return c|0}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)xm(d);else{i=b*12|0;j=dj(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Xf(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(Sf(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(k<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+i|0;f[e>>2]=q;p=f[n+(k+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(k+2<<2)>>2]|0;n=q>>>1;i=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=i;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))ef(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else k=k+3|0}}else m=0;k=f[d>>2]|0;if(!k){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(k|0))f[h>>2]=d+(~((d+-4-k|0)>>>2)<<2);fn(k);u=c;return m|0}function gd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){Xf(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)xm(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;$k(p,9789);f[p>>2]=3704;va(p|0,856,80)}else{r=dj(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;Xf(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;Te(d);u=c;return}function id(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=La,x=La,y=La,z=0;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=cn(j>>>0>1073741823?-1:j<<2)|0;Bl(e);if(!(Zi(e,$(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;dn(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}dn(l);u=d;return m|0}while(1){a=f[p>>2]|0;i=0;t=r;while(1){v=f[o+(t<<2)>>2]|0;if((v|0)>-1){w=$(v|0);x=$($(n[g>>2])*w);y=$(x*$(n[e>>2]))}else{z=Vj(0,0,v|0,((v|0)<0)<<31>>31|0)|0;x=$(+(z>>>0)+4294967296.0*+(I|0));w=$($(n[g>>2])*x);y=$(-$(w*$(n[e>>2])))}w=$(y+$(n[a+(i<<2)>>2]));n[l+(i<<2)>>2]=w;i=i+1|0;if((i|0)==(j|0))break;else t=t+1|0}ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+s|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+j|0;s=s+k|0}}dn(l);u=d;return m|0}function jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2372;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)xm(i);else{o=((n+-1|0)>>>5)+1|0;p=dj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];pd(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)xm(i);k=((l+-1|0)>>>5)+1|0;l=dj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];pd(i,e,d);u=c;return}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2420;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)xm(i);else{o=((n+-1|0)>>>5)+1|0;p=dj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];pd(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)xm(i);k=((l+-1|0)>>>5)+1|0;l=dj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];pd(i,e,d);u=c;return}function md(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=cn(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)dn(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Tj(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}ge(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Tj(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Tj(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Tj(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Tj(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Xf(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)xm(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{n=dj(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Xf(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);fn(m)}}while((c|0)!=(g|0))}if(!p)return;fn(p);return}function od(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Gb(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)fn(f[h>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=dj(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=o;l=8387;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+20>>0]=0;f[a>>2]=-1;Tf(h,j);if((b[j+11>>0]|0)<0)fn(f[j>>2]|0);u=g;return}Ne(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;oi(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)fn(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Sa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Tf(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)fn(f[i>>2]|0);u=g;return}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];Dc(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;si(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)si(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);fn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)xm(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)xm(a);h=dj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)si(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=p;p=n;while(1){d[p>>1]=d[q>>1]|0;q=q+2|0;if((q|0)==(c|0))break;else p=p+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);fn(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)xm(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)xm(a);t=dj(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=b;b=t;while(1){d[b>>1]=d[e>>1]|0;e=e+2|0;if((e|0)==(c|0))break;else b=b+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)si(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);fn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)xm(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)xm(a);h=dj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);fn(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)xm(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)xm(a);j=dj(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;j=f[i+4>>2]|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;if(!((j|0)>(n|0)|((j|0)==(n|0)?(f[i>>2]|0)>>>0>m>>>0:0))){o=0;u=d;return o|0}b[a+12>>0]=b[(f[c>>2]|0)+m>>0]|0;m=k;i=Tj(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=k;f[m>>2]=i;f[m+4>>2]=I;a:do if((fg(e,c)|0?(m=f[e>>2]|0,i=g,n=k,j=f[n>>2]|0,l=f[n+4>>2]|0,n=Vj(f[i>>2]|0,f[i+4>>2]|0,j|0,l|0)|0,i=I,!((i|0)<0|(i|0)==0&n>>>0>>0)):0)?(n=(f[c>>2]|0)+j|0,(m|0)>=1):0){f[a>>2]=n;i=m+-1|0;p=n+i|0;switch((h[p>>0]|0)>>>6&3){case 0:{f[a+4>>2]=i;q=b[p>>0]&63;break}case 1:{if((m|0)<2){r=0;break a}f[a+4>>2]=m+-2;p=n+m+-2|0;q=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break}case 2:{if((m|0)<3){r=0;break a}f[a+4>>2]=m+-3;p=n+m+-3|0;q=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}p=q+4096|0;f[a+8>>2]=p;if(p>>>0<1048576){p=Tj(j|0,l|0,m|0,0)|0;m=k;f[m>>2]=p;f[m+4>>2]=I;r=1}else r=0}else r=0;while(0);o=r;u=d;return o|0}function vd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;hc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;gc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)fn(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)fn(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{hf(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(zb(a,d)|0)){s=0;u=c;return s|0}ab(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{fn(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)xm(c);else{j=((k+-1|0)>>>5)+1|0;l=dj(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);si(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{fn(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)xm(h);else{n=((p+-1|0)>>>5)+1|0;c=dj(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);si(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Zg(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Zg(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Zg(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function zd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Gg(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(qb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(qb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);fn(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)xm(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)xm(a);j=dj(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;ge(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;ge(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function Cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+16|0;e=d;if(!(Hf(e,c)|0)){g=0;u=d;return g|0}i=e;e=f[i>>2]|0;j=f[i+4>>2]|0;i=c+8|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=Vj(f[i>>2]|0,f[i+4>>2]|0,m|0,n|0)|0;i=I;if(j>>>0>i>>>0|(j|0)==(i|0)&e>>>0>l>>>0){g=0;u=d;return g|0}l=(f[c>>2]|0)+m|0;c=Tj(m|0,n|0,e|0,j|0)|0;j=k;f[j>>2]=c;f[j+4>>2]=I;if((e|0)<1){g=0;u=d;return g|0}f[a+40>>2]=l;j=e+-1|0;c=l+j|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=j;o=b[c>>0]&63;break}case 1:{if((e|0)<2){g=0;u=d;return g|0}else{f[a+44>>2]=e+-2;k=l+e+-2|0;o=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}break}case 2:{if((e|0)<3){g=0;u=d;return g|0}else{f[a+44>>2]=e+-3;k=l+e+-3|0;o=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=e+-4;k=l+e+-4|0;o=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);e=o+16384|0;f[a+48>>2]=e;g=e>>>0<4194304;u=d;return g|0}function Dd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Gg(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(tb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(tb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(oc(e,a,d)|0){d=f[g>>2]|0;sd(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+56>>2]|0;if(d|0)fn(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}pf(e);fn(e);u=c;return l|0}function Fd(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=La,f=La,g=La,h=La,i=La,j=La,k=0.0,l=La,m=La,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=La,u=La,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=$(h+g);j=$(g-h);k=-1.0;l=g;m=h}else{i=e;j=f;k=1.0;l=b;m=c}c=$(+l*2.0+-1.0);l=$(+m*2.0+-1.0);o=+i*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}else{m=$($(1.0)/$(L($(i))));i=$(m*j);n[d>>2]=i;t=$(m*l);u=$(m*c);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+16|0;g=e;h=d+8|0;i=f[h>>2]|0;j=f[h+4>>2]|0;h=d+16|0;k=h;l=f[k>>2]|0;m=f[k+4>>2]|0;if((j|0)>(m|0)|(j|0)==(m|0)&i>>>0>l>>>0){k=b[(f[d>>2]|0)+l>>0]|0;n=Tj(l|0,m|0,1,0)|0;o=I;p=h;f[p>>2]=n;f[p+4>>2]=o;if(k<<24>>24!=-2){q=k;r=o;s=n;t=3}}else{q=0;r=m;s=l;t=3}if((t|0)==3){if((j|0)>(r|0)|(j|0)==(r|0)&i>>>0>s>>>0){i=b[(f[d>>2]|0)+s>>0]|0;j=Tj(s|0,r|0,1,0)|0;r=h;f[r>>2]=j;f[r+4>>2]=I;v=i}else v=0;Va[f[(f[a>>2]|0)+40>>2]&7](g,a,q<<24>>24,v<<24>>24);v=a+20|0;q=f[g>>2]|0;f[g>>2]=0;i=f[v>>2]|0;f[v>>2]=q;if(i){Sa[f[(f[i>>2]|0)+4>>2]&127](i);i=f[g>>2]|0;f[g>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Oa[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){w=0;u=e;return w|0}w=Pa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=e;return w|0}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=mh(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=mh(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;Ec(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;si(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=ig(c)|0;if(i>>>0>4294967279)xm(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=dj(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){ge(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=ig(d)|0;if(i>>>0>4294967279)xm(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=dj(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){ge(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Mc(i,g,h)|0,(o|0)!=0):0)q=lh(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)fn(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}fn(f[g>>2]|0);u=e;return q|0}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;fn(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)xm(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)xm(a);i=dj(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)si(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Xf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)xm(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{n=dj(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Xf(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Sa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;fn(p);return}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)xm(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;$k(e,9789);f[e>>2]=3704;va(e|0,856,80)}else{l=dj(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;Tf(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=l;l=g;g=e;do{e=g+-12|0;j=j+-12|0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];f[e+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=l+-12|0;l=g}while((j|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)fn(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;fn(n);return}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)si(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;ge(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);fn(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)xm(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)xm(a);j=dj(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;ge(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=dj(64)|0;g=dj(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=2592;f[g+8>>2]=h;f[d>>2]=g;Ch(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){Md(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(n|0)!=(m|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Sa[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Sa[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Sa[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=-1;i=b;j=0}else{h=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;i=b;j=0}}else{h=-1;i=-1;j=1}if((g|0)!=(h|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(j){l=-1;m=-1;n=i;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(j){l=-1;m=e;n=i;break}else o=e}e=i+1|0;b=((e>>>0)%3|0|0)==0?i+-2|0:e;if((b|0)==-1){l=-1;m=o;n=i}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=i}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(bc(e,c)|0){g=0;return g|0}a=Cb(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Ze(c+8|0);fn(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)fn(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)fn(a);fn(d);g=1;return g|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))ze(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Af(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;fn(b)}fn(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);fn(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;fn(e)}fn(h)}fn(c);u=d;return}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=kk(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=kk(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function Ud(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2696;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}Se(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Ef(i);fn(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}fn(g)}Ef(a);fn(a);return}function Vd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=mh(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=mh(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];xd(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{Ad(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Ad(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Ad(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Od(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+32|0;g=e+8|0;i=e;if((d|0)!=3){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{b=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Na[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Oc(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);m=f[i>>2]|0;if(!m){f[i>>2]=0;break}else{n=i;o=m;break a}}while(0);m=dj(24)|0;f[m+4>>2]=b;p=m+8|0;f[p>>2]=f[g>>2];f[p+4>>2]=f[g+4>>2];f[p+8>>2]=f[g+8>>2];f[p+12>>2]=f[g+12>>2];f[m>>2]=1884;k=m;l=8}while(0);if((l|0)==8){f[i>>2]=k;n=i;o=k}f[a>>2]=o;f[n>>2]=0;u=e;return}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)xm(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;$k(i,9789);f[i>>2]=3704;va(i|0,856,80)}else{l=dj(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)ge(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;fn(e);return}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)xm(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{k=dj(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){Ef(n);fn(n)}}while((h|0)!=(g|0))}if(!m)return;fn(m);return}function $d(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Sh(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(ci(5)|0,d)|0;lg(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=dj(96)|0;Gh(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);bg(j,c)|0;f[h>>2]=j;Kf(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;fn(h)}fn(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);fn(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;fn(j)}fn(c)}fn(a);u=e;return}function ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function be(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=cn(k)|0;Xf(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;dc(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){dn(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;dc(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));dn(l);u=g;return 1}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Sd(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);fn(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;fn(c)}fn(h)}fn(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Ee(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;n=m+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((o|0)>(g|0)){l=0;return l|0}f[a+12>>2]=o;f[a+16>>2]=g;j=Vj(g|0,((g|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;if(!(o>>>0<0|(o|0)==0&j>>>0<2147483647)){l=0;return l|0}o=j+1|0;f[a+20>>2]=o;j=(o|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(!(o&1))f[g>>2]=j+-1;l=ud(a+108|0,b)|0;return l|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;fg(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){fg(g,f[a>>2]|0)|0;k=dj(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(kc(a,k)|0))break;f[h>>2]=k;Jg(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){Ef(l);fn(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}Ef(k);fn(k);m=0}while(0);if((j|0)==8)m=kc(a,c)|0;i=m;u=d;return i|0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)xm(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Qk(a,j,(e&255)+1|0)|0;fn(j);o=16}}else{j=k+1|0;p=dj(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Qk(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Qk(n,m,(f[j>>2]|0)+1|0)|0;fn(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function he(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{hf(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function ie(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(Cl(a,f[c+8>>2]|0,g)|0)){if(!(Cl(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Wa[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;Xa[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else Wi(0,c,d,e);while(0);return}function je(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=dj(384)|0;rg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Sa[f[(f[c>>2]|0)+4>>2]&127](c);m=9}break}case 2:{c=dj(440)|0;mf(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Sa[f[(f[d>>2]|0)+4>>2]&127](d);m=9}break}default:m=9}if((m|0)==9){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Oa[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=cc(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=dj(40)|0;Tf(c+16|0,d);Tf(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Lc(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)xm(a);n=j<<6;j=c+31&-32;cf(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)fn(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Xf(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Xf(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Vj(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){fn(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=j;j=g;while(1){m=l+8|0;if((j|0)==(f[i>>2]|0))Nd(a,m);else{Tf(j,m);f[h>>2]=(f[h>>2]|0)+12}m=f[l>>2]|0;if(!m)break a;l=m;j=f[h>>2]|0}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Ua[e&7](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;fn(d)}fn(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);fn(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;fn(a)}fn(e)}fn(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==1048576;return k|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)xm(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;$k(h,9789);f[h>>2]=3704;va(h|0,856,80)}else{k=dj(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)ge(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;fn(d);return}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==524288;return k|0}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==262144;return k|0}function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)fn(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)fn(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;le(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;le(a+12|0,k,e);td(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,2684);Gg(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);Gg(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==65536;return k|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==32768;return k|0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==8192;return k|0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==4096;return k|0}function ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((hb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=ln(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=hb(a,c,g,i,h)|0;if(!o)s=j;else{Pa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=hb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)kn(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){hd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;fn(h)}fn(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);fn(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(a)}fn(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)xm(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;$k(e,9789);f[e>>2]=3704;va(e|0,856,80)}else{e=dj(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)ge(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;fn(i);return}function Be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Dl(f[a+8>>2]|0,e)|0;h=Dl(f[a+12>>2]|0,e)|0;i=Dl(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Dl(f[a+(q<<2)>>2]|0,e)|0;s=Dl(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=wh(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Dl(f[a+(m<<2)>>2]|0,e)|0;j=Dl(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Ce(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Cl(l,e,0)|0){f[i+48>>2]=1;Xa[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Wa[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function De(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=La;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=0;n=0;o=0;p=j;while(1){q=$($(1.0)/$(p|0));Fd(g,$(q*$(f[k+(m<<2)>>2]|0)),$(q*$(f[k+((m|1)<<2)>>2]|0)),e);ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+o|0,e|0,i|0)|0;j=n+1|0;if((j|0)==(c|0)){l=1;break}m=m+2|0;n=j;o=o+i|0;p=f[a>>2]|0}u=d;return l|0}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)xm(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{d=dj(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)ge(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;fn(h);return}function Fe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=mh(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=mh(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=ig(c)|0;if(h>>>0>4294967279)xm(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=dj(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Mc(i,g,e)|0,(j|0)!=0):0)n=lh(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)fn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}fn(f[e>>2]|0);u=d;return n|0}function Ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){vd(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=dj(44)|0;f[d>>2]=1208;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];Dg(d+32|0,e+24|0);f[d>>2]=1264;g=d}f[a>>2]=g;return}function Je(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(a|0)!=(k|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{Ae(h,i-l|0,1076);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function Ke(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=cn(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){dn(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=a+i|0}}dn(k);return}else{ge(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){dn(k);return}else{p=0;q=1}do{p=p+j|0;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+p|0,k|0,j|0)|0;q=q+1|0}while((q|0)!=(c|0));dn(k);return}}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=cn(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){dn(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=a+h|0}}dn(j);return}else{ge(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){dn(j);return}else{o=0;p=1}do{o=o+i|0;ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+o|0,j|0,i|0)|0;p=p+1|0}while((p|0)!=(c|0));dn(j);return}}function Me(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);fn(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}fn(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);fn(g)}g=a+136|0;a=f[g>>2]|0;f[g>>2]=0;if(!a)return;g=a+-4|0;j=f[g>>2]|0;if(j|0){b=a+(j<<4)|0;do b=b+-16|0;while((b|0)!=(a|0))}dn(g);return}function Ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=dj(48)|0;Tl(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=dj(52)|0;Yk(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=8331;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Tf(c,g);f[a>>2]=f[e>>2];Tf(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)fn(f[c>>2]|0);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=d;return}}}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(n&1)){l=0;return l|0}j=(_(n|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;n=2<>2]=n+-1;j=n+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=ud(a+88|0,b)|0;return l|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Kc(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);fn(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);fn(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);fn(h)}wf(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Qe(a,b){a=a|0;b=b|0;var c=0,d=La,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Sb(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Sb(a,e);return}function Re(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1088;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}fn(g)}f[a>>2]=984;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);fn(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);fn(g);return}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;fn(d)}fn(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);fn(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;fn(i)}fn(j)}fn(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}fn(e);return}function Te(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;fn(d)}fn(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);fn(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;fn(h)}fn(i)}fn(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;fn(b);return}function Ue(a,b){a=a|0;b=b|0;var c=0,d=La,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){jc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;jc(a,e);return}function Ve(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=dj(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{lf(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}ge(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Na[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Oa[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Oa[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Uf(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){fn(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}fn(f[e>>2]|0);u=a;return i|0}function Ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Ih(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Pa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Pa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);ge(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Ze(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Ze(c+8|0);fn(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)fn(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;fn(h)}if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);fn(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)fn(e);fn(d)}if((b[a+11>>0]|0)>=0)return;fn(f[a>>2]|0);return}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=cn((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;dn(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Tj(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}ge(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+j|0,g|0,a|0)|0;k=k+1|0;if((k|0)>=(b|0)){i=1;q=5;break}else j=j+a|0}if((q|0)==5){dn(g);return i|0}return 0}function $e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=0;j=g;a:while(1){g=f[j+(a*144|0)>>2]|0;if(((g|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(g|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(g<<2)>>2]|0,(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){g=0;do{if((Oa[f[(f[k>>2]|0)+20>>2]&127](k,g)|0)==(c|0))break a;g=g+1|0}while((g|0)<(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=a+1|0;j=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-j|0)/144|0)>>>0){h=0;m=11;break}else a=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(a*144|0)+100>>0]|0)==0?0:m+(a*144|0)+4|0;return h|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(_(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=0;i=e;b:while(1){j=f[i+(h*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Oa[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=h+1|0;i=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-i|0)/144|0)>>>0)break a;else h=k}m=(f[c>>2]|0)+(h*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)xm(d);k=((b+-1|0)>>>5)+1|0;b=dj(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Jd(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)fn(g);u=c;return}function df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Tj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=928;f[e+4>>2]=-1;Hl(e,n);o=jh(e,f[a+16>>2]|0)|0;u=c;return o|0} -function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[3220]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=12920+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[3220]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[3222]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=12920+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[3225]|0;h=m>>>3;l=12920+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[3222]=j;f[3225]=k;o=e;u=b;return o|0}e=f[3221]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[13184+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=13184+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[3221]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[3225]|0;n=m>>>3;i=12920+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[3222]=v;f[3225]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[3221]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[13184+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[13184+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[3222]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=13184+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=12920+(j<<1<<2)|0;d=f[3220]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=13184+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[3221]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[3222]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[3225]|0;if(T>>>0>15){_=$+B|0;f[3225]=_;f[3222]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[3222]=0;f[3225]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[3223]|0;if($>>>0>B>>>0){T=$-B|0;f[3223]=T;S=f[3226]|0;_=S+B|0;f[3226]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[3338]|0)){f[3340]=4096;f[3339]=4096;f[3341]=-1;f[3342]=-1;f[3343]=0;f[3331]=0;f[3338]=c&-16^1431655768;aa=4096}else aa=f[3340]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[3330]|0;if(X|0?(Y=f[3328]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[3331]&4)){X=f[3226]|0;c:do if(X){Z=13328;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Xh(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Xh(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[3339]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[3328]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[3330]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Xh(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[3340]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Xh(X|0)|0)==(-1|0)){Xh(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[3331]=f[3331]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Xh(aa|0)|0,aa=Xh(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[3328]|0)+da|0;f[3328]=ca;if(ca>>>0>(f[3329]|0)>>>0)f[3329]=ca;ca=f[3226]|0;do if(ca){ha=13328;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[3223]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[3226]=ga;f[3223]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[3227]=f[3342];break}if(ea>>>0<(f[3224]|0)>>>0)f[3224]=ea;fa=ea+da|0;S=13328;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=13328;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[3225]|0)==(aa|0)){ba=(f[3222]|0)+c|0;f[3222]=ba;f[3225]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[3220]=f[3220]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=13184+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[3221]=f[3221]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=12920+($<<1<<2)|0;Z=f[3220]|0;Y=1<<$;if(!(Z&Y)){f[3220]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=13184+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[3221]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[3223]|0)+c|0;f[3223]=ba;f[3226]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=13328;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[3226]=fa;f[3223]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[3227]=f[3342];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[3332];f[c+4>>2]=f[3333];f[c+8>>2]=f[3334];f[c+12>>2]=f[3335];f[3332]=ea;f[3333]=da;f[3335]=0;f[3334]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=12920+(ba<<1<<2)|0;S=f[3220]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=13184+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[3221]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[3224]|0;if((c|0)==0|ea>>>0>>0)f[3224]=ea;f[3332]=ea;f[3333]=da;f[3335]=0;f[3229]=f[3338];f[3228]=-1;f[3233]=12920;f[3232]=12920;f[3235]=12928;f[3234]=12928;f[3237]=12936;f[3236]=12936;f[3239]=12944;f[3238]=12944;f[3241]=12952;f[3240]=12952;f[3243]=12960;f[3242]=12960;f[3245]=12968;f[3244]=12968;f[3247]=12976;f[3246]=12976;f[3249]=12984;f[3248]=12984;f[3251]=12992;f[3250]=12992;f[3253]=13e3;f[3252]=13e3;f[3255]=13008;f[3254]=13008;f[3257]=13016;f[3256]=13016;f[3259]=13024;f[3258]=13024;f[3261]=13032;f[3260]=13032;f[3263]=13040;f[3262]=13040;f[3265]=13048;f[3264]=13048;f[3267]=13056;f[3266]=13056;f[3269]=13064;f[3268]=13064;f[3271]=13072;f[3270]=13072;f[3273]=13080;f[3272]=13080;f[3275]=13088;f[3274]=13088;f[3277]=13096;f[3276]=13096;f[3279]=13104;f[3278]=13104;f[3281]=13112;f[3280]=13112;f[3283]=13120;f[3282]=13120;f[3285]=13128;f[3284]=13128;f[3287]=13136;f[3286]=13136;f[3289]=13144;f[3288]=13144;f[3291]=13152;f[3290]=13152;f[3293]=13160;f[3292]=13160;f[3295]=13168;f[3294]=13168;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[3226]=ba;f[3223]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[3227]=f[3342]}while(0);ea=f[3223]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[3223]=da;ea=f[3226]|0;ca=ea+B|0;f[3226]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=nn()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;h=d+16|0;i=d+4|0;j=d+36|0;k=d;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+216>>2]|0)==(f[a+220>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+232|0;s=a+404|0;t=a+400|0;v=a+8|0;w=g+8|0;x=a+36|0;y=a+40|0;z=c+-1|0;A=a+428|0;B=a+416|0;C=h+4|0;D=a+388|0;E=i+8|0;F=0;while(1){G=F+1|0;H=f[s>>2]|0;b:do if((H|0)==-1){f[t>>2]=7;I=93}else{J=(f[A>>2]|0)+(H<<2)|0;K=f[J>>2]|0;L=K+-1|0;f[J>>2]=L;if((K|0)<1){M=-1;I=179;break a}K=f[(f[(f[B>>2]|0)+((f[s>>2]|0)*12|0)>>2]|0)+(L<<2)>>2]|0;L=f[2504+(K<<2)>>2]|0;f[t>>2]=L;if(!K){J=f[l>>2]|0;if((f[g>>2]|0)==(J|0)){M=-1;I=179;break a}N=J+-4|0;O=f[N>>2]|0;P=f[v>>2]|0;Q=(O|0)==-1;R=O+1|0;if(!Q?(S=((R>>>0)%3|0|0)==0?O+-2|0:R,(S|0)!=-1):0)T=f[(f[P>>2]|0)+(S<<2)>>2]|0;else T=-1;S=f[P+24>>2]|0;R=f[S+(T<<2)>>2]|0;U=R+1|0;if((R|0)==-1)V=-1;else V=((U>>>0)%3|0|0)==0?R+-2|0:U;U=F*3|0;R=U+1|0;W=f[P+12>>2]|0;f[W+(O<<2)>>2]=R;f[W+(R<<2)>>2]=O;X=U+2|0;f[W+(V<<2)>>2]=X;f[W+(X<<2)>>2]=V;W=f[P>>2]|0;f[W+(U<<2)>>2]=T;P=V+1|0;if((V|0)!=-1?(Y=((P>>>0)%3|0|0)==0?V+-2|0:P,(Y|0)!=-1):0)Z=f[W+(Y<<2)>>2]|0;else Z=-1;f[W+(R<<2)>>2]=Z;if(!Q?(Q=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(Q|0)!=-1):0){O=f[W+(Q<<2)>>2]|0;f[W+(X<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=X}else f[W+(X<<2)>>2]=-1;X=(f[p>>2]|0)+(T>>>5<<2)|0;f[X>>2]=f[X>>2]&~(1<<(T&31));f[N>>2]=U;f[j>>2]=f[J+-4>>2];f[e>>2]=f[j>>2];pc(r,e);break}J=(K|0)==3;switch(L|0){case 7:{I=93;break b;break}case 3:case 5:{L=f[l>>2]|0;if((f[g>>2]|0)==(L|0)){M=-1;I=179;break a}K=f[L+-4>>2]|0;L=F*3|0;U=J?L:L+2|0;N=L+(J&1)|0;X=(J?2:1)+L|0;J=f[v>>2]|0;W=f[J+12>>2]|0;f[W+(X<<2)>>2]=K;f[W+(K<<2)>>2]=X;W=J+24|0;O=J+28|0;S=f[O>>2]|0;if((S|0)==(f[J+32>>2]|0)){Af(W,2336);_=f[O>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[O>>2]=J;_=J}J=_-(f[W>>2]|0)>>2;W=J+-1|0;O=f[v>>2]|0;S=f[O+24>>2]|0;Q=S;if(((f[O+28>>2]|0)-S>>2|0)>(q|0)){M=-1;I=179;break a}S=f[O>>2]|0;f[S+(X<<2)>>2]=W;if(J|0)f[Q+(W<<2)>>2]=X;if((K|0)!=-1){X=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((X|0)!=-1){W=f[S+(X<<2)>>2]|0;f[S+(U<<2)>>2]=W;if((W|0)!=-1)f[Q+(W<<2)>>2]=U}else f[S+(U<<2)>>2]=-1;W=K+1|0;Q=((W>>>0)%3|0|0)==0?K+-2|0:W;if((Q|0)==-1)aa=-1;else aa=f[S+(Q<<2)>>2]|0}else{f[S+(U<<2)>>2]=-1;aa=-1}f[S+(N<<2)>>2]=aa;N=f[l>>2]|0;f[N+-4>>2]=L;ba=N;I=113;break b;break}case 1:break;default:{M=-1;I=179;break a}}N=f[g>>2]|0;L=f[l>>2]|0;if((N|0)==(L|0)){M=-1;I=179;break a}S=L+-4|0;U=f[S>>2]|0;f[l>>2]=S;Q=f[C>>2]|0;c:do if(Q){W=Q+-1|0;K=(W&Q|0)==0;if(!K)if(F>>>0>>0)ca=F;else ca=(F>>>0)%(Q>>>0)|0;else ca=W&F;X=f[(f[h>>2]|0)+(ca<<2)>>2]|0;if((X|0)!=0?(J=f[X>>2]|0,(J|0)!=0):0){d:do if(K){X=J;while(1){O=f[X+4>>2]|0;R=(O|0)==(F|0);if(!(R|(O&W|0)==(ca|0))){da=N;ea=S;break c}if(R?(f[X+8>>2]|0)==(F|0):0){fa=X;break d}X=f[X>>2]|0;if(!X){da=N;ea=S;break c}}}else{X=J;while(1){R=f[X+4>>2]|0;if((R|0)==(F|0)){if((f[X+8>>2]|0)==(F|0)){fa=X;break d}}else{if(R>>>0>>0)ga=R;else ga=(R>>>0)%(Q>>>0)|0;if((ga|0)!=(ca|0)){da=N;ea=S;break c}}X=f[X>>2]|0;if(!X){da=N;ea=S;break c}}}while(0);J=fa+12|0;if((S|0)==(f[w>>2]|0)){Af(g,J);da=f[g>>2]|0;ea=f[l>>2]|0;break}else{f[S>>2]=f[J>>2];f[l>>2]=L;da=N;ea=L;break}}else{da=N;ea=S}}else{da=N;ea=S}while(0);if((da|0)==(ea|0)){M=-1;I=179;break a}S=f[ea+-4>>2]|0;N=(S|0)==-1;if(!N?(f[(f[(f[v>>2]|0)+12>>2]|0)+(S<<2)>>2]|0)!=-1:0){M=-1;I=179;break a}L=(U|0)==-1;Q=f[v>>2]|0;J=f[Q+12>>2]|0;if(!L?(f[J+(U<<2)>>2]|0)!=-1:0){M=-1;I=179;break a}W=F*3|0;K=W+2|0;f[J+(S<<2)>>2]=K;f[J+(K<<2)>>2]=S;X=W+1|0;f[J+(U<<2)>>2]=X;f[J+(X<<2)>>2]=U;if(!N){N=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((N|0)==-1)ha=-1;else ha=f[(f[Q>>2]|0)+(N<<2)>>2]|0;N=f[Q>>2]|0;f[N+(W<<2)>>2]=ha;R=S+1|0;O=((R>>>0)%3|0|0)==0?S+-2|0:R;if((O|0)==-1){ia=-1;ja=ha;ka=N;la=Q}else{ia=f[N+(O<<2)>>2]|0;ja=ha;ka=N;la=Q}}else{N=f[Q>>2]|0;f[N+(W<<2)>>2]=-1;ia=-1;ja=-1;ka=N;la=Q}f[ka+(X<<2)>>2]=ia;if(!L){L=(((U>>>0)%3|0|0)==0?2:-1)+U|0;if((L|0)!=-1){X=f[ka+(L<<2)>>2]|0;f[ka+(K<<2)>>2]=X;if((X|0)!=-1)f[(f[Q+24>>2]|0)+(X<<2)>>2]=K}else f[ka+(K<<2)>>2]=-1;X=U+1|0;L=((X>>>0)%3|0|0)==0?U+-2|0:X;if((L|0)==-1){ma=-1;na=-1}else{ma=f[ka+(L<<2)>>2]|0;na=L}}else{f[ka+(K<<2)>>2]=-1;ma=-1;na=-1}f[e>>2]=ma;K=f[D>>2]|0;L=K+(ja<<2)|0;f[L>>2]=(f[L>>2]|0)+(f[K+(ma<<2)>>2]|0);K=f[Q+24>>2]|0;if((ja|0)!=-1)f[K+(ja<<2)>>2]=f[K+(f[e>>2]<<2)>>2];e:do if((na|0)!=-1){Q=f[la>>2]|0;L=na;do{f[Q+(L<<2)>>2]=ja;X=L+1|0;N=((X>>>0)%3|0|0)==0?L+-2|0:X;if((N|0)==-1)break e;X=f[J+(N<<2)>>2]|0;N=X+1|0;if((X|0)==-1)break e;L=((N>>>0)%3|0|0)==0?X+-2|0:N}while((L|0)!=-1)}while(0);f[K+(f[e>>2]<<2)>>2]=-1;do if(o){J=f[m>>2]|0;if((J|0)==(f[E>>2]|0)){Af(i,e);oa=f[l>>2]|0;break}else{f[J>>2]=f[e>>2];f[m>>2]=J+4;oa=ea;break}}else oa=ea;while(0);f[oa+-4>>2]=W;f[j>>2]=f[oa+-4>>2];f[e>>2]=f[j>>2];pc(r,e)}while(0);if((I|0)==93){I=0;f[e>>2]=F*3;H=f[v>>2]|0;K=H+24|0;J=H+28|0;U=f[J>>2]|0;if((U|0)==(f[H+32>>2]|0)){Af(K,2336);pa=f[J>>2]|0}else{f[U>>2]=-1;H=U+4|0;f[J>>2]=H;pa=H}H=pa-(f[K>>2]|0)>>2;K=H+-1|0;J=f[v>>2]|0;U=f[e>>2]|0;L=f[J>>2]|0;f[L+(U<<2)>>2]=K;Q=J+24|0;N=J+28|0;X=f[N>>2]|0;if((X|0)==(f[J+32>>2]|0)){Af(Q,2336);qa=f[N>>2]|0;ra=f[J>>2]|0}else{f[X>>2]=-1;J=X+4|0;f[N>>2]=J;qa=J;ra=L}f[ra+(U+1<<2)>>2]=(qa-(f[Q>>2]|0)>>2)+-1;Q=f[v>>2]|0;U=(f[e>>2]|0)+2|0;L=Q+24|0;J=Q+28|0;N=f[J>>2]|0;if((N|0)==(f[Q+32>>2]|0)){Af(L,2336);sa=f[J>>2]|0}else{f[N>>2]=-1;X=N+4|0;f[J>>2]=X;sa=X}f[(f[Q>>2]|0)+(U<<2)>>2]=(sa-(f[L>>2]|0)>>2)+-1;L=f[v>>2]|0;U=f[L+24>>2]|0;Q=U;if(((f[L+28>>2]|0)-U>>2|0)>(q|0))break;U=f[e>>2]|0;if(H){f[Q+(K<<2)>>2]=U;if((H|0)!=-1){f[Q+(H<<2)>>2]=(f[e>>2]|0)+1;K=H+1|0;if((K|0)!=-1){ta=K;I=107}}else{ta=0;I=107}}else{f[Q+(H<<2)>>2]=U+1;ta=1;I=107}if((I|0)==107){I=0;f[Q+(ta<<2)>>2]=(f[e>>2]|0)+2}Q=f[l>>2]|0;if((Q|0)==(f[w>>2]|0)){Af(g,e);ua=f[l>>2]|0}else{f[Q>>2]=f[e>>2];U=Q+4|0;f[l>>2]=U;ua=U}ba=ua;I=113}f:do if((I|0)==113?(I=0,f[j>>2]=f[ba+-4>>2],f[e>>2]=f[j>>2],pc(r,e),U=c-F+-1|0,Q=f[y>>2]|0,(Q|0)!=(f[x>>2]|0)):0){H=Q;do{Q=H;K=f[Q+-8>>2]|0;if(K>>>0>U>>>0){M=-1;I=179;break a}if((K|0)!=(U|0))break f;K=b[Q+-4>>0]|0;L=f[Q+-12>>2]|0;f[y>>2]=Q+-12;if((L|0)<0){M=-1;I=179;break a}Q=f[(f[l>>2]|0)+-4>>2]|0;X=(Q|0)==-1;do if(!(K&1))if(!X)if(!((Q>>>0)%3|0)){va=Q+2|0;break}else{va=Q+-1|0;break}else va=-1;else{J=Q+1|0;if(X)va=-1;else va=((J>>>0)%3|0|0)==0?Q+-2|0:J}while(0);f[e>>2]=z-L;Q=rc(h,e)|0;f[Q>>2]=va;H=f[y>>2]|0}while((H|0)!=(f[x>>2]|0))}while(0);if((G|0)<(c|0))F=G;else{wa=G;xa=v;I=126;break a}}M=-1;I=179}else{wa=0;xa=a+8|0;I=126}while(0);g:do if((I|0)==126){c=f[xa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){va=f[l>>2]|0;do if((va|0)!=(f[g>>2]|0)){j=a+312|0;ba=a+60|0;ua=a+64|0;ta=a+68|0;sa=a+76|0;qa=a+80|0;ra=a+72|0;pa=wa;oa=va;h:while(1){ea=oa;f[e>>2]=f[ea+-4>>2];f[l>>2]=ea+-4;do if(!(Yg(j)|0)){ea=f[ua>>2]|0;o=f[ta>>2]|0;if((ea|0)==(o<<5|0)){if((ea+1|0)<0){I=154;break h}ja=o<<6;o=ea+32&-32;cf(ba,ea>>>0<1073741823?(ja>>>0>>0?o:ja):2147483647);ya=f[ua>>2]|0}else ya=ea;f[ua>>2]=ya+1;ea=(f[ba>>2]|0)+(ya>>>5<<2)|0;f[ea>>2]=f[ea>>2]&~(1<<(ya&31));ea=f[sa>>2]|0;if((ea|0)==(f[qa>>2]|0)){Af(ra,e);za=pa;break}else{f[ea>>2]=f[e>>2];f[sa>>2]=ea+4;za=pa;break}}else{ea=f[xa>>2]|0;ja=f[ea>>2]|0;o=ja;if((pa|0)>=(((f[ea+4>>2]|0)-ja>>2>>>0)/3|0|0)){I=160;break h}ja=f[e>>2]|0;na=ja+1|0;if((ja|0)!=-1?(la=((na>>>0)%3|0|0)==0?ja+-2|0:na,(la|0)!=-1):0)Aa=f[o+(la<<2)>>2]|0;else Aa=-1;la=f[ea+24>>2]|0;na=f[la+(Aa<<2)>>2]|0;ma=na+1|0;if((na|0)!=-1?(ka=((ma>>>0)%3|0|0)==0?na+-2|0:ma,ma=ka+1|0,(ka|0)!=-1):0){na=((ma>>>0)%3|0|0)==0?ka+-2|0:ma;if((na|0)==-1){Ba=-1;Ca=ka}else{Ba=f[o+(na<<2)>>2]|0;Ca=ka}}else{Ba=-1;Ca=-1}ka=f[la+(Ba<<2)>>2]|0;la=ka+1|0;if((ka|0)!=-1?(na=((la>>>0)%3|0|0)==0?ka+-2|0:la,la=na+1|0,(na|0)!=-1):0){ka=((la>>>0)%3|0|0)==0?na+-2|0:la;if((ka|0)==-1){Da=-1;Ea=na}else{Da=f[o+(ka<<2)>>2]|0;Ea=na}}else{Da=-1;Ea=-1}na=pa*3|0;f[k>>2]=na;ka=f[ea+12>>2]|0;f[ka+(na<<2)>>2]=ja;f[ka+(ja<<2)>>2]=na;na=(f[k>>2]|0)+1|0;f[ka+(na<<2)>>2]=Ca;f[ka+(Ca<<2)>>2]=na;na=(f[k>>2]|0)+2|0;f[ka+(na<<2)>>2]=Ea;f[ka+(Ea<<2)>>2]=na;na=f[k>>2]|0;ka=o+(na<<2)|0;f[ka>>2]=Ba;f[o+(na+1<<2)>>2]=Da;f[o+(na+2<<2)>>2]=Aa;if((na|0)==-1)Fa=-1;else Fa=f[ka>>2]|0;ka=f[p>>2]|0;na=ka+(Fa>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Fa&31));na=(f[k>>2]|0)+1|0;if((na|0)==-1)Ga=-1;else Ga=f[o+(na<<2)>>2]|0;na=ka+(Ga>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Ga&31));na=(f[k>>2]|0)+2|0;if((na|0)==-1)Ha=-1;else Ha=f[o+(na<<2)>>2]|0;na=ka+(Ha>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Ha&31));na=pa+1|0;ka=f[ua>>2]|0;o=f[ta>>2]|0;if((ka|0)==(o<<5|0)){if((ka+1|0)<0){I=144;break h}ja=o<<6;o=ka+32&-32;cf(ba,ka>>>0<1073741823?(ja>>>0>>0?o:ja):2147483647);Ia=f[ua>>2]|0}else Ia=ka;f[ua>>2]=Ia+1;ka=(f[ba>>2]|0)+(Ia>>>5<<2)|0;f[ka>>2]=f[ka>>2]|1<<(Ia&31);ka=f[sa>>2]|0;if((ka|0)==(f[qa>>2]|0))Af(ra,k);else{f[ka>>2]=f[k>>2];f[sa>>2]=ka+4}za=na}while(0);oa=f[l>>2]|0;if((oa|0)==(f[g>>2]|0)){I=161;break}else pa=za}if((I|0)==144)xm(ba);else if((I|0)==154)xm(ba);else if((I|0)==160){M=-1;I=179;break g}else if((I|0)==161){Ja=za;Ka=f[xa>>2]|0;break}}else{Ja=wa;Ka=c}while(0);if((Ja|0)==(((f[Ka+4>>2]|0)-(f[Ka>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ka+28>>2]|0)-(f[Ka+24>>2]|0)>>2;va=f[i>>2]|0;pa=f[m>>2]|0;if((va|0)==(pa|0)){La=c;Ma=va}else{oa=e+4|0;sa=e+8|0;ra=e+12|0;qa=c;c=va;va=Ka;while(1){ua=f[c>>2]|0;ta=qa+-1|0;j=f[va+24>>2]|0;if((f[j+(ta<<2)>>2]|0)==-1){G=qa;while(1){na=G+-1|0;ka=G+-2|0;if((f[j+(ka<<2)>>2]|0)==-1)G=na;else{Na=na;Oa=ka;break}}}else{Na=qa;Oa=ta}if(Oa>>>0>>0){Pa=Na;Qa=va}else{f[e>>2]=va;G=f[j+(Oa<<2)>>2]|0;f[oa>>2]=G;f[sa>>2]=G;b[ra>>0]=1;if((G|0)==-1){Ra=j;Sa=va}else{ba=va;ka=G;do{f[(f[ba>>2]|0)+(ka<<2)>>2]=ua;Fe(e);ka=f[sa>>2]|0;ba=f[xa>>2]|0}while((ka|0)!=-1);Ra=f[ba+24>>2]|0;Sa=ba}if((ua|0)==-1)Ta=Ra+(Oa<<2)|0;else{ka=Ra+(Oa<<2)|0;f[Ra+(ua<<2)>>2]=f[ka>>2];Ta=ka}f[Ta>>2]=-1;ka=f[p>>2]|0;j=ka+(Oa>>>5<<2)|0;ta=1<<(Oa&31);G=ka+(ua>>>5<<2)|0;ka=1<<(ua&31);if(!(f[j>>2]&ta))Ua=f[G>>2]&~ka;else Ua=f[G>>2]|ka;f[G>>2]=Ua;f[j>>2]=f[j>>2]&~ta;Pa=Na+-1|0;Qa=Sa}c=c+4|0;if((c|0)==(pa|0)){M=Pa;I=179;break}else{qa=Pa;va=Qa}}}}else{M=-1;I=179}}else{M=-1;I=179}}while(0);if((I|0)==179){La=M;Ma=f[i>>2]|0}if(Ma|0){i=f[m>>2]|0;if((i|0)!=(Ma|0))f[m>>2]=i+(~((i+-4-Ma|0)>>>2)<<2);fn(Ma)}Ma=f[h+8>>2]|0;if(Ma|0){i=Ma;do{Ma=i;i=f[i>>2]|0;fn(Ma)}while((i|0)!=0)}i=f[h>>2]|0;f[h>>2]=0;if(i|0)fn(i);i=f[g>>2]|0;if(!i){u=d;return La|0}g=f[l>>2]|0;if((g|0)!=(i|0))f[l>>2]=g+(~((g+-4-i|0)>>>2)<<2);fn(i);u=d;return La|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;j=d+8|0;k=d;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+216>>2]|0)==(f[a+220>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+308|0;s=g+4|0;t=a+8|0;v=i+8|0;w=e+8|0;x=a+304|0;y=a+296|0;z=a+300|0;A=a+36|0;B=a+40|0;C=c+-1|0;D=0;b:while(1){E=D+1|0;c:do if(!(b[r>>0]|0))F=43;else{G=f[x>>2]|0;H=f[y>>2]|0;I=f[z>>2]|0;J=H+(G>>>3)|0;if(J>>>0>>0?(K=h[J>>0]|0,J=G+1|0,f[x>>2]=J,1<<(G&7)&K|0):0){K=H+(J>>>3)|0;if(K>>>0>>0){L=(h[K>>0]|0)>>>(J&7)&1;K=G+2|0;f[x>>2]=K;M=L;N=K}else{M=0;N=J}J=H+(N>>>3)|0;if(J>>>0>>0){I=(h[J>>0]|0)>>>(N&7);f[x>>2]=N+1;O=I<<1&2}else O=0;I=(O|M)<<1|1;J=(I|0)==5;switch(I&7){case 1:{F=43;break c;break}case 3:case 5:{I=f[l>>2]|0;if((f[e>>2]|0)==(I|0)){P=-1;F=183;break a}H=f[I+-4>>2]|0;I=D*3|0;K=J?I:I+2|0;L=I+(J&1)|0;G=(J?2:1)+I|0;J=f[t>>2]|0;Q=f[J+12>>2]|0;f[Q+(G<<2)>>2]=H;f[Q+(H<<2)>>2]=G;Q=J+24|0;R=J+28|0;S=f[R>>2]|0;if((S|0)==(f[J+32>>2]|0)){Af(Q,2336);T=f[R>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[R>>2]=J;T=J}J=T-(f[Q>>2]|0)>>2;Q=J+-1|0;R=f[t>>2]|0;S=f[R+24>>2]|0;U=S;if(((f[R+28>>2]|0)-S>>2|0)>(q|0)){P=-1;F=183;break a}S=f[R>>2]|0;f[S+(G<<2)>>2]=Q;if(J|0)f[U+(Q<<2)>>2]=G;if((H|0)!=-1){G=(((H>>>0)%3|0|0)==0?2:-1)+H|0;if((G|0)!=-1){Q=f[S+(G<<2)>>2]|0;f[S+(K<<2)>>2]=Q;if((Q|0)!=-1)f[U+(Q<<2)>>2]=K}else f[S+(K<<2)>>2]=-1;Q=H+1|0;U=((Q>>>0)%3|0|0)==0?H+-2|0:Q;if((U|0)==-1)V=-1;else V=f[S+(U<<2)>>2]|0}else{f[S+(K<<2)>>2]=-1;V=-1}f[S+(L<<2)>>2]=V;f[(f[l>>2]|0)+-4>>2]=I;break}case 7:{f[j>>2]=D*3;I=f[t>>2]|0;L=I+24|0;S=I+28|0;K=f[S>>2]|0;if((K|0)==(f[I+32>>2]|0)){Af(L,2336);W=f[S>>2]|0}else{f[K>>2]=-1;I=K+4|0;f[S>>2]=I;W=I}I=W-(f[L>>2]|0)>>2;L=I+-1|0;S=f[t>>2]|0;K=f[j>>2]|0;U=f[S>>2]|0;f[U+(K<<2)>>2]=L;Q=S+24|0;H=S+28|0;G=f[H>>2]|0;if((G|0)==(f[S+32>>2]|0)){Af(Q,2336);X=f[H>>2]|0;Y=f[S>>2]|0}else{f[G>>2]=-1;S=G+4|0;f[H>>2]=S;X=S;Y=U}f[Y+(K+1<<2)>>2]=(X-(f[Q>>2]|0)>>2)+-1;Q=f[t>>2]|0;K=(f[j>>2]|0)+2|0;U=Q+24|0;S=Q+28|0;H=f[S>>2]|0;if((H|0)==(f[Q+32>>2]|0)){Af(U,2336);Z=f[S>>2]|0}else{f[H>>2]=-1;G=H+4|0;f[S>>2]=G;Z=G}f[(f[Q>>2]|0)+(K<<2)>>2]=(Z-(f[U>>2]|0)>>2)+-1;U=f[t>>2]|0;K=f[U+24>>2]|0;Q=K;if(((f[U+28>>2]|0)-K>>2|0)>(q|0)){F=114;break b}K=f[j>>2]|0;if(I){f[Q+(L<<2)>>2]=K;if((I|0)!=-1){f[Q+(I<<2)>>2]=(f[j>>2]|0)+1;L=I+1|0;if((L|0)!=-1){_=L;F=109}}else{_=0;F=109}}else{f[Q+(I<<2)>>2]=K+1;_=1;F=109}if((F|0)==109){F=0;f[Q+(_<<2)>>2]=(f[j>>2]|0)+2}Q=f[l>>2]|0;if((Q|0)==(f[w>>2]|0))Af(e,j);else{f[Q>>2]=f[j>>2];f[l>>2]=Q+4}break}default:{F=182;break b}}Q=c-D+-1|0;K=f[B>>2]|0;if((K|0)==(f[A>>2]|0))break;else aa=K;while(1){K=aa;I=f[K+-8>>2]|0;if(I>>>0>Q>>>0){P=-1;F=183;break a}if((I|0)!=(Q|0))break c;I=b[K+-4>>0]|0;L=f[K+-12>>2]|0;f[B>>2]=K+-12;if((L|0)<0){P=-1;F=183;break a}K=f[(f[l>>2]|0)+-4>>2]|0;U=(K|0)==-1;do if(!(I&1))if(!U)if(!((K>>>0)%3|0)){ba=K+2|0;break}else{ba=K+-1|0;break}else ba=-1;else{G=K+1|0;if(U)ba=-1;else ba=((G>>>0)%3|0|0)==0?K+-2|0:G}while(0);f[j>>2]=C-L;K=rc(g,j)|0;f[K>>2]=ba;aa=f[B>>2]|0;if((aa|0)==(f[A>>2]|0))break c}}Q=f[l>>2]|0;if((f[e>>2]|0)==(Q|0)){P=-1;F=183;break a}K=Q+-4|0;Q=f[K>>2]|0;U=f[t>>2]|0;I=(Q|0)==-1;G=Q+1|0;if(!I?(S=((G>>>0)%3|0|0)==0?Q+-2|0:G,(S|0)!=-1):0)ca=f[(f[U>>2]|0)+(S<<2)>>2]|0;else ca=-1;S=f[U+24>>2]|0;G=f[S+(ca<<2)>>2]|0;H=G+1|0;if((G|0)==-1)da=-1;else da=((H>>>0)%3|0|0)==0?G+-2|0:H;H=D*3|0;G=H+1|0;J=f[U+12>>2]|0;f[J+(Q<<2)>>2]=G;f[J+(G<<2)>>2]=Q;R=H+2|0;f[J+(da<<2)>>2]=R;f[J+(R<<2)>>2]=da;J=f[U>>2]|0;f[J+(H<<2)>>2]=ca;U=da+1|0;if((da|0)!=-1?(ea=((U>>>0)%3|0|0)==0?da+-2|0:U,(ea|0)!=-1):0)fa=f[J+(ea<<2)>>2]|0;else fa=-1;f[J+(G<<2)>>2]=fa;if(!I?(I=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(I|0)!=-1):0){Q=f[J+(I<<2)>>2]|0;f[J+(R<<2)>>2]=Q;if((Q|0)!=-1)f[S+(Q<<2)>>2]=R}else f[J+(R<<2)>>2]=-1;R=(f[p>>2]|0)+(ca>>>5<<2)|0;f[R>>2]=f[R>>2]&~(1<<(ca&31));f[K>>2]=H}while(0);if((F|0)==43){F=0;H=f[e>>2]|0;K=f[l>>2]|0;if((H|0)==(K|0)){P=-1;F=183;break a}R=K+-4|0;J=f[R>>2]|0;f[l>>2]=R;Q=f[s>>2]|0;d:do if(Q){S=Q+-1|0;I=(S&Q|0)==0;if(!I)if(D>>>0>>0)ga=D;else ga=(D>>>0)%(Q>>>0)|0;else ga=S&D;G=f[(f[g>>2]|0)+(ga<<2)>>2]|0;if((G|0)!=0?(ea=f[G>>2]|0,(ea|0)!=0):0){e:do if(I){G=ea;while(1){U=f[G+4>>2]|0;ha=(U|0)==(D|0);if(!(ha|(U&S|0)==(ga|0))){ia=H;ja=R;break d}if(ha?(f[G+8>>2]|0)==(D|0):0){ka=G;break e}G=f[G>>2]|0;if(!G){ia=H;ja=R;break d}}}else{G=ea;while(1){L=f[G+4>>2]|0;if((L|0)==(D|0)){if((f[G+8>>2]|0)==(D|0)){ka=G;break e}}else{if(L>>>0>>0)la=L;else la=(L>>>0)%(Q>>>0)|0;if((la|0)!=(ga|0)){ia=H;ja=R;break d}}G=f[G>>2]|0;if(!G){ia=H;ja=R;break d}}}while(0);ea=ka+12|0;if((R|0)==(f[w>>2]|0)){Af(e,ea);ia=f[e>>2]|0;ja=f[l>>2]|0;break}else{f[R>>2]=f[ea>>2];f[l>>2]=K;ia=H;ja=K;break}}else{ia=H;ja=R}}else{ia=H;ja=R}while(0);if((ia|0)==(ja|0)){P=-1;F=183;break a}R=f[ja+-4>>2]|0;H=(R|0)==-1;if(!H?(f[(f[(f[t>>2]|0)+12>>2]|0)+(R<<2)>>2]|0)!=-1:0){P=-1;F=183;break a}K=(J|0)==-1;Q=f[t>>2]|0;ea=f[Q+12>>2]|0;if(!K?(f[ea+(J<<2)>>2]|0)!=-1:0){P=-1;F=183;break a}S=D*3|0;I=S+2|0;f[ea+(R<<2)>>2]=I;f[ea+(I<<2)>>2]=R;G=S+1|0;f[ea+(J<<2)>>2]=G;f[ea+(G<<2)>>2]=J;if(!H){H=(((R>>>0)%3|0|0)==0?2:-1)+R|0;if((H|0)==-1)ma=-1;else ma=f[(f[Q>>2]|0)+(H<<2)>>2]|0;H=f[Q>>2]|0;f[H+(S<<2)>>2]=ma;L=R+1|0;ha=((L>>>0)%3|0|0)==0?R+-2|0:L;if((ha|0)==-1){na=-1;oa=ma;pa=H;qa=Q}else{na=f[H+(ha<<2)>>2]|0;oa=ma;pa=H;qa=Q}}else{H=f[Q>>2]|0;f[H+(S<<2)>>2]=-1;na=-1;oa=-1;pa=H;qa=Q}f[pa+(G<<2)>>2]=na;if(!K){K=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((K|0)!=-1){G=f[pa+(K<<2)>>2]|0;f[pa+(I<<2)>>2]=G;if((G|0)!=-1)f[(f[Q+24>>2]|0)+(G<<2)>>2]=I}else f[pa+(I<<2)>>2]=-1;G=J+1|0;K=((G>>>0)%3|0|0)==0?J+-2|0:G;if((K|0)==-1){ra=-1;sa=-1}else{ra=f[pa+(K<<2)>>2]|0;sa=K}}else{f[pa+(I<<2)>>2]=-1;ra=-1;sa=-1}f[j>>2]=ra;I=f[Q+24>>2]|0;if((oa|0)!=-1)f[I+(oa<<2)>>2]=f[I+(ra<<2)>>2];f:do if((sa|0)!=-1){Q=f[qa>>2]|0;K=sa;do{f[Q+(K<<2)>>2]=oa;G=K+1|0;H=((G>>>0)%3|0|0)==0?K+-2|0:G;if((H|0)==-1)break f;G=f[ea+(H<<2)>>2]|0;H=G+1|0;if((G|0)==-1)break f;K=((H>>>0)%3|0|0)==0?G+-2|0:H}while((K|0)!=-1)}while(0);f[I+(f[j>>2]<<2)>>2]=-1;do if(o){ea=f[m>>2]|0;if((ea|0)==(f[v>>2]|0)){Af(i,j);ta=f[l>>2]|0;break}else{f[ea>>2]=f[j>>2];f[m>>2]=ea+4;ta=ja;break}}else ta=ja;while(0);f[ta+-4>>2]=S}if((E|0)<(c|0))D=E;else{ua=E;va=t;F=129;break a}}if((F|0)==114){P=-1;F=183;break}}else{ua=0;va=a+8|0;F=129}while(0);g:do if((F|0)==129){c=f[va>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){ta=f[l>>2]|0;do if((ta|0)!=(f[e>>2]|0)){ja=a+312|0;o=a+60|0;oa=a+64|0;sa=a+68|0;qa=a+76|0;ra=a+80|0;pa=a+72|0;na=ua;ma=ta;h:while(1){ia=ma;f[j>>2]=f[ia+-4>>2];f[l>>2]=ia+-4;do if(!(Yg(ja)|0)){ia=f[oa>>2]|0;ka=f[sa>>2]|0;if((ia|0)==(ka<<5|0)){if((ia+1|0)<0){F=157;break h}ga=ka<<6;ka=ia+32&-32;cf(o,ia>>>0<1073741823?(ga>>>0>>0?ka:ga):2147483647);wa=f[oa>>2]|0}else wa=ia;f[oa>>2]=wa+1;ia=(f[o>>2]|0)+(wa>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(wa&31));ia=f[qa>>2]|0;if((ia|0)==(f[ra>>2]|0)){Af(pa,j);xa=na;break}else{f[ia>>2]=f[j>>2];f[qa>>2]=ia+4;xa=na;break}}else{ia=f[va>>2]|0;ga=f[ia>>2]|0;ka=ga;if((na|0)>=(((f[ia+4>>2]|0)-ga>>2>>>0)/3|0|0)){F=163;break h}ga=f[j>>2]|0;la=ga+1|0;if((ga|0)!=-1?(ca=((la>>>0)%3|0|0)==0?ga+-2|0:la,(ca|0)!=-1):0)ya=f[ka+(ca<<2)>>2]|0;else ya=-1;ca=f[ia+24>>2]|0;la=f[ca+(ya<<2)>>2]|0;fa=la+1|0;if((la|0)!=-1?(da=((fa>>>0)%3|0|0)==0?la+-2|0:fa,fa=da+1|0,(da|0)!=-1):0){la=((fa>>>0)%3|0|0)==0?da+-2|0:fa;if((la|0)==-1){za=-1;Aa=da}else{za=f[ka+(la<<2)>>2]|0;Aa=da}}else{za=-1;Aa=-1}da=f[ca+(za<<2)>>2]|0;ca=da+1|0;if((da|0)!=-1?(la=((ca>>>0)%3|0|0)==0?da+-2|0:ca,ca=la+1|0,(la|0)!=-1):0){da=((ca>>>0)%3|0|0)==0?la+-2|0:ca;if((da|0)==-1){Ba=-1;Ca=la}else{Ba=f[ka+(da<<2)>>2]|0;Ca=la}}else{Ba=-1;Ca=-1}la=na*3|0;f[k>>2]=la;da=f[ia+12>>2]|0;f[da+(la<<2)>>2]=ga;f[da+(ga<<2)>>2]=la;la=(f[k>>2]|0)+1|0;f[da+(la<<2)>>2]=Aa;f[da+(Aa<<2)>>2]=la;la=(f[k>>2]|0)+2|0;f[da+(la<<2)>>2]=Ca;f[da+(Ca<<2)>>2]=la;la=f[k>>2]|0;da=ka+(la<<2)|0;f[da>>2]=za;f[ka+(la+1<<2)>>2]=Ba;f[ka+(la+2<<2)>>2]=ya;if((la|0)==-1)Da=-1;else Da=f[da>>2]|0;da=f[p>>2]|0;la=da+(Da>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Da&31));la=(f[k>>2]|0)+1|0;if((la|0)==-1)Ea=-1;else Ea=f[ka+(la<<2)>>2]|0;la=da+(Ea>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Ea&31));la=(f[k>>2]|0)+2|0;if((la|0)==-1)Fa=-1;else Fa=f[ka+(la<<2)>>2]|0;la=da+(Fa>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Fa&31));la=na+1|0;da=f[oa>>2]|0;ka=f[sa>>2]|0;if((da|0)==(ka<<5|0)){if((da+1|0)<0){F=147;break h}ga=ka<<6;ka=da+32&-32;cf(o,da>>>0<1073741823?(ga>>>0>>0?ka:ga):2147483647);Ga=f[oa>>2]|0}else Ga=da;f[oa>>2]=Ga+1;da=(f[o>>2]|0)+(Ga>>>5<<2)|0;f[da>>2]=f[da>>2]|1<<(Ga&31);da=f[qa>>2]|0;if((da|0)==(f[ra>>2]|0))Af(pa,k);else{f[da>>2]=f[k>>2];f[qa>>2]=da+4}xa=la}while(0);ma=f[l>>2]|0;if((ma|0)==(f[e>>2]|0)){F=164;break}else na=xa}if((F|0)==147)xm(o);else if((F|0)==157)xm(o);else if((F|0)==163){P=-1;F=183;break g}else if((F|0)==164){Ha=xa;Ia=f[va>>2]|0;break}}else{Ha=ua;Ia=c}while(0);if((Ha|0)==(((f[Ia+4>>2]|0)-(f[Ia>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ia+28>>2]|0)-(f[Ia+24>>2]|0)>>2;ta=f[i>>2]|0;na=f[m>>2]|0;if((ta|0)==(na|0)){Ja=c;Ka=ta}else{ma=j+4|0;qa=j+8|0;pa=j+12|0;ra=c;c=ta;ta=Ia;while(1){oa=f[c>>2]|0;sa=ra+-1|0;ja=f[ta+24>>2]|0;if((f[ja+(sa<<2)>>2]|0)==-1){E=ra;while(1){S=E+-1|0;la=E+-2|0;if((f[ja+(la<<2)>>2]|0)==-1)E=S;else{La=S;Ma=la;break}}}else{La=ra;Ma=sa}if(Ma>>>0>>0){Na=La;Oa=ta}else{f[j>>2]=ta;E=f[ja+(Ma<<2)>>2]|0;f[ma>>2]=E;f[qa>>2]=E;b[pa>>0]=1;if((E|0)==-1){Pa=ja;Qa=ta}else{o=ta;la=E;do{f[(f[o>>2]|0)+(la<<2)>>2]=oa;Fe(j);la=f[qa>>2]|0;o=f[va>>2]|0}while((la|0)!=-1);Pa=f[o+24>>2]|0;Qa=o}if((oa|0)==-1)Ra=Pa+(Ma<<2)|0;else{la=Pa+(Ma<<2)|0;f[Pa+(oa<<2)>>2]=f[la>>2];Ra=la}f[Ra>>2]=-1;la=f[p>>2]|0;ja=la+(Ma>>>5<<2)|0;sa=1<<(Ma&31);E=la+(oa>>>5<<2)|0;la=1<<(oa&31);if(!(f[ja>>2]&sa))Sa=f[E>>2]&~la;else Sa=f[E>>2]|la;f[E>>2]=Sa;f[ja>>2]=f[ja>>2]&~sa;Na=La+-1|0;Oa=Qa}c=c+4|0;if((c|0)==(na|0)){P=Na;F=183;break}else{ra=Na;ta=Oa}}}}else{P=-1;F=183}}else{P=-1;F=183}}while(0);if((F|0)==183){Ja=P;Ka=f[i>>2]|0}if(Ka|0){i=f[m>>2]|0;if((i|0)!=(Ka|0))f[m>>2]=i+(~((i+-4-Ka|0)>>>2)<<2);fn(Ka)}Ka=f[g+8>>2]|0;if(Ka|0){i=Ka;do{Ka=i;i=f[i>>2]|0;fn(Ka)}while((i|0)!=0)}i=f[g>>2]|0;f[g>>2]=0;if(i|0)fn(i);i=f[e>>2]|0;if(!i){u=d;return Ja|0}e=f[l>>2]|0;if((e|0)!=(i|0))f[l>>2]=e+(~((e+-4-i|0)>>>2)<<2);fn(i);u=d;return Ja|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Qh(3400,3592,e,c)|0)-3400>>2;k=h;a:while(1){l=(f[3400+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[3208+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Qh(3208,3400,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,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,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(h,b-l|0,2652);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)xm(d);k=((b+-1|0)>>>5)+1|0;m=dj(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Xf(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)xm(e);v=((o+-1|0)>>>5)+1|0;w=dj(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Xf(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Af(h,2652);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Af(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;cf(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)xm(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)fn(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}fn(_b);u=c;return 1}function bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=La,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=Tj(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function cb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else hf(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=dj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)xm(h);else{l=e<<2;r=dj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Xf(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+64|0;x=j+28|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;E=(e|0)==1;if(l-p>>2>>>0>1){F=1;G=p}else{H=q;xm(H)}while(1){I=f[G+(F<<2)>>2]|0;J=(((I>>>0)%3|0|0)==0?2:-1)+I|0;K=J>>>5;L=1<<(J&31);M=(I|0)==-1|(J|0)==-1;N=1;O=0;P=I;b:while(1){Q=N^1;R=O;S=P;while(1){if((S|0)==-1){T=R;v=58;break b}U=f[d+(R*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(S>>>5<<2)>>2]&1<<(S&31)|0)==0?(V=f[(f[(f[o>>2]|0)+12>>2]|0)+(S<<2)>>2]|0,(V|0)!=-1):0)?(W=f[x>>2]|0,Y=f[t>>2]|0,Z=f[Y+(f[W+(V<<2)>>2]<<2)>>2]|0,_=V+1|0,$=f[Y+(f[W+((((_>>>0)%3|0|0)==0?V+-2|0:_)<<2)>>2]<<2)>>2]|0,_=f[Y+(f[W+((((V>>>0)%3|0|0)==0?2:-1)+V<<2)>>2]<<2)>>2]|0,(Z|0)<(F|0)&($|0)<(F|0)&(_|0)<(F|0)):0){V=X(Z,e)|0;Z=X($,e)|0;$=X(_,e)|0;if(y){_=0;do{f[U+(_<<2)>>2]=(f[c+(_+$<<2)>>2]|0)+(f[c+(_+Z<<2)>>2]|0)-(f[c+(_+V<<2)>>2]|0);_=_+1|0}while((_|0)!=(e|0))}_=R+1|0;if((_|0)==4){aa=4;v=38;break b}else ba=_}else ba=R;do if(N){_=S+1|0;V=((_>>>0)%3|0|0)==0?S+-2|0:_;if(((V|0)!=-1?(f[(f[j>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)==0:0)?(_=f[(f[(f[o>>2]|0)+12>>2]|0)+(V<<2)>>2]|0,V=_+1|0,(_|0)!=-1):0)ca=((V>>>0)%3|0|0)==0?_+-2|0:V;else ca=-1}else{V=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if(((V|0)!=-1?(f[(f[j>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)==0:0)?(_=f[(f[(f[o>>2]|0)+12>>2]|0)+(V<<2)>>2]|0,(_|0)!=-1):0)if(!((_>>>0)%3|0)){ca=_+2|0;break}else{ca=_+-1|0;break}else ca=-1}while(0);if((ca|0)==(I|0)){T=ba;v=58;break b}if((ca|0)!=-1|Q){R=ba;S=ca}else break}if(M){N=0;O=ba;P=-1;continue}if(f[(f[j>>2]|0)+(K<<2)>>2]&L|0){N=0;O=ba;P=-1;continue}S=f[(f[(f[o>>2]|0)+12>>2]|0)+(J<<2)>>2]|0;if((S|0)==-1){N=0;O=ba;P=-1;continue}if(!((S>>>0)%3|0)){N=0;O=ba;P=S+2|0;continue}else{N=0;O=ba;P=S+-1|0;continue}}if((v|0)==58){v=0;if((T|0)>0){aa=T;v=38}else{da=X(F,e)|0;v=73}}if((v|0)==38){v=0;if(y){Xf(f[h>>2]|0,0,D|0)|0;P=aa+-1|0;O=s+(P<<2)|0;N=a+60+(P*12|0)+4|0;J=a+60+(P*12|0)|0;P=f[h>>2]|0;L=0;K=0;while(1){M=f[O>>2]|0;f[O>>2]=M+1;if((f[N>>2]|0)>>>0<=M>>>0){ea=0;fa=P;break a}if(!(f[(f[J>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){M=f[d+(L*12|0)>>2]|0;I=0;do{S=P+(I<<2)|0;f[S>>2]=(f[S>>2]|0)+(f[M+(I<<2)>>2]|0);I=I+1|0}while((I|0)!=(e|0));ga=K+1|0}else ga=K;L=L+1|0;if((L|0)>=(aa|0)){ha=ga;break}else K=ga}}else{K=aa+-1|0;L=s+(K<<2)|0;P=a+60+(K*12|0)|0;J=f[h>>2]|0;N=f[a+60+(K*12|0)+4>>2]|0;K=0;O=0;I=f[L>>2]|0;while(1){M=I;I=I+1|0;f[L>>2]=I;if(N>>>0<=M>>>0){ea=0;fa=J;break a}S=O+((f[(f[P>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31)|0)==0&1)|0;K=K+1|0;if((K|0)>=(aa|0)){ha=S;break}else O=S}}O=X(F,e)|0;if(ha){K=f[h>>2]|0;if(y?(f[K>>2]=(f[K>>2]|0)/(ha|0)|0,!E):0){P=1;do{J=K+(P<<2)|0;f[J>>2]=(f[J>>2]|0)/(ha|0)|0;P=P+1|0}while((P|0)!=(e|0))}P=b+(O<<2)|0;J=c+(O<<2)|0;if((f[i>>2]|0)>0){N=0;do{I=f[K+(N<<2)>>2]|0;L=f[z>>2]|0;if((I|0)>(L|0)){S=f[A>>2]|0;f[S+(N<<2)>>2]=L;ia=S}else{S=f[B>>2]|0;L=f[A>>2]|0;f[L+(N<<2)>>2]=(I|0)<(S|0)?S:I;ia=L}N=N+1|0;ja=f[i>>2]|0}while((N|0)<(ja|0));if((ja|0)>0){N=0;do{K=(f[P+(N<<2)>>2]|0)+(f[ia+(N<<2)>>2]|0)|0;L=J+(N<<2)|0;f[L>>2]=K;do if((K|0)>(f[z>>2]|0)){ka=K-(f[C>>2]|0)|0;v=95}else{if((K|0)>=(f[B>>2]|0))break;ka=(f[C>>2]|0)+K|0;v=95}while(0);if((v|0)==95){v=0;f[L>>2]=ka}N=N+1|0}while((N|0)<(f[i>>2]|0))}}}else{da=O;v=73}}if((v|0)==73?(v=0,N=c+((X(F+-1|0,e)|0)<<2)|0,J=b+(da<<2)|0,P=c+(da<<2)|0,(f[i>>2]|0)>0):0){K=0;do{I=f[N+(K<<2)>>2]|0;S=f[z>>2]|0;if((I|0)>(S|0)){M=f[A>>2]|0;f[M+(K<<2)>>2]=S;la=M}else{M=f[B>>2]|0;S=f[A>>2]|0;f[S+(K<<2)>>2]=(I|0)<(M|0)?M:I;la=S}K=K+1|0;ma=f[i>>2]|0}while((K|0)<(ma|0));if((ma|0)>0){K=0;do{N=(f[J+(K<<2)>>2]|0)+(f[la+(K<<2)>>2]|0)|0;O=P+(K<<2)|0;f[O>>2]=N;if((N|0)<=(f[z>>2]|0)){if((N|0)<(f[B>>2]|0)){na=(f[C>>2]|0)+N|0;v=83}}else{na=N-(f[C>>2]|0)|0;v=83}if((v|0)==83){v=0;f[O>>2]=na}K=K+1|0}while((K|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=100;break}K=f[r>>2]|0;G=f[K>>2]|0;if((f[K+4>>2]|0)-G>>2>>>0<=F>>>0){H=K;v=28;break}}if((v|0)==28)xm(H);else if((v|0)==100){ea=1;fa=f[h>>2]|0;break}}else{ea=1;fa=w}while(0);if(fa|0){w=f[n>>2]|0;if((w|0)!=(fa|0))f[n>>2]=w+(~((w+-4-fa|0)>>>2)<<2);fn(fa)}fn(s);s=f[d+36>>2]|0;if(s|0){fa=d+40|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;fa=f[w>>2]|0;if((fa|0)!=(s|0))f[w>>2]=fa+(~((fa+-4-s|0)>>>2)<<2);fn(s)}s=f[d+12>>2]|0;if(s|0){fa=d+16|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);fn(s);u=g;return ea|0}function db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else hf(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=dj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)xm(h);else{l=e<<2;r=dj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Xf(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+12|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;D=(e|0)==1;if(l-p>>2>>>0>1){E=1;F=p}else{G=q;xm(G)}while(1){H=f[F+(E<<2)>>2]|0;I=(((H>>>0)%3|0|0)==0?2:-1)+H|0;J=(H|0)==-1|(I|0)==-1;K=1;L=0;M=H;b:while(1){N=K^1;O=L;P=M;while(1){if((P|0)==-1){Q=O;v=58;break b}R=f[d+(O*12|0)>>2]|0;S=f[o>>2]|0;T=f[S+(P<<2)>>2]|0;if((T|0)!=-1){U=f[j>>2]|0;V=f[t>>2]|0;W=f[V+(f[U+(T<<2)>>2]<<2)>>2]|0;Y=T+1|0;Z=((Y>>>0)%3|0|0)==0?T+-2|0:Y;if((Z|0)==-1)_=-1;else _=f[U+(Z<<2)>>2]|0;Z=f[V+(_<<2)>>2]|0;Y=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((Y|0)==-1)$=-1;else $=f[U+(Y<<2)>>2]|0;Y=f[V+($<<2)>>2]|0;if((W|0)<(E|0)&(Z|0)<(E|0)&(Y|0)<(E|0)){V=X(W,e)|0;W=X(Z,e)|0;Z=X(Y,e)|0;if(x){Y=0;do{f[R+(Y<<2)>>2]=(f[c+(Y+Z<<2)>>2]|0)+(f[c+(Y+W<<2)>>2]|0)-(f[c+(Y+V<<2)>>2]|0);Y=Y+1|0}while((Y|0)!=(e|0))}Y=O+1|0;if((Y|0)==4){aa=4;v=41;break b}else ba=Y}else ba=O}else ba=O;do if(K){Y=P+1|0;V=((Y>>>0)%3|0|0)==0?P+-2|0:Y;if((V|0)!=-1?(Y=f[S+(V<<2)>>2]|0,V=Y+1|0,(Y|0)!=-1):0)ca=((V>>>0)%3|0|0)==0?Y+-2|0:V;else ca=-1}else{V=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((V|0)!=-1?(Y=f[S+(V<<2)>>2]|0,(Y|0)!=-1):0)if(!((Y>>>0)%3|0)){ca=Y+2|0;break}else{ca=Y+-1|0;break}else ca=-1}while(0);if((ca|0)==(H|0)){Q=ba;v=58;break b}if((ca|0)!=-1|N){O=ba;P=ca}else break}if(J){K=0;L=ba;M=-1;continue}P=f[S+(I<<2)>>2]|0;if((P|0)==-1){K=0;L=ba;M=-1;continue}if(!((P>>>0)%3|0)){K=0;L=ba;M=P+2|0;continue}else{K=0;L=ba;M=P+-1|0;continue}}if((v|0)==58){v=0;if((Q|0)>0){aa=Q;v=41}else{da=X(E,e)|0;v=73}}if((v|0)==41){v=0;if(x){Xf(f[h>>2]|0,0,C|0)|0;M=aa+-1|0;L=s+(M<<2)|0;K=a+60+(M*12|0)+4|0;I=a+60+(M*12|0)|0;M=f[h>>2]|0;J=0;H=0;while(1){P=f[L>>2]|0;f[L>>2]=P+1;if((f[K>>2]|0)>>>0<=P>>>0){ea=0;fa=M;break a}if(!(f[(f[I>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31))){P=f[d+(J*12|0)>>2]|0;O=0;do{N=M+(O<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[P+(O<<2)>>2]|0);O=O+1|0}while((O|0)!=(e|0));ga=H+1|0}else ga=H;J=J+1|0;if((J|0)>=(aa|0)){ha=ga;break}else H=ga}}else{H=aa+-1|0;J=s+(H<<2)|0;M=a+60+(H*12|0)|0;I=f[h>>2]|0;K=f[a+60+(H*12|0)+4>>2]|0;H=0;L=0;O=f[J>>2]|0;while(1){P=O;O=O+1|0;f[J>>2]=O;if(K>>>0<=P>>>0){ea=0;fa=I;break a}N=L+((f[(f[M>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31)|0)==0&1)|0;H=H+1|0;if((H|0)>=(aa|0)){ha=N;break}else L=N}}L=X(E,e)|0;if(ha){H=f[h>>2]|0;if(x?(f[H>>2]=(f[H>>2]|0)/(ha|0)|0,!D):0){M=1;do{I=H+(M<<2)|0;f[I>>2]=(f[I>>2]|0)/(ha|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;I=c+(L<<2)|0;if((f[i>>2]|0)>0){K=0;do{O=f[H+(K<<2)>>2]|0;J=f[y>>2]|0;if((O|0)>(J|0)){N=f[z>>2]|0;f[N+(K<<2)>>2]=J;ia=N}else{N=f[A>>2]|0;J=f[z>>2]|0;f[J+(K<<2)>>2]=(O|0)<(N|0)?N:O;ia=J}K=K+1|0;ja=f[i>>2]|0}while((K|0)<(ja|0));if((ja|0)>0){K=0;do{H=(f[M+(K<<2)>>2]|0)+(f[ia+(K<<2)>>2]|0)|0;J=I+(K<<2)|0;f[J>>2]=H;do if((H|0)>(f[y>>2]|0)){ka=H-(f[B>>2]|0)|0;v=95}else{if((H|0)>=(f[A>>2]|0))break;ka=(f[B>>2]|0)+H|0;v=95}while(0);if((v|0)==95){v=0;f[J>>2]=ka}K=K+1|0}while((K|0)<(f[i>>2]|0))}}}else{da=L;v=73}}if((v|0)==73?(v=0,K=c+((X(E+-1|0,e)|0)<<2)|0,I=b+(da<<2)|0,M=c+(da<<2)|0,(f[i>>2]|0)>0):0){H=0;do{O=f[K+(H<<2)>>2]|0;N=f[y>>2]|0;if((O|0)>(N|0)){P=f[z>>2]|0;f[P+(H<<2)>>2]=N;la=P}else{P=f[A>>2]|0;N=f[z>>2]|0;f[N+(H<<2)>>2]=(O|0)<(P|0)?P:O;la=N}H=H+1|0;ma=f[i>>2]|0}while((H|0)<(ma|0));if((ma|0)>0){H=0;do{K=(f[I+(H<<2)>>2]|0)+(f[la+(H<<2)>>2]|0)|0;L=M+(H<<2)|0;f[L>>2]=K;if((K|0)<=(f[y>>2]|0)){if((K|0)<(f[A>>2]|0)){na=(f[B>>2]|0)+K|0;v=83}}else{na=K-(f[B>>2]|0)|0;v=83}if((v|0)==83){v=0;f[L>>2]=na}H=H+1|0}while((H|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(m|0)){v=100;break}H=f[r>>2]|0;F=f[H>>2]|0;if((f[H+4>>2]|0)-F>>2>>>0<=E>>>0){G=H;v=28;break}}if((v|0)==28)xm(G);else if((v|0)==100){ea=1;fa=f[h>>2]|0;break}}else{ea=1;fa=w}while(0);if(fa|0){w=f[n>>2]|0;if((w|0)!=(fa|0))f[n>>2]=w+(~((w+-4-fa|0)>>>2)<<2);fn(fa)}fn(s);s=f[d+36>>2]|0;if(s|0){fa=d+40|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;fa=f[w>>2]|0;if((fa|0)!=(s|0))f[w>>2]=fa+(~((fa+-4-s|0)>>>2)<<2);fn(s)}s=f[d+12>>2]|0;if(s|0){fa=d+16|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);fn(s);u=g;return ea|0}function eb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Bk(c)|0;if((I|0)<0){q=-c;r=1;s=10359}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?10360:10365):10362}Bk(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;eh(a,32,d,v,g&-65537);ll(a,s,r);ll(a,q!=q|0.0!=0.0?(t?10386:10390):t?10378:10382,3);eh(a,32,d,v,g^8192);w=v}else{c=+Lm(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=sg(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[10394+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;eh(a,32,d,G,g);ll(a,y,z);eh(a,48,d,G,g^65536);ll(a,m,M);eh(a,48,N-M|0,0,0);ll(a,A,E);eh(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=Qj(f[K>>2]|0,0,y|0)|0;Q=Tj(J|0,I|0,x|0,0)|0;J=I;R=bj(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=Il(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=sg(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;eh(a,32,d,A,g);ll(a,s,r);eh(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=sg(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){Xf(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;ll(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)ll(a,10410,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=sg(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){Xf(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;ll(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;eh(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=sg(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;ll(a,Da,1);if(Z&(K|0)<1){Ea=x;break}ll(a,10410,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}Xf(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;ll(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;eh(a,48,Fa+18|0,18,0);ll(a,xa,p-xa|0)}eh(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(j|0)!=(o|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else Zd(l,m-p|0,d);p=a+216|0;m=a+220|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=0;v=j;j=n;n=l;w=l;l=o;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;o=t*3|0;if((o|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(o<<2)>>2]|0;f[e>>2]=x;y=o+1|0;if((y|0)==-1){f[q>>2]=-1;z=0;A=x;B=92}else{C=y;D=x;B=91}}else{f[e>>2]=-1;C=0;D=-1;B=91}if((B|0)==91){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(C<<2)>>2];x=o+2|0;if((x|0)==-1){E=-1;F=D}else{z=x;A=D;B=92}}if((B|0)==92){B=0;E=f[(f[f[k>>2]>>2]|0)+(z<<2)>>2]|0;F=A}f[s>>2]=E;x=v+96|0;o=v+100|0;y=(l-j|0)/12|0;G=j;H=t;t=t+1|0;if(H>>>0>>0){I=n;J=v;K=w;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(t>>>0<=y>>>0)if(t>>>0>>0?(P=G+(t*12|0)|0,(P|0)!=(O|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[o>>2]=Q;R=G;S=w;T=v;U=Q;V=j}else{R=G;S=w;T=v;U=l;V=j}else{Zd(x,t-y|0,d);y=f[i>>2]|0;G=f[y+44>>2]|0;R=f[x>>2]|0;S=y;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=F;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(t>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{v=J;j=M;n=I;w=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;W=1;u=c;return W|0}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)xm(g);else{w=dj(N)|0;f[g>>2]=w;I=w+(l<<2)|0;f[g+8>>2]=I;Xf(w|0,0,N|0)|0;f[K>>2]=I;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;l=e+8|0;I=0;w=r;while(1){n=f[(f[w+24>>2]|0)+(I<<2)>>2]|0;b:do if((n|0)!=-1){c:do if((f[(f[N>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)|0)==0?(M=f[m>>2]|0,j=f[p>>2]|0,J=j,(M|0)!=(j|0)):0){v=(((n>>>0)%3|0|0)==0?2:-1)+n|0;t=(M-j|0)/144|0;if((v|0)==-1){j=0;while(1){M=f[(f[f[J+(j*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(M&31)&f[(f[J+(j*144|0)+16>>2]|0)+(M>>>5<<2)>>2]|0){X=0;break a}j=j+1|0;if(j>>>0>=t>>>0){Y=n;break c}}}j=w+12|0;M=0;while(1){s=f[(f[f[J+(M*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(s&31)&f[(f[J+(M*144|0)+16>>2]|0)+(s>>>5<<2)>>2]|0){s=f[J+(M*144|0)+32>>2]|0;L=f[s+(n<<2)>>2]|0;q=f[j>>2]|0;F=f[q+(v<<2)>>2]|0;do if((F|0)!=-1)if(!((F>>>0)%3|0)){Z=F+2|0;break}else{Z=F+-1|0;break}else Z=-1;while(0);if((Z|0)!=(n|0)){F=Z;while(1){if((F|0)==-1){X=0;break a}if((f[s+(F<<2)>>2]|0)!=(L|0)){Y=F;break c}U=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((U|0)!=-1){V=f[q+(U<<2)>>2]|0;if((V|0)==-1){_=-1;break}if(!((V>>>0)%3|0)){_=V+2|0;break}else{_=V+-1|0;break}}else _=-1;while(0);if((_|0)==(n|0))break;else F=_}}}M=M+1|0;if(M>>>0>=t>>>0){Y=n;break}}}else Y=n;while(0);t=f[b>>2]|0;f[(f[g>>2]|0)+(Y<<2)>>2]=t-(f[e>>2]|0)>>2;f[d>>2]=Y;M=t;if((f[l>>2]|0)>>>0>M>>>0){f[M>>2]=Y;f[b>>2]=M+4;$=w}else{Af(e,d);$=f[k>>2]|0}if((((Y|0)!=-1?(M=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0,(M|0)!=-1):0)?(t=f[(f[$+12>>2]|0)+(M<<2)>>2]|0,(t|0)!=-1):0)?(M=t+(((t>>>0)%3|0|0)==0?2:-1)|0,(M|0)!=-1&(M|0)!=(Y|0)):0){t=Y;v=M;M=$;while(1){j=f[m>>2]|0;J=f[p>>2]|0;F=J;d:do if((j|0)==(J|0))B=66;else{q=(j-J|0)/144|0;L=0;while(1){s=f[F+(L*144|0)+32>>2]|0;L=L+1|0;if((f[s+(v<<2)>>2]|0)!=(f[s+(t<<2)>>2]|0))break;if(L>>>0>=q>>>0){B=66;break d}}q=f[b>>2]|0;f[(f[g>>2]|0)+(v<<2)>>2]=q-(f[e>>2]|0)>>2;f[d>>2]=v;L=q;if((f[l>>2]|0)>>>0>L>>>0){f[L>>2]=v;f[b>>2]=L+4;aa=M}else{Af(e,d);aa=f[k>>2]|0}ba=aa}while(0);if((B|0)==66){B=0;F=f[g>>2]|0;f[F+(v<<2)>>2]=f[F+(t<<2)>>2];ba=M}if((v|0)==-1){ca=ba;break b}F=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((F|0)==-1){ca=ba;break b}J=f[(f[ba+12>>2]|0)+(F<<2)>>2]|0;if((J|0)==-1){ca=ba;break b}F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;if((F|0)!=-1&(F|0)!=(Y|0)){J=v;v=F;M=ba;t=J}else{ca=ba;break}}}else ca=$}else ca=w;while(0);I=I+1|0;if((I|0)>=((f[ca+28>>2]|0)-(f[ca+24>>2]|0)>>2|0)){B=27;break}else w=ca}}else B=27;while(0);if((B|0)==27){B=f[i>>2]|0;ca=f[B+44>>2]|0;$=f[ca+100>>2]|0;ba=f[ca+96>>2]|0;if(($|0)==(ba|0))da=B;else{Y=h+4|0;aa=h+8|0;k=0;p=ca;ca=ba;ba=$;$=B;m=B;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;B=(f[g>>2]|0)+(k*3<<2)|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];B=p+96|0;_=p+100|0;Z=(ba-ca|0)/12|0;r=ca;a=k;k=k+1|0;if(a>>>0>>0){ea=r;fa=ca;ga=ba;ha=$;ia=p;ja=m}else{w=ba;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(k>>>0<=Z>>>0)if(k>>>0>>0?(I=r+(k*12|0)|0,(I|0)!=(w|0)):0){l=w+(~(((w+-12-I|0)>>>0)/12|0)*12|0)|0;f[_>>2]=l;ka=r;la=m;ma=p;na=l;oa=ca}else{ka=r;la=m;ma=p;na=ba;oa=ca}else{Zd(B,k-Z|0,d);Z=f[i>>2]|0;r=f[Z+44>>2]|0;ka=f[B>>2]|0;la=Z;ma=r;na=f[r+100>>2]|0;oa=f[r+96>>2]|0}ea=ka;fa=oa;ga=na;ha=la;ia=ma;ja=la}f[ea+(a*12|0)>>2]=f[h>>2];f[ea+(a*12|0)+4>>2]=f[Y>>2];f[ea+(a*12|0)+8>>2]=f[aa>>2];if(k>>>0>=((ga-fa|0)/12|0)>>>0){da=ha;break}else{p=ia;ca=fa;ba=ga;$=ha;m=ja}}}f[(f[da+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[e>>2]|0)>>2;X=1}da=f[g>>2]|0;if(da|0){g=f[K>>2]|0;if((g|0)!=(da|0))f[K>>2]=g+(~((g+-4-da|0)>>>2)<<2);fn(da)}da=f[e>>2]|0;if(da|0){e=f[b>>2]|0;if((e|0)!=(da|0))f[b>>2]=e+(~((e+-4-da|0)>>>2)<<2);fn(da)}W=X;u=c;return W|0}function gb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;c=u;u=u+80|0;e=c+40|0;g=c+68|0;h=c+64|0;i=c+60|0;j=c+52|0;k=c;l=c+56|0;m=c+48|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;fn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(fg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];if(((fg(h,f[(f[n>>2]|0)+32>>2]|0)|0?(g=f[h>>2]|0,g>>>0<=1431655765):0)?(f[o>>2]|0)>>>0<=(g*3|0)>>>0:0)?(g=f[(f[n>>2]|0)+32>>2]|0,p=g+8|0,q=f[p+4>>2]|0,s=g+16|0,t=s,v=f[t>>2]|0,w=f[t+4>>2]|0,(q|0)>(w|0)|((q|0)==(w|0)?(f[p>>2]|0)>>>0>v>>>0:0)):0){p=b[(f[g>>2]|0)+v>>0]|0;q=Tj(v|0,w|0,1,0)|0;w=s;f[w>>2]=q;f[w+4>>2]=I;if((fg(i,g)|0?(g=f[h>>2]|0,w=f[i>>2]|0,g>>>0>=w>>>0):0)?g>>>0<=(((w>>>0)/3|0)+w|0)>>>0:0){do if(fg(j,f[(f[n>>2]|0)+32>>2]|0)|0?(f[j>>2]|0)>>>0<=(f[i>>2]|0)>>>0:0){w=f[a+24>>2]|0;g=a+28|0;q=f[g>>2]|0;if((q|0)!=(w|0))f[g>>2]=q+(~((q+-4-w|0)>>>2)<<2);w=dj(88)|0;fi(w);q=a+8|0;g=f[q>>2]|0;f[q>>2]=w;if(g|0?(pf(g),fn(g),(f[q>>2]|0)==0):0){x=0;break}g=a+160|0;w=f[g>>2]|0;s=a+164|0;v=f[s>>2]|0;if((v|0)!=(w|0))f[s>>2]=v+(~((v+-4-w|0)>>>2)<<2);Gg(g,f[h>>2]|0);g=a+172|0;w=f[g>>2]|0;v=a+176|0;s=f[v>>2]|0;if((s|0)!=(w|0))f[v>>2]=s+(~((s+-4-w|0)>>>2)<<2);Gg(g,f[h>>2]|0);g=f[a+36>>2]|0;w=a+40|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~(((s+-12-g|0)>>>0)/12|0)*12|0);g=f[a+48>>2]|0;s=a+52|0;w=f[s>>2]|0;if((w|0)!=(g|0))f[s>>2]=w+(~((w+-4-g|0)>>>2)<<2);f[a+64>>2]=0;g=f[a+72>>2]|0;w=a+76|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~((s+-4-g|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;s=f[g>>2]|0;w=a+220|0;v=f[w>>2]|0;if((v|0)!=(s|0)){t=v;do{f[w>>2]=t+-144;v=f[t+-12>>2]|0;if(v|0){y=t+-8|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-28>>2]|0;if(v|0){z=t+-24|0;y=f[z>>2]|0;if((y|0)!=(v|0))f[z>>2]=y+(~((y+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-40>>2]|0;if(v|0){y=t+-36|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}wf(t+-140|0);t=f[w>>2]|0}while((t|0)!=(s|0))}s=p&255;Pe(g,s);if(!(If(f[q>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0)){x=0;break}t=(f[j>>2]|0)+(f[o>>2]|0)|0;b[e>>0]=1;le(a+120|0,t,e);if((Fc(a,f[(f[n>>2]|0)+32>>2]|0)|0)==-1){x=0;break}t=a+232|0;f[a+376>>2]=a;v=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;z=f[v>>2]|0;v=(f[z>>2]|0)+(f[z+16>>2]|0)|0;z=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;y=f[z>>2]|0;z=y+8|0;A=y+16|0;y=Vj(f[z>>2]|0,f[z+4>>2]|0,f[A>>2]|0,f[A+4>>2]|0)|0;A=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Yi(t,v,y,d[(f[A>>2]|0)+38>>1]|0);f[a+372>>2]=s;Di(k);s=a+272|0;A=s;y=t;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));a:do if(ch(s,1,e)|0){A=t;y=s;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));z=e;B=f[z>>2]|0;C=f[z+4>>2]|0;z=a+240|0;D=a+248|0;E=D;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[z>>2]|0,f[z+4>>2]|0,F|0,G|0)|0;z=I;if(C>>>0>z>>>0|(C|0)==(z|0)&B>>>0>E>>>0){H=50;break}E=Tj(F|0,G|0,B|0,C|0)|0;C=D;f[C>>2]=E;f[C+4>>2]=I;if(!(ud(a+312|0,t)|0)){J=0;break}if(!(tf(t)|0)){J=0;break}A=k;y=t;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));C=_a(a,f[i>>2]|0)|0;if((C|0)==-1){J=0;break}E=f[(f[n>>2]|0)+32>>2]|0;D=k+16|0;B=f[D>>2]|0;G=(f[k>>2]|0)+B|0;F=k+8|0;z=Vj(f[F>>2]|0,f[F+4>>2]|0,B|0,f[D+4>>2]|0)|0;Yi(E,G,z,d[E+38>>1]|0);do if((f[w>>2]|0)!=(f[g>>2]|0)){E=f[q>>2]|0;if((f[E+4>>2]|0)==(f[E>>2]|0))break;E=0;do{f[l>>2]=E;f[e>>2]=f[l>>2];E=E+3|0;if(!(Fb(a,e)|0)){J=0;break a}z=f[q>>2]|0}while(E>>>0<(f[z+4>>2]|0)-(f[z>>2]|0)>>2>>>0)}while(0);if(b[a+308>>0]|0)di(s);E=f[g>>2]|0;if((f[w>>2]|0)!=(E|0)){z=0;G=E;do{te(G+(z*144|0)+4|0,f[q>>2]|0)|0;E=f[g>>2]|0;D=f[E+(z*144|0)+132>>2]|0;B=f[E+(z*144|0)+136>>2]|0;if((D|0)==(B|0))K=E;else{F=D;D=E;while(1){f[m>>2]=f[F>>2];f[e>>2]=f[m>>2];ae(D+(z*144|0)+4|0,e);F=F+4|0;E=f[g>>2]|0;if((F|0)==(B|0)){K=E;break}else D=E}}Nh(K+(z*144|0)+4|0,0,0);z=z+1|0;G=f[g>>2]|0}while(z>>>0<(((f[w>>2]|0)-G|0)/144|0)>>>0)}G=f[q>>2]|0;z=(f[G+28>>2]|0)-(f[G+24>>2]|0)>>2;G=a+196|0;D=a+200|0;B=f[D>>2]|0;F=f[G>>2]|0;E=B-F>>2;L=F;F=B;do if(z>>>0>E>>>0)hf(G,z-E|0);else{if(z>>>0>=E>>>0)break;B=L+(z<<2)|0;if((B|0)==(F|0))break;f[D>>2]=F+(~((F+-4-B|0)>>>2)<<2)}while(0);Gg(a+184|0,z);F=f[g>>2]|0;if((f[w>>2]|0)!=(F|0)){D=0;L=F;do{F=L;E=(f[F+(D*144|0)+60>>2]|0)-(f[F+(D*144|0)+56>>2]|0)>>2;G=f[q>>2]|0;B=(f[G+28>>2]|0)-(f[G+24>>2]|0)>>2;G=(E|0)<(B|0)?B:E;E=F+(D*144|0)+116|0;B=F+(D*144|0)+120|0;M=f[B>>2]|0;N=f[E>>2]|0;O=M-N>>2;P=N;N=M;do if(G>>>0>O>>>0)hf(E,G-O|0);else{if(G>>>0>=O>>>0)break;M=P+(G<<2)|0;if((M|0)==(N|0))break;f[B>>2]=N+(~((N+-4-M|0)>>>2)<<2)}while(0);Gg(F+(D*144|0)+104|0,G);D=D+1|0;L=f[g>>2]|0}while(D>>>0<(((f[w>>2]|0)-L|0)/144|0)>>>0)}J=fb(a,C)|0}else H=50;while(0);if((H|0)==50)J=0;x=J}else x=0;while(0);Q=x}else Q=0;R=Q}else R=0;r=R;u=c;return r|0}function hb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=nn()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)ll(a,w,y);if(y|0){s=y;t=x;continue}y=(Qm(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Qm(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Uh(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Uh(j)|0;$=O;aa=f[j>>2]|0;break}if(Qm(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(9878+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}Zc(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Yh(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=10342;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=Vj(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=10342;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?10342:10344):10343;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=10342;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=10342;za=o;Aa=1;Ba=O;break}case 109:{ja=nn()|0;Ca=ql(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:10352;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){eh(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=eb(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=10342;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=Hh(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?10342:10342+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=sg(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=Gd(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=10342;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=bl(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}eh(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=bl(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}ll(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;eh(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;eh(a,32,ja,O,Ba);ll(a,ya,xa);eh(a,48,ja,O,Ba^65536);eh(a,48,F,Q,0);ll(a,wa,Q);eh(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}Zc(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function ib(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;c=u;u=u+80|0;e=c+64|0;g=c+60|0;h=c+56|0;i=c+52|0;j=c+48|0;k=c;l=c+44|0;m=c+40|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;fn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(fg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];if(((fg(h,f[(f[n>>2]|0)+32>>2]|0)|0?(g=f[h>>2]|0,g>>>0<=1431655765):0)?(f[o>>2]|0)>>>0<=(g*3|0)>>>0:0)?(g=f[(f[n>>2]|0)+32>>2]|0,p=g+8|0,q=f[p+4>>2]|0,s=g+16|0,t=s,v=f[t>>2]|0,w=f[t+4>>2]|0,(q|0)>(w|0)|((q|0)==(w|0)?(f[p>>2]|0)>>>0>v>>>0:0)):0){p=b[(f[g>>2]|0)+v>>0]|0;q=Tj(v|0,w|0,1,0)|0;w=s;f[w>>2]=q;f[w+4>>2]=I;if((fg(i,g)|0?(g=f[h>>2]|0,w=f[i>>2]|0,g>>>0>=w>>>0):0)?g>>>0<=(((w>>>0)/3|0)+w|0)>>>0:0){do if(fg(j,f[(f[n>>2]|0)+32>>2]|0)|0?(f[j>>2]|0)>>>0<=(f[i>>2]|0)>>>0:0){w=f[a+24>>2]|0;g=a+28|0;q=f[g>>2]|0;if((q|0)!=(w|0))f[g>>2]=q+(~((q+-4-w|0)>>>2)<<2);w=dj(88)|0;fi(w);q=a+8|0;g=f[q>>2]|0;f[q>>2]=w;if(g|0?(pf(g),fn(g),(f[q>>2]|0)==0):0){x=0;break}g=a+160|0;w=f[g>>2]|0;s=a+164|0;v=f[s>>2]|0;if((v|0)!=(w|0))f[s>>2]=v+(~((v+-4-w|0)>>>2)<<2);Gg(g,f[h>>2]|0);g=a+172|0;w=f[g>>2]|0;v=a+176|0;s=f[v>>2]|0;if((s|0)!=(w|0))f[v>>2]=s+(~((s+-4-w|0)>>>2)<<2);Gg(g,f[h>>2]|0);g=f[a+36>>2]|0;w=a+40|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~(((s+-12-g|0)>>>0)/12|0)*12|0);g=f[a+48>>2]|0;s=a+52|0;w=f[s>>2]|0;if((w|0)!=(g|0))f[s>>2]=w+(~((w+-4-g|0)>>>2)<<2);f[a+64>>2]=0;g=f[a+72>>2]|0;w=a+76|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~((s+-4-g|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;s=f[g>>2]|0;w=a+220|0;v=f[w>>2]|0;if((v|0)!=(s|0)){t=v;do{f[w>>2]=t+-144;v=f[t+-12>>2]|0;if(v|0){y=t+-8|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-28>>2]|0;if(v|0){z=t+-24|0;y=f[z>>2]|0;if((y|0)!=(v|0))f[z>>2]=y+(~((y+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-40>>2]|0;if(v|0){y=t+-36|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}wf(t+-140|0);t=f[w>>2]|0}while((t|0)!=(s|0))}s=p&255;Pe(g,s);if(!(If(f[q>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0)){x=0;break}t=(f[j>>2]|0)+(f[o>>2]|0)|0;b[e>>0]=1;le(a+120|0,t,e);if((Fc(a,f[(f[n>>2]|0)+32>>2]|0)|0)==-1){x=0;break}t=a+232|0;f[a+376>>2]=a;v=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;z=f[v>>2]|0;v=(f[z>>2]|0)+(f[z+16>>2]|0)|0;z=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;y=f[z>>2]|0;z=y+8|0;A=y+16|0;y=Vj(f[z>>2]|0,f[z+4>>2]|0,f[A>>2]|0,f[A+4>>2]|0)|0;A=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Yi(t,v,y,d[(f[A>>2]|0)+38>>1]|0);A=Na[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=A;f[a+384>>2]=(f[j>>2]|0)+(f[o>>2]|0);f[a+372>>2]=s;Di(k);a:do if(ic(t,k)|0){s=Za(a,f[i>>2]|0)|0;if((s|0)==-1){B=0;break}A=f[(f[n>>2]|0)+32>>2]|0;y=k+16|0;v=f[y>>2]|0;z=(f[k>>2]|0)+v|0;C=k+8|0;D=Vj(f[C>>2]|0,f[C+4>>2]|0,v|0,f[y+4>>2]|0)|0;Yi(A,z,D,d[A+38>>1]|0);do if((f[w>>2]|0)!=(f[g>>2]|0)){A=f[q>>2]|0;if((f[A+4>>2]|0)==(f[A>>2]|0))break;A=0;do{f[l>>2]=A;f[e>>2]=f[l>>2];A=A+3|0;if(!(Fb(a,e)|0)){B=0;break a}D=f[q>>2]|0}while(A>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}while(0);if(b[a+308>>0]|0)di(a+272|0);A=f[g>>2]|0;if((f[w>>2]|0)!=(A|0)){D=0;z=A;do{te(z+(D*144|0)+4|0,f[q>>2]|0)|0;A=f[g>>2]|0;y=f[A+(D*144|0)+132>>2]|0;v=f[A+(D*144|0)+136>>2]|0;if((y|0)==(v|0))E=A;else{C=y;y=A;while(1){f[m>>2]=f[C>>2];f[e>>2]=f[m>>2];ae(y+(D*144|0)+4|0,e);C=C+4|0;A=f[g>>2]|0;if((C|0)==(v|0)){E=A;break}else y=A}}Nh(E+(D*144|0)+4|0,0,0);D=D+1|0;z=f[g>>2]|0}while(D>>>0<(((f[w>>2]|0)-z|0)/144|0)>>>0)}z=f[q>>2]|0;D=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;z=a+196|0;y=a+200|0;v=f[y>>2]|0;C=f[z>>2]|0;A=v-C>>2;F=C;C=v;do if(D>>>0>A>>>0)hf(z,D-A|0);else{if(D>>>0>=A>>>0)break;v=F+(D<<2)|0;if((v|0)==(C|0))break;f[y>>2]=C+(~((C+-4-v|0)>>>2)<<2)}while(0);Gg(a+184|0,D);C=f[g>>2]|0;if((f[w>>2]|0)!=(C|0)){y=0;F=C;do{C=F;A=(f[C+(y*144|0)+60>>2]|0)-(f[C+(y*144|0)+56>>2]|0)>>2;z=f[q>>2]|0;v=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;z=(A|0)<(v|0)?v:A;A=C+(y*144|0)+116|0;v=C+(y*144|0)+120|0;G=f[v>>2]|0;H=f[A>>2]|0;J=G-H>>2;K=H;H=G;do if(z>>>0>J>>>0)hf(A,z-J|0);else{if(z>>>0>=J>>>0)break;G=K+(z<<2)|0;if((G|0)==(H|0))break;f[v>>2]=H+(~((H+-4-G|0)>>>2)<<2)}while(0);Gg(C+(y*144|0)+104|0,z);y=y+1|0;F=f[g>>2]|0}while(y>>>0<(((f[w>>2]|0)-F|0)/144|0)>>>0)}B=fb(a,s)|0}else B=0;while(0);x=B}else x=0;while(0);L=x}else L=0;M=L}else M=0;r=M;u=c;return r|0}function jb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=La,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=ij(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Tj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=Tj(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=ij(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=Tj(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function kb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+32|0;if(!(fg(d,f[j>>2]|0)|0)){k=0;u=c;return k|0}if(!(fg(e,f[j>>2]|0)|0)){k=0;u=c;return k|0}l=f[d>>2]|0;if(l>>>0>1431655765){k=0;u=c;return k|0}m=f[e>>2]|0;n=ij(l|0,0,3,0)|0;o=I;if(o>>>0<0|(o|0)==0&n>>>0>>0){k=0;u=c;return k|0}n=f[j>>2]|0;o=n+8|0;p=f[o+4>>2]|0;q=n+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((p|0)>(t|0)|((p|0)==(t|0)?(f[o>>2]|0)>>>0>s>>>0:0))){k=0;u=c;return k|0}o=b[(f[n>>2]|0)+s>>0]|0;p=Tj(s|0,t|0,1,0)|0;r=I;v=q;f[v>>2]=p;f[v+4>>2]=r;a:do if(!(o<<24>>24)){if(!(fd(a,l)|0)){k=0;u=c;return k|0}}else{if(m>>>0<256){if(!l)break;v=a+44|0;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=n+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;b:do if((z|0)>(r|0)|(z|0)==(r|0)&y>>>0>p>>>0){x=0;A=n;B=l;C=p;D=r;E=z;F=y;while(1){G=A+16|0;H=f[A>>2]|0;J=b[H+C>>0]|0;K=Tj(C|0,D|0,1,0)|0;L=I;M=G;f[M>>2]=K;f[M+4>>2]=L;f[g>>2]=J&255;if(!((E|0)>(L|0)|(E|0)==(L|0)&F>>>0>K>>>0))break b;L=b[H+K>>0]|0;K=Tj(C|0,D|0,2,0)|0;J=I;M=G;f[M>>2]=K;f[M+4>>2]=J;f[q>>2]=L&255;if(!((E|0)>(J|0)|(E|0)==(J|0)&F>>>0>K>>>0))break b;J=b[H+K>>0]|0;K=Tj(C|0,D|0,3,0)|0;H=G;f[H>>2]=K;f[H+4>>2]=I;f[w>>2]=J&255;J=f[v>>2]|0;H=J+100|0;K=f[H>>2]|0;if((K|0)==(f[J+104>>2]|0)){ef(J+96|0,g);N=f[d>>2]|0}else{f[K>>2]=f[g>>2];f[K+4>>2]=f[g+4>>2];f[K+8>>2]=f[g+8>>2];f[H>>2]=(f[H>>2]|0)+12;N=B}x=x+1|0;if(x>>>0>=N>>>0)break a;A=f[j>>2]|0;H=A+16|0;C=f[H>>2]|0;D=f[H+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;H=A+8|0;F=f[H>>2]|0;E=f[H+4>>2]|0;if(!((E|0)>(D|0)|(E|0)==(D|0)&F>>>0>C>>>0))break;else B=N}}while(0);k=0;u=c;return k|0}if(m>>>0<65536){if(!l)break;v=a+44|0;w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=n+8|0;z=f[y>>2]|0;B=f[y+4>>2]|0;y=Tj(s|0,t|0,3,0)|0;C=I;c:do if(!((B|0)<(C|0)|(B|0)==(C|0)&z>>>0>>0)){F=0;D=n;E=p;A=y;x=C;H=r;K=B;J=z;G=l;while(1){L=D+16|0;M=f[D>>2]|0;O=M+E|0;P=h[O>>0]|h[O+1>>0]<<8;O=L;f[O>>2]=A;f[O+4>>2]=x;f[g>>2]=P&65535;P=Tj(E|0,H|0,4,0)|0;O=I;if((K|0)<(O|0)|(K|0)==(O|0)&J>>>0

>>0)break c;Q=M+A|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=P;f[Q+4>>2]=O;f[w>>2]=R&65535;R=Tj(E|0,H|0,6,0)|0;O=I;if((K|0)<(O|0)|(K|0)==(O|0)&J>>>0>>0)break c;Q=M+P|0;P=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=R;f[Q+4>>2]=O;f[q>>2]=P&65535;P=f[v>>2]|0;O=P+100|0;Q=f[O>>2]|0;if((Q|0)==(f[P+104>>2]|0)){ef(P+96|0,g);S=f[d>>2]|0}else{f[Q>>2]=f[g>>2];f[Q+4>>2]=f[g+4>>2];f[Q+8>>2]=f[g+8>>2];f[O>>2]=(f[O>>2]|0)+12;S=G}F=F+1|0;if(F>>>0>=S>>>0)break a;D=f[j>>2]|0;O=D+16|0;E=f[O>>2]|0;H=f[O+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;O=D+8|0;J=f[O>>2]|0;K=f[O+4>>2]|0;A=Tj(E|0,H|0,2,0)|0;x=I;if((K|0)<(x|0)|(K|0)==(x|0)&J>>>0>>0)break;else G=S}}while(0);k=0;u=c;return k|0}v=a+44|0;if((f[(f[v>>2]|0)+80>>2]|0)>>>0<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!l)break;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(fg(i,n)|0){z=0;do{f[g>>2]=f[i>>2];if(!(fg(i,f[j>>2]|0)|0))break d;f[q>>2]=f[i>>2];if(!(fg(i,f[j>>2]|0)|0))break d;f[w>>2]=f[i>>2];B=f[v>>2]|0;C=B+100|0;y=f[C>>2]|0;if((y|0)==(f[B+104>>2]|0))ef(B+96|0,g);else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[C>>2]=(f[C>>2]|0)+12}z=z+1|0;if(z>>>0>=(f[d>>2]|0)>>>0)break a;C=f[j>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(fg(i,C)|0)}while(0);k=0;u=c;return k|0}if(l|0){w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=n+8|0;C=f[z>>2]|0;y=f[z+4>>2]|0;z=Tj(s|0,t|0,5,0)|0;B=I;e:do if(!((y|0)<(B|0)|(y|0)==(B|0)&C>>>0>>0)){G=0;A=n;J=p;x=z;K=B;H=r;E=y;D=C;F=l;while(1){O=A+16|0;Q=f[A>>2]|0;P=Q+J|0;R=h[P>>0]|h[P+1>>0]<<8|h[P+2>>0]<<16|h[P+3>>0]<<24;P=O;f[P>>2]=x;f[P+4>>2]=K;f[g>>2]=R;R=Tj(J|0,H|0,8,0)|0;P=I;if((E|0)<(P|0)|(E|0)==(P|0)&D>>>0>>0)break e;L=Q+x|0;M=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=R;f[L+4>>2]=P;f[w>>2]=M;M=Tj(J|0,H|0,12,0)|0;P=I;if((E|0)<(P|0)|(E|0)==(P|0)&D>>>0>>0)break e;L=Q+R|0;R=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=M;f[L+4>>2]=P;f[q>>2]=R;R=f[v>>2]|0;P=R+100|0;L=f[P>>2]|0;if((L|0)==(f[R+104>>2]|0)){ef(R+96|0,g);T=f[d>>2]|0}else{f[L>>2]=f[g>>2];f[L+4>>2]=f[g+4>>2];f[L+8>>2]=f[g+8>>2];f[P>>2]=(f[P>>2]|0)+12;T=F}G=G+1|0;if(G>>>0>=T>>>0)break a;A=f[j>>2]|0;P=A+16|0;J=f[P>>2]|0;H=f[P+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;P=A+8|0;D=f[P>>2]|0;E=f[P+4>>2]|0;x=Tj(J|0,H|0,4,0)|0;K=I;if((E|0)<(K|0)|(E|0)==(K|0)&D>>>0>>0)break;else F=T}}while(0);k=0;u=c;return k|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];k=1;u=c;return k|0}function lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Af(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))Af(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Af(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))Af(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Af(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))Af(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){Af(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Af(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Af(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Af(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Af(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Tj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Tj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=ij(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Tj(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Tj(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Tj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2])&65535;d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Tj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Tj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Tj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=ij(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Tj(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Tj(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Tj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2]);d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Tj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function ob(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=ij(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Tj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=ij(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Tj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Af(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=m;break}else{q=p;r=g+-1|0;s=m;break}}else{m=f[n+28>>2]|0;q=f[m+-4>>2]|0;r=-1;s=m}while(0);n=f[s+(r<<2)>>2]|0;if((q|0)==-1|(n|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;k=1<<(q&31);m=f[g>>2]|0;if(!(m&k)){f[g>>2]=m|k;k=f[b>>2]|0;m=k+1|0;if((k|0)==-1)t=-1;else t=((m>>>0)%3|0|0)==0?k+-2|0:m;f[e>>2]=t;m=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=m;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Af(k,d);else{f[g>>2]=m;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;m=t+4|0;k=f[m>>2]|0;if((k|0)==(f[t+8>>2]|0)){Af(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[s>>2]|0;if(!(t&w)){f[s>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;s=f[x>>2]|0;if((s|0)==(f[t+8>>2]|0))Af(t,d);else{f[s>>2]=w;f[x>>2]=s+4}s=a+40|0;x=f[s>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Af(x,e);y=f[s>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;s=n;n=x;a:while(1){x=f[s+-4>>2]|0;f[b>>2]=x;q=(x>>>0)/3|0;if((x|0)!=-1?(x=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[x>>2]|0,(q&v|0)==0):0){f[x>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;x=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((x|0)==-1){h=0;z=79;break}else{A=x;B=v;C=q}b:while(1){q=(f[r>>2]|0)+(A>>>5<<2)|0;v=1<<(A&31);x=f[q>>2]|0;do if(!(x&v)){k=f[(f[B+40>>2]|0)+(A<<2)>>2]|0;if((k|0)==-1)D=1;else{m=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(m&31)&f[(f[B+12>>2]|0)+(m>>>5<<2)>>2]|0)!=0}f[q>>2]=x|v;m=f[b>>2]|0;f[e>>2]=m;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[t>>2]|0;f[d>>2]=k;g=f[m+4>>2]|0;m=g+4|0;p=f[m>>2]|0;if((p|0)==(f[g+8>>2]|0))Af(g,d);else{f[p>>2]=k;f[m>>2]=p+4}p=f[w>>2]|0;m=p+4|0;k=f[m>>2]|0;if((k|0)==(f[p+8>>2]|0)){Af(p,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;E=p}p=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[p>>2];f[p>>2]=(f[p>>2]|0)+1;p=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=p;z=59;break}m=k+1|0;do if((k|0)==-1)H=-1;else{g=((m>>>0)%3|0|0)==0?k+-2|0:m;if((g|0)==-1){H=-1;break}if(f[(f[p>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[p+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=p}else{F=C;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=60;break}x=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((x|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);f[d>>2]=K;x=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((x|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);x=(K|0)==-1;v=(K>>>0)/3|0;q=x?-1:v;m=(L|0)==-1;k=(L>>>0)/3|0;g=m?-1:k;do if(!x){M=f[j>>2]|0;if(f[M+(q>>>5<<2)>>2]&1<<(q&31)|0){z=69;break}if(m){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(m){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=O;J=G}v=(f[j>>2]|0)+(I>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(I&31);C=f[b>>2]|0;A=f[(f[J+28>>2]|0)+(C<<2)>>2]|0;if((A|0)==-1){h=0;z=79;break a}else B=J}do if((z|0)==60){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Af(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];q=v+4|0;f[l>>2]=q;P=q;break}}while(0);if((z|0)==71){z=0;q=(f[l>>2]|0)+-4|0;f[l>>2]=q;P=q}Q=f[i>>2]|0;R=P}else{q=s+-4|0;f[l>>2]=q;Q=n;R=q}if((Q|0)==(R|0)){h=1;z=79;break}else{s=R;n=Q}}if((z|0)==79){u=c;return h|0}return 0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Tj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Tj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Tj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=ij(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Tj(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2])&255;b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Tj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Tj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Tj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Tj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=ij(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Tj(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2]);b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Tj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Af(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Af(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Af(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Af(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Af(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Af(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Af(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=D}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=N;J=G}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=J}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Af(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function ub(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)xm(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)xm(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];jb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];jb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];jb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Vj(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Vj(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=ij(s|0,x|0,s|0,x|0)|0;N=I;O=ij(E|0,D|0,E|0,D|0)|0;P=Tj(O|0,I|0,M|0,N|0)|0;N=I;M=ij(J|0,H|0,J|0,H|0)|0;O=Tj(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Vj(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Vj(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Vj(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=ij(P|0,C|0,s|0,x|0)|0;F=I;Q=ij(N|0,G|0,E|0,D|0)|0;R=Tj(Q|0,I|0,K|0,F|0)|0;F=I;K=ij(y|0,L|0,J|0,H|0)|0;Q=Tj(R|0,F|0,K|0,I|0)|0;K=I;F=Vj(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;R=Vj(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;S=ij(O|0,M|0,p|0,q|0)|0;q=I;p=ij(O|0,M|0,n|0,o|0)|0;o=I;n=ij(Q|0,K|0,F|0,t|0)|0;T=I;U=ij(Q|0,K|0,R|0,v|0)|0;V=I;W=Tj(n|0,T|0,S|0,q|0)|0;q=I;S=Tj(U|0,V|0,p|0,o|0)|0;o=I;p=ij(Q|0,K|0,s|0,x|0)|0;x=I;s=ij(Q|0,K|0,E|0,D|0)|0;D=I;E=ij(Q|0,K|0,J|0,H|0)|0;H=I;J=Wg(p|0,x|0,O|0,M|0)|0;x=I;p=Wg(s|0,D|0,O|0,M|0)|0;D=I;s=Wg(E|0,H|0,O|0,M|0)|0;H=I;E=Vj(P|0,C|0,J|0,x|0)|0;x=I;J=Vj(N|0,G|0,p|0,D|0)|0;D=I;p=Vj(y|0,L|0,s|0,H|0)|0;H=I;s=ij(E|0,x|0,E|0,x|0)|0;x=I;E=ij(J|0,D|0,J|0,D|0)|0;D=Tj(E|0,I|0,s|0,x|0)|0;x=I;s=ij(p|0,H|0,p|0,H|0)|0;H=Tj(D|0,x|0,s|0,I|0)|0;s=I;x=Vj(0,0,F|0,t|0)|0;t=I;F=ij(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=23}break}case 1:{if(!s){ca=1;da=0;ba=24}else{Z=1;_=0;$=F;aa=s;ba=23}break}default:{Z=1;_=0;$=F;aa=s;ba=23}}if((ba|0)==23)while(1){ba=0;H=Qj(Z|0,_|0,1)|0;D=I;p=$;$=Wj($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&p>>>0>7)){ca=H;da=D;ba=24;break}else{Z=H;_=D;aa=I;ba=23}}if((ba|0)==24)while(1){ba=0;D=Il(F|0,s|0,ca|0,da|0)|0;H=Tj(D|0,I|0,ca|0,da|0)|0;D=Wj(H|0,I|0,1)|0;H=I;p=ij(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&p>>>0>F>>>0){ca=D;da=H;ba=24}else{X=D;Y=H;break}}F=ij(X|0,Y|0,R|0,v|0)|0;s=I;H=ij(X|0,Y|0,x|0,t|0)|0;D=I;p=a+20|0;E=f[p>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[p>>2]=J;J=Vj(0,0,F|0,s|0)|0;p=Tj(W|0,q|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Vj(0,0,H|0,D|0)|0;F=Tj(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Wg(p|0,s|0,O|0,M|0)|0;s=Wg(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(r)fa=m<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function vb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)xm(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)xm(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];jb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];jb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];jb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Vj(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Vj(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=ij(s|0,x|0,s|0,x|0)|0;N=I;O=ij(E|0,D|0,E|0,D|0)|0;P=Tj(O|0,I|0,M|0,N|0)|0;N=I;M=ij(J|0,H|0,J|0,H|0)|0;O=Tj(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Vj(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Vj(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Vj(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=ij(P|0,C|0,s|0,x|0)|0;F=I;Q=ij(N|0,G|0,E|0,D|0)|0;R=Tj(Q|0,I|0,K|0,F|0)|0;F=I;K=ij(y|0,L|0,J|0,H|0)|0;Q=Tj(R|0,F|0,K|0,I|0)|0;K=I;F=Vj(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;R=Vj(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;S=ij(O|0,M|0,c|0,m|0)|0;m=I;c=ij(O|0,M|0,r|0,o|0)|0;o=I;r=ij(Q|0,K|0,F|0,t|0)|0;T=I;U=ij(Q|0,K|0,R|0,v|0)|0;V=I;W=Tj(r|0,T|0,S|0,m|0)|0;m=I;S=Tj(U|0,V|0,c|0,o|0)|0;o=I;c=ij(Q|0,K|0,s|0,x|0)|0;x=I;s=ij(Q|0,K|0,E|0,D|0)|0;D=I;E=ij(Q|0,K|0,J|0,H|0)|0;H=I;J=Wg(c|0,x|0,O|0,M|0)|0;x=I;c=Wg(s|0,D|0,O|0,M|0)|0;D=I;s=Wg(E|0,H|0,O|0,M|0)|0;H=I;E=Vj(P|0,C|0,J|0,x|0)|0;x=I;J=Vj(N|0,G|0,c|0,D|0)|0;D=I;c=Vj(y|0,L|0,s|0,H|0)|0;H=I;s=ij(E|0,x|0,E|0,x|0)|0;x=I;E=ij(J|0,D|0,J|0,D|0)|0;D=Tj(E|0,I|0,s|0,x|0)|0;x=I;s=ij(c|0,H|0,c|0,H|0)|0;H=Tj(D|0,x|0,s|0,I|0)|0;s=I;x=Vj(0,0,F|0,t|0)|0;t=I;F=ij(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=22}break}case 1:{if(!s){ca=1;da=0;ba=23}else{Z=1;_=0;$=F;aa=s;ba=22}break}default:{Z=1;_=0;$=F;aa=s;ba=22}}if((ba|0)==22)while(1){ba=0;H=Qj(Z|0,_|0,1)|0;D=I;c=$;$=Wj($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&c>>>0>7)){ca=H;da=D;ba=23;break}else{Z=H;_=D;aa=I;ba=22}}if((ba|0)==23)while(1){ba=0;D=Il(F|0,s|0,ca|0,da|0)|0;H=Tj(D|0,I|0,ca|0,da|0)|0;D=Wj(H|0,I|0,1)|0;H=I;c=ij(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&c>>>0>F>>>0){ca=D;da=H;ba=23}else{X=D;Y=H;break}}F=ij(X|0,Y|0,R|0,v|0)|0;s=I;H=ij(X|0,Y|0,x|0,t|0)|0;D=I;c=a+20|0;E=f[c>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[c>>2]=J;J=Vj(0,0,F|0,s|0)|0;c=Tj(W|0,m|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Vj(0,0,H|0,D|0)|0;F=Tj(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Wg(c|0,s|0,O|0,M|0)|0;s=Wg(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(q)fa=n<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)xm(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];jb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];jb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];jb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Vj(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Vj(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Vj(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Vj(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Vj(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Vj(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=ij($|0,ia|0,ca|0,ba|0)|0;da=I;la=ij(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=ij(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=ij($|0,ia|0,Q|0,L|0)|0;ia=I;$=ij(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=ij(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Vj(C|0,D|0,la|0,ma|0)|0;ma=Tj(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Tj(na|0,fa|0,E|0,F|0)|0;fa=Vj(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Vj(G|0,H|0,Q|0,ba|0)|0;ba=Tj(ga|0,I|0,$|0,L|0)|0;L=I;Fe(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)xm(W);else if((V|0)==28)xm(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=Vj(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=Vj(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=Vj(0,0,ua|0,ta|0)|0;i=Tj((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=Tj(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=Wj(v|0,V|0,29)|0;Z=oa&7;oa=Wg(qa|0,pa|0,Z|0,0)|0;a=Wg(sa|0,ra|0,Z|0,0)|0;i=Wg(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Wj(v|0,V|0,29)|0;V=I;v=Wg(qa|0,pa|0,i|0,V|0)|0;pa=Wg(sa|0,ra|0,i|0,V|0)|0;ra=Wg(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=La,K=La,L=La,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=bc(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];ed(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{lf(j,m);o=f[j>>2]|0;p=f[d>>2]|0}ge(o|0,p|0,m|0)|0;Tf(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=o;r=p;s=0}else{lf(c,d);q=f[j>>2]|0;r=f[k>>2]|0;s=f[c>>2]|0}ge(s|0,q|0,r-q|0)|0;q=i+11|0;r=b[q>>0]|0;s=r<<24>>24<0;c=s?f[i>>2]|0:i;d=s?f[i+4>>2]|0:r&255;if(d>>>0>3){r=c;s=d;p=d;while(1){o=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(o>>>24^o,1540483477)|0)^(X(s,1540483477)|0);p=p+-4|0;if(p>>>0<=3)break;else r=r+4|0}r=d+-4|0;p=r&-4;t=r-p|0;v=c+(p+4)|0;w=s}else{t=d;v=c;w=d}switch(t|0){case 3:{x=h[v+2>>0]<<16^w;y=12;break}case 2:{x=w;y=12;break}case 1:{z=w;y=13;break}default:A=w}if((y|0)==12){z=h[v+1>>0]<<8^x;y=13}if((y|0)==13)A=X(z^h[v>>0],1540483477)|0;v=X(A>>>13^A,1540483477)|0;A=v>>>15^v;v=a+4|0;z=f[v>>2]|0;x=(z|0)==0;a:do if(!x){w=z+-1|0;t=(w&z|0)==0;if(!t)if(A>>>0>>0)B=A;else B=(A>>>0)%(z>>>0)|0;else B=A&w;s=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((s|0)!=0?(p=f[s>>2]|0,(p|0)!=0):0){s=(d|0)==0;if(t){if(s){t=p;while(1){r=f[t+4>>2]|0;if(!((r|0)==(A|0)|(r&w|0)==(B|0))){C=B;y=54;break a}r=b[t+8+11>>0]|0;if(!((r<<24>>24<0?f[t+12>>2]|0:r&255)|0))break a;t=f[t>>2]|0;if(!t){C=B;y=54;break a}}}else D=p;while(1){t=f[D+4>>2]|0;if(!((t|0)==(A|0)|(t&w|0)==(B|0))){C=B;y=54;break a}t=D+8|0;r=b[t+11>>0]|0;o=r<<24>>24<0;l=r&255;do if(((o?f[D+12>>2]|0:l)|0)==(d|0)){r=f[t>>2]|0;if(o)if(!(mh(r,c,d)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=t;E=l;F=c;do{E=E+-1|0;r=r+1|0;if(!E)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(s){w=p;while(1){l=f[w+4>>2]|0;if((l|0)!=(A|0)){if(l>>>0>>0)G=l;else G=(l>>>0)%(z>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}l=b[w+8+11>>0]|0;if(!((l<<24>>24<0?f[w+12>>2]|0:l&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else H=p;while(1){w=f[H+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)I=w;else I=(w>>>0)%(z>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}w=H+8|0;s=b[w+11>>0]|0;l=s<<24>>24<0;t=s&255;do if(((l?f[H+12>>2]|0:t)|0)==(d|0)){s=f[w>>2]|0;if(l)if(!(mh(s,c,d)|0))break a;else break;if((b[c>>0]|0)==(s&255)<<24>>24){s=w;o=t;F=c;do{o=o+-1|0;s=s+1|0;if(!o)break a;F=F+1|0}while((b[s>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){Ve(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(z>>>0);L=$(n[a+16>>2]);do if(x|$(L*K)>>0<3|(z+-1&z|0)!=0)&1;H=~~$(W($(J/L)))>>>0;Qe(a,B>>>0>>0?H:B);B=f[v>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=z;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){z=a+8|0;f[f[g>>2]>>2]=f[z>>2];f[z>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=z;z=f[g>>2]|0;N=f[z>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=z;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;fn(O)}if((b[q>>0]|0)<0)fn(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;fn(i);u=e;return}function yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)xm(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];jb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];jb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];jb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Vj(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Vj(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Vj(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Vj(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Vj(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Vj(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=ij(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=ij(da|0,_|0,aa|0,$|0)|0;ga=I;ha=ij(ea|0,W|0,aa|0,$|0)|0;$=I;aa=ij(K|0,ca|0,S|0,L|0)|0;ca=I;K=ij(da|0,_|0,S|0,L|0)|0;L=I;S=ij(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Vj(B|0,C|0,fa|0,ga|0)|0;ga=Tj(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Tj(ha|0,$|0,D|0,E|0)|0;$=Vj(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Vj(F|0,G|0,S|0,X|0)|0;X=Tj(aa|0,I|0,K|0,L|0)|0;L=I;Vd(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)xm(Q);else if((R|0)==21)xm(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=Vj(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=Vj(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=Vj(0,0,oa|0,na|0)|0;i=Tj((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=Tj(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=Wj(t|0,R|0,29)|0;U=ia&7;ia=Wg(ka|0,ja|0,U|0,0)|0;a=Wg(ma|0,la|0,U|0,0)|0;i=Wg(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Wj(t|0,R|0,29)|0;R=I;t=Wg(ka|0,ja|0,i|0,R|0)|0;ja=Wg(ma|0,la|0,i|0,R|0)|0;la=Wg(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Ae(i,m-q|0,2652);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;Gg(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{Ae(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)xm(e);t=dj(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)xm(g);else{A=dj(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;Xf(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);fn(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);fn(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);fn(ca)}h=1;u=c;return h|0}function Ab(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Tj(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Tj(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if((((f[a+220>>2]|0)-A|0)/144|0)>>>0<=z>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=Tj(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=I;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{lc(e,a,E);F=f[e>>2]|0;break}case 1:{_c(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(n<<24>>24<0|(D|0)!=0){v=0;u=d;return v|0}D=dj(88)|0;F=n<<24>>24;n=f[a+216>>2]|0;a=n+(F*144|0)+104|0;f[D+4>>2]=0;f[D>>2]=2348;E=D+12|0;f[E>>2]=2372;x=D+64|0;f[x>>2]=0;f[D+68>>2]=0;f[D+72>>2]=0;m=D+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[D+76>>2]=o;f[D+80>>2]=a;f[D+84>>2]=0;s=g+4|0;f[s>>2]=2372;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=n+(F*144|0)+4|0;f[i>>2]=2372;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[n+(F*144|0)+68>>2]|0;F=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;le(i+8|0,F,e);Sa[f[(f[i>>2]|0)+8>>2]&127](i);kd(j,i);kd(e,j);f[g>>2]=f[e+4>>2];F=g+4|0;xd(F,e)|0;f[e>>2]=2372;t=f[e+20>>2]|0;if(t|0)fn(t);t=f[e+8>>2]|0;if(t|0)fn(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=D;f[j>>2]=2372;o=f[j+20>>2]|0;if(o|0)fn(o);o=f[j+8>>2]|0;if(o|0)fn(o);f[D+8>>2]=f[g>>2];xd(E,F)|0;F=D+44|0;E=g+36|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];f[F+8>>2]=f[E+8>>2];f[F+12>>2]=f[E+12>>2];b[F+16>>0]=b[E+16>>0]|0;Ad(x,f[w>>2]|0,f[r>>2]|0);x=D;f[i>>2]=2372;D=f[i+20>>2]|0;if(D|0)fn(D);D=f[i+8>>2]|0;if(D|0)fn(D);D=f[w>>2]|0;if(D|0){w=f[r>>2]|0;if((w|0)!=(D|0))f[r>>2]=w+(~((w+-4-D|0)>>>2)<<2);fn(D)}f[s>>2]=2372;s=f[g+24>>2]|0;if(s|0)fn(s);s=f[g+12>>2]|0;if(s|0)fn(s);G=x}x=dj(64)|0;f[k>>2]=G;Ch(x,k);G=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Sa[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Sa[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){D=c+1|0;w=s;if(D>>>0>g>>>0){Md(x,D-g|0);break}if(D>>>0>>0?(r=k+(D<<2)|0,(r|0)!=(w|0)):0){D=w;do{w=D+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);D=f[l>>2]|0}while((D|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Sa[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Bb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[3224]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[3225]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[3222]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[3220]=f[3220]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=13184+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[3221]=f[3221]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[3226]|0)==(e|0)){r=(f[3223]|0)+m|0;f[3223]=r;f[3226]=l;f[l+4>>2]=r|1;if((l|0)!=(f[3225]|0))return;f[3225]=0;f[3222]=0;return}if((f[3225]|0)==(e|0)){r=(f[3222]|0)+m|0;f[3222]=r;f[3225]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[3220]=f[3220]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=13184+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[3221]=f[3221]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[3225]|0)){f[3222]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=12920+(m<<1<<2)|0;a=f[3220]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=13184+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[3221]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[3221]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[3228]|0)+-1|0;f[3228]=l;if(!l)D=13336;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[3228]=-1;return}function Cb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=La,F=La,G=La,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(mh(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(mh(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=dj(24)|0;Tf(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;Qe(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{hf(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=cn(i)|0;Xf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){dn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=1;p=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[o+(s<<2)>>2]|0;q=X(s,e)|0;if((v|0)!=-1?(w=f[(f[a>>2]|0)+(v<<2)>>2]|0,(w|0)!=-1):0){v=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[v+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[v+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[v+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(s|0)&(A|0)<(s|0)&(z|0)<(s|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((p|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;v=f[h>>2]|0;if((A|0)>(v|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=v;D=w}else{w=f[l>>2]|0;v=f[n>>2]|0;f[v+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=v}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{v=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+v|0;u=56}}else{F=v-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=p}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((p|0)>0){A=0;do{v=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((v|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(v|0)<(H|0)?H:v;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=p}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else p=G}if((u|0)==22){dn(j);return 1}else if((u|0)==24)xm(m);return 0}function Eb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{hf(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=cn(i)|0;Xf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){dn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=1;q=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[p+(s<<2)>>2]|0;w=X(s,e)|0;if((((v|0)!=-1?(f[(f[k>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(x|0)!=-1):0)?(v=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[v+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[v+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[v+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(s|0)&(B|0)<(s|0)&(A|0)<(s|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((q|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;v=f[h>>2]|0;if((B|0)>(v|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=v;C=y}else{y=f[l>>2]|0;v=f[n>>2]|0;f[v+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=v}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{v=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+v|0;u=53}}else{E=v-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=q}else{z=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((q|0)>0){B=0;do{v=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((v|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(v|0)<(G|0)?G:v;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=q}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else q=F}if((u|0)==22){dn(j);return 1}else if((u|0)==24)xm(m);return 0}function Fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=(e>>>0)/3|0;j=a+216|0;k=a+220|0;l=a+368|0;m=f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;if((m|0)!=-1)if(((m>>>0)/3|0)>>>0>=i>>>0?(f[k>>2]|0)!=(f[j>>2]|0):0){m=0;do{if(Yg((f[l>>2]|0)+(m<<4)|0)|0){n=f[j>>2]|0;f[d>>2]=e;o=n+(m*144|0)+136|0;p=f[o>>2]|0;if(p>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[p>>2]=e;f[o>>2]=p+4}else Af(n+(m*144|0)+132|0,d)}m=m+1|0}while(m>>>0<(((f[k>>2]|0)-(f[j>>2]|0)|0)/144|0)>>>0);q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{A=i;B=d;C=d;D=j;E=l;F=g;G=h;H=k;I=j;J=4}}else{j=a+216|0;A=-1;B=d;C=d;D=j;E=a+368|0;F=-1;G=-1;H=a+220|0;I=j;J=4}if((J|0)==4){j=f[H>>2]|0;a=f[I>>2]|0;if((j|0)==(a|0)){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D}else{k=0;h=j;j=a;while(1){a=j;f[d>>2]=e;g=a+(k*144|0)+136|0;l=f[g>>2]|0;if(l>>>0<(f[a+(k*144|0)+140>>2]|0)>>>0){f[l>>2]=e;f[g>>2]=l+4;K=j;L=h}else{Af(a+(k*144|0)+132|0,d);K=f[I>>2]|0;L=f[H>>2]|0}k=k+1|0;if(k>>>0>=((L-K|0)/144|0)>>>0){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D;break}else{h=L;j=K}}}}if((v|0)!=-1?(K=f[(f[(f[b>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(K|0)!=-1):0){if(((K>>>0)/3|0)>>>0>=q>>>0?(f[w>>2]|0)!=(f[x>>2]|0):0){K=0;do{if(Yg((f[y>>2]|0)+(K<<4)|0)|0){j=f[z>>2]|0;f[d>>2]=v;L=j+(K*144|0)+136|0;h=f[L>>2]|0;if(h>>>0<(f[j+(K*144|0)+140>>2]|0)>>>0){f[h>>2]=v;f[L>>2]=h+4}else Af(j+(K*144|0)+132|0,d)}K=K+1|0}while(K>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0)}}else J=27;if((J|0)==27?(J=f[w>>2]|0,K=f[x>>2]|0,(J|0)!=(K|0)):0){j=0;h=K;K=J;while(1){J=h;f[d>>2]=v;L=J+(j*144|0)+136|0;D=f[L>>2]|0;if(D>>>0<(f[J+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=v;f[L>>2]=D+4;M=h;N=K}else{Af(J+(j*144|0)+132|0,d);M=f[x>>2]|0;N=f[w>>2]|0}j=j+1|0;if(j>>>0>=((N-M|0)/144|0)>>>0)break;else{h=M;K=N}}}if((r|0)!=-1?(N=f[(f[(f[b>>2]|0)+12>>2]|0)+(r<<2)>>2]|0,(N|0)!=-1):0){if(((N>>>0)/3|0)>>>0>>0){u=c;return 1}if((f[w>>2]|0)==(f[x>>2]|0)){u=c;return 1}else O=0;do{if(Yg((f[y>>2]|0)+(O<<4)|0)|0){q=f[z>>2]|0;f[d>>2]=r;N=q+(O*144|0)+136|0;b=f[N>>2]|0;if(b>>>0<(f[q+(O*144|0)+140>>2]|0)>>>0){f[b>>2]=r;f[N>>2]=b+4}else Af(q+(O*144|0)+132|0,d)}O=O+1|0}while(O>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0);u=c;return 1}O=f[w>>2]|0;z=f[x>>2]|0;if((O|0)==(z|0)){u=c;return 1}else{P=0;Q=z;R=O}while(1){O=Q;f[d>>2]=r;z=O+(P*144|0)+136|0;y=f[z>>2]|0;if(y>>>0<(f[O+(P*144|0)+140>>2]|0)>>>0){f[y>>2]=r;f[z>>2]=y+4;S=Q;T=R}else{Af(O+(P*144|0)+132|0,d);S=f[x>>2]|0;T=f[w>>2]|0}P=P+1|0;if(P>>>0>=((T-S|0)/144|0)>>>0)break;else{Q=S;R=T}}u=c;return 1}function Gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Tj(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=dj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Tj(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(mh(d,9526,5)|0){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=9532;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Tj(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=dj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Tj(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=dj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Tj(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Tj(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Tj(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Tj(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=dj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;fn(k)}fn(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);fn(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;fn(m)}fn(n)}fn(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;fn(p)}fn(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);fn(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;fn(e)}fn(j)}fn(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){Ef(g);fn(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){Ef(p);fn(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{si(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return} -function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)xm(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;$k(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{m=dj(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)ge(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;fn(d);return}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Id(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=dj(40)|0;Tf(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Lc(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function gf(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)xm(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=dj(p)|0;if(g|0)Qk(o,m,g)|0;if(i|0)Qk(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Qk(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)fn(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Ul(o+p|0,l);u=k;return}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Xf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)xm(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{d=dj(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;Xf(d|0,0,b<<2|0)|0;if((i|0)>0)ge(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;fn(h);return}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}wf(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}fn(e);return}function kf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=ig(d)|0;if(g>>>0>4294967279)xm(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=dj(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){ge(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(_b(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}fn(f[e>>2]|0);u=a;return g|0}function lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)xm(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=dj(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)ge(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;fn(e);return}function mf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ii(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Na[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=956;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Oh(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=jh(c,f[a+16>>2]|0)|0;f[c>>2]=956;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);fn(a)}e=i;u=d;return e|0}function of(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}wf(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;fn(b);return}function pf(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Uf(c,g,e)|0;if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}fn(f[e>>2]|0);u=a;return h|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=vj(l,k+1|0,12304,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;jg(c,n,0);k=n;j=b[h>>0]|0}jg(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{hf(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)xm(b);else if((m|0)==12)return d|0;return 0}function tf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=cn(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Vk(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do i=i+-16|0;while((i|0)!=(c|0))}dn(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(ud((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;uf(a+20|0);if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)fn(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;fn(g)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)fn(d);fn(c);return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=_b(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;c=e;a=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e+4|0;e=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=d;d=c;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;a=c+4|0;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;g=1;return g|0}function wf(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0)fn(b);b=f[a>>2]|0;if(!b)return;fn(b);return}function xf(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=gj()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=12443;Bj(12393,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Pa[f[(f[194]|0)+16>>2]&31](776,k,g)|0){k=f[g>>2]|0;g=Na[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=12443;f[e+4>>2]=h;f[e+8>>2]=g;Bj(12307,e)}else{f[d>>2]=12443;f[d+4>>2]=h;Bj(12352,d)}}Bj(12431,b)}function yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=($m()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=nn()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=nn()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function zf(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}f[a+4>>2]=2420;b=f[a+24>>2]|0;if(b|0)fn(b);b=f[a+12>>2]|0;if(!b)return;fn(b);return}function Af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)xm(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;$k(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{k=dj(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)ge(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;fn(d);return}function Bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;vf(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}fn(f[g>>2]|0);u=a;return +n}function Cf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=3084;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=nn()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=ye(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;eg(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}fn(f[g>>2]|0);u=a;return c|0}function Ef(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){Ef(h);fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)fn(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;fn(d);return}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=vf(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}fn(f[g>>2]|0);u=a;return h|0}function Gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=eg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}fn(f[g>>2]|0);u=a;return h|0}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(Hf(a,c)|0){j=a;e=Qj(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;td(a,e,2656);td(a+12|0,e,2652);Gg(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)fn(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}fn(b);d=1;return d|0}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Ie(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);fn(i)}f[a>>2]=f[h>>2];u=e;return}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;fn(a)}fn(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;fn(c)}fn(d)}fn(b);return}function Lf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){$f(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;Oj(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Ul(m+d|0,g)}u=e;return a|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;if((Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=mi(e,Oa[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=7;break}e=vh(f[c>>2]|0,g)|0;if(!e){d=0;h=7;break}a=a+1|0;if(!(Oa[f[(f[b>>2]|0)+28>>2]&127](b,e)|0)){d=0;h=7;break}if((a|0)>=(Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=7;break}}if((h|0)==7)return d|0;return 0}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Ok(l,c,d)|0;b[g>>0]=0;Ul(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;gf(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function Of(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+8|0;d=f[c>>2]|0;if(!d){fn(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}fn(g);fn(a);return}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));Gb(i,e,g);e=f[i>>2]|0;if(!e){k=i+4|0;if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);k=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=k;u=d;return}else{f[a>>2]=e;e=i+4|0;Tf(a+4|0,e);if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);u=d;return}}function Qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Zf(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function Rf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Sa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}fn(e);return}function Sf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Tj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=ec(a,c,d,e)|0;return g|0}case 1:{g=Ac(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function Tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)xm(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=dj(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Qk(i,g,h)|0;b[e>>0]=0;Ul(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=_b(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}jg(c,d-a|0,0);a=Lh(c,0)|0;c=f[b>>2]|0;ge(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Vf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function Wf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;$c(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(!i){f[e>>2]=0;j=h}else{pf(i);fn(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){pf(i);fn(i)}j=f[g>>2]|0}if(!j){k=0;u=d;return k|0}j=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;le(a+56|0,j,e);k=1;u=d;return k|0}function Xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Yf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Cl(a,f[c+8>>2]|0,g)|0)){if(Cl(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else Wi(0,c,d,e);while(0);return}function Zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){lf(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else Ld(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Tj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function _f(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1040;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}fn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;fn(c)}fn(d)}fn(a);return}function $f(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)xm(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=dj(m)|0;if(g|0)Qk(l,j,g)|0;k=e-h-g|0;if(k|0)Qk(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)fn(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function ag(a,b){a=a|0;b=b|0;if(!b)return;else{ag(a,f[b>>2]|0);ag(a,f[b+4>>2]|0);gg(b+20|0,f[b+24>>2]|0);fn(b);return}}function bg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=dj(32)|0,qj(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(g)}g=ci(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=ij(e|0,g|0,c|0,0)|0;if(!(Zf(h,0,i,I)|0)){j=0;return j|0}Xg(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(bb(a,g,j,i)|0)){k=0;u=e;return k|0}qd(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Cl(a,b,0)|0))if((b|0)!=0?(g=Ce(b,800,784,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Va[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=_b(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function fg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(fg(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function gg(a,c){a=a|0;c=c|0;var d=0;if(!c)return;gg(a,f[c>>2]|0);gg(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)fn(f[d>>2]|0);if((b[a+11>>0]|0)<0)fn(f[a>>2]|0);fn(c);return}function hg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;d=f[b>>2]|0;if(!d){fn(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}fn(g);fn(a);return}function ig(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function jg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Ul(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Ul(a+c|0,g);b[h>>0]=c;break}else Lf(a,c-k|0,d)|0;while(0);u=e;return}function kg(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}fn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;fn(c)}fn(d)}fn(a);return}function lg(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=dj(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=wd(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;pf(a);fn(a);return}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(ln(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=og(c,a)|0;kn(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=og(c,a)|0}while(0);return j|0}function og(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Ih(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Pa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function pg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=8408;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;ug(Ub(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}fn(f[g>>2]|0);u=d;return}function qg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Sa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}fn(e);return}function rg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2296;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ii(a+232|0);return}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=bj(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=Il(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function tg(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(zm(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Qm(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Qm(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;yh(g,d&1);d=ff(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}fe(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Wd(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=tg(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function xg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function yg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[10412+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=10500;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=10500;else{i=10500;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return Em(k,f[c+20>>2]|0)|0}function zg(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Wj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+zg(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function Ag(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;e=u;u=u+16|0;d=e;c=dj(32)|0;f[d>>2]=c;f[d+8>>2]=-2147483616;f[d+4>>2]=26;g=c;h=8360;i=g+26|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Tf(a+4|0,d);if((b[d+11>>0]|0)>=0){u=e;return}fn(f[d>>2]|0);u=e;return}function Bg(a){a=a|0;var b=0,c=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Cg(a){a=a|0;var b=0,c=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)xm(a);h=dj(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;ge(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;$k(g,9789);f[g>>2]=3704;va(g|0,856,80)}g=(f[e>>2]|0)-d|0;h=dj(b<<2)|0;if((g|0)>0)ge(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;fn(d);return}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=dj(20)|0;fk(c);d=c;break}case 1:{c=dj(24)|0;Fk(c);d=c;break}case 2:{c=dj(36)|0;rj(c);d=c;break}case 3:{c=dj(28)|0;xk(c);d=c;break}default:d=0}f[a>>2]=d;return}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{_d(a+40|0,b);d=1;return d|0}return 0}function Kg(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function Lg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Zg(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function Ng(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Og(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Pg(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)fn(f[c>>2]|0);ag(a+12|0,f[a+16>>2]|0);gg(a,f[a+4>>2]|0);fn(a);return}function Qg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b)return;fn(b);return}function Rg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){fn(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}fn(g)}fn(a);return}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Hb(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{si(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Tg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b)return;fn(b);return}function Ug(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+84>>2]|0;if(!b){Ud(a);fn(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);Ud(a);fn(a);return}function Wg(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Vj(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Vj((fc(i,b,Vj(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Xg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Yg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=b[a+12>>0]|0;d=a+8|0;e=f[d>>2]|0;if(e>>>0<4096?(g=a+4|0,i=f[g>>2]|0,(i|0)>0):0){j=f[a>>2]|0;a=i+-1|0;f[g>>2]=a;g=e<<8|(h[j+a>>0]|0);f[d>>2]=g;k=g}else k=e;e=k&255;g=0-c&255;c=X(k>>>8,g)|0;a=e>>>0>>0;f[d>>2]=a?c+e|0:k-g-c|0;return a|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else lf(a,b-g|0);g=a+24|0;a=g;b=Tj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function _g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ag(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ji(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}fn(f[c>>2]|0);u=e;return d|0}function $g(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+84>>2]|0;if(!b){Ud(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);Ud(a);return}function ah(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;od(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ji(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}fn(f[c>>2]|0);u=e;return d|0}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(c?!(Hf(d,a)|0):0){e=0;return e|0}b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;g=(f[a>>2]|0)+c|0;h=a+8|0;i=Vj(f[h>>2]|0,f[h+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=g;f[a+28>>2]=g+i;e=1;return e|0}function dh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function eh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Xf(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ll(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ll(a,g,h)}u=f;return}function fh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Oa[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(bg(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Pa[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function hh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function ih(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Cl(a,f[b+8>>2]|0,g)|0)Vf(0,b,c,d,e);else{h=f[a+8>>2]|0;Xa[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function jh(a,b){a=a|0;b=b|0;var c=0;c=dj(40)|0;f[c>>2]=-1;qj(c+8|0);Ta[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;fn(c)}fn(b);return 1}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function nh(a){a=a|0;var b=0,c=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function oh(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)dn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){_f(a);fn(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);_f(a);fn(a);return}function ph(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;jg(a,d,0);return}function qh(a){a=a|0;var b=0,c=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function rh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=984;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function sh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1740;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function th(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)dn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){_f(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);_f(a);return}function uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Cl(a,f[b+8>>2]|0,0)|0)Ug(0,b,c,d);else{e=f[a+8>>2]|0;Va[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function vh(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Oa[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function wh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function xh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1488;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function yh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;ph(d);rf(a,d,b);Kk(d);u=c;return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((kk(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=Je(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function Ch(a,b){a=a|0;b=b|0;var c=0;Mi(a);f[a>>2]=1088;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function Dh(a){a=a|0;var b=0,c=0;f[a>>2]=1740;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Eh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Fh(a){a=a|0;var b=0,c=0;f[a>>2]=1488;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Hh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[10394+(c&15)>>0]|0|e;c=Wj(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Ih(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Kh(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)xm(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Mh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Kb(a,b,c);return}else{Ob(a,0,0);return}}function Oh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;qd(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Ph(a,b){a=a|0;b=b|0;var c=0;if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Rh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(zj(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Sh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Th(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;Pf(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}fn(f[e>>2]|0);u=a;return c|0}function Uh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Qm(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Qm(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Vh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(zj(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Xh(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=Wj(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Zh(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function _h(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function $h(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Cl(a,f[b+8>>2]|0,g)|0)Vf(0,b,c,d,e);return}function ai(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;le(a+20|0,g,d);u=c;return}function bi(a,b,c){a=a|0;b=b|0;c=c|0;return Rb(a,b,c)|0}function ci(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function di(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Tj(f[a+32>>2]|0,0,7,0)|0;d=Wj(c|0,I|0,3)|0;c=a+16|0;a=c;e=Tj(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function ei(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;le(a+20|0,g,d);u=c;return}function fi(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;sd(c,d,d+12|0);return 1}function hi(){var a=0,b=0;a=dj(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function ii(a){a=a|0;f[a>>2]=2396;zf(a+8|0);fn(a);return}function ji(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Nf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ig(b)|0;d=dj(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=am(d)|0;ge(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function mi(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function ni(a){a=a|0;f[a>>2]=2396;zf(a+8|0);return}function oi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Tb(a,b,c,d,e);return}function pi(a){a=a|0;var b=0,c=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Cl(a,f[b+8>>2]|0,0)|0)Ug(0,b,c,d);return}function ri(a){a=a|0;var b=0;f[a>>2]=2616;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function si(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else ge(a,c,d)|0;return a|0}function ti(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b){fn(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Pa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function vi(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function wi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function xi(){var a=0,b=0;a=gj()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Tk(f[b+12>>2]|0);Tk(om()|0)}function yi(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function zi(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}fn(a);return}function Ai(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);fn(b)}fn(a);return}function Bi(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Ci(a){a=a|0;var b=0,c=0;if(Km(a)|0?(b=gm(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)fn(b);return}function Di(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function Ei(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);_f(a);fn(a);return}function Fi(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function Gi(a){a=a|0;var b=0,c=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Hi(a,b,c){a=a|0;b=b|0;c=c|0;xb(a,b,c);return}function Ii(a){a=a|0;Di(a);Di(a+40|0);Vk(a+80|0);Di(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Ji(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);_f(a);return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;return yc(a,b,5,6,c)|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;return wc(a,b,3,4,c)|0}function Mi(a){a=a|0;var b=0;f[a>>2]=984;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return Bc(a,b,1,2,c)|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,3,4,c)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return zc(a,b,5,6,c)|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;ge(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return Cc(a,b,1,2,c)|0}function Si(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Ti(){var a=0,b=0;a=dj(24)|0;f[a>>2]=956;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Ui(a){a=a|0;var c=0;Sh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Vi(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;fn(b)}fn(a);return}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Xi(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Yi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Zi(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=La;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function $i(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;fn(b)}fn(a);return}function aj(a){a=a|0;var b=0;Jl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;fc(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function cj(a){a=a|0;var b=0;_j(a);f[a>>2]=2668;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function dj(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Ya(b)|0;if(a|0){c=a;break}a=im()|0;if(!a){c=0;break}Ra[a&3]()}return c|0}function ej(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b)return;fn(b);return}function fj(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=hn(f[a+60>>2]|0)|0;f[c>>2]=d;d=kk(Ba(6,c|0)|0)|0;u=b;return d|0}function gj(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(13444,3)|0)){b=Fa(f[3362]|0)|0;u=a;return b|0}else Bj(12582,a);return 0}function hj(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b)return;fn(b);return}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=ki(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ki(b,c,d)|0}function kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Li(b,c,d)|0}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cd(b,c,d)|0}function mj(a){a=a|0;var b=0;b=u;u=u+16|0;Bb(a);if(!(Ia(f[3362]|0,0)|0)){u=b;return}else Bj(12681,b)}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ni(b,c,d)|0}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oi(b,c,d)|0}function pj(a){a=a|0;f[a>>2]=1940;fn(a);return}function qj(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function rj(a){a=a|0;Fk(a);f[a>>2]=2108;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ri(b,c,d)|0}function tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pi(b,c,d)|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Cf(a,b,c,g)|0;u=e;return d|0}function wj(a){a=a|0;f[a>>2]=2024;fn(a);return}function xj(a){a=a|0;f[a>>2]=1940;return}function yj(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return _i(a,b,c)|0}function Aj(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 Qa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[678]|0;ye(b,a,d)|0;ng(10,b)|0;Ca()}function Cj(a){a=a|0;f[a>>2]=2024;return}function Dj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;return mi(b,c)|0}function Fj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Gj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Hj(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kd(b,c,d)|0}function Jj(){var a=0;a=u;u=u+16|0;if(!(Ga(13448,83)|0)){u=a;return}else Bj(12631,a)}function Kj(a){a=a|0;Pc(a);fn(a);return}function Lj(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;Xa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Mj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Na[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cg(b,c,d)|0}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Xf(a|0,(Fm(c)|0)&255|0,b|0)|0;return a|0}function Pj(a){a=a|0;return 4}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)fn(f[c>>2]|0);fn(a);return}function Sj(){}function Tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Uj(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Be(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Wj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;return _g(a,b,c)|0}function Yj(a){a=a|0;Jc(a);fn(a);return}function Zj(a){a=a|0;return 5}function _j(a){a=a|0;var b=0;f[a>>2]=2696;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function $j(a){a=a|0;return 6}function ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gi(b,c,d)|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return Ej(a,b,c)|0}function dk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+28>>2]&127](b)|0}function ek(a,b,c){a=a|0;b=b|0;c=c|0;return Ed(b,c)|0}function fk(a){a=a|0;f[a>>2]=1040;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function gk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+24>>2]&127](b)|0}function hk(a,b){a=a|0;b=b|0;pg(a,b);return}function ik(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+36>>2]&127](b)|0}function jk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wa[a&3](b|0,c|0,d|0,e|0,f|0)}function kk(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=nn()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;return bh(a,b,c)|0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;return qf(a,b,c)|0}function nk(a,b,c){a=a|0;b=b|0;c=c|0;return Ff(a,b,c)|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;return Xe(a,b,c)|0}function pk(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Bf(a,b,c))}function qk(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function rk(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;return Eg(a,b,c)|0}function tk(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return Mk(b,c)|0}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return Gf(a,b,c)|0}function wk(a,b,c){a=a|0;b=b|0;c=c|0;return Df(a,b,c)|0}function xk(a){a=a|0;Fk(a);f[a>>2]=1824;f[a+24>>2]=-1;return}function yk(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return ne(a,b,c)|0}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;return He(b,c)|0}function Bk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Ck(){var a=0;a=dj(40)|0;f[a>>2]=-1;qj(a+8|0);return a|0}function Dk(){var a=0;a=dj(8)|0;f[a>>2]=928;f[a+4>>2]=-1;return a|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return kf(a,b,c)|0}function Fk(a){a=a|0;fk(a);f[a>>2]=1148;f[a+20>>2]=0;return}function Gk(a,b){a=a|0;b=b|0;hk(a,b);return}function Hk(a){a=a|0;var b=0;if(!a)b=0;else b=(Ce(a,800,888,0)|0)!=0&1;return b|0}function Ik(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Jk(a,b){a=a|0;b=b|0;return Th(a,b)|0}function Kk(a){a=a|0;if((b[a+11>>0]|0)<0)fn(f[a>>2]|0);return}function Lk(a){a=a|0;if(!a)return;Sa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Mk(a,b){a=a|0;b=b|0;return kh(a,b)|0}function Nk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Va[a&7](b|0,c|0,d|0,e|0)}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)si(a|0,b|0,c|0)|0;return a|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;return al(b,c)|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ge(a|0,b|0,c|0)|0;return a|0}function Rk(a,b){a=a|0;b=b|0;return -1}function Sk(a){a=a|0;return 3}function Tk(a){a=a|0;var b=0;b=u;u=u+16|0;Ra[a&3]();Bj(12734,b)}function Uk(a,b){a=a|0;b=b|0;return Pl(a,b)|0}function Vk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function Wk(a){a=a|0;Re(a);fn(a);return}function Xk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Yk(a){a=a|0;gl(a);f[a>>2]=2236;f[a+48>>2]=0;return}function Zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pa[a&31](b|0,c|0,d|0)|0}function _k(a,b,c){a=a|0;b=b|0;c=c|0;uj(a,b,c);return}function $k(a,b){a=a|0;b=b|0;f[a>>2]=3684;li(a+4|0,b);return}function al(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function bl(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=yf(a,b,0)|0;return c|0}function cl(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function dl(){var a=0;a=dj(64)|0;Sh(a);return a|0}function el(a,b){a=a|0;b=b|0;return $(kl(a,b))}function fl(a){a=a|0;return f[a+8>>2]|0}function gl(a){a=a|0;ri(a);f[a>>2]=2176;f[a+44>>2]=0;return}function hl(a){a=a|0;if(!a)return;Ef(a);fn(a);return}function il(a,b){a=a|0;b=b|0;return Xl(a,b)|0}function jl(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function kl(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function ll(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Ye(b,c,a)|0;return}function ml(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ua[a&7](b|0,c|0,d|0)}function ol(){var a=0;a=dj(96)|0;Ui(a);return a|0}function pl(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function ql(a){a=a|0;var b=0;b=($m()|0)+188|0;return yg(a,f[b>>2]|0)|0}function rl(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function sl(){var a=0;a=dj(16)|0;Xk(a);return a|0}function tl(){var a=0;a=dj(40)|0;Di(a);return a|0}function ul(a,b){a=a|0;b=b|0;return 1}function vl(a,b){a=a|0;b=b|0;return Fl(a,b)|0}function wl(a,b){a=a|0;b=b|0;return Gl(a,b)|0}function xl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function yl(a,b){a=a|0;b=b|0;return Vl(a,b)|0}function zl(){var a=0;a=dj(12)|0;Nl(a);return a|0}function Al(a){a=a|0;_f(a);fn(a);return}function Bl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Dl(a,b){a=a|0;b=b|0;var c=0;c=Sl(a|0)|0;return ((b|0)==0?a:c)|0}function El(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Fl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Gl(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Hl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fc(a,b,c,d,0)|0}function Jl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Kl(){var a=0;a=dj(84)|0;_j(a);return a|0}function Ll(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Ml(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Nl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Ol(a){a=a|0;f[a>>2]=3684;Ci(a+4|0);return}function Pl(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Ql(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[a&127](b|0,c|0)|0}function Rl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Sl(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Tl(a){a=a|0;gl(a);f[a>>2]=2532;return}function Ul(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Vl(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Wl(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Xl(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Yl(a){a=a|0;return $(n[a+20>>2])}function Zl(a){a=a|0;return f[a+4>>2]|0}function _l(a){a=a|0;if(!a)return;fn(a);return}function $l(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function am(a){a=a|0;return a+12|0}function bm(a){a=a|0;return f[a+88>>2]|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;Ta[a&7](b|0,c|0)}function dm(){var a=0;a=dj(40)|0;aj(a);return a|0}function em(){var a=0;a=dj(108)|0;cj(a);return a|0}function fm(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function gm(a){a=a|0;return a+-12|0}function hm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function im(){var a=0;a=f[3363]|0;f[3363]=a+0;return a|0}function jm(a){a=a|0;return Im(a+4|0)|0}function km(a){a=a|0;return f[a+56>>2]|0}function lm(a){a=a|0;Ud(a);fn(a);return}function mm(a){a=a|0;kn(a);fn(a);return}function nm(a){a=a|0;return b[a+24>>0]|0}function om(){var a=0;a=f[898]|0;f[898]=a+0;return a|0}function pm(a,b){a=a|0;b=b|0;return 0}function qm(a){a=a|0;return f[a+40>>2]|0}function rm(a){a=a|0;return f[a+48>>2]|0}function sm(a,b){a=a|0;b=b|0;return Na[a&127](b|0)|0}function tm(a){a=a|0;return f[a+60>>2]|0}function um(a){a=a|0;return f[a+28>>2]|0}function vm(a){a=a|0;sa(a|0)|0;xi()}function wm(a){a=a|0;Ol(a);fn(a);return}function xm(a){a=a|0;Ca()}function ym(a,b){a=a|0;b=b|0;u=a;v=b}function zm(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Am(a){a=a|0;return (f[a>>2]|0)==0|0}function Bm(a){a=a|0;return f[a+80>>2]|0}function Cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Dm(a,b){a=a|0;b=b|0;Sa[a&127](b|0)}function Em(a,b){a=a|0;b=b|0;return Uj(a,b)|0}function Fm(a){a=a|0;return a&255|0}function Gm(a){a=a|0;f[a>>2]=0;return}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Im(a){a=a|0;return f[a>>2]|0}function Jm(a){a=a|0;return 2}function Km(a){a=a|0;return 1}function Lm(a,b){a=+a;b=b|0;return +(+zg(a,b))}function Mm(){return 3}function Nm(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Om(){return -4}function Pm(){return 4}function Qm(a){a=a|0;return (a+-48|0)>>>0<10|0}function Rm(){return -3}function Sm(){return 1}function Tm(){return 2}function Um(){return -5}function Vm(a,b){a=a|0;b=b|0;aa(1);return 0}function Wm(a){a=a|0;Ea()}function Xm(a){a=a|0;Ra[a&3]()}function Ym(){return -2}function Zm(){ua()}function _m(){return -1}function $m(){return qn()|0}function an(a,b){a=a|0;b=b|0;aa(6)}function bn(){return 0}function cn(a){a=a|0;return dj(a)|0}function dn(a){a=a|0;fn(a);return}function en(a){a=a|0;u=a}function fn(a){a=a|0;Bb(a);return}function gn(a){a=a|0;I=a}function hn(a){a=a|0;return a|0}function jn(a){a=a|0;aa(0);return 0}function kn(a){a=a|0;return}function ln(a){a=a|0;return 0}function mn(){return I|0}function nn(){return 13376}function on(){return u|0}function pn(a){a=a|0;aa(5)}function qn(){return 2840}function rn(){aa(4)} +function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=h;h=0;r=0;while(1){s=f[(f[q+24>>2]|0)+(r<<2)>>2]|0;if((s|0)==-1){t=q;v=h}else{w=h+1|0;f[b>>2]=h;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))yf(i,b);else{f[x>>2]=h;f[j>>2]=x+4}f[d>>2]=s;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=s;else{x=s+1|0;z=((x>>>0)%3|0|0)==0?s+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=s;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=s}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];s=f[o>>2]|0;if((s|0)==(f[p>>2]|0))yf(n,d);else{f[s>>2]=f[d>>2];f[o>>2]=s+4}s=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[s+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))yf(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){yf(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=G;I=F;break b}else A=F}f[e>>2]=-1;H=G;I=F}else{H=s;I=w}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=s;I=w}t=H;v=I}r=r+1|0;if(r>>>0>=(f[t+28>>2]|0)-(f[t+24>>2]|0)>>2>>>0)break;else{q=t;h=v}}u=c;return}function Kb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;ym(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];ub(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Tj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Tj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=lj(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ug(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=lj(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ug(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Xg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x>>2]|0;E=f[x+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=B;f[v>>2]=E;bc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)ym(y);return 0}function Lb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+80|0;e=d+76|0;g=d;h=d+72|0;i=d+64|0;j=d+68|0;if(!(eg(e,c)|0)){k=0;u=d;return k|0}l=f[e>>2]|0;if(!l){k=0;u=d;return k|0}m=a+4|0;n=a+8|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=p;p=o;if(l>>>0>q>>>0){jf(m,l-q|0);if(!(f[e>>2]|0)){k=1;u=d;return k|0}}else if(l>>>0>>0?(q=r+(l<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2);q=f[a+32>>2]|0;p=c+8|0;n=c+16|0;l=g+60|0;r=q+8|0;o=a+16|0;s=a+20|0;a=0;while(1){t=p;v=f[t>>2]|0;w=f[t+4>>2]|0;t=n;x=f[t>>2]|0;y=f[t+4>>2]|0;if(!((w|0)>(y|0)|(w|0)==(y|0)&v>>>0>x>>>0)){k=0;z=40;break}t=f[c>>2]|0;A=b[t+x>>0]|0;B=Tj(x|0,y|0,1,0)|0;C=I;D=n;f[D>>2]=B;f[D+4>>2]=C;if(!((w|0)>(C|0)|(w|0)==(C|0)&v>>>0>B>>>0)){k=0;z=40;break}C=b[t+B>>0]|0;B=Tj(x|0,y|0,2,0)|0;D=I;E=n;f[E>>2]=B;f[E+4>>2]=D;if(!((w|0)>(D|0)|(w|0)==(D|0)&v>>>0>B>>>0)){k=0;z=40;break}D=b[t+B>>0]|0;B=Tj(x|0,y|0,3,0)|0;E=I;F=n;f[F>>2]=B;f[F+4>>2]=E;if(!((w|0)>(E|0)|(w|0)==(E|0)&v>>>0>B>>>0)){k=0;z=40;break}v=b[t+B>>0]|0;B=Tj(x|0,y|0,4,0)|0;y=n;f[y>>2]=B;f[y+4>>2]=I;y=C&255;if((C+-1&255)>10){k=0;z=40;break}Uh(g);C=X(di(y)|0,D&255)|0;kg(g,A&255,0,D,y,v<<24>>24!=0,C,((C|0)<0)<<31>>31,0,0);eg(h,c)|0;f[l>>2]=f[h>>2];C=dj(96)|0;Gh(C,g);f[i>>2]=C;C=ne(q,i)|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){y=v+88|0;D=f[y>>2]|0;f[y>>2]=0;if(D|0){y=f[D+8>>2]|0;if(y|0){A=D+12|0;if((f[A>>2]|0)!=(y|0))f[A>>2]=y;fn(y)}fn(D)}D=f[v+68>>2]|0;if(D|0){y=v+72|0;A=f[y>>2]|0;if((A|0)!=(D|0))f[y>>2]=A+(~((A+-4-D|0)>>>2)<<2);fn(D)}D=v+64|0;A=f[D>>2]|0;f[D>>2]=0;if(A|0){D=f[A>>2]|0;if(D|0){y=A+4|0;if((f[y>>2]|0)!=(D|0))f[y>>2]=D;fn(D)}fn(A)}fn(v)}f[(f[(f[r>>2]|0)+(C<<2)>>2]|0)+60>>2]=f[h>>2];f[(f[m>>2]|0)+(a<<2)>>2]=C;v=f[s>>2]|0;A=f[o>>2]|0;D=v-A>>2;y=A;if((C|0)<(D|0))G=y;else{A=C+1|0;f[j>>2]=-1;B=v;if(A>>>0<=D>>>0)if(A>>>0>>0?(v=y+(A<<2)|0,(B|0)!=(v|0)):0){f[s>>2]=B+(~((B+-4-v|0)>>>2)<<2);H=y}else H=y;else{Ae(o,A-D|0,j);H=f[o>>2]|0}G=H}f[G+(C<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){k=1;z=40;break}}if((z|0)==40){u=d;return k|0}return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;Zd(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Tj(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Tj(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(w|0)==(di(5)|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Tj(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{ee(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Tj(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=20;break}}v=X(w,i)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Vj(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=z;z=x;x=B;B=C;C=0;while(1){y=Tj(u|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=u;F=z}else{ee(k+(C<<2)|0,(f[d>>2]|0)+u|0,w|0)|0;y=l;A=Tj(f[y>>2]|0,f[y+4>>2]|0,v|0,0)|0;y=I;G=l;f[G>>2]=A;f[G+4>>2]=y;E=A;F=y}y=C+1|0;if((y|0)==(i|0)){D=20;break a}A=j;u=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0;C=y}}}else if(Rf(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?La[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}yi(k,i,k);H=F;J=1}while(0);if((D|0)==21){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Oa[f[(f[J>>2]|0)+44>>2]&15](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function Nb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)fn(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;$k(e,9793);f[e>>2]=3708;va(e|0,856,80)}e=dj(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)fn(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){o=j;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(m|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=e;x=o;while(1){y=u+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:z&255)|0)){r=x;break c}if(!w?mh(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=x;break c}y=f[u>>2]|0;if(!y){r=u;break c}else{A=u;u=y;x=A}}}if(w){x=e;u=o;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=e;x=o;while(1){w=u+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:y&255)|0)){r=x;break c}y=A?f[w>>2]|0:w;if((f[s>>2]&255)<<24>>24==(b[y>>0]|0)){B=v;C=s;D=y}else{r=x;break c}while(1){B=B+-1|0;C=C+1|0;if(!B)break;D=D+1|0;if((b[C>>0]|0)!=(b[D>>0]|0)){r=x;break c}}y=f[u>>2]|0;if(!y){r=u;break}else{w=u;u=y;x=w}}}while(0);f[d>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}j=f[o>>2]|0;if(!j){E=43;break a}else{g=o;d=o}}f[q>>2]=d;l=f[o>>2]|0;if(!l){E=43;break}else{k=o;m=p;n=o}}if((E|0)==43)return}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+16|0;e=d+12|0;g=d+4|0;h=d+8|0;i=d;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=k;q=0;r=k;while(1){k=(q|0)==1;if(k){s=(r|0)==-1;do if(!s)if(!((r>>>0)%3|0)){t=r+2|0;break}else{t=r+-1|0;break}else t=-1;while(0);f[h>>2]=t;f[e>>2]=f[h>>2];if((Nd(a,e)|0)==-1){v=r;break}w=r+1|0;if(s){x=12;break}y=((w>>>0)%3|0|0)==0?r+-2|0:w;f[c>>2]=y;w=y+1|0;if((y|0)==-1){z=r;x=16;break}A=((w>>>0)%3|0|0)==0?y+-2|0:w;if((A|0)==-1){z=r;x=16;break}w=f[(f[(f[m>>2]|0)+12>>2]|0)+(A<<2)>>2]|0;A=w+1|0;if((w|0)==-1){z=r;x=16;break}y=((A>>>0)%3|0|0)==0?w+-2|0:A;f[c>>2]=y;if((y|0)==-1){v=r;break}else{B=0;C=r;D=y;x=18}}else{E=f[g>>2]|0;F=p;G=0;H=r}while(1){if((x|0)==18){x=0;y=(D>>>0)/3|0;f[g>>2]=y;E=y;F=D;G=B;H=C}y=(f[n>>2]|0)+(E>>>5<<2)|0;A=1<<(E&31);w=f[y>>2]|0;if(A&w|0){I=F;J=G;K=H;break}f[y>>2]=w|A;A=f[l>>2]|0;if((A|0)==(f[o>>2]|0))yf(j,g);else{f[A>>2]=f[g>>2];f[l>>2]=A+4}A=G+1|0;if((G|0)>0){do if(!(A&1)){w=k?F:H;if((F|0)!=-1)if(!((F>>>0)%3|0)){L=F+2|0;M=w;break}else{L=F+-1|0;M=w;break}else{L=-1;M=w}}else{w=F+1|0;if((F|0)==-1){L=-1;M=H}else{L=((w>>>0)%3|0|0)==0?F+-2|0:w;M=H}}while(0);f[c>>2]=L;N=L;O=M}else{N=F;O=H}f[i>>2]=N;f[e>>2]=f[i>>2];D=Nd(a,e)|0;f[c>>2]=D;if((D|0)==-1){I=-1;J=A;K=O;break}else{B=A;C=O;x=18}}if(!((J&1|0)==0|k^1)){s=f[l>>2]|0;w=f[s+-4>>2]|0;y=(f[n>>2]|0)+(w>>>5<<2)|0;f[y>>2]=f[y>>2]&~(1<<(w&31));f[l>>2]=s+-4}q=q+1|0;if((q|0)>=2){v=K;break}else{p=I;r=K}}if((x|0)==12){f[c>>2]=-1;z=-1;x=16}if((x|0)==16){f[c>>2]=-1;v=z}f[a+44+(b<<2)>>2]=v;v=f[l>>2]|0;l=f[j>>2]|0;j=l;if((v|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=v-l>>2;l=0;do{v=f[j+(l<<2)>>2]|0;a=b+(v>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(v&31));l=l+1|0}while(l>>>0>>0);u=d;return}function Pb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;Db(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)fn(f[g>>2]|0);l=b[j+7>>0]|0;if((l&255|0)!=(La[f[(f[c>>2]|0)+8>>2]&127](c)|0)){m=dj(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=9581;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=dj(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=9632;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&r>>>0>(l<<24>>24==0?3:2)>>>0){l=dj(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=9655;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}l=(r|(m&255)<<8)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Tc(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)fn(f[g>>2]|0)}if(!(La[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=dj(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=9678;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}if(!(La[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=dj(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=9712;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}if(La[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=dj(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=9744;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Kl(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ie(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=r;n=a+16|0;while(1){l=f[e+16>>2]|0;if((d|0)<(l|0)){j=f[e>>2]|0;if(!j){x=23;break}else{y=j;z=e}}else{if((l|0)>=(d|0)){x=27;break}A=e+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=l;z=A}}e=y;n=z}if((x|0)==23){B=e;C=e;break}else if((x|0)==26){B=e;C=A;break}else if((x|0)==27){B=e;C=n;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=dj(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Gc(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;fg(h+4|0,f[k>>2]|0);fg(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(q|0)==(m|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(mh(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(q|0)==(a|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(mh(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Lc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+4194304|0;f[n>>2]=k;o=k>>>0>1073741823;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<4194304){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<4194304){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&1048575;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>20)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(m|0)==(q|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(mh(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(a|0)==(q|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(mh(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Mc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+2097152|0;f[n>>2]=k;o=k>>>0>536870911;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<2097152){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<2097152){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&524287;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>19)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Nc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+1048576|0;f[n>>2]=k;o=k>>>0>268435455;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<1048576){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<1048576){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&262143;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>18)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Oc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+262144|0;f[n>>2]=k;o=k>>>0>67108863;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<262144){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<262144){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&65535;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>16)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Pc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+131072|0;f[n>>2]=k;o=k>>>0>33554431;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<131072){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<131072){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&32767;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>15)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Qc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+32768|0;f[n>>2]=k;o=k>>>0>8388607;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<32768){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<32768){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&8191;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>13)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Rc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+16384|0;f[n>>2]=k;o=k>>>0>4194303;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<16384){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<16384){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&4095;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>12)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function _b(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=mh(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=mh(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=36}else r=20;if((r|0)==20?!k:0)r=36;if((r|0)==36){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=i+4|0;m=f[k>>2]|0;if(!m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=m;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){m=t+16|0;l=b[m+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=mh(n?f[g>>2]|0:g,q?f[m>>2]|0:m,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=30;if((r|0)==30?o>>>0

>>0:0)break;s=Fd(a,d,g)|0;return s|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;s=k;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((i|0)==(f[a>>2]|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){k=f[h+4>>2]|0;if(!k){w=h;break}else h=k}}h=w;k=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[k+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=mh(j?f[k>>2]|0:k,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=12;if((r|0)==12?p>>>0>>0:0){v=h;break}s=Fd(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{i=v;f[d>>2]=i;s=i+4|0;return s|0}return 0}function $b(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Rc(i,d)|0?zd(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}bh(d,0,0)|0;if(!j){j=i+44|0;k=i+48|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=f[k>>2]|0;w=0;x=0;while(1){b:do if(v>>>0<16384){y=f[j>>2]|0;z=v;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[j>>2]=y;C=h[B+y>>0]|z<<8;f[k>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=v;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;v=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[k>>2]=v;c:do if(p){if((y|0)>0){D=0;E=x}else{C=(b[q>>0]|0)==0;z=0;B=x;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=f[r>>2]|0;F=0;H=0;while(1){I=B+(C>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(C&7)&1;I=C+1|0;f[r>>2]=I;K=I;L=J}else{K=C;L=0}H=L<>2]=H;D=D+1|0;if((D|0)>=(c|0)){G=C;break}else E=C}}else G=x;while(0);w=w+c|0;if(w>>>0>=a>>>0)break;else x=G}}}else bh(d,0,0)|0;ei(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);fn(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);fn(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d);u=g;return l|0}function ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Ai(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Ai(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Tj(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Vj(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Vj(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function bc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=f[e>>2]|0;l=(((j|0)>-1?j:0-j|0)+((h|0)>-1?h:0-h|0)|0)<=(k|0);if(l){m=h;n=j}else{if((j|h|0)>-1){o=1;p=1}else{q=(h|0)<1&(j|0)<1;o=q?-1:(h|0)>0?1:-1;p=q?-1:(j|0)>0?1:-1}q=X(k,o)|0;r=X(k,p)|0;k=(h<<1)-q|0;f[c>>2]=k;h=(j<<1)-r|0;f[i>>2]=h;if((X(o,p)|0)>-1){p=0-h|0;f[c>>2]=p;s=0-k|0;t=p}else{f[c>>2]=h;s=k;t=h}h=(t+q|0)/2|0;f[c>>2]=h;q=(s+r|0)/2|0;f[i>>2]=q;m=h;n=q}if(!m)u=(n|0)==0;else u=(m|0)<0&(n|0)<1;if(!m)v=(n|0)==0?0:(n|0)>0?3:1;else v=(m|0)>0?(n>>31)+2|0:(n|0)<1?0:3;if(u){w=m;x=n;y=1}else{switch(v|0){case 1:{z=n;A=0-m|0;break}case 2:{z=0-m|0;A=0-n|0;break}case 3:{z=0-n|0;A=m;break}default:{z=m;A=n}}n=c;f[n>>2]=z;f[n+4>>2]=A;w=z;x=A;y=0}A=(f[d>>2]|0)+w|0;f[a>>2]=A;w=(f[d+4>>2]|0)+x|0;x=a+4|0;f[x>>2]=w;d=f[e>>2]|0;if((d|0)>=(A|0))if((A|0)<(0-d|0))B=(f[b+4>>2]|0)+A|0;else B=A;else B=A-(f[b+4>>2]|0)|0;f[a>>2]=B;if((d|0)>=(w|0))if((w|0)<(0-d|0))C=(f[b+4>>2]|0)+w|0;else C=w;else C=w-(f[b+4>>2]|0)|0;f[x>>2]=C;if(y){D=B;E=C}else{switch((4-v|0)%4|0|0){case 1:{F=C;G=0-B|0;break}case 2:{F=0-B|0;G=0-C|0;break}case 3:{F=0-C|0;G=B;break}default:{F=B;G=C}}C=a;f[C>>2]=F;f[C+4>>2]=G;D=F;E=G}if(l){H=D;I=E;J=H+g|0;K=I+g|0;L=a;M=L;f[M>>2]=J;N=L+4|0;O=N;f[O>>2]=K;return}if((E|D|0)>-1){P=1;Q=1}else{l=(D|0)<1&(E|0)<1;P=l?-1:(D|0)>0?1:-1;Q=l?-1:(E|0)>0?1:-1}l=X(d,P)|0;G=X(d,Q)|0;d=(D<<1)-l|0;f[a>>2]=d;D=(E<<1)-G|0;f[x>>2]=D;if((X(P,Q)|0)>-1){Q=0-D|0;f[a>>2]=Q;R=0-d|0;S=Q}else{f[a>>2]=D;R=d;S=D}D=(S+l|0)/2|0;f[a>>2]=D;l=(R+G|0)/2|0;f[x>>2]=l;H=D;I=l;J=H+g|0;K=I+g|0;L=a;M=L;f[M>>2]=J;N=L+4|0;O=N;f[O>>2]=K;return}function cc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=dj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1572;i=c;f[a>>2]=i;return}case 4:{c=dj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1628;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=dj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1684;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=dj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1740;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1796;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Vk(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function dc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=dj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1320;i=c;f[a>>2]=i;return}case 4:{c=dj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1376;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=dj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1432;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=dj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1488;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1544;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Vk(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c;if(!(sd(a+80|0,a)|0)){e=0;u=c;return e|0}if(!(sf(a)|0)){e=0;u=c;return e|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=a+176|0;f[h>>2]=2;g=a+180|0;f[g>>2]=7;i=f[a+152>>2]|0;if((i|0)<0){e=0;u=c;return e|0}j=a+156|0;f[d>>2]=0;k=a+160|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(i>>>0<=n>>>0)if(i>>>0>>0?(l=o+(i<<2)|0,(m|0)!=(l|0)):0){f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2);p=2;q=7}else{p=2;q=7}else{Ae(j,i-n|0,d);p=f[h>>2]|0;q=f[g>>2]|0}g=q-p+1|0;p=a+184|0;q=a+188|0;h=f[q>>2]|0;n=f[p>>2]|0;i=(h-n|0)/12|0;j=n;n=h;if(g>>>0<=i>>>0)if(g>>>0>>0?(l=j+(g*12|0)|0,(n|0)!=(l|0)):0){j=n;while(1){n=j+-12|0;f[q>>2]=n;m=f[n>>2]|0;if(!m)r=n;else{n=j+-8|0;k=f[n>>2]|0;if((k|0)!=(m|0))f[n>>2]=k+(~((k+-4-m|0)>>>2)<<2);fn(m);r=f[q>>2]|0}if((r|0)==(l|0))break;else j=r}s=r}else s=h;else{ld(p,g-i|0);s=f[q>>2]|0}i=a+196|0;g=f[p>>2]|0;h=(s-g|0)/12|0;r=a+200|0;a=f[r>>2]|0;j=f[i>>2]|0;l=a-j>>2;m=j;j=a;if(h>>>0<=l>>>0)if(h>>>0>>0?(a=m+(h<<2)|0,(j|0)!=(a|0)):0){f[r>>2]=j+(~((j+-4-a|0)>>>2)<<2);t=s;v=g}else{t=s;v=g}else{jf(i,h-l|0);t=f[q>>2]|0;v=f[p>>2]|0}if((t|0)==(v|0)){e=1;u=c;return e|0}v=0;do{eg(d,b)|0;t=f[d>>2]|0;if(t|0){l=f[p>>2]|0;h=l+(v*12|0)|0;g=l+(v*12|0)+4|0;s=f[g>>2]|0;a=f[h>>2]|0;j=s-a>>2;r=a;a=s;if(t>>>0<=j>>>0)if(t>>>0>>0?(s=r+(t<<2)|0,(a|0)!=(s|0)):0){f[g>>2]=a+(~((a+-4-s|0)>>>2)<<2);w=l;x=t}else{w=l;x=t}else{jf(h,t-j|0);w=f[p>>2]|0;x=f[d>>2]|0}Rf(x,1,b,f[w+(v*12|0)>>2]|0)|0;f[(f[i>>2]|0)+(v<<2)>>2]=f[d>>2]}v=v+1|0}while(v>>>0<(((f[q>>2]|0)-(f[p>>2]|0)|0)/12|0)>>>0);e=1;u=c;return e|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)fn(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}d=dj(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)fn(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){b:do if(h){e=j;i=k;c=m;while(1){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=c;r=o;s=n;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[c>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}i=f[d>>2]|0;if(!i){v=37;break a}else{e=d;c=d}}}else{c=j;e=k;i=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(l|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=i;r=w;s=x;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[i>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[c>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{c=o;i=o}}}while(0);f[r>>2]=q;k=f[p>>2]|0;if(!k){v=37;break}else{j=p;l=s;m=p}}if((v|0)==37)return}function gc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;eg(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(mc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;eg(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Tj(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;ig(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Lh(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Tj(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}ee(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Tj(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=dj(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(gc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;Od(c,h,j)|0;uf(j);G=0}else G=1;uf(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)fn(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=dj(88)|0;f[l+4>>2]=0;f[l>>2]=2440;m=l+12|0;f[m>>2]=2420;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=2420;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;ge(i+8|0,c,g);Qa[f[(f[i>>2]|0)+8>>2]&127](i);id(j,i);id(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;vd(c,g)|0;f[g>>2]=2420;p=f[g+20>>2]|0;if(p|0)fn(p);p=f[g+8>>2]|0;if(p|0)fn(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=2420;k=f[j+20>>2]|0;if(k|0)fn(k);k=f[j+8>>2]|0;if(k|0)fn(k);f[l+8>>2]=f[h>>2];vd(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;yd(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=2420;q=f[i+20>>2]|0;if(q|0)fn(q);q=f[i+8>>2]|0;if(q|0)fn(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);fn(q)}f[r>>2]=2420;r=f[h+24>>2]|0;if(r|0)fn(r);r=f[h+12>>2]|0;if(!r){u=e;return}fn(r);u=e;return}function ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{jf(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=cn(l)|0;Vf(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){dn(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=u;u=e;while(1){k=c+(u<<2)|0;l=k+(n<<2)|0;q=b+(u<<2)|0;if((a|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=k+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=a;u=u+e|0;if((u|0)>=(d|0))break;else a=z}dn(h);return 1}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=f[a+44+(b<<2)>>2]|0;b=0;while(1){o=(n|0)==-1;p=o?-1:(n>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(b){if(o)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else yf(k,e);if(!(b&1)){p=n+1|0;if(o){s=-1;break}t=((p>>>0)%3|0|0)==0?n+-2|0:p;v=35;break}if(!o)if(!((n>>>0)%3|0)){t=n+2|0;v=35;break}else{t=n+-1|0;v=35;break}else s=-1}else{if(o)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else yf(k,e);p=n+1|0;if(!o?(q=((p>>>0)%3|0|0)==0?n+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else yf(k,e);if(!o?(q=(((n>>>0)%3|0|0)==0?2:-1)+n|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else yf(k,e);t=n;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}b=b+1|0;if((b|0)>=(h|0))break;else n=s}u=d;return}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Xf(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=l;l=b;b=0;while(1){if(!(f[(f[m>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31))){B=b*3|0;f[g>>2]=B;f[e>>2]=f[g>>2];Ob(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=B+1;f[e>>2]=f[g>>2];Ob(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=B+2;f[e>>2]=f[g>>2];Ob(a,2,e);B=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else yf(w,e);E=f[a+44+(B<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else yf(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else yf(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];jc(a,B,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=A;H=l}b=b+1|0;if(b>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{A=G;l=H}}u=d;return i|0}function lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=g;i=d+2|0;break}else{h=g;i=d+-1|0;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1){k=1;l=e;m=-1;n=28}else{k=1;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1){k=2;l=e;m=-1;n=28}else{k=2;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((i|0)==-1){k=1;l=e;m=-1;n=28}else{k=1;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1){k=2;l=d;m=-1;n=28}else{k=2;l=d;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}default:{}}if((n|0)==28){n=l+(m<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((h|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;h=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((h|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(h|0)>(c|0)?c:h;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Tj(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;ig(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Lh(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Tj(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}ee(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Tj(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(eg(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)ym(h);s=dj(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=s;s=x;do{b[q>>0]=0;q=(f[y>>2]|0)+1|0;f[y>>2]=q;s=s+-1|0}while((s|0)!=0);s=f[g>>2]|0;q=f[a>>2]|0;x=q+8|0;p=f[x>>2]|0;r=f[x+4>>2]|0;x=q+16|0;m=x;t=f[m>>2]|0;w=Tj(t|0,f[m+4>>2]|0,s|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{ee(f[h>>2]|0,(f[q>>2]|0)+t|0,s|0)|0;t=x;q=Tj(f[t>>2]|0,f[t+4>>2]|0,s|0,0)|0;s=x;f[s>>2]=q;f[s+4>>2]=I;Ii(c,e,h);B=1}s=f[h>>2]|0;if(s|0){if((f[y>>2]|0)!=(s|0))f[y>>2]=s;fn(s)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}fn(f[e>>2]|0);u=d;return z|0}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Ja,t=Ja,u=Ja,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=dj(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|s>$(t*u)){r=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;j=~~$(W($(s/u)))>>>0;Ue(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function oc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else jf(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;ym(v)}else{w=n;x=0}while(1){f[i>>2]=f[w+(x<<2)>>2];f[h>>2]=f[i>>2];if(!(tb(j,h,c,x)|0)){q=0;y=24;break}n=X(x,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}x=x+1|0;if((x|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=x>>>0){v=n;y=8;break}}if((y|0)==8)ym(v);else if((y|0)==24){u=d;return q|0}return 0}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else jf(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;ym(v)}else{w=n;x=0}while(1){f[i>>2]=f[w+(x<<2)>>2];f[h>>2]=f[i>>2];if(!(sb(j,h,c,x)|0)){q=0;y=24;break}n=X(x,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}x=x+1|0;if((x|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=x>>>0){v=n;y=8;break}}if((y|0)==8)ym(v);else if((y|0)==24){u=d;return q|0}return 0}function rc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;qd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)ym(l);else{q=o<<1;e=dj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Vf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);qd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(kb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(kb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=v;A=0;while(1){d[e+(y<<1)>>1]=d[q+(A<<1)>>1]|0;A=A+1|0;if((A|0)==(o|0))break;else y=y+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=o+v|0}}while(0);v=f[l>>2]|0;if(v|0){l=f[g>>2]|0;if((l|0)!=(v|0))f[g>>2]=l+(~((l+-2-v|0)>>>1)<<1);fn(v)}r=t;u=i;return r|0}function sc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;qd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)ym(l);else{q=o<<1;e=dj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Vf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);qd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(lb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(lb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=v;A=0;while(1){d[e+(y<<1)>>1]=d[q+(A<<1)>>1]|0;A=A+1|0;if((A|0)==(o|0))break;else y=y+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=o+v|0}}while(0);v=f[l>>2]|0;if(v|0){l=f[g>>2]|0;if((l|0)!=(v|0))f[g>>2]=l+(~((l+-2-v|0)>>>1)<<1);fn(v)}r=t;u=i;return r|0}function tc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)ym(k);else{p=n<<2;d=dj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Vf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);rd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(mb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(mb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=t;z=0;while(1){f[d+(x<<2)>>2]=f[p+(z<<2)>>2];z=z+1|0;if((z|0)==(n|0))break;else x=x+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=n+t|0}}while(0);t=f[k>>2]|0;if(t|0){k=f[e>>2]|0;if((k|0)!=(t|0))f[e>>2]=k+(~((k+-4-t|0)>>>2)<<2);fn(t)}q=s;u=h;return q|0}function uc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)ym(k);else{p=n<<2;d=dj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Vf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);rd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(nb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(nb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=t;z=0;while(1){f[d+(x<<2)>>2]=f[p+(z<<2)>>2];z=z+1|0;if((z|0)==(n|0))break;else x=x+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=n+t|0}}while(0);t=f[k>>2]|0;if(t|0){k=f[e>>2]|0;if((k|0)!=(t|0))f[e>>2]=k+(~((k+-4-t|0)>>>2)<<2);fn(t)}q=s;u=h;return q|0}function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Tj(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=Zb(a,c,d)|0;return l|0}case 2:{l=Zb(a,c,d)|0;return l|0}case 3:{l=Zb(a,c,d)|0;return l|0}case 4:{l=Zb(a,c,d)|0;return l|0}case 5:{l=cd(a,c,d)|0;return l|0}case 6:{l=Zb(a,c,d)|0;return l|0}case 7:{l=Zb(a,c,d)|0;return l|0}case 8:{l=Zb(a,c,d)|0;return l|0}case 9:{l=Yb(a,c,d)|0;return l|0}case 10:{l=Xb(a,c,d)|0;return l|0}case 11:{l=Wb(a,c,d)|0;return l|0}case 12:{l=Vb(a,c,d)|0;return l|0}case 13:{l=Ub(a,c,d)|0;return l|0}case 14:{l=Sb(a,c,d)|0;return l|0}case 15:{l=Sb(a,c,d)|0;return l|0}case 16:{l=Sb(a,c,d)|0;return l|0}case 17:{l=Sb(a,c,d)|0;return l|0}case 18:{l=Sb(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function wc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Id(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)ym(k);p=dj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=p;p=n;do{b[d>>0]=0;d=(f[e>>2]|0)+1|0;f[e>>2]=d;p=p+-1|0}while((p|0)!=0)}Id(g,0,0+a|0);a:do if(!o)r=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24>0){s=0;t=0}else{d=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(d<<2)>>2]|0;else v=d;w=f[k>>2]|0;f[j>>2]=v;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(pb(c,i,x,w)|0)){r=0;break a}d=d+1|0;if(d>>>0>=o>>>0){r=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[p>>2]|0)+(t<<2)>>2]|0;else y=t;d=f[k>>2]|0;f[j>>2]=y;w=b[l>>0]|0;f[i>>2]=f[j>>2];if(pb(c,i,w,d)|0){z=s;A=0}else{r=0;break a}while(1){b[(f[g>>2]|0)+z>>0]=b[(f[k>>2]|0)+A>>0]|0;A=A+1|0;if((A|0)==(n|0))break;else z=z+1|0}t=t+1|0;if(t>>>0>=o>>>0){r=1;break}else s=n+s|0}}while(0);s=f[k>>2]|0;if(s|0){if((f[e>>2]|0)!=(s|0))f[e>>2]=s;fn(s)}q=r;u=h;return q|0}function xc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Id(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)ym(k);p=dj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=p;p=n;do{b[d>>0]=0;d=(f[e>>2]|0)+1|0;f[e>>2]=d;p=p+-1|0}while((p|0)!=0)}Id(g,0,0+a|0);a:do if(!o)r=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24>0){s=0;t=0}else{d=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(d<<2)>>2]|0;else v=d;w=f[k>>2]|0;f[j>>2]=v;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(qb(c,i,x,w)|0)){r=0;break a}d=d+1|0;if(d>>>0>=o>>>0){r=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[p>>2]|0)+(t<<2)>>2]|0;else y=t;d=f[k>>2]|0;f[j>>2]=y;w=b[l>>0]|0;f[i>>2]=f[j>>2];if(qb(c,i,w,d)|0){z=s;A=0}else{r=0;break a}while(1){b[(f[g>>2]|0)+z>>0]=b[(f[k>>2]|0)+A>>0]|0;A=A+1|0;if((A|0)==(n|0))break;else z=z+1|0}t=t+1|0;if(t>>>0>=o>>>0){r=1;break}else s=n+s|0}}while(0);s=f[k>>2]|0;if(s|0){if((f[e>>2]|0)!=(s|0))f[e>>2]=s;fn(s)}q=r;u=h;return q|0}function yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=f[e>>2]|0;n=c;o=e;p=h}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=r>>>(g+u|0)|f[s>>2]&~(-1>>>(32-w|0));f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=x;n=v;o=e;p=h-q|0}q=32-m|0;h=-1<31){m=~h;e=f[d>>2]|0;v=p+-32|0;x=v>>>5;c=x+1|0;w=v-(x<<5)|0;x=f[e>>2]|0;v=e;s=p;u=n;while(1){g=f[u>>2]|0;r=x&m;f[v>>2]=r;f[v>>2]=g<>2]|r;v=v+4|0;x=f[v>>2]&h|g>>>q;f[v>>2]=x;s=s+-32|0;if((s|0)<=31)break;else u=u+4|0}u=n+(c<<2)|0;f[b>>2]=u;f[d>>2]=e+(c<<2);y=u;z=w}else{y=n;z=p}if((z|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[y>>2]&-1>>>(32-z|0);y=(q|0)<(z|0)?q:z;n=f[d>>2]|0;w=f[n>>2]&~(-1<>2]&-1>>>(q-y|0));f[n>>2]=w;f[n>>2]=w|p<>2];w=(f[o>>2]|0)+y|0;q=n+(w>>>5<<2)|0;f[d>>2]=q;f[o>>2]=w&31;w=z-y|0;if((w|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[q>>2]=f[q>>2]&~(-1>>>(32-w|0))|p>>>y;f[o>>2]=w;i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d+4|0;i=d;if(!(eg(e,c)|0)){j=-1;u=d;return j|0}k=f[e>>2]|0;if(k|0){l=f[a+8>>2]|0;if(k>>>0>(((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0)>>>0){j=-1;u=d;return j|0}l=g+4|0;k=a+40|0;m=a+44|0;n=a+36|0;o=0;p=0;do{eg(i,c)|0;f[l>>2]=(f[i>>2]|0)+p;eg(i,c)|0;q=f[i>>2]|0;p=f[l>>2]|0;if(p>>>0>>0){r=22;break}f[g>>2]=p-q;q=f[k>>2]|0;if((q|0)==(f[m>>2]|0))df(n,g);else{f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[k>>2]=(f[k>>2]|0)+12}o=o+1|0}while(o>>>0<(f[e>>2]|0)>>>0);if((r|0)==22){j=-1;u=d;return j|0}bh(c,0,0)|0;r=f[e>>2]|0;if(r|0){e=a+4|0;o=c+36|0;k=c+32|0;g=c+24|0;n=c+28|0;m=a+36|0;a=0;p=0;while(1){l=f[e>>2]|0;i=(b[o>>0]|0)==0;if(((h[l+36>>0]<<8|h[l+37>>0])&65535)<514)if(!i){l=f[k>>2]|0;q=f[g>>2]|0;s=f[n>>2]|0;t=q+(l>>>3)|0;if(t>>>0>>0){v=(h[t>>0]|0)>>>(l&7)&1;t=l+1|0;f[k>>2]=t;w=t;x=v}else{w=l;x=0}if((q+(w>>>3)|0)>>>0>>0){f[k>>2]=w+1;y=x}else y=x}else y=a;else if(!i){i=f[k>>2]|0;s=(f[g>>2]|0)+(i>>>3)|0;if(s>>>0<(f[n>>2]|0)>>>0){q=(h[s>>0]|0)>>>(i&7)&1;f[k>>2]=i+1;y=q}else y=0}else y=a;q=(f[m>>2]|0)+(p*12|0)+8|0;b[q>>0]=b[q>>0]&-2|y&1;p=p+1|0;if(p>>>0>=r>>>0)break;else a=y}}ei(c)}j=f[c+16>>2]|0;u=d;return j|0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)ym(a);p=k<<6;k=b+31&-32;bf(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;ui(q|0,k|0,p<<2|0)|0;k=r-(p<<5)|0;r=q+(p<<2)|0;s=r;if((k|0)>0){t=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~t|f[l+(p<<2)>>2]&t;v=s;w=k}else{v=s;w=0}}else{v=q;w=0}f[g>>2]=v;f[g+4>>2]=w;w=g;g=f[w>>2]|0;v=f[w+4>>2]|0;w=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=w;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(w|0)fn(w);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=x;A=v;B=m}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Vf(z|0,-1,b<<2|0)|0;z=B-(b<<5)|0;B=A+(b<<2)|0;if(!z){u=d;return}f[B>>2]=f[B>>2]|-1>>>(32-z|0);u=d;return}else{if(i){C=x;D=v;E=m}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Vf(C|0,0,i<<2|0)|0;C=E-(i<<5)|0;E=D+(i<<2)|0;if(!C){u=d;return}f[E>>2]=f[E>>2]&~(-1>>>(32-C|0));u=d;return}}function Bc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=f[e>>2]|0;o=c;p=e;q=i}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=w;o=u;p=c;q=i-r|0}r=32-n|0;i=-1<31){n=~i;c=o;u=q;do{w=f[c>>2]|0;v=f[d>>2]|0;e=f[v>>2]&n;f[v>>2]=e;f[v>>2]=w<>2]|e;e=v+4|0;f[d>>2]=e;f[e>>2]=f[e>>2]&i|w>>>r;u=u+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((u|0)>31);x=c;y=q&31}else{x=o;y=q}if((y|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}q=f[x>>2]&-1>>>(32-y|0);x=(r|0)<(y|0)?r:y;o=f[d>>2]|0;c=f[o>>2]&~(-1<>2]&-1>>>(r-x|0));f[o>>2]=c;f[o>>2]=c|q<>2];c=(f[p>>2]|0)+x|0;r=o+(c>>>5<<2)|0;f[d>>2]=r;f[p>>2]=c&31;c=y-x|0;if((c|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[r>>2]=f[r>>2]&~(-1>>>(32-c|0))|q>>>x;f[p>>2]=c;j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function Cc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Tj(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Na[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Ma[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=La[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Ma[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){jf(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(q|0)!=(s|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(La[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=La[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function Dc(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2296;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do{e=e+-16|0;ln(e)}while((e|0)!=(c|0))}dn(b)}ln(a+352|0);ln(a+312|0);ln(a+296|0);ln(a+256|0);gf(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;fn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)fn(b);b=f[a+120>>2]|0;if(b|0)fn(b);b=f[a+108>>2]|0;if(b|0)fn(b);b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+60>>2]|0;if(b|0)fn(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;of(a);fn(a);return}function Ec(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+16|0;d=c;e=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(La[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if((f[n>>2]|0)!=0?(n=f[(f[h>>2]|0)+(m<<2)>>2]|0,o=f[n+8>>2]|0,p=Je(n)|0,(p|0)!=0):0){n=(La[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;q=f[n>>2]|0;n=f[o+56>>2]|0;o=dj(32)|0;f[d>>2]=o;f[j>>2]=-2147483616;f[k>>2]=24;r=o;s=8412;t=r+24|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[o+24>>0]=0;s=q+16|0;r=f[s>>2]|0;if(r){t=s;v=r;a:while(1){r=v;while(1){if((f[r+16>>2]|0)>=(n|0))break;w=f[r+4>>2]|0;if(!w){x=t;break a}else r=w}v=f[r>>2]|0;if(!v){x=r;break}else t=r}if(((x|0)!=(s|0)?(n|0)>=(f[x+16>>2]|0):0)?(t=x+20|0,(Ge(t,d)|0)!=0):0)y=wg(t,d,0)|0;else z=14}else z=14;if((z|0)==14){z=0;y=wg(q,d,0)|0}if((b[l>>0]|0)<0)fn(f[d>>2]|0);if(y)Zc(f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0,p);else z=19}else z=19;if((z|0)==19?(z=0,t=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Ma[f[(f[t>>2]|0)+24>>2]&127](t,i)|0)):0){g=0;z=21;break}m=m+1|0;if((m|0)>=(e|0)){g=1;z=21;break}}if((z|0)==21){u=c;return g|0}return 0}function Fc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=j;l=c;do{f[k>>2]=-1;$g(k+4|0);b[k+100>>0]=1;m=k+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));k=(f[i>>2]|0)+144|0;f[i>>2]=k;l=l+-1|0}while((l|0)!=0);u=d;return}l=f[a>>2]|0;k=(j-l|0)/144|0;j=k+c|0;if(j>>>0>29826161)ym(a);o=(h-l|0)/144|0;l=o<<1;h=o>>>0<14913080?(l>>>0>>0?j:l):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){l=ra(8)|0;$k(l,9793);f[l>>2]=3708;va(l|0,856,80)}else{p=dj(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;l=p+(k*144|0)|0;k=e+8|0;f[k>>2]=l;j=e+4|0;f[j>>2]=l;o=e+12|0;f[o>>2]=p+(h*144|0);h=l;l=c;do{f[h>>2]=-1;$g(h+4|0);b[h+100>>0]=1;m=h+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));h=(f[k>>2]|0)+144|0;f[k>>2]=h;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;h=f[i>>2]|0;if((h|0)==(l|0)){q=j;r=f[j>>2]|0;s=l;t=h}else{m=f[j>>2]|0;n=h;do{m=m+-144|0;n=n+-144|0;oc(m,n)}while((n|0)!=(l|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=f[k>>2];f[k>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=f[q>>2];nf(e);u=d;return}function Gc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=f[e+8>>2]|0;c=g+12|0;if(b[c>>0]|0){h=23;break}i=g+8|0;j=f[i>>2]|0;d=f[j>>2]|0;if((d|0)==(g|0)){k=f[j+4>>2]|0;if(!k){h=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{h=7;break}}else{if(!d){h=16;break}l=d+12|0;if(!(b[l>>0]|0))m=l;else{h=16;break}}b[c>>0]=1;c=(j|0)==(a|0);b[j+12>>0]=c&1;b[m>>0]=1;if(c){h=23;break}else e=j}if((h|0)==7){if((f[g>>2]|0)==(e|0)){n=g;o=j}else{m=g+4|0;a=f[m>>2]|0;c=f[a>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[i>>2]|0}f[a+8>>2]=p;p=f[i>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=a;f[a>>2]=g;f[i>>2]=a;n=a;o=f[a+8>>2]|0}b[n+12>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;a=n+4|0;p=f[a>>2]|0;f[o>>2]=p;if(p|0)f[p+8>>2]=o;p=o+8|0;f[n+8>>2]=f[p>>2];c=f[p>>2]|0;f[((f[c>>2]|0)==(o|0)?c:c+4|0)>>2]=n;f[a>>2]=o;f[p>>2]=n;return}else if((h|0)==16){if((f[g>>2]|0)==(e|0)){e=f[g>>2]|0;n=e+4|0;p=f[n>>2]|0;f[g>>2]=p;if(!p)q=j;else{f[p+8>>2]=g;q=f[i>>2]|0}f[e+8>>2]=q;q=f[i>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=e;f[n>>2]=g;f[i>>2]=e;r=e;s=f[e+8>>2]|0}else{r=g;s=j}b[r+12>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;g=f[j>>2]|0;f[r>>2]=g;if(g|0)f[g+8>>2]=s;g=s+8|0;f[j+8>>2]=f[g>>2];r=f[g>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[g>>2]=j;return}else if((h|0)==23)return}function Hc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Tj(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}Ac(a+76|0,l,0);Vk(d);if(sd(d,b)|0){if((l|0)>0){k=a+76|0;i=0;m=1;do{m=m^((Xg(d)|0)^1);j=(f[k>>2]|0)+(i>>>5<<2)|0;o=1<<(i&31);p=f[j>>2]|0;f[j>>2]=m?p|o:p&~o;i=i+1|0}while((i|0)<(l|0))}l=e;e=f[l>>2]|0;i=f[l+4>>2]|0;l=g;m=f[l>>2]|0;k=f[l+4>>2]|0;l=Tj(m|0,k|0,4,0)|0;o=I;if(((!((i|0)<(o|0)|(i|0)==(o|0)&e>>>0>>0)?(p=f[b>>2]|0,b=p+m|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=o,o=Tj(m|0,k|0,8,0)|0,k=I,!((i|0)<(k|0)|(i|0)==(k|0)&e>>>0>>0)):0)?(e=p+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=o,f[e+4>>2]=k,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,k=Vj(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&k>>>0<2147483647):0){j=k+1|0;f[a+20>>2]=j;k=(j|0)/2|0;l=a+24|0;f[l>>2]=k;f[a+28>>2]=0-k;if(!(j&1)){f[l>>2]=k+-1;q=1}else q=1}else q=0}else q=0;ln(d);n=q;u=c;return n|0}function Ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=La[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Ma[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Ma[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=dj(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2024;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2080;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Vk(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=dj(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=1940;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=1996;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Vk(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Jc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;Ud(a+232|0);gf(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;fn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)fn(b);b=f[a+120>>2]|0;if(b|0)fn(b);b=f[a+108>>2]|0;if(b|0)fn(b);b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+60>>2]|0;if(b|0)fn(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;of(a);fn(a);return}function Kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+16|0;e=c;g=0;do{eg(d,b)|0;i=f[d>>2]|0;if(i|0){j=a+60+(g*12|0)|0;Ac(j,i,0);Vk(e);if(!(sd(e,b)|0)){k=9;break}if(f[d>>2]|0){i=0;do{l=Xg(e)|0;m=(f[j>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);o=f[m>>2]|0;f[m>>2]=l?o|n:o&~n;i=i+1|0}while(i>>>0<(f[d>>2]|0)>>>0)}ln(e)}g=g+1|0}while((g|0)<4);if((k|0)==9){ln(e);p=0;u=c;return p|0}e=b+8|0;k=f[e>>2]|0;g=f[e+4>>2]|0;e=b+16|0;d=e;i=f[d>>2]|0;j=f[d+4>>2]|0;d=Tj(i|0,j|0,4,0)|0;n=I;if((g|0)<(n|0)|(g|0)==(n|0)&k>>>0>>0){p=0;u=c;return p|0}o=f[b>>2]|0;b=o+i|0;l=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=e;f[b>>2]=d;f[b+4>>2]=n;n=Tj(i|0,j|0,8,0)|0;j=I;if((g|0)<(j|0)|(g|0)==(j|0)&k>>>0>>0){p=0;u=c;return p|0}k=o+d|0;d=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;k=e;f[k>>2]=n;f[k+4>>2]=j;if((l|0)>(d|0)){p=0;u=c;return p|0}f[a+12>>2]=l;f[a+16>>2]=d;j=Vj(d|0,((d|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=I;if(!(l>>>0<0|(l|0)==0&j>>>0<2147483647)){p=0;u=c;return p|0}l=j+1|0;f[a+20>>2]=l;j=(l|0)/2|0;d=a+24|0;f[d>>2]=j;f[a+28>>2]=0-j;if(l&1|0){p=1;u=c;return p|0}f[d>>2]=j+-1;p=1;u=c;return p|0}function Lc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=pe(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Mc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=qe(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Nc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=re(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Oc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=te(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Pc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=ue(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Qc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=ve(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Rc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=we(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Sc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(Lb(a,c)|0)){g=0;u=d;return g|0}h=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else Jd(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Tj(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Sa[f[(f[a>>2]|0)+48>>2]&7](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=La[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Ma[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Na[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=dj(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;Hm(e);if(ce(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){Df(o);fn(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}fn(l)}Df(c);fn(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=9554;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Df(i);fn(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}fn(p)}Df(h);fn(h);u=d;return}}function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=f[b>>2]|0;f[d>>2]=g;b=a+8|0;h=(g|0)==-1;i=g+1|0;do if(!h){f[d+4>>2]=((i>>>0)%3|0|0)==0?g+-2|0:i;if(!((g>>>0)%3|0)){j=g+2|0;break}else{j=g+-1|0;break}}else{f[d+4>>2]=-1;j=-1}while(0);f[d+8>>2]=j;j=h?-1:(g>>>0)/3|0;h=a+216|0;i=a+220|0;k=a+368|0;a=g;g=0;while(1){if((a|0)!=-1?(l=f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(l|0)!=-1):0){if(((l>>>0)/3|0)>>>0>=j>>>0?(f[i>>2]|0)!=(f[h>>2]|0):0){l=0;do{if(Xg((f[k>>2]|0)+(l<<4)|0)|0){m=f[h>>2]|0;f[e>>2]=a;n=m+(l*144|0)+136|0;o=f[n>>2]|0;if(o>>>0<(f[m+(l*144|0)+140>>2]|0)>>>0){f[o>>2]=a;f[n>>2]=o+4}else yf(m+(l*144|0)+132|0,e)}l=l+1|0}while(l>>>0<(((f[i>>2]|0)-(f[h>>2]|0)|0)/144|0)>>>0)}}else p=10;if((p|0)==10?(p=0,l=f[i>>2]|0,m=f[h>>2]|0,(l|0)!=(m|0)):0){o=l;l=m;m=0;while(1){n=l;f[e>>2]=a;q=n+(m*144|0)+136|0;r=f[q>>2]|0;if(r>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[r>>2]=a;f[q>>2]=r+4;s=l;t=o}else{yf(n+(m*144|0)+132|0,e);s=f[h>>2]|0;t=f[i>>2]|0}m=m+1|0;if(m>>>0>=((t-s|0)/144|0)>>>0)break;else{o=t;l=s}}}l=g+1|0;if((l|0)==3)break;a=f[d+(l<<2)>>2]|0;g=l}u=c;return 1}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=dj(124)|0;f[k+4>>2]=0;f[k>>2]=2396;f[k+12>>2]=2420;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=2420;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;ge(i+8|0,o,g);Qa[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];vd(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;Vd(k,h);f[a>>2]=n;f[i>>2]=2420;n=f[i+20>>2]|0;if(n|0)fn(n);n=f[i+8>>2]|0;if(!n){wf(h);u=e;return}fn(n);wf(h);u=e;return}function Xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=2;k=0;l=(j|0)==2;m=l?0:k;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=h;h=0;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;r=Tf(f[q>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(r){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?mh(z,A,w)|0:0){B=0;C=h;break b}}else if(!y){if((x&255)<<24>>24==(b[A>>0]|0)){D=v;E=g;F=A}else{B=0;C=h;break b}while(1){D=D+-1|0;E=E+1|0;if(!D)break c;F=F+1|0;if((b[E>>0]|0)!=(b[F>>0]|0)){B=0;C=h;break b}}}while(0);B=1;C=f[q>>2]|0}else{B=0;C=h}}else{B=3;C=h}while(0);if(s<<24>>24<0)fn(f[g>>2]|0);switch(B&3){case 3:case 0:break;default:{j=B;k=C;G=17;break a}}q=q+4|0;if((q|0)==(i|0)){j=2;k=C;G=17;break}else h=C}if((G|0)==17){l=(j|0)==2;m=l?0:k;u=e;return m|0}return 0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+32|0;e=d+12|0;g=d;h=Ch(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)ym(e);else{n=dj(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Vf(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;f[c>>2]=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2];s=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=s;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=f[c>>2];f[o+(q*12|0)+8>>2]=s;q=q+1|0}while(q>>>0>>0)}while(0);lg(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);fn(a)}u=d;return}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=dj(32)|0;tj(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;fn(d)}fn(g);h=f[e>>2]|0}Wg(a,h,0,0,0,0);j=a}else j=a;if(!(Of(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))yd(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;fn(c)}fn(h);return}h=dj(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)ym(c);l=dj(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){ee(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;fn(h)}fn(a);return}function _c(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ug(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(k|0)!=(j|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(jb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=i;i=0;while(1){f[d>>2]=f[a+(i<<2)>>2];f[c>>2]=f[d>>2];i=i+1|0;if(!(jb(e,c)|0)){n=0;o=15;break}g=f[l>>2]|0;a=f[g>>2]|0;if(i>>>0>=(f[g+4>>2]|0)-a>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function $c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(p|0)!=(o|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else jf(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(_a(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(_a(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=w;o=0;while(1){f[k+(t<<2)>>2]=f[i+(o<<2)>>2];o=o+1|0;if((o|0)==(l|0))break;else t=t+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=l+w|0}if((v|0)==18){u=e;return s|0}return 0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Rc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=zd(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<16384){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=n;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);fn(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);fn(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);fn(a);u=d;return j|0}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;fn(a)}if((b[s+11>>0]|0)<0)fn(f[s>>2]|0);fn(d);return c|0}function ed(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Db(a,h,i);if(f[a>>2]|0){n=h+24|0;ln(n);u=g;return}o=a+4|0;p=o+11|0;if((b[p>>0]|0)<0)fn(f[o>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;q=dj(32)|0;f[j>>2]=q;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=q;l=8391;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+20>>0]=0;f[a>>2]=-1;Sf(o,j);if((b[j+11>>0]|0)<0)fn(f[j>>2]|0);n=h+24|0;ln(n);u=g;return}Me(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){q=j+16|0;l=f[q>>2]|0;f[q>>2]=0;qi(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[p>>0]|0)<0)fn(f[o>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Qa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Sf(o,j+4|0)}o=j+16|0;i=f[o>>2]|0;f[o>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)fn(f[i>>2]|0);n=h+24|0;ln(n);u=g;return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)ym(d);else{i=b*12|0;j=dj(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Vf(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(Rf(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(i<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+k|0;f[e>>2]=q;p=f[n+(i+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(i+2<<2)>>2]|0;n=q>>>1;k=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=k;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))df(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else i=i+3|0}}else m=0;i=f[d>>2]|0;if(!i){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(i|0))f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);fn(i);u=c;return m|0}function gd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=0;while(1){h=d*3|0;i=f[o+(h<<2)>>2]|0;if((i|0)==-1){q=0;r=11;break}g=f[(f[m>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=p>>>0){q=0;r=11;break}i=f[a>>2]|0;f[i+(f[c+(d*12|0)>>2]<<2)>>2]=k;k=f[o+(h+1<<2)>>2]|0;if((k|0)==-1){q=0;r=11;break}l=f[g+(k<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+4>>2]<<2)>>2]=l;l=f[o+(h+2<<2)>>2]|0;if((l|0)==-1){q=0;r=11;break}h=f[g+(l<<2)>>2]|0;if(h>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+8>>2]<<2)>>2]=h;d=d+1|0;if(d>>>0>=e>>>0){q=1;r=11;break}}if((r|0)==11)return q|0;return 0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2372;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)ym(i);else{o=((n+-1|0)>>>5)+1|0;p=dj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];md(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)ym(i);k=((l+-1|0)>>>5)+1|0;l=dj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];md(i,e,d);u=c;return}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2420;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)ym(i);else{o=((n+-1|0)>>>5)+1|0;p=dj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];md(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)ym(i);k=((l+-1|0)>>>5)+1|0;l=dj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];md(i,e,d);u=c;return}function jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=0,x=0,y=Ja,z=0,A=Ja;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=cn(j>>>0>1073741823?-1:j<<2)|0;Cl(e);if(!(Zi(e,$(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;dn(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){ee((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}dn(l);u=d;return m|0}while(1){a=f[p>>2]|0;t=$(n[g>>2]);v=$(n[e>>2]);i=0;w=s;while(1){x=f[o+(w<<2)>>2]|0;if((x|0)>-1)y=$($($(x|0)*t)*v);else{z=Vj(0,0,x|0,((x|0)<0)<<31>>31|0)|0;y=$(-$(v*$(t*$(+(z>>>0)+4294967296.0*+(I|0)))))}A=$(y+$(n[a+(i<<2)>>2]));n[l+(i<<2)>>2]=A;i=i+1|0;if((i|0)==(j|0))break;else w=w+1|0}ee((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+r|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+k|0;s=j+s|0}}dn(l);u=d;return m|0}function kd(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=cn(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)dn(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Tj(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}ee(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Tj(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Tj(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Tj(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Tj(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Vf(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)ym(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{n=dj(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Vf(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=d;d=h;h=j;do{j=i+-12|0;b=d;d=d+-12|0;f[j>>2]=0;n=i+-8|0;f[n>>2]=0;f[i+-4>>2]=0;f[j>>2]=f[d>>2];j=b+-8|0;f[n>>2]=f[j>>2];n=b+-4|0;f[i+-4>>2]=f[n>>2];f[n>>2]=0;f[j>>2]=0;f[d>>2]=0;i=h+-12|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);fn(m)}}while((c|0)!=(g|0))}if(!p)return;fn(p);return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((o|0)!=(a|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];yc(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=b;t=n;v=j;w=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=l+(e>>>5<<2)|0;s=b;t=b;v=j-p|0;w=e&31}e=(v|0)/32|0;ui(r|0,s|0,e<<2|0)|0;s=v-(e<<5)|0;v=r+(e<<2)|0;r=v;if((s|0)>0){p=-1>>>(32-s|0);f[v>>2]=f[v>>2]&~p|f[t+(e<<2)>>2]&p;x=r;y=s}else{x=r;y=w}}else{x=m;y=o}f[k>>2]=x;f[k+4>>2]=y;u=d;return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;if(g-i>>2>>>0>=b>>>0){Vf(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}j=f[a>>2]|0;k=i-j>>2;i=k+b|0;if(i>>>0>1073741823)ym(a);l=g-j|0;j=l>>1;g=l>>2>>>0<536870911?(j>>>0>>0?i:j):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(g)if(g>>>0>1073741823){j=ra(8)|0;$k(j,9793);f[j>>2]=3708;va(j|0,856,80)}else{m=dj(g<<2)|0;break}else m=0;while(0);f[d>>2]=m;j=m+(k<<2)|0;k=d+8|0;i=d+4|0;f[i>>2]=j;l=d+12|0;f[l>>2]=m+(g<<2);Vf(j|0,0,b<<2|0)|0;f[k>>2]=j+(b<<2);b=f[a>>2]|0;j=f[h>>2]|0;if((j|0)==(b|0)){n=i;o=f[i>>2]|0;p=b;q=j}else{g=f[i>>2]|0;m=j;do{m=m+-4|0;j=f[m>>2]|0;f[m>>2]=0;f[g+-4>>2]=j;g=(f[i>>2]|0)+-4|0;f[i>>2]=g}while((m|0)!=(b|0));n=i;o=g;p=f[a>>2]|0;q=f[h>>2]|0}f[a>>2]=o;f[n>>2]=p;f[h>>2]=f[k>>2];f[k>>2]=q;q=f[e>>2]|0;f[e>>2]=f[l>>2];f[l>>2]=q;f[d>>2]=f[n>>2];Se(d);u=c;return}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)ui(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);fn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)ym(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)ym(a);h=dj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+(p<<2);return}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){f[j>>2]=f[c>>2];o=o+-1|0;if(!o)break;else j=j+4|0}}if(!l){j=h+(b<<2)|0;if((n|0)==(j|0))return;else{p=i;q=n+(~((n+-4-j|0)>>>2)<<2)|0;break}}else{j=b-k|0;o=n;m=j;while(1){f[o>>2]=f[c>>2];m=m+-1|0;if(!m)break;else o=o+4|0}p=i;q=n+(j<<2)|0;break}}else{o=g;if(!g)r=e;else{m=a+4|0;k=f[m>>2]|0;if((k|0)!=(h|0))f[m>>2]=k+(~((k+-4-g|0)>>>2)<<2);fn(o);f[d>>2]=0;f[m>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)ym(a);m=r>>1;o=r>>2>>>0<536870911?(m>>>0>>0?b:m):1073741823;if(o>>>0>1073741823)ym(a);m=dj(o<<2)|0;k=a+4|0;f[k>>2]=m;f[a>>2]=m;f[d>>2]=m+(o<<2);o=m;l=b;while(1){f[o>>2]=f[c>>2];l=l+-1|0;if(!l)break;else o=o+4|0}p=k;q=m+(b<<2)|0}while(0);f[p>>2]=q;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)ui(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=n;o=p;while(1){d[q>>1]=d[o>>1]|0;o=o+2|0;if((o|0)==(c|0))break;else q=q+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);fn(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)ym(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)ym(a);t=dj(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=t;i=b;while(1){d[e>>1]=d[i>>1]|0;i=i+2|0;if((i|0)==(c|0))break;else e=e+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)ui(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);fn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)ym(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)ym(a);h=dj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;j=f[i+4>>2]|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;if(!((j|0)>(n|0)|((j|0)==(n|0)?(f[i>>2]|0)>>>0>m>>>0:0))){o=0;u=d;return o|0}b[a+12>>0]=b[(f[c>>2]|0)+m>>0]|0;m=k;i=Tj(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=k;f[m>>2]=i;f[m+4>>2]=I;a:do if((eg(e,c)|0?(m=f[e>>2]|0,i=g,n=k,j=f[n>>2]|0,l=f[n+4>>2]|0,n=Vj(f[i>>2]|0,f[i+4>>2]|0,j|0,l|0)|0,i=I,!(0>(i|0)|0==(i|0)&m>>>0>n>>>0)):0)?(n=(f[c>>2]|0)+j|0,(m|0)>=1):0){f[a>>2]=n;i=m+-1|0;p=n+i|0;switch((h[p>>0]|0)>>>6&3){case 0:{f[a+4>>2]=i;q=b[p>>0]&63;break}case 1:{if((m|0)<2){r=0;break a}f[a+4>>2]=m+-2;p=n+m+-2|0;q=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break}case 2:{if((m|0)<3){r=0;break a}f[a+4>>2]=m+-3;p=n+m+-3|0;q=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}p=q+4096|0;f[a+8>>2]=p;if(p>>>0<=1048575){p=Tj(j|0,l|0,m|0,0)|0;m=k;f[m>>2]=p;f[m+4>>2]=I;r=1}else r=0}else r=0;while(0);o=r;u=d;return o|0}function td(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;dc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;cc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)fn(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)fn(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(l|0)!=(o|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{jf(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(xb(a,d)|0)){s=0;u=c;return s|0}fb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{fn(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)ym(c);else{j=((k+-1|0)>>>5)+1|0;l=dj(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);ui(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{fn(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)ym(h);else{n=((p+-1|0)>>>5)+1|0;c=dj(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);ui(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Yg(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=d;d=0;do{k=j+(d<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Yg(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;d=d+1|0;j=f[i>>2]|0}while(d>>>0<(f[c>>2]|0)-j>>2>>>0)}j=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Yg(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ug(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(ob(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(ob(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);fn(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)ym(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)ym(a);j=dj(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;ee(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;ee(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((c|0)==(p|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+16|0;e=d;if(!(Gf(e,c)|0)){g=0;u=d;return g|0}i=e;e=f[i>>2]|0;j=f[i+4>>2]|0;i=c+8|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=Vj(f[i>>2]|0,f[i+4>>2]|0,m|0,n|0)|0;i=I;if(j>>>0>i>>>0|(j|0)==(i|0)&e>>>0>l>>>0){g=0;u=d;return g|0}l=(f[c>>2]|0)+m|0;c=Tj(m|0,n|0,e|0,j|0)|0;j=k;f[j>>2]=c;f[j+4>>2]=I;if((e|0)<1){g=0;u=d;return g|0}f[a+40>>2]=l;j=e+-1|0;c=l+j|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=j;o=b[c>>0]&63;break}case 1:{if((e|0)<2){g=0;u=d;return g|0}else{f[a+44>>2]=e+-2;k=l+e+-2|0;o=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}break}case 2:{if((e|0)<3){g=0;u=d;return g|0}else{f[a+44>>2]=e+-3;k=l+e+-3|0;o=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=e+-4;k=l+e+-4|0;o=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);e=o+16384|0;f[a+48>>2]=e;g=e>>>0<4194304;u=d;return g|0}function Ad(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ug(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(rb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(rb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(kc(e,a,d)|0){d=f[g>>2]|0;rd(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+56>>2]|0;if(d|0)fn(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}of(e);fn(e);u=c;return l|0}function Cd(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Ja,f=Ja,g=Ja,h=Ja,i=Ja,j=Ja,k=Ja,l=Ja,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Ja,u=Ja,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=g;j=$(g-h);k=$(h+g);l=h;m=-1.0}else{i=b;j=f;k=e;l=c;m=1.0}c=$(+i*2.0+-1.0);i=$(+l*2.0+-1.0);o=+k*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=t;w=d+8|0;n[w>>2]=u;return}else{l=$($(1.0)/$(L($(k))));k=$(j*l);n[d>>2]=k;t=$(c*l);u=$(i*l);v=d+4|0;n[v>>2]=t;w=d+8|0;n[w>>2]=u;return}}function Dd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=d;j=a;while(1){if((b[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=d;r=a;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=c&255;if((b[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=X(e,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){a=f[g>>2]^q;if((a&-2139062144^-2139062144)&a+-16843009|0)break;a=g+4|0;d=s+-4|0;if(d>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((b[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+16|0;g=e;h=d+8|0;i=f[h>>2]|0;j=f[h+4>>2]|0;h=d+16|0;k=h;l=f[k>>2]|0;m=f[k+4>>2]|0;if((j|0)>(m|0)|(j|0)==(m|0)&i>>>0>l>>>0){k=b[(f[d>>2]|0)+l>>0]|0;n=Tj(l|0,m|0,1,0)|0;o=I;p=h;f[p>>2]=n;f[p+4>>2]=o;if(k<<24>>24!=-2){q=o;r=n;s=k;t=3}}else{q=m;r=l;s=0;t=3}if((t|0)==3){if((j|0)>(q|0)|(j|0)==(q|0)&i>>>0>r>>>0){i=b[(f[d>>2]|0)+r>>0]|0;j=Tj(r|0,q|0,1,0)|0;q=h;f[q>>2]=j;f[q+4>>2]=I;v=i}else v=0;Ta[f[(f[a>>2]|0)+40>>2]&7](g,a,s<<24>>24,v<<24>>24);v=a+20|0;s=f[g>>2]|0;f[g>>2]=0;i=f[v>>2]|0;f[v>>2]=s;if(i){Qa[f[(f[i>>2]|0)+4>>2]&127](i);i=f[g>>2]|0;f[g>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Ma[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){w=0;u=e;return w|0}w=Na[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=e;return w|0}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=g;g=a+4|0;while(1){a=d+16|0;i=b[a+11>>0]|0;k=i<<24>>24<0;l=k?f[d+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=mh(e,k?f[a>>2]|0:a,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[d>>2]|0;if(!n){o=9;break}else{p=n;q=d}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=mh(k?f[a>>2]|0:a,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=d+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=i;q=r}}d=p;g=q}if((o|0)==9){f[c>>2]=d;h=d;return h|0}else if((o|0)==15){f[c>>2]=d;h=r;return h|0}else if((o|0)==16){f[c>>2]=d;h=g;return h|0}return 0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;Bc(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=l;p=c;q=h;r=j;s=0}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=l;p=l;q=h-n|0;r=j+(g>>>5<<2)|0;s=g&31}g=(q|0)/32|0;ui(r|0,o|0,g<<2|0)|0;o=q-(g<<5)|0;q=r+(g<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);f[q>>2]=f[q>>2]&~j|f[p+(g<<2)>>2]&j;t=r;v=o}else{t=r;v=s}}else{t=k;v=m}f[i>>2]=t;f[i+4>>2]=v;u=d;return}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=gg(c)|0;if(i>>>0>4294967279)ym(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=dj(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){ee(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=gg(d)|0;if(i>>>0>4294967279)ym(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=dj(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){ee(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Xc(i,g,h)|0,(o|0)!=0):0)q=lh(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)fn(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}fn(f[g>>2]|0);u=e;return q|0}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;fn(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)ym(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)ym(a);i=dj(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}else{o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;n=a-e|0;if(n|0)ui(k|0,c|0,n|0)|0;c=k+n|0;if(!j){if((f[o>>2]|0)==(c|0))return;f[o>>2]=c;return}if((a|0)==(d|0))return;a=f[o>>2]|0;c=g;do{b[a>>0]=b[c>>0]|0;c=c+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((c|0)!=(d|0));return}}function Jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Vf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)ym(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{n=dj(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Vf(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=d;d=h;h=b;do{d=d+-4|0;b=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=b;i=h+-4|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Qa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;fn(p);return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)ym(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;$k(e,9793);f[e>>2]=3708;va(e|0,856,80)}else{l=dj(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;Sf(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=e;e=l;l=g;do{g=j+-12|0;e=e+-12|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=l+-12|0;l=j}while((e|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)fn(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;fn(n);return}function Ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)ui(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;ee(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);fn(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)ym(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)ym(a);j=dj(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;ee(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=dj(64)|0;g=dj(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=2592;f[g+8>>2]=h;f[d>>2]=g;Eh(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){Jd(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(m|0)!=(n|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Qa[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Qa[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Qa[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=0;i=-1;j=b}else{h=0;i=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;j=b}}else{h=1;i=-1;j=-1}if((g|0)!=(i|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(h){l=-1;m=-1;n=j;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(h){l=-1;m=e;n=j;break}else o=e}e=j+1|0;b=((e>>>0)%3|0|0)==0?j+-2|0:e;if((b|0)==-1){l=-1;m=o;n=j}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=j}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(Tb(e,c)|0){g=0;return g|0}a=Ab(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Ye(c+8|0);fn(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)fn(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)fn(a);fn(d);g=1;return g|0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))ye(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){yf(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;fn(b)}fn(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);fn(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;fn(e)}fn(h)}fn(c);u=d;return}function Qd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2696;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}Re(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Df(i);fn(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}fn(g)}Df(a);fn(a);return}function Rd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=kk(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=f[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=(q<<31>>31)+n|0;t=g-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;g=kk(Aa(146,e|0)|0)|0;if((o|0)==(g|0)){v=3;break a}else{m=r;n=s}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((n|0)==2)w=0;else w=c-(f[m+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|0}function Td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=mh(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=mh(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Ud(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);fn(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}fn(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);fn(g)}g=a+136|0;j=f[g>>2]|0;f[g>>2]=0;if(!j){l=a+120|0;ln(l);m=a+80|0;ln(m);n=a+64|0;ln(n);o=a+24|0;ln(o);return}g=j+-4|0;b=f[g>>2]|0;if(b|0){h=j+(b<<4)|0;do{h=h+-16|0;ln(h)}while((h|0)!=(j|0))}dn(g);l=a+120|0;ln(l);m=a+80|0;ln(m);n=a+64|0;ln(n);o=a+24|0;ln(o);return}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];vd(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{yd(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);yd(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);yd(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Ld(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=h;j=b;do{f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];i=(f[g>>2]|0)+12|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/12|0;h=i+b|0;if(h>>>0>357913941)ym(a);k=(e-j|0)/12|0;j=k<<1;e=k>>>0<178956970?(j>>>0>>0?h:j):357913941;do if(e)if(e>>>0>357913941){j=ra(8)|0;$k(j,9793);f[j>>2]=3708;va(j|0,856,80)}else{l=dj(e*12|0)|0;break}else l=0;while(0);j=l+(i*12|0)|0;i=l+(e*12|0)|0;e=j;l=b;b=j;do{f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];e=b+12|0;b=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;c=j+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)ee(c|0,l|0,e|0)|0;f[a>>2]=c;f[g>>2]=b;f[d>>2]=i;if(!l)return;fn(l);return}function Xd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+32|0;g=e+8|0;i=e;if((d|0)!=3){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{b=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((La[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Ic(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);m=f[i>>2]|0;if(!m){f[i>>2]=0;break}else{n=m;o=i;break a}}while(0);m=dj(24)|0;f[m+4>>2]=b;p=m+8|0;f[p>>2]=f[g>>2];f[p+4>>2]=f[g+4>>2];f[p+8>>2]=f[g+8>>2];f[p+12>>2]=f[g+12>>2];f[m>>2]=1884;k=m;l=8}while(0);if((l|0)==8){f[i>>2]=k;n=k;o=i}f[a>>2]=n;f[o>>2]=0;u=e;return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)ym(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{k=dj(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){Df(n);fn(n)}}while((h|0)!=(g|0))}if(!m)return;fn(m);return}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Uh(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(di(5)|0,d)|0;kg(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=dj(96)|0;Gh(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);ag(j,c)|0;f[h>>2]=j;Kf(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;fn(h)}fn(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);fn(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;fn(j)}fn(c)}fn(a);u=e;return}function _d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function $d(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=cn(k)|0;Vf(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;bc(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){dn(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;bc(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));dn(l);u=g;return 1}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Pd(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);fn(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;fn(c)}fn(h)}fn(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Fe(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((b|0)==(e|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;n=m+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((o|0)>(g|0)){l=0;return l|0}f[a+12>>2]=o;f[a+16>>2]=g;j=Vj(g|0,((g|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;if(!(o>>>0<0|(o|0)==0&j>>>0<2147483647)){l=0;return l|0}o=j+1|0;f[a+20>>2]=o;j=(o|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(!(o&1))f[g>>2]=j+-1;l=sd(a+108|0,b)|0;return l|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;eg(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){eg(g,f[a>>2]|0)|0;k=dj(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(gc(a,k)|0))break;f[h>>2]=k;Ig(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){Df(l);fn(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}Df(k);fn(k);m=0}while(0);if((j|0)==8)m=gc(a,c)|0;i=m;u=d;return i|0}function de(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;do if(!(Dl(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Dl(a,f[c>>2]|0,g)|0)){i=f[h>>2]|0;Ua[f[(f[i>>2]|0)+24>>2]&3](i,c,d,e,g);break}i=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(j=c+20|0,(f[j>>2]|0)!=(d|0)):0){f[i>>2]=e;k=c+44|0;if((f[k>>2]|0)==4)break;l=c+52|0;b[l>>0]=0;m=c+53|0;b[m>>0]=0;n=f[h>>2]|0;Va[f[(f[n>>2]|0)+20>>2]&3](n,c,d,d,1,g);if(b[m>>0]|0)if(!(b[l>>0]|0)){o=3;p=11}else q=3;else{o=4;p=11}if((p|0)==11){f[j>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;q=o}else q=o}f[k>>2]=q;break}if((e|0)==1)f[i>>2]=1}else Wi(0,c,d,e);while(0);return}function ee(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(k>>>0<=o>>>0)if(k>>>0>>0?(m=p+(k<<2)|0,(n|0)!=(m|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{jf(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=4;o=0;k=j;while(1){f[g+(o<<2)>>2]=k;q=q+4|0;o=o+1|0;d=r+q|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((o|0)>=(i|0)){s=c;break}else k=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)ym(a);n=j<<6;j=c+31&-32;bf(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)fn(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Vf(h|0,0,n|0)|0;d=c-(a<<5)|0;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Vf(h|0,-1,n|0)|0;n=c-(a<<5)|0;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function he(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=dj(384)|0;qg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Qa[f[(f[c>>2]|0)+4>>2]&127](c);m=9}break}case 2:{c=dj(440)|0;lf(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Qa[f[(f[d>>2]|0)+4>>2]&127](d);m=9}break}default:m=9}if((m|0)==9){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Ma[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function ie(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=_b(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=dj(40)|0;Sf(c+16|0,d);Sf(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Gc(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Vj(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=dj(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;ee(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}kf(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;ee(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>4294967279)ym(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=a;m=0;n=j;o=13}else{Qk(a,j,(e&255)+1|0)|0;fn(j);o=15}}else{j=dj(k+1|0)|0;if(g){l=j;m=1;n=f[a>>2]|0;o=13;break}else{Qk(j,a,(e&255)+1|0)|0;p=j;o=14;break}}while(0);if((o|0)==13){Qk(l,n,(f[a+4>>2]|0)+1|0)|0;fn(n);if(m){p=l;o=14}else o=15}if((o|0)==14){f[a+8>>2]=k+1|-2147483648;f[a+4>>2]=h;f[a>>2]=p;break}else if((o|0)==15){b[d>>0]=h;break}}while(0);return}function me(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){fn(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=g;m=j;while(1){j=m+8|0;if((l|0)==(f[i>>2]|0))Kd(a,j);else{Sf(l,j);f[h>>2]=(f[h>>2]|0)+12}j=f[m>>2]|0;if(!j)break a;l=f[h>>2]|0;m=j}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Sa[e&7](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;fn(d)}fn(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);fn(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;fn(a)}fn(e)}fn(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=g;i=b;do{j=h;f[j>>2]=0;f[j+4>>2]=0;h=(f[e>>2]|0)+8|0;f[e>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;h=g-i>>3;g=h+b|0;if(g>>>0>536870911)ym(a);j=d-i|0;i=j>>2;d=j>>3>>>0<268435455?(i>>>0>>0?g:i):536870911;do if(d)if(d>>>0>536870911){i=ra(8)|0;$k(i,9793);f[i>>2]=3708;va(i|0,856,80)}else{k=dj(d<<3)|0;break}else k=0;while(0);i=k+(h<<3)|0;h=k+(d<<3)|0;d=i;k=b;b=i;do{g=d;f[g>>2]=0;f[g+4>>2]=0;d=b+8|0;b=d;k=k+-1|0}while((k|0)!=0);k=f[a>>2]|0;d=(f[e>>2]|0)-k|0;g=i+(0-(d>>3)<<3)|0;if((d|0)>0)ee(g|0,k|0,d|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=h;if(!k)return;fn(k);return}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==1048576;return k|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==524288;return k|0}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==262144;return k|0}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)fn(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)fn(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;ge(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;ge(a+12|0,k,e);pd(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,2684);ug(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);ug(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==65536;return k|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==32768;return k|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==8192;return k|0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==4096;return k|0}function xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((eb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=mn(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=eb(a,c,g,i,h)|0;if(!o)s=j;else{Na[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=eb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)ln(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){nd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((h|0)==(g|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;fn(h)}fn(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);fn(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(a)}fn(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=El(f[a+8>>2]|0,e)|0;h=El(f[a+12>>2]|0,e)|0;i=El(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=El(f[a+(q<<2)>>2]|0,e)|0;s=El(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=xh(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=El(f[a+(m<<2)>>2]|0,e)|0;j=El(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=i;k=b;while(1){f[j>>2]=f[c>>2];k=k+-1|0;if(!k)break;else j=j+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;j=h-i|0;h=j>>2;k=h+b|0;if(k>>>0>1073741823)ym(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?k:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;$k(e,9793);f[e>>2]=3708;va(e|0,856,80)}else{n=dj(m<<2)|0;break}else n=0;while(0);e=n+(h<<2)|0;k=n+(m<<2)|0;m=e;n=b;while(1){f[m>>2]=f[c>>2];n=n+-1|0;if(!n)break;else m=m+4|0}m=e+(0-h<<2)|0;if((j|0)>0)ee(m|0,i|0,j|0)|0;f[a>>2]=m;f[g>>2]=e+(b<<2);f[d>>2]=k;if(!i)return;fn(i);return}function Be(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Dl(l,e,0)|0){f[i+48>>2]=1;Va[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ua[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=Ja,q=0;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=j;j=0;n=0;o=0;while(1){p=$($(1.0)/$(m|0));Cd(g,$($(f[k+(o<<2)>>2]|0)*p),$($(f[k+((o|1)<<2)>>2]|0)*p),e);ee((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+n|0,e|0,i|0)|0;q=j+1|0;if((q|0)==(c|0)){l=1;break}m=f[a>>2]|0;j=q;n=n+i|0;o=o+2|0}u=d;return l|0}function De(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Rb(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;b[s>>0]=b[e>>0];b[s+1>>0]=b[e+1>>0];b[s+2>>0]=b[e+2>>0];b[s+3>>0]=b[e+3>>0];b[s+4>>0]=b[e+4>>0];b[s+5>>0]=b[e+5>>0];b[s+6>>0]=b[e+6>>0];b[s+7>>0]=b[e+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];g=1;return g|0}function Ee(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=h;j=b;while(1){f[i>>2]=1;j=j+-1|0;if(!j)break;else i=i+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)ym(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{m=dj(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;j=m+(l<<2)|0;l=d;m=b;while(1){f[l>>2]=1;m=m+-1|0;if(!m)break;else l=l+4|0}l=d+(0-g<<2)|0;if((i|0)>0)ee(l|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=d+(b<<2);f[c>>2]=j;if(!h)return;fn(h);return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=mh(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=mh(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=gg(c)|0;if(h>>>0>4294967279)ym(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=dj(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Xc(i,g,e)|0,(j|0)!=0):0)n=lh(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)fn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}fn(f[e>>2]|0);u=d;return n|0}function Ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((La[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){td(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=dj(44)|0;f[d>>2]=1208;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];Dg(d+32|0,e+24|0);f[d>>2]=1264;g=d}f[a>>2]=g;return}function Je(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(k|0)!=(a|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{Ae(h,i-l|0,1076);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function Ke(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=cn(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){dn(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}ee((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=i+a|0}}dn(k);return}else{ee(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){dn(k);return}else{p=1;q=0}do{q=q+j|0;ee((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+q|0,k|0,j|0)|0;p=p+1|0}while((p|0)!=(c|0));dn(k);return}}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=cn(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){dn(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}ee((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=h+a|0}}dn(j);return}else{ee(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){dn(j);return}else{o=1;p=0}do{p=p+i|0;ee((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+p|0,j|0,i|0)|0;o=o+1|0}while((o|0)!=(c|0));dn(j);return}}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=dj(48)|0;Ul(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=dj(52)|0;Yk(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=8335;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Sf(c,g);f[a>>2]=f[e>>2];Sf(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)fn(f[c>>2]|0);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=d;return}}}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(n&1)){l=0;return l|0}j=(_(n|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;n=2<>2]=n+-1;j=n+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=sd(a+88|0,b)|0;return l|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Fc(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((h|0)==(g|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);fn(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);fn(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);fn(h)}vf(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Nb(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Nb(a,e);return}function Qe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1088;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}fn(g)}f[a>>2]=984;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);fn(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);fn(g);return}function Re(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;fn(d)}fn(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);fn(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;fn(i)}fn(j)}fn(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}fn(e);return}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;fn(d)}fn(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);fn(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;fn(h)}fn(i)}fn(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;fn(b);return}function Te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=cn((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){dn(i);return}if(g<<24>>24>0){g=0;j=0;while(1){a=0;l=j;while(1){b[i+a>>0]=f[k+(l<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else l=l+1|0}ee((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+j|0,i|0,h|0)|0;g=g+1|0;if((g|0)==(c|0))break;else j=j+h|0}dn(i);return}else{ee(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1){dn(i);return}else{m=1;n=0}do{n=n+h|0;ee((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+n|0,i|0,h|0)|0;m=m+1|0}while((m|0)!=(c|0));dn(i);return}}function Ue(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){fc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;fc(a,e);return}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(La[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(La[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Ma[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Ma[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Ma[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function We(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Tf(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){fn(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}fn(f[e>>2]|0);u=a;return i|0}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Ih(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=k;m=0;n=c;o=a;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Na[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=f[g>>2]|0;m=e;n=c-e|0;o=a+e|0}else{l=k;m=0;n=c;o=a}while(0);ee(l|0,o|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function Ye(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Ye(c+8|0);fn(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)fn(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;fn(h)}if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);fn(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)fn(e);fn(d)}if((b[a+11>>0]|0)>=0)return;fn(f[a>>2]|0);return}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=cn((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;dn(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Tj(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}ee(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;ee((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+k|0,g|0,a|0)|0;j=j+1|0;if((j|0)>=(b|0)){i=1;q=5;break}else k=k+a|0}if((q|0)==5){dn(g);return i|0}return 0}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=g;g=0;a:while(1){j=f[a+(g*144|0)>>2]|0;if(((j|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(La[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Ma[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(c|0))break a;j=j+1|0}while((j|0)<(La[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=g+1|0;a=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-a|0)/144|0)>>>0){h=0;m=11;break}else g=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(g*144|0)+100>>0]|0)==0?0:m+(g*144|0)+4|0;return h|0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(_(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=e;i=0;b:while(1){j=f[h+(i*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(La[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Ma[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(La[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=i+1|0;h=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-h|0)/144|0)>>>0)break a;else i=k}m=(f[c>>2]|0)+(i*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)ym(d);k=((b+-1|0)>>>5)+1|0;b=dj(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Gd(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)fn(g);u=c;return}function cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Tj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=928;f[e+4>>2]=-1;Il(e,n);o=ih(e,f[a+16>>2]|0)|0;u=c;return o|0}function df(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)ym(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;$k(k,9793);f[k>>2]=3708;va(k|0,856,80)}else{m=dj(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)ee(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;fn(d);return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Fd(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=dj(40)|0;Sf(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Gc(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function ff(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)ym(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=dj(p)|0;if(g|0)Qk(o,m,g)|0;if(i|0)Qk(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Qk(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)fn(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Vl(o+p|0,l);u=k;return}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}vf(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}fn(e);return}function hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=gg(d)|0;if(g>>>0>4294967279)ym(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=dj(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){ee(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(Rb(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}fn(f[e>>2]|0);u=a;return g|0}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Vf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)ym(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{m=dj(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;Vf(d|0,0,b<<2|0)|0;j=d+(0-g<<2)|0;if((i|0)>0)ee(j|0,h|0,i|0)|0;f[a>>2]=j;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;fn(h);return}function kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=h;j=c;do{b[i>>0]=0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=h-j|0;h=i+c|0;if((h|0)<0)ym(a);k=e-j|0;j=k<<1;e=k>>>0<1073741823?(j>>>0>>0?h:j):2147483647;if(!e)l=0;else l=dj(e)|0;j=l+i|0;i=l+e|0;e=j;l=c;c=j;do{b[e>>0]=0;e=c+1|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;h=j+(0-e)|0;if((e|0)>0)ee(h|0,l|0,e|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=i;if(!l)return;fn(l);return}function lf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ji(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(La[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=956;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Oh(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=ih(c,f[a+16>>2]|0)|0;f[c>>2]=956;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);fn(a)}e=i;u=d;return e|0}function nf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}vf(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;fn(b);return}function of(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function pf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Tf(c,g,e)|0;if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}fn(f[e>>2]|0);u=a;return h|0}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=yj(l,i+1|0,12308,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;ig(c,n,0);k=b[h>>0]|0;i=n}ig(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function rf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(i|0)!=(h|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{jf(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)ym(b);else if((m|0)==12)return d|0;return 0}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=cn(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Vk(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do{i=i+-16|0;ln(i)}while((i|0)!=(c|0))}dn(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(sd((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function tf(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=jj()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=f[899];Cj(12397,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;j=Na[f[(f[194]|0)+16>>2]&31](776,k,g)|0;k=f[899]|0;if(j){j=f[g>>2]|0;g=La[f[(f[j>>2]|0)+8>>2]&127](j)|0;f[e>>2]=k;f[e+4>>2]=h;f[e+8>>2]=g;Cj(12311,e)}else{f[d>>2]=k;f[d+4>>2]=h;Cj(12356,d)}}Cj(12435,b)}function uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;uf(a+20|0);if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)fn(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;fn(g)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)fn(d);fn(c);return}function vf(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0)fn(b);b=f[a>>2]|0;if(!b)return;fn(b);return}function wf(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}f[a+4>>2]=2420;b=f[a+24>>2]|0;if(b|0)fn(b);b=f[a+12>>2]|0;if(!b)return;fn(b);return}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(bn()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=Um()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=Um()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ym(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;$k(k,9793);f[k>>2]=3708;va(k|0,856,80)}else{m=dj(l<<2)|0;break}else m=0;while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];b=k+(0-g<<2)|0;if((e|0)>0)ee(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;fn(d);return} +function Wa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[3222]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=12928+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[3222]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[3224]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=12928+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[3227]|0;k=m>>>3;l=12928+(k<<1<<2)|0;i=1<>2]|0}f[q>>2]=h;f[r+12>>2]=h;f[h+8>>2]=r;f[h+12>>2]=l}f[3224]=n;f[3227]=j;o=e;u=b;return o|0}e=f[3223]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[13192+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=i;v=s}else{h=k;k=i;i=s;while(1){s=(f[h+4>>2]&-8)-d|0;l=s>>>0>>0;n=l?s:k;s=l?h:i;h=f[h+16+(((f[h+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=n;v=s;break}else{k=n;i=s}}}i=v+d|0;if(v>>>0>>0){k=f[v+24>>2]|0;h=f[v+12>>2]|0;do if((h|0)==(v|0)){s=v+20|0;n=f[s>>2]|0;if(!n){l=v+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=n;y=s}while(1){s=x+20|0;n=f[s>>2]|0;if(n|0){x=n;y=s;continue}s=x+16|0;n=f[s>>2]|0;if(!n)break;else{x=n;y=s}}f[y>>2]=0;w=x}else{s=f[v+8>>2]|0;f[s+12>>2]=h;f[h+8>>2]=s;w=h}while(0);do if(k|0){h=f[v+28>>2]|0;s=13192+(h<<2)|0;if((v|0)==(f[s>>2]|0)){f[s>>2]=w;if(!w){f[3223]=e&~(1<>2]|0)!=(v|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=k;h=f[v+16>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[v+20>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}while(0);if(t>>>0<16){k=t+d|0;f[v+4>>2]=k|3;e=v+k+4|0;f[e>>2]=f[e>>2]|1}else{f[v+4>>2]=d|3;f[i+4>>2]=t|1;f[i+t>>2]=t;if(m|0){e=f[3227]|0;k=m>>>3;h=12928+(k<<1<<2)|0;s=1<>2]|0}f[z>>2]=e;f[A+12>>2]=e;f[e+8>>2]=A;f[e+12>>2]=h}f[3224]=t;f[3227]=i}o=v+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){h=a+11|0;e=h&-8;s=f[3223]|0;if(s){k=0-e|0;n=h>>>8;if(n)if(e>>>0>16777215)C=31;else{h=(n+1048320|0)>>>16&8;l=n<>>16&4;j=l<>>16&2;D=14-(n|h|l)+(j<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[13192+(C<<2)>>2]|0;a:do if(!D){E=k;F=0;G=0;H=57}else{l=k;j=0;h=e<<((C|0)==31?0:25-(C>>>1)|0);n=D;I=0;while(1){J=(f[n+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=n;M=n;H=61;break a}else{N=J;O=n}else{N=l;O=I}J=f[n+20>>2]|0;n=f[n+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(n|0)?j:J;J=(n|0)==0;if(J){E=N;F=P;G=O;H=57;break}else{l=N;j=P;h=h<<((J^1)&1);I=O}}}while(0);if((H|0)==57){if((F|0)==0&(G|0)==0){D=2<>>12&16;d=D>>>k;D=d>>>5&8;i=d>>>D;d=i>>>2&4;g=i>>>d;i=g>>>1&2;m=g>>>i;g=m>>>1&1;Q=f[13192+((D|k|d|i|g)+(m>>>g)<<2)>>2]|0;R=0}else{Q=F;R=G}if(!Q){S=E;T=R}else{K=E;L=Q;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;i=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=i;T=g;break}else{K=i;M=g;H=61}}if((T|0)!=0?S>>>0<((f[3224]|0)-e|0)>>>0:0){g=T+e|0;if(T>>>0>=g>>>0){o=0;u=b;return o|0}i=f[T+24>>2]|0;m=f[T+12>>2]|0;do if((m|0)==(T|0)){d=T+20|0;k=f[d>>2]|0;if(!k){D=T+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=k;W=d}while(1){d=V+20|0;k=f[d>>2]|0;if(k|0){V=k;W=d;continue}d=V+16|0;k=f[d>>2]|0;if(!k)break;else{V=k;W=d}}f[W>>2]=0;U=V}else{d=f[T+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(i){m=f[T+28>>2]|0;d=13192+(m<<2)|0;if((T|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=s&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=s;break}}f[U+24>>2]=i;d=f[T+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[T+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=s}else X=s}else X=s;while(0);do if(S>>>0>=16){f[T+4>>2]=e|3;f[g+4>>2]=S|1;f[g+S>>2]=S;s=S>>>3;if(S>>>0<256){i=12928+(s<<1<<2)|0;d=f[3222]|0;m=1<>2]|0}f[Y>>2]=g;f[Z+12>>2]=g;f[g+8>>2]=Z;f[g+12>>2]=i;break}i=S>>>8;if(i)if(S>>>0>16777215)_=31;else{m=(i+1048320|0)>>>16&8;d=i<>>16&4;s=d<>>16&2;k=14-(i|m|d)+(s<>>15)|0;_=S>>>(k+7|0)&1|k<<1}else _=0;k=13192+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[3223]=X|d;f[k>>2]=g;f[g+24>>2]=k;f[g+12>>2]=g;f[g+8>>2]=g;break}d=S<<((_|0)==31?0:25-(_>>>1)|0);s=f[k>>2]|0;while(1){if((f[s+4>>2]&-8|0)==(S|0)){H=97;break}$=s+16+(d>>>31<<2)|0;k=f[$>>2]|0;if(!k){H=96;break}else{d=d<<1;s=k}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=s;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=s+8|0;k=f[d>>2]|0;f[k+12>>2]=g;f[d>>2]=g;f[g+8>>2]=k;f[g+12>>2]=s;f[g+24>>2]=0;break}}else{k=S+e|0;f[T+4>>2]=k|3;d=T+k+4|0;f[d>>2]=f[d>>2]|1}while(0);o=T+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);T=f[3224]|0;if(T>>>0>=B>>>0){S=T-B|0;$=f[3227]|0;if(S>>>0>15){_=$+B|0;f[3227]=_;f[3224]=S;f[_+4>>2]=S|1;f[_+S>>2]=S;f[$+4>>2]=B|3}else{f[3224]=0;f[3227]=0;f[$+4>>2]=T|3;S=$+T+4|0;f[S>>2]=f[S>>2]|1}o=$+8|0;u=b;return o|0}$=f[3225]|0;if($>>>0>B>>>0){S=$-B|0;f[3225]=S;T=f[3228]|0;_=T+B|0;f[3228]=_;f[_+4>>2]=S|1;f[T+4>>2]=B|3;o=T+8|0;u=b;return o|0}if(!(f[3340]|0)){f[3342]=4096;f[3341]=4096;f[3343]=-1;f[3344]=-1;f[3345]=0;f[3333]=0;T=c&-16^1431655768;f[c>>2]=T;f[3340]=T;aa=4096}else aa=f[3342]|0;T=B+48|0;c=B+47|0;S=aa+c|0;_=0-aa|0;aa=S&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[3332]|0;if(X|0?(Z=f[3330]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[3333]&4)){X=f[3228]|0;c:do if(X){Y=13336;while(1){Z=f[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=f[Y+8>>2]|0;if(!Z){H=118;break c}else Y=Z}s=S-$&_;if(s>>>0<2147483647){Z=Qh(s|0)|0;if((Z|0)==((f[Y>>2]|0)+(f[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=s;else{da=Z;ea=s;H=135;break b}else{fa=Z;ga=s;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Qh(0)|0;if((X|0)!=(-1|0)?(e=X,s=f[3341]|0,Z=s+-1|0,U=((Z&e|0)==0?0:(Z+e&0-s)-e|0)+aa|0,e=f[3330]|0,s=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Z=f[3332]|0;if(Z|0?s>>>0<=e>>>0|s>>>0>Z>>>0:0){ca=0;break}Z=Qh(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;H=135;break b}else{fa=Z;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;H=135;break b}Z=f[3342]|0;X=c-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;H=135;break b}if((Qh(X|0)|0)==(-1|0)){Qh(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;H=135;break b}}while(0);f[3333]=f[3333]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Qh(aa|0)|0,aa=Qh(0)|0,ga=aa-ca|0,fa=ga>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;H=135}if((H|0)==135){ha=(f[3330]|0)+ea|0;f[3330]=ha;if(ha>>>0>(f[3331]|0)>>>0)f[3331]=ha;ha=f[3228]|0;do if(ha){ga=13336;while(1){ia=f[ga>>2]|0;ja=ga+4|0;ka=f[ja>>2]|0;if((da|0)==(ia+ka|0)){H=145;break}fa=f[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((H|0)==145?(f[ga+12>>2]&8|0)==0:0)?ha>>>0>>0&ha>>>0>=ia>>>0:0){f[ja>>2]=ka+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(f[3225]|0)+(ea-ca)|0;f[3228]=fa;f[3225]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[3229]=f[3344];break}if(da>>>0<(f[3226]|0)>>>0)f[3226]=da;aa=da+ea|0;fa=13336;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ca=f[fa+8>>2]|0;if(!ca)break;else fa=ca}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=da;ga=fa+4|0;f[ga>>2]=(f[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;c=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+B|0;T=c-ca-B|0;f[ca+4>>2]=B|3;do if((c|0)!=(ha|0)){if((c|0)==(f[3227]|0)){ba=(f[3224]|0)+T|0;f[3224]=ba;f[3227]=ga;f[ga+4>>2]=ba|1;f[ga+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){S=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(S|0)){f[3222]=f[3222]&~(1<<$);break}else{f[S+12>>2]=X;f[X+8>>2]=S;break}}else{S=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Z=U+4|0;s=f[Z>>2]|0;if(!s){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=s;na=Z}while(1){Z=ma+20|0;s=f[Z>>2]|0;if(s|0){ma=s;na=Z;continue}Z=ma+16|0;s=f[Z>>2]|0;if(!s)break;else{ma=s;na=Z}}f[na>>2]=0;la=ma}else{Z=f[c+8>>2]|0;f[Z+12>>2]=X;f[X+8>>2]=Z;la=X}while(0);if(!S)break;X=f[c+28>>2]|0;Z=13192+(X<<2)|0;do if((c|0)!=(f[Z>>2]|0)){f[S+16+(((f[S+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Z>>2]=la;if(la|0)break;f[3223]=f[3223]&~(1<>2]=S;X=c+16|0;Z=f[X>>2]|0;if(Z|0){f[la+16>>2]=Z;f[Z+24>>2]=la}Z=f[X+4>>2]|0;if(!Z)break;f[la+20>>2]=Z;f[Z+24>>2]=la}while(0);oa=c+_|0;pa=_+T|0}else{oa=c;pa=T}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ga+4>>2]=pa|1;f[ga+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=12928+($<<1<<2)|0;Y=f[3222]|0;Z=1<<$;if(!(Y&Z)){f[3222]=Y|Z;qa=ba+8|0;ra=ba}else{Z=ba+8|0;qa=Z;ra=f[Z>>2]|0}f[qa>>2]=ga;f[ra+12>>2]=ga;f[ga+8>>2]=ra;f[ga+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Z=(ba+1048320|0)>>>16&8;Y=ba<>>16&4;X=Y<<$;Y=(X+245760|0)>>>16&2;s=14-($|Z|Y)+(X<>>15)|0;sa=pa>>>(s+7|0)&1|s<<1}while(0);ba=13192+(sa<<2)|0;f[ga+28>>2]=sa;_=ga+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[3223]|0;s=1<>2]=ga;f[ga+24>>2]=ba;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}s=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(s>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{s=s<<1;_=ba}}if((H|0)==193){f[ta>>2]=ga;f[ga+24>>2]=_;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}else if((H|0)==194){s=_+8|0;ba=f[s>>2]|0;f[ba+12>>2]=ga;f[s>>2]=ga;f[ga+8>>2]=ba;f[ga+12>>2]=_;f[ga+24>>2]=0;break}}else{ba=(f[3225]|0)+T|0;f[3225]=ba;f[3228]=ga;f[ga+4>>2]=ba|1}while(0);o=ca+8|0;u=b;return o|0}ga=13336;while(1){T=f[ga>>2]|0;if(T>>>0<=ha>>>0?(ua=T+(f[ga+4>>2]|0)|0,ua>>>0>ha>>>0):0)break;ga=f[ga+8>>2]|0}ga=ua+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0>>0?ha:T;T=ga+8|0;c=da+8|0;aa=(c&7|0)==0?0:0-c&7;c=da+aa|0;fa=ea+-40-aa|0;f[3228]=c;f[3225]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[3229]=f[3344];fa=ga+4|0;f[fa>>2]=27;f[T>>2]=f[3334];f[T+4>>2]=f[3335];f[T+8>>2]=f[3336];f[T+12>>2]=f[3337];f[3334]=da;f[3335]=ea;f[3337]=0;f[3336]=T;T=ga+24|0;do{c=T;T=T+4|0;f[T>>2]=7}while((c+8|0)>>>0>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;f[fa>>2]=f[fa>>2]&-2;f[ha+4>>2]=T|1;f[ga>>2]=T;c=T>>>3;if(T>>>0<256){aa=12928+(c<<1<<2)|0;ba=f[3222]|0;s=1<>2]|0}f[va>>2]=ha;f[wa+12>>2]=ha;f[ha+8>>2]=wa;f[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)xa=31;else{s=(aa+1048320|0)>>>16&8;ba=aa<>>16&4;c=ba<>>16&2;Y=14-(aa|s|ba)+(c<>>15)|0;xa=T>>>(Y+7|0)&1|Y<<1}else xa=0;Y=13192+(xa<<2)|0;f[ha+28>>2]=xa;f[ha+20>>2]=0;f[ca>>2]=0;ba=f[3223]|0;c=1<>2]=ha;f[ha+24>>2]=Y;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}c=T<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Y>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(T|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Y=f[ya>>2]|0;if(!Y){H=215;break}else{c=c<<1;ba=Y}}if((H|0)==215){f[ya>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==216){c=ba+8|0;T=f[c>>2]|0;f[T+12>>2]=ha;f[c>>2]=ha;f[ha+8>>2]=T;f[ha+12>>2]=ba;f[ha+24>>2]=0;break}}}else{T=f[3226]|0;if((T|0)==0|da>>>0>>0)f[3226]=da;f[3334]=da;f[3335]=ea;f[3337]=0;f[3231]=f[3340];f[3230]=-1;T=0;do{c=12928+(T<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;T=T+1|0}while((T|0)!=32);T=da+8|0;ba=(T&7|0)==0?0:0-T&7;T=da+ba|0;c=ea+-40-ba|0;f[3228]=T;f[3225]=c;f[T+4>>2]=c|1;f[T+c+4>>2]=40;f[3229]=f[3344]}while(0);ea=f[3225]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[3225]=da;ea=f[3228]|0;ha=ea+B|0;f[3228]=ha;f[ha+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=Um()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Xa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;h=d+16|0;i=d+4|0;j=d+36|0;k=d;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+216>>2]|0)==(f[a+220>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+232|0;s=a+404|0;t=a+400|0;v=a+8|0;w=g+8|0;x=a+36|0;y=a+40|0;z=c+-1|0;A=a+428|0;B=a+416|0;C=h+4|0;D=a+388|0;E=i+8|0;F=0;while(1){G=F+1|0;H=f[s>>2]|0;b:do if((H|0)==-1){f[t>>2]=7;I=93}else{J=(f[A>>2]|0)+(H<<2)|0;K=f[J>>2]|0;L=K+-1|0;f[J>>2]=L;if((K|0)<1){M=-1;I=175;break a}K=f[(f[(f[B>>2]|0)+((f[s>>2]|0)*12|0)>>2]|0)+(L<<2)>>2]|0;L=f[2504+(K<<2)>>2]|0;f[t>>2]=L;if(!K){J=f[l>>2]|0;if((f[g>>2]|0)==(J|0)){M=-1;I=175;break a}N=J+-4|0;O=f[N>>2]|0;P=f[v>>2]|0;Q=(O|0)==-1;R=O+1|0;if(!Q?(S=((R>>>0)%3|0|0)==0?O+-2|0:R,(S|0)!=-1):0)T=f[(f[P>>2]|0)+(S<<2)>>2]|0;else T=-1;S=f[P+24>>2]|0;R=f[S+(T<<2)>>2]|0;U=R+1|0;if((R|0)==-1)V=-1;else V=((U>>>0)%3|0|0)==0?R+-2|0:U;U=F*3|0;R=U+1|0;W=f[P+12>>2]|0;f[W+(O<<2)>>2]=R;f[W+(R<<2)>>2]=O;X=U+2|0;f[W+(V<<2)>>2]=X;f[W+(X<<2)>>2]=V;W=f[P>>2]|0;f[W+(U<<2)>>2]=T;P=V+1|0;if((V|0)!=-1?(Y=((P>>>0)%3|0|0)==0?V+-2|0:P,(Y|0)!=-1):0)Z=f[W+(Y<<2)>>2]|0;else Z=-1;f[W+(R<<2)>>2]=Z;if(!Q?(Q=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(Q|0)!=-1):0){O=f[W+(Q<<2)>>2]|0;f[W+(X<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=X}else f[W+(X<<2)>>2]=-1;X=(f[p>>2]|0)+(T>>>5<<2)|0;f[X>>2]=f[X>>2]&~(1<<(T&31));f[N>>2]=U;f[j>>2]=f[J+-4>>2];f[e>>2]=f[j>>2];lc(r,e);break}J=(K|0)==3;switch(L|0){case 7:{I=93;break b;break}case 3:case 5:{L=f[l>>2]|0;if((f[g>>2]|0)==(L|0)){M=-1;I=175;break a}K=f[L+-4>>2]|0;L=F*3|0;U=J?L:L+2|0;N=(J&1)+L|0;X=(J?2:1)+L|0;J=f[v>>2]|0;W=f[J+12>>2]|0;f[W+(X<<2)>>2]=K;f[W+(K<<2)>>2]=X;W=J+24|0;O=J+28|0;S=f[O>>2]|0;if((S|0)==(f[J+32>>2]|0)){yf(W,2336);_=f[O>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[O>>2]=J;_=J}J=_-(f[W>>2]|0)>>2;W=J+-1|0;O=f[v>>2]|0;S=f[O+24>>2]|0;Q=S;if(((f[O+28>>2]|0)-S>>2|0)>(q|0)){M=-1;I=175;break a}S=f[O>>2]|0;f[S+(X<<2)>>2]=W;if(J|0)f[Q+(W<<2)>>2]=X;if((K|0)!=-1){X=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((X|0)!=-1){W=f[S+(X<<2)>>2]|0;f[S+(U<<2)>>2]=W;if((W|0)!=-1)f[Q+(W<<2)>>2]=U}else f[S+(U<<2)>>2]=-1;W=K+1|0;Q=((W>>>0)%3|0|0)==0?K+-2|0:W;if((Q|0)==-1)aa=-1;else aa=f[S+(Q<<2)>>2]|0}else{f[S+(U<<2)>>2]=-1;aa=-1}f[S+(N<<2)>>2]=aa;N=f[l>>2]|0;f[N+-4>>2]=L;ba=N;I=113;break b;break}case 1:break;default:{M=-1;I=175;break a}}N=f[g>>2]|0;L=f[l>>2]|0;if((N|0)==(L|0)){M=-1;I=175;break a}S=L+-4|0;U=f[S>>2]|0;f[l>>2]=S;Q=f[C>>2]|0;c:do if(Q){W=Q+-1|0;K=(W&Q|0)==0;if(!K)if(F>>>0>>0)ca=F;else ca=(F>>>0)%(Q>>>0)|0;else ca=W&F;X=f[(f[h>>2]|0)+(ca<<2)>>2]|0;if((X|0)!=0?(J=f[X>>2]|0,(J|0)!=0):0){d:do if(K){X=J;while(1){O=f[X+4>>2]|0;R=(O|0)==(F|0);if(!(R|(O&W|0)==(ca|0))){da=N;ea=S;break c}if(R?(f[X+8>>2]|0)==(F|0):0){fa=X;break d}X=f[X>>2]|0;if(!X){da=N;ea=S;break c}}}else{X=J;while(1){R=f[X+4>>2]|0;if((R|0)==(F|0)){if((f[X+8>>2]|0)==(F|0)){fa=X;break d}}else{if(R>>>0>>0)ga=R;else ga=(R>>>0)%(Q>>>0)|0;if((ga|0)!=(ca|0)){da=N;ea=S;break c}}X=f[X>>2]|0;if(!X){da=N;ea=S;break c}}}while(0);J=fa+12|0;if((S|0)==(f[w>>2]|0)){yf(g,J);da=f[g>>2]|0;ea=f[l>>2]|0;break}else{f[S>>2]=f[J>>2];f[l>>2]=L;da=N;ea=L;break}}else{da=N;ea=S}}else{da=N;ea=S}while(0);if((da|0)==(ea|0)){M=-1;I=175;break a}S=f[ea+-4>>2]|0;N=(S|0)==-1;if(!N?(f[(f[(f[v>>2]|0)+12>>2]|0)+(S<<2)>>2]|0)!=-1:0){M=-1;I=175;break a}L=(U|0)==-1;Q=f[v>>2]|0;J=f[Q+12>>2]|0;if(!L?(f[J+(U<<2)>>2]|0)!=-1:0){M=-1;I=175;break a}W=F*3|0;K=W+2|0;f[J+(S<<2)>>2]=K;f[J+(K<<2)>>2]=S;X=W+1|0;f[J+(U<<2)>>2]=X;f[J+(X<<2)>>2]=U;if(!N){N=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((N|0)==-1)ha=-1;else ha=f[(f[Q>>2]|0)+(N<<2)>>2]|0;N=f[Q>>2]|0;f[N+(W<<2)>>2]=ha;R=S+1|0;O=((R>>>0)%3|0|0)==0?S+-2|0:R;if((O|0)==-1){ia=N;ja=Q;ka=-1;la=ha}else{ia=N;ja=Q;ka=f[N+(O<<2)>>2]|0;la=ha}}else{O=f[Q>>2]|0;f[O+(W<<2)>>2]=-1;ia=O;ja=Q;ka=-1;la=-1}f[ia+(X<<2)>>2]=ka;if(!L){L=(((U>>>0)%3|0|0)==0?2:-1)+U|0;if((L|0)!=-1){X=f[ia+(L<<2)>>2]|0;f[ia+(K<<2)>>2]=X;if((X|0)!=-1)f[(f[Q+24>>2]|0)+(X<<2)>>2]=K}else f[ia+(K<<2)>>2]=-1;X=U+1|0;L=((X>>>0)%3|0|0)==0?U+-2|0:X;if((L|0)==-1){ma=-1;na=-1}else{ma=L;na=f[ia+(L<<2)>>2]|0}}else{f[ia+(K<<2)>>2]=-1;ma=-1;na=-1}f[e>>2]=na;K=f[D>>2]|0;L=K+(la<<2)|0;f[L>>2]=(f[L>>2]|0)+(f[K+(na<<2)>>2]|0);K=f[Q+24>>2]|0;if((la|0)!=-1)f[K+(la<<2)>>2]=f[K+(f[e>>2]<<2)>>2];e:do if((ma|0)!=-1){Q=f[ja>>2]|0;L=ma;do{f[Q+(L<<2)>>2]=la;X=L+1|0;O=((X>>>0)%3|0|0)==0?L+-2|0:X;if((O|0)==-1)break e;X=f[J+(O<<2)>>2]|0;O=X+1|0;if((X|0)==-1)break e;L=((O>>>0)%3|0|0)==0?X+-2|0:O}while((L|0)!=-1)}while(0);f[K+(f[e>>2]<<2)>>2]=-1;do if(o){J=f[m>>2]|0;if((J|0)==(f[E>>2]|0)){yf(i,e);oa=f[l>>2]|0;break}else{f[J>>2]=f[e>>2];f[m>>2]=J+4;oa=ea;break}}else oa=ea;while(0);f[oa+-4>>2]=W;f[j>>2]=f[oa+-4>>2];f[e>>2]=f[j>>2];lc(r,e)}while(0);if((I|0)==93){I=0;f[e>>2]=F*3;H=f[v>>2]|0;K=H+24|0;J=H+28|0;U=f[J>>2]|0;if((U|0)==(f[H+32>>2]|0)){yf(K,2336);pa=f[J>>2]|0}else{f[U>>2]=-1;H=U+4|0;f[J>>2]=H;pa=H}H=pa-(f[K>>2]|0)>>2;K=H+-1|0;J=f[v>>2]|0;U=f[e>>2]|0;L=f[J>>2]|0;f[L+(U<<2)>>2]=K;Q=J+24|0;O=J+28|0;X=f[O>>2]|0;if((X|0)==(f[J+32>>2]|0)){yf(Q,2336);qa=f[O>>2]|0;ra=f[J>>2]|0}else{f[X>>2]=-1;J=X+4|0;f[O>>2]=J;qa=J;ra=L}f[ra+(U+1<<2)>>2]=(qa-(f[Q>>2]|0)>>2)+-1;Q=f[v>>2]|0;U=(f[e>>2]|0)+2|0;L=Q+24|0;J=Q+28|0;O=f[J>>2]|0;if((O|0)==(f[Q+32>>2]|0)){yf(L,2336);sa=f[J>>2]|0}else{f[O>>2]=-1;X=O+4|0;f[J>>2]=X;sa=X}f[(f[Q>>2]|0)+(U<<2)>>2]=(sa-(f[L>>2]|0)>>2)+-1;L=f[v>>2]|0;U=f[L+24>>2]|0;Q=U;if(((f[L+28>>2]|0)-U>>2|0)>(q|0))break;U=f[e>>2]|0;if(H){f[Q+(K<<2)>>2]=U;if((H|0)!=-1){f[Q+(H<<2)>>2]=(f[e>>2]|0)+1;K=H+1|0;if((K|0)!=-1){ta=K;I=107}}else{ta=0;I=107}}else{f[Q+(H<<2)>>2]=U+1;ta=1;I=107}if((I|0)==107){I=0;f[Q+(ta<<2)>>2]=(f[e>>2]|0)+2}Q=f[l>>2]|0;if((Q|0)==(f[w>>2]|0)){yf(g,e);ua=f[l>>2]|0}else{f[Q>>2]=f[e>>2];U=Q+4|0;f[l>>2]=U;ua=U}ba=ua;I=113}f:do if((I|0)==113?(I=0,f[j>>2]=f[ba+-4>>2],f[e>>2]=f[j>>2],lc(r,e),U=c-F+-1|0,Q=f[y>>2]|0,(Q|0)!=(f[x>>2]|0)):0){H=Q;do{Q=H;K=f[Q+-8>>2]|0;if(K>>>0>U>>>0){M=-1;I=175;break a}if((K|0)!=(U|0))break f;K=b[Q+-4>>0]|0;L=f[Q+-12>>2]|0;f[y>>2]=Q+-12;if((L|0)<0){M=-1;I=175;break a}Q=f[(f[l>>2]|0)+-4>>2]|0;X=(Q|0)==-1;do if(!(K&1))if(!X)if(!((Q>>>0)%3|0)){va=Q+2|0;break}else{va=Q+-1|0;break}else va=-1;else{J=Q+1|0;if(X)va=-1;else va=((J>>>0)%3|0|0)==0?Q+-2|0:J}while(0);f[e>>2]=z-L;Q=nc(h,e)|0;f[Q>>2]=va;H=f[y>>2]|0}while((H|0)!=(f[x>>2]|0))}while(0);if((G|0)<(c|0))F=G;else{wa=v;xa=G;I=126;break a}}M=-1;I=175}else{wa=a+8|0;xa=0;I=126}while(0);g:do if((I|0)==126){c=f[wa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){va=f[l>>2]|0;do if((va|0)!=(f[g>>2]|0)){j=a+312|0;ba=a+60|0;ua=a+64|0;ta=a+68|0;sa=a+76|0;qa=a+80|0;ra=a+72|0;pa=va;oa=xa;h:while(1){ea=pa;f[e>>2]=f[ea+-4>>2];f[l>>2]=ea+-4;do if(!(Xg(j)|0)){ea=f[ua>>2]|0;o=f[ta>>2]|0;if((ea|0)==(o<<5|0)){if((ea+1|0)<0){I=154;break h}la=o<<6;o=ea+32&-32;bf(ba,ea>>>0<1073741823?(la>>>0>>0?o:la):2147483647);ya=f[ua>>2]|0}else ya=ea;f[ua>>2]=ya+1;ea=(f[ba>>2]|0)+(ya>>>5<<2)|0;f[ea>>2]=f[ea>>2]&~(1<<(ya&31));ea=f[sa>>2]|0;if((ea|0)==(f[qa>>2]|0)){yf(ra,e);za=oa;break}else{f[ea>>2]=f[e>>2];f[sa>>2]=ea+4;za=oa;break}}else{ea=f[wa>>2]|0;la=f[ea>>2]|0;o=la;if((oa|0)>=(((f[ea+4>>2]|0)-la>>2>>>0)/3|0|0)){I=160;break h}la=f[e>>2]|0;ma=la+1|0;if((la|0)!=-1?(ja=((ma>>>0)%3|0|0)==0?la+-2|0:ma,(ja|0)!=-1):0)Aa=f[o+(ja<<2)>>2]|0;else Aa=-1;ja=f[ea+24>>2]|0;ma=f[ja+(Aa<<2)>>2]|0;na=ma+1|0;if((ma|0)!=-1?(ia=((na>>>0)%3|0|0)==0?ma+-2|0:na,na=ia+1|0,(ia|0)!=-1):0){ma=((na>>>0)%3|0|0)==0?ia+-2|0:na;if((ma|0)==-1){Ba=ia;Ca=-1}else{Ba=ia;Ca=f[o+(ma<<2)>>2]|0}}else{Ba=-1;Ca=-1}ma=f[ja+(Ca<<2)>>2]|0;ja=ma+1|0;if((ma|0)!=-1?(ia=((ja>>>0)%3|0|0)==0?ma+-2|0:ja,ja=ia+1|0,(ia|0)!=-1):0){ma=((ja>>>0)%3|0|0)==0?ia+-2|0:ja;if((ma|0)==-1){Da=ia;Ea=-1}else{Da=ia;Ea=f[o+(ma<<2)>>2]|0}}else{Da=-1;Ea=-1}ma=oa*3|0;f[k>>2]=ma;ia=f[ea+12>>2]|0;f[ia+(ma<<2)>>2]=la;f[ia+(la<<2)>>2]=ma;ma=(f[k>>2]|0)+1|0;f[ia+(ma<<2)>>2]=Ba;f[ia+(Ba<<2)>>2]=ma;ma=(f[k>>2]|0)+2|0;f[ia+(ma<<2)>>2]=Da;f[ia+(Da<<2)>>2]=ma;ma=f[k>>2]|0;ia=o+(ma<<2)|0;f[ia>>2]=Ca;f[o+(ma+1<<2)>>2]=Ea;f[o+(ma+2<<2)>>2]=Aa;if((ma|0)==-1)Fa=-1;else Fa=f[ia>>2]|0;ia=f[p>>2]|0;ma=ia+(Fa>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Fa&31));ma=(f[k>>2]|0)+1|0;if((ma|0)==-1)Ga=-1;else Ga=f[o+(ma<<2)>>2]|0;ma=ia+(Ga>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Ga&31));ma=(f[k>>2]|0)+2|0;if((ma|0)==-1)Ha=-1;else Ha=f[o+(ma<<2)>>2]|0;ma=ia+(Ha>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Ha&31));ma=oa+1|0;ia=f[ua>>2]|0;o=f[ta>>2]|0;if((ia|0)==(o<<5|0)){if((ia+1|0)<0){I=144;break h}la=o<<6;o=ia+32&-32;bf(ba,ia>>>0<1073741823?(la>>>0>>0?o:la):2147483647);Ia=f[ua>>2]|0}else Ia=ia;f[ua>>2]=Ia+1;ia=(f[ba>>2]|0)+(Ia>>>5<<2)|0;f[ia>>2]=f[ia>>2]|1<<(Ia&31);ia=f[sa>>2]|0;if((ia|0)==(f[qa>>2]|0))yf(ra,k);else{f[ia>>2]=f[k>>2];f[sa>>2]=ia+4}za=ma}while(0);pa=f[l>>2]|0;if((pa|0)==(f[g>>2]|0)){I=161;break}else oa=za}if((I|0)==144)ym(ba);else if((I|0)==154)ym(ba);else if((I|0)==160){M=-1;I=175;break g}else if((I|0)==161){Ja=f[wa>>2]|0;Ka=za;break}}else{Ja=c;Ka=xa}while(0);if((Ka|0)==(((f[Ja+4>>2]|0)-(f[Ja>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ja+28>>2]|0)-(f[Ja+24>>2]|0)>>2;va=f[i>>2]|0;oa=f[m>>2]|0;if((va|0)==(oa|0)){La=va;Ma=c}else{pa=e+4|0;sa=e+8|0;ra=e+12|0;qa=Ja;ua=va;va=c;while(1){c=f[ua>>2]|0;ta=va+-1|0;j=f[qa+24>>2]|0;if((f[j+(ta<<2)>>2]|0)==-1){G=va;while(1){ma=G+-1|0;ia=G+-2|0;if((f[j+(ia<<2)>>2]|0)==-1)G=ma;else{Na=ma;Oa=ia;break}}}else{Na=va;Oa=ta}if(Oa>>>0>>0){Pa=qa;Qa=Na}else{f[e>>2]=qa;G=f[j+(Oa<<2)>>2]|0;f[pa>>2]=G;f[sa>>2]=G;b[ra>>0]=1;if((G|0)==-1)Ra=qa;else{ba=qa;ia=G;while(1){f[(f[ba>>2]|0)+(ia<<2)>>2]=c;Ee(e);ia=f[sa>>2]|0;G=f[wa>>2]|0;if((ia|0)==-1){Ra=G;break}else ba=G}}ba=f[Ra+24>>2]|0;if((c|0)==-1)Sa=ba+(Oa<<2)|0;else{ia=ba+(Oa<<2)|0;f[ba+(c<<2)>>2]=f[ia>>2];Sa=ia}f[Sa>>2]=-1;ia=f[p>>2]|0;ba=ia+(Oa>>>5<<2)|0;j=1<<(Oa&31);ta=ia+(c>>>5<<2)|0;ia=1<<(c&31);G=f[ta>>2]|0;f[ta>>2]=f[ba>>2]&j|0?G|ia:G&~ia;f[ba>>2]=f[ba>>2]&~j;Pa=Ra;Qa=Na+-1|0}ua=ua+4|0;if((ua|0)==(oa|0)){M=Qa;I=175;break}else{qa=Pa;va=Qa}}}}else{M=-1;I=175}}else{M=-1;I=175}}while(0);if((I|0)==175){La=f[i>>2]|0;Ma=M}if(La|0){M=f[m>>2]|0;if((M|0)!=(La|0))f[m>>2]=M+(~((M+-4-La|0)>>>2)<<2);fn(La)}La=f[h+8>>2]|0;if(La|0){M=La;do{La=M;M=f[M>>2]|0;fn(La)}while((M|0)!=0)}M=f[h>>2]|0;f[h>>2]=0;if(M|0)fn(M);M=f[g>>2]|0;if(!M){u=d;return Ma|0}g=f[l>>2]|0;if((g|0)!=(M|0))f[l>>2]=g+(~((g+-4-M|0)>>>2)<<2);fn(M);u=d;return Ma|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;j=d+8|0;k=d;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+216>>2]|0)==(f[a+220>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+308|0;s=g+4|0;t=a+8|0;v=i+8|0;w=e+8|0;x=a+304|0;y=a+296|0;z=a+300|0;A=a+36|0;B=a+40|0;C=c+-1|0;D=0;b:while(1){E=D+1|0;c:do if(!(b[r>>0]|0))F=43;else{G=f[x>>2]|0;H=f[y>>2]|0;I=f[z>>2]|0;J=H+(G>>>3)|0;if(J>>>0>>0?(K=h[J>>0]|0,J=G+1|0,f[x>>2]=J,K&1<<(G&7)|0):0){K=H+(J>>>3)|0;if(K>>>0>>0){L=(h[K>>0]|0)>>>(J&7)&1;K=G+2|0;f[x>>2]=K;M=K;N=L}else{M=J;N=0}J=H+(M>>>3)|0;if(J>>>0>>0){I=(h[J>>0]|0)>>>(M&7);f[x>>2]=M+1;O=I<<1&2}else O=0;I=(O|N)<<1|1;J=(I|0)==5;switch(I&7){case 1:{F=43;break c;break}case 3:case 5:{I=f[l>>2]|0;if((f[e>>2]|0)==(I|0)){P=-1;F=179;break a}H=f[I+-4>>2]|0;I=D*3|0;L=J?I:I+2|0;K=(J&1)+I|0;G=(J?2:1)+I|0;J=f[t>>2]|0;Q=f[J+12>>2]|0;f[Q+(G<<2)>>2]=H;f[Q+(H<<2)>>2]=G;Q=J+24|0;R=J+28|0;S=f[R>>2]|0;if((S|0)==(f[J+32>>2]|0)){yf(Q,2336);T=f[R>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[R>>2]=J;T=J}J=T-(f[Q>>2]|0)>>2;Q=J+-1|0;R=f[t>>2]|0;S=f[R+24>>2]|0;U=S;if(((f[R+28>>2]|0)-S>>2|0)>(q|0)){P=-1;F=179;break a}S=f[R>>2]|0;f[S+(G<<2)>>2]=Q;if(J|0)f[U+(Q<<2)>>2]=G;if((H|0)!=-1){G=(((H>>>0)%3|0|0)==0?2:-1)+H|0;if((G|0)!=-1){Q=f[S+(G<<2)>>2]|0;f[S+(L<<2)>>2]=Q;if((Q|0)!=-1)f[U+(Q<<2)>>2]=L}else f[S+(L<<2)>>2]=-1;Q=H+1|0;U=((Q>>>0)%3|0|0)==0?H+-2|0:Q;if((U|0)==-1)V=-1;else V=f[S+(U<<2)>>2]|0}else{f[S+(L<<2)>>2]=-1;V=-1}f[S+(K<<2)>>2]=V;f[(f[l>>2]|0)+-4>>2]=I;break}case 7:{f[j>>2]=D*3;I=f[t>>2]|0;K=I+24|0;S=I+28|0;L=f[S>>2]|0;if((L|0)==(f[I+32>>2]|0)){yf(K,2336);W=f[S>>2]|0}else{f[L>>2]=-1;I=L+4|0;f[S>>2]=I;W=I}I=W-(f[K>>2]|0)>>2;K=I+-1|0;S=f[t>>2]|0;L=f[j>>2]|0;U=f[S>>2]|0;f[U+(L<<2)>>2]=K;Q=S+24|0;H=S+28|0;G=f[H>>2]|0;if((G|0)==(f[S+32>>2]|0)){yf(Q,2336);X=f[H>>2]|0;Y=f[S>>2]|0}else{f[G>>2]=-1;S=G+4|0;f[H>>2]=S;X=S;Y=U}f[Y+(L+1<<2)>>2]=(X-(f[Q>>2]|0)>>2)+-1;Q=f[t>>2]|0;L=(f[j>>2]|0)+2|0;U=Q+24|0;S=Q+28|0;H=f[S>>2]|0;if((H|0)==(f[Q+32>>2]|0)){yf(U,2336);Z=f[S>>2]|0}else{f[H>>2]=-1;G=H+4|0;f[S>>2]=G;Z=G}f[(f[Q>>2]|0)+(L<<2)>>2]=(Z-(f[U>>2]|0)>>2)+-1;U=f[t>>2]|0;L=f[U+24>>2]|0;Q=L;if(((f[U+28>>2]|0)-L>>2|0)>(q|0)){F=114;break b}L=f[j>>2]|0;if(I){f[Q+(K<<2)>>2]=L;if((I|0)!=-1){f[Q+(I<<2)>>2]=(f[j>>2]|0)+1;K=I+1|0;if((K|0)!=-1){_=K;F=109}}else{_=0;F=109}}else{f[Q+(I<<2)>>2]=L+1;_=1;F=109}if((F|0)==109){F=0;f[Q+(_<<2)>>2]=(f[j>>2]|0)+2}Q=f[l>>2]|0;if((Q|0)==(f[w>>2]|0))yf(e,j);else{f[Q>>2]=f[j>>2];f[l>>2]=Q+4}break}default:{F=178;break b}}Q=c-D+-1|0;L=f[B>>2]|0;if((L|0)==(f[A>>2]|0))break;else aa=L;while(1){L=aa;I=f[L+-8>>2]|0;if(I>>>0>Q>>>0){P=-1;F=179;break a}if((I|0)!=(Q|0))break c;I=b[L+-4>>0]|0;K=f[L+-12>>2]|0;f[B>>2]=L+-12;if((K|0)<0){P=-1;F=179;break a}L=f[(f[l>>2]|0)+-4>>2]|0;U=(L|0)==-1;do if(!(I&1))if(!U)if(!((L>>>0)%3|0)){ba=L+2|0;break}else{ba=L+-1|0;break}else ba=-1;else{G=L+1|0;if(U)ba=-1;else ba=((G>>>0)%3|0|0)==0?L+-2|0:G}while(0);f[j>>2]=C-K;L=nc(g,j)|0;f[L>>2]=ba;aa=f[B>>2]|0;if((aa|0)==(f[A>>2]|0))break c}}Q=f[l>>2]|0;if((f[e>>2]|0)==(Q|0)){P=-1;F=179;break a}L=Q+-4|0;Q=f[L>>2]|0;U=f[t>>2]|0;I=(Q|0)==-1;G=Q+1|0;if(!I?(S=((G>>>0)%3|0|0)==0?Q+-2|0:G,(S|0)!=-1):0)ca=f[(f[U>>2]|0)+(S<<2)>>2]|0;else ca=-1;S=f[U+24>>2]|0;G=f[S+(ca<<2)>>2]|0;H=G+1|0;if((G|0)==-1)da=-1;else da=((H>>>0)%3|0|0)==0?G+-2|0:H;H=D*3|0;G=H+1|0;J=f[U+12>>2]|0;f[J+(Q<<2)>>2]=G;f[J+(G<<2)>>2]=Q;R=H+2|0;f[J+(da<<2)>>2]=R;f[J+(R<<2)>>2]=da;J=f[U>>2]|0;f[J+(H<<2)>>2]=ca;U=da+1|0;if((da|0)!=-1?(ea=((U>>>0)%3|0|0)==0?da+-2|0:U,(ea|0)!=-1):0)fa=f[J+(ea<<2)>>2]|0;else fa=-1;f[J+(G<<2)>>2]=fa;if(!I?(I=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(I|0)!=-1):0){Q=f[J+(I<<2)>>2]|0;f[J+(R<<2)>>2]=Q;if((Q|0)!=-1)f[S+(Q<<2)>>2]=R}else f[J+(R<<2)>>2]=-1;R=(f[p>>2]|0)+(ca>>>5<<2)|0;f[R>>2]=f[R>>2]&~(1<<(ca&31));f[L>>2]=H}while(0);if((F|0)==43){F=0;H=f[e>>2]|0;L=f[l>>2]|0;if((H|0)==(L|0)){P=-1;F=179;break a}R=L+-4|0;J=f[R>>2]|0;f[l>>2]=R;Q=f[s>>2]|0;d:do if(Q){S=Q+-1|0;I=(S&Q|0)==0;if(!I)if(D>>>0>>0)ga=D;else ga=(D>>>0)%(Q>>>0)|0;else ga=S&D;G=f[(f[g>>2]|0)+(ga<<2)>>2]|0;if((G|0)!=0?(ea=f[G>>2]|0,(ea|0)!=0):0){e:do if(I){G=ea;while(1){U=f[G+4>>2]|0;ha=(U|0)==(D|0);if(!(ha|(U&S|0)==(ga|0))){ia=H;ja=R;break d}if(ha?(f[G+8>>2]|0)==(D|0):0){ka=G;break e}G=f[G>>2]|0;if(!G){ia=H;ja=R;break d}}}else{G=ea;while(1){K=f[G+4>>2]|0;if((K|0)==(D|0)){if((f[G+8>>2]|0)==(D|0)){ka=G;break e}}else{if(K>>>0>>0)la=K;else la=(K>>>0)%(Q>>>0)|0;if((la|0)!=(ga|0)){ia=H;ja=R;break d}}G=f[G>>2]|0;if(!G){ia=H;ja=R;break d}}}while(0);ea=ka+12|0;if((R|0)==(f[w>>2]|0)){yf(e,ea);ia=f[e>>2]|0;ja=f[l>>2]|0;break}else{f[R>>2]=f[ea>>2];f[l>>2]=L;ia=H;ja=L;break}}else{ia=H;ja=R}}else{ia=H;ja=R}while(0);if((ia|0)==(ja|0)){P=-1;F=179;break a}R=f[ja+-4>>2]|0;H=(R|0)==-1;if(!H?(f[(f[(f[t>>2]|0)+12>>2]|0)+(R<<2)>>2]|0)!=-1:0){P=-1;F=179;break a}L=(J|0)==-1;Q=f[t>>2]|0;ea=f[Q+12>>2]|0;if(!L?(f[ea+(J<<2)>>2]|0)!=-1:0){P=-1;F=179;break a}S=D*3|0;I=S+2|0;f[ea+(R<<2)>>2]=I;f[ea+(I<<2)>>2]=R;G=S+1|0;f[ea+(J<<2)>>2]=G;f[ea+(G<<2)>>2]=J;if(!H){H=(((R>>>0)%3|0|0)==0?2:-1)+R|0;if((H|0)==-1)ma=-1;else ma=f[(f[Q>>2]|0)+(H<<2)>>2]|0;H=f[Q>>2]|0;f[H+(S<<2)>>2]=ma;K=R+1|0;ha=((K>>>0)%3|0|0)==0?R+-2|0:K;if((ha|0)==-1){na=H;oa=Q;pa=-1;qa=ma}else{na=H;oa=Q;pa=f[H+(ha<<2)>>2]|0;qa=ma}}else{ha=f[Q>>2]|0;f[ha+(S<<2)>>2]=-1;na=ha;oa=Q;pa=-1;qa=-1}f[na+(G<<2)>>2]=pa;if(!L){L=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((L|0)!=-1){G=f[na+(L<<2)>>2]|0;f[na+(I<<2)>>2]=G;if((G|0)!=-1)f[(f[Q+24>>2]|0)+(G<<2)>>2]=I}else f[na+(I<<2)>>2]=-1;G=J+1|0;L=((G>>>0)%3|0|0)==0?J+-2|0:G;if((L|0)==-1){ra=-1;sa=-1}else{ra=L;sa=f[na+(L<<2)>>2]|0}}else{f[na+(I<<2)>>2]=-1;ra=-1;sa=-1}f[j>>2]=sa;I=f[Q+24>>2]|0;if((qa|0)!=-1)f[I+(qa<<2)>>2]=f[I+(sa<<2)>>2];f:do if((ra|0)!=-1){Q=f[oa>>2]|0;L=ra;do{f[Q+(L<<2)>>2]=qa;G=L+1|0;ha=((G>>>0)%3|0|0)==0?L+-2|0:G;if((ha|0)==-1)break f;G=f[ea+(ha<<2)>>2]|0;ha=G+1|0;if((G|0)==-1)break f;L=((ha>>>0)%3|0|0)==0?G+-2|0:ha}while((L|0)!=-1)}while(0);f[I+(f[j>>2]<<2)>>2]=-1;do if(o){ea=f[m>>2]|0;if((ea|0)==(f[v>>2]|0)){yf(i,j);ta=f[l>>2]|0;break}else{f[ea>>2]=f[j>>2];f[m>>2]=ea+4;ta=ja;break}}else ta=ja;while(0);f[ta+-4>>2]=S}if((E|0)<(c|0))D=E;else{ua=t;va=E;F=129;break a}}if((F|0)==114){P=-1;F=179;break}}else{ua=a+8|0;va=0;F=129}while(0);g:do if((F|0)==129){c=f[ua>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){ta=f[l>>2]|0;do if((ta|0)!=(f[e>>2]|0)){ja=a+312|0;o=a+60|0;qa=a+64|0;ra=a+68|0;oa=a+76|0;sa=a+80|0;na=a+72|0;pa=ta;ma=va;h:while(1){ia=pa;f[j>>2]=f[ia+-4>>2];f[l>>2]=ia+-4;do if(!(Xg(ja)|0)){ia=f[qa>>2]|0;ka=f[ra>>2]|0;if((ia|0)==(ka<<5|0)){if((ia+1|0)<0){F=157;break h}ga=ka<<6;ka=ia+32&-32;bf(o,ia>>>0<1073741823?(ga>>>0>>0?ka:ga):2147483647);wa=f[qa>>2]|0}else wa=ia;f[qa>>2]=wa+1;ia=(f[o>>2]|0)+(wa>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(wa&31));ia=f[oa>>2]|0;if((ia|0)==(f[sa>>2]|0)){yf(na,j);xa=ma;break}else{f[ia>>2]=f[j>>2];f[oa>>2]=ia+4;xa=ma;break}}else{ia=f[ua>>2]|0;ga=f[ia>>2]|0;ka=ga;if((ma|0)>=(((f[ia+4>>2]|0)-ga>>2>>>0)/3|0|0)){F=163;break h}ga=f[j>>2]|0;la=ga+1|0;if((ga|0)!=-1?(ca=((la>>>0)%3|0|0)==0?ga+-2|0:la,(ca|0)!=-1):0)ya=f[ka+(ca<<2)>>2]|0;else ya=-1;ca=f[ia+24>>2]|0;la=f[ca+(ya<<2)>>2]|0;fa=la+1|0;if((la|0)!=-1?(da=((fa>>>0)%3|0|0)==0?la+-2|0:fa,fa=da+1|0,(da|0)!=-1):0){la=((fa>>>0)%3|0|0)==0?da+-2|0:fa;if((la|0)==-1){za=da;Aa=-1}else{za=da;Aa=f[ka+(la<<2)>>2]|0}}else{za=-1;Aa=-1}la=f[ca+(Aa<<2)>>2]|0;ca=la+1|0;if((la|0)!=-1?(da=((ca>>>0)%3|0|0)==0?la+-2|0:ca,ca=da+1|0,(da|0)!=-1):0){la=((ca>>>0)%3|0|0)==0?da+-2|0:ca;if((la|0)==-1){Ba=da;Ca=-1}else{Ba=da;Ca=f[ka+(la<<2)>>2]|0}}else{Ba=-1;Ca=-1}la=ma*3|0;f[k>>2]=la;da=f[ia+12>>2]|0;f[da+(la<<2)>>2]=ga;f[da+(ga<<2)>>2]=la;la=(f[k>>2]|0)+1|0;f[da+(la<<2)>>2]=za;f[da+(za<<2)>>2]=la;la=(f[k>>2]|0)+2|0;f[da+(la<<2)>>2]=Ba;f[da+(Ba<<2)>>2]=la;la=f[k>>2]|0;da=ka+(la<<2)|0;f[da>>2]=Aa;f[ka+(la+1<<2)>>2]=Ca;f[ka+(la+2<<2)>>2]=ya;if((la|0)==-1)Da=-1;else Da=f[da>>2]|0;da=f[p>>2]|0;la=da+(Da>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Da&31));la=(f[k>>2]|0)+1|0;if((la|0)==-1)Ea=-1;else Ea=f[ka+(la<<2)>>2]|0;la=da+(Ea>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Ea&31));la=(f[k>>2]|0)+2|0;if((la|0)==-1)Fa=-1;else Fa=f[ka+(la<<2)>>2]|0;la=da+(Fa>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Fa&31));la=ma+1|0;da=f[qa>>2]|0;ka=f[ra>>2]|0;if((da|0)==(ka<<5|0)){if((da+1|0)<0){F=147;break h}ga=ka<<6;ka=da+32&-32;bf(o,da>>>0<1073741823?(ga>>>0>>0?ka:ga):2147483647);Ga=f[qa>>2]|0}else Ga=da;f[qa>>2]=Ga+1;da=(f[o>>2]|0)+(Ga>>>5<<2)|0;f[da>>2]=f[da>>2]|1<<(Ga&31);da=f[oa>>2]|0;if((da|0)==(f[sa>>2]|0))yf(na,k);else{f[da>>2]=f[k>>2];f[oa>>2]=da+4}xa=la}while(0);pa=f[l>>2]|0;if((pa|0)==(f[e>>2]|0)){F=164;break}else ma=xa}if((F|0)==147)ym(o);else if((F|0)==157)ym(o);else if((F|0)==163){P=-1;F=179;break g}else if((F|0)==164){Ha=f[ua>>2]|0;Ia=xa;break}}else{Ha=c;Ia=va}while(0);if((Ia|0)==(((f[Ha+4>>2]|0)-(f[Ha>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ha+28>>2]|0)-(f[Ha+24>>2]|0)>>2;ta=f[i>>2]|0;ma=f[m>>2]|0;if((ta|0)==(ma|0)){Ja=ta;Ka=c}else{pa=j+4|0;oa=j+8|0;na=j+12|0;sa=Ha;qa=ta;ta=c;while(1){c=f[qa>>2]|0;ra=ta+-1|0;ja=f[sa+24>>2]|0;if((f[ja+(ra<<2)>>2]|0)==-1){E=ta;while(1){S=E+-1|0;la=E+-2|0;if((f[ja+(la<<2)>>2]|0)==-1)E=S;else{La=S;Ma=la;break}}}else{La=ta;Ma=ra}if(Ma>>>0>>0){Na=sa;Oa=La}else{f[j>>2]=sa;E=f[ja+(Ma<<2)>>2]|0;f[pa>>2]=E;f[oa>>2]=E;b[na>>0]=1;if((E|0)==-1)Pa=sa;else{o=sa;la=E;while(1){f[(f[o>>2]|0)+(la<<2)>>2]=c;Ee(j);la=f[oa>>2]|0;E=f[ua>>2]|0;if((la|0)==-1){Pa=E;break}else o=E}}o=f[Pa+24>>2]|0;if((c|0)==-1)Qa=o+(Ma<<2)|0;else{la=o+(Ma<<2)|0;f[o+(c<<2)>>2]=f[la>>2];Qa=la}f[Qa>>2]=-1;la=f[p>>2]|0;o=la+(Ma>>>5<<2)|0;ja=1<<(Ma&31);ra=la+(c>>>5<<2)|0;la=1<<(c&31);E=f[ra>>2]|0;f[ra>>2]=f[o>>2]&ja|0?E|la:E&~la;f[o>>2]=f[o>>2]&~ja;Na=Pa;Oa=La+-1|0}qa=qa+4|0;if((qa|0)==(ma|0)){P=Oa;F=179;break}else{sa=Na;ta=Oa}}}}else{P=-1;F=179}}else{P=-1;F=179}}while(0);if((F|0)==179){Ja=f[i>>2]|0;Ka=P}if(Ja|0){P=f[m>>2]|0;if((P|0)!=(Ja|0))f[m>>2]=P+(~((P+-4-Ja|0)>>>2)<<2);fn(Ja)}Ja=f[g+8>>2]|0;if(Ja|0){P=Ja;do{Ja=P;P=f[P>>2]|0;fn(Ja)}while((P|0)!=0)}P=f[g>>2]|0;f[g>>2]=0;if(P|0)fn(P);P=f[e>>2]|0;if(!P){u=d;return Ka|0}e=f[l>>2]|0;if((e|0)!=(P|0))f[l>>2]=e+(~((e+-4-P|0)>>>2)<<2);fn(P);u=d;return Ka|0}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=(Rh(3400,3592,e,c)|0)-3400>>2;j=g;g=h;h=0;a:while(1){k=(f[3400+(i<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=211;n=h;o=8;break}p=f[3208+(l<<2)>>2]|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((k|0)==(X(q,p)|0)){r=h;break}else l=l+1|0}b:do if((o|0)==8){c:while(1){o=0;l=(k>>>0)/(m>>>0)|0;do if(l>>>0>=m>>>0)if((k|0)!=(X(l,m)|0)){p=m+10|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((k|0)!=(X(q,p)|0)){q=m+12|0;s=(k>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((k|0)!=(X(s,q)|0)){s=m+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(X(t,s)|0)){t=m+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(X(v,t)|0)){v=m+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(X(w,v)|0)){w=m+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(X(x,w)|0)){y=9;z=w;A=n}else{x=m+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(k|0)==(X(B,x)|0);y=C?1:D?9:0;z=C|D?x:m+210|0;A=C?k:n}else{y=1;z=w;A=k}}else{y=9;z=v;A=n}else{y=1;z=v;A=k}}else{y=9;z=t;A=n}else{y=1;z=t;A=k}}else{y=9;z=s;A=n}else{y=1;z=s;A=k}}else{y=9;z=q;A=n}else{y=1;z=q;A=k}}else{y=9;z=p;A=n}else{y=1;z=p;A=k}}else{y=9;z=m;A=n}else{y=1;z=m;A=k}while(0);switch(y&15){case 9:{r=A;break b;break}case 0:{m=z;n=A;o=8;break}default:break c}}if(!y)r=A;else{o=107;break a}}while(0);l=i+1|0;p=(l|0)==48;q=(p&1)+j|0;i=p?0:l;j=q;g=q*210|0;h=r}if((o|0)==106){f[d>>2]=k;E=k;break}else if((o|0)==107){f[d>>2]=k;E=A;break}}else{h=Rh(3208,3400,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function _a(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ja,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=0;m=o;while(1){s=$(b[m>>0]|0);n[g+(r<<2)>>2]=s;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else m=m+1|0}}else{m=0;r=o;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(h[k>>0]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else k=k+1|0}}else{k=0;u=o;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$(d[l>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else l=l+2|0}}else{l=0;u=o;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){s=$(j[m>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else m=m+2|0}}else{m=0;u=o;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(f[k>>2]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else k=k+4|0}}else{k=0;u=o;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$((f[l>>2]|0)>>>0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else l=l+4|0}}else{l=0;u=o;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){q=m;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else m=m+8|0}}else{m=0;u=o;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){q=k;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else k=k+8|0}}else{k=0;u=o;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;l=r+q|0;while(1){f[g+(o<<2)>>2]=f[l>>2];o=o+1|0;q=b[u>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){C=q;break}else l=l+4|0}}else C=k;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 10:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;q=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;r=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;q=u+r|0;while(1){s=$(+p[q>>3]);n[g+(m<<2)>>2]=s;m=m+1|0;r=b[l>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){D=r;break}else q=q+8|0}}else D=o;q=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 11:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;k=a+40|0;r=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;u=Tj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;r=l+u|0;while(1){s=$((b[r>>0]|0)!=0&1);n[g+(k<<2)>>2]=s;k=k+1|0;u=b[q>>0]|0;if((k|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){E=u;break}else r=r+1|0}}else E=m;r=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function $a(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(m|0)!=(l|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else jf(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=dj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)ym(h);else{l=e<<2;r=dj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Vf(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+64|0;x=j+28|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;if(l-p>>2>>>0>1){E=p;F=1}else{G=q;ym(G)}while(1){H=f[E+(F<<2)>>2]|0;I=(((H>>>0)%3|0|0)==0?2:-1)+H|0;J=I>>>5;K=1<<(I&31);L=(H|0)==-1|(I|0)==-1;M=H;N=1;O=0;b:while(1){P=N^1;Q=M;R=O;while(1){if((Q|0)==-1){S=R;v=58;break b}T=f[d+(R*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0?(U=f[(f[(f[o>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0,(U|0)!=-1):0)?(V=f[x>>2]|0,W=f[t>>2]|0,Y=f[W+(f[V+(U<<2)>>2]<<2)>>2]|0,Z=U+1|0,_=f[W+(f[V+((((Z>>>0)%3|0|0)==0?U+-2|0:Z)<<2)>>2]<<2)>>2]|0,Z=f[W+(f[V+((((U>>>0)%3|0|0)==0?2:-1)+U<<2)>>2]<<2)>>2]|0,(Y|0)<(F|0)&(_|0)<(F|0)&(Z|0)<(F|0)):0){U=X(Y,e)|0;Y=X(_,e)|0;_=X(Z,e)|0;if(y){Z=0;do{f[T+(Z<<2)>>2]=(f[c+(Z+_<<2)>>2]|0)+(f[c+(Z+Y<<2)>>2]|0)-(f[c+(Z+U<<2)>>2]|0);Z=Z+1|0}while((Z|0)!=(e|0))}Z=R+1|0;if((Z|0)==4){$=4;v=38;break b}else aa=Z}else aa=R;do if(N){Z=Q+1|0;U=((Z>>>0)%3|0|0)==0?Q+-2|0:Z;if(((U|0)!=-1?(f[(f[j>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)==0:0)?(Z=f[(f[(f[o>>2]|0)+12>>2]|0)+(U<<2)>>2]|0,U=Z+1|0,(Z|0)!=-1):0)ba=((U>>>0)%3|0|0)==0?Z+-2|0:U;else ba=-1}else{U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if(((U|0)!=-1?(f[(f[j>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)==0:0)?(Z=f[(f[(f[o>>2]|0)+12>>2]|0)+(U<<2)>>2]|0,(Z|0)!=-1):0)if(!((Z>>>0)%3|0)){ba=Z+2|0;break}else{ba=Z+-1|0;break}else ba=-1}while(0);if((ba|0)==(H|0)){S=aa;v=58;break b}if((ba|0)!=-1|P){Q=ba;R=aa}else break}if(L){M=-1;N=0;O=aa;continue}if(f[(f[j>>2]|0)+(J<<2)>>2]&K|0){M=-1;N=0;O=aa;continue}R=f[(f[(f[o>>2]|0)+12>>2]|0)+(I<<2)>>2]|0;if((R|0)==-1){M=-1;N=0;O=aa;continue}if(!((R>>>0)%3|0)){M=R+2|0;N=0;O=aa;continue}else{M=R+-1|0;N=0;O=aa;continue}}if((v|0)==58){v=0;if((S|0)>0){$=S;v=38}else{ca=X(F,e)|0;v=72}}if((v|0)==38){v=0;if(y){Vf(f[h>>2]|0,0,D|0)|0;O=$+-1|0;N=s+(O<<2)|0;M=a+60+(O*12|0)+4|0;I=a+60+(O*12|0)|0;O=f[h>>2]|0;K=0;J=0;while(1){L=f[N>>2]|0;f[N>>2]=L+1;if((f[M>>2]|0)>>>0<=L>>>0){da=O;ea=0;break a}if(!(f[(f[I>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31))){L=f[d+(K*12|0)>>2]|0;H=0;do{R=O+(H<<2)|0;f[R>>2]=(f[R>>2]|0)+(f[L+(H<<2)>>2]|0);H=H+1|0}while((H|0)!=(e|0));fa=J+1|0}else fa=J;K=K+1|0;if((K|0)>=($|0)){ga=fa;break}else J=fa}}else{J=$+-1|0;K=s+(J<<2)|0;O=a+60+(J*12|0)|0;I=f[h>>2]|0;M=f[a+60+(J*12|0)+4>>2]|0;J=f[K>>2]|0;N=0;H=0;while(1){L=J;J=J+1|0;f[K>>2]=J;if(M>>>0<=L>>>0){da=I;ea=0;break a}R=H+((f[(f[O>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31)|0)==0&1)|0;N=N+1|0;if((N|0)>=($|0)){ga=R;break}else H=R}}H=X(F,e)|0;if(ga){N=f[h>>2]|0;if(y){O=0;do{I=N+(O<<2)|0;f[I>>2]=(f[I>>2]|0)/(ga|0)|0;O=O+1|0}while((O|0)!=(e|0))}O=b+(H<<2)|0;I=c+(H<<2)|0;if((f[i>>2]|0)>0){M=0;do{J=f[N+(M<<2)>>2]|0;K=f[z>>2]|0;if((J|0)>(K|0)){R=f[A>>2]|0;f[R+(M<<2)>>2]=K;ha=R}else{R=f[B>>2]|0;K=f[A>>2]|0;f[K+(M<<2)>>2]=(J|0)<(R|0)?R:J;ha=K}M=M+1|0;ia=f[i>>2]|0}while((M|0)<(ia|0));if((ia|0)>0){M=0;do{N=(f[O+(M<<2)>>2]|0)+(f[ha+(M<<2)>>2]|0)|0;K=I+(M<<2)|0;f[K>>2]=N;do if((N|0)>(f[z>>2]|0)){ja=N-(f[C>>2]|0)|0;v=94}else{if((N|0)>=(f[B>>2]|0))break;ja=(f[C>>2]|0)+N|0;v=94}while(0);if((v|0)==94){v=0;f[K>>2]=ja}M=M+1|0}while((M|0)<(f[i>>2]|0))}}}else{ca=H;v=72}}if((v|0)==72?(v=0,M=c+((X(F+-1|0,e)|0)<<2)|0,I=b+(ca<<2)|0,O=c+(ca<<2)|0,(f[i>>2]|0)>0):0){N=0;do{J=f[M+(N<<2)>>2]|0;R=f[z>>2]|0;if((J|0)>(R|0)){L=f[A>>2]|0;f[L+(N<<2)>>2]=R;ka=L}else{L=f[B>>2]|0;R=f[A>>2]|0;f[R+(N<<2)>>2]=(J|0)<(L|0)?L:J;ka=R}N=N+1|0;la=f[i>>2]|0}while((N|0)<(la|0));if((la|0)>0){N=0;do{M=(f[I+(N<<2)>>2]|0)+(f[ka+(N<<2)>>2]|0)|0;H=O+(N<<2)|0;f[H>>2]=M;if((M|0)<=(f[z>>2]|0)){if((M|0)<(f[B>>2]|0)){ma=(f[C>>2]|0)+M|0;v=82}}else{ma=M-(f[C>>2]|0)|0;v=82}if((v|0)==82){v=0;f[H>>2]=ma}N=N+1|0}while((N|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=99;break}N=f[r>>2]|0;E=f[N>>2]|0;if((f[N+4>>2]|0)-E>>2>>>0<=F>>>0){G=N;v=28;break}}if((v|0)==28)ym(G);else if((v|0)==99){da=f[h>>2]|0;ea=1;break}}else{da=w;ea=1}while(0);if(da|0){w=f[n>>2]|0;if((w|0)!=(da|0))f[n>>2]=w+(~((w+-4-da|0)>>>2)<<2);fn(da)}fn(s);s=f[d+36>>2]|0;if(s|0){da=d+40|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;da=f[w>>2]|0;if((da|0)!=(s|0))f[w>>2]=da+(~((da+-4-s|0)>>>2)<<2);fn(s)}s=f[d+12>>2]|0;if(s|0){da=d+16|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);fn(s);u=g;return ea|0}function ab(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(m|0)!=(l|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else jf(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=dj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)ym(h);else{l=e<<2;r=dj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Vf(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+12|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;if(l-p>>2>>>0>1){D=p;E=1}else{F=q;ym(F)}while(1){G=f[D+(E<<2)>>2]|0;H=(((G>>>0)%3|0|0)==0?2:-1)+G|0;I=(G|0)==-1|(H|0)==-1;J=G;K=1;L=0;b:while(1){M=K^1;N=J;O=L;while(1){if((N|0)==-1){P=O;v=58;break b}Q=f[d+(O*12|0)>>2]|0;R=f[o>>2]|0;S=f[R+(N<<2)>>2]|0;if((S|0)!=-1){T=f[j>>2]|0;U=f[t>>2]|0;V=f[U+(f[T+(S<<2)>>2]<<2)>>2]|0;W=S+1|0;Y=((W>>>0)%3|0|0)==0?S+-2|0:W;if((Y|0)==-1)Z=-1;else Z=f[T+(Y<<2)>>2]|0;Y=f[U+(Z<<2)>>2]|0;W=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((W|0)==-1)_=-1;else _=f[T+(W<<2)>>2]|0;W=f[U+(_<<2)>>2]|0;if((V|0)<(E|0)&(Y|0)<(E|0)&(W|0)<(E|0)){U=X(V,e)|0;V=X(Y,e)|0;Y=X(W,e)|0;if(x){W=0;do{f[Q+(W<<2)>>2]=(f[c+(W+Y<<2)>>2]|0)+(f[c+(W+V<<2)>>2]|0)-(f[c+(W+U<<2)>>2]|0);W=W+1|0}while((W|0)!=(e|0))}W=O+1|0;if((W|0)==4){$=4;v=41;break b}else aa=W}else aa=O}else aa=O;do if(K){W=N+1|0;U=((W>>>0)%3|0|0)==0?N+-2|0:W;if((U|0)!=-1?(W=f[R+(U<<2)>>2]|0,U=W+1|0,(W|0)!=-1):0)ba=((U>>>0)%3|0|0)==0?W+-2|0:U;else ba=-1}else{U=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((U|0)!=-1?(W=f[R+(U<<2)>>2]|0,(W|0)!=-1):0)if(!((W>>>0)%3|0)){ba=W+2|0;break}else{ba=W+-1|0;break}else ba=-1}while(0);if((ba|0)==(G|0)){P=aa;v=58;break b}if((ba|0)!=-1|M){N=ba;O=aa}else break}if(I){J=-1;K=0;L=aa;continue}O=f[R+(H<<2)>>2]|0;if((O|0)==-1){J=-1;K=0;L=aa;continue}if(!((O>>>0)%3|0)){J=O+2|0;K=0;L=aa;continue}else{J=O+-1|0;K=0;L=aa;continue}}if((v|0)==58){v=0;if((P|0)>0){$=P;v=41}else{ca=X(E,e)|0;v=72}}if((v|0)==41){v=0;if(x){Vf(f[h>>2]|0,0,C|0)|0;L=$+-1|0;K=s+(L<<2)|0;J=a+60+(L*12|0)+4|0;H=a+60+(L*12|0)|0;L=f[h>>2]|0;I=0;G=0;while(1){O=f[K>>2]|0;f[K>>2]=O+1;if((f[J>>2]|0)>>>0<=O>>>0){da=L;ea=0;break a}if(!(f[(f[H>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31))){O=f[d+(I*12|0)>>2]|0;N=0;do{M=L+(N<<2)|0;f[M>>2]=(f[M>>2]|0)+(f[O+(N<<2)>>2]|0);N=N+1|0}while((N|0)!=(e|0));fa=G+1|0}else fa=G;I=I+1|0;if((I|0)>=($|0)){ga=fa;break}else G=fa}}else{G=$+-1|0;I=s+(G<<2)|0;L=a+60+(G*12|0)|0;H=f[h>>2]|0;J=f[a+60+(G*12|0)+4>>2]|0;G=f[I>>2]|0;K=0;N=0;while(1){O=G;G=G+1|0;f[I>>2]=G;if(J>>>0<=O>>>0){da=H;ea=0;break a}M=N+((f[(f[L>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31)|0)==0&1)|0;K=K+1|0;if((K|0)>=($|0)){ga=M;break}else N=M}}N=X(E,e)|0;if(ga){K=f[h>>2]|0;if(x){L=0;do{H=K+(L<<2)|0;f[H>>2]=(f[H>>2]|0)/(ga|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(N<<2)|0;H=c+(N<<2)|0;if((f[i>>2]|0)>0){J=0;do{G=f[K+(J<<2)>>2]|0;I=f[y>>2]|0;if((G|0)>(I|0)){M=f[z>>2]|0;f[M+(J<<2)>>2]=I;ha=M}else{M=f[A>>2]|0;I=f[z>>2]|0;f[I+(J<<2)>>2]=(G|0)<(M|0)?M:G;ha=I}J=J+1|0;ia=f[i>>2]|0}while((J|0)<(ia|0));if((ia|0)>0){J=0;do{K=(f[L+(J<<2)>>2]|0)+(f[ha+(J<<2)>>2]|0)|0;I=H+(J<<2)|0;f[I>>2]=K;do if((K|0)>(f[y>>2]|0)){ja=K-(f[B>>2]|0)|0;v=94}else{if((K|0)>=(f[A>>2]|0))break;ja=(f[B>>2]|0)+K|0;v=94}while(0);if((v|0)==94){v=0;f[I>>2]=ja}J=J+1|0}while((J|0)<(f[i>>2]|0))}}}else{ca=N;v=72}}if((v|0)==72?(v=0,J=c+((X(E+-1|0,e)|0)<<2)|0,H=b+(ca<<2)|0,L=c+(ca<<2)|0,(f[i>>2]|0)>0):0){K=0;do{G=f[J+(K<<2)>>2]|0;M=f[y>>2]|0;if((G|0)>(M|0)){O=f[z>>2]|0;f[O+(K<<2)>>2]=M;ka=O}else{O=f[A>>2]|0;M=f[z>>2]|0;f[M+(K<<2)>>2]=(G|0)<(O|0)?O:G;ka=M}K=K+1|0;la=f[i>>2]|0}while((K|0)<(la|0));if((la|0)>0){K=0;do{J=(f[H+(K<<2)>>2]|0)+(f[ka+(K<<2)>>2]|0)|0;N=L+(K<<2)|0;f[N>>2]=J;if((J|0)<=(f[y>>2]|0)){if((J|0)<(f[A>>2]|0)){ma=(f[B>>2]|0)+J|0;v=82}}else{ma=J-(f[B>>2]|0)|0;v=82}if((v|0)==82){v=0;f[N>>2]=ma}K=K+1|0}while((K|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(m|0)){v=99;break}K=f[r>>2]|0;D=f[K>>2]|0;if((f[K+4>>2]|0)-D>>2>>>0<=E>>>0){F=K;v=28;break}}if((v|0)==28)ym(F);else if((v|0)==99){da=f[h>>2]|0;ea=1;break}}else{da=w;ea=1}while(0);if(da|0){w=f[n>>2]|0;if((w|0)!=(da|0))f[n>>2]=w+(~((w+-4-da|0)>>>2)<<2);fn(da)}fn(s);s=f[d+36>>2]|0;if(s|0){da=d+40|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;da=f[w>>2]|0;if((da|0)!=(s|0))f[w>>2]=da+(~((da+-4-s|0)>>>2)<<2);fn(s)}s=f[d+12>>2]|0;if(s|0){da=d+16|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);fn(s);u=g;return ea|0}function bb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Bk(c)|0;if((I|0)<0){q=1;r=10363;s=-c}else{q=(g&2049|0)!=0&1;r=(g&2048|0)==0?((g&1|0)==0?10364:10369):10366;s=c}Bk(s)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+Mm(s,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?r:r+9|0;z=q|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((b[y>>0]|0)==45){D=-(C+(-c-C));break}else{D=c+C-C;break}}else D=c;while(0);A=f[l>>2]|0;B=(A|0)<0?0-A|0:A;E=sg(B,((B|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){B=o+11|0;b[B>>0]=48;F=B}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;B=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[10398+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(B&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;B=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+B|0;fh(a,32,d,x,g);ml(a,y,z);fh(a,48,d,x,g^65536);ml(a,m,G);fh(a,48,B-G|0,0,0);ml(a,A,E);fh(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=E;O=c*268435456.0}else{N=f[l>>2]|0;O=c}E=(N|0)<0?k:k+288|0;H=O;G=E;do{B=~~H>>>0;f[G>>2]=B;G=G+4|0;H=(H-+(B>>>0))*1.0e9}while(H!=0.0);if((N|0)>0){v=N;A=E;z=G;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=Qj(f[J>>2]|0,0,y|0)|0;P=Tj(B|0,I|0,K|0,0)|0;B=I;Q=bj(P|0,B|0,1e9,0)|0;f[J>>2]=Q;K=Jl(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;f[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(f[B>>2]|0))J=B;else break}K=(f[l>>2]|0)-y|0;f[l>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{S=K;T=R;U=J;break}}}else{S=N;T=E;U=G}if((S|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;K=T;B=U;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0>>0){P=(1<>>Q;W=0;Y=K;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0>>0);Y=(f[K>>2]|0)==0?K+4|0:K;if(!W){_=Y;$=B}else{f[B>>2]=W;_=Y;$=B+4|0}}else{_=(f[K>>2]|0)==0?K+4|0:K;$=B}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(f[l>>2]|0)+Q|0;f[l>>2]=v;if((v|0)>=0){aa=_;ba=V;break}else{K=_;B=V}}}else{aa=T;ba=U}B=E;if(aa>>>0>>0){K=(B-aa>>2)*9|0;v=f[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=10;V=G;while(1){G=A*10|0;V=V+1|0;if((V|0)==9){da=G;break}else A=G}}else da=10;A=f[v>>2]|0;V=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(V|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(da|0)/2|0;H=V>>>0>>0?.5:w&(V|0)==(G|0)?1.0:1.5;if(!q){ea=C;fa=H}else{G=(b[r>>0]|0)==45;ea=G?-C:C;fa=G?-H:H}G=A-V|0;f[v>>2]=G;if(ea+fa!=ea){V=G+da|0;f[v>>2]=V;if(V>>>0>999999999){V=aa;G=v;while(1){A=G+-4|0;f[G>>2]=0;if(A>>>0>>0){w=V+-4|0;f[w>>2]=0;ga=w}else ga=V;w=(f[A>>2]|0)+1|0;f[A>>2]=w;if(w>>>0>999999999){V=ga;G=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}G=(B-ha>>2)*9|0;V=f[ha>>2]|0;if(V>>>0<10){ja=ha;ka=ia;la=G}else{A=G;G=10;while(1){G=G*10|0;w=A+1|0;if(V>>>0>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}G=A+-4|0;if(!(f[G>>2]|0))A=G;else{pa=1;break}}v=0-na|0;do if(z){G=((K^1)&1)+x|0;if((G|0)>(na|0)&(na|0)>-5){qa=G+-1-na|0;ra=i+-1|0}else{qa=G+-1|0;ra=i+-2|0}G=g&8;if(!G){if(pa?(V=f[A+-4>>2]|0,(V|0)!=0):0)if(!((V>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((V>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;V=(w|0)>0?w:0;ta=0;ua=(qa|0)<(V|0)?qa:V;va=ra;break}else{V=Y+na-sa|0;Y=(V|0)>0?V:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=G;ua=qa;va=ra}}else{ta=g&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=sg(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-Y|0)<2){V=Y;while(1){w=V+-1|0;b[w>>0]=48;if((z-w|0)<2)V=w;else{ya=w;break}}}else ya=Y;b[ya+-1>>0]=(na>>31&2)+43;V=ya+-2|0;b[V>>0]=va;wa=V;xa=z-V|0}V=q+1+ua+B+xa|0;fh(a,32,d,V,g);ml(a,r,q);fh(a,48,d,V,g^65536);if(K){v=ma>>>0>E>>>0?E:ma;w=m+9|0;Q=w;W=m+8|0;P=v;do{J=sg(f[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){b[W>>0]=48;za=W}else za=J;else if(J>>>0>m>>>0){Vf(m|0,48,J-n|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=J;ml(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)ml(a,10414,1);if(P>>>0>>0&(ua|0)>0){E=P;Q=ua;while(1){W=sg(f[E>>2]|0,0,w)|0;if(W>>>0>m>>>0){Vf(m|0,48,W-n|0)|0;v=W;while(1){K=v+-1|0;if(K>>>0>m>>>0)v=K;else{Aa=K;break}}}else Aa=W;ml(a,Aa,(Q|0)<9?Q:9);E=E+4|0;v=Q+-9|0;if(!(E>>>0>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;fh(a,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){E=m+9|0;w=(ta|0)==0;P=E;x=0-n|0;v=m+8|0;J=ma;K=ua;while(1){B=sg(f[J>>2]|0,0,E)|0;if((B|0)==(E|0)){b[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;ml(a,Ca,1);if(w&(K|0)<1){Da=B;break}ml(a,10414,1);Da=B}else{if(Ca>>>0<=m>>>0){Da=Ca;break}Vf(m|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>m>>>0)B=z;else{Da=z;break}}}while(0);W=P-Da|0;ml(a,Da,(K|0)>(W|0)?W:K);B=K-W|0;J=J+4|0;if(!(J>>>0>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;fh(a,48,Ea+18|0,18,0);ml(a,wa,p-wa|0)}fh(a,32,d,V,g^8192);M=V}else{K=(i&32|0)!=0;Q=q+3|0;fh(a,32,d,Q,g&-65537);ml(a,r,q);ml(a,s!=s|0.0!=0.0?(K?10390:10394):K?10382:10386,3);fh(a,32,d,Q,g^8192);M=Q}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function cb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(o|0)!=(j|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else Wd(l,m-p|0,d);p=a+216|0;m=a+220|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=j;j=n;n=l;v=l;l=o;o=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;w=o*3|0;if((w|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(w<<2)>>2]|0;f[e>>2]=x;y=w+1|0;if((y|0)==-1){f[q>>2]=-1;z=x;A=0;B=92}else{C=x;D=y;B=91}}else{f[e>>2]=-1;C=-1;D=0;B=91}if((B|0)==91){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(D<<2)>>2];y=w+2|0;if((y|0)==-1){E=C;F=-1}else{z=C;A=y;B=92}}if((B|0)==92){B=0;E=z;F=f[(f[f[k>>2]>>2]|0)+(A<<2)>>2]|0}f[s>>2]=F;y=t+96|0;w=t+100|0;x=(l-j|0)/12|0;G=j;H=o;o=o+1|0;if(H>>>0>>0){I=n;J=t;K=v;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(o>>>0<=x>>>0)if(o>>>0>>0?(P=G+(o*12|0)|0,(O|0)!=(P|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[w>>2]=Q;R=G;S=v;T=t;U=Q;V=j}else{R=G;S=v;T=t;U=l;V=j}else{Wd(y,o-x|0,d);x=f[i>>2]|0;G=f[x+44>>2]|0;R=f[y>>2]|0;S=x;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=E;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(o>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{t=J;j=M;n=I;v=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;W=1;u=c;return W|0}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)ym(g);else{v=dj(N)|0;f[g>>2]=v;I=v+(l<<2)|0;f[g+8>>2]=I;Vf(v|0,0,N|0)|0;f[K>>2]=I;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;l=e+8|0;I=r;v=0;while(1){n=f[(f[I+24>>2]|0)+(v<<2)>>2]|0;b:do if((n|0)!=-1){c:do if((f[(f[N>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0?(M=f[m>>2]|0,j=f[p>>2]|0,J=j,(M|0)!=(j|0)):0){t=(((n>>>0)%3|0|0)==0?2:-1)+n|0;o=(M-j|0)/144|0;if((t|0)==-1){j=0;while(1){M=f[(f[f[J+(j*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(M&31)&f[(f[J+(j*144|0)+16>>2]|0)+(M>>>5<<2)>>2]|0){X=0;break a}j=j+1|0;if(j>>>0>=o>>>0){Y=n;break c}}}j=I+12|0;M=0;while(1){s=f[(f[f[J+(M*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(s&31)&f[(f[J+(M*144|0)+16>>2]|0)+(s>>>5<<2)>>2]|0){s=f[J+(M*144|0)+32>>2]|0;L=f[s+(n<<2)>>2]|0;q=f[j>>2]|0;E=f[q+(t<<2)>>2]|0;do if((E|0)!=-1)if(!((E>>>0)%3|0)){Z=E+2|0;break}else{Z=E+-1|0;break}else Z=-1;while(0);if((Z|0)!=(n|0)){E=Z;while(1){if((E|0)==-1){X=0;break a}if((f[s+(E<<2)>>2]|0)!=(L|0)){Y=E;break c}U=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((U|0)!=-1){V=f[q+(U<<2)>>2]|0;if((V|0)==-1){_=-1;break}if(!((V>>>0)%3|0)){_=V+2|0;break}else{_=V+-1|0;break}}else _=-1;while(0);if((_|0)==(n|0))break;else E=_}}}M=M+1|0;if(M>>>0>=o>>>0){Y=n;break}}}else Y=n;while(0);o=f[b>>2]|0;f[(f[g>>2]|0)+(Y<<2)>>2]=o-(f[e>>2]|0)>>2;f[d>>2]=Y;M=o;if(M>>>0<(f[l>>2]|0)>>>0){f[M>>2]=Y;f[b>>2]=M+4;$=I}else{yf(e,d);$=f[k>>2]|0}if((((Y|0)!=-1?(M=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0,(M|0)!=-1):0)?(o=f[(f[$+12>>2]|0)+(M<<2)>>2]|0,(o|0)!=-1):0)?(M=o+(((o>>>0)%3|0|0)==0?2:-1)|0,(M|0)!=-1&(M|0)!=(Y|0)):0){o=$;t=M;M=Y;while(1){j=f[m>>2]|0;J=f[p>>2]|0;E=J;d:do if((j|0)==(J|0))B=66;else{q=(j-J|0)/144|0;L=0;while(1){s=f[E+(L*144|0)+32>>2]|0;L=L+1|0;if((f[s+(t<<2)>>2]|0)!=(f[s+(M<<2)>>2]|0))break;if(L>>>0>=q>>>0){B=66;break d}}q=f[b>>2]|0;f[(f[g>>2]|0)+(t<<2)>>2]=q-(f[e>>2]|0)>>2;f[d>>2]=t;L=q;if(L>>>0<(f[l>>2]|0)>>>0){f[L>>2]=t;f[b>>2]=L+4;aa=o}else{yf(e,d);aa=f[k>>2]|0}ba=aa}while(0);if((B|0)==66){B=0;E=f[g>>2]|0;f[E+(t<<2)>>2]=f[E+(M<<2)>>2];ba=o}if((t|0)==-1){ca=ba;break b}E=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((E|0)==-1){ca=ba;break b}J=f[(f[ba+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1){ca=ba;break b}E=J+(((J>>>0)%3|0|0)==0?2:-1)|0;if((E|0)!=-1&(E|0)!=(Y|0)){J=t;o=ba;t=E;M=J}else{ca=ba;break}}}else ca=$}else ca=I;while(0);v=v+1|0;if((v|0)>=((f[ca+28>>2]|0)-(f[ca+24>>2]|0)>>2|0)){B=27;break}else I=ca}}else B=27;while(0);if((B|0)==27){B=f[i>>2]|0;ca=f[B+44>>2]|0;$=f[ca+100>>2]|0;ba=f[ca+96>>2]|0;if(($|0)==(ba|0))da=B;else{Y=h+4|0;aa=h+8|0;k=B;p=B;B=ca;ca=ba;ba=$;$=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;m=(f[g>>2]|0)+($*3<<2)|0;f[h>>2]=f[m>>2];f[h+4>>2]=f[m+4>>2];f[h+8>>2]=f[m+8>>2];m=B+96|0;_=B+100|0;Z=(ba-ca|0)/12|0;r=ca;a=$;$=$+1|0;if(a>>>0>>0){ea=r;fa=ca;ga=ba;ha=k;ia=B;ja=p}else{I=ba;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if($>>>0<=Z>>>0)if($>>>0>>0?(v=r+($*12|0)|0,(I|0)!=(v|0)):0){l=I+(~(((I+-12-v|0)>>>0)/12|0)*12|0)|0;f[_>>2]=l;ka=r;la=p;ma=B;na=l;oa=ca}else{ka=r;la=p;ma=B;na=ba;oa=ca}else{Wd(m,$-Z|0,d);Z=f[i>>2]|0;r=f[Z+44>>2]|0;ka=f[m>>2]|0;la=Z;ma=r;na=f[r+100>>2]|0;oa=f[r+96>>2]|0}ea=ka;fa=oa;ga=na;ha=la;ia=ma;ja=la}f[ea+(a*12|0)>>2]=f[h>>2];f[ea+(a*12|0)+4>>2]=f[Y>>2];f[ea+(a*12|0)+8>>2]=f[aa>>2];if($>>>0>=((ga-fa|0)/12|0)>>>0){da=ha;break}else{k=ha;p=ja;B=ia;ca=fa;ba=ga}}}f[(f[da+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[e>>2]|0)>>2;X=1}da=f[g>>2]|0;if(da|0){g=f[K>>2]|0;if((g|0)!=(da|0))f[K>>2]=g+(~((g+-4-da|0)>>>2)<<2);fn(da)}da=f[e>>2]|0;if(da|0){e=f[b>>2]|0;if((e|0)!=(da|0))f[b>>2]=e+(~((e+-4-da|0)>>>2)<<2);fn(da)}W=X;u=c;return W|0}function db(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;c=u;u=u+80|0;e=c+40|0;g=c+68|0;h=c+64|0;i=c+60|0;j=c+52|0;k=c;l=c+56|0;m=c+48|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;fn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(eg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];if(((eg(h,f[(f[n>>2]|0)+32>>2]|0)|0?(g=f[h>>2]|0,g>>>0<=1431655765):0)?(f[o>>2]|0)>>>0<=(g*3|0)>>>0:0)?(g=f[(f[n>>2]|0)+32>>2]|0,p=g+8|0,q=f[p+4>>2]|0,s=g+16|0,t=s,v=f[t>>2]|0,w=f[t+4>>2]|0,(q|0)>(w|0)|((q|0)==(w|0)?(f[p>>2]|0)>>>0>v>>>0:0)):0){p=b[(f[g>>2]|0)+v>>0]|0;q=Tj(v|0,w|0,1,0)|0;w=s;f[w>>2]=q;f[w+4>>2]=I;if((eg(i,g)|0?(g=f[h>>2]|0,w=f[i>>2]|0,g>>>0>=w>>>0):0)?g>>>0<=(((w>>>0)/3|0)+w|0)>>>0:0){do if(eg(j,f[(f[n>>2]|0)+32>>2]|0)|0?(f[j>>2]|0)>>>0<=(f[i>>2]|0)>>>0:0){w=f[a+24>>2]|0;g=a+28|0;q=f[g>>2]|0;if((q|0)!=(w|0))f[g>>2]=q+(~((q+-4-w|0)>>>2)<<2);w=dj(88)|0;gi(w);q=a+8|0;g=f[q>>2]|0;f[q>>2]=w;if(g|0?(of(g),fn(g),(f[q>>2]|0)==0):0){x=0;break}g=a+160|0;w=f[g>>2]|0;s=a+164|0;v=f[s>>2]|0;if((v|0)!=(w|0))f[s>>2]=v+(~((v+-4-w|0)>>>2)<<2);ug(g,f[h>>2]|0);g=a+172|0;w=f[g>>2]|0;v=a+176|0;s=f[v>>2]|0;if((s|0)!=(w|0))f[v>>2]=s+(~((s+-4-w|0)>>>2)<<2);ug(g,f[h>>2]|0);g=f[a+36>>2]|0;w=a+40|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~(((s+-12-g|0)>>>0)/12|0)*12|0);g=f[a+48>>2]|0;s=a+52|0;w=f[s>>2]|0;if((w|0)!=(g|0))f[s>>2]=w+(~((w+-4-g|0)>>>2)<<2);f[a+64>>2]=0;g=f[a+72>>2]|0;w=a+76|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~((s+-4-g|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;s=f[g>>2]|0;w=a+220|0;v=f[w>>2]|0;if((v|0)!=(s|0)){t=v;do{f[w>>2]=t+-144;v=f[t+-12>>2]|0;if(v|0){y=t+-8|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-28>>2]|0;if(v|0){z=t+-24|0;y=f[z>>2]|0;if((y|0)!=(v|0))f[z>>2]=y+(~((y+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-40>>2]|0;if(v|0){y=t+-36|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}vf(t+-140|0);t=f[w>>2]|0}while((t|0)!=(s|0))}s=p&255;Oe(g,s);if(!(Hf(f[q>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0)){x=0;break}t=(f[j>>2]|0)+(f[o>>2]|0)|0;b[e>>0]=1;ge(a+120|0,t,e);if((zc(a,f[(f[n>>2]|0)+32>>2]|0)|0)==-1){x=0;break}t=a+232|0;f[a+376>>2]=a;v=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;z=f[v>>2]|0;v=(f[z>>2]|0)+(f[z+16>>2]|0)|0;z=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;y=f[z>>2]|0;z=y+8|0;A=y+16|0;y=Vj(f[z>>2]|0,f[z+4>>2]|0,f[A>>2]|0,f[A+4>>2]|0)|0;A=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Yi(t,v,y,d[(f[A>>2]|0)+38>>1]|0);f[a+372>>2]=s;Fi(k);s=a+272|0;A=s;y=t;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));a:do if(bh(s,1,e)|0){A=t;y=s;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));z=e;B=f[z>>2]|0;C=f[z+4>>2]|0;z=a+240|0;D=a+248|0;E=D;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[z>>2]|0,f[z+4>>2]|0,F|0,G|0)|0;z=I;if(C>>>0>z>>>0|(C|0)==(z|0)&B>>>0>E>>>0){H=50;break}E=Tj(F|0,G|0,B|0,C|0)|0;C=D;f[C>>2]=E;f[C+4>>2]=I;if(!(sd(a+312|0,t)|0)){J=0;break}if(!(sf(t)|0)){J=0;break}A=k;y=t;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));C=Ya(a,f[i>>2]|0)|0;if((C|0)==-1){J=0;break}E=f[(f[n>>2]|0)+32>>2]|0;D=k+16|0;B=f[D>>2]|0;G=(f[k>>2]|0)+B|0;F=k+8|0;z=Vj(f[F>>2]|0,f[F+4>>2]|0,B|0,f[D+4>>2]|0)|0;Yi(E,G,z,d[E+38>>1]|0);do if((f[w>>2]|0)!=(f[g>>2]|0)){E=f[q>>2]|0;if((f[E+4>>2]|0)==(f[E>>2]|0))break;E=0;do{f[l>>2]=E;f[e>>2]=f[l>>2];E=E+3|0;if(!(Uc(a,e)|0)){J=0;break a}z=f[q>>2]|0}while(E>>>0<(f[z+4>>2]|0)-(f[z>>2]|0)>>2>>>0)}while(0);if(b[a+308>>0]|0)ei(s);E=f[g>>2]|0;if((f[w>>2]|0)!=(E|0)){z=E;E=0;do{se(z+(E*144|0)+4|0,f[q>>2]|0)|0;G=f[g>>2]|0;D=f[G+(E*144|0)+132>>2]|0;B=f[G+(E*144|0)+136>>2]|0;if((D|0)==(B|0))K=G;else{F=G;G=D;while(1){f[m>>2]=f[G>>2];f[e>>2]=f[m>>2];_d(F+(E*144|0)+4|0,e);G=G+4|0;D=f[g>>2]|0;if((G|0)==(B|0)){K=D;break}else F=D}}Nh(K+(E*144|0)+4|0,0,0);E=E+1|0;z=f[g>>2]|0}while(E>>>0<(((f[w>>2]|0)-z|0)/144|0)>>>0)}z=f[q>>2]|0;E=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;z=a+196|0;F=a+200|0;B=f[F>>2]|0;G=f[z>>2]|0;D=B-G>>2;L=G;G=B;do if(E>>>0>D>>>0)jf(z,E-D|0);else{if(E>>>0>=D>>>0)break;B=L+(E<<2)|0;if((G|0)==(B|0))break;f[F>>2]=G+(~((G+-4-B|0)>>>2)<<2)}while(0);ug(a+184|0,E);G=f[g>>2]|0;if((f[w>>2]|0)!=(G|0)){F=G;G=0;do{L=F;D=(f[L+(G*144|0)+60>>2]|0)-(f[L+(G*144|0)+56>>2]|0)>>2;z=f[q>>2]|0;B=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;z=(D|0)<(B|0)?B:D;D=L+(G*144|0)+116|0;B=L+(G*144|0)+120|0;M=f[B>>2]|0;N=f[D>>2]|0;O=M-N>>2;P=N;N=M;do if(z>>>0>O>>>0)jf(D,z-O|0);else{if(z>>>0>=O>>>0)break;M=P+(z<<2)|0;if((N|0)==(M|0))break;f[B>>2]=N+(~((N+-4-M|0)>>>2)<<2)}while(0);ug(L+(G*144|0)+104|0,z);G=G+1|0;F=f[g>>2]|0}while(G>>>0<(((f[w>>2]|0)-F|0)/144|0)>>>0)}J=cb(a,C)|0}else H=50;while(0);if((H|0)==50)J=0;ln(k+24|0);x=J}else x=0;while(0);Q=x}else Q=0;R=Q}else R=0;r=R;u=c;return r|0}function eb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=c;c=0;v=0;w=0;a:while(1){do if((c|0)>-1)if((v|0)>(2147483647-c|0)){x=Um()|0;f[x>>2]=75;y=-1;break}else{y=v+c|0;break}else y=c;while(0);x=b[t>>0]|0;if(!(x<<24>>24)){z=87;break}else{A=x;B=t}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}x=B+1|0;f[j>>2]=x;A=b[x>>0]|0;B=x}c:do if((z|0)==9)while(1){z=0;if((b[C+1>>0]|0)!=37){E=C;F=D;break c}x=D+1|0;G=C+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=G;D=x;z=9}else{E=G;F=x;break}}while(0);x=F-t|0;if(o)ml(a,t,x);if(x|0){t=E;c=y;v=x;continue}x=E+1|0;G=(b[x>>0]|0)+-48|0;if(G>>>0<10){H=(b[E+2>>0]|0)==36;J=H?G:-1;K=H?1:w;L=H?E+3|0:x}else{J=-1;K=w;L=x}f[j>>2]=L;x=b[L>>0]|0;H=(x<<24>>24)+-32|0;d:do if(H>>>0<32){G=x;M=0;N=L;O=H;while(1){P=1<>2]=P;U=b[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{G=U;M=T;N=P}}}else{Q=x;R=L;S=0}while(0);if(Q<<24>>24==42){x=R+1|0;H=(b[x>>0]|0)+-48|0;if(H>>>0<10?(b[R+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=1;W=R+3|0;X=f[g+((b[x>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);N=f[H>>2]|0;f[e>>2]=H+4;V=0;W=x;X=N}else{V=0;W=x;X=0}}f[j>>2]=W;x=(X|0)<0;Z=W;_=x?S|8192:S;$=V;aa=x?0-X|0:X}else{x=Th(j)|0;if((x|0)<0){Y=-1;break}Z=f[j>>2]|0;_=S;$=K;aa=x}do if((b[Z>>0]|0)==46){if((b[Z+1>>0]|0)!=42){f[j>>2]=Z+1;x=Th(j)|0;ba=f[j>>2]|0;ca=x;break}x=Z+2|0;N=(b[x>>0]|0)+-48|0;if(N>>>0<10?(b[Z+3>>0]|0)==36:0){f[h+(N<<2)>>2]=10;N=f[g+((b[x>>0]|0)+-48<<3)>>2]|0;H=Z+4|0;f[j>>2]=H;ba=H;ca=N;break}if($|0){Y=-1;break a}if(o){N=(f[e>>2]|0)+(4-1)&~(4-1);H=f[N>>2]|0;f[e>>2]=N+4;da=H}else da=0;f[j>>2]=x;ba=x;ca=da}else{ba=Z;ca=-1}while(0);x=ba;H=0;while(1){if(((b[x>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=x+1|0;f[j>>2]=ea;fa=b[(b[x>>0]|0)+-65+(9882+(H*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){x=ea;H=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;G=f[M+4>>2]|0;O=k;f[O>>2]=f[M>>2];f[O+4>>2]=G;z=49;break}if(!o){Y=0;break a}Vc(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=ea;c=y;v=0;w=$;continue}N=b[x>>0]|0;G=(H|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(G|0){case 110:{switch((H&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=ea;c=y;v=0;w=$;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=ea;c=y;v=0;w=$;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}default:{t=ea;c=y;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=G;z=61;break}case 111:{M=k;P=f[M>>2]|0;T=f[M+4>>2]|0;M=Yh(P,T,q)|0;U=r-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=10346;z=67;break}case 105:case 100:{U=k;M=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=Vj(0,0,M|0,T|0)|0;P=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=P;sa=U;ta=P;ua=1;va=10346;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?10346:10348):10347;z=66;break e}break}case 117:{T=k;sa=f[T>>2]|0;ta=f[T+4>>2]|0;ua=0;va=10346;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=N;ya=1;za=0;Aa=10346;Ba=q;break}case 109:{T=Um()|0;Ca=sl(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:10356;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=m;Ea=-1;z=75;break}case 83:{T=f[k>>2]|0;if(!ca){fh(a,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=ea;c=y;v=bb(a,+p[k>>3],aa,ca,O,G)|0;w=$;continue a;break}default:{wa=t;xa=O;ya=ca;za=0;Aa=10346;Ba=q}}while(0);f:do if((z|0)==61){z=0;G=k;H=f[G>>2]|0;x=f[G+4>>2]|0;G=Hh(H,x,q,ja&32)|0;T=(ha&8|0)==0|(H|0)==0&(x|0)==0;ka=H;la=x;ma=G;na=ha;oa=ia;pa=T?0:2;qa=T?10346:10346+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=sg(sa,ta,q)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=Dd(Ca,0,ca)|0;G=(T|0)==0;wa=Ca;xa=N;ya=G?ca:T-Ca|0;za=0;Aa=10346;Ba=G?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;G=0;x=Da;while(1){H=f[x>>2]|0;if(!H){Ga=T;Ha=G;break}M=bl(n,H)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}H=M+T|0;if(Ea>>>0>H>>>0){T=H;G=M;x=x+4|0}else{Ga=H;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}fh(a,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{x=0;G=Da;while(1){T=f[G>>2]|0;if(!T){Fa=Ga;z=84;break f}M=bl(n,T)|0;x=M+x|0;if((x|0)>(Ga|0)){Fa=Ga;z=84;break f}ml(a,n,M);if(x>>>0>=Ga>>>0){Fa=Ga;z=84;break}else G=G+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;G=(oa|0)!=0|N;x=((N^1)&1)+(r-ma)|0;wa=G?ma:q;xa=(oa|0)>-1?na&-65537:na;ya=G?((oa|0)>(x|0)?oa:x):oa;za=pa;Aa=qa;Ba=q}else if((z|0)==84){z=0;fh(a,32,aa,Fa,O^8192);t=ea;c=y;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}x=Ba-wa|0;G=(ya|0)<(x|0)?x:ya;N=G+za|0;M=(aa|0)<(N|0)?N:aa;fh(a,32,M,N,xa);ml(a,Aa,za);fh(a,48,M,N,xa^65536);fh(a,48,G,x,0);ml(a,wa,x);fh(a,32,M,N,xa^8192);t=ea;c=y;v=M;w=$}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{$=1;while(1){v=f[h+($<<2)>>2]|0;if(!v){Ia=$;break}Vc(g+($<<3)|0,v,e);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(k|0)!=(j|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(h,b-l|0,2652);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)ym(d);k=((b+-1|0)>>>5)+1|0;m=dj(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Vf(m|0,0,k<<2|0)|0;n=b-(k<<5)|0;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)ym(e);v=((o+-1|0)>>>5)+1|0;w=dj(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Vf(w|0,0,v<<2|0)|0;x=o-(v<<5)|0;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=k;B=q;C=r;D=0;E=b;a:while(1){F=A;G=D*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=C;J=B;F=0;I=E;while(1){M=F+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[H+(N>>>5<<2)>>2]&1<<(N&31))){O=N;P=0;Q=I}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))yf(h,2652);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))yf(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=52;break a}T=R<<6;R=N+32&-32;bf(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=I;O=I;P=1;Q=I+1|0}N=f[d>>2]|0;T=N+(O>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(O&31);T=N;b:do if(P){R=M;while(1){if((R|0)==-1){S=66;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=66;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==66){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!P){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=T;aa=N;ba=Q}else{$=J;aa=H;ba=I}F=F+1|0;if((F|0)>=3){ca=$;da=aa;ea=ba;break}else{H=aa;J=$;I=ba}}}else{ca=B;da=C;ea=E}}else{ca=B;da=C;ea=E}D=D+1|0;A=f[a>>2]|0;if(D>>>0>=(((f[m>>2]|0)-A>>2>>>0)/3|0)>>>0){S=18;break}else{B=ca;C=da;E=ea}}if((S|0)==18){fa=ca;ga=f[l>>2]|0;break}else if((S|0)==52)ym(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0){if(!S){l=a;ca=0;ea=ga;while(1){e:do if(ea){da=ca;m=0;while(1){if(!(f[l>>2]&1<>2]=ba;ha=ba}else ha=da;if((m|0)==31){ia=ha;break}else{da=ha;m=m+1|0}}}else{m=ca;da=0;while(1){if(!(f[l>>2]&1<>2]=N;ja=N}else ja=m;if((da|0)==31){ia=ja;break e}da=da+1|0;if(!da)break d;else m=ja}}while(0);l=l+4|0;if((l|0)==(q|0))break d;else{ca=ia;ea=1}}}if(ga){ea=a;ca=0;l=0;while(1){m=l;da=ca;N=0;while(1){if(!(f[ea>>2]&1<>2]=T;ka=T;la=T}else{ka=da;la=m}if((N|0)==31)break;else{m=la;da=ka;N=N+1|0}}N=ea+4|0;if((N|0)==(q|0)){ma=N;na=ka;break}else{ea=N;ca=ka;l=la}}}else{ma=a;na=0}l=na;ca=0;while(1){if(!(f[ma>>2]&1<>2]=ea;oa=ea}else oa=l;ca=ca+1|0;if((ca|0)==(S|0))break;else l=oa}}while(0);oa=f[e>>2]|0;if(oa|0)fn(oa);oa=f[d>>2]|0;if(!oa){u=c;return 1}fn(oa);u=c;return 1}function gb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;c=u;u=u+80|0;e=c+64|0;g=c+60|0;h=c+56|0;i=c+52|0;j=c+48|0;k=c;l=c+44|0;m=c+40|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;fn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(eg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];if(((eg(h,f[(f[n>>2]|0)+32>>2]|0)|0?(g=f[h>>2]|0,g>>>0<=1431655765):0)?(f[o>>2]|0)>>>0<=(g*3|0)>>>0:0)?(g=f[(f[n>>2]|0)+32>>2]|0,p=g+8|0,q=f[p+4>>2]|0,s=g+16|0,t=s,v=f[t>>2]|0,w=f[t+4>>2]|0,(q|0)>(w|0)|((q|0)==(w|0)?(f[p>>2]|0)>>>0>v>>>0:0)):0){p=b[(f[g>>2]|0)+v>>0]|0;q=Tj(v|0,w|0,1,0)|0;w=s;f[w>>2]=q;f[w+4>>2]=I;if((eg(i,g)|0?(g=f[h>>2]|0,w=f[i>>2]|0,g>>>0>=w>>>0):0)?g>>>0<=(((w>>>0)/3|0)+w|0)>>>0:0){do if(eg(j,f[(f[n>>2]|0)+32>>2]|0)|0?(f[j>>2]|0)>>>0<=(f[i>>2]|0)>>>0:0){w=f[a+24>>2]|0;g=a+28|0;q=f[g>>2]|0;if((q|0)!=(w|0))f[g>>2]=q+(~((q+-4-w|0)>>>2)<<2);w=dj(88)|0;gi(w);q=a+8|0;g=f[q>>2]|0;f[q>>2]=w;if(g|0?(of(g),fn(g),(f[q>>2]|0)==0):0){x=0;break}g=a+160|0;w=f[g>>2]|0;s=a+164|0;v=f[s>>2]|0;if((v|0)!=(w|0))f[s>>2]=v+(~((v+-4-w|0)>>>2)<<2);ug(g,f[h>>2]|0);g=a+172|0;w=f[g>>2]|0;v=a+176|0;s=f[v>>2]|0;if((s|0)!=(w|0))f[v>>2]=s+(~((s+-4-w|0)>>>2)<<2);ug(g,f[h>>2]|0);g=f[a+36>>2]|0;w=a+40|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~(((s+-12-g|0)>>>0)/12|0)*12|0);g=f[a+48>>2]|0;s=a+52|0;w=f[s>>2]|0;if((w|0)!=(g|0))f[s>>2]=w+(~((w+-4-g|0)>>>2)<<2);f[a+64>>2]=0;g=f[a+72>>2]|0;w=a+76|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~((s+-4-g|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;s=f[g>>2]|0;w=a+220|0;v=f[w>>2]|0;if((v|0)!=(s|0)){t=v;do{f[w>>2]=t+-144;v=f[t+-12>>2]|0;if(v|0){y=t+-8|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-28>>2]|0;if(v|0){z=t+-24|0;y=f[z>>2]|0;if((y|0)!=(v|0))f[z>>2]=y+(~((y+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-40>>2]|0;if(v|0){y=t+-36|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}vf(t+-140|0);t=f[w>>2]|0}while((t|0)!=(s|0))}s=p&255;Oe(g,s);if(!(Hf(f[q>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0)){x=0;break}t=(f[j>>2]|0)+(f[o>>2]|0)|0;b[e>>0]=1;ge(a+120|0,t,e);if((zc(a,f[(f[n>>2]|0)+32>>2]|0)|0)==-1){x=0;break}t=a+232|0;f[a+376>>2]=a;v=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;z=f[v>>2]|0;v=(f[z>>2]|0)+(f[z+16>>2]|0)|0;z=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;y=f[z>>2]|0;z=y+8|0;A=y+16|0;y=Vj(f[z>>2]|0,f[z+4>>2]|0,f[A>>2]|0,f[A+4>>2]|0)|0;A=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Yi(t,v,y,d[(f[A>>2]|0)+38>>1]|0);A=La[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=A;f[a+384>>2]=(f[j>>2]|0)+(f[o>>2]|0);f[a+372>>2]=s;Fi(k);a:do if(ec(t,k)|0){s=Xa(a,f[i>>2]|0)|0;if((s|0)==-1){B=0;break}A=f[(f[n>>2]|0)+32>>2]|0;y=k+16|0;v=f[y>>2]|0;z=(f[k>>2]|0)+v|0;C=k+8|0;D=Vj(f[C>>2]|0,f[C+4>>2]|0,v|0,f[y+4>>2]|0)|0;Yi(A,z,D,d[A+38>>1]|0);do if((f[w>>2]|0)!=(f[g>>2]|0)){A=f[q>>2]|0;if((f[A+4>>2]|0)==(f[A>>2]|0))break;A=0;do{f[l>>2]=A;f[e>>2]=f[l>>2];A=A+3|0;if(!(Uc(a,e)|0)){B=0;break a}D=f[q>>2]|0}while(A>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}while(0);if(b[a+308>>0]|0)ei(a+272|0);A=f[g>>2]|0;if((f[w>>2]|0)!=(A|0)){D=A;A=0;do{se(D+(A*144|0)+4|0,f[q>>2]|0)|0;z=f[g>>2]|0;y=f[z+(A*144|0)+132>>2]|0;v=f[z+(A*144|0)+136>>2]|0;if((y|0)==(v|0))E=z;else{C=z;z=y;while(1){f[m>>2]=f[z>>2];f[e>>2]=f[m>>2];_d(C+(A*144|0)+4|0,e);z=z+4|0;y=f[g>>2]|0;if((z|0)==(v|0)){E=y;break}else C=y}}Nh(E+(A*144|0)+4|0,0,0);A=A+1|0;D=f[g>>2]|0}while(A>>>0<(((f[w>>2]|0)-D|0)/144|0)>>>0)}D=f[q>>2]|0;A=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;D=a+196|0;C=a+200|0;v=f[C>>2]|0;z=f[D>>2]|0;y=v-z>>2;F=z;z=v;do if(A>>>0>y>>>0)jf(D,A-y|0);else{if(A>>>0>=y>>>0)break;v=F+(A<<2)|0;if((z|0)==(v|0))break;f[C>>2]=z+(~((z+-4-v|0)>>>2)<<2)}while(0);ug(a+184|0,A);z=f[g>>2]|0;if((f[w>>2]|0)!=(z|0)){C=z;z=0;do{F=C;y=(f[F+(z*144|0)+60>>2]|0)-(f[F+(z*144|0)+56>>2]|0)>>2;D=f[q>>2]|0;v=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;D=(y|0)<(v|0)?v:y;y=F+(z*144|0)+116|0;v=F+(z*144|0)+120|0;G=f[v>>2]|0;H=f[y>>2]|0;J=G-H>>2;K=H;H=G;do if(D>>>0>J>>>0)jf(y,D-J|0);else{if(D>>>0>=J>>>0)break;G=K+(D<<2)|0;if((H|0)==(G|0))break;f[v>>2]=H+(~((H+-4-G|0)>>>2)<<2)}while(0);ug(F+(z*144|0)+104|0,D);z=z+1|0;C=f[g>>2]|0}while(z>>>0<(((f[w>>2]|0)-C|0)/144|0)>>>0)}B=cb(a,s)|0}else B=0;while(0);ln(k+24|0);x=B}else x=0;while(0);L=x}else L=0;M=L}else M=0;r=M;u=c;return r|0}function hb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){r=b[q>>0]|0;m=g+(o<<3)|0;f[m>>2]=r;f[m+4>>2]=((r|0)<0)<<31>>31;o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Tj(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){t=g+(r<<3)|0;f[t>>2]=h[m>>0];f[t+4>>2]=0;r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Tj(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){k=d[t>>1]|0;q=g+(l<<3)|0;f[q>>2]=k;f[q+4>>2]=((k|0)<0)<<31>>31;l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){q=g+(o<<3)|0;f[q>>2]=j[k>>1];f[q+4>>2]=0;o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Tj(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){m=f[q>>2]|0;t=g+(r<<3)|0;f[t>>2]=m;f[t+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){t=g+(l<<3)|0;f[t>>2]=f[m>>2];f[t+4>>2]=0;l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){k=t;q=f[k+4>>2]|0;z=g+(o<<3)|0;f[z>>2]=f[k>>2];f[z+4>>2]=q;o=o+1|0;q=b[m>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else t=t+8|0}}else A=l;t=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;q=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;z=Tj(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=m+z|0;while(1){z=q;m=f[z+4>>2]|0;k=g+(r<<3)|0;f[k>>2]=f[z>>2];f[k+4>>2]=m;r=r+1|0;m=b[t>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+8|0}}else B=o;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 9:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=t+k|0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;t=g+(l<<3)|0;f[t>>2]=~~+C>>>0;f[t+4>>2]=k;l=l+1|0;k=b[q>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=r;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=q+t|0;while(1){E=+p[k>>3];t=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;q=g+(o<<3)|0;f[q>>2]=~~E>>>0;f[q+4>>2]=t;o=o+1|0;t=b[m>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){F=t;break}else k=k+8|0}}else F=l;k=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;t=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Tj(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=m+q|0;while(1){q=g+(r<<3)|0;f[q>>2]=h[t>>0];f[q+4>>2]=0;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){G=q;break}else t=t+1|0}}else G=o;t=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function ib(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+32|0;if(!(eg(d,f[j>>2]|0)|0)){k=0;u=c;return k|0}if(!(eg(e,f[j>>2]|0)|0)){k=0;u=c;return k|0}l=f[d>>2]|0;if(l>>>0>1431655765){k=0;u=c;return k|0}m=f[e>>2]|0;n=lj(l|0,0,3,0)|0;o=I;if(0>o>>>0|0==(o|0)&m>>>0>n>>>0){k=0;u=c;return k|0}n=f[j>>2]|0;o=n+8|0;p=f[o+4>>2]|0;q=n+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((p|0)>(t|0)|((p|0)==(t|0)?(f[o>>2]|0)>>>0>s>>>0:0))){k=0;u=c;return k|0}o=b[(f[n>>2]|0)+s>>0]|0;p=Tj(s|0,t|0,1,0)|0;r=I;v=q;f[v>>2]=p;f[v+4>>2]=r;a:do if(!(o<<24>>24)){if(!(fd(a,l)|0)){k=0;u=c;return k|0}}else{if(m>>>0<256){if(!l)break;v=a+44|0;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=n+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;b:do if((z|0)>(r|0)|(z|0)==(r|0)&y>>>0>p>>>0){x=n;A=l;B=p;C=r;D=z;E=y;F=0;while(1){G=x+16|0;H=f[x>>2]|0;J=b[H+B>>0]|0;K=Tj(B|0,C|0,1,0)|0;L=I;M=G;f[M>>2]=K;f[M+4>>2]=L;f[g>>2]=J&255;if(!((D|0)>(L|0)|(D|0)==(L|0)&E>>>0>K>>>0))break b;L=b[H+K>>0]|0;K=Tj(B|0,C|0,2,0)|0;J=I;M=G;f[M>>2]=K;f[M+4>>2]=J;f[q>>2]=L&255;if(!((D|0)>(J|0)|(D|0)==(J|0)&E>>>0>K>>>0))break b;J=b[H+K>>0]|0;K=Tj(B|0,C|0,3,0)|0;H=G;f[H>>2]=K;f[H+4>>2]=I;f[w>>2]=J&255;J=f[v>>2]|0;H=J+100|0;K=f[H>>2]|0;if((K|0)==(f[J+104>>2]|0)){df(J+96|0,g);N=f[d>>2]|0}else{f[K>>2]=f[g>>2];f[K+4>>2]=f[g+4>>2];f[K+8>>2]=f[g+8>>2];f[H>>2]=(f[H>>2]|0)+12;N=A}F=F+1|0;if(F>>>0>=N>>>0)break a;x=f[j>>2]|0;H=x+16|0;B=f[H>>2]|0;C=f[H+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;H=x+8|0;E=f[H>>2]|0;D=f[H+4>>2]|0;if(!((D|0)>(C|0)|(D|0)==(C|0)&E>>>0>B>>>0))break;else A=N}}while(0);k=0;u=c;return k|0}if(m>>>0<65536){if(!l)break;v=a+44|0;w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=n+8|0;z=f[y>>2]|0;A=f[y+4>>2]|0;y=Tj(s|0,t|0,3,0)|0;B=I;c:do if(!((A|0)<(B|0)|(A|0)==(B|0)&z>>>0>>0)){E=n;C=p;D=y;x=B;F=r;H=A;K=z;J=l;G=0;while(1){L=E+16|0;M=f[E>>2]|0;O=M+C|0;P=h[O>>0]|h[O+1>>0]<<8;O=L;f[O>>2]=D;f[O+4>>2]=x;f[g>>2]=P&65535;P=Tj(C|0,F|0,4,0)|0;O=I;if((H|0)<(O|0)|(H|0)==(O|0)&K>>>0

>>0)break c;Q=M+D|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=P;f[Q+4>>2]=O;f[w>>2]=R&65535;R=Tj(C|0,F|0,6,0)|0;O=I;if((H|0)<(O|0)|(H|0)==(O|0)&K>>>0>>0)break c;Q=M+P|0;P=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=R;f[Q+4>>2]=O;f[q>>2]=P&65535;P=f[v>>2]|0;O=P+100|0;Q=f[O>>2]|0;if((Q|0)==(f[P+104>>2]|0)){df(P+96|0,g);S=f[d>>2]|0}else{f[Q>>2]=f[g>>2];f[Q+4>>2]=f[g+4>>2];f[Q+8>>2]=f[g+8>>2];f[O>>2]=(f[O>>2]|0)+12;S=J}G=G+1|0;if(G>>>0>=S>>>0)break a;E=f[j>>2]|0;O=E+16|0;C=f[O>>2]|0;F=f[O+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;O=E+8|0;K=f[O>>2]|0;H=f[O+4>>2]|0;D=Tj(C|0,F|0,2,0)|0;x=I;if((H|0)<(x|0)|(H|0)==(x|0)&K>>>0>>0)break;else J=S}}while(0);k=0;u=c;return k|0}v=a+44|0;if((f[(f[v>>2]|0)+80>>2]|0)>>>0<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!l)break;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(eg(i,n)|0){z=0;do{f[g>>2]=f[i>>2];if(!(eg(i,f[j>>2]|0)|0))break d;f[q>>2]=f[i>>2];if(!(eg(i,f[j>>2]|0)|0))break d;f[w>>2]=f[i>>2];A=f[v>>2]|0;B=A+100|0;y=f[B>>2]|0;if((y|0)==(f[A+104>>2]|0))df(A+96|0,g);else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[B>>2]=(f[B>>2]|0)+12}z=z+1|0;if(z>>>0>=(f[d>>2]|0)>>>0)break a;B=f[j>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(eg(i,B)|0)}while(0);k=0;u=c;return k|0}if(l|0){w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=n+8|0;B=f[z>>2]|0;y=f[z+4>>2]|0;z=Tj(s|0,t|0,5,0)|0;A=I;e:do if(!((y|0)<(A|0)|(y|0)==(A|0)&B>>>0>>0)){J=n;D=p;K=z;x=A;H=r;F=y;C=B;E=l;G=0;while(1){O=J+16|0;Q=f[J>>2]|0;P=Q+D|0;R=h[P>>0]|h[P+1>>0]<<8|h[P+2>>0]<<16|h[P+3>>0]<<24;P=O;f[P>>2]=K;f[P+4>>2]=x;f[g>>2]=R;R=Tj(D|0,H|0,8,0)|0;P=I;if((F|0)<(P|0)|(F|0)==(P|0)&C>>>0>>0)break e;L=Q+K|0;M=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=R;f[L+4>>2]=P;f[w>>2]=M;M=Tj(D|0,H|0,12,0)|0;P=I;if((F|0)<(P|0)|(F|0)==(P|0)&C>>>0>>0)break e;L=Q+R|0;R=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=M;f[L+4>>2]=P;f[q>>2]=R;R=f[v>>2]|0;P=R+100|0;L=f[P>>2]|0;if((L|0)==(f[R+104>>2]|0)){df(R+96|0,g);T=f[d>>2]|0}else{f[L>>2]=f[g>>2];f[L+4>>2]=f[g+4>>2];f[L+8>>2]=f[g+8>>2];f[P>>2]=(f[P>>2]|0)+12;T=E}G=G+1|0;if(G>>>0>=T>>>0)break a;J=f[j>>2]|0;P=J+16|0;D=f[P>>2]|0;H=f[P+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;P=J+8|0;C=f[P>>2]|0;F=f[P+4>>2]|0;K=Tj(D|0,H|0,4,0)|0;x=I;if((F|0)<(x|0)|(F|0)==(x|0)&C>>>0>>0)break;else E=T}}while(0);k=0;u=c;return k|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];k=1;u=c;return k|0}function jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){yf(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=-1;n=l}else{m=f[(f[h>>2]|0)+(k<<2)>>2]|0;n=l}}else{m=-1;n=-1}l=a+24|0;k=f[l>>2]|0;h=k+(n>>>5<<2)|0;g=1<<(n&31);j=f[h>>2]|0;if(!(j&g)){f[h>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;h=f[o>>2]|0;if((h|0)==(f[g+8>>2]|0))yf(g,d);else{f[h>>2]=j;f[o>>2]=h+4}h=a+40|0;o=f[h>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){yf(o,e);p=f[h>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(n<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[l>>2]|0}else q=k;k=q+(m>>>5<<2)|0;q=1<<(m&31);o=f[k>>2]|0;if(!(o&q)){f[k>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;k=f[r>>2]|0;if((k|0)==(f[o+8>>2]|0))yf(o,d);else{f[k>>2]=q;f[r>>2]=k+4}k=a+40|0;r=f[k>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){yf(r,e);s=f[k>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(m<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[l>>2]|0)+(t>>>5<<2)|0;m=1<<(t&31);s=f[r>>2]|0;if(!(m&s)){f[r>>2]=s|m;m=f[i>>2]|0;f[e>>2]=m;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[a+48>>2]|0;f[d>>2]=s;r=f[m+4>>2]|0;m=r+4|0;o=f[m>>2]|0;if((o|0)==(f[r+8>>2]|0))yf(r,d);else{f[o>>2]=s;f[m>>2]=o+4}o=a+40|0;m=f[o>>2]|0;s=m+4|0;r=f[s>>2]|0;if((r|0)==(f[m+8>>2]|0)){yf(m,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=m}m=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1}m=f[b>>2]|0;a:do if((m|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=m;while(1){k=q;while(1){w=a+52+(k*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(k*12|0)>>2]|0)!=(x|0))break;n=k+1|0;if((n|0)<3)k=n;else break a}n=x+-4|0;p=f[n>>2]|0;f[w>>2]=n;f[b>>2]=k;f[i>>2]=p;if((p|0)==-1)break;n=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(n>>>5<<2)>>2]&1<<(n&31))){j=p;h=g;b:while(1){y=(j>>>0)/3|0;z=h+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[l>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))yf(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){yf(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[l>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))yf(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[l>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;h=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;h=a+52+(O*12|0)+4|0;j=f[h>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))yf(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[h>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=k;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;o=l+q|0;while(1){d[g+(m<<1)>>1]=b[o>>0]|0;m=m+1|0;q=b[j>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){r=q;break}else o=o+1|0}}else r=k;o=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 2:{o=a+24|0;m=b[o>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){j=f[f[a>>2]>>2]|0;q=a+40|0;l=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;s=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;l=j+s|0;while(1){d[g+(q<<1)>>1]=h[l>>0]|0;q=q+1|0;s=b[o>>0]|0;if((q|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){t=s;break}else l=l+1|0}}else t=m;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;s=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;j=Tj(s|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;s=o+j|0;while(1){d[g+(k<<1)>>1]=d[s>>1]|0;k=k+1|0;j=b[l>>0]|0;if((k|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){u=j;break}else s=s+2|0}}else u=q;s=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 4:{s=a+24|0;k=b[s>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;j=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;o=Tj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;j=l+o|0;while(1){d[g+(m<<1)>>1]=d[j>>1]|0;m=m+1|0;o=b[s>>0]|0;if((m|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else j=j+2|0}}else v=k;j=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 5:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){s=f[f[a>>2]>>2]|0;q=a+40|0;o=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;l=Tj(o|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;o=s+l|0;while(1){d[g+(q<<1)>>1]=f[o>>2];q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){w=l;break}else o=o+4|0}}else w=m;o=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 6:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;k=a+40|0;l=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;s=Tj(l|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;l=j+s|0;while(1){d[g+(k<<1)>>1]=f[l>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){x=s;break}else l=l+4|0}}else x=q;l=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 7:{l=a+24|0;k=b[l>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;j=Tj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;s=o+j|0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;j=b[l>>0]|0;if((m|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){y=j;break}else s=s+8|0}}else y=k;s=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 8:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;j=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;o=Tj(j|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;j=l+o|0;while(1){d[g+(q<<1)>>1]=f[j>>2];q=q+1|0;o=b[s>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else j=j+8|0}}else z=m;j=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 9:{j=a+24|0;q=b[j>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){s=f[f[a>>2]>>2]|0;k=a+40|0;o=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(o|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;o=s+l|0;while(1){l=~~$(n[o>>2])&65535;d[g+(k<<1)>>1]=l;k=k+1|0;l=b[j>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else o=o+4|0}}else A=q;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 10:{o=a+24|0;k=b[o>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){j=f[f[a>>2]>>2]|0;m=a+40|0;l=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;s=Tj(l|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;l=j+s|0;while(1){d[g+(m<<1)>>1]=~~+p[l>>3];m=m+1|0;s=b[o>>0]|0;if((m|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){B=s;break}else l=l+8|0}}else B=k;l=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 11:{l=a+24|0;m=b[l>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){o=f[f[a>>2]>>2]|0;q=a+40|0;s=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(s|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;s=o+j|0;while(1){d[g+(q<<1)>>1]=h[s>>0]|0;q=q+1|0;j=b[l>>0]|0;if((q|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){C=j;break}else s=s+1|0}}else C=m;s=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;o=l+q|0;while(1){d[g+(m<<1)>>1]=b[o>>0]|0;m=m+1|0;q=b[j>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){r=q;break}else o=o+1|0}}else r=k;o=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 2:{o=a+24|0;m=b[o>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){j=f[f[a>>2]>>2]|0;q=a+40|0;l=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;s=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;l=j+s|0;while(1){d[g+(q<<1)>>1]=h[l>>0]|0;q=q+1|0;s=b[o>>0]|0;if((q|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){t=s;break}else l=l+1|0}}else t=m;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;s=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;j=Tj(s|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;s=o+j|0;while(1){d[g+(k<<1)>>1]=d[s>>1]|0;k=k+1|0;j=b[l>>0]|0;if((k|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){u=j;break}else s=s+2|0}}else u=q;s=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 4:{s=a+24|0;k=b[s>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;j=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;o=Tj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;j=l+o|0;while(1){d[g+(m<<1)>>1]=d[j>>1]|0;m=m+1|0;o=b[s>>0]|0;if((m|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else j=j+2|0}}else v=k;j=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 5:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){s=f[f[a>>2]>>2]|0;q=a+40|0;o=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;l=Tj(o|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;o=s+l|0;while(1){d[g+(q<<1)>>1]=f[o>>2];q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){w=l;break}else o=o+4|0}}else w=m;o=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 6:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;k=a+40|0;l=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;s=Tj(l|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;l=j+s|0;while(1){d[g+(k<<1)>>1]=f[l>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){x=s;break}else l=l+4|0}}else x=q;l=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 7:{l=a+24|0;k=b[l>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;j=Tj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;s=o+j|0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;j=b[l>>0]|0;if((m|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){y=j;break}else s=s+8|0}}else y=k;s=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 8:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;j=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;o=Tj(j|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;j=l+o|0;while(1){d[g+(q<<1)>>1]=f[j>>2];q=q+1|0;o=b[s>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else j=j+8|0}}else z=m;j=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 9:{j=a+24|0;q=b[j>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){s=f[f[a>>2]>>2]|0;k=a+40|0;o=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(o|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;o=s+l|0;while(1){l=~~$(n[o>>2]);d[g+(k<<1)>>1]=l;k=k+1|0;l=b[j>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else o=o+4|0}}else A=q;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 10:{o=a+24|0;k=b[o>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){j=f[f[a>>2]>>2]|0;m=a+40|0;l=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;s=Tj(l|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;l=j+s|0;while(1){d[g+(m<<1)>>1]=~~+p[l>>3];m=m+1|0;s=b[o>>0]|0;if((m|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){B=s;break}else l=l+8|0}}else B=k;l=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 11:{l=a+24|0;m=b[l>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){o=f[f[a>>2]>>2]|0;q=a+40|0;s=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(s|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;s=o+j|0;while(1){d[g+(q<<1)>>1]=h[s>>0]|0;q=q+1|0;j=b[l>>0]|0;if((q|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){C=j;break}else s=s+1|0}}else C=m;s=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Tj(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Tj(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Tj(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Tj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Tj(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2])>>>0;f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Tj(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3]>>>0;o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Tj(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Tj(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Tj(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Tj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Tj(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2]);f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Tj(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3];o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))yf(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=m;r=p;s=g+2|0;break}else{q=m;r=p;s=g+-1|0;break}}else{p=f[n+28>>2]|0;q=p;r=f[p+-4>>2]|0;s=-1}while(0);n=f[q+(s<<2)>>2]|0;if((r|0)==-1|(n|0)==-1){h=0;u=c;return h|0}s=a+24|0;q=f[s>>2]|0;g=q+(r>>>5<<2)|0;k=1<<(r&31);p=f[g>>2]|0;if(!(p&k)){f[g>>2]=p|k;k=f[b>>2]|0;p=k+1|0;if((k|0)==-1)t=-1;else t=((p>>>0)%3|0|0)==0?k+-2|0:p;f[e>>2]=t;p=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=p;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))yf(k,d);else{f[g>>2]=p;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;p=t+4|0;k=f[p>>2]|0;if((k|0)==(f[t+8>>2]|0)){yf(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(r<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[s>>2]|0}else w=q;q=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[q>>2]|0;if(!(t&w)){f[q>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;q=f[x>>2]|0;if((q|0)==(f[t+8>>2]|0))yf(t,d);else{f[q>>2]=w;f[x>>2]=q+4}q=a+40|0;x=f[q>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){yf(x,e);y=f[q>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;q=x;x=n;a:while(1){n=f[x+-4>>2]|0;f[b>>2]=n;r=(n>>>0)/3|0;if((n|0)!=-1?(n=(f[j>>2]|0)+(r>>>5<<2)|0,v=1<<(r&31),r=f[n>>2]|0,(r&v|0)==0):0){f[n>>2]=r|v;v=f[a>>2]|0;r=f[b>>2]|0;n=f[(f[v+28>>2]|0)+(r<<2)>>2]|0;if((n|0)==-1){h=0;z=79;break}else{A=r;B=v;C=n}b:while(1){n=(f[s>>2]|0)+(C>>>5<<2)|0;v=1<<(C&31);r=f[n>>2]|0;do if(!(r&v)){k=f[(f[B+40>>2]|0)+(C<<2)>>2]|0;if((k|0)==-1)D=1;else{p=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(p&31)&f[(f[B+12>>2]|0)+(p>>>5<<2)>>2]|0)!=0}f[n>>2]=r|v;p=f[b>>2]|0;f[e>>2]=p;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]|0;p=f[t>>2]|0;f[d>>2]=k;g=f[p+4>>2]|0;p=g+4|0;m=f[p>>2]|0;if((m|0)==(f[g+8>>2]|0))yf(g,d);else{f[m>>2]=k;f[p>>2]=m+4}m=f[w>>2]|0;p=m+4|0;k=f[p>>2]|0;if((k|0)==(f[m+8>>2]|0)){yf(m,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;E=m}m=E+24|0;f[(f[E+12>>2]|0)+(C<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1;m=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=m;z=59;break}p=k+1|0;do if((k|0)==-1)H=-1;else{g=((p>>>0)%3|0|0)==0?k+-2|0:p;if((g|0)==-1){H=-1;break}if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[m+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=m;J=(H>>>0)/3|0}else{F=A;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=63;break}r=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((r|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((r|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);r=(K|0)==-1;v=(K>>>0)/3|0;n=r?-1:v;p=(L|0)==-1;k=(L>>>0)/3|0;g=p?-1:k;do if(!r){M=f[j>>2]|0;if(f[M+(n>>>5<<2)>>2]&1<<(n&31)|0){z=69;break}if(p){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(p){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=G;J=O}v=(f[j>>2]|0)+(J>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(J&31);A=f[b>>2]|0;C=f[(f[I+28>>2]|0)+(A<<2)>>2]|0;if((C|0)==-1){h=0;z=79;break a}else B=I}do if((z|0)==63){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){yf(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];n=v+4|0;f[l>>2]=n;P=n;break}}while(0);if((z|0)==71){z=0;n=(f[l>>2]|0)+-4|0;f[l>>2]=n;P=n}Q=f[i>>2]|0;R=P}else{n=x+-4|0;f[l>>2]=n;Q=q;R=n}if((Q|0)==(R|0)){h=1;z=79;break}else{q=Q;x=R}}if((z|0)==79){u=c;return h|0}return 0}function pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+o|0;while(1){b[g+l>>0]=b[m>>0]|0;l=l+1|0;o=b[i>>0]|0;if((l|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){q=o;break}else m=m+1|0}}else q=j;m=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 2:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){i=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=i+r|0;while(1){b[g+o>>0]=b[k>>0]|0;o=o+1|0;r=b[m>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else k=k+1|0}}else s=l;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;j=a+40|0;r=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;i=Tj(r|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;r=m+i|0;while(1){b[g+j>>0]=d[r>>1];j=j+1|0;i=b[k>>0]|0;if((j|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){t=i;break}else r=r+2|0}}else t=o;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 4:{r=a+24|0;j=b[r>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;i=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Tj(i|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;i=k+m|0;while(1){b[g+l>>0]=d[i>>1];l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else i=i+2|0}}else u=j;i=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 5:{i=a+24|0;l=b[i>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;m=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=r+k|0;while(1){b[g+o>>0]=f[m>>2];o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else m=m+4|0}}else v=l;m=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 6:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;j=a+40|0;k=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;r=Tj(k|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;k=i+r|0;while(1){b[g+j>>0]=f[k>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){w=r;break}else k=k+4|0}}else w=o;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 7:{k=a+24|0;j=b[k>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;i=Tj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;r=m+i|0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;i=b[k>>0]|0;if((l|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){x=i;break}else r=r+8|0}}else x=j;r=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 8:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;i=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;m=Tj(i|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;i=k+m|0;while(1){b[g+o>>0]=f[i>>2];o=o+1|0;m=b[r>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else i=i+8|0}}else y=l;i=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 9:{i=a+24|0;o=b[i>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;j=a+40|0;m=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Tj(m|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;m=r+k|0;while(1){k=~~$(n[m>>2])&255;b[g+j>>0]=k;j=j+1|0;k=b[i>>0]|0;if((j|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else m=m+4|0}}else z=o;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 10:{m=a+24|0;j=b[m>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){i=f[f[a>>2]>>2]|0;l=a+40|0;k=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;k=i+r|0;while(1){b[g+l>>0]=~~+p[k>>3];l=l+1|0;r=b[m>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=j;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 11:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;r=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;r=m+i|0;while(1){b[g+o>>0]=b[r>>0]|0;o=o+1|0;i=b[k>>0]|0;if((o|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){B=i;break}else r=r+1|0}}else B=l;r=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+o|0;while(1){b[g+l>>0]=b[m>>0]|0;l=l+1|0;o=b[i>>0]|0;if((l|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){q=o;break}else m=m+1|0}}else q=j;m=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 2:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){i=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=i+r|0;while(1){b[g+o>>0]=b[k>>0]|0;o=o+1|0;r=b[m>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else k=k+1|0}}else s=l;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;j=a+40|0;r=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;i=Tj(r|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;r=m+i|0;while(1){b[g+j>>0]=d[r>>1];j=j+1|0;i=b[k>>0]|0;if((j|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){t=i;break}else r=r+2|0}}else t=o;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 4:{r=a+24|0;j=b[r>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;i=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Tj(i|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;i=k+m|0;while(1){b[g+l>>0]=d[i>>1];l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else i=i+2|0}}else u=j;i=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 5:{i=a+24|0;l=b[i>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;m=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=r+k|0;while(1){b[g+o>>0]=f[m>>2];o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else m=m+4|0}}else v=l;m=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 6:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;j=a+40|0;k=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;r=Tj(k|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;k=i+r|0;while(1){b[g+j>>0]=f[k>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){w=r;break}else k=k+4|0}}else w=o;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 7:{k=a+24|0;j=b[k>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;i=Tj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;r=m+i|0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;i=b[k>>0]|0;if((l|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){x=i;break}else r=r+8|0}}else x=j;r=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 8:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;i=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;m=Tj(i|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;i=k+m|0;while(1){b[g+o>>0]=f[i>>2];o=o+1|0;m=b[r>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else i=i+8|0}}else y=l;i=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 9:{i=a+24|0;o=b[i>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;j=a+40|0;m=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Tj(m|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;m=r+k|0;while(1){k=~~$(n[m>>2]);b[g+j>>0]=k;j=j+1|0;k=b[i>>0]|0;if((j|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else m=m+4|0}}else z=o;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 10:{m=a+24|0;j=b[m>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){i=f[f[a>>2]>>2]|0;l=a+40|0;k=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;k=i+r|0;while(1){b[g+l>>0]=~~+p[k>>3];l=l+1|0;r=b[m>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=j;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 11:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;r=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;r=m+i|0;while(1){b[g+o>>0]=b[r>>0]|0;o=o+1|0;i=b[k>>0]|0;if((o|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){B=i;break}else r=r+1|0}}else B=l;r=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))yf(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))yf(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){yf(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))yf(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){yf(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))yf(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){yf(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=D;J=(H>>>0)/3|0}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=G;J=N}t=(f[j>>2]|0)+(J>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(J&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=I}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){yf(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function sb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)ym(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)ym(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];hb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];hb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];hb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Vj(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Vj(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=lj(s|0,x|0,s|0,x|0)|0;N=I;O=lj(E|0,D|0,E|0,D|0)|0;P=Tj(O|0,I|0,M|0,N|0)|0;N=I;M=lj(J|0,H|0,J|0,H|0)|0;O=Tj(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Vj(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Vj(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Vj(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=lj(P|0,C|0,s|0,x|0)|0;F=I;Q=lj(N|0,G|0,E|0,D|0)|0;R=Tj(Q|0,I|0,K|0,F|0)|0;F=I;K=lj(y|0,L|0,J|0,H|0)|0;Q=Tj(R|0,F|0,K|0,I|0)|0;K=I;F=Vj(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;R=Vj(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;S=lj(O|0,M|0,p|0,q|0)|0;q=I;p=lj(O|0,M|0,n|0,o|0)|0;o=I;n=lj(Q|0,K|0,F|0,t|0)|0;T=I;U=lj(Q|0,K|0,R|0,v|0)|0;V=I;W=Tj(n|0,T|0,S|0,q|0)|0;q=I;S=Tj(U|0,V|0,p|0,o|0)|0;o=I;p=lj(Q|0,K|0,s|0,x|0)|0;x=I;s=lj(Q|0,K|0,E|0,D|0)|0;D=I;E=lj(Q|0,K|0,J|0,H|0)|0;H=I;J=Ug(p|0,x|0,O|0,M|0)|0;x=I;p=Ug(s|0,D|0,O|0,M|0)|0;D=I;s=Ug(E|0,H|0,O|0,M|0)|0;H=I;E=Vj(P|0,C|0,J|0,x|0)|0;x=I;J=Vj(N|0,G|0,p|0,D|0)|0;D=I;p=Vj(y|0,L|0,s|0,H|0)|0;H=I;s=lj(E|0,x|0,E|0,x|0)|0;x=I;E=lj(J|0,D|0,J|0,D|0)|0;D=Tj(E|0,I|0,s|0,x|0)|0;x=I;s=lj(p|0,H|0,p|0,H|0)|0;H=Tj(D|0,x|0,s|0,I|0)|0;s=I;x=Vj(0,0,F|0,t|0)|0;t=I;F=lj(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=23}break}case 1:{if(!s){ca=1;da=0;ba=24}else{Z=1;_=0;$=F;aa=s;ba=23}break}default:{Z=1;_=0;$=F;aa=s;ba=23}}if((ba|0)==23)while(1){ba=0;H=Qj(Z|0,_|0,1)|0;D=I;p=$;$=Wj($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&p>>>0>7)){ca=H;da=D;ba=24;break}else{Z=H;_=D;aa=I;ba=23}}if((ba|0)==24)while(1){ba=0;D=Jl(F|0,s|0,ca|0,da|0)|0;H=Tj(D|0,I|0,ca|0,da|0)|0;D=Wj(H|0,I|0,1)|0;H=I;p=lj(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&p>>>0>F>>>0){ca=D;da=H;ba=24}else{X=D;Y=H;break}}F=lj(X|0,Y|0,R|0,v|0)|0;s=I;H=lj(X|0,Y|0,x|0,t|0)|0;D=I;p=a+20|0;E=f[p>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[p>>2]=J;J=Vj(0,0,F|0,s|0)|0;p=Tj(W|0,q|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Vj(0,0,H|0,D|0)|0;F=Tj(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Ug(p|0,s|0,O|0,M|0)|0;s=Ug(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(r)fa=m<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function tb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=o;q=n+2|0;break}else{p=o;q=n+-1|0;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(p<<2)>>2]|0;p=f[n+(q<<2)>>2]|0;q=f[a+36>>2]|0;n=f[q>>2]|0;c=(f[q+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)ym(q);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=p>>>0)ym(q);q=f[o+(p<<2)>>2]|0;p=(n|0)<(e|0);do if(p&(q|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=q<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];hb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];hb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];hb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Vj(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Vj(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=lj(s|0,x|0,s|0,x|0)|0;N=I;O=lj(E|0,D|0,E|0,D|0)|0;P=Tj(O|0,I|0,M|0,N|0)|0;N=I;M=lj(J|0,H|0,J|0,H|0)|0;O=Tj(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Vj(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Vj(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Vj(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=lj(P|0,C|0,s|0,x|0)|0;F=I;Q=lj(N|0,G|0,E|0,D|0)|0;R=Tj(Q|0,I|0,K|0,F|0)|0;F=I;K=lj(y|0,L|0,J|0,H|0)|0;Q=Tj(R|0,F|0,K|0,I|0)|0;K=I;F=Vj(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;R=Vj(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;S=lj(O|0,M|0,c|0,m|0)|0;m=I;c=lj(O|0,M|0,r|0,o|0)|0;o=I;r=lj(Q|0,K|0,F|0,t|0)|0;T=I;U=lj(Q|0,K|0,R|0,v|0)|0;V=I;W=Tj(r|0,T|0,S|0,m|0)|0;m=I;S=Tj(U|0,V|0,c|0,o|0)|0;o=I;c=lj(Q|0,K|0,s|0,x|0)|0;x=I;s=lj(Q|0,K|0,E|0,D|0)|0;D=I;E=lj(Q|0,K|0,J|0,H|0)|0;H=I;J=Ug(c|0,x|0,O|0,M|0)|0;x=I;c=Ug(s|0,D|0,O|0,M|0)|0;D=I;s=Ug(E|0,H|0,O|0,M|0)|0;H=I;E=Vj(P|0,C|0,J|0,x|0)|0;x=I;J=Vj(N|0,G|0,c|0,D|0)|0;D=I;c=Vj(y|0,L|0,s|0,H|0)|0;H=I;s=lj(E|0,x|0,E|0,x|0)|0;x=I;E=lj(J|0,D|0,J|0,D|0)|0;D=Tj(E|0,I|0,s|0,x|0)|0;x=I;s=lj(c|0,H|0,c|0,H|0)|0;H=Tj(D|0,x|0,s|0,I|0)|0;s=I;x=Vj(0,0,F|0,t|0)|0;t=I;F=lj(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=22}break}case 1:{if(!s){ca=1;da=0;ba=23}else{Z=1;_=0;$=F;aa=s;ba=22}break}default:{Z=1;_=0;$=F;aa=s;ba=22}}if((ba|0)==22)while(1){ba=0;H=Qj(Z|0,_|0,1)|0;D=I;c=$;$=Wj($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&c>>>0>7)){ca=H;da=D;ba=23;break}else{Z=H;_=D;aa=I;ba=22}}if((ba|0)==23)while(1){ba=0;D=Jl(F|0,s|0,ca|0,da|0)|0;H=Tj(D|0,I|0,ca|0,da|0)|0;D=Wj(H|0,I|0,1)|0;H=I;c=lj(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&c>>>0>F>>>0){ca=D;da=H;ba=23}else{X=D;Y=H;break}}F=lj(X|0,Y|0,R|0,v|0)|0;s=I;H=lj(X|0,Y|0,x|0,t|0)|0;D=I;c=a+20|0;E=f[c>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[c>>2]=J;J=Vj(0,0,F|0,s|0)|0;c=Tj(W|0,m|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Vj(0,0,H|0,D|0)|0;F=Tj(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Ug(c|0,s|0,O|0,M|0)|0;s=Ug(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(p)fa=n<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)ym(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];hb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=o;J=a;K=o;while(1){do if(J){L=H+1|0;if((H|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?H+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A;T=Q;U=A+2|0;V=19;break}else{R=A;S=A;T=Q;U=A+-1|0;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=K+1|0;L=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if(!((K>>>0)%3|0)){R=A;S=H;T=L;U=K+2|0;V=19;break}else{R=A;S=H;T=L;U=K+-1|0;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=S;O=U;P=-1}else{M=R;N=S;O=U;P=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=P>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(P<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];hb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];hb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Vj(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Vj(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Vj(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Vj(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Vj(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Vj(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=lj($|0,ia|0,ca|0,ba|0)|0;da=I;la=lj(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=lj(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=lj($|0,ia|0,Q|0,L|0)|0;ia=I;$=lj(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=lj(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Vj(B|0,C|0,la|0,ma|0)|0;ma=Tj(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Tj(na|0,fa|0,D|0,E|0)|0;fa=Vj(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Vj(F|0,G|0,Q|0,ba|0)|0;ba=Tj(ga|0,I|0,$|0,L|0)|0;L=I;Ee(i);K=f[c>>2]|0;$=(f[v>>2]|0)==0;if((K|0)==-1){oa=da;pa=ma;qa=ia;ra=fa;sa=L;ta=ba;ua=$;break a}else{A=M;B=ma;C=da;D=fa;E=ia;F=ba;G=L;H=N;J=$}}if((V|0)==22)ym(W);else if((V|0)==28)ym(Z)}else{oa=0;pa=0;qa=0;ra=0;sa=0;ta=0;ua=a}while(0);a=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;Z=Vj(0,0,pa|0,oa|0)|0;V=a?oa:I;W=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;N=Vj(0,0,ra|0,qa|0)|0;M=W?qa:I;v=(sa|0)>-1|(sa|0)==-1&ta>>>0>4294967295;c=Vj(0,0,ta|0,sa|0)|0;i=Tj((W?ra:N)|0,M|0,(v?ta:c)|0,(v?sa:I)|0)|0;v=Tj(i|0,I|0,(a?pa:Z)|0,V|0)|0;V=I;if(ua){if((v|0)<=536870912){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}ua=Wj(v|0,V|0,29)|0;Z=ua&7;ua=Ug(pa|0,oa|0,Z|0,0)|0;a=Ug(ra|0,qa|0,Z|0,0)|0;i=Ug(ta|0,sa|0,Z|0,0)|0;va=ua;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Wj(v|0,V|0,29)|0;V=I;v=Ug(pa|0,oa|0,i|0,V|0)|0;oa=Ug(ra|0,qa|0,i|0,V|0)|0;qa=Ug(ta|0,sa|0,i|0,V|0)|0;va=v;wa=oa;xa=qa;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Tb(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];dd(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{kf(j,m);o=f[j>>2]|0;p=f[d>>2]|0}ee(o|0,p|0,m|0)|0;Sf(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=p;r=0;s=o}else{kf(c,d);q=f[k>>2]|0;r=f[c>>2]|0;s=f[j>>2]|0}ee(r|0,s|0,q-s|0)|0;s=i+11|0;q=b[s>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;d=r?f[i+4>>2]|0:q&255;if(d>>>0>3){q=c;r=d;o=d;while(1){p=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(p>>>24^p,1540483477)|0)^(X(r,1540483477)|0);o=o+-4|0;if(o>>>0<=3)break;else q=q+4|0}q=d+-4|0;o=q&-4;t=c+(o+4)|0;v=r;w=q-o|0}else{t=c;v=d;w=d}switch(w|0){case 3:{x=h[t+2>>0]<<16^v;y=12;break}case 2:{x=v;y=12;break}case 1:{z=v;y=13;break}default:A=v}if((y|0)==12){z=h[t+1>>0]<<8^x;y=13}if((y|0)==13)A=X(h[t>>0]^z,1540483477)|0;z=X(A>>>13^A,1540483477)|0;A=z>>>15^z;z=a+4|0;t=f[z>>2]|0;x=(t|0)==0;a:do if(!x){v=t+-1|0;w=(v&t|0)==0;if(!w)if(A>>>0>>0)B=A;else B=(A>>>0)%(t>>>0)|0;else B=A&v;o=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((o|0)!=0?(q=f[o>>2]|0,(q|0)!=0):0){o=(d|0)==0;if(w){if(o){w=q;while(1){r=f[w+4>>2]|0;if(!((r|0)==(A|0)|(r&v|0)==(B|0))){C=B;y=54;break a}r=b[w+8+11>>0]|0;if(!((r<<24>>24<0?f[w+12>>2]|0:r&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else D=q;while(1){w=f[D+4>>2]|0;if(!((w|0)==(A|0)|(w&v|0)==(B|0))){C=B;y=54;break a}w=D+8|0;r=b[w+11>>0]|0;p=r<<24>>24<0;l=r&255;do if(((p?f[D+12>>2]|0:l)|0)==(d|0)){r=f[w>>2]|0;if(p)if(!(mh(r,c,d)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=l;E=w;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(o){v=q;while(1){w=f[v+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)G=w;else G=(w>>>0)%(t>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}w=b[v+8+11>>0]|0;if(!((w<<24>>24<0?f[v+12>>2]|0:w&255)|0))break a;v=f[v>>2]|0;if(!v){C=B;y=54;break a}}}else H=q;while(1){v=f[H+4>>2]|0;if((v|0)!=(A|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(t>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}v=H+8|0;o=b[v+11>>0]|0;w=o<<24>>24<0;l=o&255;do if(((w?f[H+12>>2]|0:l)|0)==(d|0)){o=f[v>>2]|0;if(w)if(!(mh(o,c,d)|0))break a;else break;if((o&255)<<24>>24==(b[c>>0]|0)){o=l;p=v;F=c;do{o=o+-1|0;p=p+1|0;if(!o)break a;F=F+1|0}while((b[p>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){ke(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(t>>>0);L=$(n[a+16>>2]);do if(x|J>$(K*L)){B=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;H=~~$(W($(J/L)))>>>0;Pe(a,B>>>0>>0?H:B);B=f[z>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=t;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){t=a+8|0;f[f[g>>2]>>2]=f[t>>2];f[t>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=t;t=f[g>>2]|0;N=f[t>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=t;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;fn(O)}if((b[s>>0]|0)<0)fn(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;fn(i);u=e;return}function wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)ym(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];hb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=0;B=0;C=0;D=0;E=0;F=0;G=o;H=a;J=o;while(1){do if(H){K=G+1|0;if((G|0)!=-1){L=((K>>>0)%3|0|0)==0?G+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z;O=L;P=z+2|0;break}else{M=z;N=z;O=L;P=z+-1|0;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=J+1|0;K=((L>>>0)%3|0|0)==0?J+-2|0:L;if(!((J>>>0)%3|0)){M=z;N=G;O=K;P=J+2|0;break}else{M=z;N=G;O=K;P=J+-1|0;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];hb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(P<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];hb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Vj(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Vj(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Vj(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Vj(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Vj(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Vj(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=lj(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=lj(da|0,_|0,aa|0,$|0)|0;ga=I;ha=lj(ea|0,W|0,aa|0,$|0)|0;$=I;aa=lj(K|0,ca|0,S|0,L|0)|0;ca=I;K=lj(da|0,_|0,S|0,L|0)|0;L=I;S=lj(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Vj(A|0,B|0,fa|0,ga|0)|0;ga=Tj(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Tj(ha|0,$|0,C|0,D|0)|0;$=Vj(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Vj(E|0,F|0,S|0,X|0)|0;X=Tj(aa|0,I|0,K|0,L|0)|0;L=I;Rd(i);J=f[c>>2]|0;K=(f[t>>2]|0)==0;if((J|0)==-1){ia=Z;ja=ga;ka=ca;la=$;ma=L;na=X;oa=K;break a}else{z=M;A=ga;B=Z;C=$;D=ca;E=X;F=L;G=N;H=K}}if((R|0)==17)ym(Q);else if((R|0)==21)ym(U)}else{ia=0;ja=0;ka=0;la=0;ma=0;na=0;oa=a}while(0);a=(ia|0)>-1|(ia|0)==-1&ja>>>0>4294967295;U=Vj(0,0,ja|0,ia|0)|0;R=a?ia:I;Q=(ka|0)>-1|(ka|0)==-1&la>>>0>4294967295;N=Vj(0,0,la|0,ka|0)|0;M=Q?ka:I;t=(ma|0)>-1|(ma|0)==-1&na>>>0>4294967295;c=Vj(0,0,na|0,ma|0)|0;i=Tj((Q?la:N)|0,M|0,(t?na:c)|0,(t?ma:I)|0)|0;t=Tj(i|0,I|0,(a?ja:U)|0,R|0)|0;R=I;if(oa){if((t|0)<=536870912){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}oa=Wj(t|0,R|0,29)|0;U=oa&7;oa=Ug(ja|0,ia|0,U|0,0)|0;a=Ug(la|0,ka|0,U|0,0)|0;i=Ug(na|0,ma|0,U|0,0)|0;pa=oa;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Wj(t|0,R|0,29)|0;R=I;t=Ug(ja|0,ia|0,i|0,R|0)|0;ia=Ug(la|0,ka|0,i|0,R|0)|0;ka=Ug(na|0,ma|0,i|0,R|0)|0;pa=t;qa=ia;ra=ka;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(p|0)!=(o|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Ae(i,m-q|0,2652);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;ug(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=t;t=m;m=s;s=k;k=0;while(1){p=f[o+(k<<2)>>2]|0;n=f[q>>2]|0;if(p>>>0>2>>>0){x=l;y=s;z=o;A=m}else{r=p+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(D|0)!=(n|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=m;G=o}else{E=l;F=m;G=o}else{Ae(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(p<<2)|0;f[B>>2]=(f[B>>2]|0)+1;k=k+1|0;if(k>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;o=z;t=y;m=A;s=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)ym(e);s=dj(y<<1)|0;f[w>>2]=s;f[e>>2]=s;f[e+8>>2]=s+(v<<3);y=s;A=v;m=s;while(1){t=y;f[t>>2]=-1;f[t+4>>2]=-1;t=m+8|0;z=A+-1|0;if(!z)break;else{y=t;A=z;m=t}}f[w>>2]=s+(v<<3);H=s;I=s}s=f[q>>2]|0;v=f[d>>2]|0;m=s-v|0;A=m>>2;f[g>>2]=0;y=g+4|0;f[y>>2]=0;f[g+8>>2]=0;t=v;do if(A)if(A>>>0>1073741823)ym(g);else{z=dj(m)|0;f[g>>2]=z;o=z+(A<<2)|0;f[g+8>>2]=o;Vf(z|0,0,m|0)|0;f[y>>2]=o;J=z;K=o;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(v|0)){v=0;s=0;do{f[J+(v<<2)>>2]=s;s=(f[t+(v<<2)>>2]|0)+s|0;v=v+1|0}while(v>>>0>>0)}v=f[j>>2]|0;j=f[a>>2]|0;s=j;if((v|0)!=(j|0)){m=a+40|0;a=v-j>>2;j=J;v=0;g=H;z=H;o=H;x=H;l=H;k=H;while(1){F=f[s+(v<<2)>>2]|0;G=v+1|0;E=((G>>>0)%3|0|0)==0?v+-2|0:G;if((E|0)==-1)M=-1;else M=f[s+(E<<2)>>2]|0;E=((v>>>0)%3|0|0)==0;G=(E?2:-1)+v|0;if((G|0)==-1)N=-1;else N=f[s+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[m>>2]=(f[m>>2]|0)+1;O=j;P=v+2|0;Q=g;R=z;S=o;T=x;U=l;V=k}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[j+(N<<2)>>2]|0;while(1){p=f[l+(B<<3)>>2]|0;if((p|0)==-1){X=g;Y=z;Z=x;_=l;break b}if((p|0)==(M|0)){p=f[l+(B<<3)+4>>2]|0;if((p|0)==-1)$=-1;else $=f[s+(p<<2)>>2]|0;if((F|0)!=($|0))break}p=G+1|0;if((p|0)<(E|0)){G=p;B=B+1|0}else{X=g;Y=z;Z=x;_=l;break b}}p=f[x+(B<<3)+4>>2]|0;r=G;n=B;D=z;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[g+(n<<3)>>2]|0)==-1)break;else{n=C;D=g}}f[o+(n<<3)>>2]=-1;if((p|0)==-1){X=o;Y=o;Z=o;_=o}else{D=f[i>>2]|0;f[D+(v<<2)>>2]=p;f[D+(p<<2)>>2]=v;O=j;P=v;Q=o;R=o;S=o;T=o;U=o;V=k;break a}}else{X=g;Y=z;Z=x;_=l}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=k+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=J;P=v;Q=k;R=k;S=k;T=k;U=k;V=k;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=v;O=J;P=v;Q=H;R=H;S=H;T=H;U=H;V=H}else{O=j;P=v;Q=X;R=Y;S=o;T=Z;U=_;V=k}}while(0);v=P+1|0;if(v>>>0>=a>>>0)break;else{j=O;g=Q;z=R;o=S;x=T;l=U;k=V}}}f[b>>2]=A;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[y>>2]=K+(~((K+-4-J|0)>>>2)<<2);fn(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);fn(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);fn(ca)}h=1;u=c;return h|0}function yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Tj(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Tj(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if(z>>>0>=(((f[a+220>>2]|0)-A|0)/144|0)>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=Tj(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=I;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{hc(e,a,E);F=f[e>>2]|0;break}case 1:{Wc(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(D|0){v=0;u=d;return v|0}D=n<<24>>24;if(n<<24>>24<0){v=0;u=d;return v|0}n=dj(88)|0;F=f[a+216>>2]|0;a=F+(D*144|0)+104|0;f[n+4>>2]=0;f[n>>2]=2348;E=n+12|0;f[E>>2]=2372;x=n+64|0;f[x>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;m=n+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[n+76>>2]=o;f[n+80>>2]=a;f[n+84>>2]=0;s=g+4|0;f[s>>2]=2372;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=F+(D*144|0)+4|0;f[i>>2]=2372;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[F+(D*144|0)+68>>2]|0;D=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;ge(i+8|0,D,e);Qa[f[(f[i>>2]|0)+8>>2]&127](i);hd(j,i);hd(e,j);f[g>>2]=f[e+4>>2];D=g+4|0;vd(D,e)|0;f[e>>2]=2372;t=f[e+20>>2]|0;if(t|0)fn(t);t=f[e+8>>2]|0;if(t|0)fn(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=n;f[j>>2]=2372;o=f[j+20>>2]|0;if(o|0)fn(o);o=f[j+8>>2]|0;if(o|0)fn(o);f[n+8>>2]=f[g>>2];vd(E,D)|0;D=n+44|0;E=g+36|0;f[D>>2]=f[E>>2];f[D+4>>2]=f[E+4>>2];f[D+8>>2]=f[E+8>>2];f[D+12>>2]=f[E+12>>2];b[D+16>>0]=b[E+16>>0]|0;yd(x,f[w>>2]|0,f[r>>2]|0);x=n;f[i>>2]=2372;n=f[i+20>>2]|0;if(n|0)fn(n);n=f[i+8>>2]|0;if(n|0)fn(n);n=f[w>>2]|0;if(n|0){w=f[r>>2]|0;if((w|0)!=(n|0))f[r>>2]=w+(~((w+-4-n|0)>>>2)<<2);fn(n)}f[s>>2]=2372;s=f[g+24>>2]|0;if(s|0)fn(s);s=f[g+12>>2]|0;if(s|0)fn(s);G=x}x=dj(64)|0;f[k>>2]=G;Eh(x,k);G=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Qa[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Qa[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){n=c+1|0;w=s;if(n>>>0>g>>>0){Jd(x,n-g|0);break}if(n>>>0>>0?(r=k+(n<<2)|0,(w|0)!=(r|0)):0){n=w;do{w=n+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);n=f[l>>2]|0}while((n|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Qa[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function zb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[3226]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((h|0)==(f[3227]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}f[3224]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[3222]=f[3222]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=h;n=i;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=13192+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[3223]=f[3223]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=h;n=i;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=e>>>0)return;a=e+4|0;b=f[a>>2]|0;if(!(b&1))return;if(!(b&2)){r=f[3227]|0;if((e|0)==(f[3228]|0)){s=(f[3225]|0)+n|0;f[3225]=s;f[3228]=m;f[m+4>>2]=s|1;if((m|0)!=(r|0))return;f[3227]=0;f[3224]=0;return}if((e|0)==(r|0)){r=(f[3224]|0)+n|0;f[3224]=r;f[3227]=l;f[m+4>>2]=r|1;f[l+r>>2]=r;return}r=(b&-8)+n|0;s=b>>>3;do if(b>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[3222]=f[3222]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;i=13192+(c<<2)|0;if((e|0)==(f[i>>2]|0)){f[i>>2]=u;if(!u){f[3223]=f[3223]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;i=f[c>>2]|0;if(i|0){f[u+16>>2]=i;f[i+24>>2]=u}i=f[c+4>>2]|0;if(i|0){f[u+20>>2]=i;f[i+24>>2]=u}}}while(0);f[m+4>>2]=r|1;f[l+r>>2]=r;if((m|0)==(f[3227]|0)){f[3224]=r;return}else x=r}else{f[a>>2]=b&-2;f[m+4>>2]=n|1;f[l+n>>2]=n;x=n}n=x>>>3;if(x>>>0<256){l=12928+(n<<1<<2)|0;b=f[3222]|0;a=1<>2]|0}f[y>>2]=m;f[z+12>>2]=m;f[m+8>>2]=z;f[m+12>>2]=l;return}l=x>>>8;if(l)if(x>>>0>16777215)A=31;else{z=(l+1048320|0)>>>16&8;y=l<>>16&4;a=y<>>16&2;b=14-(l|z|y)+(a<>>15)|0;A=x>>>(b+7|0)&1|b<<1}else A=0;b=13192+(A<<2)|0;f[m+28>>2]=A;f[m+20>>2]=0;f[m+16>>2]=0;y=f[3223]|0;a=1<>>1)|0);l=f[b>>2]|0;while(1){if((f[l+4>>2]&-8|0)==(x|0)){B=73;break}C=l+16+(z>>>31<<2)|0;n=f[C>>2]|0;if(!n){B=72;break}else{z=z<<1;l=n}}if((B|0)==72){f[C>>2]=m;f[m+24>>2]=l;f[m+12>>2]=m;f[m+8>>2]=m;break}else if((B|0)==73){z=l+8|0;t=f[z>>2]|0;f[t+12>>2]=m;f[z>>2]=m;f[m+8>>2]=t;f[m+12>>2]=l;f[m+24>>2]=0;break}}else{f[3223]=y|a;f[b>>2]=m;f[m+24>>2]=b;f[m+12>>2]=m;f[m+8>>2]=m}while(0);m=(f[3230]|0)+-1|0;f[3230]=m;if(!m)D=13344;else return;while(1){m=f[D>>2]|0;if(!m)break;else D=m+8|0}f[3230]=-1;return}function Ab(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ja,F=Ja,G=Ja,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=g+(j+4)|0;m=e;o=d-j|0}else{l=g;m=i;o=i}switch(o|0){case 3:{p=h[l+2>>0]<<16^m;q=6;break}case 2:{p=m;q=6;break}case 1:{r=m;q=7;break}default:s=m}if((q|0)==6){r=h[l+1>>0]<<8^p;q=7}if((q|0)==7)s=X(h[l>>0]^r,1540483477)|0;r=X(s>>>13^s,1540483477)|0;s=r>>>15^r;r=a+4|0;l=f[r>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;o=(m&l|0)==0;if(!o)if(s>>>0>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&m;j=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((j|0)!=0?(d=f[j>>2]|0,(d|0)!=0):0){j=(i|0)==0;if(o){if(j){o=d;while(1){e=f[o+4>>2]|0;if(!((e|0)==(s|0)|(e&m|0)==(t|0))){u=t;break a}e=b[o+8+11>>0]|0;if(!((e<<24>>24<0?f[o+12>>2]|0:e&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else x=d;b:while(1){o=f[x+4>>2]|0;if(!((o|0)==(s|0)|(o&m|0)==(t|0))){u=t;break a}o=x+8|0;e=b[o+11>>0]|0;k=e<<24>>24<0;y=e&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){e=f[o>>2]|0;if(k)if(!(mh(e,g,i)|0)){v=x;q=63;break b}else break;if((e&255)<<24>>24==(b[g>>0]|0)){e=y;z=o;A=g;do{e=e+-1|0;z=z+1|0;if(!e){v=x;q=63;break b}A=A+1|0}while((b[z>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(j){m=d;while(1){o=f[m+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)B=o;else B=(o>>>0)%(l>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[m+8+11>>0]|0;if(!((o<<24>>24<0?f[m+12>>2]|0:o&255)|0)){v=m;break}m=f[m>>2]|0;if(!m){u=t;break a}}w=v+20|0;return w|0}else C=d;c:while(1){m=f[C+4>>2]|0;if((m|0)!=(s|0)){if(m>>>0>>0)D=m;else D=(m>>>0)%(l>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}m=C+8|0;j=b[m+11>>0]|0;o=j<<24>>24<0;y=j&255;do if(((o?f[C+12>>2]|0:y)|0)==(i|0)){j=f[m>>2]|0;if(o)if(!(mh(j,g,i)|0)){v=C;q=63;break c}else break;if((j&255)<<24>>24==(b[g>>0]|0)){j=y;k=m;A=g;do{j=j+-1|0;k=k+1|0;if(!j){v=C;q=63;break c}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=dj(24)|0;Sf(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(l>>>0);G=$(n[a+16>>2]);do if(p|E>$(F*G)){C=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;g=~~$(W($(E/G)))>>>0;Pe(a,C>>>0>>0?g:C);C=f[r>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=l;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){l=a+8|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[u>>2]=l;l=f[t>>2]|0;if(l|0){u=f[l+4>>2]|0;l=H+-1|0;if(l&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&l;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Bb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{jf(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=cn(i)|0;Vf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){dn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=v;v=1;while(1){if(t>>>0<=v>>>0){u=24;break}p=f[o+(v<<2)>>2]|0;q=X(v,e)|0;if((p|0)!=-1?(w=f[(f[a>>2]|0)+(p<<2)>>2]|0,(w|0)!=-1):0){p=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[p+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[p+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[p+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(v|0)&(A|0)<(v|0)&(z|0)<(v|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((s|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;p=f[h>>2]|0;if((A|0)>(p|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=p;D=w}else{w=f[l>>2]|0;p=f[n>>2]|0;f[p+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=p}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{p=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=p;if((p|0)<=(f[h>>2]|0)){if((p|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+p|0;u=56}}else{F=p-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=s}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(v+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((s|0)>0){A=0;do{p=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((p|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(p|0)<(H|0)?H:p;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=s}v=v+1|0;if((v|0)>=(t|0)){u=22;break}else s=G}if((u|0)==22){dn(j);return 1}else if((u|0)==24)ym(m);return 0}function Cb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{jf(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=cn(i)|0;Vf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){dn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=v;v=1;while(1){if(t>>>0<=v>>>0){u=24;break}q=f[p+(v<<2)>>2]|0;w=X(v,e)|0;if((((q|0)!=-1?(f[(f[k>>2]|0)+(q>>>5<<2)>>2]&1<<(q&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(q<<2)>>2]|0,(x|0)!=-1):0)?(q=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[q+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[q+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[q+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(v|0)&(B|0)<(v|0)&(A|0)<(v|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((s|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;q=f[h>>2]|0;if((B|0)>(q|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=q;C=y}else{y=f[l>>2]|0;q=f[n>>2]|0;f[q+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=q}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{q=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=q;if((q|0)<=(f[h>>2]|0)){if((q|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+q|0;u=53}}else{E=q-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=s}else{z=c+((X(v+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((s|0)>0){B=0;do{q=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((q|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(q|0)<(G|0)?G:q;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=s}v=v+1|0;if((v|0)>=(t|0)){u=22;break}else s=F}if((u|0)==22){dn(j);return 1}else if((u|0)==24)ym(m);return 0}function Db(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Tj(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=dj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Tj(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(mh(d,9530,5)|0){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=9536;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Tj(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=dj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Tj(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=dj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Tj(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Tj(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Tj(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Tj(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=dj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}function Eb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;fn(k)}fn(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);fn(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;fn(m)}fn(n)}fn(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=j;p=g;q=24}}else{o=h;p=e;q=24}if((q|0)==24){q=o;do{o=q+-4|0;f[c>>2]=o;e=f[o>>2]|0;f[o>>2]=0;if(e|0){o=e+88|0;h=f[o>>2]|0;f[o>>2]=0;if(h|0){o=f[h+8>>2]|0;if(o|0){g=h+12|0;if((f[g>>2]|0)!=(o|0))f[g>>2]=o;fn(o)}fn(h)}h=f[e+68>>2]|0;if(h|0){o=e+72|0;g=f[o>>2]|0;if((g|0)!=(h|0))f[o>>2]=g+(~((g+-4-h|0)>>>2)<<2);fn(h)}h=e+64|0;g=f[h>>2]|0;f[h>>2]=0;if(g|0){h=f[g>>2]|0;if(h|0){o=g+4|0;if((f[o>>2]|0)!=(h|0))f[o>>2]=h;fn(h)}fn(g)}fn(e)}q=f[c>>2]|0}while((q|0)!=(p|0))}p=f[a+4>>2]|0;a:do if(p|0){q=p+44|0;c=f[q>>2]|0;e=f[p+40>>2]|0;while(1){if((e|0)==(c|0))break a;r=e+4|0;if((f[(f[e>>2]|0)+40>>2]|0)==(i|0))break;else e=r}if((r|0)!=(c|0)){g=r;h=e;do{o=f[g>>2]|0;f[g>>2]=0;j=f[h>>2]|0;f[h>>2]=o;if(j|0){Df(j);fn(j)}g=g+4|0;h=h+4|0}while((g|0)!=(c|0));g=f[q>>2]|0;if((g|0)==(h|0))break;else{s=g;t=h}}else{s=c;t=e}g=s;do{j=g+-4|0;f[q>>2]=j;o=f[j>>2]|0;f[j>>2]=0;if(o|0){Df(o);fn(o)}g=f[q>>2]|0}while((g|0)!=(t|0))}while(0);b:do if((d|0)<5){t=f[a+20+(d*12|0)>>2]|0;s=a+20+(d*12|0)+4|0;r=f[s>>2]|0;i=r;c:do if((t|0)==(r|0))u=t;else{p=t;while(1){if((f[p>>2]|0)==(b|0)){u=p;break c}p=p+4|0;if((p|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){t=u+4|0;p=i-t|0;g=p>>2;if(!g)v=r;else{ui(u|0,t|0,p|0)|0;v=f[s>>2]|0}p=u+(g<<2)|0;if((v|0)!=(p|0))f[s>>2]=v+(~((v+-4-p|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((p|0)!=(u|0)){g=p-u>>2;u=0;do{p=d+(u<<2)|0;v=f[p>>2]|0;if((v|0)>(b|0))f[p>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}g=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((g|0)!=(u|0)){v=g-u>>2;u=0;do{g=d+(u<<2)|0;p=f[g>>2]|0;if((p|0)>(b|0))f[g>>2]=p+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((p|0)==(u|0))return;d=p-u>>2;u=0;do{p=a+(u<<2)|0;g=f[p>>2]|0;if((g|0)>(b|0))f[p>>2]=g+-1;u=u+1|0}while(u>>>0>>0);return}function Fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=k;k=0;w=0;while(1){x=f[(f[v+24>>2]|0)+(w<<2)>>2]|0;if((x|0)==-1){y=v;z=k}else{A=k+1|0;B=f[(f[l>>2]|0)+(((x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else yf(c,g);f[g>>2]=x;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=x;else{B=x+1|0;E=((B>>>0)%3|0|0)==0?x+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=x;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=x}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=k;x=f[s>>2]|0;if((x|0)==(f[t>>2]|0))yf(r,g);else{f[x>>2]=f[g>>2];f[s>>2]=x+4}x=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[x+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=E;E=k;H=A;while(1){I=F+1|0;J=((I>>>0)%3|0|0)==0?F+-2|0:I;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){I=H+1|0;K=f[(f[l>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else yf(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){yf(r,h);M=H;N=I;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=H;N=I;break}}else{M=E;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=M;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;I=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((I|0)==-1)break;J=f[(f[O+12>>2]|0)+(I<<2)>>2]|0;if((J|0)==-1)break;F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=F;if(!((F|0)!=-1?(F|0)!=(f[g>>2]|0):0)){P=O;Q=N;break b}else{E=M;H=N}}f[h>>2]=-1;P=O;Q=N}else{P=x;Q=A}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=x;Q=A}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2>>>0)break;else{v=y;k=z}}u=e;return}function Gb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;ym(z)}else{A=a;B=0}while(1){f[j>>2]=f[A+(B<<2)>>2];f[d>>2]=f[j>>2];wb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Tj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Tj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;E=f[p>>2]|0;if((l|0)==0&(F|0)==0){G=h;H=E}else{J=((E|0)<0)<<31>>31;K=lj(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ug(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=lj(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ug(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=o;H=D?F:0-F|0}f[G>>2]=H;F=Xg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C;N=a}else{L=D;M=f[m>>2]|0;N=f[o>>2]|0}if((L|0)<=-1){D=(N|0)>-1?N:0-N|0;if((M|0)<0)O=D;else O=(f[s>>2]|0)-D|0;D=(M|0)>-1?M:0-M|0;if((N|0)<0){P=O;Q=D}else{P=O;Q=(f[s>>2]|0)-D|0}}else{D=f[p>>2]|0;P=D+M|0;Q=D+N|0}D=(P|0)==0;a=(Q|0)==0;C=f[s>>2]|0;do if((Q|P|0)!=0?(F=(C|0)==(Q|0),E=(C|0)==(P|0),!(D&F|a&E)):0){if(D?(l=f[p>>2]|0,(l|0)<(Q|0)):0){R=0;S=(l<<1)-Q|0;break}if(E?(E=f[p>>2]|0,(E|0)>(Q|0)):0){R=P;S=(E<<1)-Q|0;break}if(F?(F=f[p>>2]|0,(F|0)>(P|0)):0){R=(F<<1)-P|0;S=Q;break}if(a){F=f[p>>2]|0;R=(F|0)<(P|0)?(F<<1)-P|0:P;S=0}else{R=P;S=Q}}else{R=C;S=C}while(0);f[i>>2]=R;f[r>>2]=S;C=B<<1;a=b+(C<<2)|0;D=c+(C<<2)|0;if((f[t>>2]|0)>0){C=R;F=0;while(1){E=f[v>>2]|0;if((C|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(C|0)<(l|0)?l:C;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;C=f[i+(E<<2)>>2]|0;F=E}if((U|0)>0){F=0;do{C=(f[a+(F<<2)>>2]|0)+(f[T+(F<<2)>>2]|0)|0;E=D+(F<<2)|0;f[E>>2]=C;if((C|0)<=(f[v>>2]|0)){if((C|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+C|0;W=40}}else{V=C-(f[y>>2]|0)|0;W=40}if((W|0)==40){W=0;f[E>>2]=V}F=F+1|0}while((F|0)<(f[t>>2]|0))}}B=B+1|0;if((B|0)>=(n|0)){W=3;break}F=f[g>>2]|0;A=f[F>>2]|0;if((f[F+4>>2]|0)-A>>2>>>0<=B>>>0){z=F;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)ym(z);return 0}function Hb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;ym(z)}else{A=a;B=0}while(1){f[j>>2]=f[A+(B<<2)>>2];f[d>>2]=f[j>>2];ub(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Tj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Tj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;E=f[p>>2]|0;if((l|0)==0&(F|0)==0){G=h;H=E}else{J=((E|0)<0)<<31>>31;K=lj(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ug(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=lj(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ug(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=o;H=D?F:0-F|0}f[G>>2]=H;F=Xg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C;N=a}else{L=D;M=f[m>>2]|0;N=f[o>>2]|0}if((L|0)<=-1){D=(N|0)>-1?N:0-N|0;if((M|0)<0)O=D;else O=(f[s>>2]|0)-D|0;D=(M|0)>-1?M:0-M|0;if((N|0)<0){P=O;Q=D}else{P=O;Q=(f[s>>2]|0)-D|0}}else{D=f[p>>2]|0;P=D+M|0;Q=D+N|0}D=(P|0)==0;a=(Q|0)==0;C=f[s>>2]|0;do if((Q|P|0)!=0?(F=(C|0)==(Q|0),E=(C|0)==(P|0),!(D&F|a&E)):0){if(D?(l=f[p>>2]|0,(l|0)<(Q|0)):0){R=0;S=(l<<1)-Q|0;break}if(E?(E=f[p>>2]|0,(E|0)>(Q|0)):0){R=P;S=(E<<1)-Q|0;break}if(F?(F=f[p>>2]|0,(F|0)>(P|0)):0){R=(F<<1)-P|0;S=Q;break}if(a){F=f[p>>2]|0;R=(F|0)<(P|0)?(F<<1)-P|0:P;S=0}else{R=P;S=Q}}else{R=C;S=C}while(0);f[i>>2]=R;f[r>>2]=S;C=B<<1;a=b+(C<<2)|0;D=c+(C<<2)|0;if((f[t>>2]|0)>0){C=R;F=0;while(1){E=f[v>>2]|0;if((C|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(C|0)<(l|0)?l:C;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;C=f[i+(E<<2)>>2]|0;F=E}if((U|0)>0){F=0;do{C=(f[a+(F<<2)>>2]|0)+(f[T+(F<<2)>>2]|0)|0;E=D+(F<<2)|0;f[E>>2]=C;if((C|0)<=(f[v>>2]|0)){if((C|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+C|0;W=40}}else{V=C-(f[y>>2]|0)|0;W=40}if((W|0)==40){W=0;f[E>>2]=V}F=F+1|0}while((F|0)<(f[t>>2]|0))}}B=B+1|0;if((B|0)>=(n|0)){W=3;break}F=f[g>>2]|0;A=f[F>>2]|0;if((f[F+4>>2]|0)-A>>2>>>0<=B>>>0){z=F;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)ym(z);return 0}function Ib(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;ym(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];wb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Tj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Tj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=lj(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ug(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=lj(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ug(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Xg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x>>2]|0;E=f[x+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=B;f[v>>2]=E;bc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)ym(y);return 0} +function zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;De(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}fn(f[g>>2]|0);u=a;return +n}function Af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=3084;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=1;n=h;o=4}else{h=Um()|0;f[h>>2]=75;p=-1}else{m=c;n=a;o=4}if((o|0)==4){o=-2-n|0;a=m>>>0>o>>>0?o:m;f[i+48>>2]=a;m=i+20|0;f[m>>2]=n;f[i+44>>2]=n;o=n+a|0;n=i+16|0;f[n>>2]=o;f[i+28>>2]=o;o=xe(i,d,e)|0;if(!a)p=o;else{a=f[m>>2]|0;b[a+(((a|0)==(f[n>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));Db(i,e,g);k=f[i>>2]|0;if(!k){j=i+4|0;if((b[j+11>>0]|0)<0)fn(f[j>>2]|0);j=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=j;l=e+24|0;ln(l);u=d;return}else{f[a>>2]=k;k=i+4|0;Sf(a+4|0,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);l=e+24|0;ln(l);u=d;return}}function Cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;dg(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}fn(f[g>>2]|0);u=a;return c|0}function Df(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){Df(h);fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)fn(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;fn(d);return}function Ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=De(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}fn(f[g>>2]|0);u=a;return h|0}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=dg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}fn(f[g>>2]|0);u=a;return h|0}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(Gf(a,c)|0){j=a;e=Qj(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;pd(a,e,2656);pd(a+12|0,e,2652);ug(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)fn(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}fn(b);d=1;return d|0}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Ie(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);fn(i)}f[a>>2]=f[h>>2];u=e;return}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}l=j+c|0;if((k-j|0)>>>0>>0){_f(a,k,l-k|0,j,j,0,0);m=b[h>>0]|0}else m=i;if(m<<24>>24<0)n=f[a>>2]|0;else n=a;Oj(n+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=l;else b[h>>0]=l;b[g>>0]=0;Vl(n+l|0,g)}u=e;return a|0}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;fn(a)}fn(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;fn(c)}fn(d)}fn(b);return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=oi(e,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=7;break}e=wh(f[c>>2]|0,g)|0;if(!e){d=0;h=7;break}a=a+1|0;if(!(Ma[f[(f[b>>2]|0)+28>>2]&127](b,e)|0)){d=0;h=7;break}if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=7;break}}if((h|0)==7)return d|0;return 0}function Mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Ok(l,c,d)|0;b[g>>0]=0;Vl(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;ff(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function Nf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+8|0;d=f[c>>2]|0;if(!d){fn(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}fn(g);fn(a);return}function Of(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Yf(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function Pf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;i=c+54|0;j=c+48|0;k=c+24|0;l=c+36|0;if(!h){f[a>>2]=d;f[k>>2]=g;f[l>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[i>>0]=1;break}if((h|0)!=(d|0)){f[l>>2]=(f[l>>2]|0)+1;b[i>>0]=1;break}l=f[k>>2]|0;if((l|0)==2){f[k>>2]=g;m=g}else m=l;if((f[j>>2]|0)==1&(m|0)==1)b[i>>0]=1}while(0);return}function Qf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Qa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}fn(e);return}function Rf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Tj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=$b(a,c,d,e)|0;return g|0}case 1:{g=vc(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function Sf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)ym(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=dj(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Qk(i,g,h)|0;b[e>>0]=0;Vl(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=Rb(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}ig(c,d-a|0,0);a=Lh(c,0)|0;c=f[b>>2]|0;ee(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Uf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;do if(!(Dl(a,f[c+8>>2]|0,g)|0)){if(Dl(a,f[c>>2]|0,g)|0){h=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[h>>2]=e;f[i>>2]=d;i=c+40|0;f[i>>2]=(f[i>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[h>>2]=1}}else Wi(0,c,d,e);while(0);return}function Vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Wf(a,b){a=a|0;b=b|0;var c=0;switch(f[(f[a+8>>2]|0)+28>>2]|0){case 2:{Te(a,b);c=1;return c|0}case 1:{Te(a,b);c=1;return c|0}case 4:{Ke(a,b);c=1;return c|0}case 3:{Ke(a,b);c=1;return c|0}case 6:{Le(a,b);c=1;return c|0}case 5:{Le(a,b);c=1;return c|0}default:{c=0;return c|0}}return 0}function Xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Yc(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(i){of(i);fn(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){of(i);fn(i)}}else f[e>>2]=0;if(!(f[g>>2]|0)){j=0;u=d;return j|0}g=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;ge(a+56|0,g,e);j=1;u=d;return j|0}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(c>>>0>i>>>0){kf(a,c-i|0);break}if(c>>>0>>0?(i=h+c|0,(g|0)!=(i|0)):0)f[d>>2]=i}else Id(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Tj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Zf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1040;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}fn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;fn(c)}fn(d)}fn(a);return}function _f(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)ym(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=dj(m)|0;if(g|0)Qk(l,j,g)|0;k=e-h-g|0;if(k|0)Qk(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)fn(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function $f(a,b){a=a|0;b=b|0;if(!b)return;else{$f(a,f[b>>2]|0);$f(a,f[b+4>>2]|0);fg(b+20|0,f[b+24>>2]|0);fn(b);return}}function ag(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=dj(32)|0,tj(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(g)}g=di(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,g)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=lj(e|0,g|0,c|0,0)|0;if(!(Yf(h,0,i,I)|0)){j=0;return j|0}Wg(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(_a(a,g,j,i)|0)){k=0;u=e;return k|0}od(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Dl(a,b,0)|0))if((b|0)!=0?(g=Be(b,800,784,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ta[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Rb(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function eg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(eg(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function fg(a,c){a=a|0;c=c|0;var d=0;if(!c)return;fg(a,f[c>>2]|0);fg(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)fn(f[d>>2]|0);if((b[a+11>>0]|0)<0)fn(f[a>>2]|0);fn(c);return}function gg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=c;h=a;while(1){if(!(b[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){d=j;e=4;break}else h=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function hg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;d=f[b>>2]|0;if(!d){fn(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}fn(g);fn(a);return}function ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Vl(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Vl(a+c|0,g);b[h>>0]=c;break}else Jf(a,c-k|0,d)|0;while(0);u=e;return}function jg(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}fn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;fn(c)}fn(d)}fn(a);return}function kg(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=dj(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=ud(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;of(a);fn(a);return}function mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Ih(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Na[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=8412;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;tg(Qb(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}fn(f[g>>2]|0);u=d;return}function og(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;while(1){d=b[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Am(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=d;j=0;k=c}}if((h|0)==5){i=b[f>>0]|0;j=g;k=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=f;f=0;g=k;while(1){g=g+1|0;k=(f*10|0)-i|0;i=(b[g>>0]|0)+-48|0;if(i>>>0>=10){l=k;break}else f=k}}else l=0;return (j|0?l:0-l|0)|0}function pg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Qa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}fn(e);return}function qg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2296;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ji(a+232|0);return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a&255;e=a&255;if((f[c+76>>2]|0)>=0?(mn(c)|0)!=0:0){if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=mg(c,a)|0;ln(c);j=i}else k=3;do if((k|0)==3){if((e|0)!=(b[c+75>>0]|0)?(i=c+20|0,h=f[i>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=h+1;b[h>>0]=d;j=e;break}j=mg(c,a)|0}while(0);return j|0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=a;f=c;c=d;while(1){g=bj(e|0,f|0,10,0)|0;c=c+-1|0;b[c>>0]=g&255|48;g=e;e=Jl(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=I}h=c;i=e}else{h=d;i=a}if(!i)j=h;else{a=h;h=i;while(1){i=a+-1|0;b[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{a=i;h=(h>>>0)/10|0}}}return j|0}function tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;zh(g,d&1);d=ef(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}le(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;$k(g,9793);f[g>>2]=3708;va(g|0,856,80)}g=(f[e>>2]|0)-d|0;h=g>>2;i=dj(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;if((g|0)>0)ee(k|0,d|0,g|0)|0;f[a>>2]=k;f[e>>2]=j;f[c>>2]=i+(b<<2);if(!d)return;fn(d);return}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Td(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=og(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function xg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function yg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[10416+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=87;j=10504;e=5;break}else d=g}if((e|0)==2)if(!d)k=10504;else{i=d;j=10504;e=5}if((e|0)==5)while(1){e=0;d=j;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);i=i+-1|0;if(!i){k=d;break}else{j=d;e=5}}return Fm(k,f[c+20>>2]|0)|0}function zg(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Wj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+zg(a*18446744073709551616.0,b);h=(f[b>>2]|0)+-64|0;i=g}else{h=0;i=a}f[b>>2]=h;j=i;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function Ag(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;e=u;u=u+16|0;d=e;c=dj(32)|0;f[d>>2]=c;f[d+8>>2]=-2147483616;f[d+4>>2]=26;g=c;h=8364;i=g+26|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Sf(a+4|0,d);if((b[d+11>>0]|0)>=0){u=e;return}fn(f[d>>2]|0);u=e;return}function Bg(a){a=a|0;var b=0,c=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Cg(a){a=a|0;var b=0,c=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)ym(a);h=dj(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;ee(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=dj(20)|0;fk(c);d=c;break}case 1:{c=dj(24)|0;Fk(c);d=c;break}case 2:{c=dj(36)|0;uj(c);d=c;break}case 3:{c=dj(28)|0;xk(c);d=c;break}default:d=0}f[a>>2]=d;return}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Yd(a+40|0,b);d=1;return d|0}return 0}function Jg(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function Kg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Lg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Yg(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function Mg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Ng(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Og(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)fn(f[c>>2]|0);$f(a+12|0,f[a+16>>2]|0);fg(a,f[a+4>>2]|0);fn(a);return}function Pg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b)return;fn(b);return}function Qg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){fn(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}fn(g)}fn(a);return}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Eb(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{ui(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Sg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b)return;fn(b);return}function Tg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+84>>2]|0;if(!b){Qd(a);fn(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);Qd(a);fn(a);return}function Ug(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Vj(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Vj((ac(i,b,Vj(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Vg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=c+16|0;g=f[a>>2]|0;h=c+36|0;i=c+24|0;do if(g){if((g|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[a>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Wg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Xg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=h[a+12>>0]|0;c=a+8|0;d=f[c>>2]|0;if(d>>>0<4096?(e=a+4|0,g=f[e>>2]|0,(g|0)>0):0){i=f[a>>2]|0;a=g+-1|0;f[e>>2]=a;e=h[i+a>>0]|0|d<<8;f[c>>2]=e;j=e}else j=d;d=j&255;e=0-b&255;b=X(j>>>8,e)|0;a=d>>>0>>0;f[c>>2]=a?b+d|0:j-e-b|0;return a|0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(b>>>0<=g>>>0){if(b>>>0>>0?(d=h+b|0,(e|0)!=(d|0)):0)f[c>>2]=d}else kf(a,b-g|0);g=a+24|0;a=g;b=Tj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ag(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ki(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}fn(f[c>>2]|0);u=e;return d|0}function _g(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+84>>2]|0;if(!b){Qd(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);Qd(a);return}function $g(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;ed(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ki(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}fn(f[c>>2]|0);u=e;return d|0}function bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(c?!(Gf(d,a)|0):0){e=0;return e|0}b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;g=(f[a>>2]|0)+c|0;h=a+8|0;i=Vj(f[h>>2]|0,f[h+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=g;f[a+28>>2]=g+i;e=1;return e|0}function ch(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function dh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Ma[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(ag(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Na[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function fh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Vf(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ml(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ml(a,g,h)}u=f;return}function gh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function hh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Dl(a,f[b+8>>2]|0,g)|0)Pf(0,b,c,d,e);else{h=f[a+8>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function ih(a,b){a=a|0;b=b|0;var c=0;c=dj(40)|0;f[c>>2]=-1;tj(c+8|0);Ra[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;fn(c)}fn(b);return 1}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function kh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=984;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+4>>2]|0;if(!b){fn(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function nh(a){a=a|0;var b=0,c=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function oh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1740;ln(a+108|0);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function ph(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)dn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Zf(a);fn(a);return}Qa[f[(f[b>>2]|0)+4>>2]&127](b);Zf(a);fn(a);return}function qh(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;ig(a,d,0);return}function rh(a){a=a|0;var b=0,c=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function sh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1488;ln(a+108|0);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function th(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=984;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function uh(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)dn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Zf(a);return}Qa[f[(f[b>>2]|0)+4>>2]&127](b);Zf(a);return}function vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Dl(a,f[b+8>>2]|0,0)|0)Vg(0,b,c,d);else{e=f[a+8>>2]|0;Ta[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function wh(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function xh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=a;a=c;do{d=d+1|0;a=a+1|0;c=b[d>>0]|0;e=b[a>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function yh(a){a=a|0;var b=0,c=0;f[a>>2]=1740;ln(a+108|0);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function zh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;qh(d);qf(a,d,b);Kk(d);u=c;return}function Ah(a){a=a|0;var b=0,c=0;f[a>>2]=1488;ln(a+108|0);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((kk(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=Je(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function Eh(a,b){a=a|0;b=b|0;var c=0;Mi(a);f[a>>2]=1088;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function Fh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Hh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=h[10398+(g&15)>>0]|0|e;g=Wj(g|0,a|0,4)|0;a=I;if((g|0)==0&(a|0)==0){f=d;break}else c=d}}return f|0}function Ih(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Kh(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)ym(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Mh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Fb(a,b,c);return}else{Jb(a,0,0);return}}function Oh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;od(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Ph(a,b){a=a|0;b=b|0;var c=0;if(!(Ma[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Qh(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(Aj(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Th(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;g=d;while(1){d=g+(c*10|0)|0;e=e+1|0;f[a>>2]=e;g=(b[e>>0]|0)+-48|0;if(g>>>0>=10){h=d;break}else c=d}}else h=0;return h|0}function Uh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Vh(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;Bf(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}fn(f[e>>2]|0);u=a;return c|0}function Wh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(Aj(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=f&7|48;f=Wj(f|0,a|0,3)|0;a=I;if((f|0)==0&(a|0)==0){e=d;break}else c=d}}return e|0}function Zh(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function _h(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Dl(a,f[b+8>>2]|0,g)|0)Pf(0,b,c,d,e);return}function $h(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Zf(a);fn(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Zf(a);fn(a);return}function ai(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;ge(a+20|0,g,d);u=c;return}function bi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function ci(a,b,c){a=a|0;b=b|0;c=c|0;return Mb(a,b,c)|0}function di(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function ei(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Tj(f[a+32>>2]|0,0,7,0)|0;d=Wj(c|0,I|0,3)|0;c=a+16|0;a=c;e=Tj(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function fi(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;ge(a+20|0,g,d);u=c;return}function gi(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;rd(c,d,d+12|0);return 1}function ii(){var a=0,b=0;a=dj(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function ji(a){a=a|0;f[a>>2]=2396;wf(a+8|0);fn(a);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Mf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=gg(b)|0;d=dj(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=bm(d)|0;ee(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Zf(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Zf(a);return}function oi(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function pi(a){a=a|0;f[a>>2]=2396;wf(a+8|0);return}function qi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Pb(a,b,c,d,e);return}function ri(a){a=a|0;var b=0,c=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function si(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Dl(a,f[b+8>>2]|0,0)|0)Vg(0,b,c,d);return}function ti(a){a=a|0;var b=0;f[a>>2]=2616;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else ee(a,c,d)|0;return a|0}function vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b){fn(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function wi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function xi(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function zi(){var a=0,b=0;a=jj()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Tk(f[b+12>>2]|0);Tk(pm()|0)}function Ai(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function Bi(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}fn(a);return}function Ci(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);fn(b)}fn(a);return}function Di(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Ei(a){a=a|0;var b=0,c=0;if(Lm(a)|0?(b=hm(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)fn(b);return}function Fi(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function Gi(a,b){a=a|0;b=b|0;return Ma[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function Hi(a){a=a|0;var b=0,c=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;vb(a,b,c);return}function Ji(a){a=a|0;Fi(a);Fi(a+40|0);Vk(a+80|0);Fi(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;return tc(a,b,5,6,c)|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;return rc(a,b,3,4,c)|0}function Mi(a){a=a|0;var b=0;f[a>>2]=984;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return wc(a,b,1,2,c)|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;return sc(a,b,3,4,c)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return uc(a,b,5,6,c)|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;ee(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,1,2,c)|0}function Si(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Ti(){var a=0,b=0;a=dj(24)|0;f[a>>2]=956;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Ui(a){a=a|0;var c=0;Uh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Vi(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;fn(b)}fn(a);return}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Xi(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Yi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Zi(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=Ja;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function $i(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;fn(b)}fn(a);return}function aj(a){a=a|0;var b=0;Kl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;ac(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function cj(a){a=a|0;var b=0;_j(a);f[a>>2]=2668;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function dj(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Wa(b)|0;if(a|0){c=a;break}a=jm()|0;if(!a){c=0;break}Pa[a&3]()}return c|0}function ej(a){a=a|0;f[a>>2]=1940;ln(a+88|0);fn(a);return}function fj(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b)return;fn(b);return}function gj(a){a=a|0;f[a>>2]=2024;ln(a+88|0);fn(a);return}function hj(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=jn(f[a+60>>2]|0)|0;f[c>>2]=d;d=kk(Ba(6,c|0)|0)|0;u=b;return d|0}function ij(a){a=a|0;f[a>>2]=1940;ln(a+88|0);return}function jj(){var a=0,b=0;a=u;u=u+16|0;if(!(Ga(13448,3)|0)){b=Ea(f[3363]|0)|0;u=a;return b|0}else Cj(12586,a);return 0}function kj(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b)return;fn(b);return}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=li(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ki(b,c,d)|0}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Li(b,c,d)|0}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $c(b,c,d)|0}function pj(a){a=a|0;var b=0;b=u;u=u+16|0;zb(a);if(!(Ha(f[3363]|0,0)|0)){u=b;return}else Cj(12685,b)}function qj(a){a=a|0;f[a>>2]=2024;ln(a+88|0);return}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ni(b,c,d)|0}function sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oi(b,c,d)|0}function tj(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function uj(a){a=a|0;Fk(a);f[a>>2]=2108;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ri(b,c,d)|0}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pi(b,c,d)|0}function xj(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Af(a,b,c,g)|0;u=e;return d|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return _i(a,b,c)|0}function Bj(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 Oa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[678]|0;xe(b,a,d)|0;rg(10,b)|0;Ca()}function Dj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Ma[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;return oi(b,c)|0}function Fj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Ma[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Gj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Ma[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Hj(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hd(b,c,d)|0}function Jj(){var a=0;a=u;u=u+16|0;if(!(Fa(13452,83)|0)){u=a;return}else Cj(12635,a)}function Kj(a){a=a|0;Jc(a);fn(a);return}function Lj(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Mj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return La[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg(b,c,d)|0}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Vf(a|0,(Gm(c)|0)&255|0,b|0)|0;return a|0}function Pj(a){a=a|0;return 4}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)fn(f[c>>2]|0);fn(a);return}function Sj(){}function Tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Uj(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=ze(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Wj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;return Zg(a,b,c)|0}function Yj(a){a=a|0;Dc(a);fn(a);return}function Zj(a){a=a|0;return 5}function _j(a){a=a|0;var b=0;f[a>>2]=2696;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function $j(a){a=a|0;return 6}function ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hi(b,c,d)|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return Ej(a,b,c)|0}function dk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return La[f[(f[b>>2]|0)+28>>2]&127](b)|0}function ek(a,b,c){a=a|0;b=b|0;c=c|0;return Bd(b,c)|0}function fk(a){a=a|0;f[a>>2]=1040;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function gk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return La[f[(f[b>>2]|0)+24>>2]&127](b)|0}function hk(a,b){a=a|0;b=b|0;ng(a,b);return}function ik(a){a=a|0;var b=0;b=f[a+48>>2]|0;return La[f[(f[b>>2]|0)+36>>2]&127](b)|0}function jk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0)}function kk(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=Um()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;return ah(a,b,c)|0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;return pf(a,b,c)|0}function nk(a,b,c){a=a|0;b=b|0;c=c|0;return Ef(a,b,c)|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;return We(a,b,c)|0}function pk(a,b,c){a=a|0;b=b|0;c=c|0;return +(+zf(a,b,c))}function qk(a,b){a=a|0;b=b|0;return Ma[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function rk(a,b){a=a|0;b=b|0;return Ma[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;return Eg(a,b,c)|0}function tk(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return Mk(b,c)|0}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return Ff(a,b,c)|0}function wk(a,b,c){a=a|0;b=b|0;c=c|0;return Cf(a,b,c)|0}function xk(a){a=a|0;Fk(a);f[a>>2]=1824;f[a+24>>2]=-1;return}function yk(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return me(a,b,c)|0}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;return He(b,c)|0}function Bk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Ck(){var a=0;a=dj(40)|0;f[a>>2]=-1;tj(a+8|0);return a|0}function Dk(){var a=0;a=dj(8)|0;f[a>>2]=928;f[a+4>>2]=-1;return a|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return hf(a,b,c)|0}function Fk(a){a=a|0;fk(a);f[a>>2]=1148;f[a+20>>2]=0;return}function Gk(a,b){a=a|0;b=b|0;hk(a,b);return}function Hk(a){a=a|0;var b=0;if(!a)b=0;else b=(Be(a,800,888,0)|0)!=0;return b&1|0}function Ik(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Jk(a,b){a=a|0;b=b|0;return Vh(a,b)|0}function Kk(a){a=a|0;if((b[a+11>>0]|0)<0)fn(f[a>>2]|0);return}function Lk(a){a=a|0;if(!a)return;Qa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Mk(a,b){a=a|0;b=b|0;return jh(a,b)|0}function Nk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ta[a&7](b|0,c|0,d|0,e|0)}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ui(a|0,b|0,c|0)|0;return a|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;return al(b,c)|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ee(a|0,b|0,c|0)|0;return a|0}function Rk(a,b){a=a|0;b=b|0;return -1}function Sk(a){a=a|0;return 3}function Tk(a){a=a|0;var b=0;b=u;u=u+16|0;Pa[a&3]();Cj(12738,b)}function Uk(a,b){a=a|0;b=b|0;return Ql(a,b)|0}function Vk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function Wk(a){a=a|0;Qe(a);fn(a);return}function Xk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Yk(a){a=a|0;hl(a);f[a>>2]=2236;f[a+48>>2]=0;return}function Zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function _k(a,b,c){a=a|0;b=b|0;c=c|0;xj(a,b,c);return}function $k(a,b){a=a|0;b=b|0;f[a>>2]=3688;mi(a+4|0,b);return}function al(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function bl(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=xf(a,b,0)|0;return c|0}function cl(a){a=a|0;if(!a)return;ln(a+24|0);fn(a);return}function dl(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function el(){var a=0;a=dj(64)|0;Uh(a);return a|0}function fl(a,b){a=a|0;b=b|0;return $(ll(a,b))}function gl(a){a=a|0;return f[a+8>>2]|0}function hl(a){a=a|0;ti(a);f[a>>2]=2176;f[a+44>>2]=0;return}function il(a){a=a|0;if(!a)return;Df(a);fn(a);return}function jl(a,b){a=a|0;b=b|0;return Yl(a,b)|0}function kl(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function ll(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function ml(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Xe(b,c,a)|0;return}function nl(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&7](b|0,c|0,d|0)}function pl(){var a=0;a=dj(96)|0;Ui(a);return a|0}function ql(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function rl(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function sl(a){a=a|0;var b=0;b=(bn()|0)+188|0;return yg(a,f[b>>2]|0)|0}function tl(){var a=0;a=dj(16)|0;Xk(a);return a|0}function ul(){var a=0;a=dj(40)|0;Fi(a);return a|0}function vl(a,b){a=a|0;b=b|0;return 1}function wl(a,b){a=a|0;b=b|0;return Gl(a,b)|0}function xl(a,b){a=a|0;b=b|0;return Hl(a,b)|0}function yl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function zl(a,b){a=a|0;b=b|0;return Wl(a,b)|0}function Al(){var a=0;a=dj(12)|0;Ol(a);return a|0}function Bl(a){a=a|0;Zf(a);fn(a);return}function Cl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function El(a,b){a=a|0;b=b|0;var c=0;c=Tl(a|0)|0;return ((b|0)==0?a:c)|0}function Fl(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Gl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Hl(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Il(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ac(a,b,c,d,0)|0}function Kl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Ll(){var a=0;a=dj(84)|0;_j(a);return a|0}function Ml(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Nl(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Ol(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Pl(a){a=a|0;f[a>>2]=3688;Ei(a+4|0);return}function Ql(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[a&127](b|0,c|0)|0}function Sl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Tl(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ul(a){a=a|0;hl(a);f[a>>2]=2532;return}function Vl(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Wl(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Xl(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Yl(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Zl(a){a=a|0;return $(n[a+20>>2])}function _l(a){a=a|0;return f[a+4>>2]|0}function $l(a){a=a|0;if(!a)return;fn(a);return}function am(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function bm(a){a=a|0;return a+12|0}function cm(a){a=a|0;return f[a+88>>2]|0}function dm(a,b,c){a=a|0;b=b|0;c=c|0;Ra[a&7](b|0,c|0)}function em(){var a=0;a=dj(40)|0;aj(a);return a|0}function fm(){var a=0;a=dj(108)|0;cj(a);return a|0}function gm(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function hm(a){a=a|0;return a+-12|0}function im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function jm(){var a=0;a=f[3364]|0;f[3364]=a+0;return a|0}function km(a){a=a|0;return Jm(a+4|0)|0}function lm(a){a=a|0;return f[a+56>>2]|0}function mm(a){a=a|0;Qd(a);fn(a);return}function nm(a){a=a|0;ln(a);fn(a);return}function om(a){a=a|0;return b[a+24>>0]|0}function pm(){var a=0;a=f[898]|0;f[898]=a+0;return a|0}function qm(a,b){a=a|0;b=b|0;return 0}function rm(a){a=a|0;return f[a+40>>2]|0}function sm(a){a=a|0;return f[a+48>>2]|0}function tm(a,b){a=a|0;b=b|0;return La[a&127](b|0)|0}function um(a){a=a|0;return f[a+60>>2]|0}function vm(a){a=a|0;return f[a+28>>2]|0}function wm(a){a=a|0;sa(a|0)|0;zi()}function xm(a){a=a|0;Pl(a);fn(a);return}function ym(a){a=a|0;Ca()}function zm(a,b){a=a|0;b=b|0;u=a;v=b}function Am(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Bm(a){a=a|0;return (f[a>>2]|0)==0|0}function Cm(a){a=a|0;return f[a+80>>2]|0}function Dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Em(a,b){a=a|0;b=b|0;Qa[a&127](b|0)}function Fm(a,b){a=a|0;b=b|0;return Uj(a,b)|0}function Gm(a){a=a|0;return a&255|0}function Hm(a){a=a|0;f[a>>2]=0;return}function Im(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Jm(a){a=a|0;return f[a>>2]|0}function Km(a){a=a|0;return 2}function Lm(a){a=a|0;return 1}function Mm(a,b){a=+a;b=b|0;return +(+zg(a,b))}function Nm(){return 3}function Om(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Pm(){return -4}function Qm(){return 4}function Rm(){return -3}function Sm(){return 1}function Tm(){return 2}function Um(){return (bn()|0)+64|0}function Vm(){return -5}function Wm(a,b){a=a|0;b=b|0;aa(1);return 0}function Xm(a){a=a|0;Pa[a&3]()}function Ym(){return -2}function Zm(){ua()}function _m(){return -1}function $m(a,b){a=a|0;b=b|0;aa(6)}function an(){return 0}function bn(){return qn()|0}function cn(a){a=a|0;return dj(a)|0}function dn(a){a=a|0;fn(a);return}function en(a){a=a|0;u=a}function fn(a){a=a|0;zb(a);return}function gn(a){a=a|0;I=a}function hn(){return 13384}function jn(a){a=a|0;return a|0}function kn(a){a=a|0;aa(0);return 0}function ln(a){a=a|0;return}function mn(a){a=a|0;return 0}function nn(){return I|0}function on(){return u|0}function pn(a){a=a|0;aa(5)}function qn(){return 2840}function rn(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Na=[jn,Jm,Km,ml,um,Km,Ic,jl,Zl,ln,ln,Km,ln,Km,Km,Kh,Pj,Kh,Zj,Eh,Km,$j,Og,Km,um,Km,Kh,Pj,Kh,Zj,Eh,Km,$j,Og,Km,um,Jm,ln,Zl,Km,ln,Km,Sk,$j,Kg,Km,um,$j,Kg,Km,um,md,Km,Km,Mj,Hc,fh,Km,ln,je,dk,ik,gk,gb,Km,Zl,fl,zd,bd,Dd,ib,Km,Zl,fl,kb,sf,ln,Km,fj,jm,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn];var Oa=[Vm,Jh,he,Qb,Ph,cl,pm,ul,yk,ul,Mf,Xc,We,Bh,Ig,Fg,Fi,sc,Rk,pm,me,Pb,pm,Zh,Nc,pm,Vh,de,vi,Pb,pm,Zh,Nc,pm,Vh,de,vi,De,Rk,pm,af,pm,Mh,Oe,vi,pm,Mh,Oe,vi,rk,id,pm,pm,Gj,Fj,Dj,tk,$e,bf,Ab,Bd,jd,gd,tk,$e,bf,Ab,Pd,Bi,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm];var Pa=[Hm,bk,_i,gh,yj,_e,zj,Hd,Rb,Rh,df,bi,Wh,nf,bi,Td,zh,Qi,dg,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm];var Qa=[xl,mc,Db,db,vc,Jb,Eb,cb,uc,Ib,be,Lb,Mb,xl,xl,xl];var Ra=[rn,Zm,xf,Jj];var Sa=[pn,kn,dn,Gi,ti,rh,Wm,_f,Al,Re,Wk,Ji,Ei,pi,Wm,_h,_h,Cg,xg,qh,hh,Fh,xh,kn,dn,_h,Bg,vg,nh,dh,Dh,sh,kn,dn,Ei,kn,dn,xj,pj,kn,dn,Cj,wj,kn,dn,th,oh,qg,Wm,Rf,Of,Jc,Yj,Qg,Lg,ej,Si,ai,ni,ii,hj,Xi,ei,Tg,Ng,Pc,Kj,hg,kn,dn,Wm,$g,Vg,Ud,lm,kn,mm,kn,kn,mm,Ol,wm,wm,mj,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn];var Ta=[an,Mg,yd,Sg,Hb,an,an,an];var Ua=[Nm,Hg,wb,yb,yb,wb,ce,Sd];var Va=[Cm,Jf,Yd,qi,uh,Cm,Cm,Cm];var Wa=[hm,Yf,ie,hm];var Xa=[Rl,$h,ih,Rl];return{___cxa_can_catch:ui,___cxa_is_pointer_type:Hk,___divdi3:Wg,___muldi3:ij,___udivdi3:Il,___uremdi3:bj,_bitshift64Lshr:Wj,_bitshift64Shl:Qj,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Dk,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:qk,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Lk,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Zl,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Ti,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:qk,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Lk,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Ik,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Zl,_emscripten_bind_AttributeQuantizationTransform_range_0:Yl,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Ck,_emscripten_bind_AttributeTransformData___destroy___0:Vi,_emscripten_bind_AttributeTransformData_transform_type_0:Im,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:tl,_emscripten_bind_DecoderBuffer_Init_2:_k,_emscripten_bind_DecoderBuffer___destroy___0:_l,_emscripten_bind_Decoder_DecodeBufferToMesh_2:lk,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Xj,_emscripten_bind_Decoder_Decoder_0:dm,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:uk,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:lj,_emscripten_bind_Decoder_GetAttributeFloat_3:Nj,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Ij,_emscripten_bind_Decoder_GetAttributeIdByName_2:Ak,_emscripten_bind_Decoder_GetAttributeId_2:ck,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:oj,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:tj,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:sj,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:tj,_emscripten_bind_Decoder_GetAttributeMetadata_2:sk,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:kj,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:jj,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:nj,_emscripten_bind_Decoder_GetAttribute_2:Pk,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Jk,_emscripten_bind_Decoder_GetFaceFromMesh_3:ak,_emscripten_bind_Decoder_GetMetadata_1:il,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:ek,_emscripten_bind_Decoder_SkipAttributeTransform_1:Gk,_emscripten_bind_Decoder___destroy___0:Pg,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:zl,_emscripten_bind_DracoFloat32Array_GetValue_1:el,_emscripten_bind_DracoFloat32Array___destroy___0:zi,_emscripten_bind_DracoFloat32Array_size_0:Ll,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:zl,_emscripten_bind_DracoInt16Array_GetValue_1:wl,_emscripten_bind_DracoInt16Array___destroy___0:Ai,_emscripten_bind_DracoInt16Array_size_0:Ml,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:zl,_emscripten_bind_DracoInt32Array_GetValue_1:vl,_emscripten_bind_DracoInt32Array___destroy___0:zi,_emscripten_bind_DracoInt32Array_size_0:Ll,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:zl,_emscripten_bind_DracoInt8Array_GetValue_1:yl,_emscripten_bind_DracoInt8Array___destroy___0:$i,_emscripten_bind_DracoInt8Array_size_0:Wl,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:zl,_emscripten_bind_DracoUInt16Array_GetValue_1:wl,_emscripten_bind_DracoUInt16Array___destroy___0:Ai,_emscripten_bind_DracoUInt16Array_size_0:Ml,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:zl,_emscripten_bind_DracoUInt32Array_GetValue_1:vl,_emscripten_bind_DracoUInt32Array___destroy___0:zi,_emscripten_bind_DracoUInt32Array_size_0:Ll,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:zl,_emscripten_bind_DracoUInt8Array_GetValue_1:yl,_emscripten_bind_DracoUInt8Array___destroy___0:$i,_emscripten_bind_DracoUInt8Array_size_0:Wl,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:dl,_emscripten_bind_GeometryAttribute___destroy___0:_l,_emscripten_bind_Mesh_Mesh_0:em,_emscripten_bind_Mesh___destroy___0:Lk,_emscripten_bind_Mesh_num_attributes_0:El,_emscripten_bind_Mesh_num_faces_0:rl,_emscripten_bind_Mesh_num_points_0:Bm,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:pk,_emscripten_bind_MetadataQuerier_GetEntryName_2:zk,_emscripten_bind_MetadataQuerier_GetIntEntry_2:wk,_emscripten_bind_MetadataQuerier_GetStringEntry_2:ok,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:nk,_emscripten_bind_MetadataQuerier_HasEntry_2:Ek,_emscripten_bind_MetadataQuerier_HasIntEntry_2:vk,_emscripten_bind_MetadataQuerier_HasStringEntry_2:mk,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:sl,_emscripten_bind_MetadataQuerier_NumEntries_1:Uk,_emscripten_bind_MetadataQuerier___destroy___0:Rg,_emscripten_bind_Metadata_Metadata_0:hi,_emscripten_bind_Metadata___destroy___0:hl,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:bm,_emscripten_bind_PointAttribute_PointAttribute_0:ol,_emscripten_bind_PointAttribute___destroy___0:kg,_emscripten_bind_PointAttribute_attribute_type_0:km,_emscripten_bind_PointAttribute_byte_offset_0:rm,_emscripten_bind_PointAttribute_byte_stride_0:qm,_emscripten_bind_PointAttribute_data_type_0:um,_emscripten_bind_PointAttribute_normalized_0:fm,_emscripten_bind_PointAttribute_num_components_0:nm,_emscripten_bind_PointAttribute_size_0:Bm,_emscripten_bind_PointAttribute_unique_id_0:tm,_emscripten_bind_PointCloud_PointCloud_0:Kl,_emscripten_bind_PointCloud___destroy___0:Lk,_emscripten_bind_PointCloud_num_attributes_0:El,_emscripten_bind_PointCloud_num_points_0:Bm,_emscripten_bind_Status___destroy___0:Rj,_emscripten_bind_Status_code_0:Im,_emscripten_bind_Status_error_msg_0:Hj,_emscripten_bind_Status_ok_0:Am,_emscripten_bind_VoidPtr___destroy___0:_l,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:_m,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:bn,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Tm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Sm,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:_m,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:bn,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Sm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Tm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Pm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:_m,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Sm,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:bn,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Mm,_emscripten_enum_draco_StatusCode_ERROR:_m,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Rm,_emscripten_enum_draco_StatusCode_IO_ERROR:Ym,_emscripten_enum_draco_StatusCode_OK:bn,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Um,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Om,_emscripten_replace_memory:Ma,_free:Bb,_i64Add:Tj,_i64Subtract:Vj,_llvm_bswap_i32:Sl,_malloc:Ya,_memcpy:ge,_memmove:si,_memset:Xf,_sbrk:Xh,dynCall_ii:sm,dynCall_iii:Ql,dynCall_iiii:Zk,dynCall_iiiiiii:Aj,dynCall_v:Xm,dynCall_vi:Dm,dynCall_vii:cm,dynCall_viii:nl,dynCall_viiii:Nk,dynCall_viiiii:jk,dynCall_viiiiii:Lj,establishStackSpace:ym,getTempRet0:mn,runPostSets:Sj,setTempRet0:gn,setThrew:$l,stackAlloc:pl,stackRestore:en,stackSave:on}}) +var La=[kn,Km,Lm,nl,vm,Lm,Ec,kl,_l,mn,mn,Lm,mn,Lm,Lm,Kh,Pj,Kh,Zj,Fh,Lm,$j,Ng,Lm,vm,Lm,Kh,Pj,Kh,Zj,Fh,Lm,$j,Ng,Lm,vm,Km,mn,_l,Lm,mn,Lm,Sk,$j,Jg,Lm,vm,$j,Jg,Lm,vm,kd,Lm,Lm,Mj,Cc,dh,Lm,mn,he,dk,ik,gk,db,Lm,_l,gl,xd,_c,Ad,gb,Lm,_l,gl,ib,rf,mn,Lm,hj,km,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn];var Ma=[Wm,Jh,fe,Lb,Ph,dl,qm,vl,yk,vl,Lf,Sc,Ve,Dh,Hg,Fg,Gi,Wf,Rk,qm,je,Kc,qm,Zh,Hc,qm,Wh,be,xi,Kc,qm,Zh,Hc,qm,Wh,be,xi,Ce,Rk,qm,$e,qm,Mh,Ne,xi,qm,Mh,Ne,xi,rk,jd,qm,qm,Gj,Fj,Dj,tk,_e,af,yb,gd,bd,ad,tk,_e,af,yb,Md,Di,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm];var Na=[Im,bk,_i,eh,zj,Ze,Aj,Ed,Mb,Sh,cf,ci,Xh,mf,ci,Sd,Bh,Qi,cg,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im];var Oa=[yl,ic,Bb,ab,qc,Hb,Cb,$a,pc,Gb,$d,Ib,Kb,yl,yl,yl];var Pa=[rn,Zm,tf,Jj];var Qa=[pn,ln,dn,Hi,vi,th,kh,Zf,Bl,Qe,Wk,ni,$h,ri,bi,bi,bi,Cg,xg,rh,gh,Ah,sh,ln,dn,bi,Bg,vg,nh,ch,yh,oh,ln,dn,$h,ln,dn,ij,ej,ln,dn,qj,gj,ln,dn,uh,ph,pg,hg,Qf,Nf,Dc,Yj,Pg,Kg,fj,Si,ai,pi,ji,kj,Xi,fi,Sg,Mg,Jc,Kj,hg,ln,dn,hg,_g,Tg,Qd,mm,ln,nm,ln,ln,nm,Pl,xm,xm,pj,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn];var Ra=[$m,Lg,wd,Rg,Eb,$m,$m,$m];var Sa=[Om,Gg,ub,wb,wb,ub,ae,Pd];var Ta=[Dm,If,Xd,si,vh,Dm,Dm,Dm];var Ua=[im,Uf,de,im];var Va=[Sl,_h,hh,Sl];return{___cxa_can_catch:wi,___cxa_is_pointer_type:Hk,___divdi3:Ug,___muldi3:lj,___udivdi3:Jl,___uremdi3:bj,_bitshift64Lshr:Wj,_bitshift64Shl:Qj,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Dk,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:qk,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Lk,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:_l,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Ti,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:qk,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Lk,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Ik,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:_l,_emscripten_bind_AttributeQuantizationTransform_range_0:Zl,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Ck,_emscripten_bind_AttributeTransformData___destroy___0:Vi,_emscripten_bind_AttributeTransformData_transform_type_0:Jm,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:ul,_emscripten_bind_DecoderBuffer_Init_2:_k,_emscripten_bind_DecoderBuffer___destroy___0:cl,_emscripten_bind_Decoder_DecodeBufferToMesh_2:lk,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Xj,_emscripten_bind_Decoder_Decoder_0:em,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:uk,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:oj,_emscripten_bind_Decoder_GetAttributeFloat_3:Nj,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Ij,_emscripten_bind_Decoder_GetAttributeIdByName_2:Ak,_emscripten_bind_Decoder_GetAttributeId_2:ck,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:sj,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:wj,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:vj,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:wj,_emscripten_bind_Decoder_GetAttributeMetadata_2:sk,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:nj,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:mj,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:rj,_emscripten_bind_Decoder_GetAttribute_2:Pk,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Jk,_emscripten_bind_Decoder_GetFaceFromMesh_3:ak,_emscripten_bind_Decoder_GetMetadata_1:jl,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:ek,_emscripten_bind_Decoder_SkipAttributeTransform_1:Gk,_emscripten_bind_Decoder___destroy___0:Og,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Al,_emscripten_bind_DracoFloat32Array_GetValue_1:fl,_emscripten_bind_DracoFloat32Array___destroy___0:Bi,_emscripten_bind_DracoFloat32Array_size_0:Ml,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:Al,_emscripten_bind_DracoInt16Array_GetValue_1:xl,_emscripten_bind_DracoInt16Array___destroy___0:Ci,_emscripten_bind_DracoInt16Array_size_0:Nl,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Al,_emscripten_bind_DracoInt32Array_GetValue_1:wl,_emscripten_bind_DracoInt32Array___destroy___0:Bi,_emscripten_bind_DracoInt32Array_size_0:Ml,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Al,_emscripten_bind_DracoInt8Array_GetValue_1:zl,_emscripten_bind_DracoInt8Array___destroy___0:$i,_emscripten_bind_DracoInt8Array_size_0:Xl,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:Al,_emscripten_bind_DracoUInt16Array_GetValue_1:xl,_emscripten_bind_DracoUInt16Array___destroy___0:Ci,_emscripten_bind_DracoUInt16Array_size_0:Nl,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:Al,_emscripten_bind_DracoUInt32Array_GetValue_1:wl,_emscripten_bind_DracoUInt32Array___destroy___0:Bi,_emscripten_bind_DracoUInt32Array_size_0:Ml,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:Al,_emscripten_bind_DracoUInt8Array_GetValue_1:zl,_emscripten_bind_DracoUInt8Array___destroy___0:$i,_emscripten_bind_DracoUInt8Array_size_0:Xl,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:el,_emscripten_bind_GeometryAttribute___destroy___0:$l,_emscripten_bind_Mesh_Mesh_0:fm,_emscripten_bind_Mesh___destroy___0:Lk,_emscripten_bind_Mesh_num_attributes_0:Fl,_emscripten_bind_Mesh_num_faces_0:rl,_emscripten_bind_Mesh_num_points_0:Cm,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:pk,_emscripten_bind_MetadataQuerier_GetEntryName_2:zk,_emscripten_bind_MetadataQuerier_GetIntEntry_2:wk,_emscripten_bind_MetadataQuerier_GetStringEntry_2:ok,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:nk,_emscripten_bind_MetadataQuerier_HasEntry_2:Ek,_emscripten_bind_MetadataQuerier_HasIntEntry_2:vk,_emscripten_bind_MetadataQuerier_HasStringEntry_2:mk,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:tl,_emscripten_bind_MetadataQuerier_NumEntries_1:Uk,_emscripten_bind_MetadataQuerier___destroy___0:Qg,_emscripten_bind_Metadata_Metadata_0:ii,_emscripten_bind_Metadata___destroy___0:il,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:cm,_emscripten_bind_PointAttribute_PointAttribute_0:pl,_emscripten_bind_PointAttribute___destroy___0:jg,_emscripten_bind_PointAttribute_attribute_type_0:lm,_emscripten_bind_PointAttribute_byte_offset_0:sm,_emscripten_bind_PointAttribute_byte_stride_0:rm,_emscripten_bind_PointAttribute_data_type_0:vm,_emscripten_bind_PointAttribute_normalized_0:gm,_emscripten_bind_PointAttribute_num_components_0:om,_emscripten_bind_PointAttribute_size_0:Cm,_emscripten_bind_PointAttribute_unique_id_0:um,_emscripten_bind_PointCloud_PointCloud_0:Ll,_emscripten_bind_PointCloud___destroy___0:Lk,_emscripten_bind_PointCloud_num_attributes_0:Fl,_emscripten_bind_PointCloud_num_points_0:Cm,_emscripten_bind_Status___destroy___0:Rj,_emscripten_bind_Status_code_0:Jm,_emscripten_bind_Status_error_msg_0:Hj,_emscripten_bind_Status_ok_0:Bm,_emscripten_bind_VoidPtr___destroy___0:$l,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:_m,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:an,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Tm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Sm,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:_m,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:an,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Sm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Tm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Qm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:_m,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Sm,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:an,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Nm,_emscripten_enum_draco_StatusCode_ERROR:_m,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Rm,_emscripten_enum_draco_StatusCode_IO_ERROR:Ym,_emscripten_enum_draco_StatusCode_OK:an,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Vm,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Pm,_emscripten_get_global_libc:hn,_emscripten_replace_memory:Ka,_free:zb,_i64Add:Tj,_i64Subtract:Vj,_llvm_bswap_i32:Tl,_malloc:Wa,_memcpy:ee,_memmove:ui,_memset:Vf,_sbrk:Qh,dynCall_ii:tm,dynCall_iii:Rl,dynCall_iiii:Zk,dynCall_iiiiiii:Bj,dynCall_v:Xm,dynCall_vi:Em,dynCall_vii:dm,dynCall_viii:ol,dynCall_viiii:Nk,dynCall_viiiii:jk,dynCall_viiiiii:Lj,establishStackSpace:zm,getTempRet0:nn,runPostSets:Sj,setTempRet0:gn,setThrew:am,stackAlloc:ql,stackRestore:en,stackSave:on}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=asm["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"];var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoInt16Array_GetValue_1"];var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=asm["_emscripten_bind_DracoInt16Array___destroy___0"];var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=asm["_emscripten_bind_DracoInt16Array_size_0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=asm["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"];var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt16Array_GetValue_1"];var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=asm["_emscripten_bind_DracoUInt16Array___destroy___0"];var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=asm["_emscripten_bind_DracoUInt16Array_size_0"];var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=asm["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"];var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt32Array_GetValue_1"];var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=asm["_emscripten_bind_DracoUInt32Array___destroy___0"];var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=asm["_emscripten_bind_DracoUInt32Array_size_0"];var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=asm["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"];var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt8Array_GetValue_1"];var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=asm["_emscripten_bind_DracoUInt8Array___destroy___0"];var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=asm["_emscripten_bind_DracoUInt8Array_size_0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=asm["_emscripten_bind_MetadataQuerier_GetEntryName_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasEntry_2"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=asm["_emscripten_bind_MetadataQuerier_NumEntries_1"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;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"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;iKsQz-jW!ih>`u#_a9G$sg`sg>-zit>GA3yMl{p0%&9Xfho z|IEbr#48R=9Gf|K^hgk^$kqP)v6Isi<98jLo;kVyP|((wVgF_3zeUnv|(cZo#S->#IcD32VZ*dK-v28)6~S>;|EAIGf_68{Brcj z0spRF5S^$BvNkuV6fj4@J&~$x%RV*wEmD)*+O3Fk8aZHj~YTI_p>r+gsXzpylVtum@qLZE}$tPe_Zpz zIMjsYOG7#JvPt$R8tPaXL2J#LpfO7Nn7l228Ex22tHm|sWs3wnMD!$S25UQU&}ym~ z%D_KBL06)v*^GkG2wL=o-&|~@2`usIN74 zJ+S}CICK8M%Y)xY*7z+| z6MGNL?0@;hozq8;?3>EqU5*D_mh{N(;4GY7wEzi1*vXXXTD+;Gd{E%@46`USwU@aL_;?(3IZ z`Q;cTc^yTxi?wB}m^v;Rt?I&OQQl{eI z)7IeTE6 za^0GrBiA$_x$T*YCc0r_rlJPh@4o%W!Q&?<_Nd@}^GCn~ZoHmn*P)~PXLcQ(E)E^C zcAXf1c5wTmfSR9`U-yh9bxc`r-hX(4ZoTNL zCFUUQiylA$ECql_0EINQ9X^Ph{>HdOdLHt0T%8P z)p=%c$J5SM`mX&4Cd7Dcsy{o}|CF;OuE6}v;3dyFTf%+Q2O-smCT>H5ICi2c|5?F- z#XE4@)WKubgs-SI9k_GxHVx9Xi3PB1djEl=MhTw%tYUh4|J~y|=Dpb(ymSGAI4>Er z<%OOB{#CMde(&dH7;N0j7nt7jvYa^hO=1)WpS5uDhO@P9)Sl_Ymz^_HtqYS2@FF#* zR^(v&rxrlcIT?KG4=vvMfkB|E^7*W-FB8>Te|YiMm#GI^|MJCKUuGy_zsS(i+G__v z?;mOV0yE5m#;2(@{m3G?)-Qjse@pUcc`7I3TZ3;2=g-nP+2=fN4Zby;52!hb2HW`Rb5~MLOtU=!f^R!_B`>)f zqxI33z7&%!8SY(T2FyVR@03LKpTqfhJEt4c-pU4jdpMsf&Pjd*E7<-+$ZK~}{CAwY z(;_qnjvhXC^vJ{!GcLU*oKL&v)ZwY}UFU53Nz;zU52`KS8P4ZcR<2XbYqwj2{}RrZ zN^1!QM|RgDFmdJ1r?_WrhLRtXxxi@Zd^^W&Gy7*wp1_hP3wJ!$!fxJME9bT0jgPgQ zz1Qz6cJJJA>)xAd<=r3N{8-ET+S`kp_wD)mV&9&D5?>b%*zam!TS$d1A$7yfy*KUL zck7GC_r3U*oj_|qRyju*x9r_>^S<%xZ`^zPj^MT7^A_pPLbWqq#mzU|eq(X#_)R-+ z+a0_v9I%Gf>YXp}*pOep_r|@q2KR>p_QrE(yJ6?eJ8#`{eegZY&FH}efCi-LbJut? zNLbuR2NwhEA|1SC?`?ZDzyNl@Ky>aJ_w9Vq`1O1D-nt|B-a#f<%j)Lk^_t#0Z@m>r z-nZxg)RLAsb4zh+0n+TeHF$kEprtKb!=AmqlK(cyycbTr_XTu$Kww!o-R(EO;O4zw zck}oQciwuN;Picq4r#3ix8Ho*?YG>r_tt$ocT^d_KfJV#xi5nkzUbm*?b<1ab!jr)&{AAI(+f{!GvarhP9-{2nInsYVyXwug0 z;iGp=1i$HC!(fAtQP7E(Oiu;Bl?>f^H!kHvhsF;c41POF`%edh-${mRj|YR_O;*&O z50c~el1};RuHfVS!tOd4{C>Z%yGZ$oeqlTw4E`V)sdDmsF!;a8=)jAE!5{YPQx+xq zqhvKMAe^=bPrMvh9+!{bKYh(WAV-;Um#sMgJ1L zD!!LbJlq$*E>`8QOg@zS@df_-C&`<_2g9EV-yQyR__N{v41aedn*5LO{ox0~4~D-K{!aLN;m5=8 zkA5Kf!RRNVckuhFJ`e_niJ3!4T?1Qg$LKh9~o;IuK;ZWA0GHb*M4Wp_V$- za2;wb)}cnfLydZevS#{v{6o;w%yVC16I}3p89@7%tv>{IlUQJczUUaFL>qe*wdl zIQ#=&D*THXuFp|m77yTG0RF`_{0q{L6ZJwwou5WuGCgD5zAO%U?K%Bx&*@(~{j(Z6 zTJLOrHQYEg+&DecvxeSL9BnhG=(T&9 z2QOfj3Cz*VB+zebP~Z`1o=`?-D(|Q?aZ%uqb-KSPPB;Vvl|0Ohds`(y2pG_f7H|lP zQ(nR{+wC^Fn%&df@7YeEd0)sf?M-|p!$e>1p!ZmtTfsGz~ z*2aXPZo9q?Y3v~!q@xn`yw(WXAiQa5w$NF33G7k?J%+tme4amXB~qxillCs$!(hin zcrpj?Bw@hR!4BY+G+d@UN$2La#y6P*(Tte0;T%|}%3He6%EC)cj!6ek32L_)U#;B`wRQN5-4Foj}mP2j;HkFGv zxA>MgtOmD)Zw(2gmfIsVVjay9=P3ut$rLn+a($DUmc<&Pw!6l;@k!Hrldv;qmeR70 zaLLcp)C~;S8ZIXD!pP0gh>;kWp%fTSs;REPfq81ph%=j~ngnq{CF*&t5q_S6 zF@mO_u7N$ddD^Mtl4fOzg_5wCp0in#yVU4IHA7pPp>uIivooAGJ2l#RU&lmIYns}g zs?SRg3h1YXMGz@bQJg_#)IjkiPOsuO>d3I^1JDjSGQtc$cAcymJe=5qNEm4<|h{PVE zN}fdPHr14`CN|k~`VCAz*3q^I7U$G6wEEIK5cN!(=7N~d z`?`8&+H^Fao{^%jo{6=1^8n<=t7n5Exs!hjv_TZO;xj+@&bOKFkjRu^@?Mf7zETcU zxBDltJunPgqAlHjg?G-T`VVQ5i0p`$BuE%Ec(J_U$?g?Jn10HSkjxIB4b1KUQ1cR*HB#8Qbm_Xwn7d@| zvc+Aty34ihvQ0|GHPLP^v)4p7V!2@2f^M3}Hib*;lbb3H+GCPeqxeLC#$f7<($Z!G z!K)o^f^s=zzzIg^CkVw*_3jnIxE;uY!cgHQV06+GrJ5EdCTNoQ9CZMd$l>so=vvEE zJ!bY86`L#V%?d&+JXb+$d`{@4wZ%7K2|1l=hnls_oC2-HXJ~HhARJ24k}XivG3-9a zy6Ik|A83SQCFL@UCiA>|t;w6485CtG{)jOc5g;KgHXx%0Rq2;Z>OvOArW8+b9Pz$M z1A1Z+*G~3UaN&bE$na!uC6_gmy;WSsCVQ*7WRpGE3SjN6LZ3X@S!|jqHk|}?s40kxb90HZl54ecttxYE$dVW2m!KGjJ*>0J z7|qKli!B+~D&rcTF}nmj-XNO-s!tIq^Ey5i!PfxTI9t!Xvjv+L8D$d4rN%%l)Gj6= zz~QcubtwI-B_0OF)d;* z)+-sxhSW%8N^1qeNt0iu*MZ zk)=bGwKFW;=L>-l9&8!_b^bO4v~Ff^Ln%?Cnmm<-79ih}4>1Bv_Ys(5p5~*6dU6xM zgvv&=`;EXP2Y8)H1nNfpdF(Jz+Hi!po=kP0EBj629SBS>T9C(5jVrT;^3*K~fON>u zd7GUL`X{x6E;B*H;!$SN3a*-P-3;>_*NX4(93*aairYQn;Q8hQI zGa9Ia%y~=~9&VBs(ButnDy3M}i{-Fjn52vi?HNHWcCTq+T&xlW@pLI2tg_>)#MI-f zw2`qYq3Q!wG8N`kDNsT%hN+DXgz$%c4pV4RH#s7);6A-ga2c`;%~ZK&&xL7;%^|Dog+c4nevQqBa7HXjcZl@0zB<@akY67laYo%)czW zD&G2_00zh=yS)satx<%ulujCvSV*IR#5iZ$Oitbg(ln8&15_~YxHMUL$=XcjcGm7i z1`{(~bg~ZB+87BKPz|`f*%@0x80r=A9)?lVpl%P$7*Vt5U=fu&EQ&Pr9*b;Bfg{6< zqmt1LK?ox(14c{Kh>&~H%x$2t${R+s^k_8V=lyVuxsqO(<)d-7D$KTJRm5|uz%bO^ zMrWd4Of3y-HRV!j3_KVv@oa=>Cu1}wX{H%_1S|wg;meTWcq(!{DLb;kF)JI1q#Qz` zpivZLqJUuS#1L#JbhQ*ZoMiTUo}yIZvEk8h4UdAnBZ^{pM4h{Y%ICx*5D2oB*HB3# zJLE=Ih(*r@c9Y9S%6nendZdqm6Y?dCOUPzUU{e!z+2DyF>lNlsWnlanxR0Tcjbyw~ z=M!G33Edpz8K%Iw$U_ASAdiGrkSARl@(dZ=sUfVA`dR0{{ z4ZXzKgkD_15lw~ji(d0RC{Gae`nQN)*I#(_s;cwCuXV~7PKY0I**VrCA~-6pu-Zbax!eml3gPqObsClaR+}Dyk8<;n0|;IJDk_zx8J_ra2ZS7lSAxH8^JF2}S}C5w@}`riS_3Oyp!2}3bgB7Y+~ z9p9Np^thRg9G3#v_6{WOj-@GWb~v90WvR;Ce+qXZxJL>ufG1kXNNc-Law5vhhIUO` zwq8(NMOQ*5hzm=TM^*+!8zotBwnW3sDL*>MZgO1ViZ{=?ndSKE-{RWpm~@xYPZi7P zb_D3|o0E~)-XO)7AGu95=2_$EfrTny!qt$P_Myh9gr?L)>1GJtB5(9jc+vSF(KnUpw>ps-Y<@{lvi&W5V!Z=7~xz zKJwO&yfu6Q6qEa{HYnS~p(_EPw@Dbt32H5?W5ws(D=24MUKDsaF zBEW}d$HFFviqIHV#hi1nWJ=Ls5tGJXF=yq!hCESet?7D5=oZfZ1Ynw#Q!}Amg%S$7 z79OHR4%C?H%LfHP(B+0e_fxeHyV7c{41vaUhr8@1mK6%#{e6ZOAZdi1Vrx+LRs+gc zKEqB7<0^bkYQ-z#PUNFSqI+TWr(lY)4Q`~;q0LPoF(m6I!`d4$ z#OaN4@iupv$)OCwjkcIy3xH!m?~p>qb(LE)6!%0xqgeAMJ_4M~pdMm8&YLnH=a4c2 zWt@E-9Ft9?kaGbWJJHEO2JNaEABon&cd*A;=DzKj!kz7zo4)PYf!~K8sl8B4F0yta z%BghCd~brr%q2T_gw0v7Z$e0Bd!cMYAyE*t+=bl~@iBdl5$a&kWioO6_!#f$8KD8g z^h%)-y2FqpyT;NRY;$x8EmeEK_Nr*#OoWhQqE{ZWbFK7o2`O$WNO_~{QfscjZ=IGC zpb*yHR zK;`tcF@(^Y(fyndM{={ZbY5xdGs4D!oUfv2%-|Xfg(}PoH8U0`8!GR`s(cyFe&u*r zs|?E#Vl`)SwRh8GamVpI5jlisi>|hepIB1X1bn5@S#gER73n>cMn|v&xrj`n5Y-N~ zkGA5s;zloU(CDJ*E(QC6Z7xG8!ccO^1Y>Zb8RS55bCL!H;-8Uy&9=r2kz>MZEam`% z*&)gZn}h0*vdFSv>Mom)Bw*S>ZkL&vz{uljCi&C!`yylm2Bq&$5u+0N(Gt&@tRdz| zf!rylc{98%F;e<+5ZwT{um^}TGf?ydbTrQPHt+1UGAf@8*)cy-q4$ER3VKbC83&ED zIaE8IFsXWi${)eoDBP+xroNfP2ciB!UkBcMj;HSuPDHJYG=cG>NxKpq+U;$c!h@Duac7ttdUYP zoY8<0IAX2N!sCW)HsleV2bxnb zJ{)Hl%qiUQ3wTsOyD3vi#A#AyMnhdFGKrap4g~Njo1t?9=rh2E?Ie~fv}_1%45u_l ztO+i?z!Y0Upi~eSilG4A(RCX+TrL6x-A})@$*}px3*apQ+=fCt7KE~pM}#G?R&2IE z+3gM_O#opF5H|SQq&=if1T*Fvk>M?Xglo!x)tGT$I^G*1oe?Ip+Y-J^66tbCtF4r> zOcNKyu-uX5?#vulFByfl8%}3=#t~(O3{Tw!(;s3aJ5w|8eTF{kNIf2HWFwFU8yL|a zrN)>Hm_7III9yMJN;1wf4iPO9pl3lH(JLb*iJEc3r@{SY9G;Ty%G!>^xMoS>Rv$bO z(wtPG5tAU{H9FT+57<=Q@3m8)p=d=q+n%wxvPol%(tCm_Li|9y%|?j1<4hFlL3$j~ z1t)`*O=HxpnXKcx=`hfJ(|kg8CQagKVZUWINm|7n5V2y@*NFEtfr5#v^M_kCxZzfb z29oB~T^J}_s~pL7?XY13!Gs6Eqe(y~DQ);ba*JNph4x#seWRHuYAO(Gm1ARb8l<3A z>WqB93t?ivX})hF{WMNBN{R72K!Hv{R!3o+8`HTt~)EPb^J|5?mMhEAVWT4JZx5C{7y9R=YDK+k<@k3V>riM{Yrg=1?R`P_7RVW{ZIt zl&^}nSRWoflLdHqPd$j}si4Ko3=aqZy#U-ttWaAmi2EJa2f@E?f8DhjBZdXS=1d?K zcLy6BtQHfQElWYHQdtJT1xtO5)oiBX5 zz;Jtp!R_<2H=I|vsnm-bZVZd&X|VNv*H5ez=YhVd)W=xfmk7Sm!=D6h_dMf#!|f+8 zZn#|)2agEfG7mRYwDW*(D%HVl+2wtS;2S-Br|@ml`G(s&zrb)?8plKmb-n=Ro#eK8 zGTeaBMk15C5j~fST~b`1DB)^(onqDdyB_0MnL7T(*()S>w##^|Lfv`k7`BjaS@i_y zAWI!?r*$a6@v*2IOGV&8)nK`L!N1YIAV<4#S+*FxWK4a+#^qw_3k2Vd%Y`HOPuRFz zOnpIWxz6a=vcq#&e<2F;|bkXWXfbgANy>l9W@?U8YDbqaC9b?U;2Mo;`mU6h?dz;GjV z;e@3pexxqSP9bu9l@W>y$Jn0uk-8{5C4uVVn^cmlT(2%B1pETC-!D2rtMqd_lj((% zJI{wdddY&8b&8R`_&SA5;yQH!1+DWCIk3Eu!qIy1bqblpb?O2NT2J^$U6h?dCi!X$ z@40|{?g<~Mi?UM^v@X6$B|*#e>S98`FEIOkQqZzMz{eK&w>I#`H7eFFG`u@qU_W~DU)23okGz1(Th^hdfStN*4W8vb;9`|>Ihnwu$3(f z)V0%H@%j}G!fY{1%wDat8$BTQy$(2EnUd|V{5QH21%vKb9ek7V) z83t*~-X`hOiOnj;T-lEdl&z(W1KVFyUDtB4H-Xp?NNmMCEn4H6xWyGi(?~}4?hmqH zBE3e@Uu9GJr+KjDt1V=*EoWF=MJAT+Y0V1jarku&q)K((mE3(m<&9CeTmQoHi-(^Z zvwo7z4&rXQjt{=aNG#nq02UQAWa(L+{?z{MQ_>Z+VmDK2M_`P){}L+^cdUi~^8W49 z`?pu6ZI^UQndhJ4bktrItN|n6*7C7Yu!y+(%<>VS@%W5>E1q3`aS5L#@UrTvzuAwf z;#K#`e)UfiV6?)rY{r+V8A|jsQTlv3)rSFl=V&t;w=7kwxg2oW;z0<}?fxJD(p}R1 zArGot$S|x?3_&$-U*V#)s9YF#j{($IV!+qfZbBaJRFa2U5Tuoc%i4ZNZFAV=LQ%Ch zM6EL1$ViOoaw?mD#KHi64OSM`D+9ObNUAMVxU!%eNBLYduJ!Y*XzU8{eM(mf>)spK zJn23J)P(^h(h3BY;8Q-qZwTF8JBQVjb`2V<8@;AhG$eZ1P(zunZoy`+D8dH?p( z{_R-*c0>R6vh-46Mc3Lqk03Z?98O<87YnpKLLUp5P^{^Vwe-vFTOtxM4>@h!p_a8O zxfU-9{Mu$Ea+s^%ZEB1o2X2cKO@1&lQ2h4uueFW**UTea{^Mrgxw;1MAMkkZXw8cp z^grRD|8@<}hr@cuijT34g=UhLgSz>leu4nCjjV_1)SV8os_;zr$n6ozgYpgK(ac?0W7x^2mBNKvM6yJl%IwzUDs?MxGvqUtBmPoy86 zV^}2mVb_+RIIW*E`uR`#IhFoXsGa;lmW?^Y2Q0H85~_g-whCSwV;MQK;p#H(ZZve3 zls~XRN91TG8>)#9*=A8OTW8QXg?CeyVB6C^1y+^_oo84c0curmiPqRK+cwE+gUtYz zaB7KeiP6ib-qj3LZ00y}Yn4A8WD`1BryWffd(fTwuh(ND@Rm5em2{<4ASfB>H-2Ji zIBsI0t$jk){4e-kz>0&=kVE$jN0dH8_(0(=$|I_ByMa+vArfFuzyg4=uNj<$!QCMN z0e)gVb318hRLH`10Xdu4YxfISCp_ih?i>70H%295ak3z}CJ55qDkLbp2xH^n`w72W z&Sq}6+Jv85kckp3s?{Fv%V2Cy0s$&v`g&WDY+xyu;~KpyBmjA^#6m~g_#<}E0W8>F zI`AJjvUVAu_8|cVhN85#Q;Nt1CmLx7D|T&SnRNHLnX-VXZj%n%_r>it!vbwFZnvKk z3&@!l3lJReodzVV3ZZ^?44jtv+Qt#uQO4e}6#&~IVfA5h^+Hfz8wXLglg-#JL^42g zl8(@jNK3BS3QYTi{@GbR$o^m(k+LK+-x zWDQo<_VLoj6znqwGT0n9Vx^3{jabc&3ja;@kVW*w|1?*Z^!gc9h;g!{HLPr)|6?d%| z-Hl0Y;yY*ZP@=ZGphQ{~9)DgSylXy}wP5T-@Z5MS7v|@+>3yLQT8&sm-Ni`y+m(X2 z_Ei@^HuZ4#hd7Rs>_`!=9@1}gRq-x!Rk0!b7FV0LhW8b6Mv3bR$VLIeIldY+c)TiZ z(-RQ%%hX4s9`@GvkMHUqpCVUqOsVO!47w(J3&bx1P9{}3VbY!RL`{6^>he4eVLxqI zRNr9Ds??yVI$UjnB6rzyV}Xym`F*-7zV^AXAD*)I$klEaX@6Eb7uEjC@~Fvel5rYE zCdn(Zd2cN@`9>!c*dW_ZZU%nnwK%3bm{Y7*^cmzWWe@H3=JxSMzy?O!5v036E}7SM zl>4#1n84os&kOdcKb-t~RyRGuAXqL(}Lv%C9~;>ji3=W8V_lis7VXUR*ZJ}Xj3 z@t|LH$^--|rH`En%*6KTp#H|8weKE`nki){!lOe@4+S+I66mZPmAn?J`!U$J*1w_FMF)P=Zw2bcxL|-F}PF!e?}Xw$Q+893VyIIG8M< z2goTK6&a%l9YLi7>_4i;S4>1e0NLw6(9w+uD|`@HhOBA++8fu=O*th-2KX7U6<2y6nsCoRAb04$pMHRrnx4B5ll_sV9HXJ1R`g=I@u(N;l6 zyb}tW0i>U7MXP7yGk(86HrVE1s)n|u%)!0x|0?(UGdSCZT;iqLlg{4IdjUk?&p{L+ zww*@hju>uh0*(URwgi3UF7tAL3fQe(l%)xRz_7Bhi4Z47D>cvqSWWJCHiS7{Vm_ zVG%ms9D0a(@o>mHB*($SCElhpgxrRlqbK{(-48NfH zTcXW1UrL`MmS49l_|@gSTHjX2rRCP^IuzmliBdX>B6YrooZcYMwV%e7@Go8>2DqHys#_Sb_o z^SX_hLu~HNh{t@3Xwyi-zPH*&G~7F4+qOpAqHTJ#y$N#)3e%lf=&c;|HA+D~pcHI} zDu;vPfoT!g{$J3rhHd@Y5oFZQ_IY5(ESOC|_8zPnebG!51o*nSIpsGO z?FF$YfUQdGA7$+YTJ+@*ec2=*D_)|g(~fJ0Df^wT{bAs;!EkU9l%(4Bx~3Mlq!x3) z0P+@?kmhLOuo=k$rn3VwEsu;f1tZ2wTbNoCm_P^u!a-{XR=H?O3NRTY7}F@=j?5#> zvds~hrJBszm$PAeeR@W3M#wkmAXx_)0iF%jDV5{2Ay+^HsRcge5m)1@b{IrVw=u24 z-|3)(b6?-p(ep#A1;qsTiWx zt4Fj{J2b{7H!WVhHNyA2>9$OF*aKck2GRF7I~WN(eoyck_GAqQDxmyt0aTuyHTo_g z+2{nN&v-fT-mb9C2#P3W&nB(C@*rIj)`$r@rU~tuhcyh5!c=>9_Yuuo`$8Se4dE%`AG>!J_Yg;rc<%K-%qSFEK8UzyfTj}p{SYCNu|zDR z{OYMy<66%BSdE`{|0&K9(CkzjCpS9Cbbo;N)*Sa%?NLLub!9*9p_U*J9aFnqs<6>63USe9DO}h^{tGMl*n{*$*YAyB* zGw-qcsf1z;0zxq-$ZZ!*Uh%3P3asru?>aB3IBSTzbH?kbJiSc-c0GdnP-`~y;3PVm zRLDk_ip#4lTcU0Hh5;D{Yab!hQfu9I@R=;@zFTS*eR~S2i*jZ_sbsX}QeuI7>ZU&y zx$`k-v+ueo(Wr$wu~DG&@`nMxd=cqnL_4wsfR`_6Qs1PGO`hzxjnF4$b>G};_3QTQSbn1*5rn{h!)aJH#A1185&-g zz{gvo$c2knV|VO|snlqAtog_6?^8E-$m0)r8Isv&XzUmRl!^+At%#f^$yqZjDvpY+ z)D`F+Rg)@gp{vdW5XIYS-^(TgAgEa%-t~6NdZ_N>%n<`Nos?%IVZ2y?Ghro<)GHvo zdqf9wz=)hu2F6>9&x7u{!!vkHG_uf{i#Q8GM4K)!PEX_5>|VNrn?z{6)ran{gy}a~ zScPv?1+1vf*Ej1#5<%S2(TctE&PgK7L=fJ{i~N%djd4k1`(qrO|Ekw4x$1k8use8C z$6N?tz0s7GxlY_))CDv!C@|jM` zU~)~FT#|}tB(JTU`FnZ+Y*ucC+{zHEu*w!^aTM+p z^!lFq+l;n$-xHF*lmd}2qCqFFo|skEN(Rj;f`wcYU6<~3u}XjAB}gWN5L^&($xO77 zq9@6F0nyEr!1Vfam7;mLKyE-*>5yq4_%RdTAEsB@J@eY~NQC!vZ)=T-r5}%?#%weo zjv>-$rkKx@(>tX8I_BTGlR2mz<>`lRu7oO@%WzjD*NXb|kbWFz30?&B8!h z7BVO$2d_!;iQR;R-P*+T4c#I+=zYjRP0Ub&sLp6}fEUFv5f@p)of@&21m|*|ThN2< zS=nOW3igwKnQDDg=BT75{#9JQl-oAqa{kD9#MV9pePHW zpJP<(WpNCtEA4dFeAtym?{|)fWMhba*zs-%#|XZj(Niy`NrVZA()8=IFdtxJ^^Km& zhpDk*FO6N4rB?Swh67Gvv(gz}p`^xGPM#u!FiVb;U8mst&kD?#Df zD%U0TL#e6XCKJa2iZBtW34#a{ZJxodVn+e(f>qv8K)Z}l1bH)&V%lqNobDgfX_&LA zw6P*jy-n0Cr&tfj0~1)xZ)H?U#GdA)TH}Evpg84&fzY!5*FMNb#PKH0Fo>f@0uh1g zb^ot3-pslE!~Waa?H~2ux?4u!ZIQE_Fpq53aiZB+-XL1U%tct(ow>-ys;i;C1-`1m z;GZ3j^5CSb@JMe)@MFw2ns}uyLLf#jh_~^J?$L|DzzDU$Sa@Sn6HYitQD$P1LIFk6 zD0O-|>{eYw{=}(a6>hUSnHfHU#k;{uzGxZL0GsiaxJ*gMb=a)6j>xcHK!c)`*3=3H z1L0x)(gQUIxSGXQIn(rgK8O%tnH|W0mE^QzhW@$p>RKG{#36n-U}R=HC*07WL37tK zonlK#M(~{~C#zesFbL(}p)1T_VmCY#wG$KX1jUx1$caw|6#Vb9vZ>A91ed6vb`TFU zz9~0INBKIn?$)8`QZ5R`TEUE!hoZ}~94K<6UI|5=A^kX@XovFwxFteSbg&Oa&Brf( zDE@RP3666rosAi!hYmqQ`*R9lmh{+Eco?vo1_AFy!7#!;J=m<{u(@72-Tjl$W;PBS zCaaeVimOfjFW$aVU_l3#RlwY#*N8?W%xfTP(0$rMpxRXJMKKqFjG8#)~FxQzYer{`6$Sh=FXVGjeB z^`oVvZP2P*Bo=s)kDQA}OZgQIa|)tXAM!+LX2PN=DoyQJ+y`pes=$TW^p`^-7vw=9 zazPp{OB00NAR#K9n{;w9`QTD08a9$L9s5A{fQjk!bDhn`k_#ddVCjazWh|DkHPJDJkYhLYd5eQ$ zb!r|FRuD&qNx5r5Dnv8Dx>*7sl>+jse5QLFA!+R4-(;*!bj zq)`6e2pq2!Z=)`Yxe?Tx7Ic(%0Ha&FAVwjwt)m8!+?A$$)pTJw9i8*np)0Z!8*4>z zu$Y;=iLped3Yz2J1k$#z5(PlTiV;?o3krHk9SBJjCb$_!>+2vLT^yuZqSNe|rXs-(UTA~v0GqzKVWa3IZ03&S>L5v+ zW$d~^mS=>2`7G~h=o>!L2onkuR(HlC!{P_l09i)}(58#eTBu!EaoF=+-J@1rNZex{ zIo-xCFl(pV*oEj>J!S5)1&F{qw)PwO$qU@b*Q^yxLe+YmyKHlp8{Op=ciG295%~)N z)+nn0`p*}*t?%o%)i-hn&60C?p=O1}Ka*aaf}FpI%kL`T_F2OUUBsb36-;(NfUaPM zRB;IbBKU%0=>w~tP%QnJRrf`XrQfysO9x9o&~NLKu=F0t#ACx!wyZ!p!L;ujaKd2> z73p6OMPsugGP3IQ?N3?+6CVc=kvUP_k_|Y z>Q5@6%BZvh&T=+3n6Kci#jN#g5hFT^8Glv%$7TF(=gG1w?C zH*nzz@f%Sf?h)zQ+r%&n&{$tcA4~XJiF{N+EX^ z@i8S+)GN_eNPeVa2zpq9q#5!R`BJtGWKIM=#02-mezV*n1R@AET!E%Y$F9KGEx@tt z6y>ubptx-E+F*B*ph-W}w5$Q!rb|K*{y9;U8-1acII~eVleirakMYt*edMN*&_c8k zr$+n;mIIk&Hp;~8+9;EGN55P;+;*dCm$rNAN;=lSk!cJd^+%G}CaP%LND4`*oX#%M z3+|tqU2*1AZ&TLN^XAieFMGv&-EBGbl?>WtXZQtH^fwgP_!94>B<~J_rt7`e1>l z`JPDLa5OfJGfJcjzF@jC;mu00F}rm8W%q7xy(+(SR@rDS*D$->uFA7;*2cX0wp(>L z78cEe1mLP$W?gCenJ=mXT4K})g4u$HL?;7C3xKz^5zJOz=OJ>Y`M&&t+&Gl&(fsSk z?&y;IlG8cJeBy-;vZkhjF(^H0Q$>8?PH3@SJv|86w&`N)726Z}vATd;hd<$C#n$0| ztS+WrK}7vn;Uc+c<`up2V|6k03NGo01;W}zGgKF4r=AuCKjwz&V!}Um4}bf`hk##b z9$WZ4R=mn->nioPE7H(_Xn5K!OV=i8zm7M}>3KXhTq2`-wr*?mB z?f&00IO%2vi2zz(B5PU43auyZTVu9ijrlO9?aIZ~VpPjusfJu!&C++}U0mLQg{rFU zb1>Ft4Y{}~PZ(bQ(#3@+uN2@<-^GO{1Rl$MXfCc87guAhi>qNSE>e0I7aH*bF0L3C z7yYFj-oGVn0Bb3cFCUE4_jRK6E{<;q6O(z8QPQtLqYsK}C-X7snevKTRMHf-n;~_( zf!+*a^1;L(Pl?~#J5qdBwfJ;!;L_I`)e&1++XXs;MiF&t4+KO zuL%n#JWbGqT$!z+U%K1CeWUxi5Y0z6kQ|4J*<_?mVUvl|hkBRs%@(QSMPebVQZ)(f z>2-L|t|49Xhmos__rXo~PD+G%d^D4ke!6G<-6gcTDjC))l8=bY9o+$3fkH3VM()*#icGGefRamyg)Nq!K(2#~DrU0e%)+_$e*yMX|^jFt_T{WEvb#`H@UGUlElI#X(kh4M&OKX!M4KF%M@zq;MZ3Ft2rp` zt6EQwTz-wN3NlHP9qE6=?zx!NZ%Y5uUcB&V018YdZF3;oGBPZ!2JL3b8bn zX#Rsy$G#Mpy+Z7ZPa5$uO`vUV^s@UZ;yv<~oO3Wucn)phwUEZr^jJpIiwd{5p6si? z2)dp)!F-ajAEwo?{he}~Y(zivX4CN*q9A5Z9LI{?&W5Mq7hn|SviHM?p*`ivmuOK6 zgbmQ4yz5rmmc4P%p$3xqt|0Qcu5`0e@#@jrkT!u~l&vUPHMB{6r4bN8edB(RQ!5x{ z)N$&42KCXU2cpa}IuZk_I20QuH(HRMmi96SzD(_Z^^23z{#r=X|pLgiH*8Op2R}|HIA2;^F3E@o@95 z=jI|y?D}P7N&O_og<;eko9{4Ko$f0mn>x@osRyu!-pdT2s}k z0jS7qEl@^HQA3*M>8PSQMA0?r%>7Z1>R{yytyB~-^T6?NPiB3P>gsYY6ChL$qNuG2 zZ;sk_pte~o{vj$WO@$%V8bt`mCpyuJ+0oK7={B~qA#-u%%uX~aqWryHCN~*@Pfkx7 zMnS@zlQ=zzNN}iBS}AbqDgU59ZXEE0WzKCWU5`yY%1LYm~Hc8QlT#$++qgwzcfX)pep8G1^?uwge{xj5}2BUaYYvIhEerHnjkIl zZUs@|hZ0*a+mkDrbA{fN)#WR1;1z>1U1FK23+iX}yy}K&NlVD6lB_{#iRv{NV94z)QX~LOya7s3)HDrP0RO&91He_?}NQ*S#J`nh7}n!TCs_1Pv;x5 z4QJdM4O{oJ=5&5ZcFCDjdWH9opM3S{{L<{wGpF)($nD4@Fpzde&W*}x?2%0CEfY`O zjPz?Q{aDt1C|miE3RrU{TbHfIb$3}dmNg#AR@vLj%eV5kt-;?WqUQeMuo_eO>t;{m zyI*~Vz0k&}qIy0B#TcWO+KY8(^7Y#Tl5fxMeGoV3>IX-oAdGP7^;Q!%yFKK>yj|a0 zqg!as>h0mHd#kfG+oOBYmDX%;y%1zu+gl?cFy;IDZ1p|a>QmdpdwmmLDB%ow@$xgM zSgW(_jHy^GSux9i-)~*3MzyQ2XVr{kfjLBMn!VF*U{sxF&-HjUe!mb0V$)=C$MM{n(daS8gnLse5VAPfwELBaM82*4txOpTo3af;3CqzEfsBb? zXSg(k#%3f5>AR7#?r##6%o{;1?@)wzRAWZVM=f#3HXA5ri;Q00m3JhV5gu7m!K`z9 znjSH9QitppHf96}c4J}Oh-YH*KvoSjzH9Jssnm;}7IR7h)O$uz7Xg^}!^X(Y2SFN( zqA4U-M^lJKS#!qv$;dIHAvIudK_8;Ad`tw)00>&#E{dW7P-03IL9ega_^hD@Oo|oY zlz`EYM6=X(XatmVfu_)`$JUgxOj?tsY`kgP?7NUNKzm1B;o1`I8+_b7_;_9Y@jPf} z-xE6Z>;kmr@#=C(`sFsFi|TJ0R+*rIp_I7vXW}SzI$2!W<6=p~Oci2>u)v5{#1aJE zev@v+8E7P98e=Mqknbx8*D`i8i%HqX*?QEp7 zqt?=m%+b;m$Fy@RSoG4Yg@#7EZy?fvI8O534x z1Z1)eXq9)4Mp;!uJfH9qICZpi!xSh7C$G1n;i9+tiWXK~wH@SQpsFg`QmY7W$9bk$=anzXhdQI%3f#B|u)x2oK@yOWQw08*a_4uhr^S$j-dz$h(4 zA0jrdrGc8swl&FXZ|Gyq0+}lfR4wruD5P$ytoU1^=U`m71EoeB+S&zMjzc$@2=Wc( zJs1cgQB$=jW*g%#*Mdk+gfUf14y2p&f?z}I7&Z}kEMWY`cQ?qhK};0g9}-{2!Ew1D zG|zy6Lt+!XMmTd_HsmWp%}7}=!X8UEVpAnIY6vr`3%&*)h7GT*78oy9a^aiY92hUg ztVO+EMZQbbDj!1irH%46dRO1jWS;YKx_3o3#1stW0FdF^{bk&s&?kDExsfgmVVA)c z!cSLvS7w=dq+OidAYzU&?_*mcaWlJ2Usq=vby-6PU7|AWrP+$zNcmXVCiAB_{ro98 z(nqtepRYj~c9~NAAifUlAG?oR##%QJW~ti;boT3FyU{WmTeg_qd?^MRCL3ZuI-SO)$9_y3b;Ct% zbo$ne(%ozxYDP~UYD$944rz=@ctf^%T2uK7x}Zp6mUxN54rh4@(0-%Jk5;N73Lb9v zQY}-wuul@mo*oxAx#J$(9h1l*oE*$!je$wsMUeGu20^}^rpLg`O6L$y%nmWZL=eM7 z22;YinRa3PwyP|DLLr^Nr_qu0PV6of4E5HMWZf`UL4~!_I%o0a9!aEOYNP~ZnPEJZ zuOWj7m^LY=B~sRvvu{VUD%_Ad1fZb|8zH|QEBpyW1N~X32UQ>OID?y}a|m)}uQZe( zmeC!mH%n5#KQ2&r;T~zntg0~vhK6b34*tk{9`>y4b5o(-VSlJVd|05Y_fz&xLsb|w zQ$o;ToGJ!12sdEH1QF@Zheha|A<)4z8>Z;S;H#$jP4i*#n&G)-PUAHTm^l#^Y>bBB z7IvqRLM+uwZp-z6OkXubzQv~bf2OFw>MI>WtOS&%HpjHtXDp@z8Pze^@$t_mde&xaz=he%BMUsmGD3zsT67hSJKw5IXIac2l^R2#A z07{3wbr3a8R^6r9TI$}wryTo@d<7ez2DbWm?HtK2TWfoEjqoeMa&sP#x}yV&oDC@p zl-)FHxf-s+MlBE~n@}=)g z!_^oH%qmpV1*+mu?*CkdhE-ouyfSB04QHw;?<}5B2mC?KrHyW5X z<>KPGEfHA(l=^jgdM-AFmc&Kw1;n645ey@K!Lg|BNef7s=gH~-K!ic!PXxzxi~(Zf z`m6zfW7g~712yG-O%`kU4I0#;9!5@j!}k)@;_*0U~0C_7!MMVpUbJ9vA_Nx&BRMJ|XQnT+{nGcZ{Ax{}=LLOU{sBRaQ*RN|pHYA(& z>q8Ab1TzEk4nc=a*lT9%P0G{IdTfFa0P9kav!_=1Bqxgg%xCFO@E;2QOEiiWH| zXeH+}WG&UJrg7Yg$g5T%t2pxjvI0Q(bERHY(*`uHmTgNo6uTQ_gbplXgbMB3Bc5HL6_^r2lg$ z+OXjAONm%otc<}~Mi)aKbGhR_lRpi=Eb z0jdbc63LM6XfkI#($GT+{C9t`SXp?H6WP3L3_W&mC7$^$K@}+Xxz<~vMN5{{KJb+7 z)>{r&CU>@egB{h@TPpGhJ2|+kKwVnQDzxo>xh2<4@{SUnw+@cUWj#+2Lu^pGDCCcq ztfJG?rCHbu_>Zs8mRt6?0*?NYOLJ_KartWa831$I+E|upn9~cdRivZUsL2&lx=1u$cn-|>X^oqYb!Fp* zd;@YCS1qJ0D_&~j+H%z5xzVLs@_F{gxh0>r`qAQZuGGp&t)a9flX-r+w>it)YRR0H zleUJ^)>Y;iizitad8yKJza`s@mo;;1GOs+H=h;)wWW7__7A>Fb^>C}^q&S^Dh38YC z)=2j?k+Ded*M-+PwK>y5N-d)7^)6>&1yNL+nzoRVRg)Xta>;Gk zWxb7BNU0T+TsEoR`r65ClUqp1yy&rza--Uzg_N5f1ov4@8EQ3U!fML;LQ0#E$i?#( zQeMXLO}CJ8BMT@KVn=liaiQvpJ>Sjcd0AP~Ij6qu_wXlj3n|Z0UB0}!()8D3JKqJQ z2F^yxAatx)WM<9{?8lJqBnX>wr5z0Uq@2dc9^|Ezx@jOV(}2s!=WWXg{ZB2{6^VZ7 zvH#YBaG(XDwLoDqzWR!a6T>Be%r6a)qk!HlX=wnIjVZmtd?)T6(k$71X-fkx2%O*t z_04G3%&&bih9RS>g|6siR=6Z|0tDGM3aw9>xif|$+3CgY>|`Wgzoa|SV`V;L0IHavG^ zldy~Oms=!>srEQ8w9?8AIw|?r38qlsSM5O_=~j&A;ruIbui(RW=8c`_i&d zW$lHCDMCRy3RNclP+Kf%AJ`-^v*B){3Hr9uMMIUf22KuaWbj1wBMO8KRe z3u=i#A;^ck)=L1=j>;4w*mAC}rU%~@+{-hm?FIJ~XbP@XQ~J|MrFa)qL%USFNttRnaD%Myo%bk@5<`d%!@aVb<-kRFDC zxnX*3tbq!MpfPX|%*NObF#JvTHfKYNNA6uo+2+L^h}?UM#ZvO2ZsP1mKgl^D17|5e z%I&JS36n?HWt#*lBEfValFkd6{=!~^#PtmmpeKFqa{-d4Ot_AO$9>8H zFYlZJE#QyZpDJhWFbkcy_yE3j*=6Q!ZPLr9xR$`k2%jk3w)Rwo>bc0h;qv1WBKKNo z0E>t2A%W-4lfBIa=b6~H5L8_hoeOaqfUKN9$m-53uy}+YF#*miv`~oO;x` z!GdGxeCr=Wu%P8j|5qBWc`{hABrHz`3o2Mp@%8JtBF3(FVk}F_&k{7)TqI~vgla(v z6IZnY3g?JH=EAnc4XrY!P#gN>KCq43Qf~Ayg+3l_gA*_}5Ck+=z+?rR1raJ`O~7oF z@?Tk?1sm3)23h1qEF{r?7Cbm+5~g@uJ!-Iu6GXyfSx{NzQlbV;V7911cP9hplTm}U z@c9xf<(dL5UaJAm$vbR&V99A!Tcedi971B_)UI6MF`ua{f^=KXSo7;3*eiiT#x)1JQgZAmB& z#~H^2j5)7jR})F6%xXUIPh-WQ&ybrGJsfi6dT$r>a$8wL2yL-Z3tau^h+Mfb0i$LV zh=-c2tp=$~)AbBpu+!OzW&pWgF8ukG*KXoYW7 zDE|Q_QKO!^Ri=La1B_Hu`&52-&jasb^P0x}S-8kY$nE{vP?`MsS?i4~cIX^PPHC5j zPTm4hxF?R5Ga*y|x|zP|U0{E7|9$u6l>42Ze&+*!|Nggs^#PD47A%5m8Rqg1g!Av% z+7Fh)1K1LN_v`ZTeoF_CbVoW(L+;vX`h$tz1JR~&8GH@qYh%5|&OjCN1~yq?3FUmR zPDAYoKa7$vTLw-;ZPZRfwVY+D`bnrFA>@M=HDqqa*g0VuK}bsTDDi=%Zg1W6zc4V zs^hsz0TId0cD<$DZzK^kd0r{#xG<4MkfM+5gK2{+37|a zaliK^8#UPW*Mak(reIkN;vl@GkCN=vYnZ50)I4q) z9E5(5l0$imbFv*!C{FLcAVv38%;?l;%&cQ5H6fvdsz zw}rK{vSFze@3FJ82M!V_Ps(PP-7x|X4e_4ZN!fNhc3k5Fnm4{+`;y1xEjG%J#f-Wp+RZ0K z4sC3%(r?sTmCmPI>|UI0p9U5Zw3Wo0Cv)4voY@F|FeODx+jEW=Xccz6K-+5;RoeN- z3osLPsJv~xvqctDPDnnf_0{4&a-G9B#nv9hoXUbfb&@rSfkHnqrna@$)G8&_0!8Ej zJ8nR$6f@R%>iwmfuCcaiYP!XMtwetkV7C28p%+k>&bw^wjRg((KwirRhf=fdXE?oDN zvbM%TofZjR@_7PU)u=u}ClYwlSF zEwV2K_2-TqPz}s{%~RPMPiASg7k@c1{a*Y=f}JulNP-97ITHLNby+@jIqM3pC#j1j zwUN~)smn!3T_$DO4~j=H20*ZM^78^d1JqH3jLHno&I@xAiK_+O_sLKhN{|;_lWDhj zB$`|qQZV1rne$qe(Yv$N=Lq6eBE#W;tzL?T?9m8kwv5Ev>3>~L4y*%FX&q1}1}yXx zWnFuYw_2;$k+Z#{FJOLn#H{X^Aw=`dDjmC6PrI;{zY0J=qDK9+F)(Mr)7T{7M}eB& zm~CEJT}hJQ@_POc1s^j%TZKng8e zLEEu=pqAC_9_TKzdWgkWXd$uLbYN|!7JIZn*ON1COO)l>S~q9gcMEHgKLZ;HCFkM8 zdFxbV-XXEm7x8Q$6wCIE=|j5@w9LDq(j+5V_bX{$_7*D=gHl-(L#x8v$zRt58O@W? zi4-y*Es~$r`Oc=~vpVMr`ha(?m}{ljgji9Tneeq>DMZzHH0GR!SndLyAaBkb9llQI z#{i!R@)9~2*t}u;GD16Xa_}c+vukae5qqGva#>>Ud46e~)twoMz=r~aok8U9zD?Uy zbJX+$7$+T~8J3*I9l?$%16edB6`^Rp1BptAT1Y>=nE#Pt5+nWxv6H53(LFfBMsGL@ z%qM_K*pnWE`~rGt>&Jd`RJIwSv_mJM6e}pkgh0-Fc^YhkElYJ-MGYX6)uJ6<+^o}q zGhc%VfA}5Q%KNib_cxHER&Ga>f9Uih_uv1T6pK|rtyC`Qmpn*b966&q3cXKYL&XO5 zvbME~`HbzL?%Ig^-5}&$8=81AY;HHwr_$%{_i6k}I>-!`B7+#mOl6#8MbFarMr@4D z*bi|h&EWPgf&fe$TN8fXA_nDrS zrZpOQ_B|fkEvoHIQ7TE1RnSMaMkC~4S0RY0Qc+VCrEvAgLOmX-oFI7yN;oDMqhK2Z zh#)}47$XG*8;}!Y3+#YN!Xvh@gb}uJjCmKPFklh~<@fuqZ=Z8+_r25IV~roG@yNaR z-DmIbvA*?Q>s#N;CzDrA=xX%`+C8jj^@rQNhYkFRzd5-wnY&BDJsg=~ zjS%y+mD1L8=tS2q$yM^w&KFPij=MVb03tE8k?PudzfD`BPW)- zOe}YqSne{h++||Exkusgnv+9?{4F}Tc`EaQ6U=*5cI( zem=7bJn$py$U5l~-Jr^BwMLcM>QbS~_iv%f-`GNxzthk|Q~^EoX9PWHQQ*$jaB~$h zkdtH1i1rtM8R5YT%N+(5mxZ2kAx|SN0kXsTTrdl4cM)xeJ*gO7S9#k4b*%T|k4@!( z$+I|R{#l@Lop5l{5gt5%^#<+y3HzfC!n`b%yAG%3X z9wHS~2LkLEjok*=-RgdUJzafh4eaUa!)stqSKr<4;R>to{hO07nM}SEx||AlW3&N$ zusal3ILqNfY9gvbH8%g6zppEHrAE^Rg>KlUW;Q0-m&1&F=xk`_|75z zOxP_BT&;F_OV9~#E$-~zBD*}LL@l2{R($S2+%(v)E?wuq5+&A<4ZTV%eEnkGeDP;6 zaS$a!FNh~b=zk}a(GC#N=f#E)eO^mT#U(@mZ%kF~^XV^Tc@N4>aBdw8Iuv*91sSmT zD?LYlw5bgJaW}n|J~Mm%G`g+>lRh#v2|EG#VgI;OhOR%z*(MG*FAn>b4CCi2d8-zF zzREObJB}F{jX_d!i;tqzkx(!#vBfAr41l$ad%l|WgoAQn53}ERq*4k1qEhv*Kf+7x za8t;s%X088^chcj-9phk!O4Q{kQVF64P_N;6+nyP7!&8>!xE-bU50QAbmJ-kJgsW% z=+zGl7nmXedKZSUjIZN=^HM7W*NASK;>*<-zkM$jYsouiX?_LD)#^$FJGcYmgU@!LEL|PSFKZd0wgN#eyx}AxJ)M|?cdi~} z18jXHR)Jt-|C$Mh!I9v_=Y&Dlh(n8HJ~=y2 zl|C|uj@F##GONx4SXh<&*>WaM1rmsiiT5B0$h7s0dk06~FgAR~SfV8UT&8ahms zLq`PAb1C$WU@le`NT*|aN{=H+XL;<|0VC-$15$2sPAeh9^uP;1 z_Vt`5$@19M?I$UGL;VfDAuE7?C)1=80X$CAGkgNl?P<>E|9aOLa*$^K_@GCvfeK~1 zu5SVe=MXLI)5ANBQFEogbZj*TY%}1f4zeV&@hC9>7D2!5UVhpWQ-`@Ih$^sT^^UkF zrjLF$f8%nme%PfhtJ%@6A5r$GAwdp5f6cU#KRQvFuoiy7EtH+I#F^hJ^)xZ1nd!90lTvW?0j=cSzBOV z!7Qs=zE6Ud$k&#CYnKrd8_kM|xl#(H~N1+*#@Iu-+C z&)dBVQ3Yh|$GeOitl?H-IXH&b?Q*j_%1uNMe*%aGrSUl&jBiTP=2w*rk8p$4z>&nQ z%pVCOZke4e+Q|YC?3ABqxYyugu}*(4+)E_FLw?j2YVG&t%L5?=h8#4^OO^&jL7fKq z4+W_sO0#fB@)s~WiFujFgiwblasUFh2Nhb{z>N$5AXW4R+6cB}Hjvl#&-!j(=ikUV zbFMUUNvO`6sloI$Y zITe$#N|#{0(=^o-5i%DTEx=#0`m;AKojiZe_=t`Y;sW-0>%h$r$VKQTYbr6S7V_QD zf8`NC5e=5=Dg%fCl!C1MDB#g0W%LqUTE$DlQxMlY6Qm-o@+I??8vU5a-I45BVAUB> zO$nMDmJ-xJtO{PY(Z<{D{A1d^eEm_3@<`fCO9lNzeMi)bbHx>8d3ybN-OWkp`=kAG<%^q$yd)f<&?H6us z{PNiE_w3^EfQ)}Ou2Zf(Hdn#4*-3$ExFe6lf|=cF#(w$^*3+%t!3X-Gn(yT156u#qeM4|a{c{}3MPus6DinQ}Y+ex?7|`0e-J{kI<; zzy0XlfBV7l+YjCSx9`ihLa;$w)*D!ts-@ukCYp_w0BpC&B#tyd_Vt0-df(IAPX77W z$v^7=%p7-rx8OZ-Sf+Sba`+W@y-p9cFRz^TCE*Gr_~F|*@X;C#kaH8KV#nq7CBfFa z#ErxDr94UmzEiBy`pnXxBoypb)Re!ASCoi6L^3Y^HmZZ`G3O6?5UDfs5A>-zz4|oE zr{cp(g6E}!VA)@*7#V62TI=+9LaZmc+!Q`XBh%IUx*VjY0vT7F!v+TX@KDr6H^}zp zzr@FfUfEaCezYK71XPW*S1oik0mm5RDf|fK9VgYqkPtuL^m(0>2kY}^j)`&}5w0AL z^SHz+O!92mgsHccXj}z{dINnRyB#J4*#*k?e9zjA63Z)pOR&g{KT(0 zo%nbbn4p=jVS*_uOf+32jeV5uI4uu{=?D|gv}!OZK7T7rdSIg7C`O#*(FK#v>h&ho{84Sby=QRlbi z7?NlNyMh4QWq0+{T#o>HB=xzrU5)D(JhA#+IWm6_ifOa?lO#*Lf;3li#oe5lWnj>f)a`6PM3ezK&@Z=GeQ*2Y zK`fMDV0yUF5JDK*GiEWdK$*e}!qYvEeJYu(9E*s*N{8yR7}i z*4K`KInFh55IY96#)yuOFd1b?ci!KuwVEiMS)`|bdoR##(C`)e9v`@o7JMs5l(e;) zz8z}AVWgW;Pb~DYw|EW4qm&OVM&)SfE5^D0sT<+;yuPw>s{McET_g$sbZ$^}RC!?<;7q2LFXmPY<6%EX`hTYoYDMyMYV z_j!8mS67)XKz)eOv`vt(-k0~;1j*gi$>KGW1!=ZsCdL`F_%8j=)g2Sw?v6jVyYrLu zt`CRFCjEr49FRUc{bY>>3cJlr82I7VpZ)O!Q(x>>X@jRkAV|RDGO{{vWl1(DPReGF zWbr@n4j;>QyqyJNvWuUooi*X-?a@D3KfAvuR2-3IY$cjzNOW`VEWkOQy_W%d0swbnXtS*BTZ)T)o1h zt`6b#hp;lXS{-8MB@zAu44e|cG~&1pL7Yg}b)(GA1;CR0d*Au@zH=u#21NAG9_Mkq zZT+MTq-;*>(Q?RHY|cmydr<5tJT4O3y437Ve0>ak?4{z2OWl8}Fb2Ws39z7uVL=6Tu&(O!>N0EE#8k+__ z{2Us%viaVU(R-V&(c9TIbW(4hfD7yXv>3MDhXwNf$)Qd}I#K-p1T)5oUg;mb{ddIn z-^_Ph-cpyZ=Az;q2#LOH)%)I&?7P*^euMS}a4Xe$N9eDNg}IjUuY{8 zU0?j&#F9lRVh%y)JO>3^;1E}y8*bRH`5O4uNb!H)Q)C)0@*!O1mHp3)QU4Se1K!5i zhGulA!lq}^cow88p8C5fiT?hcXHNV5OS&&y{7Hz!4LU!E=Y8=(Ddv6nB@h-ZIVg9x z&wA>$Gy0Wt`cuU>h9-3xA-v};uJw4lHSIhyNo+`={0xhHFx%EYvDGFf6${6 zQUi%r)~v4>xRtb*@H)?&+8-_f%dQ~Dl*RohW#V!1C>1%`BTd0qy6H7kp(x_xM%7FK zKz*7qlU)i&bba$NJ#VzYH&*$3QhUBT-ipPCK#O&UOI3&jxoFKR!)ksP##+=!SzLgRQq#Olt8D z)w@_Wl+F<>OB@Zc*YIQmu5pr_k_ID>P9e(ah{|>t7ybub_>4Wj?;;135$r@+yb6tM z*d>0#jO|=qpa;%q(v3B1u5YvEW)Grx!JM~7Rj})Y9m6gA>q`Gxnji09UA?atm0j)Q zkUQ;S!gkIG(6>({>Pjsjj}?qooRVV=owbuu1vT#5~cf0Ks6gI(F7 z-<+Jxx?L$L1^tNjI$snz#P;hDW zch8efxnPHGG@SBpuwRrmuyUNZnIt%9vYx0^aWLTZbhfpD%CMO!zp}-Ijwo?q+gLjV zIscfI*J!59_->P7<(O|?D)6&6>F&Hz%EbCqNf}NXCn-cgXIl=lSG3o#DPZI(vNae-rptC1O7)H~o@@VJUQ|Wvk|eIkbhzG%5g-rT`R3Q2_30#!UgJ zk5K^b?&DGb>SGjuyZg8)0D%WM7S8wMv+mG*+8ykO)N0t#MFA={wS5P*{VAZL*TH}^ zm@I)-BAqa$$d;U5tdf+_iDeAqXL=IQ?0tfPF0;{nvfRgu$ZA10skt0JjP<}9$wk10@Kbnva3wSgojXRU9e*wy5LZpG zev92Go{T+@qej{x1O60}Cv!a)vdcs|hmOeARV9*eW(kO6ilc@hza7eloEB4J-wC@m zapE}ogXX*9itp-oyBl*zgf_wr|A{a4tLeLRF{In0py(G*kYTI68}DML^sx}BaWjR+ z+W6T`uN%frO)-hx6hDS(!UUMm>Kkq_)9%I-I&{zi@m3G# zBHvj+#X4%s;u%H?Fk!w=_Z8OuW?n2EedVs`)LJqi#FPQ7pmg)btr!2|@p?@D(?3cGJ@so#ePf++4ge$jBB z{=4QXyvG@WKh8Ff_WAjt>&q8cZh0>I!;8OclHDu|e!P5r`I377C4P(k=(l;4ybl~J zQ0S+-M~;^O2BA)+cOJaEHiY+x{1Qs+$6!;(=MOJ-Egs@k#&@1}xO@Ra;WF^>qrBs0 z4FYnY zgztwh@{b*{vIpT=y34rDR0o{Ubfpt*@5Yl<28Zs8NLXE8pPrzP`cAE%@1zg#ar^-0 zm5h}22T(4X9q7eA=e}ix4VA=Eu|LmRsJ9i#ACarh;kN5X(tSIfVH<@<)*ApW~ z8?e+%s0AGkgm{W*94ST0Onyj;-1KcQg829#^g{#?c`z$B27zY`_dtE2a&2{f`^Q1e zJPc;4+aPQkhalFHjBd7i|NV!w$}_IzY6Y&wa~^HMh{ zwUMT6a-`BTn|OR-iPs;GLxy30v^sj>J|Cc%OUWEpNxjSFX??MLPv%f_D>miw{l zu&GvZp3~Pk+t_Jrzea9beZ)0G5h(%(URDvAjU#k=1`cxOahMQ@XtlBT}BKs`_Dx6>D!!T;N)f#;KZ(;CS4OK+J?A{Ix&TUI9j|Ax4FtyuC%3T zGY zVq~yIEG8KMvZ|2IX_-Ggb_QTtXS>^-u>@l;i8Iu+oHD((1+Ecobu^;2Tl0AJfr>N^ zFZ~Tit-#PU^j~R(g+*BkU?H_IId>ZvuoHijmK&mE6vBjdDTWpN6SeR{c!9D=059if|+TQ_PBX?4Aru` zu!siqEqt)&y!X1vm@G2^;k4{fgx&} zo()!Opb;^}Kq#>Y{}a`%gyM@iwk?Q!1dorNoI3p4R1|!j(9_KBCG?8pA5Rox(dI{(lKYnmIQ&|Ir#%-0e^J5?j`Z(%-wOI$`)5kAZY}1Ya|27 zgtp;rO7Y1FSy5;`8=DS3pF@^Svlfl3;ry^g9=B4zT*nVv#Gv>X6p~Roh+>O^$?#q1|dsN4wPMdO)Tv+bj!SbyG;}WopY{?C6Q5yu>;K7WYC3}x7 zk5I7pZw$MSJn{OYU4QjA+Ju@)7Ag!&&)nJJ(jV?XN)rZ&wrYW%Qu`6dy4h5XBG+*hZv2JF^u}Ol zA{=KLqH{PM!MpzWWwwJ)`}n0?3Grzb6S<>I74A^3Isx!Pu^?5x>WC`^JTWY$#~t5? zwU)LGoHeSVL%Uw?0(iF)dw40eoaiy*)7c6v(clx7)jdU+*t5o?A9Pn4l5T5u|J}Cp|qAo*1p_qZAsg{jewUP+KE_3%n zY09uc{dL+>>447tO9J#bMkL9<%~{Tq<4G-atS&{Y!(=F&i01qni_#qRncufZ@kP^= z$)B-PLyZonurSlv8&OiYqGMoWNt&o0sI?q%h(h=TB7=l0e&^R&ex2PYwd7?aaWU%r z$WKiZ4y-f+fj9(%!dPYwavMmsR8tqKmS#TO%RC}VDKe+zXSY8{j!WQPgvWM}ih6UF z*g#cIq895S*p9p8iwzy0cE|1<1WKyYfbPZRft&DC<&;G^Pgc);xI-`ENRQN{342DO zvBLB$j-BY)uZMgx|KP0l@*m(oOm%?+Aavkl@k7&XSr!rABuYxGs?i!E*^nHs0l;de zR>yCnrUab;QCamZ2Bn2fZDjiPV-_?rUtBOR0$G)0iHLGC|Bp#O^qjibM9uzjlbss$ z+WMI=9PA>5%G(JPGIibd@oWGGzMlYG>5n(?%a(Z8d_%9ohH}}>IW{B{|8C|D;NEV8fXMhnDII$!a?xOj>E>dDXTz-by+`f)%pg#Up@kp6{dbNs)QmY zpKCkeqykCFm!k*Ga&FhJk3G17^J4A$EWlqV7{i&w^m7s~MmJDoy#Vx~l)~oD;pEEf z4Tr7()yap$T7gml(9xVmpoSJNw|XmVm&;=caNc&2EcU#YMas@&Pe0vtkq);OsT{~m z8R#lw&iQ`DsmDLckA{lXe)Nbgc?Rl9jo!ZYj?XEp2rtSc85oL!sm%9?w=lzd!pb7L z!qHmvqn0q>GeMG%Xq@V8LX?lXX%eo0y7|8&+N*}fB98wxWr z-;7jI8(NZc$_|;KsQXd_TR!_qA6+I#GS)?OhFEPF_y$DDeDcV#igj)M+ z!@c6kX~(zfEeLn%S@LA0g4|L#mk>Yt0*N#mBOZKQMEZib{q)*uvNHZTCU<_oC=v~AOp6xe77=EBDAaMnT%9yqX3+jN}Ma^ zmj`RVvMlBZ13hXbYEfYZmy=7&;GEM*aoHZqJ~wY`K0WmYdhFhy%eaeN3MS23ge};F z%B85~QrNU$Y1tA3yBIgb49geMZ~+HP53-8FDBEqDR2E;!9&ZJVR9^3n=Dzm!1_sS~ zQ)mhUP*|X_uVxf{Ctx67j8#6GhvH0i&S$D{EO_E|8|-IUQ7C;J5RLDT56#os1`(Rh z8$iVZ5uqvgaAx9)%7R>DWT52DKhfi}L8n+JYUfos&Ra!`2%IRr;hstz4}^dL+zV5l z0oHxMx>r(%9S+6)0x_I$Z*yWCG1aFq7>=WsgwRFelGvQBEt(rT)nNR13R&A?{3-7M z@6E5e3Sbo{WdK!^(vugSUPrQl zE37;+fD*}TL0us&Vb;b$xGZ7!jub zfBSWISX4kYM--*dSJa*)iLvmis?bDRSnk@wB1Y+5*%ZKNmT;2RWR94N3`Q_VsFPbG zN}IIaxrCOVR>sz^vlY+(-sFv7g(2xB6rvI^OOO>aXu4BhQYnJR?GKts!rF99Sev$l zwdt6!W?b*^ZEk4VPpVve>!k(ku_$}tB~WFXRdmMW%uJmSz01C8K1g^cDrNy|li!~F zT2X>#`c;G_nnkwa6lhM?dtBR#+kVTi-M5+1~e_$a#036zs#!c3!{SjTVj` zVV5+Z!945`w6LfQ03v9SY=9J&;Lf1MD1VZuv=^IKHF#;Fs!NtEy+@eK>;}8{h*;E= zlSKl#!HitWq<)RxMF*w067RSo!%h~4?o{h!IY(T@hFcn$&sPi84?dM9X7Y+y4N^@0 znlNYWDu5j<>aKqmL6x2F8Yo-4SRQ=aZ+n6+o%{5S0RYoqP2TVX_uZ3EEJ?W?4!-^O z|Jh|~ZlI5M^TkgRC(a59E}nSA&(OgN0M?Bd#sCeg30;SW*z>sz-8=B4>Fh`0jSd}{ z2bz^_CP|h;#v-cRNhp{bs%Tl((r;N5c zkr{vVNB`XL+hIW(7y=CK$No+HLp#$OugCka>Q+O>{@Wja5^hYhC=S9-SX)D7Y>D6g zQ9u94PIq9YDH4O$1iVmW`jgUB1CaO@`aEzjYmN0blg82*&Da5Fb>1ri<)@V{#nS0)fiNoj(RIT6>^dEYHOo28lGc0Um|9N!;F5892Zljg zs*0P0z(XpD^W!1900K>~^{C(u408x^%y~K8{_I5)@qCVHqA^69-4eWykAzAU;o@2VAM;*nidn@UZY6i`TP3rT%l_=zywkrc>}BdTAg&Kh^vr%76C1j zxB5|RnT?3pf};o>RvbfpOKdHtL58*TyG@=o&~IXEH)0E8v?&;3a1&PCH4*Gyy(Wyv zJuhLTt(0>Y!PeqQIFw);Z}IoI#qp+p)UmHC(zoB2kmkll@XLD_4C2*?bH zt$d%pviSQ@rf%1_av{n6^u4qb)yMU|-^SkDvv*R780M)u8buE6E}A{GBPFl?&Bs1) zK8!7j#Qazn4@xR>M#qck&ePS$KJYDjZ-iq^T^#tYi!+7C3ngU{I;aJP4Kn1IWHq?p&Zv|H2wAK;|-FdZ`N19sshBjrOAaKw!!ZmQWoEghm2?0Ug{zx$83k z_IrtCrhQYaQUbzTz}MJqcLF!9N@KR;%z&b+!De6`E$Jb(z)0cS!H97O*|| z^HTADPVUQ}q?A?*rbeFL!qv$Gmad)uTboE9l(F%(1Jn3Cm_eU+4MVZ)Nt9IS>D>}nUkPe z&u>1XXAg#~J;t+=aC6#cfL4SoiMql2^87mAAHf`Gs{a?>?g!*Xn7g^=YVjg~xu= zqsislJ$^IVE6bC2wz|w~TV0y{E`N9>feM=3rmLFF{2N>O7YG_pfnjXkpT#_%s%7-! z?vs{exKxKUFEI-QOOL4wgNKWrZ6EhryHEPn*WB&Lo82e<>MeKs@%HYM3ezJ+zJe$C&1<1vGY*4I`<@VO`QV8dguI&Oh4|%$om~DZR0~k|bLdfxP(TLoSbU zf$>dCa^!-UR+1wZ@=yG00DNIz@NG+P;Ed8=oi^T#>mw8|6F%R1oXH}ZGkUgFfFtZc zt{{iL<6fDo#cB32Uu!~P_@4c+K3mSVu%c_|INMu>lun8#`@e{CH`(00|c{IdpH8OCorcWIAsCBLUr5ipmftXeMp?7g{kTi{ z4K&VHe&eXTmTIS#-@r%ZB-Ri;S%pK0FDFc+;`JM)a7kl?hvs>nJb0n57*_@bwL&Mw?|odw7_@BZC=?wS?zy4%LQu8GR5YscuTR( zCKKLz=SY705i|nWJ4pcNB!FGNW-+~xtmkE+(pZU%C}AfFz`De;VPZ*UK7;@u>az%d zFjmm5upJkHxPCJh10As#BlBT^G+VIK9L4Rn*d+?g7XOZ|ts6WT|DOM)X_*>ZXPpok zg|Jyxboi;NJmZK~Uv*@nNM$n3GypN)q|ucgX-%ocrczuuX+IY z7XRF6YAV0CK2o2xjWjhf8b@`5T{MQGqa5GDhgGL3=8jIY_24Jv8F3h`F}m@uIIJkX zllyV-lQNYjCk8)xmce6sX7Gb2tbErrKAwoDrj6^1m`La@3liB2A#QGfeMxogD}HBP zRR78U(r}Y+$IUXALp1dw0R`8PK|}exqPf=B+^1PM&7$?(`vPKL`7tKu&=D}Pvq}?pRzx&z zo{L>&E_{oT?XglvRX4|4YRQ$@b>rFrLmW&h*e#0M)vPl^!3`Rr!x;U69nt_~Ub4p# zKOqcg@w(xgp1~xK^L%+v{yKksxaS$SOLL~|g?Ja#{up4($lIZ&8Q+3ymC|rHP}M;+ zy~oSmctkkhB8_!8Y{bK%4DF8WVCZsh@h?!M>NpbC=sf2BZ~;ZL93MH2V1+`%aoVZ; z1joX+3xT@AL`Wfu$B|~7dwT=^PBvBGi9xy-$~C}oAdHcL&_RY!?+dMI2BHH_@9+@~cn1vz zr$~MhI!u55$9LJoT!UA&;Q(>q?%$Mr-~rnc^kwBRUfSRd5h-_aQ3&=NsJz24c&`^! zRE_UB{u|g3^9_v7J;}xfzN8kpAXOeoz{@$n9a3VPDBXePzwIZBB@piO_58^jNpK5K zv~$lYY2UvKR5)Zg&prMmdoEqrb8lh@6m4e*;VesmLYTJ=agXVA%jCilz7U6yOX1TD zM$kS*Blgf=e^>bP>M6!Nb0l9^Ys+V$CFH$BCfg|j)@QN^X2Q|r*6v?VRC?gmv}2CT zFnbbe;oNlV0+J^4b%aKDR*%67KyhRa@ysJg_Q3Tl{6-_ro>!P`jgR@6E0UUmfi1o6K-|fTs)vnXK+mr{@ z-%b2MJK%)<^~&45T;U7^l|c*TRTSsf;;BNTU7vsy;}xjA+9AI}qXZV=Sxr&K6#cq2 zP{uqz>377<)k-Py<+TiOl3HTH98gp}oEDHMXIr;5NAw{J3Z0lEq8}x!>EQGK=9i$q z)4}x5OKAY;(dYE?#Lz%aeH8!-c-|~z+!IlCWE6}RRg0o!4Xk%Ax9Z5Oe(3(ipCkMS zZY`&f1>m9~2)E+=;2<KH>nlfTkGW<>Y!Yn85mELmE$Qv?5H zc5vj?#}p(aQH1$VjPro{=$@%T%iKVV6}fjRCD$EWHU(cpP-M@onuo@b$lqQ-)5Rw} zzL3enCj7P1&epBZ(s~bvS${evN2P5I-&5N>y}8;N#5mW@p;H-3Y(q6z(3-25#`we7 zT$JMp!&xHVNvc|P$4Q%>f6|14ZJJP`N(C&F2J$~+ryD}4+G{%a;;N24nb&%vI7>9zivz-Db~lrn+xXBSVIF8*!Sk#|=IKpz2`W@Qe?e#XGVn`lJjvP5rJ z??y*IP^qQEfeuSxOP@72(n|F-k48$M?T%PJ8Vf&~ca7qD-0UpPO;t9MmPoOJ!=)Q)o!)^nf3^nR} zgDPL=Gn8AvoUte2Td7o;yX(!Cig#||zNk z_#Bz8Htv7&B)V})p_10V+z`amKyfv9Oddg;W}gkktv2M;7L?sr7)5YGTUqy4DY6Zt zs%3sRQD=@0jIbMawvi)?WpXUUOff!g&ZLgb@`pOI{HIVyTmJRxW%tS1E1&Js&${wq zBTVp&l^176zQ!ahs4djurwEfXHD{X!a@>s=g`GvGRkT1HbmJQ(P-}03b7=Lv-i^56 z=eB{*Y+rs!y{CE%a2-K+tX_s3#8vT3S0(@o82WWN!|q7=7(il&OfF zJMFXu8sIE-e8;-JU&T^J8}4sSbEXXDc*gGC0G0=vo$uvyBxFz0C3@6Kd2rpb5TGTXS zXlWXx$eHelRC_`*kG&6ya+scvmOKP|d>;(T)|kfMZN`y(XozW5QoJscT%bRaQ#mbf+!oWaj+tMcb#6H(;h5PDd!}mdN&C7G``Tzc zCCl;VuLDh0&MJEuJ^@3OR59lYO#V^6H>L|YRW6pQ3Xj)-8GRHL7-a45#7A-V%cmRP zXZa|`jXwRe`6w>BP!)|6w}|G<@4Mwu`9l8C%=0yw#C~EkCN&hRJKMG$TJH(A*+iW?om}S=t{S}<_ik^mK!&UHt2BMiryIfEPC?@+-mTn#`^2%LTeqmk*?QFJ?TSG zhaa0d(btw!0ZU-Zsc?Gp`)PjMJhYxqp>;IWC@||E&U6Tj&7bKI_~9vOmN*2A^u=xk zMVc2NRu@cvgNk|qZheZ~7&`}wlCb>RoSI7X<`4I47Ou(jmV4q5YYdNq?*3e-i4f}U zkgCz`mf3kG56nK~Z5x*kl2Z#8%I>#{`kdm9AR2bU9l`rDy)1LcKc5JG5Z8E)v9Cj+@i-611 z@0o)_UC^P^d=aPjuP@?zE_U~v@I^41$E5wYIM9uI0Vx>H&j6^+tl@99d));CtFqBS zxG&R-6n?b7D)xKOI5`7WD-&Ms(_&#_;aER};2Dd1YAF)k4F0MVUayP6n$p7C?m3N0 z$!PQHNXpSt<2KmEZJ-Rr8c=mqk7x>J6SXVRNCS$jd8SVQm`aL4fxPaR6${O6faTH3 zZlMEP=4^`0vA#u7kZuG0`~WO=v5J1&2Aa|%=||XrL9=BQ#S3gy7-Qg)CUEC=Fq`J!Fb9^8}3Txccy}z%vI5!R5_tnUw!? zqTwEMRyF8UmdE}GMM-yAumf@p#~SQ5$nz^3Iwk7Ph7R0HsR=GjE!(7VLX1tTBw7Uy z73HuF6)q%h9$%EhO?^|w(p>R_z{J<4Pcw|x%4a;%>${r%#@K=y&e%`_RVA>n0Y$(C z13SEEogPgXQVJeut>RN1y(fIfQpR%s&L^p9w-=(#RJt7IrFJZ`?JL=lYk$V8 z8UgqnTu%HB=Sv(QifYMu?jt589?dWBqIA-QC40l#tBgT%$^$Gv&rF{F>y9L z@Y~!ev-_{$h7cY(T$C?fcBA5FV_J;WzJCL5pO)ki@)g##|5;7TH)`i!i=GRc#vC$X z6MXVyd%}4zN{aa3wPcaY zKx>KAsuvR9)(KM+h=jaRv9T$O&tKwOi`G~6HTZn(x%!CW>AB-*{qx%2=?;UN4Ec4m z9!YstwEkCwA&;Z)1w(#xOgs;U{3q@zvVYR1$BBfE9?Sj|Q+g9S@203wC}T~k!Dc1y z=J8qT}F0-FA7L5!R>Fi*`~I_axDb z;y#KQc9}x3)v2Nru0Kkr zM)${F&nXuvx^XOkF-sHOS9dE#t$Yy1ITPnv?nPh6k3!kKXfjTuXUNBz<^mr5ZDXb< zkajI$A%yytnU3r0+0FFqz+k?fsl>z*Zl#O0z1^bwc@6!24PWih(8}qbS^w6bD|~Iz zkh9oofF6vn0b=F@JhX9qWjlOb(fyd|qeW8|?-V$V@nGEuV82A<3qgXSc7=-i>BtDXQ)jHiI-md^x_KMS5|GC^-@AmE8AdNz0} z>euwkitcZS@wUP+tpACyo)i zo7$lNVe@JVGKFR-Y{mW0CGLMyv_F8N&RbjE^9D?5!6Qdn3q=E);58OcxvDZqZ7K3T zM`|{B4MlASr{haAYTaVdw#T!4=wiqOuth?7!}-wOh*K_6k^;nZyu%Nzq=&#@}&?K&mJC4wYPR@wX?_$@t2)$HRAsFD$Sp6x{`H_;&h{s1zCLSM@ z*~H_IOfM?yQJi1L<4Y2j(2RYVcj8ORfa3qmvXcttx@i_KN^ayfH`%S|P+Ce2ay(b6J12Z;V|}EOl9!c2d;|=+1v+r?M5^ zpAD~se7ft4-;b?s?aamR;pR&JgI%-2en@>onBf7r!yy01#&5s(?!W!;_$_;N@3!9$ zj^BRh?!SFsz6AlqX}vuLzI8F-eE=1sV7mKHfq&eABoX^3a>Bnp5L>4gyzS(lkDdH; z`vAqe1n+B4w)AlR%vr~G+0aAn%h5M~VukgzQ;Fs6>%waPK}s~o`Z-rI4#zM+N^2t=_elB%{J<1uqbw?k-A5H=RHa}lk) zt5SZjA^{kc`@n}-3ogw^fAT!@1I-b*7sIGV!QF6x+aG7%zQJ?I zs@(B$<~W4wRPyw4t^)SYew=xfiOujtfP6+&SxwCFgA7{R40Kyx;f8jWD$rb|o6?mL^w?59?r7PROeEyq`GY>lFIXWIyuG}S_LWf!S_!&72N#8(=&8v@MF}r zf3By3<17L=%Ib}ua+y=X_l?}4U@@}3U}YhlxEm_FFYqI2th`LgvRtMxxu=33wo}0m zoeX&xC2N-y$-~U&!M?t?oAVbY>=jpRtzwL@*P_%ZX9)_=2pFP~1_q@BC{S3xwnWB<0(=GV)w znqIEE;Z@Utqv*>o9S8IdwlWD)5?D#gS#c2k5aj_1LxQi@{n|&GEk0y8Zy1Gd$tY@U<)n!!Htbhn zXD91|r>rI$y#e`YlqP^W(6sf)h!!8=yz4j|;z%3)h5A?kWZRMBh=o{Hb0*iGjWE($ zv)RA(<=xArs!MAv{t|jF!Kh25(UZP%i31xh>D0~n#vXHwVtw++<4bC_FREHEx$F-w z`m#wo^7xYP-&Y#@ecrbtkMk%#=*^MG4>3bH)_COcWnG2xvsEkTj}?9V65jc?>GfmD z^nF~9x#B@T&%n4W`HNwHJ{NTOm+~p6@_Ye*eVA9jkn0Dze$ntE26B9bKi|urFXvch zKK(T;`To@Y&@3Bj&Ll8 zSZzkEbiu7nJN0XHtkL!A(R$9KMsr7T1ip78a5?F%n+^j6-*V*F-f*w2RhmUhyk!R? z2`q7i>*)9Au-33fHa6x-+|J^ys$FYjYi^e;lx;&1;{yj?*6&8$ zmKtFM0!?OrEI|%rQpEx8?5OHx%J~Jur}#&A#GsKE#FJmgoo-HkweYI6tuVz4fh(I4 zz=y6l!gGww-~xz5eP?Q}wv%7kG*1zAbU~E{&(9q0{N&gDI{9_)){|fN&p!E;4uctl zxVSq)NnkJ*rRDODV@`Y}i~reAeqAyRbeiXU@+)v^NRK{-2mi#$uVd-xtYyG`fQ(zy z1W9D##PY$YhPBcR=j7WKycI{o)8J#MQBv!8@@rH;+wq-y#fuXszXq4KPJRs|Y#53b zck<-d;*xvY>}gLt8^e<^7e~h2PJZ1JBcW}3W{8HgEPuUg$*p9cvTfKC0e+Kmx`-tmY3tjHab^aww?Ss zclaDH?(o-PA9UNj5G&mYB>rTyP7)x~rsBypc)9JjeIiRj+58E@jQ~pSHXyr9`)~;R zZ|`zF;N8}mlnr6EAtu!n)*h|ax^1p&h3E>>3RtK)ke+U0T+i`**v&`+?BO9s+0KXk zH4IS*- za0pq?z8Hg*`4*I8eyHeE#D*a{JsSREXN)pSQNDC|2R{|6aG>0!hXdIUsl^^`wU7?{f@al_E$!SDqX z%(BlH0gazvVBT-fMgI`ly+h7aUT~fb9W4;hGg6mJK=YuC36{-$Em`{$eiqifL7+S3 zG-Xb`y5%%wodU)iDBYb}Jf5CRS|Y?zHF`Kl?paP#CZ~Tx;wFgSdYZD%AXW`ArL%4t z)UDH$#TaA*piQBN%S5(IQiRP4;%*Jio6^yzbOqAU01SBEZV6wctuYn-m*g~M_siEv zs(aHlOGqAb;|`n5W38dFE~s0K(<9k#d6AN3#m+CR*?D1=sa)fP=X`sSWx=p{iAV%s z)u~_N3w8EtlTSl_=4fT{8c|W&Ll93cyY+hBK%c0GN%VFizLD3bb!JkYKzk*Gc%e!r z4Hq0n)}**pRE=?Zkc8{RV&3U#%Hw!9Eo`kfV7@sYAqnpmFLM}uO_#~s=5t6eaA6wc z2#ud7zpaij1{%-hG-V_;dJAq0cSh$l*_3%1p1i$!rq8PFHcziCScz`_WyG3)+FL}j>@G^hB?IFth+8zg0SrYAHO~2(w zVLywIcv%IB$ipmAh67ipfOJH-@4oFxZjpE z0tBV8Ab15nFO>`);l+?^AG26ZR}f^;6+AqOm!h((A^?6QLUSmPWl|-Jw)`zj?>oBl z`;*D6pLMfor7C`)gV3YFMdgs*_#aOSUCC+l4#Y1GSLR1B1;veSQQmfRvzFTGr@=XH z{KZNUw3kjYk*YD_YiXC8Q+s%>L+aa*W|(8A4@nj1`5sbKSKuH$t)VnM6H0Cas9BA z0*?9HcX!Jag+=NZvd^#cKVC&DBzMKz64w|cLe@^m3xz{3e>>S|HGze4df=z14sGZ! zJ4zWQT|mnDI#CqpQ)B$5lMVahr26HJ_34IM+nuKy)**VPx_Ou%c%HBELO|Vn>!x!0 z(9U?e;Z8fIDCkso%D|{IeM78tqDwrxts$tKq+GEX;wTZhiSCkQ}UF0 zsz=jzn5F#qfIo>%jj}PkC#j9nt}pcUS!<^?&8bw-HzUC-Xy+7DlIsO_&`?|lNKh07 zo2Y0hgZGbA3U(&`L9k{S!8kou22N}?{EQRY`HO)i-o=aQg$7exMm7EfbF5S12pRfX zH?m*@oi3@F9e-%r?WTsw4|XjB?5-0F6D*8~lF?TnvFRF04aTop#0(-^6-SBvb?ew4 zwCDK1H{OHCpC0?ONj*~V*d%YY4FPQ)f>_p=5g1NQKPNKhXt}!?KrM4_ebzjSMBFIr ztIIEeB_hq-kgHZVm}Pa77_@L?%+;N}+W;rqA9u{VTfKvI^X)cf#Qoxfwnn__S(}}I zOW$?MvY(Byki4|6Vr97yjIMJLav==uUqfB4)aBv2P;b=V7>t)kX%ZjJo9pt`b$JUH z%T48tNxgVS9ZbG#l6c+woswbeyKlkKe8SHGx*4gVZ zuGiHC`5_-L^m@Xl-_$-GPv3c8H~;Ad$uX%GMtIl5%m<$vkOW}ApcN)IY}Q(^>uX>& z-X~1Cew$a!%=df6iTweu1VT?e-fsT8TFslCwy6v6g>0ILx0i?~SeCmfXZB^Z`u*{P z!*@N@YzO7Of_dyf1`$jihZ3#5UHTGcg{e`i@9wYP(}5;CptQ9THq~5_Y4Kge)wbl! zJW6%Z253oT52OD0HBDIfWM>_t>9GtrMRH)~Xx359ieH_hWoVjlf_1Q+h|K&Y|1FjJ zN7Anqi%%AUi+Vh8x$_H7R3YpSnY91ahLCrWDtJPJUQF z&VORgnFlj-Yd!N|Ftv7fbqPVwY=(kU%W0*SesWrKRMJs~e$y{e4oWO1VPgCu2_mzP z40|7W-SiuN3*#Dp$n=w_IwfyLH;QRy7yiqwS9A))Ulr6&ez@?=bzOie8W&#Iy?c3{ zY#SC8cOJ;`G^ehj7`z@|VM<{bbLDe)B48uJbPIobLA1|TcDGy%=YKP5A_?^}U;04r zIRDJ`FQylj8S)L-mtj{IOzhD``k5}?i3KC2C;U9?w|TK|FRBZi@ghjdi_>@89@@|N zS~RU3{9S^Y-mmmuqe+-k!4bVbMXeZDnMel0zMb~K9Trqh4vu>q^acfu^QmtQdtXVt z#sW0Sd?YWN0Kx_Y<+2=C23S5ldrrW-z{Hjpe(Na^{m-@`x&h{ArVX0sUpIUA@}A!` zg0#I}hh7AlTW{{N^7ZCD&s_J-z;q4J_U11uM1u*x^(0tRHc~ANt_FmkHp60b3VPRdg zA7uC~SZBz0L^tjlx)nU`i*Et%iI8Bx?2y{#j?*$n?VNc5cP2 zskC|p1Yq1ns|~Z_bAh&Bx8INohOvHgM5^^mhYg>moXnEu)GOsJ5NO3%WDK_f)0#MM z53Rc+P6^|}NmRn8Pobr6b&vPRPRnGde777+2gB~>-#+UujH!%a@8@8plqoT;8%dGU zSj{5IBO!@DI#O#>)KLeXc%XT=oFShpjfJVg=#*DDlKEo=M#U67h-W!TmI}@ll8iu^ z_Ja+V%FPxCk1c~mA8~<2p9h&I{6CT=7FZ6l1Ea&RXHy^C{#{Wbraq9_cL|AItgfeZqb zTX)jn{pb;Q*t|Mmu)AmXjsonfG2*jwU54$yzWg`w;{f<~;p6me~`pFKV{-s(z0t*iUm>4ZOx;_uYMFqh* z@uapdp@=~Lr}!Jx-aFb9qY`IpEdH=<7I5`QIVeq^)nJ(X?}0Y6tTTWapO3pm=Kpo8 z@XVo~wY;?})>lD8HB=EBq_#a5k4uBXX?VnXgfu6yIaYkE)R=#1`3*iA<7y(eHDmR5 zM(=9!rOfyn5Bi-tHElHG2GU$ucJOi++Tac8HP5 z;W1sktjafi+Ye7(KAF5~;jM=)*`0)OBqjz}!~Qcc{j>*UhP|tk*=r`4n^g3kPE!ahU-)58?cfC!`OC`xxqzSGXqnZIxom!X zh#$j+bGcf7Jv`{(%8}MP=)BS1Bk~5+>VF)yS|5*W8zv_YZYSb|V_cELAtUs+Pd&b% zEI$N6-0gbKa9>qkrJoZ3s4mpiyTu1O{&835`ZMgf>?calH$P2%tHK8-mkPH6`gqNB zYO6B)Gh_f~8atN%eT#qo@D~64v34*2{HY(F1Wl9y@KTRuxIHiJ-Cs)5OF3@~@WM<&RPB_N!l8F#pF}F#lIuF#mU3F#rGBy)gehKT>jf;Qsfwdnfhn zKT_*LG{JTGwd1hzHGTlmwjKDe37i)$|LZ{q>5s}Ht&b%^iyk>j$3Wu%Zr|j4Y7$pL_!2 zeR^ZL`=#9%^6Yn~3g_%gI#lfz3ts%un-J_)w2D$&m=yIMOw#P^R}ZfhxPJA~4e*Z( z_dlBhpexwvQ5ebAjzH@}xQuxr4R`*Qat(+jv1Q>wID4?~;`!5lN|a>$EooL#5S9<*+%8M# zuGu)TWmaX+jz@V!cEQ4&S1z;?_Z>1~%BNoT=TCQrJ^I&8FdEWb|IG2UzgFHO+DF)2 zU*OJ?Vff) zi^)OVGgxk$9*St#b~*L{?LE#|+e!%&H_}51~k%nJ+g|5G-K`LV}H!o8dKJvP~ zcfW4>O%7?If;fKzCvf%Gw*Pa+kDs4UCSBL})9GwyvWwk+$UknETFpqwUhR{h$Q{{< z`#4%wPtE7|Gsu(3$={Wu`Ip2=)V$3(9TeCGixwa6OQVW@rCW|Y0{D%tL<3~ZyrS%L z=fD_8wF~rE7ULK&`xmQO{bHB;8z1=4_2Pd^$)T;gnhCHn^2bkTOpEUmNin+Xb^Hx} z>1i1DIln=1we4ZE$%G%e8;kEz=jayCOqUZ?i*Bu2*rVK-_A(~Z$nz(t$WxJNviNSl z9#6pHZuDuQ_54iFAx!->UV}E3O-of7+IJi1FY~DgdVoWjC9ef+8E{jfFZ;*gM@B_E|4o(`6+qZwi#M_jIOL<5(__2YZF zJm9&QLXvYadv}==w$)Ac$oGE#6<6W>pHf?%FJ$R@E>{o07g-JX)96mvistsZ;hB8$~sn$^&oO3?mzMrCt zsai8X6Zjxbipx;VV3^q5<@Hmjdb%QSV`4mq+>M~e12A{-0fR7hCEQVdf+@mce|@sh zrb*KSwv2EzG(oII`x0lutzVvP^AfU$dfpq~E^6d~}+~d{EK6u-~9KQZ7UN zbp`f{{vbz!krqdS5gjD3plE^p^c-fPq7XGKUbvQVv+>X`-t*NUU6yQtW~ekG%|+b` zGQRK(f;-iJIO-Vp#b((c`fSJq+oh`2?z_&;BPw@r3BXldGry(*#Eb?LEOK@N)9*A0;iqPu{cr34gRt>TUl;V9>zR zztG+AV}z|=m4B;s#2@WF-{*K|-+%h&r#GJPZwHVYJ2!p}qcv+7w#av~$n3)D-sHi+ zU&m@8fQEx7j&|HX3r{y;1!nG-aBAXKV>B*|wGv#5C6l2cFOK64hBNGh7pMQRqYW=^ zmHCdw3Wf6G926rlvxl*GF)@00@%iiU`SuK6oIzuuL>kNFSGZW@T1fCmj&|=ql%K+- zJ(Oc52MlKdbBZ%fKjCE<7Po}OgEp{HvK_S69gHEEHe`+0(iSll7|$q(ti&VuXRF{*jc z0FqU---Hc36rETzHWuED8I|yj90xBVvyJUTiO9{n#uH?*+!s^@PqK$zJV6R>3#j>10jtG>tJ}5(XfgHDfdDhCN&nC9;tZtCw&YKwW-SfhA zf1s&dbj%H5U3e~pWofy)B&_|j2+NSlY5L5C7bxrbp{(zJfwG=2%EDu{p{xg=3uP_t zp0XBaQWl}W()?aynvYs!>!kF74t-nOtlOC?mJSP`dq7QdTUF(3ut<-gfm+RgasO$Nmu8+My zUC$eJo$zFQ<~g}Co_-F#48A!_cAeqPxby;baT36^KSyw8=)R=;!o*SxBb%PdR`J^Y zTzODBsA~g~5r6Un%#$*Ofw)Jd-PT4EL(ti1;zP?{u5*S=d?DyrB|MCQW}6Ac^G{Ug zz}=i3IY!3aVnHz1=nX+rYP8@>?oE;y_DP6g3%9xV%XtEExT=Yu7}z0>4_iXatud>ETZVWztOrKIN5({?2WV}NiNb5-veNgHtKBD_9Hvhk8^%e@ z;((o607GC`zm;gkJwLOB!-K22Pt}&7^;+Frg2ds`ccopMqXycfJ6@d9&yelvteidkFH|Pw zi8*V`k!j$gulDzX3xt6EY&!(pP$5YnNosN15OqKv2$Z%Zz z=#026SXe8Ud@wRLYH0%&_>$bfMCupV6`0?U)b_{ma|2t09C6QyR9I)v(2@ zWSRc?ImD}m=Y>@bkGw!bCH6m8Xz2UykcM=&B9oqeda*@AiwzCwboyMQp~dq;LyH$^ zC{pNiM-F|wXy{+uP7YO9$oDj9%D#+u91*N?`NNc`WHy(bBu(3@XknR?YsH-mg{EQbMv|9xcT_x z`5>W>PhKFQ&oL7E>qSC8a~nl&^e1e&6SlkwpL@=P=f#(RE8)MJjVt>X> zpT1}F>FsuDxB*vhJSA4o#tLKky5815V)SWfWBh0Ro zws@9o!=+3N=}|Uw(2fUNrECDfnlskTP4W4LeKl-c@f#P6JwkqSy9MhK(D7tZLG?7- zLmFg1^O;}I@zc(ReL};&*vjtEY#XTEZYJ)}zoSbG=8GqXc+2DDul@V9RGt{31Mcy3 zv#`!^{r$%b5iJ;a#0@UE`mOCU1~-5!TNLVFn|&7(%+BD)6W{9Imfj3?G0ivPl4tOb z4-}8&HTEB|7!VmzfsV#=7)n3?ZP|U^(8mktoW>=q@oKh+%FATkx%XJy*a-}X*1gc)xZDB8cdTBw2T-JNW za)g6Ky!czw<%9`N-Qr{XV3P0wk5=F+lbs3 zdF-QZ{+;T&@ps#?Dq6_60eUh)Nw)? zcmGcJ=0gqb`0*V#U@_?nhCM9_A1qpCs^_V=y7Txz&3Z}((-1r*Tf3@rd*yd0ybCux zs6ed9eGdZ};AnnfMHts{A z^x}e89>EU`ixLke0L>Iz?9(MXOw{zn5L;(hvrgVXy4j;bF0sv&?xG|1I15oA*uU;6 zdD_fm1gJ^oyi04w{TT`8O|8F#!?J^2zGD?%&PN&no>ifq3V8$XWE=c~SZ>z1ck~a8 z_dMe86ZUssr1^^p)251SpUT7xX+3CJ(Zv9o!%N+Q2W2H0;ejEinNHbqKRtd~!nQ|@ z=3f5)Wt39jRN;6c_#n|+3j<4X5jHQWKUf814iK2S0Q8fzn!>XwTk=B@{OSsO?gS^y z^H=C*7>hzA@(Rz!s*5y zNp;__*WRB~GT8VBi?9aoBrPY$iC_p0R8?TV7@aY}>s| z7r=x~{^L)x{4~zv@;Hy>WeU*3%jh1eJILgR2gkCvsK3=Pa06cJpJ^KU@~2!`o3^Df zn6&w+J%y{fM{yiv9po#O_t|S~>PG!o{Is3TCT)BEs5KPGRoNL2{mh!xF>mcuh#_aw z-t;~&WWVSf7+xA-xF-yeyfl2YetJA%W=dFQlZ=rXp5zb0^g@K80}&AlOa{S1j-a~9 z19k!sUL@fn^a2xxLuGK@-k_c$FlcA7Yikp&V~!byd;bOeO&9gf6n z$cRI!k$p!uvFhPvNc1{`?Sf@nOsL=pzsZt;_#qY67|$uGEW?GU0$~K`BgGgH9DYO* z1w=@v?vuCJ)D&8KW5YaM5={@eAidxj2X6VT;S@c+b2_!1R>SU`k-I zGdsx44nU*z%#>cvETu*c$J0ea9DKx^%uFVmnY9cf5pkGiRu+ufOETBWSxwiog14=b zETwXSRGF+OkAfz?dWGdtCaYIpM^H>qY+$353z6$4B?=DtHpZTFyTMce$;|2TP+q&s zh2?}OX`&DZg{QIt=^yKO<#fsugD`pL7J`^ZSsuLt}>2-d}1*PJCCqHvqzpt z8euZ3R5kg5kH;e%d9X5Di!&K-@E$xt-H8X)?`Zb);!Qo`^**mN;D+Xx`9xNGQIzJi zP7Fww5ENz+xkD)P2K4Zf_Tv4+QQjLY7vrlIm}#%xQ?GggBPdvhsLFvXNMv1}b`aiQk9`##?sM@B#+{4?Y(PW$YI4fGw6dY$Z;xRSW9b1R) z)}=g7cinZRP>#zHUDfW}L9AUYfw7G`i1oPduYs|bfXytbI3)Ophh)%Oh)kFw(=9;2 zmpM!}U&=EAoTa#m&hJ37GGP&|fTtKVrTx;$3x~QT3NMyz$OP0lV9R25YF- z#6i~pWNH)Se65iXF>u_N@XS;@$+(-^#a#}3GwhsV{5%gc*?%5ti7r7Z)`m`CA{qLm zz!2yG+wq|=-@Ltk_Y$PQq)#prB{yzfrtOdMR#mJ0XzCAgvJqk&v>O8_f z5(ZM>+0OBKE9$j7lp1Q2=ui=VF_`4O6DI%xO{^5wfxg;SZn&_L#ra}Zljw9^lw;A) z49*qfFD9jq!C-AvsfLmQcvla~^?L9c{FP2```v?*V$lu@v1>IF>_adHy&MG+qVH0p zgkombXpiyQCja)E5%uGUs-5B&jH-83a)*oxw&bYRt%tH~Qtg~JZ#TashMwQhgcyQ5 z1*k=V2^X?-S!pGtW%|6SC_mX%fiw@X+<6lUMfU_;6fjo`Idexgb*oQ3u=u}J{tn?Y za`60d87oAy_AD1nibbIZ!aGj!NkD{I^1d#BP8SSttgKO5)di!4$*qp6D#4N!46~Cp z-O|FNaT(<74UPjk5=zfPIlQf*4`^ zH@g5*R9Y>=1#NT5B={%w0yoy+Bsz$eWF_*N_Dfwa(|)7ub;lMTQo5Hwnl9na5n}NI z;9`h+HDV4$gt8K9cbwZeM zHb?hHZ8ndeAqiPz+K(+rqVgGys>b76<;^LrQ_mEOK8TBT&_1yre{&p_aLixW{^K~N z(0>M%!(J```22ng`jq&gAtu+Vw=Vu4=l9d?u!v89E@MGU9hGap=C^b?yJCFtO8?kW zjN{7@!Jq(_oq0l;idFn%Z%5p>6HQxAvx4@`RjF*U_*4Q|cuO0Oo@nAU%oj5u!cR@- z?|**A6AG8mpUa?%ZM<)ad4Ma>mji3d81Ed=k!5zt!2n z^#^RT;d=DqdRSP;lx{LBZD0=WLXdp5_z#fy>M70`S}$?Arwc3N*hx8Le(s?lS#Tq( z%-FpCxZ19{c0lWs9FuGd2pijH;b06!gRBORCZ{p*f70WM=O=(zyNSYL;I0ukU`lb< z+Sfp{k%>rUIa1>U2_yA#BsY{~jQr}bqsd|tTh;NMnEybv>Gd0yXhL76vf--J;;N@^ zrr^Zg&1MR{ba$|sBFvUzYbp!uDB?(-faV}fwx5banNQ=eoB3d(4(9*>3|8+;qD7kT z`{UM$*weU@*0UaLKCDmxS&0)kBpUJYY3&Spnv+xjofJ__%OkQP74L}Su(ntFSGP}J zd)HrHZC^fo*Iy3p%ZKjz%S-J`TPh|Y!2fD&dO(ND{(sYG_YmXQ7m+ruY`Sr7- zbr!$YM}SA@G>KIKIcjVx#s*38mHn6Vx=TOt8Ba>W<+7OnM1Rwf9|@trKiZzaEh)9d z$?A;m$UL~u&HkiOy_psa1Io9Yh?W_43n#6Sg&j2}om%5#3;k9LUo}J+gu^CU<`Tz3 zmT|CTyIKXQ^~}I#i`PIZKuKQ19Vnqe-d-JFR6(tGg=mcCb&IQ?YkKP|C@yCs1GBG*y&|m9fY)?;5}myx_VK4@G|4u>Q+BF zv3hR&LRQa3o*aAf3i|G`XD{I=Qgpx8^1E>*={%xhP_JR2nN}(!H!7n9Qsgy_lj~~u|J!>P zFuTt3zIR>ro;`ck%xFuNZP}Lb+8YA`Um{;Ij)P~}mTcMa1?&>qo<<%?+tO%8bC-}4 zzymmeB+iYHgwW*FB`uHy_o0C_c?u0qOB0?Z&4H3Okn)^E5>7%A=fq9vdB`~g&hP)e z-&%X^(a4epf;oK{du!dk%lp0W`@OgCrl2H>*WN-+i^LE(;E>~2D!EBPq$J-#m|{5q zQV$5}c(+xZM&Z6b7eu=I;ml450SUpY{t7JhylEAC5|*{=KMKqniTu?N4n)yKr5)By**`;0%3soxqwli;IzQ-?G#w5;DTZ<2E-{%tRT@ymARoPTSdZ{vViC2 z_uSaF#-E0|;4=ir5@94Z=!pDiNX6E768}_#+O=4Q zhGGKDaLzbL3rGzw6?d*jN=U7`_jUAW-M>*9 z-F7-Sv+2nrKg-v2ip-=1+>jB^(bE@bslhQ=1O4wK+R6+Z|Bt=X$bzy^b zG$d>oLT8SV2@K=cGCm7j)>Hp7r;A^vj+n=LdP6p6jXde#w)My3};iw@`d zn!J(T^o~-=8wHgBMUZxB0Gzc4Wjg4PLflT9!;-FJ|l)T&Feoi7dKjTj~| zd83(RaDJd4O=oes#z&H%O6uI;>VwQd=$q)+fYFSt6qgHV`ka(fE zAi5I-P$1uU#I^sg2%V_lzs_eF!~Mb_ng&;kOG<{t>(z7FgKUff@=RIG07NPT@YvoS zhfQdXfYDE*3P!cGhZtZhhH?gh>__KFZWslQfk4Aq{@Q7a-))GdTJ?6TZ$um-Aik{i z@>s~mAewKvc2WrtZB~XeOBg3(>b*%LgKM~EK0Ie-lt%^*Aqt`=h&5h=FWL3rs4OAC zQU})r0u1iWsxxt<(eGh&M4=9%ab=O^1RQEBF%ZfcbRv1qIzhwHZq3`EB%l)7gy&FF z_Vz|RUfQ`fcnxoKzD#IRqLJpQYX%b+5|jN9+K0=-oM+3Z9Fxn~Ib2l3^HACmx>b*0 zw%>ChwRZKOw05EJvkh^N5bTsju!%FK(zO>w+oNw9+e7f%xU6CXO&d9sZ;oAHXJN=X zQPEf=6fY?)Qx*MXQ-RQqS4Iz2BL)rgzOjm#P@9-5g?$(fi;l~F%Y z2gV9G9b}{g1p}~TUqXe>?}Sr_71K3I2+@ToOeK<|1MsPaBc48tAT#2bR=h(z(XPx0 zhg@VfTLOuU>EJJW+i9yW3}dfxx;mbvros({>Y%K=owf{)^YgZilS43OmMSyiVIJmc zi*;o5S8VK)L}iR%a0D3GafbO&T^OLdReDHc>+r$WBHr86M3M8Y0AfJa(M!ogEZU;# zN3+cLyJy;v(Uktmpw%CmU}pGRoBT`XNb;w`YNhp=a?><;G{%izhxnE9Zz{FL`EA;d zlv6Vp!}cBHcfH9ib30VwJIc6pZ1k!stZX_Wle*IGWU;Ngjp=}@mJ?d+OcCa?bw`;* zNW-@k+tA&l-G+O>6r=f`O*GSlq6;zCCP_z!KTjQ=frt*J@DRkE*uFO+CD6hSWZn!$ zpcDn1jJ0O6Hqg5quiwsGJ=CIG+G0}eFCP@CW++m`mcqhdG|dXuO9l)AQDtsw78dQN z1~pvDo|xNcrU|bTppRK*dZ@D4q%Gl92gm3kfr!dN=l}@hZBwY+*$eCiEH1~?dyo^i zJXuD@CI7C9z(0@))3PnyS+668(kkh82qMgu^aQ(gke3u#Q-lPjm>?5`67&N@CxEfnXe z=TI~g1Ej)H?xy@KT1*n4FrG&)tE94n`TXsw>&jw7NzlgBBNE({ZeIo;22~u>k3&6# zECz%16f83WNFt?>?02v8v}NKVA>N9|P|9?IK}oD$u#%9@MtdH{8GoaJj7~onl)?b= zKqr?xXZXP7Oj#1>@b+?3wbzy&K(jkNE#tp$Z{`gl^`a8{ zQEERUrabM=W2K45N|W28XzkXUSS?}a9XI`>U9d62$IDT{W`RUl!GEOP2c_(Bwg~47 z2qVul?LWh^T>j6g9?Gi$V*A zJO>i~(n&R7OAx1f^2BBybdlW+PiN;pxvTH51b|KKYxtl#!&gk@GdjUSq6-&1Dy*NB zW_tj+bQS0>N`X#CK55v=Fl8H}X?Yulh@CnKlm^dJJ+%x`12}4vQd`4p11zdhCT|#W zcBDt$y`=NsQ*i+IDnkP`#+_!2;^a_2azi{|gG!>Z&JE;-{F1+2%FkvJXt=hzZWjPa~ob+yD~0oBLku;4u~ zgD)XSz1@>j!RWdQI6TlsWNqfE;l(2Th$d@WIBWatt5>@spjcnC!2RJcno+HUOQe6x zRc~h7Gy4IFK>-3>W`5;xfM&_VG6c#ba=KicP9-4P(527Cl{Q7+`%miPA+5xNWN&ZO zKiUQMtHcAA2(atSY*-2jp;_u!K!O7?*ZET&sHethv4J(t$2+R?$l-nY3?jC~up~uw zT6v*~&Xg<3W6Wgh)1FE_jHmMfJ&d<2*@fE$?XT=jxV4An6$X38P})drS)}L;jWqBi zk;juFbCE1$&OS5O$3Pr4#)p@ioxe_jTc_9|KA4z-^iymDgNm6c98H&6fEFV-(rK4A z&5I=j_DRcEqPu$IWWk2y+k#Bv zJnLl0SFE9-p$E|L9)^YAOqDL-p#2}Fo93x z@?PGJig4^5YLI4y{vyJO0o{?HOzqtk#c>oX{wjklOaq%>(p5na7UJp5y0l2lIDsRx z>{XgM)&KX&x+>?&R-#bU~aC15lHVG&B=+cRnQKgN>IW62vF*TkI= z{nkBuCNg8~1qmzK${z2g&f4X_w!jn*tkJ_Q1ZKP{#HyY7XA?J?yP~N0$xr>(|K6NK z!0tGakF118I+wrKk#i<$6y6gBDaYq_jOvkfWlX__vE@W#ZOqC+3sumvfw2f z3T&!pXlX!iB5yD4QFIdPabij9jQV$v3gM1y~W>Vdy3{D%} z^Rc~{R};u5n_mydrQ@U6Ob{N^Ex9r}kGZriOEJ1xYb^&j&7?&n0eT5*X_Ti0FUd@` z`EZH*_9SRv!BfM?x*8yJA|;5;naQ%gOM+ijY8`=U8wVL%s0`UWjueA~Eeyo>E!=87 z;HboGQrzl?B67GYGPZ?`RZ?7Px($mJ2*^ktwoM(%+l%svQ=cQ|NZbS#Rr7{egutqfqaalsmqpFqq$B9<0ROTp zgi`4T#@-F3P1-G#%D|R7BTPdrhEfSPm|F@AHeZKQ#Oe@Ao1m0vFGQ=Mv_d3(3d!C) z9ZH+)Q3~iF%>U)s#2scI!xD%fJM0@Nw;kb$FqH!)nFsiqcR&!&;{r!N*xQ!3T{`v7 zd&hTc*0s7xy3hIwJ%tg1W$t6n=4A{vKMxt!V=AjHQBSkZpJ5(|g-sQs*KFNL+Lfy` zhV3BriJPGGdPyI%OP(%TtfwvUDY@j`6S>H2G_$5$%yiWS81i@#w83ag8G(E%rF@LCV2Dwprl|!CseZ9j_NCY- zXMsFvdMUe_9+7#D3jlrXqf{VMlm3E4s1aW+?jv(BIHh?Jm7+8=UHV4QkFG07X1M0F zRa0S{W1+i2>XRr{omgj`RkKm`0$xhUP%F2^G#wVH>W{1lTol(_W*R--!WaejSd+8| z&NbvxMo^@+GOSQ(ziL+V8Rp(8soN7C-9bSj>J91CV>{zel!Ax!WPb4MgsV@&s-KcaoJS0xF3da))N2u1k!H8 zf#POGCm7bLPIQKA;WN8hEf~iX-BQt7CF@0VSwta=pW4;PuPvH2M~q`}DaNW13n=o_ zn~?CqNWTju%a?I{RTCo&p=jnfj62rLGET3y1&*mNgD$DB6>~cH-J}+4!%b>wg{<`5 zBv~^Tc8PY*7!@haaX}N(R7*r3m6%5}@R9YJ2>l@1o3gYq+NJ%*BMp6w3T6jDfYL*y z>qf0onPsNykd-4@D2qysI;R$;a#OQE%(D|G%e}ix%~aXw-cYQnwYH3KAU5uo*csi( z#e}UsqVZT}pP9FS`~$EFn>Izzk4^$CK80dfi#4XklP0Z|qi!-t2|)nOZAkiXizhE2 zNnm=xI*{A7xzQ9D_+QLxTw1@lm?i)*(pn#Rw~DD)_4YpZRqXp*;p)&FF)Oxr}S#uk@zPT{P5%w4oS`vVnRcP zA0N!{(+B7P2}u(m&>Iko;R@px5#2kH8CZP>A((;WB(?$_pfcp1$Vch*+Ehgbl@F1@D-a#pG`51!&Z^gw#2^>nMAw(UjauxNS-!z?VRjEa}ilvoyml$UF& zl1iGxCoYyAHtLuafg41NiYpK1VCzT($HGf=2 zvzcz-TqITN zh0Hem$QbCgPJ^E!%6=)0N6QF+AcuzD8;uc-YZ%19?84^Q)02!sGr)})O5#R(CU@dS z(>@-g8-a-CI-{&5wPQO=-0UR+HSjnX)qB#Y-%A+Bd27j>)Vv|0s7#qy!jkk)%t%I) z_sGmM}2b=XkX1nHcbTb!<+%`!kmFL1Q7);`bqX2x=MgHblKq-CI~Bn zZn{LHIv9=?ZPsxMCTc`3mL2sx$c*uCQ=kF17s>t*Fe;R06K?AK2Gr!6N37#nI)|8p zGR}}ayAD*+OKup5G!Vi}bfJnIln+_KT;{=M(C)s~R zI5$Cr0YO=?1FBVjdxQF0GTve`(uWh$rD#0)1*L)e3tO6+6!mR$K zOCYwaKz$W`X-&5#AWT{WbbH&7Ot>qh&L^Z|O;q2*+(wAT63>JGOy|=X6+$Y4&W|zR z%!os_#5J8iszA?Zsc2!=GSGv8Ae|5I4eNZ1`w;C}LSmIV9~s0_7}xnGAF>`g=MNyKQ2Mhn^;=DdIJj3@}wP8Q{gH|X?qWh?CG(%9@T?16`SR@9S{c* z1&KSBk6XBBL=xA+JtLC1<^YO17PK#Kl09e~i8Rb$a3yID6$!&&qb;Gc*{Oz3DHVpB zDy!FRbhrZoQ9gKY5aFTUTZv&!aaj`H@m`cySrQB(i8U(ihy;;#w4ys;U4(7WPHDo9 z3eAZ-Pni_Ja+FTw$N(Irf7aMD(U!m6QI?vzYg4J|9uly5lyn>w$b2nUgT3?fkq}0?pbVpo zD2yT=gaa*%LZF8*3X}Wu3lv64#E0si7Dh1^Hb0dvXJHhX&CCp=U#k&g9=^~^c-JoY zmc+p^X-&r(%MUTLCVd(INgOfY!6SEsuJqmwRDU)2804^SpatVu5T5184$e<&iZ42~Sq?Hb6-ZIbfeMdBGD$XuMxAV#DRzj4GCN4txXN^daN?k_;PzhoD(w%7%+7=$go(l%BhW31 zStrr}RF6CnEmAqE3Pl_9YdVN}jair28VF)NnV(=dRlmcfHhTu8N&zs%Xs@LkL1u%F zE#VZW&T!hYZaQNB(&z7Bv;{KRQbr}l3$k5_G+x)jtY8O$VtBG>$Z9yS@#& zsy85P{(zisM}ox)jZJN6(MEbf2S%Wb9Fu!u6vx#N(C9%!^6l3Sq&K*R__B;nlEPEm2>gD zyi=<;WDFXPZwqU{QrI@u!Yf^)$wXwnfraD5GlbbJ^5X_FU-Bx9DDRR!>ul8!Q^`qD z)GlC7Pq3KpPiM^2VP1q2xC$o$IfWQm)IuH-DwU-GKMvD`bY8N>CsmdQz{`9#hO1_c zm4a!k6ig;rm_wpAOB~q;RVOYmGfy1?<1Vz<-ea^hEGFoQ0LZwA1?eLijF*Xsi%f&G zw%)kL;u192dS#F`VFLqo-1@BO5PI2;J8j|b9SSRndR$0)yh~d>C`zsB<4U>uX-3WK4y)q{Csn1mm@ z5e$WPH%uBcV6F(0>dyg_kuZrYG)z97*nBK?EJM7j{&{>lMiVpY#`Io_Z7*w2t^=4d2CC^O$Tt zqZt)$RMKP+EAd_`G;=QsFbd+ro_s-H9C7!0e{sa zHwxPHQpoijJ4cu-m&?G$fOuSHlzWl*ui}oX{42eTxP*|lS4#?oV{$HU$VmAa!vdi~I*zK2_{6d2jjJqqlRpsJ8?d6}w-I`sh ziQwWTTX3VD7ZCa3$v7@zUlmKFPM5t#No%N!T6SKEm=PU23S)OCv(L}1?f4FKP z>Q|g3pk9398Igf`Kv9tqH7MAm8asrj9y{orfcaAM#96z-Bt}Y90fv1RleGueo zNHQ0nb}-xbAT`bR%A?hSx>NvJW|x=3%@TwL$ng_JM`J&5xLU!Iq|qg8foPdGYFdG@ z)L81p%YYT@IcDkix@XQ(2;b|?t{O{R4g{DO6FY9u?4DYxhGX{=UUI=TLU#ZOOl-4u za|ad;7Z_%})LL$lV2^Gn>QsE*T2Dt|{>%vtk2(puv<@6MR(lOiL$Qe(60O2uQA1w5uA>FFC&>f146nj50+f86f$y7G62vf?UQBN}dDR z2{ez(bBMkSbsGbDo=Bc219?95j64s|M{9V~VqaSwLCrExt;b3*P&xnuJ{W`ROvr#S z;MTU5^gcC5H!++;Kc=UVY#?OVof4+fFc3dfw~_eK(2y-AUqJASNcZL9;WLs?g*>Noc!75<3vI*VLGi zgdU`7TGK*vSjZ&G(GqVJ7aJ8rU8%oc1nd$<_=4P(f+$50#mN+%suV*FIU)j%lqO|J zY*NOVTw*ruGK}rAgoaU1@B=rf+%*LdVD1@QReFFekxpw(%ee+fu#V6GDXdigmk?TM zcLEp@gwhTZJ)>E~&=#o&SxT`?V?}q(fHEB<&F8!&Cs&uu$!i? z#agc7-e28)h&x+f{%hsUN4Sv)D4qy6VufOHsra;Zf?lzBR6*Hdca_J8IJJKpCK7gY z!E5x-5>{J8XiFZvBw+D213{9YSo2%>Tj7lKUa{&unn)hfN=LAL9oAYhB^YP}Mm-r3 z+)cgYb%}~Sc%nb{EcRf^TNynp;;@(+freC$hvE)M@OyMdiy32SSWm~N5^K~i4q16Ub+=@s%o3mj$7N~@GI$avvFAq zsDV#SRx9Kq$i)gMXlZ`5$PFDG3Nc%XZkFt(Akl7~|5!hx)QK zR6L8|HqdEjDMmP*Vi)4Mc!n-cCxnqmAu~;&RflCON)0`={B>JQEmwDR7FmUnNCKBc z^hd^G=t4qRKw92HiwlRsl?6H#p)f?qYIKKKStLh2I8bGgKpxHlMd;gxEwn8$3uc)T z*Zi5e^zglN?pJK;hj!(pfWB{rg zaw2!KwSa@M#5lvIYGarzJW{+f+>h$58&~h(#>~H;Ep0LqIkgFfrBgsD z(NkFTToC)=pDtGv0kfrwVQHH8HpLGZ;wr(!!Vn}a6O&wAND{^@W07_Dh_HrPGOjRW zyHx#+d*elY;sYT`xYJ!Pyf+aZb{54^s_Jh9@R;E5?h$KU2kud8L-#1DyGInS00CiU zyr_YDl$d*j1V5d7q!DrNZ6Tzz6J~(%wkz~0T8566B3fwbz(InEym7&oR1=u9UABwn zjjBOnbL@bNU?O*rF#LubB=nGI7CKr>>YAi-kSxwXVt0^C*1Ch_v*~T1?F^NR>n)?9 zU12hJd}S7uX!rK+z?5~nLK~~lmG{ZKtn7>DV!tn5FzA{VxlPxw4we?7gLyYiLI(?7RR%3nklj?W4hDC*9|W{u3}V1W*e@G&Fa(Di zXjt-;07>vM5c%Z zJGFQU+u67z<)sO7jR%5^6vGg0i=D>{l4;SDMKmeP?F{<4iBXWeRM-R{keuWwQ8T_S5VXr z+oGc^TJTGezydVF;^?v?SPN;g95dPNBwIA1{!xY7M@XjlB}s7stdn^D;SXw*`Y*}!;p-38rXs`A%x zq!_D>X=)UimRqBxISnYn_9j8_!DKvXhQGbv9^MZMqD3We^*ei&TBN39S z2850K0Eu?ov5_8lrQV^%G?3OL+1U@$4A~C|Ya3u#H%KG<0Zg2BkY+%ru2>h&+9}y> z(Q92giG@?eJj5^5R@)|1UCPXFIwxUM*_FBvVK|lKEIfWfe%LAZv!L0x=n! zmyZPVJD|vr!dW0Crs$|{`^zd2l3_sJ>0s>8hs_vsTzV^ZG|j1CbSF3!WoH*34Hb-v zmFDM1!5WyS@lj6q+0v8|+qD%N`i6amH3+hpWmp*t+0{%$VG?;c zGuHXOhO*%dMA?^QV?{q*%64l1wEa7<~y1-%hJLZD1i#U|Tu0pc53=er%*STB?D>FU=|G zP2AJV_%^EH>8!YHwYcm!UVwQaq5;V=Wc`FZk=dRfC2Bg6_^N%L6*%n15&**~5nv3| z3w(oTq=Lsc^p1@2@Jy^FtmQXK2%S-p8y#B(g3>msv)7rT<(1cF!^ z5PIvU*Z&uMc*Kl z4i1Hk!k552#oEJ+vdYrpL3przM6;|Nb>7-2o{o-YO(MN7$VQ^#>1U(tS7XLipa%NG zOeNNQ^f5pmp@uL|c{A}(fSB$U+!Es{U5 zG6dhTTI@JpJRnDFOp!P~Q*~U7%_&4mQk!k1WhWsG><*2Ytx!Po*)EupibsKG+2b+u zyI?Uoq))=ZSEDf2p30!i1(D5d(48pSH z|Gw_12YS81dWX?DWjR$A<*Ovcbdp)$zm-0yBiz>FqflX__%bS&*@vL;@jUpXjp7Nv z75BZvZ?(kiXZ=>oR{xpb=G?yDZ+CI~A-~6Gw{)K3cl`D)Zhy~jAK>=0 ze*0Q(Kkv5>bNh_n9^v+je!Ix+mvieSC#}O0G(K8w zfhMuO`uZE?5pWh8L7yI!iP@%E&>}h@lb9Rndt-7XuTbx{S~Q3`dynIYa!NZ-n3#fY z=y=GLWAkyd*SkJ3b=K#Ca!v<=^pB@LcS~LAbB6Oq@iw?uF}P1?oGGjk)&*gu3x=XD z%;wNVIQ|j|>6X@X`aTshl?wTpc7B+i!|D&(D@NOud}r|(N3}D-_0Me+JKs=1lkQ-J zyNj5lutKZYuMnK9nB9a_DAr!9R4>yC)5dffM`5K%+h=%~&}DN~AB{?<-JD%8rH^h;Qf>mIxD zv-JrUk{9`sNj&X?5Ow|u1th!*g+XH76`i%BZRROOp`uOrqBRT z00+j0Lzr3xJ!*VOU(2(jS(i3wd1a3+PFMrb9Vzn%dDV3BGx_2;Ig3A}8m56pc2omE#WG{# zx+OFU2|yzImN1R6co+^Wau>d6;eue?DsO(^lkAQl98(SZk4bcLvkaF*LqX&=%upE! zh>#o;nmf@A8rX)B#mn|KrfgeK%dN$(YEP>eyI*p}8bTC<-j7;cJz9uAX^I@Wkd_e0 zQMP`4FO5KYAC546=PaSQnu3!7+@tYskI}BZOPMR@$Z(-k2ZRg<$}RBr?f@n3}%Ti&;S&- z)XJ-AxbEWOWw>85E!WlSM48RbTnm;oz+BWhSt$%FyK zk6;AK*Rg}b9$-hJl$zDE4LiaM)B0d&^2+aEH487q=?pt-hb3>yN6`hZ(3qf*4#3_P z?*Ze*&2yIOXz@u7R}*7wlcr=-7jm)Di+G8%7rW!?CHXc`YsEmuNxF0Qd{Z~uiu2Ug z^TWqRlWKs7XWBoh_PgX_M*tq3BiQ0t!02#rfX&oHCs?DKbbhR1yH>O)+wEmZkk7z7%yuo8DLWzx!jyLuFl$w0qbdXo0QJkcWR&xYEwf;7@gAmFF zUb4|kHeB$O@3&p211>Hq-+p_np6dw0d-bH+0i%3*VfhmNs9s)Bz8os_d~uBzwOxoD zrDNsIVw4evfx{jo|GTxe|--o2z&A)82EWN&W)Ef-NB3_(@aJshTdD+*v- zAx&t~8^yTZm3$=b{9|_i)a*Q4DQ)#ULp`I=KFcq(5?={U8T}V(C-Mt*xsY-nqoa^S z*}z7VMmF^Z3#7=|Sb)*L&QCS~u*v?G01VD^@?Vigwg~~Uy7SWw_`QvkJOxUX8xRk# z=1ZL)*A}G+gX3z-QNxX}zw@@}Rm*HDJmoEfoa!;=^Azj@WMd7Nba&>LK)|0+5qwuy zg#7Gg{EkL%+a3-W*(MdI;p?XMMFwxyoq?)GP+r+aV%r$Vq>s`rv5-X3m}z`@oxMrs zq;RanWapY`ZLx|HnVO1c>rlQ9r zBVbPnj|=iK)xa@1Hu^40BYcs#q$L7k3`MQFSg>JVIe*5asN|I-xycVPzK#s08KQ$k z4Jdte4?T(rM=EyGV74l@4?*gdDiT)mNdYss+X}ZBb0I3d4aV0`M=NTG2+t6+EK<}G z)B8q50Z#|tP;_rnyI`>6Tr2BwED1H~nT_!}Y;Kp+(^L!?WFvptguN=z)N|GvR)gMb zL)u23jspffU0$ZELBej(!3eS#o9Upq8-Zq(jQAF^W15%pi1^N9lhZuNl`6*WVn{tU z87?bokOyi>=NJ{slxPbj3=j+on6LGZCX zJ2_^u8__-5M*h`Qau~ZHmgFiKf+&!SpgdD5NnZ)mGZglelEHzQDO->xmyY* zsku?!P%7UrcgU2&W3NL7doxzjSuHxpt$LXD4Aol>g8|`l#J*5(JeY%TsfCJ2WjzpEQ7Mq(xs z>s#GK`Wu-@UzCY7!K+{*ZOz+4+W)P5VB>rRXVK%u6F3}`9E5d#u_o7pWr^KwjLTYW zYyS78uSRdVZE*h(fXB>i9qs%~%!t)-U-^jEy0nYk z3QFaiGqsFIuS&>r*>Q#oiz|*wPP92_tEZ!Nw%B7ztO%2ZnT}YfXnnIrsQwozsuVCS zlNk8qzxq#WP0;i$R8%`ZZ`P;eF})`rU~qa#^CY#YZgI8hRpf!b*VZJlL8=2nK*}eY zCUYS%Lyd^s2+PJ~sx&DcJL`=+-W3XL_S&=*CFrJrj*AT@1H3LyDoutQ`=$E+4xj`@%QIrPrV*DWbGY)@!9mvGUdbl+Iyj`wp6j)s%DHLY*T)m2XVDz58)q4 z0F%t>yM4C=DR**op3TTH4Av4bGsn z?NN5{o>3POWk-JDQoenT6hbk9QyIbn%J8ir8MS0Y!!=s*1DTX-RG&3yyg@qbZfDw* z-G=imvK1+vh?o{5=UYUemf9VVG8VW)?KTs9jAFf^G^^ zoM`iyHEmR=0zBF=#vuy?quivVrcUvvhCYP|IG}Fa@X4uR92tNfn8ka$U@63-fp{$6 z66#@$L@{8ZN*`BD8FJ9OxhznX9u+bo$^c%0#8K!UG>eC@j|Cv|%z{0S6P`2Na~klX z6~nTdvAsPeR_!qhm-q9M+poVPHd#7#do%QxsoOJTowz$W*4wd<&?=eo9eb75#qP7W zmTA9qtHNOyRbumVw@T@3r4>8h)xA`T;svFw)W&}KrQMwhxlQFSARUdv17Y0F;t&W@ zq~`%4K$Ro#obq4&2|5V8E_QO2WK7RUoTy|6jHLEn#i_}{)=*xNW&?6&B{_xBKu)z9 za<+_|7{Z(9}PNKM9YGGN%Y1Ng8 zVP8N=7Y08L*NRDhcT@NG-YtQtolFq9vWQ5GbA~Jp&l-c5;CIKfLm{e(dgN`>i^n*M z5f}*Ej&&J(^j;`dWegKvm$r>9;th*e75MdkfxX6q2nDH4$p9;Bj2?kJ(`Gq{J8ipM z5dY0IhLFsA+--T+3LD{QsR8leCYFLW$lq$e1NAtDU%Lnlr6UnohXQm9g*l_$lyB@V3|T8 zzvnab0Fr=Xgey!G!BfJS2E-f|41lUS*#ex0VCIhunFj&Sy?QUg7p_uXp8i-_YLuUk#UJJLE!)ge(jm&Df0Mm+Yn;5X zj7spLm)v&!+j=Q3<(8$%wN7*vqhH@j@+}N}3j^Q6z_&2)Eew1M1OHQDAjY7I^C(oe! zSG7D(sbFD<;%DgB)69uWa2Nw)y zI(xU`%Q$0+TWnbTN%6ig-oOU&gq1OmndA8ToWC0JZ#OB{{vaZnZ6l8fewaTh;H>u| z6ooMBl7G###;_*tsn*-POof?oP!jXJAhYitB6^GHSeu=nwGcDocI8~lA566?GNWl2 zui}e$|G{7V{s^92=jR$4m|*1#kwNZL-FN)Hm1sZ@Vw^CCAKuaFj@aA#@W`6`WZt(} zc4>1rX+Ca9N?Hq|alzr13qcujp9oc-=;7dvv&M^vD#0Mq+TfzsMMTq@T7QXc&7yOy zyJj~T#ZFX-hS*8UdRom`8N3sr(xaXK6-Pyb&eXRTL!HSB1IBJr#f6sicKJ2{iWuQ%k_Y;z-2s{gmFklpa)=?hYo|tQD=8|`xmax z&X2W=W9L6N7_|_E5-Q2E?}mwN?rSgEgL7e%z0y0y@@W?sK(Ba0oD|XUkVuakq=bR+ zglvR_ER0CZX3xY_B?hHA%9U@8aLI7H6)G}0>=5OvRPbP!; zAbmGB(t?CkvP`Qf;aH?xI5yqb-h~-En%ZbuHfzW%{sZB>Fozk8f(VAMUD~Ks3^FR{ zqYiHK!)=#d1Fxptfe?0GwvxI zQKfFDwH!3QMtvX6XfPm$7fwhLzQLu9vj=FHn8IhKi(%=^x@Z>!V`JJCQwNJg!IX(J zPISB27{exPQ<)goNDh|&rTEvGnSh2Ld}RVxBJVprrW`ZDm(K58uIlb#$|kkYSm$@8 z?P&U&p<%PANk;8WfUbzkR`AwT2O_iKw-s ze~D{o(kv5GKye~`{GR$(vDPh~?jckgo%dQ_j1(z>j>Uh9=X-7bo#W6UsnVx=#oFb3 zQ$ijT$0ouSX{WC)1twFeg0`&RdAg?5r$+H@3aEc7=5#*VtGEPd*SbF0 zW8MVZgtpy=J~UH^m{Y79q@)xM#AKO=U$jcIi0P4O*I?z%90VrBi8xWQ2zo##KdQG( zm`hVwnOcoOQh&k1(sN0S5Ig&lx1CGk3(h6+&T~opf-x&3a=lrmWDwP7FEUuQ zvx!_kxT#z}vZ-9}*i^2c+ElKe-Bhl3Zz|V&HkIpro67b6P38LKP38K~rgHu3P38La zP33xeQ@K92sa(Igsa&5J!qwHaMS?en|lIE{g(#+@G|lu=9^)j6x!*DA*@%;$6;HIcn6M5LJM=3J6ODBDhX#pf

Aa7lej0v8EFal$t@8^F zl@y1Cw%ie=BColU+1=*$ajszr7A@9Mk13G$jF_UKfeOUtId-8pxYA)HO&XDPe%Yz{ zk>EhLN(Y+l8fZH)A6s+?PZ#le?gz}7uF@*QQ2@(ao804?hPZ_$ij z2w0wXP|WA?YyitnZozjq@)=}SH61K2{!|T7;1k5rQr-}Ovk9)aXl%xjIR%juM%>2= z=*o<*Vj=4#5LNO6&{>25rJx->+8*I6reOIS+*$2jsjaliZ%j!f13TD}%o8zrUo>pn zFBwDocnNFy47?BeYZzF3@U zp)hbMk;zO|H^An7e8XWcm+$P0PWxb;{p}k=4b*nR}x8-EdD7!_|6XYtR$5*^ix6 z0{bv2tLllwg@9R8EJIH;EYRyLvaQ|*bbPd4mk#y1(a`H`QYXwh;G*n1q-`WSkn|QM zFD09yhPS?lu*-kdWc+L5JU*J;NbVu6g3$QaVhpl%K8)b2bc%GhK|z2p`$wim>)MBY z6sJ?*#P{>!CSg&r;$y-SI^5KBWRPyeEGDMujh$aVz`AV%V;eTAbasQGYf^nm z*r?m={2R7`4J7lMm!`XWt=rb#$XMThdH>IR@#8=7o`0w1GT`{}%V{sIEdEcL7k7Rg z9%sKI))umn!)62HoeyHcTEup_jHA$t6SkSo@7ECl0Nle{C=I@r&E70Oma7u->V z4J+8b`y@l#MoU{$NmX#8BEg?T8~lSIQ2ZzmHGl~7!9T-Xd@er1`$Uj3yYq+s4EnGy ziym)rrX1|5(~XKXY_hbYNssUTb3j&U#p7n9btZtx_Sa$et|;3LYl7RP6joLj`>kB6 zRzeqQe1g57nZDoo=Z%Xo31uV_Fy^198rdgf*V1A=-%){CX`(lT{}>iYflV!oCNADN zS-ee4^gb@*QKxG#r;P<4vd8Q~N7hrvFYGU(r`#{Q#9Z2?gP^)ICQsU2kR1qFQc>`d zlfES00J@09?x1-mdv+Ed<1ncaP{q!49=nHMAe0Din`6i?&`-0|-12?_?K7JU+l3}f z6+A%*xW4mSp#D8^luVT=8bc{MzX{1Kujr?|v^$5FRh-UCuoodZ?~g#{^tTQdYpV&W zw^rD21Q{@1t%l&G4~`S+xk3C=F! z*^;lSqVK?g+67f@lVRZFVB%b4f#8NY2T;*j1vP>SK%|KcVgt?_gd~S~m8NW93D}Dz z326(g?rkBU>?M0G?gVB3L44&E+#ryY!A9Dx&g=PdqbW7*7LW4v4P0Xh0fD7hInef6 za(*D506|(AJO)UZziqpXv#Oo}I1q^Db4Sb?JVb`USL?{MU%-2jkX*{wXM~3m`RG|h zinpc%d%*jMm(Aj^lNy20G6Ef3$}Mdf?U@vSgVgsW6Cf#_LyV#m&DpDjZ)&jI$(?d^ z8)7o}6Yl9s4vT!=v+RPIuoG81jLZEh_x$^#$5{z z+CU^03@=1(vBkv=n3#TVH6nfyUP%F87zjhH5m8KG1D{6O5q4=eYU&@rVd&1(Fq*iu z2uwh^8be8&40sL!rI9vR%{Tj?Kd8?PB-ASh)Hqc{1zO0iFwtw+stNQgyULYbRO+n= zZH$5|J{5H)X~(C~deZ6?g#DFWe~OAkwRYabhF7K&0e~eA#rOS%)SWV+AG2&*1h|91 zLg$lkBCk5XOV^b0qZ26L(7D$%Fz?=DRz9#oj#Xrk20bl?L$M^awSsnatJ@9|&$4?? zu_=)N6k_5E1W=nbzh+&Saf9{XsVs6pxi}1$0untklDd7?)h$!K>ErBpwv?q&oLwQH zaRM;?xEbZJQ|>#f9J9n)X?qy8haD%Dv)@c5g_DA*L|TObMnR9p>5zClF$)9&!@{s& zx&(Do(r`!8L@cj^{>TGkAzJw&vyP;)ZpD$aHkCrUi~VpC%!gTeobh+Q{x{))g?cJ5y z^~>&d%b>8k>u*f1_q&^JOm6Z!cEG!Z<{-9v>S#72xvpllZ{YqFuxRJZa7f7tx-J zCbDqJ{UVa{BzkiZvAKxSTtsFrqA{0>z=G58+;lwiEefR2C;!$6G+5ufJeke@p}Kdl z|07n`Dtsu8p^)fqQQ$81pXe^8K6TQIi}4Oyt8B?$7@Uo`ld!U|qfLr=B}=AEL6|1f zbPvjLcS0duiu31UEk3#xSDxUg-idoIEB9Kog+!>u~>GetQ40+Iv0!rQX-lwa+6T@2=*m?+&wddX2qv)Nr=R-WdFFdQBALUu)evs?awfC<&-{1cg*H72- zzx9IQ`Z^a5fB(gG&kyVv{{AOC?`jV4^5YkIJ-1v;yTW_H^M^dw+x5CjhQGgH=kW6< z*F9fxc@(|22KSTT?a5mCTVF7Yr#JBYbPcZSE_1m4jO(Xs`FU3>m-FM)31S#-Oc?<#kW>&e>t8(-}F z^8i=FMB?uPJ}SA{3?GtKYi2Rk&sWY2u|fwIcLf@N`sV6aH%cIr!r2L zucX75s828pCgoK=J#Ul`fn~Vn5`BSuYJ*@`UgayF5o8g2eeSzxA;+6hteo)o^KF+r?&$sbL zW$)&94L_BuwDs@m8v6SH`BaC>Q~GQ9@yh;k;4JeheTkZ~n+Qefvg$5zxL1AG@l!ea zlb{wnDjPW}nQLj0iP6jX-Nf$|{BGu_d`hFT^fyIbm8Y`w{@eK}e?9LlJby>+-7C4* z-vi_=%d6L+GH&HJ#joIZ8^2Q29U)IyzRJCwpZ*@^eI3>^{o8mixK*ZLxPzbm)_7mS zRl@U5-j((0-5yH`{&`=*QGPF<_mbvLes}TP7t#wiVo%XXxYys)lp!1o-V(>Uuj6Sw zj_>BX{ysro!7X@ny@#LvJ{QUq4ByGGq}#pRug67+k1vp?gqK@`v-~DStTw1#!7aXh z2aMBB`|>Q_8WsOr zUVVAIo4x0H_0BqK)NRD7lE#v(l75mlk}@yir|uxu7wXi!l8i!~njvuS=l3ALzt3-) zU!UJ$ezW|J@mu2e7{9mh`vHDG#P28h{WQOyG4Udw##g z?^FCl)^8NNk5boqn17Ua8^QexysyLlVV>8+|4H5n_dhM(<4?BIJzT{$_wu`spER7> zsGn%0zuh67a9mHPvh)*+=x>U24{&`IKc&^*1L57Px!1e%g6SV$*vhBJN4sryQ?x@b$oh$b>@4fS7$aX<>ghv zl{@+e7Y_B8s~WDo@sw}-=2!d6k4zuz*AhM0Upn5Wis`v3`TCNsd->@Tt=zsazq-6I zH&?IurU#b$hh`26<_8ZR=^yLg(VttL4#n=9x$nXK*S&mwlJ8ocUbGZ5^M@;p?3uWFbR7f6rbg_S^EV#s&K~lnT-Lu^^R^ISRaYrxvIFW(5R=K+xGHzfN*{gbyZEG!>dd0=6A zRV05NAiLqljZlOdXVv%hO1gxrM{a)5o3%D6ikW5tPq6RNn+5 z!v#vEHNKhU$Jv7Vyb6=E1o9g!S$ zawQgm$ga$ZYtL*P-gt_6etqjYH(RN) z$5->2m3)3-HJ>KO%8{$1mD!oa{nKSUX+M6Ehmp!a#5LE* zIXOke8Vl_?bhv*Tv4YwD@+k>kQ8U&Fww&lMuPDN>aIn9!vaqapz;mLoto~Z7s4Bow zbg=IQ?5+V2l7uf`W9>k9ow<$`^7qXXZR)S=3FyB6z)F9aHtl=xy8V0hko=lg)L<#U z%0{THl51{wU}0u{b){-T_2t?#L%Tk9a#rZ6#f9$ZA71YF&lN}OYduG_)LZ{|M#rxa z#bwZ;oI0+&I8V~ca*Wmq$o`buHH+iz!QdO&=mqhyYuWIGdrP9a|(O zP2ec^G|M^R?R@n}pN|q`rF4_bo1I^H-F$v*`Y0(RY6uJ0UeC?jM^ZwO* z{-ya#=3kQcPaf>|53SIOlQYMTAIk?qUg^pbuh~5y!X8F_#-goTHTF}EXSQ{pMa3`w zXO>WJjkb*OIUQ?7@p&9l$l&h?|76jKvM6Km$E1r%{|wh16sPnW7EYqJhHBaxu;KI1 z{TGsrN5wC2JzvA5Htis4+pX^T_WMdRNs&r3L6V04iP{=DweeHF{rK;bhB;tA$MpqU z^xpnqs+a!wm;W`4vTfTo_8lV8Wcg$X+EMX+oFyWFf1K<28l1I3Y=_o{m-zNkr2(Sf z=K8niZ47R7)fIW3?|$v>lhLmE<8yN_jjr1L+ADUymRDEpK6%CNlQ~~z<{ydn-M2TI zpPrBIEAESSUvuqs*WYmC%Wrx`aog>8?Ad#D^ia2V(L|i2TkqL9-f3i)ZhOH?j?6DC zE*;35BU{efe*VRy7qoU=e&LSx*yJUbz37E+dGi}y{IV-<`HolKdi$Ms-}~CX{}2A* z|MHK%d;i1J2M_fhIXrW8c5ZoP_0jM7-q%O_h)5oup34tBy4ufIYy{coJ~p$W?m#D+pXncp?qBRL+fa|? zSeD4**;vYHzVC(xqN{q)|2N9gm%R6fmEIKE7(1IJe$#YkZQY5Dk~ zjGL85S62JSa-8tFK`P#0`%Ev-%srYPpPxQ~{IN#wn?FHUCR4vZ8{NLVu(ER1p}wli z=Vs<-$v=JQs)cznSqr`B=#H|Lh7C#vXM~66X}WMGoUTHGe6inOuAy#q<{02D9A6zy z{K)YYFnQO)idk8Q5J}a;@psL;9YR{ez<2vFX)N zeThw|di)rC6&2wIY|=cV_`>|*=)p&i9axx~IcP}E=N1+gjX&n6j|H|+qKDv*W7G4G z<_n87RQR{X2O7{)Bgvuu%E9HCMR*QaE3)1;eQ5n>@zud2GjoUXk|mX>M31p&#gT)$ z#RV(MD)iNBsQB*?EMmBQ-NJDSUpRR1_;U2%>NFit7Bl@}0o`IGWT@=K%);@N92)o4 zS%!Mn!D%!vS~1#teBK#J`Dd^e7^sB5jar!BE7NotIsz>h4ZYLsqoc0QJTgPE%XE+v zq`t#x?Pfbe7yapDYKV2T0j5GK@uoO4bTUuAB38Cuwi2QKXY(V|EBS#w)L7}$ChEX6 zUtKu3Fc;`Aj0On3!w;wdd^0mp~6H4jhWzV+|hArmFLG z3}7F&=9>fwrB$D;;T1;=y{?pG^q_&@g($<|%Y8#nRrW`wk4c6Mr!D*DMjuTO1T;lu z!eQ9%>#x3UVR=?gmUaK~x!(OZk}va~uP#oe515B1LLWH($Rn`BipkOe!9$Cw>!6D) z$Qa%Us=-TQnbykwJl*6GYgbqk0!d zNMYu&9Et$?m~j?-^17MTBl(L~tlUMD)AS)_=jF}(&N}gi38}X~a~K_qIcBBTQ$=*> z>EnlwtRfd)F-URWHM{rkKX~%w^nsZZ*IaYs{{1UQW{&L_Nc+{0JxX0YMMJ5tCFjb_ z{)2PVD=YOJLy4|=ImNF}vAB9fq}soLu*n}m4IW>XX`Bm^>HUZMtNRbnEgYDhTiO4} z^vde4mqv&s;|p>@rI0u3mEuW3Dp?_q#d6^R@UahgXk;7sDuc#s2+fX7`t$6HSW; Km>y6|@&5srbKigf literal 230436 zcmeFa3xJ+iUFZMY-rGFyByaB1Hf^5wX$n&<5-wXJR+uME(gfNhwke|j-JOPX3Yp1u zGO5%}G6h^=6;~;sDCiN zq)plqJCn?FJJ;X&o!|YO6C5~sBn*Ne{DW}QUD5n}IDc0-ALuUNhNpPmUg{FumGGBK zT^D;D^d5q{YW6a?D=2fF_OE!hj9e|vnc%LbrJX-}*2>hS;oev!XU=e;#gc`oBU49?&E6LU_eXlH z%^i5j;i>R=`0@DTv0k+7#kK<{r{eiQFIH^-nmxsByKmmVci-f`{kQwK%{%rNH@}c~ z{<&q(leZNw_AhD&UUF=9E(le`=+x1}2WDS7b(>Wkq*m-pr{?w_n>%p0`f`J1+I#fo z14oY@o4aN9*wS539t_yzi;v-hh7>as&!=Y@Zo!pOwP?7IPO}u zcJerlnmTazB=9(SeCpt#dk!5eyHkFenYwTCAc^Lt%2t(MjvYPd-}MWkSG|IQ__vZz zBypUEQ52>LKW+Zk_z8m~3HVKtQGSvzh@zlYi)!^~g?>_ClBWExg-Mboyh-fOiX>PO zB$O4#q+sHZDvo27svoi`Q^+g*=qBy`s14+Ce^v&yuoJA}T`dU1ggHoQ0nG^cQM-a9 zj6=;$zSNXcFY9EFMp{-x&{(}XsI4G*OxA|Ktf<*dqro-gWrGAfM06vm2Wwh!(5R~w z%D_MBQIYj}6s(8<16A@-1^UY4I0_?cTa9%5gg_~%Q3gNC8>%9Is~6mpTMc$^DJ%|a z(MS-kT^H69AQlF-AX#4%Nc|5G)mZd?DThjfAW_-YdB%oojdyA?W2NtPveyzNh&-Ue zIN>)A7^`Ho7S}e6jg16XTxli8{H1Fvk|-uakX#kjlGSQ|GmVngNIj|7M^hk#}H z=PkkRn=iD;p`iK73oT^TY}rJJ5L7T#^f`DJvW>u-C!5?K5ePwz6Gv1`;Xl=b@F8tzwcSgOutVg z<>tf3PTfteugcGpYZj2){){CP-7+=TqXygVyYuLw6Q`zjtKd5pkAMfYUTAY>ScP_7{-FI)h@3yJA19yXPJC4rH-bdCKJ$+dnQ`S8P zj!e<5ufBenIY|5BWj5^S+%s-m0D`YscGhP-b3xXxT|8lj0e<(x&wF296H{c@I7ix2M#XXra`)P_Yf?bJ#g@tQG#bZvzVPdaNp$iMQ^qQ zQ$q;iqGZsP7kLKwr^%MZy#mb27#)|=X18cOjK$8%+jqdQxCTOo~2t~W+-95 z#L&{(t%IQVkFxHQaapZjidtjjvx;lLou-pB7KK zg-u%cyd^ljm<%sWwCB_j_2Uq@@r>Zi`Fk>mnP)c-K{%%)OqMl)PVpk=&C{u&C1g{7ePtgV07d&nWUKuWi(t<>TZG6@FE9uQjGdux-Z#aJ? zFS!pR^s#&H!Qx7W|Gdl$*n$q-Eph4_!^KFupc_)%$_BkUT+9*|BtMD??7(4!wYw?) zHRtcNsLa7*M~)vmI(5`6OaCQYOt==*;Ysqz^S1qzsm7Cs)Ru1w7qcoW*JifJ19PWNV#cc)^j;fYvuH;7gi?Fx z{H=>whEFgxJ9}()^2o`TlImN+#f--%J2u1j|2kx7UUclx-TUTd7qn>a?rMXk)T_HC z3k@+knJ!lB-+%k=ZFlb9F}Zusi;7!!Z=c+Md$H$^oqKP;E%?@O`y(xE&)!No-xl8b zNXyxK^ZsJjj_tSa-BT&=b>W^zTHaUPS?t-r`)iB+y9Y{qARI8>Rlqh(e=Q+(%Z|Ob z?bv_&*G%sJnteNf)_|aLo-+3B-Mwf3ol;ZQ*m5=+Cg)8Lwi`EqC5p+&+2R zjyrY*4}=4zuu8p)r5zjcoA=(j_x9j*;efI6{Ml~Vv1iBayKfF&f1w#YxB$?AD1H7K z_ke`Ot#oiHz%J3jeS7cNtpNtG1JCRoYp=H<QXD#&AGI8(zciy}puf4+nVn@YH)>NS6nsmEq~`-1EXc zd%t?mrr3ZKJx#P}#`}W?xf5-M-#y5qv$$Ms}rh?DME1h@qB`3e` z!12jL&w6I?i%DY=hJ?E|_~)2g^M(e$lr(jF zBX{425BTum$wP;NUrEyb)1ly3lXm6tQ1G#2W%cvXjK@R4Cz8=#PM!}1znQEUcyTEBt$uyVqC}re*5Kg5kACRn%K+BFnLCanxd-dh zm*V1{I&%E>sktq|73u7$qx+7XoVx?}Z14+7N|$>d$C`S=5Bzn(h7pQ7ID>TrS;MySlc>LSR_k`aU{`c_J{QdRt_rhI&8vZG_`u~05 ztD;v%uZsR}_)pybZTNTmRkC4kzlR*VT(<9t{xmNcl~Pgndl#*e~DhnCmy~f{MDA_-o;Bhrb{G8DIW9{D$bq!+#Dx&;94ZzYjmN==sf&()~A5 z{Xq1C(Py}K*B_34gm*t4{&e)S(a%M{6n!N6X!Og`Uq=5BeZKef+W1@JPbH7X@9!k< z4Sy#5+3@GWUkE=Lek%N(@H?V6Mc)}c9KDOb_b2}ve`oUECojD9!K@9!nGA4xu#{C@J5@VmqB4c`|2X!xG+L*Y+{9|=Di z{$}`F;UDw-C;Z+Yy(0R@@c)FL4gV%o+CK@uEqYz_+UQ%N{}O#uq&L51@82H%kUhOE z`aZk9GkPfc$>=@d2ci!~zYzUm^uMCNi2gMCv*^#G&qaS9{Y~_@(ceY?6#a8_fBcI0 zn`4#pp72-VUyXkw{;WN{#Y+9@%(}XdoK$X;?z^s-B+k)prWG{jnqh=O$UXkQ+aqNZ3L?=z7iD)8=i*&cj z%i`w-X%_3Yo3tZZ)J;BAwBJKtnEG`Td z?>+L_U>OR;S#_{T(MP_3!AczRfhs-Ziy5rXP+%4hAYTCT#X`QYM7|*XJ%U;Yk@HjN zi=$(V+Ly*bx4EEu&9ZyFxz$YnqJoRoIh$KGH%c`(N{?`g)!h`UFP>uc^GvaNe~Q%y zrdX}>SN$orON6N;6=_!M4P`m+YURhw&AT@d&m=lhFEO+(I+D1)Ca$mbCk#1B=zGSt|bM&It`GJIrR1}ROcdG16%^jn@f_ghh zDLl<0^?0Jt>;)eZ50;steI$!+D?gB`eRw)|+@=H`%q&g6DG8e%mbLB(s2Ap~nIbxs z*8u<|tKk4p(>sczZ3Y*;&g^9#ypXvjP)Bpqj6hRE1DiH0dN(T9AHj!M+YN+W242DzaLLucJ3uuBni z8TNYd1%6^DQK+g@_9EQPNXJEZDo?Vy1dKZ31Xa&xNzLWRlXM`fHL1=Vh~~tZ4d1{x zRogI5;5tEnt1!{v-CFgQwpqk0Wlo2&S1H)wSNjO#$8e49U#C4nW;yLB;I9Y-wQLb-N z-LhCi)OOc6H!^AZ$|P(pn3=S!B^2^=Gj&4(hK9rDCJE_BOZ5R?b*0toismMzHC0+U zH=F&rspL%7rRL^Yo139c3zE|I!MVxz`plwP`DJ176`}Aiat)`Y9Sz=4PvhNScWy{z?ouNNy;<4NtQ^2T z&B$=kjMO;meH8~qn`vZoraBir5TKSC5W%8ELh%8WQ31jiIdxuy0pP1fMidD2vdKJ% z0Ys5Oqy==7M0)`>Hx-x^pz3j*+6Tj)|jqTL6T{t7C%#xD$8_v_BNK z;;(=DeeX1FA(7p{M7tzMR;3&Sq0S%1_P{udN8_FU3%{IC^&h$-iP*@Njf!b>P@~>3 zOYRlPwqZ7P&)%f3kN^Ov8YQ|kOe7xAhYVEpQfti`9#nM)Duh>os_q!MbRh9_@z=Ts zRkJ6|)DWNU=f{~%NYMvXOc(1;bA>h!1ywXKWYyt96ex!aiBN6eLK`G!R7^J}lp~B) z+CYka8^G>zxEMFz28q~y2q^GeLy#D>kz1-m&{xwMeh5rWvmvlI>1X^9$dK?^8Nsj| zbeN(ZU3I~1rAx6op{2JE12)>O3X7-MLOkwH+x>XlUA#R30xpnqDO~ zXOi^-@g5Zif@4Uz6%bGKA2WN5ip@QJ%nD+(&R5V{pA)+1HM!;HbgCL^(*@=fXeAUw zTVn^|P*Rkvdzx`!=igbs+>7+XwQx)mu4kZRGIze*XE2>EEdH1=7!|ac6gD6$^dK=) zg%q+G%D5!CrHkfB1G-`bTc^7#x$r@pqCMSR#bxbucQu!>>FydX*>o570a&~1xO^CC zcRkmSa^2uaLsNw{n5LA1dRhDepGLA~cPxv$Q9O~Yq$OFasNJif=e|H@EH<5(J7Ll= z_wnI8GAuI;aNGg3==@Hcty10&e}p=DyrbAOS8O^3*sy;f1}@Acfty@wlxuaF>xwLX zVSXh_ZpZ|;jM1WuGJ%nCoieWV8M7O9j9=vONl$wt&jBt}yL5n)eQb6s+4bFZc6E5rbd64uVf9HiUi*BuB*m!6vm z$rubFUN=e^O0=aG0ASL#kL(_0sL`)H7SB2>yQBlNqM_c5N!x|S+`sbr$PDgD@fvrF zVl9H^^ds)qN&pspC~Fs8oe%;c9M}|K1o^EAXr0{NhUpjLa78(BT%F_5zI=ocV5*P8 z{qi(laai*K9jDibX1@`_GN!7*9?C}jd2E=NNWYChrevnGRkoN!BQKSf`k8})l--_* zLV2pz0YExZPG2`OnR04;M-wS5KF$nU$yJlBlc8GNDicjNh$kYIx{{WInjn^D21w=R zRq94u{X(Wr%-SJvF;ujyY2Z>R#p-S>uLGka-D+g_C|a(2Z3_2lPc%e|(!nZQzDle$ zHkDJSC0muu*nuihkr!1d2zKcY?Q5$$)&}6O#!#Z{DZXSiJXQnaY=vN1$HE;NDy|Ua z@|bqcw!>XMkc904QH5EyFCTRXutEsH$RCDUAslT47SYa(YIn|3VR%EZpG#sUHGw(2 zKHl=600zjWJJ)7#Vv$vB8Ks}4E?hx-RNIYNHqC0(H)gZ|2}T;5ilCOI1B;qW;3fo9 z0EwLQr+>}6CCFQ@?PPN%T) zk(;~7s;VefnK7_noW!3Ivz$Cpo2HRwv=N{nvqF>+LvFPdb|l5Xki2XnqHhREf(=lR zv3?!cJ+f%K~t9K8k`hn(;zC7s{yq&StQtJp^kg zeQB&omxDDU#$g=R$XXnCwk^h*_He9OMg=jJVe!GT0%1+B0vT8Nh9Dzc>8=Ka43|nA zYG$j2Oc0w@28L;GYXKy}p_Xu{*~6h$1&7K8FUBDgyx@AuJ4%1eq5}^cG&?!L^%CP1 zR21pDPn#YEUPX)Xiqg-6SD2x%dkpdF=1YxNy$Y6xS7KtqE3O_vFD_m!_IEr+^y=Rj zUTweBc-5=mivzC?VA>Op!^32dk&=q15=!SVeLT8JHcL!QISgk!x*?B{A|;qd6Hs31 zH#r%`vt;LJ2>(J*LfXQ)1bLQN7p5PJ!q^-cw;EdxijSeuN=KG0QiK&{h3b}`0Ms$z zvm!U=5;a{$@>lpe$+q}p&%WRa#(d6=7o4;0bE4E-V5a~aAP3-qpk_KquVVMLeRsY;@RU1QeKbHPZe83B?r!7=grAzY;VX|e&n_elpGqU zFyPNrP1Jj#grx^5A_+z`Nh!G_m?79HO+;Y@uFL3;f$IpbqGDWyG4ttkw_ysTK>#J1 zC>ecg$WyE+11unPvL&^#ZHOa;jLZQEPB3iNNmasExg~jv$uQ>LI+-;*{OBmUx9@20 zt?O*{(K>9fbRACUFjg4)M~8a}>2#p3$^o07WoJYbI5! z#y=Q^Bk&lZpO4}&nra=3WY@_;K{6^JuuN~$n;=v6pz0|Hjgp4uxcD2gNTM@pxCVkb zgX}m0=oj!(`d=NK>|7h7D6(4pZ!hDee!Gc&_xl6!#J%j=BdArp8L6 z@oJ;OpKdTI}(M&r#0X?TcDyCz@ZU}}XG#C%dvl-Jy#Z>}gNHI2%MOf#wtKHV*( zx=RzK8!C~Me;Khsrl|83mNHBqsE4C6`ix*{bgh>m4c*R1c34k<0(MsDj-f;O6lmmR zZOcYB*MP6Ky^bcba~taJGdHX6E&ma08)hhEXXnTZ+#iSm$LXlO?+ zaggGs2PtnrU2e@i@LQ*4$1lXPG!-wTI!0b2Y_(#}@gu`TwYL}&2Sx@_LAG0=j&mKz z1TQo$y$aA!8$QTVHo8l)7pRLTJzLz@OIy=b}jlAw%$NxF1Gzfo%?4w+qW*Jus_Skeqhv8v)f zmT`<0o-ol(z6!t~flEX+6ulu?k!8Wmy*3j`z=SJk*#+bzJn@9uN#->DjtK70SoA$1 z0=UK>a61l!Q$wwQe8F7I&SicG=%7l8l-_$|`*0VVnx7U80R@eHz0Lb)Et3NXWomFe z6Ej$QmglXN*8sm zD>|d$)C*$Mbm=>A>2dnQG20;mm`d<5K1edjh}GnRMHhJ%x!T$(Jqi+x_^VN3rq8H3 zN#4eN#wT$nU9iK&bNQ$-IblQAqq7PfBe#vcWC}3d8Y^T<=&70Bn^{{=Er*VfcRgXL z74~(Wmk|=dNQKb)c18n65l0;F6=Ms)o0wogi=~y+-X#Xmu^~tkUNW3QSv<$g5Q12% zv*d)K8L*iFVh~Ww-3+H=4X`7jD(GzZfKO5;au}!5QJdsPgacv@dE-!+g))qjW-$SY zVp@4^M#w6r+MnHa2YMy|Pr9figgWgZtw9TE6lk>o51=(H82XQ4lwslsmHA&AAimB?Ass(jYqvGBd#nY0umXiyvVOn=^B8`G)SK0I#TJ zqqNY51fpfBGkmMS)7;szhH8`&A(28`L6nFVIY8so0RTom5;fzbPt&9%*8s}$WW|~# zfm*EAksSc&eMGI9uEGv&c7g*o%?LTn5H-6E0cnm&Q7<-0=o_IPrUg->+|ZJV7dTQo zkxt`yg%0C3B6KN6hM;jwC})r0K1)w9&6wlrho*YV`s*Z+66M@CWz9xTkfPz*pA>g# zaxQ3jQaoQxYOyv-R-QVEvNnCu?IMiONH~m8=?1m>%)MqY;5m1c*tLi*H~6hy8hNzG# zmivt9--S-|U`Ry^J^fW(C=tZhN@%Dm5ypc}=R=u5Mz1Ink(3Fr+%y%2^SwXd2&hq|+ecFj<;}548f_^`RHuAS|KAA!@`cuaMQSG#K_xI)itD z#YWk9(jbiDq*iY=gjrkq96&k{1>{DRAU$7zM5=}RdULTL!ym|O+7T~Kr z{UCy;;tDeog%}EgZV1v#5}>UXUHzjs2f@E?d*fCO2x9=DbJDFv#w}SbLY34{5xJaVP)H7N2^Ab;%BrQi)NsRQB)HArd{N=1QXgly zog0r7GO`?OToT{#GXl4N{lZQUHy_$9VeL`in@V+XyWsLJ7QS6#xINwA_J#RdE-Ktq z>g5eLhDGx<*zyL~Ps|q=fxfBKM_Aq$3BJ+8_W-y1pMJ67_MXcdZr8`bdxdYAha1Y; zMZhfm<4<$aOh8$EoV@NLt@hTHodXSgkwW1fS5EE3vCYa%w9&;?`H6GgaM)F~FC zzyA@A)e}c#T+}NhcXqFMq(a?A=~xk@->~}e)Z}Y+Npay$T*KB$C>>;;RLPH&+Sa6mrm}y*d!eWD?h@ODJeP<|B1kb_$u~dC{e{Q$6<7@3QQa1g*<&Qc2Kqy}E>g z)?-d89%uIZq@Z=F0{<4V@5gzh74x{fxI4HP{}lPTC<=5@r=AqF41fB8tjjg1KIVkx zvXn_K%T8UEGRbAxDFm$_x-12)cRnd-jh(uvL>)ovO7@0k6$$IjgW^pq9fa8*mbHTE z6|h^D*|-H5?cxi;iQ@indQ}jl*YJh)!7T3L#yB&ZF7Wxi(e$b?NE`MxNuNe+Rx#$v ze(ylpTBSI!M>W-1OU7MlT0j}3>b!|{5$TNz@+xcWpP<3EthP|e_K#sr3z=A4<@N{A zU)PQx?Wm8gCAAU~Ef=M6esw{vlSCBrI6`MZRa0kF|mo!kuT9kF06o zaZA4y&n~~XgwNs#EG>@d@7SZNc-47odL;{%^zANcvGYFwY@1!gickRJLsB;D1~p5W z-XEm}o$SGa&AfAMG~>2m&`K@8o3u(226Q^#1)}IK>Aaac0Wa6+w>6$2xaAEhT(k_8 z3oA|27ucRa9^h807W`-#+y!l-quS`dYBzM$RuBFKy^*5?iSU9dTYR>`0AdYR7FH`m zgrXxUYlt*4ST2qud?EedLq-*-O-Tv*y{%zL3y}EyUW&if7{_Q4CZ)4Ou*2qOO+@V`LonAQX z+U=k}>`Vui>&9*^msV+u7z{x_TiK|UtID92@PfE@NztD5Jn8R*n&YOv+onVl9o!2P zlKuRxwt@cIMYPC&+zdq5Fpwoh_)d@6j;_4e!T-}9{ts(Jej}`Qt@tGSQfRiYYSp$! zf!feh#=Nqzv@pHg0jo;Ed?(mPn{A2&9(JT~)55_=lbTZ5FiTsTRJWfk`wy}#QN2Sz zTVs5l>IFmB-K|DZv`MPJ8Gq1!ak#?5DB^+b6+8d>Pd7Oju_cWdOy}=~qhB&WS(xiX zhSrbXMoTJsP^Ph6$^w?=rPc~yw%CT#d0kf(E#{fsD-{hsIX@(?B^P zm37?FZZQJg2?lySCPHqB(-)D>&jFV~Bwlw$>_c$};(e-{^w`{^C^k44{zZ5d2gZRc zEyEI}PuFl$?2B!`CbyLrT_{8j>0+mUHw z3m7K|^l<09SmA8&5WR@SwSwfvAV_zqkf8ALiH(ZyE4=MO_G7!b;;~&qy@?B6(O_B z2&@U-YzHo}^qmFIovoQ(g0F514(+p1V{0jJ(DuC4npy3npgq8CuRfJmB|Tt04bX~z zYH)|HX$`OK4`H?H9V^_~*`P?eNdaYK0%)r^_@N3F(cPFdBffK>3MFdy1xlnt z;fd!48F%&PV3TFXfak!u}S;5t4-Ur`wGXSt*$FfTnfT9hWWtn$M{?_e{-RGEU7j1PP0v^s)i+qPDm7@T4p*C? z$X)iFSm5Jsai6Y_w>~HK!&BBCx!Ua_MbB#IqT2r@_9r+_NU*6DnFOxLCb_lTgc?Yz z8)Vy+&A`trux&?d=M1Cmpe(pn3eo+;ERm~$(Kh7g&O@+&2|VxYO9kwv|J-1|dczL< zH%9w(Cr)7}isPLxhpN z14S5(K#03R`AjbqPjAAdn_NX^-NBBKMU5H#1_~$^N?PUaCIe?4fb8%hI0SZqk+ZLj z-=u`XwXbEB?ux0~wkG~`N02GD%|86LCfFNFn(Ma2lmr0C+~y?)dgxC%0wyi!p=Gl-7#nD5!&U9N$NhQ7c!3B06K1X z?fdIvLMRf9Grg1j%Ty!B7OFUS3jP+`@`xQ`#nH7D4h^A0h;?cto7)KUf_^)VtFvh- z$(BA=2%-XW6sitP?0+`hu4CT;taN+CnI~# zjh-vzaw>*>vGlBJCt zbJ4M%D0j#+K4rp*xR$navo}<#c8G@NjE=C$j$d+TZKXHX?1-f{S9lH^Kh^A@7#$cxjKL}{wq06{$$gWZ zRygT_t6Zt$R?GERl?C{kG`biL|-e`fc&K6G1{rl$=&&+N0O&3v3ZwjG!}= zZET4Nvx${9NCp>06u2{`Cb$KH1ispazlR?J9p4eMv6sg4N=||BC!26umKh(Q5AO=u zmdj@G8f312ikT}qOsUIOS4PFMfRS-L$)=JdX-lpd1Qs^!lvLv!+UTyNmZD40Gf8Eo z>1EJrV;j(d_Kvvv^UBU?wHaDH(v#XzlIwF+Z%xrTS0ch@ko3^F$&Pda^LXpF(Ms%) zA>e6;TxhEywz6eUqHLv(iBkbc)sO-q`Kb8XOt!M~c7G;RAO$fNdP5Ejy?rk^md?#_ ziTG6(Vs;VNDmyBerci#vrcHUE6f=P7891R7QGT=$oZ>!?c zILf|!9wy#eim;3bs*cMzWJaVgy*G+PX_3t&=V_ltO`gQ21T%gYqEoq`Lg1p^s3}Eb&f7ATE;upUWh-YmlnGYA8ankfC)Ilrs*yHXlY+d+sS6^f zE@SCCP5)KvbK?Z!b~2RZpzSW{;CvB3@EgG!O#|s&^Cc#TP@%M>MkPc$v;~siw!1E{ ztnI?%EPE79=vO6B4Tl@n!^3zD2ZYG|>jy zOyY3wsBLs=Me=C-`{fiAraQ2DTR9xRWg>z~!8E6GIQbk<*g@_^2o0;*W~mL~gB}xs z5}+}H!ED>@O1>ke#OvO3=^--fTG!bpj32oGrQGF$@dlli1*;R>W#R#M@r| zfX}Fp^$vPtPPp` z8TZmw+1B4wCLz2v!eC+ggURkDxKgL1lfrdUHoY0MG{_j?qm4!zxKl4YdXR$km-B}@2xpr zj-)+ms5W}+M+sCCI4VlJU8=HK*mR4~ljl!`Q5^|gDSWTHKv$GWNQa3eZ#@WQo!1_b znCs?K$R>0TW}uyCrNLPL;O(cn+Pe~QSc8B#%(k)HL~mEVs*AqZ4fr2g=OqtkHSzV4 ztaUn1@96gv>O-yB$b-|!b<)^sSt|anwv0y;`i4ao)@mQ2($XUR=8}zmx6~|H&r?WU zlrsYYDpM_&5)0f@Cw*7sj*XzrzU#)QP{(vqp+G18&c%RVzKC=vpdH%*z{{63a+hfN zcHs^Xh#gCVZyTXC^EQ37jq}yh+)S}~T~Z##c2wWup^n5nwV;cb$1B?<9AyN&hEXIU zs<13%IkcF?VxF|fO0#1}b)46ps{lh4% ziF^HbPjhY>N?0r{NM)Gm15^Z>M|w(-4j?v`A)&?$tC|!!bJDQ_aca1xF<-N~Vc@TD z$Dz&Xm7u;k;isocJg)k*k-3k6jUsbzNTLyhVw7kdmslPg(RrU~&pMJ$_{l&44o^pr zy3P7D?hQ;DQNU+rGv|tmgmJR#M>Cy|BmZ$DJS+W8XkY^jwhvXQeSKNPED{R`*>fv* zPzW+04HT{Lhv#K%#mrDaC$N=?PGHdL#zq)ML>THK4DE^zteKa!OEtKjwY|(Qs_z6s zkV<}(pTv(+!#Jh%u`n1)WSD^D>)NdOXR356)@ahP5uAlRuv~+#=%MNQRZ;K&Y1ZV1 zx!AtX<YivyB+Or=7@W6eJVo<4PRM;(5Tmm!&bhQ^LDfC;ji zY(eBSNzQ7q7&0ohQdgpNEXEc9!n;Owhz02D)G;vLT6__-&h4JTW1Nvm%%4L8BHDC;ar$<$3A~P2aFYmq zxA&p*OJVx;7O${yYDHDPzFDVt2;z>8_Sie`93Ys9AiR+mIsAr=aYN z>VJ&Gl{zpW>605bEGDFgxL~(2_7CyVLCc~p!Vf`#$%gR4^lmfA2t6F!S)?5CBEUq$ zacjKPJ>9hRQwLn|fbV1BI5GzGV5`X(W`H#ELxhC~!VP|TG#m9azxIPG; z6G%Szq`#L<;nV)!JCMer`3Tx19o)#Hsk*IhU5$k&QduW!D&&Ma6yao|jk&t+k6!U& z!AgB*8m#1XBufjHGtTmYO)EQtO0^hcVO5=pbL286)$x-ifXmA|yi zf(ce6LC6;3X|Yxoy|D9(I=IFKn1-Ei*NJh(X8VHY>)WM1zSqXUyxwE#o@~O=%>h4K zInV*8!^VN+Z(48USfcqD-GLv_Cx9jmaqM?s$x(EPt{`At1Z$x}_D` zgY<5&(-B)Ag8^vdi;`d}+nPB{*kB)0G`JzWL^kuBG{hGh3UBj=fLYe^5U{eG^KJ+) z`Awp;I|M8hZD5*I8ck>hEp2i9j80sL>?8qGZbjW;TCrncCiY1;qlXfATrN`#LsAJY zqDNeWP*7|ot%HhYd(^`S4<=3O0YK#@QpVi?beD-gS7xJW=i&2M;+*bYHEm27+3ox! zb@v2BM2~3Dhw9B~u4fQnHO1O`Q~Ep?7xXzVTrzKlXsw!9G;@J)iDH=E{HU@!fh$#G zLT2mFgz0s5PgPc>A)KRyTPln#{dg4B=A!`-4KYXa$Q+KGXC{>>H>Icf)uVyl(}S#8 znld>dN-h9g=8|2`-r~%3NNCMFLBDERB7-a~DP_@9a<^)&?ys(S|RtZXrIMbp`li)x&W(gNkw1i>D^FD1CmeeTr7 zY-Z%>m9?lP-IO7)f=Y|BPIldS>zf8Brz|Fw&>(VvEdM62n857Xn#B+2 zqo+-kUdeGM4rOSnSC!EhC0viHK07r`Wo50yxzx*ES^20X%iCwN`opd)dcR{-)Ccd+ z!`&6o<`_CLioa*Y>93(lc;-dR`t_CWV5@J%>AY=->N!qrCuOPC-O+Zy*=1Hb!z+~3 z7|YXAhz^SA$;{$h2&2)J^3T$*&V!UBmS?WE0Q;?{b}oiMblh?db4&=!trGCdN;Cf4 zN3NA8inn6YX_RtuN-%!X7K7JL%~ff}_z5H5+$GZ<9t2%cTA z%sYZ-mobVUZ-$%%jiFPptIi+NY527naAO5_dh4hekL6aB4r9WwQ>Klab`Zi| z3|Zp|@c8AAmr2cbS6(+Dd{B+;v`+;oG*s4~Lr0W+Xc;=&GFv`3T277Gg)>0wJl z7Dd?!Jhs$i53?hBz__}!9H@eYFPO}wru1>WOetJ1+i9&5%BSFbrC_8o!}&5#1?Rm} zdub4I+Fl7l3zvKpAhd(~mIp$S`927Z+z1r3MDyo~3BvyoN*?9#N@q+DnfVZDsZS*; zFrp>9F7PiN1>5GTvF0_MRs8nH<&_GynB_vg0e63 zi-p6H-=ExTcTEK_+Fi#S%0-4bn+Ube{|rh0=gMxgOV^Lc!sD%enOKjsRCJXFJVvZW zy)fnrwsuD%NSMMo>bt35{D9A%ebOJf#mm=bT#*)^?%*Arw8SP{70wjJk>0apaJ`c- zCLY&IS>>%38ez@3K|MFGCo+p7Y87GIBnr@ZVx(e?088d;=PyEopr*2`0wQm$NBpo9WS)`L0ZI(&8_xpn%nz^>sqSq$ z%b0wKLJY4k*TAFDB{Q67r~|rhNa3Tqi2@}Ieal!gp=zR|3>DhWNXq=_b$24jU`h;= za#x0lXbnYdaK5xc%?&|Tpj6w7X+VqP8j12A0wvdSR5gI@mN}HIUzKl639z38qcaVbdv z*%gc-320#n*_A!W(qDbc6mjVxTfXv;T`9=IAUtF-lR{lA+G+r@fV4(kt6X_#pR0Sd zg8yX$mH?^jm5V@XE{Q5gS9p*vY(iGY11ykA3j-B3^05uN18n;JH5)~zIxu%QO0XUz zNobb9n+EwEu`Z8<-`xOx!xJ1?bidshe+-MatOc@;5TKtIpS4iJu*Y66c6A@O>O$f= z^T_FKc7annz0EFIGWC?X%Qz5$act=~^3N}EBVW5tFbP%bP3|(`F1NbNK6lyA#bP~% z0M;n00Q&h$+}02G+v*#+on~nz?eOvbJn7Xb$oY%8{H_vio7b8TyNEr1CYbL03>t!& zg^iz?==FGF>04Jnrdaw(tL_PorQf#Ziw8@8q2JbJVd?#liARQ|>p|NB4?8l4@E5ZS ztUXPCeIy#2AC=iyXLEnr!s8`DAtBUlwjc$`9BEPS#)noVZKz z_BxZg(dzs)@#KMwVG60by6aeS!eu>ANJtxa;xdLP!pkeT@I(kv z7g#uBd^8bH=;&Mu5xBSnEQp;)nwszOLb3U^;;bCH#x27lK291%>e3F<16;hk^IaaK z`|(vmjf1$QGv!OLJKf;i##umJmjovmITAVp(H|q11*@MhRGx4KIuI=i98%kTmvmN46C*@ww5-mr51?Rk`lA|OgGQg$wIzfkKHrfYqL$+6?)MPj@$E4Lxr@lXtVHoXxV+*;BLp?3r$sU6pl7aVEQt z=hNM*5L*9tn0a*0)-ax|VKYPosk2Spjak;cI=iZSO`CJcL$gTAOx}@jjH@zDw*}e8 zGnBJ&+q@h@8@pHO)zxRZo48z~8n4!uv)R?PY*U(D;~uW5Wm$SUyGkusO}1+uWc03n z5Tx7qAlP%&gT?*)L~`k)kZFWbS6u`N4m+nv&>lJI4*uv>@>lHf|`LVi$yM;gIW5sUaeylF1 zUO_(nSP^F=2}=f{IP%8%9M)GPR-BNm8em(5UJmYw>ND0r6}s>=!g*f9Lv zmmdN?-aNPn($DnPX-W5yUMdxnsM`6R_}y*0nmPiIX^eziJN?vjAe5*=tD$j&dTj@3 zN83r2!hPj^McHzSmV{wjAc&+W!r!e$6A|*H1zV!R!3Uh8RddT5sX-!@+pWrJIl0!@ z@G_F7Cihk(1`@e!k;^7on6AkCf)0$n!W}iDM#%Xs<7>&Ayi?z5Op2 z-b-|3g*c@9TzH$aTm;@A`e>X+U+Z?yTB5*5>pZHbw;~|oN|&OHhUqRhxXTuIdA7T3 zb(en+uw@$=_CMXsU=aQ5eLyU^9V@g>!NqP%W5LtIUVu^D^Hga|pE91SCQntpbU}Gf zmG?v8h0=aHiVUjBQ`K{55js+Os?gMx0zAPH;Oj)=0bhHbsu)jIZK0>CW}YfidQTPp ziy@w>7*CZZiIxYMn@UnYMo)ZuACA+{wxSI#z%a#9WZqz`8aJBGzI8g^pebkSv?kvS z7K2pXmM#neH)Jzb(5D4$r#@)Ampo6fgmg^RAO?uwT=p=?Qg%EDw9&yB`Jz*1PJtiD z-vkG5@$JuTlLTucR+dyVf3*U>uj1Pu^KAuJlCI=}9cB#|+*bkt?yGfN*eYSY=4>qg z2W}Iu^=rm;%r>FBG430kzY0-p+@h=*6i+6SmZM>EiPML=SM$vrcd^3cEQlMO`UMzt znC~+fq?n*?^%~xohq9|rTOcnMm1g?T>HO+#!BqoMVh!zhU)src!S+Wp(mQmk~3cx9mwR2!=X%W#?yOKG=FM zdM3oO-jJF*=i*VUhiY+K;(%|;h*OJ8%@RvRv|diQ)i3HzPTUiimN61Us8E)dO#P(DUVQaC!T&|S(Lsi|!17yd$x z!&T0I%+3sC&doZ<^i#wnT!v1|;8l3PVjNSoH~Xj=G6dx`NlE>1+AE_FvK(aVl!EmK zwyd8GZK=={7pR3IZ=5wvu2e-&t?rr5%yJ~0s8p=A($teHbk6Q5ni|SmilcO6qKP%p zkRw}9D#1Afw$>U|rk8jOdF}nSEVLrCDx_J?94S{KV*^yC2`jx~&uEw#m4Xc@7?}$c z*9_33FC@$_!pxO<($oRw>7?Uy&YwW)TebMY1v)T%3xXWXA9P{S5{De)TVDB(mJim_ zF9+7+(M`;M$2o{{soZa=+?V{2U0uZl(;HxVjK49y`GQ&E_@06d_<~2GaLxov{BX=# zLECVrw|K|GkStQzSfRzBx5WxaVTB4{wFZeDDzte#(CE}MMKw$4Fx)EF7;5Jpz3hAe z<8|JYKThjVKCC^ZcIWa@?@94aJEe+=5P;avmPF576U^7rt+KP zx-m;ovOYG5ZaIpo1bA$? zQu1?Xr#eZqU=R9c;H)&n<)OcD1YC}o1ayPy6N9L;$$GL;$#b$8&q!LwIT+MO35?B2)M~HV)1SW!183Nh@X4hK0OnQzPR%T107tc7#fubE5akk?DLygmz?M)Q0WQQ;mo5 z^{sQ|;mlgws}(?(4H$^pP*c>9x;Z&|Q5&M)nqlVos77s!3`T9J37(+(nB_HQ19lK9 zM^7`?q&i1eThP@khHshsK*UwcEJ43dwW5{tD@wPc+m*}43t&?b0Z8amEKl&7j9g^Q zmBO^7HtG@l&3my3VTT^2J(Wijn|}!1ZV2V!3mbGw-iSSBsOg&zw)B?~Zf zeW402NZf|zxGKGqlG=RHU=>L3U)M#MSZZiqQ_xQSN4X;9ktC)_-oI>R7VpXxn^i_C z@AN}bdBIrGF!l69yNSsa#!{IYXYA32R26+Qrw_}l~^Us7rx7DI%-&LFSw^b^J!T% zD@zzLcbs#~EEpweK$4O}&Lfg0(Fh%EJ{;d?`lp}pbzU~d}Mo5Xs< zA`%*{ki&In@+-0{&bnnR=CfOSCciSf^6Y87>L^hsUvnnED!c0J>3ls>Jpu;~zGgJ~C~vOgwcm(yz1hV;P#ks)tm-+OygEYz@x3t5H5`4`r+E?KS0F`PtUuXA>=R zzc{MKRQ~$;Gq~i}oMj8QF{4e_vaRc`wG|6|-;k}jKU;HpTlgB^ zgcnKr%GPApoJHkYlVxYU%H`ro{VwcU0;_FtJtJnc3d|tl(QNs43!~~hdalQ7@b`r{ z7T4CYHR)+uhH!d@Hf^%E>+CIk76*VHuAhIN&4V@1({3xC=P@5_p*NGUP5U*)x?++> z#JPlXMq@D~+GA7D+t%Zgi~k5h9IwBSMh3C_+gsSi5BcRxw{>bnf1~B|)na?3lGq%+e`F z%;|+v{RqldKg-~5tlnbjfL%?qAWj2=r%rmWRi+~2de7kLBDnItZERaFh+oj9FV(Mn zknbxsB|sBW_j+r^SrgQYl#xnAY~A?P2@J{9l89Hf<}O38KoGR(Tr{^x;#O#!t(XUG zf*B;BtUhP`gol{!YT@4@yb>fp>lGLSU}sUdi9i?iYoyZ#*1%e6kc?*T71Y!u20_C7 zavLG=E9a1Q@bVF~qb!i7r0HwJ(018(p<@8`uBsL_9_=4|+%@=kQ}yv8s9fK!wR8aQ z613*gDriaiWj35kDrFi|q$dseR)}Nzll7?S6s=}ykkbyp3PeILx4kgM9&9-x$b%#% zYnm+tHuWi%@)SGe$)z&WMihg@G6^AUcy-CywEF52f;dFO7;qhR$=x`03EiQmE@5L1 zY`c4SgqVqMly4AoC9nuHE$CU;pdGMIWxrG{8rm4`ru2kq%%>l>#@PA_7?kkH_P$J| zs-wN4A$@FlHE^0rg4@-EQXd({vdX-ckS4A#Jyrs`BCZyCUbfMvi}G~76V5V9nwdKHaV zD#Ffo(JPYC2akjFU?YJ6ERi=&7cDl+o;m02_w__wY;3|Zl=Zt;}mBj&I#;u zH!wSPucH{*98j{fnKkF|QCjyYS*Ai2H0{f8Iv;OS3P?S>T3^>>8+BPrCtad4?UmWe zUFcM7LNT2`)tZz&H78!P-nWCS#q{7ZrDZNUv+IOqt8@azftoF_xQ5nL*3`??R3?U! z{q+x{St0lyMxSGN4?|k6F#cSphfi_Ufu=09Ds>`zT3bHpgqnJ`rhH^^TtFszK$&hA z7f82s2{{8fBdF1?%R1Pgatn#pI&0yl>u;^!-wDM|V;<`Dm^7G=lwN_Y?yD7{pmqzW zwq;!MrBuhWRy7V)My78uD(i-$C~q`P16dFTc^%RClJJ)7x>-%(%?254$laPmpLTX_ zISRf}ES@VrTB#G@4|JN6l|uwwPsGY8zantK9h=l~7Z)Lxr^DS?^H*bFicS$^U7I|R zZKqQ+{4#?&q!W|FcPbIkyCa0-r`l3R70Yzy)5fYvV6exG=49 zR&(x=5NoI=bLKY2%2i_bTFMmB(hl~tLRJ#x>>DYqcu#I@@M#l6CQXkk7@@5+8J~f^ z3~PO_e|Y%2R;{{YEjRN&c4rl6Od>BEaR6)x!Z0_=6wZ_iE1>Lajg0V6m5kziamS&>$#j zGSCqP&)cGV&hYBMoVBUDHu$QZt+upcIqijJWn(!*%*t}qYuH9$8g^%Z>fM%RWoEM) zBF}c+JZm#lVD*)*HdaCpp|7bIIp z#bZ>QV>Od>r=y5$DfhYs(p|PrOS!XA{z|yqoTG(hEuAA}E5XAoP4#8DDXDMF6+W-uhgI@4dN?Ip>q zvQoQz<;l&0mD-+!nXR%)LZ}jH3LE8s)T))*=b$7uY1AT-v;`}*MPf8*#F+*rO}SEg zVM|0)U>*AFj3u@U7n+i7W`$dk!~3+(Ll^2vQ1DIZPRGgeHQPTIqM zphBo7@^>*lj0+2Q_91ft40Mxlq07)je*Z?Zo-@-Af0;s2*t}zw4oV*sO z^Iap+6+;)XLXpkHh@oE=7sDL0;#*)tLTC^qevKpXgb8U8t0uf#r&?}MC?{|{qjjpd zrilRa*pZhGVP`kepkqw+AN{2Z;}QpQQd)KOV41MDY851bUSGOZtD5!`nJrv3e^YPa zs;yD&EnKxltyiE1!bMQ|x&i-*m-7m(WM1@R#VXsPL0C~2AAJ`Zr-(c;DI;jr)uwne zjNn*8a^YEVM2runk+__JbREF2Cuvn!ES6dbYx)xWnO11RP@vtRjdj}yOrjT8@dpCU z#XIngYH0XM+|7gD%2c(;P4jZtaH6Y}i@)B}8n+m+gqUhv+c!Xs^NUfD1}?C1L*4o# z&egTVVpQ+A*9uZ|Y+t9LEuEqs`TQ$oH03Y?17jkUxkGr{Loi)e>fcJYdYQ1@^1HkJ~27rT2Md^jTBmv;e zhcW1>lXiNG7`weWa(3yNtO@<}M1rV@G6>IR)Smv&1H9Zx7}0Z_B$)9G>De z(9Tm#xIX2GET~%eLqslI1=FszoxmBjeFT3J#WZKEBz+#%1D%ezR1bR9;9d1_8c_hA zxdF^v4Il2osa00Qy9)$WuOb}4y^09HyXX}GM>)1d*4=EhU@b*y;mY*u_&UH@fhCIV zaU7donyt3k^L&(kOE!QnJs;((mW#40S2MQ;0`OEZ3!N3cgZom&ne(sZt1JWXSZ>;@ z9F!~DG2kImi&TJfMfE&H7Wlwxd5Q)+L|_Mv?YTJA5*HvLX=IDGERZWWcL8{;+fm%8 zU3%!&mYacn2!y0IV#5OPm?uCj*SX`lx{h$`V)B?XqG&|!d1vy~wl#qKr&^nNtssNd zI>F5(<8{uO6kBV#8Go1$z#||=2;L9CQ=F0l@YY)7(HK{Db-0ce;6i0z15FRb<1x0{ zViWhOc5T4f>O3snr;w6Byr-6-bp1d)xjmUxY1OfrPUoAj33kWf9-Cwi>|W2_$?ZC5KgZw1IClQZUadDDD!UdL?Ge5e{a`;krxqmY@i9Q%Boi``o% z??*Gs1)^?toi43xok!FXUloOybuojigLiNkiAkyWDVynngcf<{Q&xPq>q>@G7TBOb zMd+EAmgBnQvn7B^mu7a2sVWV6$u1Vk0TUxYv@FA(dLCT&u~mLFpDi(r@`?_P(5tr_ z2>q$q(9Kz+a3PYL7|!|jZbNwq>Jy4}Bfb!j(2Ocn8_s;}6O@qcEs#`sE-tQDh>zqm z$Psg^4cTp5gepD^gz{Of!^YAXt;;%lqiHS(nZN0cjgIp&@m=wLKHx9y1^lhBfWK7+ z=+)|{e7RQVxF4eIdd3F~?0qe(+*FRC^LkX1Sk;z^R`i1cZFlxzL4ibnT40(5^=jBn zG-pCT#iBztm?D&$_e+tl4%cmJinR8E0y~zC)$@u^bZ+=nj=*XpL^I^8azTM9YXk`j z6jh^*)j{n~72L(;q$&xi$eh@;3pQjTlz?A4DA14)El%!r!r2vvS7XJYbUWXrVVxL= z4Yb^hYWbSgDWt;Pmgdm3FWZebQU@U!*`PlVJW zxW9(Mt#gFFb3p;K5Ufk0g;|tb4+drdf(j0XD_7a5i$;f?D0ol; zXD@ig=i!`INk_J0(}?Yf1Uo4cm9mA8AN28O>{lnV=opdh3k6Q3Hwzh5%8I}lm-1j) zAmcv}C1|21nOv~o1`~BE@q6$t7L=8R*i%|QEhkFQq7*Gk(A_Nvg7dM6qCh?f?%!IJ zU?8CHRV%O($6Kscos8TY+;% zJ3oZEQR+3VVO2E|BAhZ?V9s$z;zoxb+7@))5f-1e<7&X<&b#1q3KiVXMaRiFg;=N0 zZqMstfLIghFah4O_zdt*?1h~l2??tc(Gb6sLgYS zdsj90cPyaI#tlQ1=iCBLjQ_G4mtt8@Va(c&WmEsQ=b@OhHCc(-p1@9Y)8gGot(BW& zptU}$wRLFqltGcUZ^3!0m&8DC($9t348Xc7+o|=%A~Vb0dyv4Xwb1?Y=y}S~D*-3g z)1UH4aXP*>eR{~bkdl_7&L`b&Q|hxuRZ)6HZ(C7dyRm5POy3-`t7xb_lX@GgY0Euw zB<^&`;tRI3AZxbK7ZmSmJCxOX$9J=h=+gpW5tYsdRt`wa=OU;C!JW6EFMcOoEb>3|7nj8~SrIxpHpi zcQb#5`XSby*cy`-V|I*~;>hI^qy^adu8+*ZW_SKLu#c~|Nkz$a1#S*5hQdPa_eE@b z7oPE><9B_bI9WC2Ub2DeXddr_{c1k(Pe-$FDNitFKRY{Winjs++N&+0fyEaaCD8lP zp=VZURDe-)ip@iBR%jcQY0jJlh-#bJD_M<(D@}s0a%(+&BEy?IwX-Xo7&vr;7(m|~ z1ouBbtNrL3bNm>9$HDkV-yjb-kG+kic+>2>1#_8oVM4vAPoodIQ?~ z53pg2yD49N-~se|5TpJ8VV-zqUynh*-VL|YT7EwJfm(U@{1gQ}`3e6ROuQ{`l%GEE z)^5w+H?dlMFE+K-!7hfAYU*a0`uT5_z*G5De)zy!-=A}m`Wv!viH~S}Z^+Uz`SY{p z_hM)nIhdTznygaIo1h5y*c)4UBlWKv>D%5<_o6pE@IX$v-||=Qd+R^`+`FH5P*X{e z2(~iF+j6FF_A@>Cse3GrEp62 z7IuUIFG7znEIvn<7C<>^2=rqk7tHt>7bf6lsL5+LXd)V)yTM(ysLeM<&vrSsx*Qzn zr5w~-e3%^LT%j)VRNHZN3r?X!8mOK^2aUV%*0RcLace()uGW%cackc+cA>2mf%06x za!C`G1f*{Zqp-JYwqUN+e}tsx@uKrxv)JuC0?xS|u|YQNJQB0>i0zRBeYcG@-Hz7w zDtu|N>7?SG9XWMd=?K)2PiSocYtwdnqNXfE-~)t|VPFqA?js24+9FJUI|^4whHN22 z8jZJoHkis#U$D6aVUUXjbQ)N$XG`;K+k*mXX$D!yXCnFn{e)(SwGlJIOyyZfV;&)b zOEUA*u((}lD8b&SJl40)_cCEEw$u@OqD%=LhcvitgGVHCwH(c-PBtp0bZj0t(rUV_ z#F)l~bzYA83jo+;SvhT299Rhv_@RF-dm!t@xg>0H*ffK%s^zp$UD$a|mzCM5E^Mw! z5^Eq9KHnd=>!cb;W5glcL7)9*rhnQ9M;v1W-bl1&gKW(JQ3{dJa728HnL7vyc2E<16-cf_o2<>2XLBI1|%&cbLM z0ouVq=CUH(GYV1C>ikrL$sz zjl+494hTws<}eMT$&t0!-n#DKC~<2CR2sf!l;tBX6YJ^CcXPx}xMl3bhd8@l+cD9u zU8-l-37Wk_O{)nWwANs->692TsyZoXet>@=g~v2SWJkIU^>v3OwC==oLc3u$HJ|tj z*sRY2nfnEQIF2=D&p_?WZJUrY5(#?;`Y~~%p#7QM9qrL3&NNn=x6&~i#<~q7y`Z7; zo`V<~X8bo!Inu!UEk(J5bh2w3333D;8BUqB;N(m<0%TT=Ug}jwXSF*5a*%^I^FpR> zV+F~KMSL(T^vaUQ1c|X;R5PB*=aIwpv@o-3a;(zdP+}A3J9k6ZU+(lG)C=n`cPLgo z(cg%LsI()r{>HAqF^$Vo+RA$*Bm2buAk+4BrCUP^7RrJS_8GnbA@CEa&*7)g587Yi zr(vTuC=eX__(^xGk8D*zvxSR*<1lASJ19ej+`HQ0JehGYfG>Ld46JAN)^!?S(`*1` z-7?e85tm6(Yl)$&S8c6Nny%JM&DeA#fT$R+Nmur6Et15a)G&B9!x$id!Ebbz%w0CS z%dSUtQo{|P_&dYOnc@Ox$#d*X@qv>XIPTlFrk28N=QJ>5#B(YqirX>bh|1ay!}v>V zJjY}liSVB1FaSNCgF9ZI9naA*AQ}$UjvBbv4zB&-5HlMB!C-CF}4lL zTIge@3NbsyC2gLO)4rp0bVJzsZY3{Mgnj;!mC?@hJ{?XQf4I2jzY=BxLSQ|}x zD93lg`3$Vl%8iSsI8$_BgIABSusHPdlsI0eL9@tP9g+@;! zvJ{0}9o(SZ`Iw*7*`*}mmG#CEA#q#?F_2beWjib*)Svveudx+qb;AP5;d;Orh(X8G zT~fs`6f0Zbp$pU{Aki9R20L@1|3T{--B$xsz`+Yphomfl-hwDDbLZP-|6ze zhCn-N8b4BkZat#TEYN`s(j+;sp{;-iOb9@Y7s1ZFt`~HQ{|uAXsoIcmG=lYk4_6t9 z6N}P;4fQew#aXBiDTpkt9N3`!VXX|xR0`(xoJKFU{LS*Kadty7TBrjX1lht`p*uOM z>nht0YzSRUZ{TDtb&cjTiD1^N+}Mt}MT4s|MK5JnSX>bJyoT?qoyg}hJ2t2^9NYF^p-#d#3yOa1<;&V zN6fh=Y0i^0=SiA#UYaxQwgrAKCIo1hLIH;O7|eyyH=DCF!-7P{8#^Cz8+{_kt6CX| ziuXp-t3nFqTRL}9t1?lwVvt%?pOa;;7iA6yZ2M9)WWPqVv#nvgUH{kQ6v3ttl{N)+ zV!)#R|JZvMV9T zQdN{P)gu)3Fq$H<#56Xx19>;y4M! zP{tLUqOAOW|8MQ{xP5Ow#te_CQIGE4XYajU-}>I)x7MPn4DBV&_vNU2Yk!9&7DXKedKx7f(&1vU8U^~*9LH@a&VN2AGK@B3YJ*r6Bn9d8L%+_1UPRcvic zqaJ68s>lj2)VgCgE852mFR%#ZwpaSuVyv>rHvG!Fu>lZm8kFnq!;Ag5ue?HhT=pfQ z5OnIFV%sD+_Gkz|VnxjJ-2U@x?6V>g)I2xN+lKwfp+zL&aJC=ueJbG#Y*R z2=rh6sdf*0S^l|p?|Ba2^OK`1qtQ!YG58+7Vq`wIdns^%Ugd~?NgKn3co_muAw{3r zJ1Tf|g#L^K4TUYDh0glbLj^#4$UrAQ-L0WmLHz_NAw}sB+<|aC-6VHYj|9oxMtXNE9JXIC9!<~KS7_scL>uch@xh0^;k z9qrHIqi2ABGWpeUw=YUa;Wd~&d({S$y9_3G8BFdnnA~MBBJZ9%z3(~>yT>S?VJX|p+*Bb<9iY&}IKGsn#6NL?ex&T@quJIhOj96!8)9Di#A zIexk!gvbFxcmQJ%0&`SQ?yO)HnAe0?f76$P>0g2O3&!0{N1~fLGIy>~T!6!8O(uc( zF|D1fT@p~RcpsgO7P!81^M!Hf1~_H!V7`Fbakg z^hnnP_O=G%$G{xE+>m+$T^Qr!&vc_E`oq!{<^gi-^==L1Zuy`<9xvaw0`hqI!4;6l z%a62s=zsaKpB#PJX!Mm(;8=jWz9Im3`is_z$TU|G*dT_3k=65S@@E@KsgJZyp&2;H zxZ%(2Aex*V{F#jo{_I8ve_^A8bjs}~ccy5Zdlh=sbP;C%YAQaY=A< zd@1kgb>*Nq7g+Lc8yD{oTmlD?OoTh)>N{7D@mh}OJ^otqVH1B3I^mqfA>F%^E>B6k zrU+h4irW=e3--%P*U+<+IWt#u?JILkYo`N~>3>UV8{$Ct1@XiNbE6GlG+cE4T`Pj8 z&Q(6;c?3GP5kbd`_ducnIG#pOr;HF*3Y|fV~=Lw@Ds;xyuq{) z1}Qlt2tPZR>or~%IItgfHy_Rp2-N#JF?j}whoW}p%aR;3Fd8Eyz#x!i(}<~Yi70vj zYD6tqF>Fqn0Mvl;_nlLrWRTIOcuZQ<90xVd^K^OSrp8^S#EUNt%;y%W=E)A*fbqc2 z)`=#{rgD5m&@nSCuo;#hk6r!-$3VZW{eH(4DnK`WXy#&1!Z1z_`$P*~mg{+`St1-B z_0p7=JkAAlHhiG|9C{S0fgH|2M2f}joRI_hx;WQOf2apUbPR=tcL;wz)9(rCxqNQ= zJxqP{74Jl_F<(#qUNZvLsXZH5wIezaBc`}*(kfhqX)Iv_cKnULrd@euUIi-B@=63b zlLhO8%XXkGO&!ZKYbp~P$QT?lUpUA}$}~b_{KtVkCMjk3Vit8zm>FInaB8e{WOJ<5 zfypoLxbIZQKfH6jJL`d}7buQ;ze1iqM3H73A_sAe#FC87r0CU`@2g>3N{a%;8OR*j zvK>a`Wd!8g#9M8E$Fj_3s>m<+dks@s2cy>mO}BWM35IP^t-ZtE@r^$hc52Qfa$n;M z3KVFVnS9p(C0(CBK3fbIuo|Ehvbw_&(ui#jBP80{V7oEG$>bmJb(7!-OIqfKJ**ol zq}7QGHoW>g0*1{aMz4{1U+FI~s6BJvaKWm9uxO1}tl=Ck|!*>RixTAo~)^KgOb_w3ZSwstP@I)MG! za|2BXdN&i^ThL%PvDQ{yDkspes>}L`Jy3sVt)1V3PdI<&qUZRTXkd2q1>kP%I~!{{ zDMh+h(Rl#_Qe|R-zd7||yp|P_S)sv9!EW$pkQKXw2#Q5sA_&R`nFI4kF3t&TfDIeJ z1cqz^cES*F;qNZ6P4^r&KTZHs(~22d1Jg2QGMxp?vA_hOq2K8b_c}-%C~-)~uh|F> zf?WLtmsA%}0iG-Ag5&!RlH#CwlV7|%y5k&tv?1Oa0fE(gxaC0Rz`()14I zhMqEn1#`Xk+Qni01b3XJOlVRiczonS2Sgwc$P5YqwLrOC|MlnO=5%MFdIG%!?7S!% zRF4S_rbhfJ)CY=EA1|yir)u>QT~b31Uv*9fERf{Xi%6z^4ute+sXX!Hxb&XJ#nip) z7F-=}cP1a}azNtpBiP-efM5|@R23)m$~4K@V5IQ#TV-!U;9>?8-*T#vo#`C-PYocj z`pVm>)|RZB{*Frt(r`@cfN0AED*f3S;+e4!fQ%XS`6-YXejv;G_2#vN-DWmcHHa9|C%}A{BBY(kyZhv@iy5aGQZ-I^%ZDD6fR~IpYqbRGl=}K{w5OhzTQs4EH<&B&@)J@-slIeidL`sbS5Kt1& zw$TelVTRAgTDkx7j?48EP0F+q(kov*q~35i3G2(|6rXjj1b|X>cD7zz+Vq+~xcXqA zfrlDVO>Tbm$nfg4YL7RoJ?(?(<_9-detD?;&+g%P1BHJjo<**GnU%m4Eks@t{WY8g zu!ep4YKI-)yD`MPd~3XcWo^R9_{dZsXT`4PQ3N>Y?1;nOY%|^?2Qmt5ef-x5CuJqp;h&6ZCmHy4! zKi|0hvyR#vxoz3qf_Lj!PVu&c(@XBUqDNZEE2ovj{oXykJbnu&OS*>uIMrl~v~szX zByf0_xN+P{qJQ00NpO$+c z#n**)-PfrT12Y@wbqK(Wz%M#@3X{RY!eKKqTEXk~!BD(b<-^Z>O+?5sM6DnU_^$4o zUrUbc2-OCbr_o`ssFaS@e@6x|+OJ1PZ$gn8MIZRr9WHN28rZ03HQ1DZQpXut`XKPo z_8;JZDl0tn$w(3&eHzCds`UU5o(%9P#tqsu{x!g(2OcU>Vgich2J0oEB()Qrn0 zu?aLUUtQnRfD>~fmSY5g#78gqx4p~&5v8s$S~B^+jtiOmud6y<54kes_q4WljXiNz zkDb`fNxj28kBCLcf9|}!omOkY5BJ*6sb%j4$PF5PV%x(5*NlQ@<$sZ+mgBcTWaNPA zSknOsS?o{05@(ad4he>OTIK~_mFYjjeq^y27mOxqs*%x-<^DH3+WW1Oyu7qHa>gUc z_<4|Q{{8#}&0J5DMG#lG0LVwV;D3EF0iT*E*ubSl?3EPZ=fTELIzSKgoDm*L%l-0E zh6_+1p*L;4AKdmueb)PN_vmQ)6{9Kf-|Tnej$PA_=yt8<81QCu{M>BLB5B=X3^th) z9R3KT&(54!p@Fh(JrX*8yzvw1pvRc_sLB_t1mG0y4%5i&yoo7UqxfX-)`LW~ym=$6 z%mgvm=`Yk$lCbdh=%210!O;g^5SzXIn6NTfvcfk}7A!Z@&vbFR!|hx6BO|eo{I_jG zCbcu#qOxn?u$$iu&8Fi}rQ(4}>!pO^`=TZMw=*lblNaOfaIGZ1OtSl@pN=n#Tld^^ zWd_ob&z%qWzAi%SoA~jgR9SUM;OtJfF4T5dx_RseO%gc8+_DcUpFf9fs3{bb|f7-)<0pn*Y@05K)vPx<+`JG+7 z9#I@!ViDClQYl@o?*cf4bE)D50(VIH1gy_KK(Hb*LTUQLN%1&p2_f$N0&_otS;2ab zmM?MN+anO-2v$Z0_z~t>j#+ Y3G`hQWY13e|O`AhQ#IMfjQT|IGLAdd3-O9?Ih^ ziZ{34?fbGD540OEmEDN2DBrJ=PI*E4?Cesr8PyqoSZ_*NV3WHvgoDQ>%v~72W!7D* zCRm(K)NM6Z3K?8Vk=BP~Bn9^(G%qg_F*HJytSBVt)*||nJd2&_-`3^P(01O@ZkVBJ zbBFfm6fQ@>CHzniswHSZG#zTRd>=o8dD&n9e6QAS+F$_fk^WA921%z+){)6X$R>jbhG5L)(h^h}mDYr%AB!JxtGyiMDnZ2#Sl;njgbJuk^3EeK|teucsWB zH`L`Dxu{tOLL%%+w{}0H5PG-#m2cC40B)rp?+N+kw>E|A+$?})0UKAyDj{U8-?F+w}pT0+pbOjez9bT^4_A=o!LE$z3C?*+2TXaexaq-bod?lrcJ5xXk{}jtn*xHVq0h#)*i%I_i*aFtZ!e&i_ zR!2>H-1R#|KV(|7G15P2US)7?AxnlOs>cl>_5?8mGt zxugOrw3Z+1O{Dk)Ep-p_pqqXgS1>z!z>Qn0xl60LORKp{tGTn)z+RR#{Y-DB+GEzT zVsx=O%x9b~;B1xHcnMf`1v!Q+&PV;yQYyZr%BEbjMOGot@mdK>h-RVD|&tyQt z0iE9z-qQD8iw{qW<0_`1nG zBLeiThy-0n+@Tu}&wh<(TI-9$R5x)j#29Cj42G+NG0()okf`ZkSRxFUU@(^19?Ys< zOgXTgF^vT{`aEsi1n?PTGyR7>E&*NtvG?mzxBi`DZ)p2Y_QO98Cg0m!WeDyp zv!;jcW2TS>%%>H^#)W{AkF5hd3MJK0+Yf_YD04|a{;27jvc%V`jnNXz^zP1|q_C@^ ziomea#B^womN#5oFKM4)9>(nF1F0QkXRJ&UD84mKQ70JDmHtXAiLG;&B_C=fXLnt) z+-oZzBntcBCBrH9y?w>CP${Fx#w5@DLZmA4D(di4mG}SEh!~IXMF@1JK^DVD{bGdA z?7{@%0doe)K5CM^K#F9)s}VQJUWJkDcUQP1dlg2q-(BG**#i$~D6H-0ce-OUL3c3; zvd@62cnh|yXd3t~8u-&dC95jQ=Ycg!fk}o7OxYSrIUrU^J1DtQ{!mP(02=#9{r!;3 zqd9sJTX^ni@O^)^zY1^xIn6x?^K(EfoG;GY9@<=1W{(yJ`2UzGwqMJZ!QrIjS@8w) zgg;?t`dR!n=)BF)<_?2dbG$Z3#p4o;@7K&**`q6Q=rN)U2LBfjD;ejZXi|gd?6!J5 zjwX@hvMH=)JI%H4c*i=+9B@BkNUVHdZ6UrGdwf1`2O@8rW$yqB)( z&F(yADam84GQ5fGpy#qicHJ0^y%Ouqk0_r+4y zeJf-8J|GD(+=tb8pDsA|n74;h2iKe!d33<*M_6rLX~MZ2%$zyxXSKIm8ax6fZ7!S%@UWuy{uVRkS0f|*{s`6GNv z|ISknmoKDSTxLA{2;bb#^@Ci$i0g;Aelb@te$M5J8>+jV$^1$qXENd-hBWjAk^xHX z7m48*dOGWKnox`B;~G_fKoTfQV-bv^(SXzm)jyMQ--7-KOb+=MU_*P zr<`!4>W>lfCUM-}B&I z%Y}szQEOh{(wNp$Yr%(A-N29H2Mav)?0zCH>E+p>=AmB>jcFezSE(1os(!V*JKgu- zT?x+b(=GQjKY1Ydp`R&9*Po&O)i18;ioFUP_*m70bvo%ohNrVXr~ZcZfJW{wO12Gk ztWPL!6;jb8JK8u$>Mml3`D&(DkKgPV1Es#;&AO8&O+g(D&JB3WoD&5ocpK^g-d0!H zwWalri_=$c(d;M`kg_DDfppK7gbFPwEf-mlotAcMW_=3Is77YNc{K=_*A0?h2l56a zaJbe8O*kG!4f3f_&c+a$tHuCJ8`j=tW9r|@*r&FQR;YJFlxob zY3Oy19eM1;IJCdR{IO(dHGd#*Ht6TQIr33|L3>NA36fc0=E`LCx;93~42ogOqfVy(Do-xTK@~OZO zv6*^t8h%Hd$+SNh26P1P6Vcth!yh?cEQovsy0*=G8SBp>p}pT26(aF?Cy9rrFe_4h z9mv8B!3FtaunhstU^2Z-`Q^pKruNx|Z2#+oHIlQ(YmyT^>{uLLY;BXnacay|XrJ4` z4C{f`p#w7(L;zUIA43f_r&1@}5jl{hretKU5eOGgen4e#M~CYQ2r(gJw;!mkMT2pB z4q$GTq$3TcYj~RkyFDPho2${#O0f9|DK^gd0mu^gErILOx`MxE&0mE7Ti!5>l&a8 z9_+B>Y5y?}mt#+->$APbo_N(cP8z9?sS{diG5HSV{>i_GIz0OKv_+CFW_ilF-!M zBs575Pd`T5B(00?CO2dbxzD5ptZXOPxGC@9tO~Hj!;y2TSM<9hRZXuqDEVglu0Gu3A(|F@V+R(62Y@ zDP7~%ho?{rdj15ggH2rIa)aYs}^SL7X%~*7Bo-e>-sP?*?I+(p{xJ~4wtC_J;esR zkzCg*hs}WEK+^XbU=BE-3WVX5qm zfqOQECHA+9REe>sIn5Syp`EGmh4e&{xvVg&a3_pvypn0SftyS##Gc7AG2LeDymobV z?D-|cvQbTUA)^tUk&zy;}7*T#ClbSE*;j z9k*+x`c?BQ8B8^}JNZzTL~DNiA?8L6_+W*g!+-}Iwb_H&JxmJ{H_4SiSVQFn_M^CH zqp4Y569fX#GzqNzB0^V%XyfyIp)r<+G2R8w>hp2xV1ztD*cDmvK~rk884=3ZpnJBR zLWkK>z_|iWnMvtxkeZbkvg~-WAvOC|e+K{w`PF>Wi8=#;AuDpuD9&JRQ+y?}w_4YM zf?MDyU0v=z8Om{-E{vcT*)id@AT;~IvNsz~X4jT)WQS};VsDx|yaztpv5nRQ((Z+mco-JMZ-6lS9HO;WG3@V$dwnmdDTvKuxiXi z2=VM8|0Dteu6cwO(-W3_vDn|mSwDXOzD?V6FK|+JoK{Pr%K1nO!ZzT9YSB1T)w~9> zlUA?ti4U25-?Cla)?2xwtecA(3_Ej*6ZGB*Q&SthuC){hdSAS-tvU=dK%=7#+E;6p z`p5>uM4bLhqAvCg|DEHCv4zO6qonV!DXYDMO45Q>sLw3l9>wKMRp?b^IEEDMQK4W) zbUggP6GU-O$;;l}w8(=UA1p3iSM9Wa$4@Y%+&Jwq+ABwgll+?g8(3-h0deNy;xNG~ zMP}Yat?m#tPS*T^$?O3Jkr`tXJ7s#J%*d441I+Yhq=`N5h!&_IC$Fl(jA_p*^^T%Q zE2JdTpb`z-?k#WIh*wF!EtNb;IQQZ9yoj^Bp<=SJkY&s;Eo(tVIT9LaNwW)epOToUK~50^SHPNpz{)1>NQ<8{B{-p*S`TdrmLI-b}LnOM@jy#?^I`W|P!rp@?olP_49jjbp+>zpfJz+Ea zEZ#)XqMBaCqi+zNF_lkVE9veCAt01$aa6lHAzppC(O^;7+B5TvtRB_PPw@v9`LDlN zen&@Sc=`(Fs|RKv%c>Vce0E0Xn9o8Q-@>J(*G2j{X1GK=rJmNI(L%@5s!OrJIMJ;= z8@hD9x-?~Tys%UF!ceMpshC2sY?*j-pabny&syX3P2~tmiG4Xhe@*rE92FFB%NjC9 z#{jMaWPKQo^tXYmjTOUK@?DK6zCajQdp3-SZ4Lyo>hfwtt<)OGV}abFvUXq?$|iWR z&IE6rGcn%_WK;F{4k4S5ZwuM#h0FXJWMN(#-I2G+3I=F~t=X@p_M=!e!B#TV>~e6CAzhR!&H@J0gwRok-xyf9Y5tJ|f4clcrhhs$tS&+lqH ztv{goO&ENlr>#pP%=V2=HNqO64V_Br>lR@RUksf(iN&pl8(0kg6M&N+xTkwSrgjmg z*0$0hk~EkaTOq@6Fj%{rNs?X-d-(+{1@@{m4sx#IAc>HeZrPjG-O@6f6eCBBpl+oc z0L9125B*sf5VwgJz$S=efu_9(fES566lo_?%K+v@{iX&gWvuaQRmPXO5n_QI)GtpL zuk>%SMi1Q%qd#OC=NhYM100?iJU^_iA1X2qk~wswvdxy?Rt6^r1Hh;Qc{V&PqFJOH ztnXS9XFP?Swo(R7rj=3bL9@csBDibge-o!Do&tzTYDPHgIXd~F&&vSF(%S<0g@P_y zu!HB=>5&4Us5}Y~M-Le@G23&pKRXuoZ1p}nF4%|4s9_B+SieN`CZq+IH_k`uF~?4i z&IYH4?J}I6d*SwbPS5ei^i+I<0cTyWJ)=ZzT{`?IM=z>;d#NR2ux;KGdZ^(7NO>Fw;8{nfMicCrt;)v}51QV_Tel2a9XogZ+~I?iqrQH2fgo~x)leQ<^nDBo8J3!dET!$5 z`&RStmff~CY7SBjuV$=m8G6J9(4KI&xJ-1j$fY!yxB>>le#6gB*J|xDvl3_T5mA84xDR{iyXwcldQ=0SWm#lOKH^)L|9LRvG?d;Z!qwKTF zYSwNM)zC7%C~9WCv`9rhaM4MVF8GCUB9-#5wSMsgKZ9_?Qf`$(HHY zvydJYJZ4{gTQDFR#(>u_h(jVUsDnw%L*W((r@=s`7|+q*!qBrDhleh_SbrVg?5n~50ufXC$dJat|(3>3-Cv^4MVU5^B%ZTYBV@a0JDk&Bd z!9@;a`1tji)?)bCECZhF_BV2fZN7gr+Y{H$qr~hrz90Om^S4#rA6<;*s0Q-=u>bIV zzAhy`T%5Fkq_%@1OgMa>oaj}?cg0x+6@6gyBNhFF@P5@EF?{%~TIcGj;kO)5K#(G{ zX8%V(D~Cg%8@ROwWF|LHuFD#gUWf8BuXt*b)08BQ6W}hB49?Dlvz8Q!6GiF(K+w`H z3n6`GqshPOS)m96L`h05T5*V=veOm6$xCFm;q)`eyv-G_m?JRltnbB(jG{pDh0+P_az!%OG7@63uV(h)aLA2$RUkJ2^3}84i(89{GpwmWufngKsRn( zFc0h6ebr(w=2RCF#S*e3K#BmGhq(Y70%$1q2GHUu*)@PR$eN_c?Z?#<^T!-$r)md> z(D*UNvU8o3UZQ6;z2+$cKZ>v7irv}``)Ljae{ zta~e-UFj0NHuA%1X7c4;P-#(BX}(m3&p``&10W-; z*pS6Hv;M6Z;&dP#ix;f5xZzbwt=N=BTtnv2@in(ER5x4Z2s*R?>Y)wBYt_@gNTc9- zC$>Tw@=5BR{-fG`MXG`a+bdTp~s(u1ye0b zf(R$9-IQjiiFf~~pZv{T&o+{8Set+siVS~LDro=`k5``u^x;I7^Vvk~rDf+jN$o+UiyRZ<*)5fDO4D9Bb~%x zQby8WK{hVFq|705#t4wKht#3o613XoBUyB0sfvm+MW2$~Ajnr^Pqlo7Cb+n3V%SuwCYV?yRDwwxX?GAz;ZG)uBpVsCA0ee23+5CtxCiy*b31G` zhXZAG23&?3#iHp3@%@yYR>*+-knqYiFB_PC8Y(p~@Fp&-r8s?Y_DJ1vwUB&2J|)!i zlZwQQvpl5Knv-&_EeJnq3;gQG-g_PZRtlTUXs3w*@!XtS^0Z`jX0QLpIJ^<`X&&~zT;xDYv0$?t)S=kir-S|K+o5 zVBC{|jOVa^D9eZoqNMKo^n~??w;KQpsnHKM8t|Kq20ji!7qq04O=u0ZI(J{~W)cjTbwG7qSC#<{fFn0! z3vwJcPP@ZOA*bDu<*SXBIaRB*{Q5Im&N`)`8_Un0XyuJ*#idM}!^>A2t>6W2t-SG! zR@~0{O>6G9YVVg$wD;DuCj;DUFJEo6_baRR-g-uROV_!rTEPvs1-rMWm3-1_6?XY* zqm|!Swet2eT5+y!ASQ08xDjkwx0s;VFm+7$cS8I$k#9Dd9Aak!)w%?u)DQ}UK$zC5 zrUo@$|TPUcduEEF#jKHpm0kwrA;^UlU*E@2091v&H`x5`-E--sP(TlHc1x|~)A^jR0i zbafq5wk7YWRm+<6VHr$jKbBgJQ@gk*DUd=e0!Mz)3dps+i_3CW%g+9dcH;h&3mOxZ ziovcTBjI#68>;NKp7HY1VhR#YW6$vOpqvu0I#fWq%qE_jFB%4NURfT+Aw z3)xac<#*#J%1a2!eY`KEQ{HD5mQ(fN7Bl(|x9{^Gj4 ztS(pU@)~9y*Uww!HZSdUH_+O*GF_m?PKMZg7H=rF*<`|-?i|T)--AW~``ZMNSkRuO znM^Mv>v@?nHRIZBAJ5b_0k{T8HcWiR<#Hhai25u7V5LjYt*{+Wf!h|H#A2W$7Gq<+ z7$EIT{~x$?S)8}TE>U1-`Y*|aSmVL)d-9QSSs7!HAuB-L-X29Vr^G5A z8bLw`f`Z;c^L(N~(YJx?^1OM#SqcaUs>jx(UJv3{D} zA^aMOC;v-?x>WhMT(E3vCS=EG9k|?h&n(5+UBd`8cNx#F!=R@&AGzCx!D*MaPsFEN z4MV+YHGj>uwSdA_MQ}D{)+~9bn@}&1KeATA0WsGnhhaN44D9L2-yQeoYR@IN-%A$6 zo+~B^fk14e3+xpI?E#@I5M!E|A{;&%@6q*XR3F2Fg|*m)Fr4WtXYb^c*T>^CUtG+u z^Bf@c0oUh`pIlssBSCGC?zO~FQp@=9@bv|1pAzMG#y%k;=S463!+GjKPtr>pyPtw)5dwT{+*o@S8#2J0I`mlA4u=xdn}i) zZmYx?P#HhzZ_m5ouP0saWbrUv5JQ4a-pMZ^&;$M$?E~w zbyE2NrlXFRkYjpXZA}^6p@(LSTYnC#r!;zEN>84=?%?3xpqP!Dc-hK71ri)Hk^7H7 z$ui#~@7Qc=cAf-(5HXX$O3-|5pmT3Po}^@&o(}%RsR9|$8E5@zDp6%wK22Zu>;Zta z$^P0?sgPp!f-WD~WgTJ+s5waw-7BL9!CB0af%bYjsm@1yPMv&0w#@ACN%~IWsCzb^ zqY<(a96ho}mEh@bL1DRSZ+5v(uBk92*@0;0dEUQ~Y<5zsABWyN$=(*@0@-76#17Vt zk{6O>if0$Dw-fJWQ~|}48Anu5X?u3=IxqI0dLrJf434^`Xq5yzzI=tfJeudE8%7MF z1TVuA$@;3FLWLzN^yp@EDYuO1A}|8moyVWLK1{io2Tc5m6=DDzStl;BhzkUq@MTay z3JIVk!HUV$Sdb4j$@>jVQcc73-3TE$!|9m3?pi0puR52BN5L3oJ$m~l3ABQfN4rk% zZqp>xh1W3&je;#>?4`H+xI!E-ePEUC>7qryypC#HohubfmfpV1F26(z1?J)jSkcTB zHu^Zw%siFqKdbGgYmZJ!UQGu_*`zKM2NughsR5pJwy9fVOb+;LdyHrU<>gIh|MTC1 z_D%=W2gmWW19Wh?_D6G;H0WO^tqPv<2C;6ZV$!M>?$#H@3+Bh7ad-&W4lr0h`x6gN zKUla0r%qgxibTHs3i$WMpi2g=_NlaX3<(e-RiVyK(W#EM$u&N6}66Nae>ewC2H9rk5K9+|IpL`47L?U zD-6Zq8o2`<{5D%?UK{l3t5aDj(@;AFXz@#>5sWw26=-zhtNm4B280VzvM6A{x8A{` zr@w5hPRK2f<{kx>m}vCLxy9%>%c#?UsNrVKjKFUhMYlX^4XUY@M3%ZF&U7f)#EiW~ z`Mu1}!0X=mLYD{M@v=Bw#0KXGy%5r-5>nYuS3W9Scs{xXEif{m-U>Po$A27aBT%eIroIB>N2q!YS zY5{w~n@C({oPn3eO6s(uVkc-&i`^6!57E2Yf`T#F7)#bdhrF=&E+i+!z=Fk^;uOwP zlN&6M<>iXwryrwF1MSe#(~p@6;3zdTvgie^P%A?-$@H5v(G*Ux1{DEqPWUYLlLVlE z-H$j;?|XYs?*eTSRpk_RSjCJ!fsEK4+2qC<2Txwi*C=B+e+*gwsyo#8l080w)6Deh?6yous$|5AK~?gC}BHZM49X z5yM6h0in$T4~<)+E`R~&hFHlN#RQKtE_hHOxjRuoz!PLT8$9HVXRO7NIf`wQrXIb< z9;_p`dA*Md7SuFMUi=Ea4@-#Q9y`5^OoSyI9~7sjHv!ELacjneqIRU0ltf(JzGo2%Be zYO_*j1GaI)72cb5<1(!^Aq@y3yiIKlg;W~-Z!U#o*-MBcNV7>(&VCl-ZxIJj9ndGk zxXtW~x8P6kok3_!3N<9OS)gd`CflIuw{^QaG72CFIE#I)wt;b@%x0o(Kn@rOq}P*r z8)!FrrCGAJ!ewReq*5r@Y-w1(jqaSb5pS#3kSIP9qs?kC)8u zI-{2MRLoPUy>B_g+PBZVN_04S_ZC1X>MzdMa$k(gi&$=w1s9&*Q_r!?_k+Oa8RYXqL_|pf5TV_WO=39olL|hcNM76n)0_6{cKk z6(#Gg`rBd&aGW~aWwnQ7g-cLxVwwHV;~YgNB=#^kdR9=e%ek3InmxdhsV#%aoaO#) zo@L=<9UK&@hl|nIV!d=chV7#zvkTZvgjsO#9Nu-^MbxHG9CssLdOTU6GR(uzJ3iOA z!WPFGWA8k=ma5UV%_c&4A;XU zM9sO56-wQ-Lv_yBYM%3Pd0I!gK$EyL_G@`~O9gUpdCPE4)-`k6>1Z!2-Qp;xam{jTO> zjwLW}0vamg9dAL5ce!{|;|A*+ERl~Jxzs0t`Mwf~No}fm=LRh}FiE3g{~>4Tj(5XX%MnK;nof$S_x+BeNu0G$L_FeqD2R$9nN-ZB{Y<#8Z_ zwdHXzgt_T)fHwjy=M9vb{`$(}aG^X7QL&vfcrR4uwyw zRN7K#hj}rKQyb5mqN)zMZ&4$g$`E5Ps>O=(uqdqIX4nnUoF+AwqLEfFsqPG)v7^vSz-9#vIa#Pc_ zn^psyvWdo`mQnzdSr<5EG1myyV6ck1noHxFGJSnHmGK(z;4Hm0c*2Y55$i={8}<$L z6nJHvKv(e4yuH<)+5}I4qGnqW^Mt)q438k-@%6koN*lZA*eal*V}>Yr5_7lVYQwt% z4_h4-F0V(+p!}}@%guyY4LSvsK!4N6Qm_MZ4aXYniv5Z_zq6rJ4&t++1GkFc0|VUq zOFM%YnFdDkGw_=jQpRs`kqc>-^LylQW51NKG~f43U?M7YTZYkU;RxT~hZ!fg4G#uI zVfxIVLkMm=OMW-f4<9mdgm%K2~sB4#lj7 zQp9>5gs0sK56%YNQHtRfL#OCq(8g;3OGyGbI6BQg(g)YC{La52g%RcNp{2?nVepO4xTW`?+5 zf1)H&Nr%1mOQ7AXfqmjrm3o{DPUqU`fG~=;+2{Hp7*zaZr};Va0gfgans_0BeO*pXYO4xyAq>=FCFn=(Nrd**qOE*VtP`L( zt+v#r)hcI)i5F-87&iFiWN*jP{5J!Sivq^St}pz}7#4lC?XSVN(~>kozQVfP7&=7! z0*Xf_VFlQ8P;zU)=H}$d=795HkQFJmAuFtsAW>gK4k7g_YsQDhL~C-IWmAN(U27di ze&1E1TC?7yFnXXhghFCo5hnZdiE3ncI-AdWqFM{3SDrMO{ES^aaoF5(DE(P&?{w?` zgjMe9iQg4gIsUrmt@69E%0GQqk@#%`9TyLHQC27-1%jx+_cMva|J#*aOmtmdooa7q z7xQg6?ah(+#i}=_*u{4mhQFy($ZGu>E4%o#_O**Y(8BPpbi64H&q}oBLvo=7@&ggS zp(64Cak&b^ufHY?A8Di81AVq^P<>eXz2e*4^k3Xj7#_#fAh{LHbChD`S?uboE}2Vg zJchOA&8EV&6)=jXMqQ<;B%-&eaA`!L57E`3O4Xz7LTS{9{P0OOo?^>7d|ZjhSHKQf zH7h7e^T~+3!OxQsd7TP2zGZVK@O9M~2MB}#5N$xS$vw}2#iM5`%atOhQJLtWD2jUy zi?|ujiO6U1rvdf0p`T;8IU>JV%pH-%c|*=P=eV;=8x_Rnjxxx2(3l6W(pE&i!j{_H zgK<*k>ll=(7%{s&0AwTbyRo@ZR2)G-^qUcpPlg_r$!#L?`RrswzI;R)6rp}B^A%JD zkFP5tKY(YWf`BJl<=Nm_MdU+AiO8?X>!yhO#n_YTdKHn6juGo%x5vB#p6iJGD(Dw0 zQ>?6r`K}Rp-8cp8HK?yHM@0OHFNE&KR_H$rSgpDhDK%2e$A^j4Co;XB-C~og**$N2 z)IfgtU^Zw4%y)^+wkgJVsjQTAGUn6nVxVS&&5T&{X`tqyMxx9KQS%%&FgV$;?sTzX zR)q3q=eKZ53{DV#3{l-ah`+{~5Y^`Nhp0HJq-bJgMaBXR8J>zTu|OHxctuZli7;(; zLL!({yHbv`o(<>>;BS%*Rw*d44WEU92O-qL=H&MdOtN{hG|2U9$4a5FwE(R^c@>=> zYN=Rvre{^pB6xYyz+HE2YceNh`PyPRPdzw6*C|o;^A%NR8tLs2RVQh=qUslhsQQJK z`vEisRpOZt>5Qtoi_>Ptz+Fbw$xehF&)`%}v$=pkrA5_O>}(ZP4?7FGZOE)56b7Ut zCmB>;SDAh!DX=Ix(v-2S%O0?W zVLL2SKUF2iejK~nE#Y5sjdd#%(-x12hH)B|4tdU|8a(ma=haWNQ%G)DRf?;+g0;6i zuD*SbXOI~=1AkE`$MxcbBdoc-t_+5dEPTz!z(9V?BFVT7!Yt2Y!}$JGy5f5vh37{8Ir zFoBKZ>b1OBb$sS=^}HfE=JvV9ee8^##c{bq|0xTT>tjC~Hf46JXO*ROtxtV7%;cMP>ihcVJG;eE zX@l!i-`P)`!t$5lJ6JdqJ)HWE#vo5;Ps3vP8(%FMn5VvvZ0r zL$N92Nn?7Ve>rDV%{nspPgt(rr?)M#gQ^K_dpRhbs|Tgqw6Q6=RQq1oxz|>M(aULOxUW;+Sy7sPZRQd!a_ak@akzlK6e7WvsUp}5O9m*FXhoTwh>+)lNnLYF%yZ3ZtD7f*# zs)55H8fA3;eS>6z#+PaaWuym9*kIj7zHCPFIH$OLuwvji5u9^faO|W`5;{2#Vhvz4 zF`Yc?rE5aLrdV*}ZFtvvAeQfNN$4n5-H#?9-hx@>LM7Rcd_K}uwSyI}_H@=({+TZ} z{o{2IpZk}!q%jR=QVCpcSA=*DoED`+fMQ*ax^o91c`T?Nm4UujZ%?WW`nCNHf&k1)f{7u>eQBVqPhK0M-BOl-hhNI;dH8d8BV-6fHeciY&SY0 zBhW6UZ{?G*i{=SZqeFGFfwMB2wMYQ`l!V;?r~^e?i?lNRAjg}>lOCtl;O#N51K5?& zNUK83wqPY#>@mWZ-Q?R})V)Yzx)*PKspa>gxZ-!dmqd27+j}|x;9lLg7fX%4=pfsk zNO{C*)~c$PYD1M=5I$cuY6o23>-YCp+55e32VCb-yv^$auD<{%xEX#s;QE37s{dd( z*$+5o@tlnqmhT>4o4aM)ySPfFgo9o1z-7)ay1n2+ddv$b%DGIB@asc-`h{HI$MuUi zi-;AMU(C<%;OCXu{T6-E*tR^Lp^m%eN6u4?GwJGV7Q%Po&ldu8fE(I$mhpSJ%#9h5 z7zh-=6U=-#KAg;EIV?LBi7cy1cy}01+rX}oA&xYW>e!OCD%4Gh#^pL8=o6lh?5(GmJ=S*Nm5}=QblrUE9(p4kmwqY>=Qo zJx$#nY96#;{|A*M!e3an0>gD-!=d2z%b{^Z6_Sq^I1H%(=6!bulXEbx!$45jXi`p$ zDdiW}bj6Mb4ty-T^^}nTabb+l@L+NV2FDI|k72P{dN%L@ClVGz05 z!j^^Ye6b%N(l4V103L7=3OsSrZ#EA>A>fFUJ3Q(4uul4A_w;|~lYS40vO~{@cXrb6 zoMD*ud=aVtir_R;++=@LTyfzRC;bAahVtlQ_~&nP(ytrF1~)-zPx=)jhLe7W>Ce1p za{PMWOp?vEjbVP z3xHHR5BNp&L{4@8-JA!ESZSo-=ue839RKU8tyf!$yL``skiJjRl&nwN zqE>s#;nxkKyn`>T5ygj%&_sr7xr0XA4$FY%&=@SfHMY0e7`(rRNJik`TIHq|eIgcMng6a2Upy39ybejM1s zjbFg1FxnPepb|*K&0u|ol7NL3PRT}T{G#ir^U;wTRJZ+OL9iF(-X844Djtf+=SyEn zEFIdzH)pnQY+QoB({*#*cUFTx-)HwEbyw#2*We&~cOg-}Ppz$G|3nLWZ$M7DVe zX#5-<^L}$IZVQ_ecD2(zLz{*?Lwkq7D3NLI^f=5rOaYCEL2`ho8>eTlG#ZruNbqrl zn8aJBXWxe%m(#N~N=`XF+uVJ!2w_z5RB&(=ZX|x=Yna2s=3N;&{sr`yn`_Mx$38zC z)bPa&}X_zNGPl#O1>KKgtBLzo}GOJ zJ%n3wK5=?>Jq+T>W&NUk{_l8t_S8wwoD`Qj^7k-2sDR0FCD-qw)3a;&$Zy~2*|A2t z*#kgM+P!@8^lTApwF(Ms8r4n+IC@X*xmfvIcY5|soj-AU_PX;;RCHldIKRW}ZgG0{ zeQ>=OnyR#ue5J_2@mqut&mQv6aC-LrGK6+|c4A36H2Z}_Kw+Nk(Cm9=_svHN5WY1@ zUmnEXSZWCawM9zui4T!IzP+nMvtLM&p|0|rpa@7E_f*u!{7TG?-|2^D-**RxX5Z&l ze2ws7-5NqFG07pxyrSJG#OnNG=SR8dYMXXocDAZo9hiO6<4JJIGyv>Ow(5)AXTDU? zjM=A}e(rW0V2HNp96?*2JU*_tevm9%;LYwOr0??Zh)AkX-9{Us%b3NgSDWF1Y9U1? ze{Qeabx|x?0EkFKQl%=?>TYz4J^A&VX>D49>73CLJeFxC&I+551-w`=>LwR9C7 zKiHi=7>#!Noo;7bDTwdwAo1vK$p@3t_-}<`~z^PqQ`FXax6r~k7L?IraG(Hnb zuKBvlE>#P60i~@j4NyY;I|E8RT~Ze}Ug`9A!A$l-W%^rRZ;3Qr!vR!irvD@0m^$c) z`Z`qB4`m|-6l&gmv|D8NRpbo_S#Kxb?Rh~E1>{}<;Gz?zZy+2`3Ea1$sgt%arEw5#4KvBthzA@T@zIq8$_@s}(pW!*#=0}>XC-q$`T^G)Fg0ATa9zYw%Es)TN zFoSjkyk1D$4pxCZy8%wldzN1Mmuc2L>DX*`~H`e71T-=Q*UySO*J8EF`Rigyc-s5l#CEtAw_U6+K zR>s?e*=O7J7rdHr`X|See;>>w@q`CguGN*8;Ph|#fUegQioUZI9nPP5S2y{^2FW3X z6~1-X-AsY!1|$L4Z@AQ2Y*^2=VCSGLXX9PMl7@I7hMrP}5V4zPmx{LCpXF#5vdqww4n$!hMvuH#A9nYzj!mbi1JYv0 z4>JnbE!;$iPiMXKcrNd6o9D#dhu1bg*&($7pFkuG$?Ee<)?fMh+x;P!YtzW6a3W=* zeW7`^jDe{QsgoX%a5Icu&aQgP<^~j{dqXa)5#-&bhX+4SOisO={F4bM8SI#i>q!PV zC}eMW3EhIu&q|86ELir*PZn$rJmS~^nmh3(*%_q_BpG8UvH#&$j=!ypft?S(o_-B4 zGW?{sj!kdnNP5%NF8qOwPxL?|f8A@)!Ot#y;F|tMb(;&X?B2dOPZkf8YM5|md4nTV zQAb{dV=`N0xPFApR?r{&xh{s-h1v8E&=O9i)z^I3w+~$gamI%rDIbpCZUT~9Qnt^c+;!Q#DLMkJ zU+KRozC~FsQvb8;A>%9)>_g93?JS65gQLlPb}R?wLJ|fPL1O%-U(X&N1!$52$&T0p z!WsnSA01`}Sl-xq2Ed#$E918>F8sk$Ao}lZLiB=z4=_JB4m78LWasURi{B8CGR^Jt zI?5u@-1u^jnXfM|)|Y|l3ZU)F-#&;s8ZhC)AKV6Oc7}A4;A%kl26@>qq%R#kvOIXw z>lZ$;{PrF9PymOS;aegv1Yx50Rh-uQU~buWGQ*l~X%kQqNTa!%9#=r#$3eBix^Qds zkejg1Otb;rxNGRvmLN5BGhGJ$DSm$axynC;DQzQLb$JUU+7opCmLmK_}2c%kkblmU>e|~+WN-J-HKr5ibxNt$cwc43rS`p{% zp>-F;*$CqVDw!{~Km9JZ&mY(+;zJ%EMw`RsVA$Q{Pw#XWh7`%LcaL#p^AZGHNvDL| zj)r?VBakHe9jUdkb)!h2Il0(DI9IwKJ&ygq1! zWvFELB7<jI(v zMaQ89yd2cVu7Z5J7?^7&wdJ>ZmlQ~BU7IKkYe$_*;@U9S^dFG7ERboX&hZ*Gc)tek zxPBhI;~hZq=!D6?+Ubv3sl?}KLQ#>!V#uiS_s0iyAbNpwTnC3Eohq=$*m1~Y+*KZvH{JOYFeyzoGHtM z()20)220odF1MMOQMSeMlEDE@6tYd29p)s}uL!zJ=Lrx+@h1<1OR0zk|>CTDin;`9Oa$|isP>0`1rg6STqj^{}kVb z>Uu|=qEdo>ji()IJ z@w<=u-8%eiu-j&AXUbbR!XC829ZK^KcZ&l=_BTlI%b7wWdr^&-??dzXRt3g*`NG=8 z>0O^3y=XN0@{wiV)9#fv?`!u)b3gdW5pw>eBm428PqM^>V{F)n#nWtFNZ-Fre(z9m zo&6=|?$Hq>te-W^CoUdM9&s_?njL&V{$!27X14$6Xy+?NXwdA_JszoPuquET%OCjU zXt_K69y2`79L2>N#YZXC+Z2q?wh?xi_TmXli z6u|xN=r-y4_$%w(YL6~1Q8hzy``}sJ^K9Y1)#(OTf zenQH>b4X(H-W|3uXl|73b+k7hFJBT>xp^JDpd^1)xp2+L!q2i(FLPPHe1wTcUgVZj5-A14DI?CqFw7>QlujjkO&-1 zY+wHN1~2`)8@%)%w0n8!KmOz>h!V;46(bK`xD&qGyN0FIIgu`hH7H9FK7*%IHG0F- zi7HjFs9-mvEO}C*g<_brO_xO{2rPPGkv;Vp{ABWDhlL$V%vfQ(ROWW7mPD)+2bnIk zR}>ERS*QJ}9$|V$FALox$;ZnHS+sE74e?gNd$tXk?L0c#*A{LnK@Q`-h#=#pyRMbc zFXLn_SbT2C)kPw%Ivf7l7ReNQ2ZKXA?QT(*7{pF3W{oqE|et4s6KlY5frpu3h2`GF^`%hrWk2wVM zE4we^=^x2PojYIFp@z3u^z^$=AlnHPbD3VLyrptS`3JMKM*HQ9SL$8A{K$F|<~0dF zzA@6D+8F64+r5+U^X*=g`e&ai^-h!mb>?@2IvWPTs&{A1!^73PU)<>3FKzVh*EV|h z8*NVP-HlHdVyk@qkxy4oKfikV@ZI-xFm(XqHq&g%>RF&&ROi3r(`(K7JKMeZ{qA-z zXy4oJ?fm;&=No7jci7>{8_I7Ww#43rFX05j28=sU8!Mrc;a!&VNl#cuAY!{Lpu$ai zXIVDyaF9nN+DJ|d7c4Q6gRM0`U}3o&Om1`@7Tv#cgkh29`VW|eU9KhSM+9A)et`+L zgDaxi#OH%MJcnO|#Xdg$(U^Ta(;&oTfaR7arJ_n;yT;RH{V}c=E{h%y$Qvs1M)i>* zShR`{&d#McCpgEa3-iFk@uT=QsMz}PlxYuU-6_5s_{*u)PrjlovjG;;Yb^dPAQUW| zTfTEzp^}Ft57W=uu6s1=KkTAr2AT>4;B@j09nK8Jd5`@1i#d5S7C$}^S*@dRpwq?p z111M^i=2MP2jZ2Yomtg>*-MgN9s(BsMc?Zpi8Ca2pOKu!&X!wbr`#eyV7600gk!Au z&RfAe1xYX7|bBLoJimM0eTtOPqjA*=@ zzJH91NG#Q{`!tiul3^c=UOneEEdh}>Q^BXUz_{a^X+mw|cI{<3}qm0op!K#(JcIgRB#dj;axumx1_ zvUb9_dIK+T!I^p=7d~MjeF*2p*B03TbuW~$N1!orMze7fD#UjDIzof4M8#A%N9cr< z?8Hl4Zh^K)ii7d*C+f`fs-U8F>;mA7?bk;8sF$1_pF9YkPL|_Hdn!48>dmay#e?6T zA$uQSX8WtNOMn7!msb}%eopY^JnZFFbK+5U59l16JLC*BkN{HA7($6CKG=ec$)6-8 zz%}?@Ok*8QQZ!YaJ9sb&>@2HEBJ>NW8Ba2Fl#TEW^t(cF{FJuW3zXM~43{VS*Pnv> zv7-3`KfpoFVWw-&x>I<=le6O|NMvuFn8fO136rVHIGcmj$D*%`ZWbtEYSxSoz9CIM zXv!rvs?9yHdfKx+jyW8oY;iJ~2Q?mor(b2-u?=Hl!W3mA*dt8zw<0tir|;y03vU`6 zY)+7B+DhVCxVa=wY)WoLQeY8lqh3}12+<%l$B%I5RaCjjkM*aj1G@u_%ED*6MWg6N z#Q72>DH^@qU;2d9z6UZ!V(;xA93D-M&z-+8y?9R}>*-%EqK3k6fBT`k`1Zr=Z+~EY z`#-F2KeE34AJ?~k*+a;Q2ijh*1mRVwAma-k zfNf_-A(n06$yiSwM4y$QV7pYc+lRvkrneRHJysb?88!(y~{OndZgv z4~XtjE4k*6?n_4m7M@(*__w3$Gk%Popa^`NwEx$TB4LqtY!=~1D^g$k7hypKH-4kL zZee7srOMgW8sbO$&hOb1!S8SU`uO@2{~BGZ z+M69cac-9bV&&$huE54E2alEwwJ=@d%P=FzUxrMshMYJ)ICtvPZlCQICvMHi%8L^p zCfi_fE-ORr0Gv1n$;gRWI$4~UfIXb}{580Idj=;?UBi-7gV;;FEb=VG_G9Pv9z2$t z!lOO3V=4b5zYI%)B|zaWWBF1npT?KaTyDviC|P`ItjF`_l4tX!FrXaGaM1YDSgY>N ztC*$Sq-X1a(2`~-3Ln6NqWt8?$1Ya<7I$&)=IG-= z16`g7^;58c7a|n%)*{2W7)oLr?lkhbLJ)tm>EScL6C^Q(8=jm~R`HV+09$x+PKn)~ zoy3!1<$xuKz9mD;_FP_0ActlMwr+$LYS3LE$IT`01UYcAMrZ{&?z{>UXV8A14W9d> zP4Ro4=l-ViTyv>cJa>HeJl7o24U)POTI$c@xvw~#=bn3>=Z+@-;8{>*e&l(wdbU&< z^vg9_UATL)a`U>oB&&n7$O>2Ask+RC=jrO%p{u{~JY79obcI`TO;-=!JzY)jp01{6 z(iIWF(`ZuRiuXT|HZLg&DU&Sf3l+J!O4dSKM8SEXtf=et+)5>9lpv z^R)Hs(AHmjp0=JX+S>MOeeM}Jw&K6IOWHcywRM(n>)z*S>)D~LAAFv+o;BLq@?U)J z88|R*JOd8~WzLdYXZSEKJx^Ps$=@IMM}%W$-IsM=l<0|ZZgVqPC|--7E8%ICYJ>+p zzE2aPh;p!VadKpFhGs=H0rT3P-i1-_w8>AD5WL2{E?HvU*-s;B>8?2$p9t6CY0dH+ zz_z62SJMQY{FtKAhB+^ z(y4|RMi!j~-7tedtLP~m<$#UaRe;9&w zT{O$6h?Hb;km2bw76+y6S^!5A;!K*OoiXjqvQnLGt!&}1vI8nlDhrKufFMGve?RpT z@wM1y#JAx=Qa_Tq!m@vkT?D?)8ZZWhtY~IrN6a#0qSthIPR4OoA`;i(WyVMQR1j<- zGAmjNxyl$|l+@Dl$qg0pMY1ynpl3WJKpE^d#AXb+s(ozoSr1nR2Dq4vXi#>vA{dtT zjY%Ceccq_?==jKZru}qS$y_RDFM+X+X{TB;nyh7jB%L9ThW~X8U}`J^Xe~e-vV{5H z=(U7T={>uR2W@BIA%U8tzEm+Xk214E9ofXFA2u=K%)v+OLBHO_NXU}FHQ%SP7B5*a z^cnfr3?PwMzc*rQK9ey$yAC`U7hSLZchyP8&$cuMiE^~TE;BZs{?rcPS+K8WEZJV< zWYm-f955qUfWiCcc@)_G9N|%ay?E3w-Hu1iLY+|UY=cA1Rtzek+~*pDnmsH0Y4+Ij z1k^uw2p>aKDB+w5R0sY^%lR#N2 zF9D%N=1@45y%;a5$OJu}d-UVJ0l)bQ^3L=0^IW2z|LG3tC-#!`Qx1W$FU;JivGGC&t5GNUNovEH1<`m*usyaoaQ1EyIi%xS}=- zEb`#s9lsxWKYWwrjktkbeU%MQ_CH`6dA2ZW)xhhrZ4nN^%>@_D$GD4&`NVep zb&*+Y5qEsYVvAL?5L^87Ic{ri!M$SeaE`!?Ur7+nARnQRO2~D zt-(8AdQoeC(T+e+m$wMH*zg3mCJ*3MEzj}DwJ$7vc3JB2$qG`dsT$sqLm?LZhZhImz)lb& zJh}RMsb$WBBquTtX%!Fd#&Q{7y6R&+dt;Z&H2*J)N!sMOMH>!e0!6Q3jRs)!n5=99 zz+&t(=FJ7}DZ^qJ)}vU)31i`pWo|cN9gh5^hsI>iZm{a3LAHV??>pfJ`iKe)K;rcVh%STSVJ(9( zhQTw|9MoT{eToqhC|hj|vgqEN_RJz>q_4#X56~ay8+v8{i}`@gn7z*QfBotG( z2b2$Hy_d^%nbqY=UD)=gT45c9t@LT7MHzBgtpzjODEzwVPmC8M1~_){jsqMeUcjRz z3o{t}WcqtqBuDh%v*Yf_l`;DRb>v*KnieOG!^&y}dk!LS34h{UoE5&kj*uw~AnOvi zyneO|QSD}d;b{2@DsnkbgHo;1(B2^|LrGV3rH1iF4XX!*-?;pu5V$!6C1L7Z)0ui4gpf4kVKPm^fuv_+4|`1Ru3mVu!^(}-{vOKvTk;0 z*If1K*}Y)Ta%;H8VJiX{oRw=6j^ZqJdOz>RjGF$khiam_uCw!a2>K_8_?Q4%h0}%? z*~HuzP-Wt5!;5TC+cs1jCxk!SM=I1dN6hn2W&_y$EygwdDb^MHsGEH6x$a?Sm;EqU zV+2uVE!A}R9DZ0)Nhrh!<>v*2fgQmnf>MdoW%FooVfAu>ghCgceV(G~@#Uu<^5FUa zf|Eh{DknO!2@aniuL4lUCO{2%=0J{<_ya(v^nm#D)D1USB`2tko%43ucpe?hWX6EH zf7|qDa;#mViRqaeWi!|9q%L;IN;HnWyzPKrT&NR@SUqKVm)ZBA2y5zLa+w$~>A*F@ z#y8#eJ>MN= zG}alptn)mGl-iU5(+WDXj*|+EMY=?h#ko(*$aWByZo3ekOh>>AJ2AV@b)PU)7NN^# z+@P0JmIfGSTio5p*{2Lbyk|Cr6awVlEMzVnCa6q5$n=?%@bTmxdi!w#L7DO$*YJXz-x+*5=V z1Ru{IsNK>B`gYOY3#Imu#f;%Y>%eGd4rsz+Bo(>@t2sA6KW1@vZ6GRMyntH{C}gwI z;M6jQ4<0R8^1jEGA{znY;cp*p*K&xvR-+ z&&@0Don3m2V>j>h&!xwnc*18doV{?3PKWM;d^mGkS;}1I?5;)=pTBG?@sDQbS5Mu7 zna|wTs+I>X9;64XwtbK$n5Y-5U+v`8FpdXXwJeP%1t3e~rH7Ey=MUT1a&}Ht3-o~2 z>NOS1eob2NN}>JMyi>e>)t3qb<6rZ%8)Qjq# z)ICQ)J2<)yL_k|mDiz z9VY|>f+44;lQUwj4yv7vF+`Yagpg@8W`TegSUKUT>G{1t(G}kwm9;fw0CYhixG8Vg zE?kHmYbCTZ?$q=%FcBZd9C2;T8< zki28rv)XXarDNG!jU`!S&Wlz6 zlp>O1nzk4-!<@)f-CTqjfXF$re8wJu?C-PYs_qD1-%s+TAGLGM+0cls1RM92u?*k2 z#eKv!V&pNH-0ovfBzNtTE0NB^)O>Ud~kLy-?e@IN6_W!Q@4HLQ%`6_;O;)@ z_paG?qaZj&3E0;HkAAuLBrM1+MwV~HOsf1Vh@S0D=-bY2KHZ;8Up~uLGQ45q8)^~} zBy@h%s8)IlPXNS#z3h+fr>d^xrFGCH7{AYx1t&U`7!W42e0Tn2hslSx#!l7<0nb|FA zPOm-xdxao{HF;x7<(^e=?#>Dcug>=7jp-&i4tDg+IxYeY@O$>VnS4ETjmOX$Sp2`H z6I>F3IqGP^yy10wD9qPiufDw>Qb77`PZOY^imeIWER5%=n(9w$3PicNDY6fnKZ%O7 zNy2uEryvGM7|6O2QX%KM`>P&s?8nW6rTtTTfc)421@^NWnW!FnM;{p*xI_T+MRdQz z95y_#Ynb(N{1(+t%8!f0?m_CS`1+uq-?MRtD&r=#eX(*?VVLm9q0rvQy}UXQ*+Xv? zC~iBk&;PsV!8gcT ztrpU`{l;`*l)F0lgDiWbjwbjB4R3?mXI<$ftqJSVhc8{%xfCfATMuS2un0Aotr9o0 zg{mpfw@7K@`4$yzJl`Uqjptjmv+;bJY&KqOPr>GkEn?YxaaLcqacQ%}S-suHpUo0y z_xJ1$Z)3}5ZQDe!_2w)9lYF(wXtv6n1!VpCXBN6ezi-j;TlD;FaNnx$XM_CKy}woW zZ`J=Z2k`XQVYY7&h(xrOuxHTR!)mTYdgv{C?yt2;#LJGO+f^NTtQv#!9)Z4LRZEl? zG?mHv_j&!8{6bf|YkC;-?$;{OpFq_|1E^(5w1@%KEr0f*>EF>Cag0`}nUNotJy8%R z>RAr|?B1m3Ee`*a9&ogMQES$e60{Hxxs{F7j)LXz*P}@ThDGESi&m#92aN9K8eS6z zbw+75c(DJ`n2qyGZPHDWC{it?DUVz^0rZ??$)a2_p@nh;V)q|ln_~HoPgwpq5P@Q| zj@wu=2>zghO;EzJsT&LQ+Nu(Dwk#2;1tpyeO5%a&JQ&&qCAdNTV7wqumz!2J*19aa zOzW_EbTGl^N-v+suA(B@`&eC0$oYX~=Oex$A~wz<5`O7BQ2SFPtVYaQr1(W}7rb`C zUi5mlJ9f8aN_KBkDYgtv>lHvSuuJw_ztpMy(DPA?S@eIh=*NS4II+Xa{a@?9{%h^#A0i_B9p^sxGD5u~`!-xE2aD%$s-sJ59G!ZdLAx*{<(mIpa^<)k zh8%`CoL6U5X&h_^=>ty!2TA^VW48Xu8S_XB;HFtAp|trQaVx3@S%uW^3~Ar-qXwL& zG_nC1e>P#&mscRscI4^9GA3G0`Op<%$9Lt$=5mfwahgpPgGBQ6AW0+~OAaG6C9um$ zuK6SxaqLZBhw6z^P;31t?p6Oq>9+GD2$${S-YrQ8fB^D&`|mJ2cj?( z&S7HHAv4(%B(fHR5g7sfl^X8Aw1O*5oSGC8DO(JNqy$4Y#0rOh5&-6}HD3m+fF*f! zxnt2ruD_7A%qUaT^9rLj_3YJHd_7pGS8^PwDk;mmwYqDgRM``gpxXvXNF?^55pP`+ z*&;jCB^+njs?lwd--JrQ!NXeS9^zs$VVFghxOhDB)e4p=bkaJeNlTyYB9w*0*=^ZE zdipw@(QYdn`f`vR)gEcpcq>nw|2xKom5p~F&)MSRdTIXz{v1earaM5YQ2 zrwbti*liO31vA*H8jX8F6OsNI2#b5cDM)o%4}&-)ePmwS`T^ku`B3wEB&vIqYc{eV zODCfPNOf&Ot2is>nUHH6VI_^2x^JAYMl6J|7$aT`OF; z`l_%s>XzLr_iG+17SQC_$2rhRD^4eYFhFds`jY@7pY=(B;oUk|Fr-x`?E|r{i#%z>5E(BR$IKii8qa#+|Q&nX2+=^6ARX1 zr|;fa-e?mA#k{3Dq-jYGCnwK%kUR|=>J-cWVFk#@v)&_55F+@{n0@kOJqxqJQQ~nU z0g1;!Vy$^Sh5#B_vdYmIib9R8Iy9-qY%G+cKOBx+D^_CADK4x6a_+&|BUZz8)6!mu zRn`T_)$F|_4erZZUUS4n_#glSxWo8g!qA-mh@R{pkHk&MDINH3*1FG^1-?YJmk>d5 zlr?fnC&449^wn-Ay(2a!Mm}jxm}S%;kF>Y@@Nwmy(J9CnPL;wM` z-8g_SqpbJ^neP?Ek= z5oC)Q0xk6dV_2iGWJI zFwszAGe`%emk2l$>2PYi2-_|lz>P_UFtCygy)kYGM-2&tid0}^aRXTy_&s~Bs35ut z+)^R$cx1}{N66}^;J@bQh!lFF?;?Y$)uB=|w_|%QC?oE(b#)~Fq)mE2r0L{+Z3UYh zhXF;m_-}mF(l%m%`0p}KLc-N4k{jZUVj#c;;I?4kbYgN0(KOp@ZwRQBsd$Rn8y${J z_YlR;H=qR&BF*Y>VhOTYXJnnEWnQ>gIZ0#G2dI3OZcwa|48CN-gQK#B0815I6A0)} z?`@TcaSKLk&|xGcbhM+g$})3ld z>__TI`zF0$Op$)WU1}bRnOH0k!$?pi5J(SdrXxY9Dv=CSE9q?WZH1wr!H6@tBzlc4 zQDc~34URG_7{Bf0g^3pyV-R;l8~&ze0F=-2Tqr26e3nqKE{Ly);6}r;q%Q5mOuPjL z$poS$eQ2W$$S#Q_%#7N{jrNXv#pl)Fi67QSv#-QqO$^eGFH_8>Q znU2KoO%3Atfy$06Cf$sF_N++2G3~=`uOJH-ex=mIzpaeP3?dFs zrkgr4W`oI7#*W~qAR7FO`1%D6`~cr1U2(jcfOh@NU&l1)R=r$hqX)pD|3Id(TDs+D^ zx4(i62c{Mq6x*m7>$cXvYGwe0?kg1X)WbdI!;K91t_(L=23=stddx7C15Om%5W{-P zK_?GgwL!(qCK%_m1|Re?;Ls?G@fLiH?Z@;W1dzFp6|OTjEL8NJaxPj^YnwLF3e;Gt1>yD&l#q7Pe(T7tEo zo*E3`G6%O!Q>Z!n^8^>RKINzOuwg8G5~)gK+Xrl7l_9i%5=gtW6ZYD{Lmv(+i<;$w=iKye%dtqpOr8qf}Yr+r-hHTaR}85Rgz*rX zVKfTqGl2Tn#sz!xn`zSU@4;z9WE^fYnG(l5f#koUocZ{2ukyN8WO)*FwkKOR{a z4@8BH2kRee#)Dcl9(=W`Hy(DhsN|A9$lD&X@d(`^o5q6{eEkFj*#_A$`wlO?4ca?U zDc{Iq$Xz(@%~K0oXho*XgC@C$`)s>K_9__IB#svhBJy?NM&)m7UCpTvegmdIc2>wSl#rH2*3U z0dTK6v|ORK-STy>S6F}!p;~a9eQx!3a^eTF6Ej5!ZChftlA67#T4J zZ|#ufNM{4@L{K!eM?PZxU zg~?%bhH?L2kqaUK7ivoNRg_;u--o3Xo2EGLYooT-&BNP5!$Z9iKSolbkL+Kj?kQ{_ z3f$)3mF&WxX8bQ{Psmbkgyo|Ke1pi=S4>e95_UXc#_MT|gikV=LZ9BVAj#Dm$+YHQ zrog-j$<-Q_Yg%8CL{VadJyqJww(@O~_!=;Ia}89`;&j{us}e$Om!3%|Dik2A^Xr>SFzpyMWm^ z@c_YsEV@ZM-0QaKk7+u)UHHB(G%e!;Sb>ha8h5zpK(B>h+0+nh6yXD`=tH_L_?bG& zRRdt{agCNCLSjW{AxCi>#fqBOE&weUX;Pz4;w73=Xb{MlNcAJkkmavb;EJ(f`OS4$ zr(i5p@4Ui4$+%m?Td8eskG zua)aSToVYIJF%{huI|S%Ne{E`j%xP(AB+`qlwKSYds7*Kun1qSyQk&BxM?^TH|-yc zE8`D-YK_pS=pkXnooSZ!9RY^7LVOUEtIIkEy(Y@Qd}iYhbgBJfZQ%>O6Ux}8;Zfrv zy#&#aYE35)+sX;lBOz#BDQ7`n$x{I~C(#E$(F0x)p9hCHD^+IVvoBsngyKWn9uE(u zY6Z~-y&-l@kiISUu)7$ZW6*Pg!@IE$ z=Fvq-^Br&f4dF&4b1VN)Pr9^s3F3*1obfq6bI(QinJo$-Sg5MdFN`*u73EECoV_nQG@mWl0gq?vP#%zyd1#n{LFqO8?&DuEBcSTY0 zj?etwpVa4&s@sm`L(AcjvGw$2FmEzOq@;nN9u10O?s&L=i3)YX89mfV$+a0~*CRZr zkztl^oUh7%MUJx*X%a`GME`JWUZV|cC3wyM*9$uoLNBnB^cQKH+0&d|^?}Z)$2wo}uE9Xw;Clpn-f8dY9s4vY`A*gvacXr;FyEX-I%dC^&l} z8Bru=R?CJ$T>+Wtf);980>(64FV&}Kr5+Xandt>j!fD3v64!u*zy<)~Wpx3DJYEEC z5ZY44G6RiLKXzHL#b{A0odGRsU*wcM6?@bd7&CcGEw1N6qxR8cX*Cgql;Frr^H0en zTihf`2>nL(V{P_wSqJUCS&MXTM3#4@BH7}Kh3v)HIK?vV2C0W)syUI41Oa)?q6u%- z10V>ch^%eRV0_x(_G)C6Fk5l$6}4@W@bEA;Dfq{*q)(+prIu)2EtVi1c)Edn%IXG% zt9P)61~+_J`O7Q>Gd8wHEnx)2H-Ke!g3*YHZCPQ!0ZQdSF$R@zT6wKFuW_(~ zXt}|Rs$CjmYkGfzG^RfafTur097W;F%JkN{LYuro_to1&nKav&#IWT8xKVR)X+L~h z!1n|%0=Cp@waKxhPOoJYnoQE@0JuPtG~!nC6M!XyPi~B4E8|P|_+P30F&BPq@@VEs zig!+kbtj%>DAgmuVaS;F^e)TZIUJ86hD9lG^39Bg$rPNwqIc-VG!{Zm zqZ{jk_Wm&pEDwa9nSn!O!{5qJT$NPJz`D%9dTCn?n1MFARP|VX%#+LvG)tb8CAG`! z0}RX8gc*pmz}_c1CfC*jInGKW(62&$&lF69DVQwN$*L*H3o`}vLTKT+ZwitEdNFS4 zXc58ii44P}1iqcfFr*}NDc$AfT9tBuKDm<-*!y(4V)Cq36>j&Q z;=R6rYP@gFLm2zeH3{|QD(>au7t&IU=W{#LvS_I5PmkqrfgUZa42!S-{ zBs9UWSto^8-iB1>b}T!4C-Y%%RvjfkKXkO0>Yc4VT89mn-eHLl_XUav%G&63q^<&D zlvmvaFcqE3M`RvyS!^NNIAH)uSt0Uqn5%RpCy~K z=637@wJ*xvg2Gue-!~rf>6tnukd{wZLiv@G!DG*mkN{fUGNVU~GcDq7mHmWBm+(>h zOa+k#GTZ#v3AJw|qGVoHA>s*p@1|I`0k%>?<$te@nu*Pzz&F$?dG%bNq!o8HK z)<^HN3wUP@D_Zq(ciRLbTijrr$La{nP1cDd~5a>EQXEVJ1dmYIN@%%+Smn?m3M zcV*y0a4QO6xkE7T%-5zOByIBxfyi>>8}VSXs$1%Eo9_dO1duz;-?2Kuf{_?ZAx%bA zwnQeM#;mP=prZtj_e55T;1sg5D@cV+uI|ezG7-%#M6pJwnT|_HlA`G92tIhaG9#5T zFN~sVtjyn&Uu11drCEz5W@q>qe0Y4yCh7ESSa`722GdvVz!ly#!1>5nvIYMJfszxr zKZ)eV%Qm5~MkbKp50gjjK9QQw3XhLy1Tz3c8MR=sd?kglCy?NlGA>uZrt+R7Y$j+l z*dDV?8IGg9Q{i6b2+XRbe<7VA@pS-#Iy9jg(U66K9nnyR6YFfbW2-OFqOmEhF;%^) zfO?h0m}&)A98^|MgXM^h;J0mWK_0cC`kTqC{s0P>swy|Tn@~_BC$+;`#8d~54t$AC zW_B4uFRrNaH6ER`=g~nO%bZ6pNR_jqX{y}ZJER~wjN&lf5E!P)89=yM36kbG;gZSf ze>rs7Q|0(;lcKqjv-Bf@(f8``!c@6l&<}I$ma5uPq`c!Y1xp3xP2PrDg02`$J5XnM zZ+olBWu&DDEgzO*Bhn!Fb{eME(LIu=X66q|qS|ba?Bz_+Z<4)qXb9nejs|~m!vqs+$%l$934^pII=Q+n~Io3)HY4R_A4@=#;g`CHb6ZrcYcF$=6FMokJ57j^J4 z*lOAsW?$dOFbdF3^D*FF1}srSQ>vYCP=)}7zjwT$$+di99Hkf>4E5G1jRpt9_$UL5 znv*Y_2>^Gaecj%NR0i&veoK!ayrl-YNN9^vZyHB&K0Oi)QH}&vT|t7X#T%$N zwjvkt>XTtYSOmAc6_oOq+m>|nz`&AgZ1|HiM*tyv!GJtcq7%7>+BWf`mQXA29darf zSXiYZX<|8yOhbx_eWR>9v0wyqcKC21ARHGiRs79*0MrM7U)MG{3zn`Je0DKAK);{} zVl->LTv)8jYofjb*O*g@jLccqj%;_TjBd!h`G4b=m3GvAMGgcrI|^PRj#HMGEvB

%Pr<*-oxZS38YZQ{21+UD_sTl45D_3aeRYc%Oi z_Hd?sy3h}p#jrKEtYMXbv+nqa+-7g(TLeWGQOSU49_lGJK-bCdpMWH(N@R-0BGnvJ zzGt&=G&48y7l%rTd7PQ%r!~W=OjNWyYZV%?A<`j=k@m1|gi~8$wDa@OuZB|{vcP=P z{)MP-B-C7$X;Y*!w>e@|LqK+FWuNj8{TVotG88qOZrD6^So3u1X__}6dTUjV1ak}; zLb1PeXerDKIuvLkFNV6Qk&+DdPHO-YLxyP@&Cm@Q!Pi^a8!vuwhb&QBhK%aoco6P; z;}b)MGK=Dc46;)z$iONdL`Dc7GGuJnd~ir=grBB)Lq@;ja2=!pNnzhu4==$!P{&~o zVhmb|Xat(Umu7ArG%Ig;lbgR#4nLnkLRJ`{Sg5JU$_PoTuZE+N$ow=(BOk4^`Vd>S z41!>%v<-|PKoBL?tm?!|M6L1|oMLqPYqwV3238AEba1p3QN%jCh%y<2*{a@4Fxd+= zt72yK32F?q&~r=2j;opb&odc7fX%_nLt23!5e7*dvd#HMKbSJ0jG2P?Ge{j=N*ZOY z+E+^5OQbiswJM_W*$p@9mmI_o9!_!jces85EafUsy7GX-#3jd@w) z&hJ!>my|W`{!Z0+ZCT@W->DjJhMGXYw=j7kv6CE(Or1`s9V%6YaIhT+1HEuYZu9F}@F&Tovu0Il1nLd2&@zyS zluZMc3eA~C){viFVQjNjmHhunlR^7Jk))w8_)yKGn8wP0Mzd-xj9EJrVI(u`qzb|j z6!=*TdA84lJ&2A;3Fk4>_(K|DcF)=vpu(a1-V#$2;+K*f}*C87-Iy{WtwF552Rpr&G7Uau>&bi6&NE;?Bc`1`H?urV^oAAGc@|Aak_$K+2v;~?DosGewp;k&Dr&; zmzmT){;A!f&{D;I3zbNI^L-VF`*ItQVy7YwWwA`cRrbTmS}CpdgOiqyLuq9a8@E-o zoMK=iQ5EBZWqv_1%I_RWKOIWpxHkFg8FneEhA%S^qACnRK|7S7mPtwKg z3)ir6$26?Br;F9dWRiaW4_7NV1B-i!o+v)?RSiQMxmRTP1BzzYVViO+>@kQhwK+LE zP>8V3v9)!AeDUO0x$|%U6?WH(?wBQr2&ok70qQExaF)e_W->ntA7!8eso>1Rg{UKe#`MGnCKHaWNj2vaVc~yxQ&xP^v9ItW zc3I?Ov)>&oBbO4eB5B2P^?^^6IBb_T4EAza3Q%9u;+WRDuv`CHefhgX##ZJ~LUm8%JZD6BZ z^Ro1TBeNI0mCOqvtz%v>d`adiCyr+AIj^s$Ykb$DYebC;7H}uo5wEl@ zrph?3PuEy%M%PM)t|P_iVqgm!Sjx_8!l9#RYzNXRj|ldvVqn!X&k8`D^4~aA22#zT&OCwZ50FLZ?B&znkI9QP<*27@eA!4 zi37lrK_>ZDS2tO*37%OE!U_u!YHoOj??Eh4Q@qmE4i6UP3+QpSl_rx3E{>8MBynMd zLZ60-kIk~HEdm>o6BmYv@mjXh!s@d?my%r)=9Y?=!#$v`P=aN9&0hcxn&n^`vCLND z2W`z4GU7V}Aod#X9EV)7S*HScq(W=@BXbL-J&mdWn${HkplKXXiEM zXreG%1cmXpXxuD?=rS9x85r*w$z0#fFO}DVzgPB03|)?k|15;WD;g7WeaXSbu(Terzu}D zo9J)?m+VYhYz%@{tTk*MQW<6#SD$s`3Md2sPY#f1w|JcT_(@V2RMxQcY6(oKfu+zweUCh;{3xXN z+f7~9Vl`KF@9o`vfIHj#|5$nRA#OlpR6J1LP!XtITq-`V1EH7oZZ$`S((e~z>JVj8 zfCY5PlH6hyp;xS0%d#wrZ+y+5hpZ(UliL`x_*O-L2LUMsz=3vHUCE@H26Uu51<^)z zC6ZiX0R2)t_#}2+N~(+$+%)D9!{;xTuQ}}z*thC~VZ6q#MdYKVv@Dv>=D=wz`7QgH zVA}kYCX=egj)Itx1Z1ks3UpnPP5>yPfG84W40CYlNwBDQi_sg^3z>`hJpv zF`!_e!OS(a!4{RR)ia{Q(x-?sy$NF?le@QScp zzTBlE{@v@VCPG<28*Tf?Ta)4`BPB5jcgBM#ijp``$4(ofn3R!p`VixaQZ-;hGm=e# zE+WGq4}6--k(SqP#j35{rs*!m3=NCoojVN!Ajw>2xOa#-i`BAJJ`aqyHvP3@Y(=qX z;9`1g&RB*oFf79`Q|!VJF1`$B!+XF*ewkcC#^;UI!KLn`S3t1jN2@;2H>25lwKM*@ z+NBa58a@X?c<_CIp=-2&1ZqPV3ZbKSbv^P8P9EVa$kcjflq}}uph|`54101z1g_TyD^B%zY%D^C!ntBnAryLh%yGv zHqk9KE7}caTgi|cH!eXE%r=87c<&LaGTR*cbejHdgI;93=p@Qba-=}ml5YqWn@1tP zpfj6R_0+mA5ErseUMbfcjd6G}Qj5*N44g@=VHZz2Xb9AfDbNW$N^Ke0kz)xlC0ds# zUdtB;smerQ=CzoRidjqP)zltF)X8;Vk{!b4TeM;^EQ_8g*4Rk02lZ1tTe*iMrbA%w zQ1NiMA5p5w=;9%6%i2Xy;jEs#6oz>cI*j45{hJs@G z5L3-9Mr;g0LJS$gk&BDQv^OV;%Q;a3-3>SvH7M>_#2zpT6abhsI2N_oU=A4b!^qib z@>vmPUyr>sD?;;Vyn>5i zSjw8Lnia)jFEabA$fT>!ir~>OkcLJX7vOKB#zpZ~(9mvQvDTSE!i*QvS(eKiuAsU>hQUQ@bv^wHeq;*n(0QK={Tx1Z#eN2PwEfBRW(c~t7B`?p`@mPe(2zJL2=Zh2JdNong5B!xqDs{Dg`w+K0D)qts?c2HKQK=92Z{N)=k4k-K|MtDy z@~G5D`nMn8mPe(&zkmB7Zh2JdWBuEYa?7JqKit3lIJZ11^+f;nlic#C)KBzpKg%tT zO8s>I_KV!|sMOE*Z@8EBw@i8ikFK5HJ~zsSRv-W=TG0U~<`;(R1tN)sTMDa3q#{>b%@`@p%IxtqSGtU6hLSM4%`nVNDcf=ps_q{l7vjGL(D zow1G7T4iST+D3dZ@!-j)d!A(hBhHp$#!#(7*ZtET-~6*0(!V}2b`*u zx9Hh zlf)8?_ZR7h+{1OCX)J=-R&^}f5ZSavF|5{Tsj0oei@r%tlQPLGP+`L8JGZ>3+T*Ik z)&*TILqq~$V}qQ2)tG7M2rli)A#}xUa!n?4l^oZ06I0%7wCRB;tK1Nyr5p0HbVI9H znN7&yqfcY6BEbxFaFgC2#TWmi~gGCK2gbH=NF@+%3j%hv6@VaT97KOxc zn&uhsn(_zJBajp(3S?V)%6h&tPZQ2;>R6cvQm3d)MSNnj0YC<~mJ1b+gNqk(gF0}x zn$OoJZm8Fdr+z(x6S2{f^r?ugocd`+u&iNl>Svf!v}T{q{7@cumq2G}Z&lFg49)IS zKij5dCB-W0LV8%^I{#H*`7!_jdGWJOIEXT`mkLv_~q#kg~`(3F8jxOkyYz2Q5eWPyoyGOr7&Gz1$E5E}sg? z5RD;j3{j(Za8U9mplO90q8x)p%r~!PyLG;KNUQ3bU%PClwJhqcX%XuTmhCFOc@QD0 z;&g7eL+#Q`Od?2J;RVwo#E^IoNfK2iZ;UIXTu$D!q8BHV5Et2e`Mc+Hmljwzc@u#_ zbx65#@>X)DBm*uXm#^2JlNA|&eiVm_Je+2l#Y50@bA;-A+f^`o{Zvv&EbMt9NSUSL&IkS*o|wOS9~OG|tMiwRg_|lP35`rlBH7m{D*?h*=M_CJP=IrTdzz zkye4vMrX(r`*loY$)jEv&q+jU)RIXg6zUblRlE%xD@zp)73~LLF}YW$a2n-P!0S?YejAZMTm1)#)fww_F0sd z`OTE+65)i?&H#l<)ExGaUDzZ5%9HF3F#&R*M!tHBVv2kc&Hf+G!=V2Jcg8SusuP4` zXi%1c+*B>AS+uzNhBrQN?~-4ZB{jbJH?Ny3t5&Po-r8rrtsLl85t zAZTPx+BQ*(c0d_#)D`vJe*#qEdub~m>l_1kN?{kY%4 zki{qc_GWHB>$i7s`$fNfEw^9x+dH}as^1>w_UnGT$n8_PiH3V^AcU3TZ{5{0sen0? zQU6gK=3y;(Weeh;aGzuJ*ummLwib(Duc-=0^=nCkV@+bbUIH5-8Nvh5F;^#-kc6R( zuvLV#ajvD~W&yWp^UcDo%u`!=iE|_n;Oz@i#kRUbU1HNH`|HFb6(z18H{{of2N_&Z z*Qc2xrGp1*>WPzablK(?A^RI-L=PAaAXyq@>kC>UZ9Z7D9Z&R|4ndSJFZdp|PE&+P zT4P40NM;!GmLm2&XT!w-`KMuFmL_fE86EK|y+W%=hc0TD5YgTZ57jfVK3?8~F$`=G z+z8z;!V}6Sz%jkDXM?h=()O7GI=}QC4%_${sRd<&z^2gkMu z+%XrdKy_1#lex4LFJ=v|-E5r)@4aBAbv}u>qt2Dse3m#>1eo$ehuDY5!wO-Z%?j<( zm4OZ+uRNQ{T7WC9(QZi25ky3+ke}tJTKqp0=eCt%+tG>V$H{5@MOqc&?24MLh!Jxt zF=|7hbI<%x3+O#X-CYvJ#q;DfC8l4CNkbAVL)!1lS^E7l#q)Hi5_tfYS$BdHkBc?hfoZBoo z9rQZlT%$W7>f*v%3#fUec*`Gfl83Ji4?(;T?TAk7&`ZY-+1Vc44d7S1>{SuPrK*O@ zsvs%4WYw5LVa)6(rQ#wWw6ksnrMg4ky)y>?O*~3e(1Ns>^jormjuTm8O@yR$Wrl-| z-$(Ca+F)I0#^kxtV8+lG0>!Yr;Us{z1Vk&AWQLTeN?nX0XbP)sTGJ{L1EXe!iq#WQ zw?*Vf9?x38>mS^f6SxOSD?9YN2fJk*`}! z6fd2#TrFRK?mA|lQe&t!wb~YVQVG4S0sj34~`p% zL&#;Q0g-nT$k>D%YM+^6&@eVDD+@oqgfJcvX=q8FjVmLWPE$O+|7hmlM6(muW@C*p zEQzuH->7a`$nd{xY)H%XV>KR!qck2H8yTzXJ<$k*{{bmD4U%glij%Z9Tpt2f?R~Lr zEuf%2_UyF@xOzOt2f&tPc~+V7ve*-thI zBS(nYDeR<=p<)EFLAS?7GY%6NhjH86^Jep{9C$U$F>lC3u+Bo+pL||L$-cA~IXHTY zg@R5%dSm0XXT|nJ9IBs>?}_s5KhfT<9>itAF@^-rZ7%6hIrxiFDjxql#7nh&UYDdd zG-Z3Td~fG$eMzkeCgy_u*40dFyAD4+-hmt5ql}XNw=jRHc2B8NazqPTG=H{c7#=YfWj=m!strqYnPdF_S7gXo1MR&QP^&ZG+q8A_A)T+w z2KJ*ui_aQ`?(KV`S9aSChRgM+9kOm z{f}uv8bMEWt<{Qgdjc0eH#`X);7R!N%KZ?AhEAp1%0d5Bt+)Y<&H61Q*_R1%``Wv= zXg;Z(lRya3h?o&L(%FIak%HQ8Ngq(ik`mzTRqfF(qO1;CkIW*5IQ1o7Vq=^#GJt+! z>?r7PrO|{Ekb6c$(pNp8B~_LMIU}mFn?&@Wy3BwYg;Q>Jxl_;Dn+bww59^sj8aHwJ zHLzRHZD$)c10{C@mZ*MpwPsZ-Wiv2FY6rV9AN72Bna@FxvNqT>k}-&kTM<%UHKK<_ z)+8cx(X531$1Yr9Lz~wY4H>zVAT~@FO`4(tz$XW)pjPP((6YWDu}(2o8%vA2XdrmV z@+}yZS+*@QlNxK&phIs(&0nZ(&$2x>{{=d=5<>dQ0R zTr|%9I89>=*7*KJMYkfp1_f^U#LLF)#HdMJ1nx+KVXkOY`7>}8$^&4QMvmD6mm~h3 zE|+AfMC8*{_NcPK?3QhKMk_I~gqG$;^14W}M0riQ{0QgL2HFTRh?@y{bERk=wdN6B zPt&}WFc{#2r_EbxD63pMV!%!?$uL_{r=ToLM~*<)8`WTTn$R# zRwF~7)aTLrq~zcBg=j{uhoo!gk?pBH*jC0s5|?gRj9r1dL-uqa`x}@)KtWWk6|g;u zUEK7;18wdZedGH~ZI=~{t}o77`g zu=BDv$L^RgUqfQP218tW3)9%u6WI820mGYaI6yM2J^D(9g&D3UneAPcD+cq<-nSB% z36al?Q4)jPuh%?{44?@ZFhj7Vl>_gfrYrjD+c}^P@f49gYW`deKF+d7x20S8L`-@= zlfrYE6h2lHfakVR79!fXz2jfIevjW}hW+N^YbehNP1Q}U+i_4*>;FS){Yk0y3El;@ zj%-6H6#rdCK;XG@^`cmdhp>dl`M~VC#i~Mm*bCY^2WOeJw(5W1_*V3$J^lMv0(c!6 zgOJxDXvG`9KyyF&1)8IWd3+buD*30B{4+`(Mvmp+YBQvbQ;hQ)u@+s-qW(E}v}eU{rU6$K8|fY3)Ea;O-jLpiXF(@uGdT z`|}-n{H}b*uRQWDb$!Pp+_EK#0W&a&=cGYX#AXo>XCKJV!A@XjxEb$uDBNhV8{XnO z97V#M${L}_g-2NlEH0iA+l>|wlxA_8>@mevg0?3d7E^94A2*+(44wElu@(cz8Ux1p z=>PUBl`b$FlW-r+x6FFD=9ql9Jq%7Q1**WRbT5^-K3N!Nx#>&m9r@7?_t35t!5?^Bi54TE7eIXog91RGExKX+3ME zXdHo5IFfEt@u$%~{7w4$$A}Elf=XuFjiSM7M$zCzZN^4H{YA_+GdQGmeqsH{8^>B( z=_zrC0ikwE%{J2WA=AR!^7EJSt#jlMiraKU2Xg=v)+{S0p(i7XRTsZ9OzMG7mjZUh zf~?EO{K^;&n5kAm-CLVrhioz|q2Gf%_3TQn0gWc|ukD-YeENqLAKz@KF!uqhu}q>OORxrObmdA8TgMbhUrExiB6*u?AP4fVkElQ(3o z3!o%CEJxbg_P3tJj3CRm?NeTt#7|yd=KaR?+7tS$o+N$zdMUrnh{_Azg$zY?J*O0( zI^Qwh(YheZxAOWq2$_r=7jV@@)o?Ziu1gF4bnzPBMG<}8YX}Z-YWUXA!8FjnVZ#)q zF#-gnkqd`dn`f4SLI5ZmEUV$#V2HDFh==+^?5J)J*$`6-Ck=yUghaJ%nd1!b>l-$0P$b@l#8*W6O(lh|i@;_&|HD2IMhD&l(~jj-7_>A>Oe? zq`GKFobCStdxa_y6Vj@Z3c!*ACFid&U&X)7NrnZU!T=%gif8d8oai+L5Dt1zidUccM^>G6y*YG=nl%@Ht|f zSvqx@{fB6Rv?Z#?_9B4;A~zQiz+k2tJ}1yAl(fT8wQ?UoXP|_=3CG?94JI`2UvWuA z<`|+>E)2l$*g`i8J_Nq|5=!hSMU*>!8|w-}dzx>V33w3KVZ!#&E^}wI?8j6bK)JeM zW0YQj%4|Qcc`4_JeJWQ-2sqd>Q*0>>ng)Z{(BPG{XY>?|8oqbait=-J)`1=x*Z#Jg zL4Wh+IC*_<)*b!pcCzQn2iqwVs7*@~tIg;%)@pu`L;rc>BKnw}8gXjVk=#(Qm|o|vx| zckP>3kH4vO1U`BF10QQe*eltuC6S`*XaL`5d2S{qb)o(LVdW1aO;Zvw94EBqV;00l z>z)f6QlTlI)htb)ZP&UIIqeVhbbv~~c^Qcvq;&T!49mP{$h*}Z%_^lJ+0ynp(VMqIo zhKWj8N#S2JZ82MVJX2+ebJhN1#_}4^bT`6vsz`rX4sQImFkFU zR%==EBVX~JKmOY1G~a3dd`(VxHhbW8<6u#dG_edIK)6?`G1*x6x8&D&yIxplRg zh$$ZP5kpbz?0$JM)QDDf$;uj_A{Y8;8l`lm`6fQ-sl`;<+lQZtbj#sWQ5$}|7y&=D2Tx&Jj{1M(37P3P94Djy?{lA&L}{P ztR)aa;WWEz*Jc3;NQ_psE>wwfvjq}(n6E_Ls<{^=A<8Pi7a?KWg*VN6h6H$F-`M2P zDyK5NTT`1N|Mn9}CTzE$H^!#rF^IymM2+^rXpuFxuiY?bGP-nGLrkMB?PRmIW?B3` z{x5yKiYl~#_buk+fhpB1R=ngB5&K!#vc-UFy+kJ>a8WCe>m@o2Vu!M68>(O;(V~}u zrX6K33+tmgw-$t%i;rkwd;&m)YtPWL1)cyN4*6x^k;!1-Sm_NqZ9g;x|bnQ5TL#x5!AYE#jIU}-d#B_n`gACCI zC>v}Gx27?=HfzHO=Kg6+=(FmwG9kvg$oEn9bu&d>TV5e1TeK^sUlLkQii`Q0OpNx( z3T5FES{$V`dZt(A1JGEUC5xV9?yI9@Hdu8T9PG~%sX)6)+ zf^0m$E2PVnC_$DM_1>$bcroi5#b;vERwi=DyV~+ths(A9mq}X{jg@{Dn5L>5g>7uhKbm`d?y7Fuaz4UAf zU3WHx{w;d#%+dF|XH`mTNN3*G|9)1b{_w0y5o~uB5I%lZrM`StrT+A+O8xm+m9hh# zHxhNHWUVL9sx58aICI+g+p{Y5MpX2fx5a*xvncgbXI1KF&Z^Yg&#KhVpH-=MpH->% zoK>k`KdVyjKdVw7IIB|s{H#iS=&VZp_F0wsowF)+;;c%2{H#j-?pc-kG^J{?+iLrn zMJE`PZr_nGx34`)0GORphlw`gb{%tR3^a^8Zt_vh3z*&F7a91IL8$+*l3B$X?d>>X zjzB!DPm^pe5^Kl2f@1(ie0=Du9*VDcCG$hRXy%P6O+o z_NQQp3SJyB3ibmmjBiX@%^>A88;kVJ+=Zz__G+8%%Y6}po^&!HbMtRf3neCnYLer{ z1OHc~pC*yE-!^7{pxV)v(Z|@VHbUPt>tT|k2Ci4H;^rIhb`;|?`tmK-cbKkdUYz(W zInl=-)aMjT+VmD+$(C&ez~YNLRU)FNRQ0R1?1OP!*EFO**98%g?-7i=Li)r!PH`wg z70a|-XuDWoCarI{B>K_;{mYY=+Nl^MG-o*J6h{*dM}&j6n_pppj(7v z)2`+tOu}pa$zEP^l3w#yYVyLwVXG*2c(EvJv)=3$c~D5R$rsQ8Omwp*mx7Oqfe$b} zP}95?WT!sOnYpX;Dr>&aNA06wu0LGP^%X5-$CQuQBw9|Sx>}=sq8vGHOQ-b{iNi)G zo8SNkHw1YQgm2ks$R^Yo!vulK$I*O0iQzRfApjl%%!G@KLf#W-h1@LTN%CXbB728zPz!AJbH*mXgLIwUaOJNP2 z^>aHat$e4L5#=GYaM&|3-`4;(?1N`G;*2mEwN?H~LLp8DQ$f@++6EPxl>;z70- z03_NYwt)w56KeKdNKqZ`FOyR+k7l=wmp33D6m{zphWNpWZ;^aUg-7J7$p?y94b)9J z1FI~RGG`aB;+u2tfg~4k2y$1Ic~r9NezQyPHV&X2Nevf;K;qqDJK`22SU92p3{&{#I=};USEqx?#?~l9G{68YdDNL3xU8 z0F}pI5aH_7%nsV@%P}JfEmt^^p;oo}Xn;Y5FjTa};7E#JVR!|{0hsQCdl7t&3+gX>|pXIZoJCp}e=562OULS2-oYTzbX$9#uU6}C0dL}S^< z&?SOktgqmTV+BD%$+5o^BgKn_r(shu;Qrrdr4$kaHO_5ghQ921K>~oCZTrPTPDc#D& zY5F-DlzeODHh$3NZ`QIe2I}uQ;9}9)a7q1iOnO9A8%T;h&?#I`g1Ii87Nv3|6reri zwg6GU9%}~=K7nFr{v#=C^S_g<=p*8Zc)h~8KB7`YfB}=M+2DYe;ue5no3-js#sK|i zM~SIEZhHNfJTSw;jG*l2lVr$uqbG2;otk2YbYif;>olDJaZ>CgQmgsTIq(;n5c~Sg z3)9{0p*^dwXKC<{KJbfQ|HRMz`oGg&5^(%;UlFp4|3c^D<_9gfiS75|ggtNQWqqYr zc8Q$S;6_OCx}}#{*3((AY_6D~JzTH-t@#wQg$>Vc3O8EXoYH4d;w^(+(+2Q7)xxnkQy?8RD@0OVcygPA=`N0{1wq~KBLF$oDAbq3uj~KDfi1RQIQUo zFyx2=g&c6k5tHnMC;*aAv5_p!Dq=H}IQ5DHS&NVJwXY#cZ~~k!Fd(uS6ZMLfNprf( z@ow>IZd*SG45LjLr?(MsBq)4a;UDFXw=PUl59T zF1w>=%YSvU6QG_?YXXS|ydSuT<>4>Pz(tp-be8?g7{JxWRRT@fZPDG5uB^anOP#%@ zKt6j+q^bP_4n+uvLwd zG+L6V3|ie;$1YH+vyNSK92*tqy1Xpjsmn{F=Yvtici>8@FqR=?6Gb^(z^%5igGF~u z%{~p!G$Q-Vfv77){%gMu*(;g1Df1`EJPJ$re_G7lIgvz)Qd_$0|M($dyprwbL_d(vXqnh0OAWSV7->|~U(8%1Z<;)cvi7TB6;P2gu_ zw@ynK=yjI;D@{2-SE%RIEUx*pRZ4Cb64q@=n;veAVFu-ZtsXl)YS?p#o8w{3=&kKz zA9Gx=6hO$hrUP+t6< z#41LCStLjr&jo@-%Is>%wo^pbr&Q;Yt~!b6hn?9%6~)=b0u{>*V~v{;z9!3kbA?Y7 zvh~*`HQ1o+4FLjKAG=HQxlce3$6NDZAS(%fRlgygIqk@20+5=IM?X}q-D_(7bZJ9~z$e@mZb)!$6m7t++RbR?m4qcR5uMW#3n3V+Kc0rI(mYkw|Q21+^7w)aPHrw&Kigu2x8u4bEi4HO?DLmWu}dL!7zA3}8_ z=qhcH=%2^U&g-|q_XSHkTE{i?o3@r*|F4IsXGdfspr^@CH*tBBlsBo}3^5SRDC1K1 z%aC7&{W9X0hF?ax&@<^>Xp9NsMM?A#YR{vKlC2*JuK=|7Dtq|OXGO*8NcR5@UAZNS z?&sI6MfNww{jc&<`iV-qp1;EH+Dg9qIZ>qi7jf15S8&}G-s^esf+(7-JRj%%y_M(B z^Za1t`I49?Kh>3_lX^Of>%I&ZMOvGWJt|N5He zmv0+<|6h6DRqx~Ft^9y!H(Q7MkzZ<+g zQmKFZIfHn*kLME=xL$mr!}Z^|e!f!f9r<8ASGS_*8k z?p15x`wGvGSMq<0=iQa(zkC7X7M?Y3`SZM;!(8vJq+kAgr=OQ|Rl9HITE5rwZt5wY zRnJRydA@tNmh~&&XL+u+|JyuQ%Y8kRd%;EYztaAFJgeS!U+MKe#dX_o9}mC5^RDo$ ze7_&^eU9r$CEuT1MVZR;U-3Lyd4BHIgY|xk_je9Q#hW%|e>;4Fveh3ZY81sJCj4|Q zf80jfc$aeJV(*nlKmCdGG`Q-Z%9Qz(R^FHI1f0_KCl1x~2tU=OYni{n{U|@>)mjJ_ zjJqf*)74JKZ;W5HopGKg_-*1>w#ltgd6{47)wY^EtF00i)vbHPzWs^A%6j!qWpx!S z3{HeFvGS^aD?h!{-{DYBun10-Q$0^tZiEggpWsqoR8DoAtXw$`-=ICgESOYQ<@CH! zIRuvBnoINq<=&d(ki0)MJP zSuPG&%+lyZ{L1X*Rqxfb{+^(@vU=selpmvNf1lu8S?0y0sP5hTF5{U=`Z7_^3}4}@%(oxX+Olh{_db`Szomc)p0$)Nqz;t zJ^V^hcbGC|{i^o{e)_wU^eU`n{s&1H+^SPB+{jOVtE883mGHciw6a~L?X{fXpY#%r z@_qTdk32W=yP4nqkYBhFd1{P=d;OiD4&hkvmN?dZ6;Eq%d<*aO_i4%sZo#ALt^D-& zc&Jk_yqsS-Znts278fNxo}f$#FSiC~`A&*heNelCTXg$&2&Wzuk6e(&xAOs<3$jrO zTru6l*YY_Vl9?}j>4L1TO1>2ppS&#t$eyjOZkA5N#{Y{eZ z4z91{r@Z>RBc#2Gd!^le)uHax!G+7OEml^#({~+R>Ad3L%GBY`q3*)`Yr0eO%Xcqy zkL)e8UDnUG{^b?Bdv(0>=+ykm^p8!gOmA4rHNA|>H+Bv#9O`s?EnI%}x_A5MS32Fh zrw(>1nO@ylI@+O$skvVEwKZLF&B-$@->@*h(p{LFtG0aY9o^2M>4Sp#)dvrEj&yG9 z%&km?YWGjy{^|o)T(dUIk94ONEywiyJw1%LFc2WJM|o~h-|_Y}IzH|o_I+?9iQ zrj++>VD0j2HiGLJ0OZOIhy693dv91+=pI_WW1+jEA%6xSyXxwVP=q{LUg=Iv&vy>p zc64rK`i`mY6w+mG;hyf)k!JwPD|c@MnbU}Sag~@3G`8}2_ zrwP?FEoM#=%IMzJVz7=AKTsCl-Rp?wJ#pKfQ5y^*Zy)O`yI# zeZ$oJ!u<5Xsk!MN3#Qtj)mXJ(PHi-PXWKe6Td8NseJ6nUHf)tMgSuzoJ=0L1sjz;A z;eC3!{R{(mW@PZaCEn8%L}%88?=2;tZWq2U$@(;b|30Dd(}ebl%lm4}HOxu1))m+G zvsPU)>kItd`Q@XFi_EGzhw{!mE*Uga&P4w3!l6r}>dSk4et%!Sg1_O?X#f1;(Up99 zIiFux$)_l>eE8C6d3Jj7z*Ol^I>5Zh-AJV);SY=bmn-bEY_2+v*vjrP}-N+BkljFrL=XU2e2c8Q{`MaAa{#lzfHp zNacNxUQ4#yli)W5caa-Ga7B)taYDqEwiEfEGqu#|3Sd?=4jI>uhY@tC_bl=vF_3s z;-4%UQV|s_zC^y5{7-P*Ms>=sCE+A$Xql#=#Ts7!;vbQ1EGmAD>$zGYwUC3TVYj;H z-Di|%f-03~oGcu6#9u?JrnYv0^Qo8*^z?c5`m;belvSrH_7RJal zQ9fCQMpV3kkB120w{ksK3$wO>?a$%%U&Kusf^Zad% z(TQhY_`K)7>5V_}{EIHW?(h82^*7vf%Wbdy(ZBb<{QZCM4-ecqb?{Kq)LeeoeJh=O*;Y^vcA^^>j^MY4lvRDbmvg?ip5UXmU^rl4@ag~FeE4g!5uuDi$8PN<-7HlW3V!XI-S|*hVH`h@{102)LcF{JwHqNsY5SXn5U5S(5sGaEPH9# zpk{D}dw8C%3unUV3PX@Db~@b(>Q<(Y0N%pUmBGw+A6*8MH!m!km30V_)O$EOkDYYz zut8cJIz+|Gh_Rdk(Vp(YY-c`SoL=li`(ONuFu3J-gg!7LQ(i3EgDjb4IIVA8D1$!q z$IsIP3G@eX|1uU|{}Jc>iX+01zW3hFL5M30eYk0SeRiwc%iROqX=(4)UYkci>-bqhzS zeBt21quuD$D^oC_EN1v&0o`Il$Wqy{>4l@qIb+-rvkY+7!6`H^S~1#pblwR`<)^V0 zSg3@)ZL~1Im#1JE7=fN^44rBA!>B9McTZDo7X~>-?i+oq-E3#+qBC_w9Wh4hV=Ckl zZHh7jlX>=Kk+N~wa)kPy%@0p4=XZ4&jpYt~q76**m4$-~b7B02(Ey<{e1CLAw|DV+ zS(pigwhT@?D*(E@GCl9&C5#6R2MWdRu@3jgrq|}{Siru=x^EIB)Yf}#9q&=ZKypt> zMz1yyyb=}Yzqx(jsaO2&sUwmhgLzBd+~}nVf`F!|%s2?!?VXj^Ep%r!$ujmYpR4S@ zk$jo=a#e9Mb(hWXG|+b)z58y+VcBG9f51bJY3rbiEQT?p395b~zD(<7XC5}W8~K_$ zhV$jaM^_BazE+r;gS-yir$JuqvLeQyRRmu(70y5r80#LMnm>fzc@^{uv-E}7D~~Rq z3*4|Nss7M3w$0rON9PYkKVrjc?sOqfgHkx;FgcK%*1kwR@WUq4fo}z)=ms4_i`oO`tspaKriGfU)T|@P2b1beL z)=(W-K-lDWqXv(5Wg6##Wa_{@os|Rk%q`qCHMe}=?y2RKT`!CfOGX!zVw6Jhe71v1 zM7^vl)-Um6o$i9P9ageh%u%#x{gV|chpKbH$)byz?%cbGO6?qi-@2WZql5uKsw3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+20112;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,kBwAAAAdAAC4HAAATh0AACAAAAAAAAAAkBwAAHUdAAC4HAAAkh0AACAAAAAAAAAAkBwAALsdAAC4HAAA1x0AADgAAAAAAAAAkBwAAPkdAAC4HAAAHh4AADgAAAAAAAAAuBwAANYqAABQAAAAAAAAALgcAABOHgAAiAAAAAAAAAC4HAAApx4AAJgAAAAAAAAAuBwAAPseAACoAAAAAAAAALgcAAAvHwAAuAAAAAAAAACQHAAAWh8AALgcAAB+HwAA0AAAAAAAAACQHAAAHCAAALgcAAC6IAAA6AAAAAAAAAC4HAAAUiEAAIgAAAAAAAAAuBwAANshAADoAAAAAAAAALgcAAB1IgAA6AAAAAAAAAC4HAAAByMAAOgAAAAAAAAAuBwAAK0jAADoAAAAAAAAALgcAABIJAAA6AAAAAAAAAC4HAAA3iQAAFgBAAAAAAAAkBwAAIklAAC4HAAANCYAAHABAAAAAAAAuBwAANkmAACIAAAAAAAAALgcAABvJwAAcAEAAAAAAAC4HAAAFigAAHABAAAAAAAAuBwAALUoAABwAQAAAAAAALgcAABoKQAAcAEAAAAAAAC4HAAAECoAAHABAAAAAAAAuBwAAMQ4AABoAAAAAAAAALgcAAACKwAA8AEAAAAAAAC4HAAAcysAAJgAAAAAAAAAuBwAAN8rAAAQAgAAAAAAAJAcAACVLAAAuBwAAEstAAAoAgAAAAAAALgcAAD7LQAA8AEAAAAAAAC4HAAAnC4AACgCAAAAAAAAuBwAAE4vAAAoAgAAAAAAALgcAAD4LwAAKAIAAAAAAAC4HAAAtjAAACgCAAAAAAAAuBwAAGkxAAAoAgAAAAAAALgcAAAXMgAAmAIAAAAAAACQHAAA2jIAALgcAACdMwAAsAIAAAAAAAC4HAAAWjQAAPABAAAAAAAAuBwAAAg1AACwAgAAAAAAALgcAADHNQAAsAIAAAAAAAC4HAAAfjYAALACAAAAAAAAuBwAAEk3AACwAgAAAAAAALgcAAAJOAAAsAIAAAAAAAC4HAAA7zgAAGgAAAAAAAAAuBwAAGU5AAAIAAAAAAAAAJAcAAAyOQAAuBwAAL05AAAwAwAAAAAAALgcAABPOgAAyAMAAAAAAAC4HAAAUT0AALADAAAAAAAAkBwAAHA6AAC4HAAAuDoAAIADAAAAAAAAkBwAAII7AACQHAAAnDsAALgcAADXOwAAgAMAAAAAAAC4HAAAlDwAAIADAAAAAAAAkBwAAJ09AAC4HAAAyz0AALADAAAAAAAAuBwAADw+AAD4AwAAAAAAALgcAACCPgAAyAMAAAAAAAC4HAAAaD4AAIADAAAAAAAAkBwAAKI+AAC4HAAAlz8AAPgDAAAAAAAAuBwAALk/AAD4AwAAAAAAALgcAAAYQAAAMAQAAAAAAACQHAAAakAAAJAcAACZSgAAuBwAAPlKAABQBAAAAAAAALgcAACmSgAAYAQAAAAAAACQHAAAx0oAALgcAADUSgAAQAQAAAAAAAC4HAAA20sAADgEAAAAAAAAuBwAAOtLAAB4BAAAAAAAALgcAAAgTAAAUAQAAAAAAAC4HAAA/EsAAJgEAAAAAAAAAAAAAAgAAAABAAAAAgAAAAAAAAAQAAAAAwAAAAQAAAABAAAAAQAAAAEAAAAAAAAAKAAAAAUAAAAGAAAAAgAAAAIAAAACAAAA//////////8AAAAAOAAAAAcAAAAIAAAAAQAAAAMAAAABAAAABAAAAAUAAAACAAAABgAAAAcAAAADAAAAAQAAAAgAAAAAAAAAQAAAAAkAAAAKAAAAAQAAAAMAAAAEAAAABAAAAAUAAAACAAAABgAAAAcAAAAFAAAACQAAAAoAAAAAAAAAUAAAAAsAAAAMAAAAAwAAAAsAAAAMAAAABAAAAA0AAAAGAAAABwAAAA4AAAAPAAAABQAAAAAAAABYAAAADQAAAA4AAAAGAAAAEAAAAAgAAAARAAAAEgAAAAcAAAATAAAAFAAAAAkAAAAVAAAAFgAAAAoAAAABAAAAAAAAAGgAAAAPAAAAEAAAAAgAAAALAAAAFwAAAAQAAAANAAAABgAAAAsAAAAOAAAADwAAAAkAAAACAAAACgAAAP////8AAAAAiAAAABEAAAASAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAB4AAAAEQAAABMAAAAQAAAADAAAABEAAAANAAAAGAAAABkAAAAOAAAADwAAABoAAAABAAAAAAAAADgBAAARAAAAFAAAABIAAAAMAAAAEwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAIAAAAAAAAAKAEAABEAAAAVAAAAFAAAAAwAAAAVAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAwAAAAAAAAAIAQAAFgAAABcAAAAWAAAADAAAABcAAAAYAAAAGwAAABwAAAAOAAAADwAAAB0AAAAEAAAAAAAAAPgAAAAYAAAAGQAAABkAAAAMAAAAGgAAABsAAAAeAAAAHwAAAA4AAAAPAAAAIAAAAAUAAAAAAAAA2AAAABoAAAAbAAAAHAAAAAwAAAAdAAAAHgAAACEAAAAiAAAADgAAAA8AAAAjAAAABgAAAAAAAADAAAAAHAAAAB0AAAAkAAAAHwAAAAMAAAAAAAAA6AAAABEAAAAeAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAAYAQAAHwAAACAAAAAgAAAADAAAACEAAAANAAAAGAAAABkAAAAOAAAADwAAACUAAAAHAAAAAAAAAMABAAARAAAAIQAAACIAAAAMAAAAIwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAgAAAAAAAAAsAEAABEAAAAiAAAAJAAAAAwAAAAlAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAACQAAAAAAAACQAQAAIwAAACQAAAAmAAAADAAAACcAAAAoAAAAJgAAACcAAAAOAAAADwAAACgAAAAKAAAAAAAAAIABAAAlAAAAJgAAACkAAAAMAAAAKgAAACsAAAApAAAAKgAAAA4AAAAPAAAAKwAAAAsAAAAAAAAAYAEAACcAAAAoAAAALAAAAAwAAAAtAAAALgAAACwAAAAtAAAADgAAAA8AAAAuAAAADAAAAAAAAABIAQAAKQAAACoAAAAvAAAALwAAAAQAAAAAAAAAcAEAABEAAAArAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAACgAQAALAAAAC0AAAAwAAAADAAAADEAAAANAAAAGAAAABkAAAAOAAAADwAAADAAAAANAAAAAAAAANABAAAuAAAALwAAAAsAAAALAAAAFwAAAAQAAAAxAAAAMgAAADMAAAAOAAAADwAAAAkAAAAFAAAADAAAAAAAAADgAQAAMAAAADEAAAA0AAAANQAAADYAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAOAAAAAAAAAHgCAAAwAAAAMgAAADoAAAA1AAAAOwAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAAA8AAAAAAAAAaAIAADAAAAAzAAAAPAAAADUAAAA9AAAANwAAADIAAAAzAAAAOAAAADkAAAA0AAAAEAAAAAAAAABYAgAANAAAADUAAAA+AAAANQAAAD8AAAA3AAAAMgAAADMAAAA4AAAAOQAAADUAAAARAAAAAAAAAEgCAAA2AAAANwAAAEAAAAA1AAAAQQAAAEIAAAA2AAAANwAAADgAAAA5AAAAOAAAABIAAAAAAAAAOAIAADgAAAA5AAAAQwAAADUAAABEAAAARQAAADkAAAA6AAAAOAAAADkAAAA7AAAAEwAAAAAAAAAYAgAAOgAAADsAAABGAAAANQAAAEcAAABIAAAAPAAAAD0AAAA4AAAAOQAAAD4AAAAUAAAAAAAAAAACAAA8AAAAPQAAAD8AAABJAAAABgAAAAAAAAAAAwAAMAAAAD4AAABKAAAANQAAAEsAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAVAAAAAAAAAPACAAAwAAAAPwAAAEwAAAA1AAAATQAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAABYAAAAAAAAA4AIAAEAAAABBAAAATgAAADUAAABPAAAANwAAADIAAAAzAAAAOAAAADkAAABAAAAAFwAAAAAAAADQAgAAQgAAAEMAAABQAAAANQAAAFEAAABSAAAAQQAAAEIAAAA4AAAAOQAAAEMAAAAYAAAAAAAAAMACAABEAAAARQAAAFMAAAA1AAAAVAAAAFUAAABEAAAARQAAADgAAAA5AAAARgAAABkAAAAAAAAAoAIAAEYAAABHAAAAVgAAADUAAABXAAAAWAAAAEcAAABIAAAAOAAAADkAAABJAAAAGgAAAAAAAACIAgAASAAAAEkAAABKAAAAWQAAAAcAAAAAAAAAEAMAAEoAAABLAAAADQAAAAsAAAAXAAAABAAAAEsAAABaAAAAWwAAAA4AAAAPAAAACQAAAAIAAAAOAAAAAAAAACADAAABAAAATAAAAAEAAAACAAAAAAAAADADAABNAAAATgAAAAAAAAA4AwAATQAAAE8AAAAAAAAASAMAAFAAAABRAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAEwAAABNAAAAYwAAAFIAAABkAAAATgAAAE8AAABlAAAAUwAAAAAAAABYAwAAVAAAAFUAAABQAAAAUQAAAFIAAABTAAAAVAAAAGYAAABnAAAAVQAAAGgAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABwAwAAVgAAAFcAAABWAAAAaQAAAAAAAABoAwAAWAAAAFkAAABaAAAA/////wAAAACQAwAAWwAAAFwAAABXAAAAagAAAAAAAACIAwAAXQAAAF4AAABfAAAAAAAAAKADAABgAAAAYQAAAFgAAABrAAAAAAAAALgDAABiAAAAYwAAAFkAAABaAAAAWwAAAFwAAABdAAAAbAAAAG0AAABeAAAAbgAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAMgDAABkAAAAZQAAAFwAAAABAAAAbwAAAF8AAABgAAAAYQAAAGIAAAABAAAAXwAAAGMAAAABAAAAcAAAAGAAAABhAAAAAQAAAAEAAAAAAAAA2AMAAGQAAABmAAAAXAAAAHEAAABvAAAAXwAAAGAAAABhAAAAYgAAAGIAAABfAAAAYwAAAGcAAABwAAAAYAAAAGEAAAByAAAAaAAAAAAAAADoAwAAaQAAAGoAAABjAAAAcwAAAAAAAAD4AwAAZAAAAGsAAAB0AAAAAQAAAG8AAABfAAAAdQAAAGEAAABiAAAAAQAAAF8AAABjAAAAAQAAAAAAAAAABAAAZAAAAGwAAAB0AAAAdgAAAG8AAABfAAAAdwAAAGEAAABiAAAAZAAAAF8AAABjAAAAbQAAAAAAAAAQBAAAZAAAAG4AAAB0AAAAeAAAAG8AAABfAAAAeQAAAGEAAABiAAAAZQAAAF8AAABjAAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFZVVVUCAAAAAAAAAAIAAACamZmZAwAAAFZVVVUDAAAAJUmSJAMAAAAAAAAAAwAAAMhxHMcEAAAAmpmZmQQAAABGF110BAAAAFZVVVUEAAAAPLETOwQAAAAlSZIkBAAAABIREREEAAAAAAAAAAQAAADi4eHhBQAAAMhxHMcFAAAAy2sorwUAAACamZmZBQAAAIdhGIYFAAAARhdddAUAAACRhSxkBQAAAFZVVVUFAAAAexSuRwUAAAA8sRM7BQAAANtLaC8FAAAAJUmSJAUAAAASlnsaBQAAABIREREFAAAAhRBCCAUAAAAAAAAABQAAAAgffPAGAAAA4uHh4QYAAADVQR3UBgAAAMhxHMcGAAAATZHPugYAAADLayivBgAAAKVBGqQGAAAAmpmZmQYAAAD6GJyPBgAAAIdhGIYGAAAAGPQFfQYAAABGF110BgAAAG3BFmwGAAAAkYUsZAYAAAC6gphcBgAAAFZVVVUGAAAAcwpeTgYAAAB7FK5HBgAAAEJBQUEGAAAAPLETOwYAAACzzyE1BgAAANtLaC8GAAAAnxLkKQYAAAAlSZIkBgAAAN1HcB8GAAAAEpZ7GgYAAAD45bEVBgAAABIREREGAAAA/BSXDAYAAACFEEIIBgAAAAVBEAQGAAAAAAAAAAYAAAD5gR/4BwAAAAgffPAHAAAAwBoT6QcAAADi4eHhBwAAAGwH5toHAAAA1UEd1AcAAACRaIXNBwAAAMhxHMcHAAAAOXDgwAcAAABNkc+6BwAAAE8b6LQHAAAAy2sorwcAAAAH9o6pBwAAAKVBGqQHAAAAUunIngcAAACamZmZBwAAAM4Pi5QHAAAA+hicjwcAAAD3kMuKBwAAAIdhGIYHAAAAgoGBgQcAAAAY9AV9BwAAABjIpHgHAAAARhdddAcAAADBBS5wBwAAAG3BFmwHAAAAaYEWaAcAAACRhSxkBwAAAAYWWGAHAAAAuoKYXAcAAAAJI+1YBwAAAFZVVVUHAAAAr37QUQcAAABzCl5OBwAAAAZq/UoHAAAAexSuRwcAAABXhm9EBwAAAEJBQUEHAAAAz8siPgcAAAA8sRM7BwAAADmBEzgHAAAAs88hNQcAAACjND4yBwAAANtLaC8HAAAA2bSfLAcAAACfEuQpBwAAAIkLNScHAAAAJUmSJAcAAAATePshBwAAAN1HcB8HAAAA22rwHAcAAAASlnsaBwAAABmBERgHAAAA+OWxFQcAAAAUgVwTBwAAABIREREHAAAAv1bPDgcAAAD8FJcMBwAAAKcQaAoHAAAAhRBCCAcAAAAw3SQGBwAAAAVBEAQHAAAAEQgEAgcAAAAAAAAABwAAACDwB/wIAAAA+YEf+AgAAADlWUb0CAAAAAgffPAIAAAAMXvA7AgAAADAGhPpCAAAAJGsc+UIAAAA4uHh4QgAAABAbl3eCAAAAGwH5toIAAAATGV71wgAAADVQR3UCAAAAPdYy9AIAAAAkWiFzQgAAABWMEvKCAAAAMhxHMcIAAAAHfD4wwgAAAA5cODACAAAAJq40r0IAAAATZHPuggAAADew9a3CAAAAE8b6LQIAAAAB2QDsggAAADLayivCAAAAK0BV6wIAAAAB/aOqQgAAABuGtCmCAAAAKVBGqQIAAAAmD9toQgAAABS6cieCAAAAO8ULZwIAAAAmpmZmQgAAACBTw6XCAAAAM4Pi5QIAAAAnrQPkggAAAD6GJyPCAAAANQYMI0IAAAA95DLiggAAAALX26ICAAAAIdhGIYIAAAArHfJgwgAAACCgYGBCAAAANFfQH8IAAAAGPQFfQgAAACPINJ6CAAAABjIpHgIAAAARM59dggAAABGF110CAAAAPWHQnIIAAAAwQUucAgAAAC1dh9uCAAAAG3BFmwIAAAAFs0TaggAAABpgRZoCAAAAKbGHmYIAAAAkYUsZAgAAABxpz9iCAAAAAYWWGAIAAAAjrt1XggAAAC6gphcCAAAALFWwFoIAAAACSPtWAgAAADG0x5XCAAAAFZVVVUIAAAAkJSQUwgAAACvftBRCAAAAFEBFVAIAAAAcwpeTggAAABziKtMCAAAAAZq/UoIAAAAPJ5TSQgAAAB7FK5HCAAAAIC8DEYIAAAAV4ZvRAgAAABeYtZCCAAAAEJBQUEIAAAA/BOwPwgAAADPyyI+CAAAAEhamTwIAAAAPLETOwgAAADCwpE5CAAAADmBEzgIAAAAPt+YNggAAACzzyE1CAAAALZFrjMIAAAAozQ+MggAAAAUkNEwCAAAANtLaC8IAAAABVwCLggAAADZtJ8sCAAAANFKQCsIAAAAnxLkKQgAAAApAYsoCAAAAIkLNScIAAAACSfiJQgAAAAlSZIkCAAAAIpnRSMIAAAAE3j7IQgAAADHcLQgCAAAAN1HcB8IAAAAtPMuHggAAADbavAcCAAAAAWktBsIAAAAEpZ7GggAAAAJOEUZCAAAABmBERgIAAAAlWjgFggAAAD45bEVCAAAAOHwhRQIAAAAFIFcEwgAAAB2jjUSCAAAABIREREIAAAAEAHvDwgAAAC/Vs8OCAAAAIkKsg0IAAAA/BSXDAgAAADDbn4LCAAAAKcQaAoIAAAAkfNTCQgAAACFEEIICAAAAKVgMgcIAAAAMN0kBggAAAB+fxkFCAAAAAVBEAQIAAAAUhsJAwgAAAARCAQCCAAAAAIBAQEIAAAA/////wAAAAAgBAAAcAAAAHEAAAAIAAAAAwAAAHoAAAByAAAACQAAAP////8AAAAAMAQAAHMAAAB0AAAACgAAAAQAAAB6AAAAcgAAAAsAAAD/////8BgAAAUAAAAAAAAAAAAAAHsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAAkE4AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGROAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAAAAAAEAEAAB1AAAAdgAAAHcAAAB4AAAAEgAAAAEAAAABAAAAAwAAAAAAAABoBAAAdQAAAHkAAAB3AAAAeAAAABIAAAACAAAAAgAAAAQAAAAAAAAAeAQAAHoAAAB7AAAAfAAAAAAAAACIBAAAegAAAHwAAAB8AAAATjVkcmFjbzExRW5jb2RlckJhc2VJTlNfMThFbmNvZGVyT3B0aW9uc0Jhc2VJTlNfMTdHZW9tZXRyeUF0dHJpYnV0ZTRUeXBlRUVFRUUATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRW5jb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVFbmNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAdXNlX2J1aWx0X2luX2F0dHJpYnV0ZV9jb21wcmVzc2lvbgBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzhTZXF1ZW50aWFsUXVhbnRpemF0aW9uQXR0cmlidXRlRW5jb2RlckUAcHJlZGljdGlvbl9zY2hlbWUATjVkcmFjbzExRW5jb2RlckJhc2VJTlNfMThFbmNvZGVyT3B0aW9uc0Jhc2VJaUVFRUUATjVkcmFjbzdFbmNvZGVyRQBlbmNvZGluZ19zcGVlZABkZWNvZGluZ19zcGVlZABxdWFudGl6YXRpb25fb3JpZ2luAHF1YW50aXphdGlvbl9yYW5nZQAgAE41ZHJhY28xM0V4cGVydEVuY29kZXJFAGVuY29kaW5nX21ldGhvZABxdWFudGl6YXRpb25fYml0cwBJbnZhbGlkIGVuY29kaW5nIG1ldGhvZC4Ac3RhbmRhcmRfZWRnZWJyZWFrZXIAcHJlZGljdGl2ZV9lZGdlYnJlYWtlcgBlZGdlYnJlYWtlcl9tZXRob2QATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRW5jb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUAc3BsaXRfbWVzaF9vbl9zZWFtcwBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbEVuY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZUVuY29kZXJFRUUAc3RvcmVfbnVtYmVyX29mX2VuY29kZWRfZmFjZXMATjVkcmFjbzExTWVzaEVuY29kZXJFAGNvbXByZXNzX2Nvbm5lY3Rpdml0eQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRW5jb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZEVuY29kZXJFAEludmFsaWQgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBpbml0aWFsaXplIGVuY29kZXIuAEZhaWxlZCB0byBlbmNvZGUgaW50ZXJuYWwgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZW5jb2RlIHBvaW50IGF0dHJpYnV0ZXMuAHN0b3JlX251bWJlcl9vZl9lbmNvZGVkX3BvaW50cwBGYWlsZWQgdG8gZW5jb2RlIG1ldGFkYXRhLgBEUkFDTwBONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRW5jb2RlckUATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxFbmNvZGVyRQBzeW1ib2xfZW5jb2RpbmdfbWV0aG9kAHN5bWJvbF9lbmNvZGluZ19jb21wcmVzc2lvbl9sZXZlbABONWRyYWNvNE1lc2hFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATjVkcmFjbzEwUG9pbnRDbG91ZEUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAGluZmluaXR5AG5hbgAlZAAlZgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function 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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+20112;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,lBwAAAQdAAC8HAAAUh0AACAAAAAAAAAAlBwAAHkdAAC8HAAAlh0AACAAAAAAAAAAlBwAAL8dAAC8HAAA2x0AADgAAAAAAAAAlBwAAP0dAAC8HAAAIh4AADgAAAAAAAAAvBwAANoqAABQAAAAAAAAALwcAABSHgAAiAAAAAAAAAC8HAAAqx4AAJgAAAAAAAAAvBwAAP8eAACoAAAAAAAAALwcAAAzHwAAuAAAAAAAAACUHAAAXh8AALwcAACCHwAA0AAAAAAAAACUHAAAICAAALwcAAC+IAAA6AAAAAAAAAC8HAAAViEAAIgAAAAAAAAAvBwAAN8hAADoAAAAAAAAALwcAAB5IgAA6AAAAAAAAAC8HAAACyMAAOgAAAAAAAAAvBwAALEjAADoAAAAAAAAALwcAABMJAAA6AAAAAAAAAC8HAAA4iQAAFgBAAAAAAAAlBwAAI0lAAC8HAAAOCYAAHABAAAAAAAAvBwAAN0mAACIAAAAAAAAALwcAABzJwAAcAEAAAAAAAC8HAAAGigAAHABAAAAAAAAvBwAALkoAABwAQAAAAAAALwcAABsKQAAcAEAAAAAAAC8HAAAFCoAAHABAAAAAAAAvBwAAMg4AABoAAAAAAAAALwcAAAGKwAA8AEAAAAAAAC8HAAAdysAAJgAAAAAAAAAvBwAAOMrAAAQAgAAAAAAAJQcAACZLAAAvBwAAE8tAAAoAgAAAAAAALwcAAD/LQAA8AEAAAAAAAC8HAAAoC4AACgCAAAAAAAAvBwAAFIvAAAoAgAAAAAAALwcAAD8LwAAKAIAAAAAAAC8HAAAujAAACgCAAAAAAAAvBwAAG0xAAAoAgAAAAAAALwcAAAbMgAAmAIAAAAAAACUHAAA3jIAALwcAAChMwAAsAIAAAAAAAC8HAAAXjQAAPABAAAAAAAAvBwAAAw1AACwAgAAAAAAALwcAADLNQAAsAIAAAAAAAC8HAAAgjYAALACAAAAAAAAvBwAAE03AACwAgAAAAAAALwcAAANOAAAsAIAAAAAAAC8HAAA8zgAAGgAAAAAAAAAvBwAAGk5AAAIAAAAAAAAAJQcAAA2OQAAvBwAAHw5AAAwAwAAAAAAALwcAABTOgAAyAMAAAAAAAC8HAAAVT0AALADAAAAAAAAlBwAAHQ6AAC8HAAAvDoAAIADAAAAAAAAlBwAAIY7AACUHAAAoDsAALwcAADbOwAAgAMAAAAAAAC8HAAAmDwAAIADAAAAAAAAlBwAAKE9AAC8HAAAzz0AALADAAAAAAAAvBwAAEA+AAD4AwAAAAAAALwcAACGPgAAyAMAAAAAAAC8HAAAbD4AAIADAAAAAAAAlBwAAKY+AAC8HAAAmz8AAPgDAAAAAAAAvBwAAL0/AAD4AwAAAAAAALwcAAAcQAAAMAQAAAAAAACUHAAAbkAAAJQcAACdSgAAvBwAAP1KAABQBAAAAAAAALwcAACqSgAAYAQAAAAAAACUHAAAy0oAALwcAADYSgAAQAQAAAAAAAC8HAAA30sAADgEAAAAAAAAvBwAAO9LAAB4BAAAAAAAALwcAAAkTAAAUAQAAAAAAAC8HAAAAEwAAJgEAAAAAAAAAAAAAAgAAAABAAAAAgAAAAAAAAAQAAAAAwAAAAQAAAABAAAAAQAAAAEAAAAAAAAAKAAAAAUAAAAGAAAAAgAAAAIAAAACAAAA//////////8AAAAAOAAAAAcAAAAIAAAAAQAAAAMAAAABAAAABAAAAAUAAAACAAAABgAAAAcAAAADAAAAAQAAAAgAAAAAAAAAQAAAAAkAAAAKAAAAAQAAAAMAAAAEAAAABAAAAAUAAAACAAAABgAAAAcAAAAFAAAACQAAAAoAAAAAAAAAUAAAAAsAAAAMAAAAAwAAAAsAAAAMAAAABAAAAA0AAAAGAAAABwAAAA4AAAAPAAAABQAAAAAAAABYAAAADQAAAA4AAAAGAAAAEAAAAAgAAAARAAAAEgAAAAcAAAATAAAAFAAAAAkAAAAVAAAAFgAAAAoAAAABAAAAAAAAAGgAAAAPAAAAEAAAAAgAAAALAAAAFwAAAAQAAAANAAAABgAAAAsAAAAOAAAADwAAAAkAAAACAAAACgAAAP////8AAAAAiAAAABEAAAASAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAB4AAAAEQAAABMAAAAQAAAADAAAABEAAAANAAAAGAAAABkAAAAOAAAADwAAABoAAAABAAAAAAAAADgBAAARAAAAFAAAABIAAAAMAAAAEwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAIAAAAAAAAAKAEAABEAAAAVAAAAFAAAAAwAAAAVAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAwAAAAAAAAAIAQAAFgAAABcAAAAWAAAADAAAABcAAAAYAAAAGwAAABwAAAAOAAAADwAAAB0AAAAEAAAAAAAAAPgAAAAYAAAAGQAAABkAAAAMAAAAGgAAABsAAAAeAAAAHwAAAA4AAAAPAAAAIAAAAAUAAAAAAAAA2AAAABoAAAAbAAAAHAAAAAwAAAAdAAAAHgAAACEAAAAiAAAADgAAAA8AAAAjAAAABgAAAAAAAADAAAAAHAAAAB0AAAAkAAAAHwAAAAMAAAAAAAAA6AAAABEAAAAeAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAAYAQAAHwAAACAAAAAgAAAADAAAACEAAAANAAAAGAAAABkAAAAOAAAADwAAACUAAAAHAAAAAAAAAMABAAARAAAAIQAAACIAAAAMAAAAIwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAgAAAAAAAAAsAEAABEAAAAiAAAAJAAAAAwAAAAlAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAACQAAAAAAAACQAQAAIwAAACQAAAAmAAAADAAAACcAAAAoAAAAJgAAACcAAAAOAAAADwAAACgAAAAKAAAAAAAAAIABAAAlAAAAJgAAACkAAAAMAAAAKgAAACsAAAApAAAAKgAAAA4AAAAPAAAAKwAAAAsAAAAAAAAAYAEAACcAAAAoAAAALAAAAAwAAAAtAAAALgAAACwAAAAtAAAADgAAAA8AAAAuAAAADAAAAAAAAABIAQAAKQAAACoAAAAvAAAALwAAAAQAAAAAAAAAcAEAABEAAAArAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAACgAQAALAAAAC0AAAAwAAAADAAAADEAAAANAAAAGAAAABkAAAAOAAAADwAAADAAAAANAAAAAAAAANABAAAuAAAALwAAAAsAAAALAAAAFwAAAAQAAAAxAAAAMgAAADMAAAAOAAAADwAAAAkAAAAFAAAADAAAAAAAAADgAQAAMAAAADEAAAA0AAAANQAAADYAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAOAAAAAAAAAHgCAAAwAAAAMgAAADoAAAA1AAAAOwAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAAA8AAAAAAAAAaAIAADAAAAAzAAAAPAAAADUAAAA9AAAANwAAADIAAAAzAAAAOAAAADkAAAA0AAAAEAAAAAAAAABYAgAANAAAADUAAAA+AAAANQAAAD8AAAA3AAAAMgAAADMAAAA4AAAAOQAAADUAAAARAAAAAAAAAEgCAAA2AAAANwAAAEAAAAA1AAAAQQAAAEIAAAA2AAAANwAAADgAAAA5AAAAOAAAABIAAAAAAAAAOAIAADgAAAA5AAAAQwAAADUAAABEAAAARQAAADkAAAA6AAAAOAAAADkAAAA7AAAAEwAAAAAAAAAYAgAAOgAAADsAAABGAAAANQAAAEcAAABIAAAAPAAAAD0AAAA4AAAAOQAAAD4AAAAUAAAAAAAAAAACAAA8AAAAPQAAAD8AAABJAAAABgAAAAAAAAAAAwAAMAAAAD4AAABKAAAANQAAAEsAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAVAAAAAAAAAPACAAAwAAAAPwAAAEwAAAA1AAAATQAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAABYAAAAAAAAA4AIAAEAAAABBAAAATgAAADUAAABPAAAANwAAADIAAAAzAAAAOAAAADkAAABAAAAAFwAAAAAAAADQAgAAQgAAAEMAAABQAAAANQAAAFEAAABSAAAAQQAAAEIAAAA4AAAAOQAAAEMAAAAYAAAAAAAAAMACAABEAAAARQAAAFMAAAA1AAAAVAAAAFUAAABEAAAARQAAADgAAAA5AAAARgAAABkAAAAAAAAAoAIAAEYAAABHAAAAVgAAADUAAABXAAAAWAAAAEcAAABIAAAAOAAAADkAAABJAAAAGgAAAAAAAACIAgAASAAAAEkAAABKAAAAWQAAAAcAAAAAAAAAEAMAAEoAAABLAAAADQAAAAsAAAAXAAAABAAAAEsAAABaAAAAWwAAAA4AAAAPAAAACQAAAAIAAAAOAAAAAAAAACADAAABAAAATAAAAAEAAAACAAAAAAAAADADAABNAAAATgAAAAAAAAA4AwAATQAAAE8AAAAAAAAASAMAAFAAAABRAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAEwAAABNAAAAYwAAAFIAAABkAAAATgAAAE8AAABlAAAAUwAAAAAAAABYAwAAVAAAAFUAAABQAAAAUQAAAFIAAABTAAAAVAAAAGYAAABnAAAAVQAAAGgAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABwAwAAVgAAAFcAAABWAAAAaQAAAAAAAABoAwAAWAAAAFkAAABaAAAA/////wAAAACQAwAAWwAAAFwAAABXAAAAagAAAAAAAACIAwAAXQAAAF4AAABfAAAAAAAAAKADAABgAAAAYQAAAFgAAABrAAAAAAAAALgDAABiAAAAYwAAAFkAAABaAAAAWwAAAFwAAABdAAAAbAAAAG0AAABeAAAAbgAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAMgDAABkAAAAZQAAAFwAAAABAAAAbwAAAF8AAABgAAAAYQAAAGIAAAABAAAAXwAAAGMAAAABAAAAcAAAAGAAAABhAAAAAQAAAAEAAAAAAAAA2AMAAGQAAABmAAAAXAAAAHEAAABvAAAAXwAAAGAAAABhAAAAYgAAAGIAAABfAAAAYwAAAGcAAABwAAAAYAAAAGEAAAByAAAAaAAAAAAAAADoAwAAaQAAAGoAAABjAAAAcwAAAAAAAAD4AwAAZAAAAGsAAAB0AAAAAQAAAG8AAABfAAAAdQAAAGEAAABiAAAAAQAAAF8AAABjAAAAAQAAAAAAAAAABAAAZAAAAGwAAAB0AAAAdgAAAG8AAABfAAAAdwAAAGEAAABiAAAAZAAAAF8AAABjAAAAbQAAAAAAAAAQBAAAZAAAAG4AAAB0AAAAeAAAAG8AAABfAAAAeQAAAGEAAABiAAAAZQAAAF8AAABjAAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFZVVVUCAAAAAAAAAAIAAACamZmZAwAAAFZVVVUDAAAAJUmSJAMAAAAAAAAAAwAAAMhxHMcEAAAAmpmZmQQAAABGF110BAAAAFZVVVUEAAAAPLETOwQAAAAlSZIkBAAAABIREREEAAAAAAAAAAQAAADi4eHhBQAAAMhxHMcFAAAAy2sorwUAAACamZmZBQAAAIdhGIYFAAAARhdddAUAAACRhSxkBQAAAFZVVVUFAAAAexSuRwUAAAA8sRM7BQAAANtLaC8FAAAAJUmSJAUAAAASlnsaBQAAABIREREFAAAAhRBCCAUAAAAAAAAABQAAAAgffPAGAAAA4uHh4QYAAADVQR3UBgAAAMhxHMcGAAAATZHPugYAAADLayivBgAAAKVBGqQGAAAAmpmZmQYAAAD6GJyPBgAAAIdhGIYGAAAAGPQFfQYAAABGF110BgAAAG3BFmwGAAAAkYUsZAYAAAC6gphcBgAAAFZVVVUGAAAAcwpeTgYAAAB7FK5HBgAAAEJBQUEGAAAAPLETOwYAAACzzyE1BgAAANtLaC8GAAAAnxLkKQYAAAAlSZIkBgAAAN1HcB8GAAAAEpZ7GgYAAAD45bEVBgAAABIREREGAAAA/BSXDAYAAACFEEIIBgAAAAVBEAQGAAAAAAAAAAYAAAD5gR/4BwAAAAgffPAHAAAAwBoT6QcAAADi4eHhBwAAAGwH5toHAAAA1UEd1AcAAACRaIXNBwAAAMhxHMcHAAAAOXDgwAcAAABNkc+6BwAAAE8b6LQHAAAAy2sorwcAAAAH9o6pBwAAAKVBGqQHAAAAUunIngcAAACamZmZBwAAAM4Pi5QHAAAA+hicjwcAAAD3kMuKBwAAAIdhGIYHAAAAgoGBgQcAAAAY9AV9BwAAABjIpHgHAAAARhdddAcAAADBBS5wBwAAAG3BFmwHAAAAaYEWaAcAAACRhSxkBwAAAAYWWGAHAAAAuoKYXAcAAAAJI+1YBwAAAFZVVVUHAAAAr37QUQcAAABzCl5OBwAAAAZq/UoHAAAAexSuRwcAAABXhm9EBwAAAEJBQUEHAAAAz8siPgcAAAA8sRM7BwAAADmBEzgHAAAAs88hNQcAAACjND4yBwAAANtLaC8HAAAA2bSfLAcAAACfEuQpBwAAAIkLNScHAAAAJUmSJAcAAAATePshBwAAAN1HcB8HAAAA22rwHAcAAAASlnsaBwAAABmBERgHAAAA+OWxFQcAAAAUgVwTBwAAABIREREHAAAAv1bPDgcAAAD8FJcMBwAAAKcQaAoHAAAAhRBCCAcAAAAw3SQGBwAAAAVBEAQHAAAAEQgEAgcAAAAAAAAABwAAACDwB/wIAAAA+YEf+AgAAADlWUb0CAAAAAgffPAIAAAAMXvA7AgAAADAGhPpCAAAAJGsc+UIAAAA4uHh4QgAAABAbl3eCAAAAGwH5toIAAAATGV71wgAAADVQR3UCAAAAPdYy9AIAAAAkWiFzQgAAABWMEvKCAAAAMhxHMcIAAAAHfD4wwgAAAA5cODACAAAAJq40r0IAAAATZHPuggAAADew9a3CAAAAE8b6LQIAAAAB2QDsggAAADLayivCAAAAK0BV6wIAAAAB/aOqQgAAABuGtCmCAAAAKVBGqQIAAAAmD9toQgAAABS6cieCAAAAO8ULZwIAAAAmpmZmQgAAACBTw6XCAAAAM4Pi5QIAAAAnrQPkggAAAD6GJyPCAAAANQYMI0IAAAA95DLiggAAAALX26ICAAAAIdhGIYIAAAArHfJgwgAAACCgYGBCAAAANFfQH8IAAAAGPQFfQgAAACPINJ6CAAAABjIpHgIAAAARM59dggAAABGF110CAAAAPWHQnIIAAAAwQUucAgAAAC1dh9uCAAAAG3BFmwIAAAAFs0TaggAAABpgRZoCAAAAKbGHmYIAAAAkYUsZAgAAABxpz9iCAAAAAYWWGAIAAAAjrt1XggAAAC6gphcCAAAALFWwFoIAAAACSPtWAgAAADG0x5XCAAAAFZVVVUIAAAAkJSQUwgAAACvftBRCAAAAFEBFVAIAAAAcwpeTggAAABziKtMCAAAAAZq/UoIAAAAPJ5TSQgAAAB7FK5HCAAAAIC8DEYIAAAAV4ZvRAgAAABeYtZCCAAAAEJBQUEIAAAA/BOwPwgAAADPyyI+CAAAAEhamTwIAAAAPLETOwgAAADCwpE5CAAAADmBEzgIAAAAPt+YNggAAACzzyE1CAAAALZFrjMIAAAAozQ+MggAAAAUkNEwCAAAANtLaC8IAAAABVwCLggAAADZtJ8sCAAAANFKQCsIAAAAnxLkKQgAAAApAYsoCAAAAIkLNScIAAAACSfiJQgAAAAlSZIkCAAAAIpnRSMIAAAAE3j7IQgAAADHcLQgCAAAAN1HcB8IAAAAtPMuHggAAADbavAcCAAAAAWktBsIAAAAEpZ7GggAAAAJOEUZCAAAABmBERgIAAAAlWjgFggAAAD45bEVCAAAAOHwhRQIAAAAFIFcEwgAAAB2jjUSCAAAABIREREIAAAAEAHvDwgAAAC/Vs8OCAAAAIkKsg0IAAAA/BSXDAgAAADDbn4LCAAAAKcQaAoIAAAAkfNTCQgAAACFEEIICAAAAKVgMgcIAAAAMN0kBggAAAB+fxkFCAAAAAVBEAQIAAAAUhsJAwgAAAARCAQCCAAAAAIBAQEIAAAA/////wAAAAAgBAAAcAAAAHEAAAAIAAAAAwAAAHoAAAByAAAACQAAAP////8AAAAAMAQAAHMAAAB0AAAACgAAAAQAAAB6AAAAcgAAAAsAAAD/////8BgAAAUAAAAAAAAAAAAAAHsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAAjE4AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAlEoAAAAAAABABAAAdQAAAHYAAAB3AAAAeAAAABIAAAABAAAAAQAAAAMAAAAAAAAAaAQAAHUAAAB5AAAAdwAAAHgAAAASAAAAAgAAAAIAAAAEAAAAAAAAAHgEAAB6AAAAewAAAHwAAAAAAAAAiAQAAHoAAAB8AAAAfAAAAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSU5TXzE3R2VvbWV0cnlBdHRyaWJ1dGU0VHlwZUVFRUVFAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzIzS2RUcmVlQXR0cmlidXRlc0VuY29kZXJFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRW5jb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZEVuY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRW5jb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAHVzZV9idWlsdF9pbl9hdHRyaWJ1dGVfY29tcHJlc3Npb24ATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRW5jb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZUVuY29kZXJFAHByZWRpY3Rpb25fc2NoZW1lAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSWlFRUVFAE41ZHJhY283RW5jb2RlckUAIABONWRyYWNvMTNFeHBlcnRFbmNvZGVyRQBlbmNvZGluZ19tZXRob2QAcXVhbnRpemF0aW9uX2JpdHMASW52YWxpZCBlbmNvZGluZyBtZXRob2QuAGVuY29kaW5nX3NwZWVkAGRlY29kaW5nX3NwZWVkAHF1YW50aXphdGlvbl9vcmlnaW4AcXVhbnRpemF0aW9uX3JhbmdlAHN0YW5kYXJkX2VkZ2VicmVha2VyAHByZWRpY3RpdmVfZWRnZWJyZWFrZXIAZWRnZWJyZWFrZXJfbWV0aG9kAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckVuY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAHNwbGl0X21lc2hfb25fc2VhbXMATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxFbmNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VFbmNvZGVyRUVFAHN0b3JlX251bWJlcl9vZl9lbmNvZGVkX2ZhY2VzAE41ZHJhY28xMU1lc2hFbmNvZGVyRQBjb21wcmVzc19jb25uZWN0aXZpdHkATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbEVuY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWRFbmNvZGVyRQBJbnZhbGlkIGlucHV0IGdlb21ldHJ5LgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBlbmNvZGVyLgBGYWlsZWQgdG8gZW5jb2RlIGludGVybmFsIGRhdGEuAEZhaWxlZCB0byBlbmNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBzdG9yZV9udW1iZXJfb2ZfZW5jb2RlZF9wb2ludHMARmFpbGVkIHRvIGVuY29kZSBtZXRhZGF0YS4ARFJBQ08ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZUVuY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRW5jb2RlckUAc3ltYm9sX2VuY29kaW5nX21ldGhvZABzeW1ib2xfZW5jb2RpbmdfY29tcHJlc3Npb25fbGV2ZWwATjVkcmFjbzRNZXNoRQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAE41ZHJhY28xMFBvaW50Q2xvdWRFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABpbmZpbml0eQBuYW4AJWQAJWYAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=Runtime.staticAlloc(4);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_ii;var ga=env.invoke_iii;var ha=env.invoke_iiii;var ia=env.invoke_iiiiiii;var ja=env.invoke_v;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viii;var na=env.invoke_viiii;var oa=env.invoke_viiiii;var pa=env.invoke_viiiiii;var qa=env.__ZSt18uncaught_exceptionv;var ra=env.___cxa_allocate_exception;var sa=env.___cxa_begin_catch;var ta=env.___cxa_find_matching_catch;var ua=env.___cxa_pure_virtual;var va=env.___cxa_throw;var wa=env.___gxx_personality_v0;var xa=env.___resumeException;var ya=env.___setErrNo;var za=env.___syscall140;var Aa=env.___syscall146;var Ba=env.___syscall6;var Ca=env._abort;var Da=env._emscripten_memcpy_big;var Ea=env._pthread_getspecific;var Fa=env._pthread_key_create;var Ga=env._pthread_once;var Ha=env._pthread_setspecific;var Ia=$(0);const Ja=$(0);function Ka(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function be(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)$q(l);l=a+8|0;Ph(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;nq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Cc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)nq(y);return 0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Oa,t=Oa,u=Oa,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=vn(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;Ii(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0>>0?(q=o+(k<<2)|0,(q|0)!=(p|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{Di(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=hh(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0>>0?(r=m+(d<<2)|0,(r|0)!=(n|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{Di(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Mf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((i|0)==(v|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);br(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Uc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Vc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Wc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Xc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Yc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Zc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=2097152;if(d){d=c;c=2097152;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Of(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));_c(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=1048576;if(d){d=c;c=1048576;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Pf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));$c(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=262144;if(d){d=c;c=262144;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Sf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));ad(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=131072;if(d){d=c;c=131072;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Tf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));bd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=32768;if(d){d=c;c=32768;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Vf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));cd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));dd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));ed(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));fd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));gd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function te(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));hd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));id(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ve(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));jd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Me(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Me(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,i,i+1|0)|0;u=d;return 1}function ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Ph(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;nq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];ub(k,i,b,x)|0;l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)nq(z);return 0}function Ae(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Ph(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;nq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];tb(k,i,b,x)|0;l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)nq(z);return 0}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=0;m=g;while(1){f[d>>2]=(a>>>0)/3|0;f[c>>2]=f[d>>2];if(!(dk(m,c)|0)?(g=f[e>>2]|0,(f[(f[g+12>>2]|0)+(a<<2)>>2]|0)==-1):0){n=a+1|0;o=((n>>>0)%3|0|0)==0?a+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[g>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){g=f[k>>2]|0;n=f[l>>2]|0;if((g|0)==(n<<5|0)){if((g+1|0)<0){q=11;break}r=n<<6;n=g+32&-32;wi(j,g>>>0<1073741823?(r>>>0>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=g;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=a;n=o;while(1){f[n>>2]=g;o=r+1|0;a:do if((r|0)!=-1?(v=((o>>>0)%3|0|0)==0?r+-2|0:o,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=y;C=-1}else{B=y;C=f[(f[w>>2]|0)+(A<<2)>>2]|0}}else{B=-1;C=-1}while(0);n=t+(C<<2)|0;if((f[n>>2]|0)!=-1)break;else r=B}}}}r=a+1|0;if(r>>>0>=h>>>0){q=3;break}a=r;m=f[e>>2]|0}if((q|0)==3){u=b;return 1}else if((q|0)==11)nq(j);return 0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)nq(a);p=k<<6;k=b+31&-32;wi(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;qm(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)br(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;uj(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;uj(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function De(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Jj(d)|0;if(l>>>0>4294967279)nq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=vn(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){kh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Jj(e)|0;if(l>>>0>4294967279)nq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=vn(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){kh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Jj(d)|0;if(l>>>0>4294967279)nq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=vn(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){kh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Jj(e)|0;if(l>>>0>4294967279)nq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=vn(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){kh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;wn(c,i,j);if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if((b[i+11>>0]|0)<0)br(f[i>>2]|0);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);k=1;u=a;return k|0}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];f[a+132>>2]=f[c+132>>2];return}function Fe(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Th(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0<=28){f[k>>2]=p;c=1<>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))q=g;else{c=d+84|0;r=d+68|0;s=d+48|0;t=d+40|0;v=0;w=0;x=p;while(1){p=f[x+(v<<2)>>2]|0;if(!(b[c>>0]|0))y=f[(f[r>>2]|0)+(p<<2)>>2]|0;else y=p;p=s;z=f[p>>2]|0;A=f[p+4>>2]|0;p=t;B=f[p>>2]|0;C=En(B|0,f[p+4>>2]|0,y|0,0)|0;p=ho(C|0,I|0,z|0,A|0)|0;kh(j|0,(f[f[d>>2]>>2]|0)+p|0,B|0)|0;tf(k,j,l,m);f[o+(w<<2)>>2]=f[l>>2];f[o+((w|1)<<2)>>2]=f[m>>2];v=v+1|0;x=f[e>>2]|0;if(v>>>0>=(f[n>>2]|0)-x>>2>>>0)break;else w=w+2|0}q=f[i>>2]|0}f[a>>2]=q;f[i>>2]=0;u=h;return}f[a>>2]=0;f[i>>2]=0;if(!g){u=h;return}i=g+88|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){q=a+12|0;if((f[q>>2]|0)!=(i|0))f[q>>2]=i;br(i)}br(a)}a=f[g+68>>2]|0;if(a|0){i=g+72|0;q=f[i>>2]|0;if((q|0)!=(a|0))f[i>>2]=q+(~((q+-4-a|0)>>>2)<<2);br(a)}a=g+64|0;q=f[a>>2]|0;f[a>>2]=0;if(q|0){a=f[q>>2]|0;if(a|0){i=q+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;br(a)}br(q)}br(g);u=h;return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=c;j=h;do{f[j>>2]=-1;Vk(j+4|0);b[j+100>>0]=1;k=j+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;j=(f[g>>2]|0)+136|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/136|0;h=j+c|0;if(h>>>0>31580641)nq(a);k=(e-i|0)/136|0;i=k<<1;e=k>>>0<15790320?(i>>>0>>0?h:i):31580641;do if(e)if(e>>>0>31580641){i=ra(8)|0;ap(i,16422);f[i>>2]=7412;va(i|0,1160,122)}else{l=vn(e*136|0)|0;break}else l=0;while(0);i=l+(j*136|0)|0;j=i;h=l+(e*136|0)|0;e=c;c=j;l=i;do{f[l>>2]=-1;Vk(l+4|0);b[l+100>>0]=1;k=l+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;l=c+136|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=f[g>>2]|0;if((l|0)==(e|0)){m=j;n=e;o=e}else{k=l;l=j;j=i;do{k=k+-136|0;Ee(j+-136|0,k);j=l+-136|0;l=j}while((k|0)!=(e|0));m=l;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);br(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);br(o)}Oi(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;br(n);return}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[b>>2]|0;b=a+12|0;d=(c|0)==-1;e=c+1|0;do if(!d){g=((e>>>0)%3|0|0)==0?c+-2|0:e;if(!((c>>>0)%3|0)){h=g;i=c+2|0;break}else{h=g;i=c+-1|0;break}}else{h=-1;i=-1}while(0);e=d?-1:(c>>>0)/3|0;g=a+28|0;j=(f[g>>2]|0)+(e>>>5<<2)|0;f[j>>2]=1<<(e&31)|f[j>>2];j=a+172|0;e=a+176|0;k=a+280|0;if(((!d?(d=f[(f[(f[b>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(d|0)!=-1):0)?(a=(d>>>0)/3|0,(f[(f[g>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0):0)?(a=f[j>>2]|0,(f[e>>2]|0)!=(a|0)):0){d=c>>>5;l=1<<(c&31);c=0;m=a;do{a=(f[k>>2]|0)+(c<<5)|0;if(!(l&f[(f[m+(c*136|0)+4>>2]|0)+(d<<2)>>2]))hj(a,0);else hj(a,1);c=c+1|0;m=f[j>>2]|0}while(c>>>0<(((f[e>>2]|0)-m|0)/136|0)>>>0)}if((((h|0)!=-1?(m=f[(f[(f[b>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0)?(c=(m>>>0)/3|0,(f[(f[g>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31)|0)==0):0)?(c=f[j>>2]|0,(f[e>>2]|0)!=(c|0)):0){m=h>>>5;d=1<<(h&31);h=0;l=c;do{c=(f[k>>2]|0)+(h<<5)|0;if(!(d&f[(f[l+(h*136|0)+4>>2]|0)+(m<<2)>>2]))hj(c,0);else hj(c,1);h=h+1|0;l=f[j>>2]|0}while(h>>>0<(((f[e>>2]|0)-l|0)/136|0)>>>0)}if((i|0)==-1)return 1;l=f[(f[(f[b>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((l|0)==-1)return 1;b=(l>>>0)/3|0;if(f[(f[g>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31)|0)return 1;b=f[j>>2]|0;if((f[e>>2]|0)==(b|0))return 1;g=i>>>5;l=1<<(i&31);i=0;h=b;do{b=(f[k>>2]|0)+(i<<5)|0;if(!(l&f[(f[h+(i*136|0)+4>>2]|0)+(g<<2)>>2]))hj(b,0);else hj(b,1);i=i+1|0;h=f[j>>2]|0}while(i>>>0<(((f[e>>2]|0)-h|0)/136|0)>>>0);return 1}function Ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;di((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=0;s=k;do{k=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[s+(r<<2)>>2]<<2)>>2]|0;b[h>>0]=f[k+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[k+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[k+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[k+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}di(f[k+60>>2]|0,c)|0;r=r+1|0;s=f[i>>2]|0}while(r>>>0<(f[j>>2]|0)-s>>2>>>0);u=d;return 1}function Je(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Th(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;Pp(i);Yo(i,$(n[c+20>>2]),(1<>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){$q(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=En(z|0,f[j+4>>2]|0,x|0,0)|0;j=ho(A|0,I|0,m|0,y|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0>>0);$q(g);u=h;return}while(1){k=f[e+(v<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=En(j|0,f[k+4>>2]|0,B|0,0)|0;k=ho(y|0,I|0,x|0,z|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=w;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($(F*$(f[c>>2]|0))+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=t>>>0)break;else w=w+l|0}$q(g);u=h;return}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;yp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;yp(k);l=b+4|0;if((a|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+8;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(a,g,e)}l=b+28|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+32;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+20|0;b=m;m=c;c=0;while(1){o=f[(f[b+(c<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Id(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=c;w=b;x=m}}else{v=c;w=b;x=m}c=v+1|0;f[j>>2]=c;if((c|0)>=(x-w>>2|0))break;else{b=w;m=x}}u=d;return}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;di(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}function Me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=r;u=o;while(1){b[u>>0]=b[t>>0]|0;t=t+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((t|0)==(e|0)){s=v;break}else u=v}}if((q|0)>0){w=r;x=s}else{k=c;return k|0}}else{w=e;x=o}s=x-(c+j)|0;r=c+s|0;if(r>>>0>>0){q=r;r=x;do{b[r>>0]=b[q>>0]|0;q=q+1|0;r=(f[n>>2]|0)+1|0;f[n>>2]=r}while((q|0)!=(o|0))}if(s|0)qm(x+(0-s)|0,c|0,s|0)|0;if((w|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(w|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)nq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0>>0?z:h):2147483647;h=c;if(!m)A=0;else A=vn(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=i;C=g}else{g=d;d=i;i=z;do{b[i>>0]=b[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(e|0));B=d;C=f[a>>2]|0}d=h-C|0;e=z+(0-d)|0;if((d|0)>0)kh(e|0,C|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=B;kh(h|0,c|0,d|0)|0;D=h+d|0;E=f[a>>2]|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=D;f[l>>2]=j;if(!E){k=z;return k|0}br(E);k=z;return k|0}function Ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=vn(40)|0;Ko(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=vn(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14821;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Lh(h,g)|0)!=0):0)t=Ok(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Ok(i,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=vn(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));Ko(c);f[c>>2]=2560;f[c+40>>2]=1232;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=vn(64)|0;Gm(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=vn(36)|0;Pm(c);j=c;k=j;f[a>>2]=k;u=e;return}function Oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=-1;i=n;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0;i=q}while(0);if(c){c=(f[a+84>>2]|0)+(h>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(h&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(h<<2)>>2]|0;q=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(c&31);if(!g){g=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((g|0)==-1){s=-1;t=i}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=i}}else{s=-1;t=-1}if((s|0)==(h|0)){u=r;return u|0}i=f[a+84>>2]|0;a=r;r=s;s=t;while(1){t=i+(r>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(r&31);t=a+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){q=f[b>>2]|0;d=f[q+12>>2]|0;p=c;while(1){c=f[d+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)==-1){v=-1;w=p}else{v=f[(f[q>>2]|0)+(d<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(h|0)){u=t;break}else{a=t;r=v;s=w}}return u|0}function Qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Th(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;Pp(h);Yo(h,$(n[c+20>>2]),(1<>>0>1073741823?-1:j<<2)|0;if(!e){$q(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=En(y|0,f[v+4>>2]|0,t|0,0)|0;v=ho(z|0,I|0,w|0,x|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));$q(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=En(v|0,f[i+4>>2]|0,A|0,0)|0;i=ho(x|0,I|0,t|0,y|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($(E*$(f[c>>2]|0))+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=r+j|0}$q(k);u=g;return}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Ui(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Ui(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=d;l=j}else{k=d;l=j}break}default:{k=0;l=g}}if((l+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=0;j=l;while(1){g=j+-48+(g*10|0)|0;l=f[c>>2]|0;if(l>>>0<(f[e>>2]|0)>>>0){f[c>>2]=l+1;o=h[l>>0]|0}else o=Ui(a)|0;if(!((o+-48|0)>>>0<10&(g|0)<214748364))break;else j=o}j=((g|0)<0)<<31>>31;if((o+-48|0)>>>0<10){l=o;d=g;b=j;while(1){i=En(d|0,b|0,10,0)|0;p=I;q=ho(l|0,((l|0)<0)<<31>>31|0,-48,-1)|0;r=ho(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Ui(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){l=s;d=r;b=p}else{t=s;u=r;v=p;break}}}else{t=o;u=g;v=j}if((t+-48|0)>>>0<10)do{t=f[c>>2]|0;if(t>>>0<(f[e>>2]|0)>>>0){f[c>>2]=t+1;w=h[t>>0]|0}else w=Ui(a)|0}while((w+-48|0)>>>0<10);if(f[e>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;c=(k|0)!=0;k=jo(0,0,u|0,v|0)|0;m=c?I:v;n=c?k:u}I=m;return n|0}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;ql(n);o=a+1088|0;ql(o);p=a+1068|0;ql(p);q=a+1036|0;Ij(q);r=a+12|0;Qh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+1108|0;ql(n);o=a+1088|0;ql(o);p=a+1068|0;ql(p);q=a+1036|0;Ij(q);r=a+12|0;Qh(r);return}function Te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Sa[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Sa[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)nq(e);else{l=a<<2;m=vn(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;uj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);br(q)}j=1;u=d;return j|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Rh(a+12|0);Gn(a+1036|0);Go(a+1068|0);Go(a+1088|0);Go(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+1164|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+1176|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function Ve(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=0;r=o;s=n;n=o;while(1){o=f[c+(q<<2)>>2]|0;t=f[k>>2]|0;if(t-s>>2>>>0>o>>>0){v=r;w=n}else{x=o+1|0;f[h>>2]=0;y=t-s>>2;z=s;A=t;if(x>>>0<=y>>>0)if(x>>>0>>0?(t=z+(x<<2)|0,(t|0)!=(A|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=r}else B=r;else{Eh(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(o<<2)|0;x=f[y>>2]|0;s=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,o>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=o;C=0.0}else C=0.0;else{D=+(x|0);C=+_g(D)*D}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=+_g(D)*D-C;p[a>>3]=+p[a>>3]+E;q=q+1|0;if((q|0)==(d|0))break;else{r=v;n=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Xe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=n;s=m}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0;q=k;r=f[k>>2]|0;s=f[l>>2]|0}a:do if((r|0)!=(s|0)){l=a+4|0;k=r;while(1){g=f[k>>2]|0;k=k+4|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,a,f[l>>2]|0)|0)){h=0;break}if((k|0)==(s|0))break a}u=c;return h|0}while(0);if(!(xc(a)|0)){h=0;u=c;return h|0}s=a+32|0;r=f[s>>2]|0;k=a+36|0;l=f[k>>2]|0;b:do if((r|0)!=(l|0)){g=r;do{if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(l|0));if((t|0)==18){u=c;return h|0}g=f[s>>2]|0;d=f[k>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[q>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ra[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=Qa[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}function Ye(a,b){a=a|0;b=b|0;ld(a,b);ld(a+32|0,b);ld(a+64|0,b);ld(a+96|0,b);ld(a+128|0,b);ld(a+160|0,b);ld(a+192|0,b);ld(a+224|0,b);ld(a+256|0,b);ld(a+288|0,b);ld(a+320|0,b);ld(a+352|0,b);ld(a+384|0,b);ld(a+416|0,b);ld(a+448|0,b);ld(a+480|0,b);ld(a+512|0,b);ld(a+544|0,b);ld(a+576|0,b);ld(a+608|0,b);ld(a+640|0,b);ld(a+672|0,b);ld(a+704|0,b);ld(a+736|0,b);ld(a+768|0,b);ld(a+800|0,b);ld(a+832|0,b);ld(a+864|0,b);ld(a+896|0,b);ld(a+928|0,b);ld(a+960|0,b);ld(a+992|0,b);ld(a+1024|0,b);return}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)nq(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}else{m=vn(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=m+(l<<2)|0;l=d+12|0;f[l>>2]=k;m=f[b>>2]|0;f[b>>2]=0;f[g>>2]=m;m=g+4|0;f[h>>2]=m;b=f[a>>2]|0;n=f[e>>2]|0;if((n|0)==(b|0)){o=g;p=l;q=h;r=b;s=m;t=n;v=k;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;li(d);u=c;return}else{y=n;z=g}do{y=y+-4|0;g=f[y>>2]|0;f[y>>2]=0;f[z+-4>>2]=g;z=(f[i>>2]|0)+-4|0;f[i>>2]=z}while((y|0)!=(b|0));o=z;p=l;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[l>>2]|0;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;li(d);u=c;return}function _e(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=f[a+64>>2]|0;if(!b)return;c=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;b=f[c+28>>2]|0;d=f[c+24>>2]|0;e=b-d>>2;g=e-(f[c+44>>2]|0)|0;h=f[a+56>>2]|0;i=d;if((b|0)==(d|0)?1:((f[h+12>>2]|0)-(f[h+8>>2]|0)|0)<5)j=g;else{d=c+12|0;c=h+96|0;h=g;g=0;while(1){b=f[i+(g<<2)>>2]|0;if((b|0)==-1)k=h;else{l=f[c>>2]|0;m=f[l+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;n=(((b>>>0)%3|0|0)==0?2:-1)+b|0;a:do if(((n|0)!=-1?(o=f[(f[d>>2]|0)+(n<<2)>>2]|0,(o|0)!=-1):0)?(p=o+(((o>>>0)%3|0|0)==0?2:-1)|0,(p|0)!=-1&(p|0)!=(b|0)):0){o=0;q=p;p=m;while(1){r=f[l+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;s=o+((r|0)!=(p|0)&1)|0;t=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((t|0)==-1){u=s;v=r;break a}w=f[(f[d>>2]|0)+(t<<2)>>2]|0;if((w|0)==-1){u=s;v=r;break a}q=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if(!((q|0)!=-1&(q|0)!=(b|0))){u=s;v=r;break}else{o=s;p=r}}}else{u=0;v=m}while(0);l=b+1|0;n=((l>>>0)%3|0|0)==0?b+-2|0:l;if((n|0)!=-1?(l=f[(f[d>>2]|0)+(n<<2)>>2]|0,n=l+1|0,(l|0)!=-1):0)x=u+(((v|0)==(m|0)&(u|0?((((n>>>0)%3|0|0)==0?l+-2|0:n)|0)!=-1:0))<<31>>31)|0;else x=u;k=x+h|0}g=g+1|0;if(g>>>0>=e>>>0){j=k;break}else h=k}}f[a+52>>2]=j;return}function $e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=ul(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)nq(e);else{n=vn(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);uj(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);Oj(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);br(a)}u=d;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Gn(a+12|0);Go(a+44|0);Go(a+64|0);Go(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+140|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+152|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Go(a+12|0);Go(a+32|0);Go(a+52|0);Go(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+128|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+140|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=vn(40)|0;e=d+16|0;rj(e,c);rj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0>>0?n:j;if((l|0)!=0?(o=al(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function df(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3808;xi(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}mj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+140>>2]|0;if(b|0)br(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;br(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)br(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0)br(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ji(a);br(a);return}function ef(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+140|0;c=f[b>>2]|0;if(c|0){d=a+144|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;ql(n);o=a+52|0;ql(o);p=a+32|0;ql(p);q=a+12|0;ql(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+72|0;ql(n);o=a+52|0;ql(o);p=a+32|0;ql(p);q=a+12|0;ql(q);return}function ff(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Eh(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(wb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(wb(e,c)|0)){n=0;o=15;break}i=f[l>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+152|0;c=f[b>>2]|0;if(c|0){d=a+156|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;ql(n);o=a+64|0;ql(o);p=a+44|0;ql(p);q=a+12|0;Ij(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+84|0;ql(n);o=a+64|0;ql(o);p=a+44|0;ql(p);q=a+12|0;Ij(q);return}function hf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3608;xj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}mj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+140>>2]|0;if(b|0)br(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;br(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)br(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0)br(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ji(a);br(a);return}function jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=vn(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3784;f[j+12>>2]=3764;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3764;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3764;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,m,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];gg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Ug(j,i);f[a>>2]=o;Si(i);f[h>>2]=3764;i=f[h+20>>2]|0;if(i|0)br(i);i=f[h+8>>2]|0;if(!i){u=e;return}br(i);u=e;return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}Gn(i);Ak(i);if((f[h>>2]|0)>0){k=a+56|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;hj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Ij(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(i);u=c;return 1}function lf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=vn(96)|0;Al(j,c);f[h>>2]=j;j=vh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;br(h)}br(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);br(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;br(k)}br(l)}br(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){Eh(m,h-q|0,6376);break}if(h>>>0>>0?(q=p+(h<<2)|0,(q|0)!=(r|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}Ej(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function mf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)$q(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;nq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Bc(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)nq(x);return 0}function nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;br(a)}if((b[s+11>>0]|0)<0)br(f[s>>2]|0);br(d);return c|0}function of(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+56|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(n*12|0)>>2]|0;s=r-m|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((h|0)==(p|0)){Ti(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[h>>2]=t;t=h+4|0;f[e>>2]=t;v=t;w=p}t=f[q+(n*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ti(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(n*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ti(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=n+1|0;if(t>>>0>=j>>>0)break;m=r;n=t;o=f[g>>2]|0;h=f[e>>2]|0;p=f[i>>2]|0}k=f[c>>2]|0;l=f[e>>2]|0}Mc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);br(a);u=b;return 1}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}Gn(i);Ak(i);if((f[h>>2]|0)>0){k=a+76|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;hj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Ij(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(i);u=c;return 1}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=vn(76)|0;j=vn(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=4052;f[j+8>>2]=k;f[h>>2]=j;yl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Sg(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Va[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ti(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0>>0?(g=m+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{Eh(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function rf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)$q(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;nq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Ac(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)nq(x);return 0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){o=c;p=f[o+4>>2]|0;q=m;f[q>>2]=f[o>>2];f[q+4>>2]=p;j=j+-1|0;if(!j)break;else m=m+8|0}}if(!l){m=h+(b<<3)|0;if((m|0)==(n|0))return;else{r=i;s=n+(~((n+-8-m|0)>>>3)<<3)|0;break}}else{m=b-k|0;j=m;p=n;while(1){q=c;o=f[q+4>>2]|0;t=p;f[t>>2]=f[q>>2];f[t+4>>2]=o;j=j+-1|0;if(!j)break;else p=p+8|0}r=i;s=n+(m<<3)|0;break}}else{p=g;if(!g)u=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-8-g|0)>>>3)<<3);br(p);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)nq(a);j=u>>2;p=u>>3>>>0<268435455?(j>>>0>>0?b:j):536870911;if(p>>>0>536870911)nq(a);j=vn(p<<3)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(p<<3);p=b;l=j;while(1){o=c;t=f[o+4>>2]|0;q=l;f[q>>2]=f[o>>2];f[q+4>>2]=t;p=p+-1|0;if(!p)break;else l=l+8|0}r=k;s=j+(b<<3)|0}while(0);f[r>>2]=s;return}function tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=+$(n[b>>2]);g=+K(+e);h=+$(n[b+4>>2]);i=g+ +K(+h);g=+$(n[b+8>>2]);j=i+ +K(+g);b=j>1.0e-06;i=1.0/j;k=f[a+12>>2]|0;j=+(k|0);l=~~+J(+((b?i*e:1.0)*j+.5));m=~~+J(+((b?i*h:0.0)*j+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?i*g:0.0)<0.0?0-m|0:m;do if(!o){if((q|0)<0)r=(p|0)>-1?p:0-p|0;else r=(f[a+8>>2]|0)-((p|0)>-1?p:0-p|0)|0;if((p|0)<0){s=(q|0)>-1?q:0-q|0;t=r;break}else{s=(f[a+8>>2]|0)-((q|0)>-1?q:0-q|0)|0;t=r;break}}else{s=k+p|0;t=k+q|0}while(0);q=(t|0)==0;p=(s|0)==0;r=f[a+8>>2]|0;if(!(s|t)){u=r;v=r;f[c>>2]=u;f[d>>2]=v;return}a=(r|0)==(s|0);if(q&a){u=s;v=s;f[c>>2]=u;f[d>>2]=v;return}o=(r|0)==(t|0);if(p&o){u=t;v=t;f[c>>2]=u;f[d>>2]=v;return}if(q&(k|0)<(s|0)){u=0;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(o&(k|0)>(s|0)){u=t;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(t|0)){u=(k<<1)-t|0;v=s;f[c>>2]=u;f[d>>2]=v;return}if(!p){u=t;v=s;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(t|0)?(k<<1)-t|0:t;v=0;f[c>>2]=u;f[d>>2]=v;return}function uf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Kg(d);m=a+1068|0;Vm(m);k=a+1088|0;Vm(k);l=a+1108|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];ib(a,i,h);Ye(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Kg(d);m=a+1068|0;Vm(m);k=a+1088|0;Vm(k);l=a+1108|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];kb(a,i,h);Ye(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){uj(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)nq(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;ap(p,16422);f[p>>2]=7412;va(p|0,1160,122)}else{r=vn(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;uj(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;li(d);u=c;return}function xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function zf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))zi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}function Af(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(b|0)){l=q+8|0;if((((d[l>>1]|0)==c<<16>>16?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function Bf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Vm(d);m=a+32|0;Vm(m);k=a+52|0;Vm(k);l=a+72|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];hb(a,i,h);Gg(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function Cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Ak(d);m=a+44|0;Vm(m);k=a+64|0;Vm(k);l=a+84|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];lb(a,i,h);ld(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)nq(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1260;f[k+(e*24|0)+4>>2]=f[b+4>>2];mk(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=k;k=g;g=d;do{f[g+-24>>2]=1260;f[g+-20>>2]=f[j+-20>>2];d=g+-16|0;o=j+-16|0;f[d>>2]=0;p=g+-12|0;f[p>>2]=0;f[g+-8>>2]=0;f[d>>2]=f[o>>2];d=j+-12|0;f[p>>2]=f[d>>2];p=j+-8|0;f[g+-8>>2]=f[p>>2];f[p>>2]=0;f[d>>2]=0;f[o>>2]=0;f[g+-4>>2]=f[j+-4>>2];j=j+-24|0;g=k+-24|0;k=g}while((j|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Va[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;br(m);return}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3716;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)nq(i);else{o=((n+-1|0)>>>5)+1|0;p=vn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)nq(i);k=((l+-1|0)>>>5)+1|0;l=vn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);u=c;return}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(c|0)){l=q+8|0;if((((b[l>>0]|0)==d<<24>>24?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function Hf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;nq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];ub(l,h,b,w)|0;m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)nq(y);return 0}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3764;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)nq(i);else{o=((n+-1|0)>>>5)+1|0;p=vn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)nq(i);k=((l+-1|0)>>>5)+1|0;l=vn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);u=c;return}function Jf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;Dd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;Bd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Kf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;nq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];tb(l,h,b,w)|0;m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)nq(y);return 0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)qm(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((b|0)==(c|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);br(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)nq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(m>>>0>1073741823)nq(a);h=vn(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((k|0)==(m|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){uj(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)nq(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{n=vn(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;uj(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);br(m)}}while((c|0)!=(g|0))}if(!p)return;br(p);return}function Nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-4177920|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+4194304|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1077936128|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Of(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-2080768|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+6291456|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1075838976|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1032192|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+7340032|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074790400|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Qf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g<<1,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Rf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g<<2,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Sf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-245760|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8126464|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074003968|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-114688|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8257536|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073872896|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];we(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;qm(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function Vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-16384|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8355840|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073774592|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=25;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=25;break}k=f[k>>2]|0;if(!k){i=0;o=25;break}}if((o|0)==25)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){if((((f[p+8>>2]|0)==(c|0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=25;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=25;break}}p=f[p>>2]|0;if(!p){i=0;o=25;break}}if((o|0)==25)return i|0;return 0}function Xf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Yf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;qd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;pd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=0;i=a+12|0;j=a+8|0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=0;l=e;while(1){e=f[l>>2]|0;m=f[d+(e<<2)>>2]|0;if(m>>>0>>0)n=a;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(e<<2)>>2]|0;else t=e;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}l=l+4|0;if((l|0)==(g|0)){h=n;i=k;j=c;break}else a=n}}n=f[i>>2]|0;a=f[j>>2]|0;if((n-a|0)>0){u=0;v=a;w=n}else return;while(1){n=f[v+(u<<2)>>2]|0;b[n+84>>0]=0;a=n+68|0;c=n+72|0;n=f[c>>2]|0;k=f[a>>2]|0;g=n-k>>2;l=k;k=n;if(h>>>0<=g>>>0)if(h>>>0>>0?(n=l+(h<<2)|0,(n|0)!=(k|0)):0){f[c>>2]=k+(~((k+-4-n|0)>>>2)<<2);x=v;y=w}else{x=v;y=w}else{Eh(a,h-g|0,6376);x=f[j>>2]|0;y=f[i>>2]|0}u=u+1|0;if((u|0)>=(y-x>>2|0))break;else{v=x;w=y}}return}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);br(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)nq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)nq(a);h=vn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function $f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;b[m>>0]=j;b[m+1>>0]=j>>>8;n=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;o=j+8372224|0;b[m>>0]=o;b[m+1>>0]=o>>>8;b[m+2>>0]=o>>>16;n=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;o=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+-1073758208|0;b[o>>0]=m;b[o+1>>0]=m>>>8;b[o+2>>0]=m>>>16;b[o+3>>0]=m>>>24;n=(f[l>>2]|0)+4|0;break}else{n=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;n=(f[l>>2]|0)+1|0}while(0);k=((n|0)<0)<<31>>31;Rn(e);Ah(n,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,n|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,n|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);br(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)nq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)nq(a);h=vn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function bg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+80|0;h=g;i=g+64|0;Pl(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X(bm(5)|0,d)|0;Mj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=vn(96)|0;Al(k,h);Ej(k,c)|0;f[i>>2]=k;ij(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;br(i)}br(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);br(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c)}br(h)}br(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0>>0){Eh(a,e-i|0,1596);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((i|0)==(d|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=m;m=k;k=n;while(1){n=f[a>>2]|0;f[d>>2]=n;if((m|0)==(f[b>>2]|0)){Ti(g,d);o=f[l>>2]|0}else{f[m>>2]=n;f[i>>2]=m+4;o=k}n=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((n|0)<(q|0)){s=r;t=n;v=o}else{w=n+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0>>0?(p=r+(w<<2)|0,(p|0)!=(x|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=n;z=r;A=o}else{y=n;z=r;A=o}else{Eh(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}m=f[i>>2]|0;f[s+(t<<2)>>2]=(m-(f[g>>2]|0)>>2)+-1;a=a+4|0;if((a|0)==(h|0))break;else k=v}u=c;return}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)br(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)br(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Di(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(rc(a,d)|0)){s=0;u=c;return s|0}fb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function eg(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){k=p+8|0;if(((d[k>>1]|0)==c<<16>>16?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function fg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=ho(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=ko(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=k;n=h;o=i}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=ho(h|0,i|0,8,0)|0;i=q+(0-k)|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;Ah(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;qm(i+q|0,i+8|0,j|0)|0;kh(i|0,f[d>>2]|0,q|0)|0;i=e;h=ho(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)br(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;br(h)}h=e;l=p;m=p;n=f[h>>2]|0;o=f[h+4>>2]|0}h=f[l>>2]|0;l=f[a>>2]|0;p=h-l|0;k=jo(j|0,g|0,n|0,o|0)|0;o=ho(k|0,I|0,p|0,0)|0;k=l;l=h;if(p>>>0>=o>>>0){if(p>>>0>o>>>0?(h=k+o|0,(h|0)!=(l|0)):0)f[m>>2]=h}else Gi(a,o-p|0);p=e;f[p>>2]=0;f[p+4>>2]=0;u=c;return}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{br(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)nq(c);else{j=((k+-1|0)>>>5)+1|0;l=vn(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);qm(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{br(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)nq(h);else{n=((p+-1|0)>>>5)+1|0;c=vn(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);qm(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Sk(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Sk(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Sk(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);br(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)nq(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)nq(a);j=vn(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function jg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=jh(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=i>>>0)nq(k);m=g;if(l>>>0<=j>>>0)nq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)nq(k);if(l>>>0<=e>>>0)nq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)nq(k);if(l>>>0<=d>>>0)nq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)nq(k);if(l>>>0<=c>>>0)nq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|0}function kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(c|0)){k=p+8|0;if(((b[k>>0]|0)==d<<24>>24?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function lg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Jg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Xa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)Qp(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;di(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(Df(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;di(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Me(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);di(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(Df(0,b,e+8|0)|0)){m=0;r=10;break}mg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 0}function ng(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Tb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Tb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=vn(76)|0;Fn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Sg(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ti(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0>>0?(g=a+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{Eh(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);br(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)nq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)nq(a);j=vn(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;kh(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;kh(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function qg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+96|0;h=g+40|0;i=g;Ym(h,d);Ke(i,c,d);Mh(h,i);Hj(i+24|0,f[i+28>>2]|0);Sj(i+12|0,f[i+16>>2]|0);Hj(i,f[i+4>>2]|0);ej(a,h,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[h+40>>2];f[c+44>>2]=f[h+44>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}f[h>>2]=3496;Hj(h+28|0,f[h+32>>2]|0);Sj(h+16|0,f[h+20>>2]|0);Hj(h+4|0,f[h+8>>2]|0);u=g;return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;if(!(zh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=vn(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14821;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Lh(d,g)|0)!=0):0)o=Ok(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Ok(i,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}vp(a+40|0,o);h=1;u=e;return h|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=23;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=23;break}j=f[j>>2]|0;if(!j){h=0;n=23;break}}if((n|0)==23)return h|0}else o=a;while(1){a=f[o+4>>2]|0;if((a|0)==(b|0)){if(((f[o+8>>2]|0)==(c|0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=23;break}}else{if(a>>>0>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=23;break}}o=f[o>>2]|0;if(!o){h=0;n=23;break}}if((n|0)==23)return h|0;return 0}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;br(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)nq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)nq(a);i=vn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{o=c;c=k;while(1){b[c>>0]=b[o>>0]|0;o=o+1|0;if((o|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[n>>2]|0)==(p|0))return;f[n>>2]=p;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=ho(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=ho(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<>2]&~i|i&e<>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ti(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<>2]&~l|l&e<>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ti(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function wg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Wb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Wb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{qm(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;ap(m,16422);f[m>>2]=7412;va(m|0,1160,122)}m=vn(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{br(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;p=c+4|0;f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;q=f[m+4>>2]|0;m=a+20|0;if((q|0)>0|(q|0)==0&k>>>0>0){r=q;s=k;t=g}else{f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,m,m+4|0)|0;m=l;r=f[m+4>>2]|0;s=f[m>>2]|0;t=g}}else{r=o;s=n;t=g}b[h>>0]=f[i>>2];if(!((r|0)>0|(r|0)==0&s>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=_q((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){$q(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=0;r=n;n=a;s=a;a=m;while(1){m=f[r+(j<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(m<<2)>>2]|0;else t=m;m=s+48|0;v=f[m>>2]|0;w=f[m+4>>2]|0;m=s+40|0;x=f[m>>2]|0;y=En(x|0,f[m+4>>2]|0,t|0,0)|0;m=ho(y|0,I|0,v|0,w|0)|0;kh(k|0,(f[f[s>>2]>>2]|0)+m|0,x|0)|0;x=o;m=f[x+4>>2]|0;if((m|0)>0|(m|0)==0&(f[x>>2]|0)>>>0>0){z=r;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Me(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=j+1|0;if(x>>>0>=A-z>>2>>>0)break;m=f[i>>2]|0;j=x;r=z;n=m;s=m;a=A}$q(k);u=e;return 1}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1)break;d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1)break;else l=d}e=0;g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;f[c>>2]=g;return e|0}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=al(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=al(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;xe(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;qm(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Eg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=vn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14805;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ok(i,h,-1)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);switch(j|0){case -1:{if((ni(i)|0)==10)n=6;else n=5;break}case 1:{n=5;break}default:n=6}if((n|0)==5){j=vn(68)|0;Zo(j);o=j}else if((n|0)==6){n=vn(64)|0;Ip(n);o=n}Io(o,d);zd(a,o,i,e);if(f[a>>2]|0){p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Va[r&127](o);u=g;return}e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[o+52>>2];f[c+44>>2]=f[o+60>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Va[r&127](o);u=g;return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(j>>>0>k>>>0){m=j;n=((m-l>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-m|0;m=p>>2;if(!m)q=j;else{qm(o|0,j|0,p|0)|0;q=f[i>>2]|0}p=o+(m<<2)|0;f[c>>2]=p;f[i>>2]=q+(n<<2);r=p;break}p=h-l>>1;l=(p|0)==0?1:p;if(l>>>0>1073741823){p=ra(8)|0;ap(p,16422);f[p>>2]=7412;va(p|0,1160,122)}p=vn(l<<2)|0;n=p;m=p+(l>>>2<<2)|0;o=m;s=p+(l<<2)|0;if((j|0)==(d|0)){t=o;u=k}else{k=m;m=o;l=j;do{f[k>>2]=f[l>>2];k=m+4|0;m=k;l=l+4|0}while((l|0)!=(d|0));t=m;u=f[a>>2]|0}f[a>>2]=n;f[i>>2]=o;f[c>>2]=t;f[e>>2]=s;if(!u)r=t;else{br(u);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ti(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}function Hg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=a+4|0;a=vn(32)|0;f[k>>2]=a;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=a;m=14821;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[a+17>>0]=0;$j(Id(c,j)|0,k,d);if((b[k+11>>0]|0)<0)br(f[k>>2]|0);d=vn(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14740;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;ti(Id(c,j)|0,k,g,e);if((b[k+11>>0]|0)<0)br(f[k>>2]|0);e=vn(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14760;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Yj(Id(c,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}br(f[k>>2]|0);u=i;return}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;br(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)nq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)nq(a);i=vn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)qm(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){uj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)nq(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{n=vn(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;uj(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Va[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;br(p);return}function Kg(a){a=a|0;Ak(a);Ak(a+32|0);Ak(a+64|0);Ak(a+96|0);Ak(a+128|0);Ak(a+160|0);Ak(a+192|0);Ak(a+224|0);Ak(a+256|0);Ak(a+288|0);Ak(a+320|0);Ak(a+352|0);Ak(a+384|0);Ak(a+416|0);Ak(a+448|0);Ak(a+480|0);Ak(a+512|0);Ak(a+544|0);Ak(a+576|0);Ak(a+608|0);Ak(a+640|0);Ak(a+672|0);Ak(a+704|0);Ak(a+736|0);Ak(a+768|0);Ak(a+800|0);Ak(a+832|0);Ak(a+864|0);Ak(a+896|0);Ak(a+928|0);Ak(a+960|0);Ak(a+992|0);Ak(a+1024|0);return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)qm(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;kh(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);br(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)nq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)nq(a);j=vn(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;kh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(g);else{j=vn(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;uj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=k;n=j;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{j=l+(f[a+(g<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;r=0.0;b=0;while(1){g=f[l+(b<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=c+1|0;v=r+ +_g(s/o)*s}else{t=c;v=r}b=b+1|0;if((b|0)==(h|0)){p=t;q=v;break}else{c=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!l){I=d;u=e;return p|0}if((m|0)!=(l|0))f[i>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(n);I=d;u=e;return p|0}function Ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e+4|0;h=e;i=vn(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ph(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))Dh(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ti(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;br(b)}br(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);br(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(h)}br(c);u=d;return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Fo(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=Fo(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6348;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}ii(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){dj(i);br(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}br(g)}dj(a);br(a);return}function Rg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)nq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;br(m);return}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=al(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=al(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];gg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{pg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);pg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);pg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Lg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)nq(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;ap(i,16422);f[i>>2]=7412;va(i|0,1160,122)}else{l=vn(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)kh(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;br(e);return}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)nq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){dj(n);br(n)}}while((h|0)!=(g|0))}if(!m)return;br(m);return}function Xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)nq(h);j=d;if(i>>>0<=g>>>0)nq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)nq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)nq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)nq(h);if(i>>>0<=c>>>0)nq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+96|0;g=e+40|0;h=e;Um(g,c);Ke(h,b,c);Mh(g,h);Hj(h+24|0,f[h+28>>2]|0);Sj(h+12|0,f[h+16>>2]|0);Hj(h,f[h+4>>2]|0);ej(a,g,d);f[g>>2]=3496;Hj(g+28|0,f[g+32>>2]|0);Sj(g+16|0,f[g+20>>2]|0);Hj(g+4|0,f[g+8>>2]|0);u=e;return}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(b|0)!=(j|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Vg(h,c-k|0,e);k=0;b=f[h>>2]|0;while(1){j=k*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=((f[i>>2]|0)-b|0)/12|0;o=k;k=k+1|0;if(o>>>0>>0){p=b;q=b}else{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Vg(h,k-j|0,e);j=f[h>>2]|0;p=j;q=j}f[p+(o*12|0)>>2]=l;f[p+(o*12|0)+4>>2]=m;f[p+(o*12|0)+8>>2]=n;if((k|0)==(c|0)){g=1;break}else b=q}u=a;return g|0}function _g(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=-1077;i=g;j=f[s>>2]|0;k=g;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=-1023;i=c;j=b;k=c;l=9}else e=a;while(0);if((l|0)==9){l=i+614242|0;f[s>>2]=j;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;j=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=j;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(h+(l>>>20)|0);m=q+o;e=m+(q+(o-m)+(t*1.4426950407214463+(t+r)*1.6751713164886512e-10))}return +e}function $g(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14624;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Lh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Ok(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}br(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Og(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);br(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(h)}br(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Hh(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function bh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Lh(h,e)|0)==0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ni(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(ak(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);u=d;return 1}function ch(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;di(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;di((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;di((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}Ai(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(1<>0]|0);i=(f[j>>2]|0)+l|0;b[i>>0]=k<>0]|0);f[d>>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0>>0);fg(f[(f[g>>2]|0)+44>>2]|0);return 1}function dh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Lh(h,e)|0)==0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ni(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(ak(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);u=d;return 1}function eh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Od(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=_q(o)|0;uj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Od(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];$q(e);u=g;return 1}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)nq(d);else{l=vn(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);uj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0>>0)}Oj(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);br(a);u=c;return}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)nq(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Ro(a,j,(e&255)+1|0)|0;br(j);o=16}}else{j=k+1|0;p=vn(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Ro(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Ro(n,m,(f[j>>2]|0)+1|0)|0;br(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=k+2|0;m=h;break}else{l=k+-1|0;m=h;break}}else{h=a;k=g;while(1){i=h+1|0;n=k+1|0;o=((n>>>0)%3|0|0)==0?k+-2|0:n;if((o|0)==-1){l=b;m=i;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=b;m=i;break b}k=((o>>>0)%3|0|0)==0?n+-2|0:o;if((k|0)==-1){l=b;m=i;break b}if((k|0)==(b|0)){d=i;j=15;break a}else h=i}}while(0);if((l|0)==-1){d=m;j=15;break}else{a=m;e=1;g=l}}if((j|0)==15)return d|0;return 0}function ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;Xg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=e;n=c;o=j;while(1){f[n>>2]=o;if((m|0)==(a|0)){p=a;break}j=m+-4|0;o=f[j>>2]|0;if(h>>>0<=o>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(o<<3)>>2]|0)>>>0){p=m;break}else{q=m;m=j;n=q}}f[p>>2]=d}n=c+4|0;if((n|0)==(b|0)){k=3;break}else{m=c;c=n;e=m}}if((k|0)==3)return;else if((k|0)==5)nq(g);else if((k|0)==7)nq(g);else if((k|0)==11)nq(g)}function jh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Xg(a,b,c,e)|0;h=f[d>>2]|0;i=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=h>>>0)nq(j);l=e;if(k>>>0<=i>>>0)nq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)nq(j);if(k>>>0<=d>>>0)nq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)nq(j);if(k>>>0<=c>>>0)nq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1296;g=a+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ti(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0>>0?(j=m+(a<<2)|0,(j|0)!=(w|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{Eh(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function mh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ra[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0>>0?(d=h+(j<<2)|0,(d|0)!=(e|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else Di(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)?(h=f[c>>2]|0,k=e-b>>2,f[h+(f[i>>2]<<2)>>2]=j,k>>>0>1):0){b=1;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0>>0)}j=j+1|0}while(j>>>0>>0);g=1;return g|0}function nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Di(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function oh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(sp(a,f[c+8>>2]|0,g)|0)){if(!(sp(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Za[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;_a[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else dn(0,c,d,e);while(0);return}function ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Ld(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=vn(40)|0;rj(c+16|0,d);rj(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Oe(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function qh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)nq(a);n=j<<6;j=c+31&-32;wi(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)br(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){uj(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{uj(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+88|0;ld(n,b);u=c;return 1}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+108|0;ld(n,b);u=c;return 1}function th(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+32|0;d=f[a+64>>2]|0;e=(Qa[f[(f[d>>2]|0)+40>>2]&127](d)|0)+56|0;d=f[e>>2]|0;Ai(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){fg(c);return}i=a+48|0;j=a+44|0;a=(g>>>2)+-1|0;g=e;while(1){e=f[g+(a<<2)>>2]|0;k=f[3652+(e<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>e&1|0):0){m=l+4|0;n=0;o=f[m>>2]|0;do{p=o>>>3;q=o&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(1<>0]|0);r=(f[l>>2]|0)+p|0;b[r>>0]=(e>>>n&1)<>0]|0);o=(f[m>>2]|0)+1|0;f[m>>2]=o;n=n+1|0}while((n|0)!=(k|0))}k=a+-1|0;if((k|0)<=-1)break;a=k;g=f[d>>2]|0}fg(c);return}function uh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Rn(h);do if((lm(c,0)|0)!=-1){if(d){if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Va[f[(f[c>>2]|0)+20>>2]&127](c)}Yg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)br(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;ug(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)br(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}j=k;u=g;return j|0}function vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Xa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;br(d)}br(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);br(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;br(a)}br(e)}br(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function wh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+352>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Hi(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[i+56>>2]|0))j=h;else{k=f[g>>2]|0;f[k+(h*136|0)>>2]=a;l=f[k+(h*136|0)+104>>2]|0;m=k+(h*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;nk(k+(h*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(h*136|0)+128>>2]=0;Gc(l+(h*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=h+1|0}a=a+1|0;if((a|0)>=(d|0))break;else h=j}return 1}function xh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+288>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Hi(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[i+56>>2]|0))j=h;else{k=f[g>>2]|0;f[k+(h*136|0)>>2]=a;l=f[k+(h*136|0)+104>>2]|0;m=k+(h*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;nk(k+(h*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(h*136|0)+128>>2]=0;Gc(l+(h*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=h+1|0}a=a+1|0;if((a|0)>=(d|0))break;else h=j}return 1}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)nq(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;ap(h,16422);f[h>>2]=7412;va(h|0,1160,122)}else{k=vn(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)kh(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;br(d);return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;if(!(mn(a,b,c)|0)){g=0;u=d;return g|0}if((Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){g=0;u=d;return g|0}h=$g(c,f[b+48>>2]|0)|0;Xa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(!c){f[e>>2]=0;i=b}else{Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);i=f[h>>2]|0}if(!i){g=1;u=d;return g|0}if(Ra[f[(f[a>>2]|0)+36>>2]&127](a,i)|0){g=1;u=d;return g|0}i=f[h>>2]|0;f[h>>2]=0;if(!i){g=1;u=d;return g|0}Va[f[(f[i>>2]|0)+4>>2]&127](i);g=1;u=d;return g|0}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;k=ko(a|0,c|0,7)|0;m=Ah(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function Bh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Zi(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((Qa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Yf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=vn(44)|0;f[c>>2]=1608;f[c+4>>2]=g;g=c+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);f[c>>2]=1664;i=c}f[a>>2]=i;return}function Ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((qb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=gr(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=qb(a,c,g,i,h)|0;if(!o)s=j;else{Sa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=qb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)fr(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){wf(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;br(h)}br(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);br(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(a)}br(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)nq(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}else{e=vn(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)kh(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;br(i);return}function Fh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=tp(f[a+8>>2]|0,e)|0;h=tp(f[a+12>>2]|0,e)|0;i=tp(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=tp(f[a+(q<<2)>>2]|0,e)|0;s=tp(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=ol(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=tp(f[a+(m<<2)>>2]|0,e)|0;j=tp(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Gh(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(sp(l,e,0)|0){f[i+48>>2]=1;_a[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Za[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)nq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{d=vn(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)kh(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;br(h);return}function Ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)br(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)br(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;qh(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;qh(a+12|0,k,e);ig(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6336);nk(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);nk(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Jh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Td(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Td(a,e);return}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=al(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=al(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function Mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=a+4|0;j=(i|0)==(b|0);if(!j){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(i,e,d)}if(!j){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Hc(a+16|0,e,d)}if(j){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(a+28|0,e,d);u=c;return}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;bg(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=0;p=d;while(1){d=f[p>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(d<<2)>>2]|0;else q=d;f[h>>2]=q;d=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Qb(i,g,d,a+(o<<2)|0)|0)){m=0;r=7;break}p=p+4|0;if((p|0)==(c|0)){m=1;r=7;break}else o=o+k|0}if((r|0)==7){u=e;return m|0}return 0}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1472;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=f[a+48>>2]|0;if(c|0)br(c);c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Va[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}br(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);br(g);return}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(h|0)!=(i|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else Di(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=j;e=j;h=1;while(1){i=f[b+(h<<2)>>2]|0;g=(i|0)<(e|0);k=g?i:e;l=g?d:(i|0)>(d|0)?i:d;h=h+1|0;if((h|0)==(c|0)){m=l;n=k;break}else{d=l;e=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=jo(m|0,((m|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Qh(a){a=a|0;Ij(a+992|0);Ij(a+960|0);Ij(a+928|0);Ij(a+896|0);Ij(a+864|0);Ij(a+832|0);Ij(a+800|0);Ij(a+768|0);Ij(a+736|0);Ij(a+704|0);Ij(a+672|0);Ij(a+640|0);Ij(a+608|0);Ij(a+576|0);Ij(a+544|0);Ij(a+512|0);Ij(a+480|0);Ij(a+448|0);Ij(a+416|0);Ij(a+384|0);Ij(a+352|0);Ij(a+320|0);Ij(a+288|0);Ij(a+256|0);Ij(a+224|0);Ij(a+192|0);Ij(a+160|0);Ij(a+128|0);Ij(a+96|0);Ij(a+64|0);Ij(a+32|0);Ij(a);return}function Rh(a){a=a|0;Gn(a);Gn(a+32|0);Gn(a+64|0);Gn(a+96|0);Gn(a+128|0);Gn(a+160|0);Gn(a+192|0);Gn(a+224|0);Gn(a+256|0);Gn(a+288|0);Gn(a+320|0);Gn(a+352|0);Gn(a+384|0);Gn(a+416|0);Gn(a+448|0);Gn(a+480|0);Gn(a+512|0);Gn(a+544|0);Gn(a+576|0);Gn(a+608|0);Gn(a+640|0);Gn(a+672|0);Gn(a+704|0);Gn(a+736|0);Gn(a+768|0);Gn(a+800|0);Gn(a+832|0);Gn(a+864|0);Gn(a+896|0);Gn(a+928|0);Gn(a+960|0);Gn(a+992|0);return}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=vn(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=vn(44)|0;Vb(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;tk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}dj(j);br(j);g=1;u=a;return g|0}function Th(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;c=u;u=u+64|0;j=c;k=i?6:5;Pl(j);i=f[h+56>>2]|0;h=X(bm(k)|0,e)|0;Mj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=vn(96)|0;Al(h,j);f[a>>2]=h;Ej(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0>>0){Eh(d,g-j|0,1280);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((j|0)==(e|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rd(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){vd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;vd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Gd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Gd(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Pd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Pd(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){td(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;td(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ad(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ad(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Kd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Kd(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;sd(a,e);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){wd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;wd(a,e);return}function bi(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Hd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Hd(a,e);return} -function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=hc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=_b(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=uc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=mc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=gc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=$b(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=sc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=lc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=gc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=$b(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=sc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=lc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=ec(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Xb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=nc(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=jc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=ec(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Xb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=nc(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=jc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=hc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=_b(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=uc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=mc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=hc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=_b(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=uc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=mc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ra[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(Qa[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(Qa[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(f[n+80>>2]|0,i)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)nq(j);else{v=r<<2;w=vn(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;uj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Ta[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=s;A=f[j>>2]|0;p=20;break}if(!(Qa[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=f[m>>2]|0?x:s;A=x;p=20}}else{z=s;A=y;p=20}while(0);if((p|0)==20)Fm(z,r,A);A=a+4|0;a=f[A>>2]|0;do if(a){z=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=vn(48)|0;f[g>>2]=y;f[g+8>>2]=-2147483600;f[g+4>>2]=34;s=y;w=10931;x=s+34|0;do{b[s>>0]=b[w>>0]|0;s=s+1|0;w=w+1|0}while((s|0)<(x|0));b[y+34>>0]=0;w=ak(z,g,1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;s=0;x=0;do{x=f[w+(s<<2)>>2]|x;s=s+1|0}while((s|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;s=o;w=f[s>>2]|0;z=f[s+4>>2]|0;if((z|0)>0|(z|0)==0&w>>>0>0){C=z;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}if((B|0)==(bm(5)|0)){w=f[j>>2]|0;z=o;s=f[z+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[z>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;z=0;do{s=(f[j>>2]|0)+(z<<2)|0;y=o;v=f[y+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[y>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Me(d,g,s,s+B|0)|0}z=z+1|0}while(z>>>0>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}yp(g);k=f[A>>2]|0;if(k|0)bk(g,10-(ni(f[k+48>>2]|0)|0)|0)|0;k=Mc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Hj(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ra[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);br(d)}q=E}l=q;u=e;return l|0}function xc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0

>>0?(r=q+(l<<2)|0,(r|0)!=(o|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=n;t=k;v=j}else{s=n;t=k;v=j}else{Di(g,l-p|0);p=f[h>>2]|0;s=p;t=p;v=f[i>>2]|0}p=v-t|0;l=p>>2;f[c>>2]=0;j=c+4|0;f[j>>2]=0;k=c+8|0;f[k>>2]=0;if(l|0){if((p|0)<0)nq(c);p=((l+-1|0)>>>5)+1|0;n=vn(p<<2)|0;f[c>>2]=n;f[k>>2]=p;f[j>>2]=l;j=l>>>5;uj(n|0,0,j<<2|0)|0;p=l&31;l=n+(j<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=0;j=s;s=t;t=v;while(1){if(l>>>0>2>>>0){w=0;x=0;y=l;z=s;A=j}else{B=25;break}while(1){v=x>>>5;n=1<<(x&31);do if(!(f[(f[c>>2]|0)+(v<<2)>>2]&n)){k=f[A+(x<<2)>>2]|0;if((f[k+8>>2]|0)!=(f[k+4>>2]|0)){r=0;o=1;m=A;q=k;while(1){k=f[(f[q+4>>2]|0)+(r<<2)>>2]|0;C=0;D=m;while(1){E=f[D+(x<<2)>>2]|0;if((C|0)>=(Ra[f[(f[E>>2]|0)+24>>2]&127](E,k)|0)){F=o;break}E=f[(f[h>>2]|0)+(x<<2)>>2]|0;G=Sa[f[(f[E>>2]|0)+28>>2]&31](E,k,C)|0;if((G|0)!=(x|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=C+1|0;D=f[h>>2]|0}r=r+1|0;m=f[h>>2]|0;q=f[m+(x<<2)>>2]|0;if(r>>>0>=(f[q+8>>2]|0)-(f[q+4>>2]|0)>>2>>>0)break;else o=F}o=m;if(F)H=o;else{I=w;J=y;K=o;break}}else H=z;f[(f[g>>2]|0)+(y<<2)>>2]=x;o=(f[c>>2]|0)+(v<<2)|0;f[o>>2]=f[o>>2]|n;I=1;J=y+1|0;K=H}else{I=w;J=y;K=z}while(0);x=x+1|0;L=f[i>>2]|0;M=L-K>>2;A=K;if(x>>>0>=M>>>0)break;else{w=I;y=J;z=K}}if(J>>>0>>0&(I^1)){N=0;break}else{l=J;j=A;s=K;t=L}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;L=f[a+4>>2]|0;a=(f[L+12>>2]|0)-(f[L+8>>2]|0)|0;L=a>>2;f[e>>2]=0;K=e+4|0;f[K>>2]=0;A=e+8|0;f[A>>2]=0;if(L|0){if((a|0)<0)nq(e);a=((L+-1|0)>>>5)+1|0;J=vn(a<<2)|0;f[e>>2]=J;f[A>>2]=a;f[K>>2]=L;K=L>>>5;uj(J|0,0,K<<2|0)|0;a=L&31;L=J+(K<<2)|0;if(a|0)f[L>>2]=f[L>>2]&~(-1>>>(32-a|0))}a:do if((t|0)==(s|0))O=1;else{a=0;L=j;K=s;J=t;while(1){A=f[(f[g>>2]|0)+(a<<2)>>2]|0;l=f[L+(A<<2)>>2]|0;I=(f[l+8>>2]|0)-(f[l+4>>2]|0)|0;l=I>>2;if((I|0)<8){P=K;Q=J}else{I=f[B>>2]|0;M=f[d>>2]|0;z=I-M>>2;y=M;M=I;if(l>>>0<=z>>>0)if(l>>>0>>0?(I=y+(l<<2)|0,(I|0)!=(M|0)):0){f[B>>2]=M+(~((M+-4-I|0)>>>2)<<2);R=0}else R=0;else{Di(d,l-z|0);R=0}while(1){if((R|0)<(l|0)){S=0;T=0;U=R}else break;while(1){z=f[(f[h>>2]|0)+(A<<2)>>2]|0;I=f[(f[z+4>>2]|0)+(S<<2)>>2]|0;M=S>>>5;y=1<<(S&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){w=0;x=1;H=z;while(1){if((w|0)>=(Ra[f[(f[H>>2]|0)+24>>2]&127](H,I)|0)){V=x;break}z=f[(f[h>>2]|0)+(A<<2)>>2]|0;F=Sa[f[(f[z>>2]|0)+28>>2]&31](z,I,w)|0;z=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=x&z;if(!z){V=F;break}w=w+1|0;x=F;H=f[(f[h>>2]|0)+(A<<2)>>2]|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=S;H=(f[e>>2]|0)+(M<<2)|0;f[H>>2]=f[H>>2]|y;W=1;X=U+1|0}else{W=T;X=U}}else{W=T;X=U}S=S+1|0;if((S|0)>=(l|0))break;else{T=W;U=X}}if(W|(X|0)>=(l|0))R=X;else{O=0;break a}}cg(f[(f[h>>2]|0)+(A<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}a=a+1|0;if(a>>>0>=Q-P>>2>>>0){O=1;break}else{L=P;K=P;J=Q}}}while(0);Q=f[e>>2]|0;if(Q|0)br(Q);Q=f[d>>2]|0;if(Q|0){d=f[B>>2]|0;if((d|0)!=(Q|0))f[B>>2]=d+(~((d+-4-Q|0)>>>2)<<2);br(Q)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}br(O);u=b;return N|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4886]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[4887]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4884]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4882]=f[4882]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=19832+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[4883]=f[4883]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4888]|0)==(e|0)){r=(f[4885]|0)+m|0;f[4885]=r;f[4888]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4887]|0))return;f[4887]=0;f[4884]=0;return}if((f[4887]|0)==(e|0)){r=(f[4884]|0)+m|0;f[4884]=r;f[4887]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4882]=f[4882]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=19832+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[4883]=f[4883]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4887]|0)){f[4884]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=19568+(m<<1<<2)|0;a=f[4882]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=19832+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[4883]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[4883]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[4890]|0)+-1|0;f[4890]=l;if(!l)D=19984;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[4890]=-1;return}function zc(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+56|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;di(j,f[l>>2]|0)|0;di(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=vn(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15954;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=ak(m,e,0)|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}of(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=0;r=m;while(1){s=f[r+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(q*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=w;z=t;A=x}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Me(t,e,h,o)|0;t=f[l>>2]|0;x=t+16|0;y=f[x>>2]|0;z=t;A=f[x+4>>2]|0}b[h>>0]=f[s+(q*12|0)+4>>2];if((A|0)>0|(A|0)==0&y>>>0>0){B=A;C=y;D=z}else{f[g>>2]=f[z+4>>2];f[e>>2]=f[g>>2];Me(z,e,h,p)|0;x=f[l>>2]|0;t=x+16|0;B=f[t+4>>2]|0;C=f[t>>2]|0;D=x}b[h>>0]=f[s+(q*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Me(D,e,h,n)|0}s=q+1|0;if(s>>>0>=j>>>0)break;q=s;r=f[i>>2]|0}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=0;C=m;while(1){B=f[C+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(D*12|0)>>2];z=p+16|0;y=f[z>>2]|0;A=f[z+4>>2]|0;if((A|0)>0|(A|0)==0&y>>>0>0){E=A;F=y;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,h,n)|0;p=f[l>>2]|0;y=p+16|0;E=f[y+4>>2]|0;F=f[y>>2]|0;G=p}d[h>>1]=f[B+(D*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Me(G,e,h,q)|0;p=f[l>>2]|0;y=p+16|0;H=f[y+4>>2]|0;I=f[y>>2]|0;J=p}d[h>>1]=f[B+(D*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Me(J,e,h,r)|0}B=D+1|0;if(B>>>0>=j>>>0)break;D=B;C=f[i>>2]|0}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=0;L=m}else{u=c;return 1}while(1){a=f[L+96>>2]|0;di(f[a+(K*12|0)>>2]|0,f[l>>2]|0)|0;di(f[a+(K*12|0)+4>>2]|0,f[l>>2]|0)|0;di(f[a+(K*12|0)+8>>2]|0,f[l>>2]|0)|0;a=K+1|0;if(a>>>0>=j>>>0)break;K=a;L=f[i>>2]|0}u=c;return 1}if(!C){u=c;return 1}C=0;L=m;while(1){m=(f[L+96>>2]|0)+(C*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Me(K,e,m,m+12|0)|0}m=C+1|0;if(m>>>0>=j>>>0)break;C=m;L=f[i>>2]|0}u=c;return 1}function Ac(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+32>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)nq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+48>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+52|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+48>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+44|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;B=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)nq(d);else{P=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+32>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)nq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+52|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;A=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)nq(d);else{O=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Cc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+52>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)nq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+72|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+68>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+64|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;B=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)nq(d);else{P=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Dc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)nq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+72|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;A=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)nq(d);else{O=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Ec(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Oa,F=Oa,G=Oa,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(al(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(al(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=vn(24)|0;rj(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;fi(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Fc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0.0,R=0.0,S=0,T=0.0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Ui(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=1.0;q=0.0;r=0;s=k;t=l;u=0;v=0;w=0;x=0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Ui(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Ui(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Ui(a)|0;z=ho(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=1;o=0;p=1.0;q=0.0;r=0;s=A;t=1;u=0;v=0;w=z;x=B;break}}}else{n=1;o=0;p=1.0;q=0.0;r=0;s=y;t=l;u=0;v=0;w=0;x=0}}while(1){l=s+-48|0;y=s|32;if(l>>>0>=10){A=(s|0)==46;if(!(A|(y+-97|0)>>>0<6)){C=s;break}if(A)if(!n){D=1;E=o;F=p;G=q;H=r;J=t;K=v;L=u;M=v;N=u}else{C=46;break}else m=20}else m=20;if((m|0)==20){m=0;A=(s|0)>57?y+-87|0:l;do if(!((u|0)<0|(u|0)==0&v>>>0<8))if((u|0)<0|(u|0)==0&v>>>0<14){O=p*.0625;P=o;Q=O;R=q+O*+(A|0);S=r;break}else{l=(o|0)!=0|(A|0)==0;P=l?o:1;Q=p;R=l?q:q+p*.5;S=r;break}else{P=o;Q=p;R=q;S=A+(r<<4)|0}while(0);A=ho(v|0,u|0,1,0)|0;D=n;E=P;F=Q;G=R;H=S;J=1;K=w;L=x;M=A;N=I}A=f[g>>2]|0;if(A>>>0<(f[j>>2]|0)>>>0){f[g>>2]=A+1;n=D;o=E;p=F;q=G;r=H;s=h[A>>0]|0;t=J;u=N;v=M;w=K;x=L;continue}else{n=D;o=E;p=F;q=G;r=H;s=Ui(a)|0;t=J;u=N;v=M;w=K;x=L;continue}}do if(!t){L=(f[j>>2]|0)==0;if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(!((n|0)==0|L))f[g>>2]=(f[g>>2]|0)+-1}else gn(a,0);T=+(d|0)*0.0}else{L=(n|0)==0;K=L?v:w;M=L?u:x;if((u|0)<0|(u|0)==0&v>>>0<8){L=r;N=v;J=u;while(1){s=L<<4;H=N;N=ho(N|0,J|0,1,0)|0;if(!((J|0)<0|(J|0)==0&H>>>0<7)){U=s;break}else{L=s;J=I}}}else U=r;if((C|32|0)==112){J=Re(a,e)|0;L=I;if((J|0)==0&(L|0)==-2147483648){if(!e){gn(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=J;W=L}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}L=fo(K|0,M|0,2)|0;J=ho(L|0,I|0,-32,-1)|0;L=ho(J|0,I|0,V|0,W|0)|0;J=I;if(!U){T=+(d|0)*0.0;break}N=0-c|0;s=((N|0)<0)<<31>>31;if((J|0)>(s|0)|(J|0)==(s|0)&L>>>0>N>>>0){N=ir()|0;f[N>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}N=c+-106|0;s=((N|0)<0)<<31>>31;if((J|0)<(s|0)|(J|0)==(s|0)&L>>>0>>0){N=ir()|0;f[N>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){G=q;N=U;s=L;H=J;while(1){E=!(G>=.5);o=N<<1|(E^1)&1;F=G+(E?G:G+-1.0);E=ho(s|0,H|0,-1,-1)|0;D=I;if((o|0)>-1){G=F;N=o;s=E;H=D}else{X=F;Y=o;Z=E;_=D;break}}}else{X=q;Y=U;Z=L;_=J}H=((b|0)<0)<<31>>31;s=jo(32,0,c|0,((c|0)<0)<<31>>31|0)|0;N=ho(s|0,I|0,Z|0,_|0)|0;s=I;if((s|0)<(H|0)|(s|0)==(H|0)&N>>>0>>0)if((N|0)>0){$=N;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){G=+(d|0);ca=+Gq(+ik(1.0,ba),G);da=aa;ea=G}N=(Y&1|0)==0&(X!=0.0&(da|0)<32);G=(N?0.0:X)*ea+(ca+ea*+((Y+(N&1)|0)>>>0))-ca;if(!(G!=0.0)){N=ir()|0;f[N>>2]=34}T=+Hq(G,Z)}while(0);return +T}function Gc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Ih(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)br(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)br(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=0;r=d;do{f[i>>2]=(q>>>0)/3|0;f[h>>2]=f[i>>2];d=dk(r,h)|0;r=f[l>>2]|0;do if(!d){s=f[(f[r+12>>2]|0)+(q<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(q>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(q&31);t=q+1|0;v=((t>>>0)%3|0|0)==0?q+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((v|0)==-1)x=-1;else x=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=q>>>0){v=q+1|0;t=((v>>>0)%3|0|0)==0?q+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(q&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?q+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((B|0)==-1)Q=-1;else Q=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);q=q+1|0}while(q>>>0<(f[r+4>>2]|0)-(f[r>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Rc(a,c,e);j=1;u=g;return j|0}else{md(a,0,0);j=1;u=g;return j|0}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=n;n=f[b>>2]|0;while(1){if((n|0)==(f[c>>2]|0))break;o=k+16|0;f[o>>2]=f[n+16>>2];if((k|0)!=(n|0)){f[h>>2]=f[n+20>>2];f[i>>2]=n+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k+20|0,g,e)}p=k+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(k|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[o>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=22;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=25;break}else z=x}s=z}if((y|0)==22){y=0;B=s;C=s;break}else if((y|0)==25){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[k>>2]=0;f[k+4>>2]=0;f[p>>2]=B;f[C>>2]=k;q=f[f[a>>2]>>2]|0;if(!q)D=k;else{f[a>>2]=q;D=f[C>>2]|0}Oe(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[n+4>>2]|0;if(!q){o=n+8|0;r=f[o>>2]|0;if((f[r>>2]|0)==(n|0))E=r;else{r=o;do{o=f[r>>2]|0;r=o+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(o|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=t;n=E}}n=f[k+8>>2]|0;if(!n)F=k;else{m=n;while(1){n=f[m+8>>2]|0;if(!n)break;else m=n}F=m}Sj(a,F)}while(0);F=f[b>>2]|0;E=f[c>>2]|0;if((F|0)==(E|0)){u=d;return}c=a+4|0;t=a+4|0;D=F;while(1){Ng(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=43;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=46;break}else G=z}A=G}if((y|0)==43){y=0;I=A;J=A;K=C;break}else if((y|0)==46){y=0;I=A;J=H;K=C;break}}else{I=c;J=c;K=f[e>>2]|0}while(0);f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=I;f[J>>2]=K;F=f[f[a>>2]>>2]|0;if(!F)L=K;else{f[a>>2]=F;L=f[J>>2]|0}Oe(f[t>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(E|0))break;else D=M}u=d;return}function Ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=_q(l)|0;uj(m|0,0,l|0)|0;n=_q(l)|0;uj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=s;H=F;I=q}else{J=o;nq(J)}while(1){F=f[I+(H<<2)>>2]|0;if(t)uj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=0;L=F;while(1){M=f[s+(L<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(H|0)&(R|0)<(H|0)&(Q|0)<(H|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=K+1|0}else U=K}else U=K;Q=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);L=(V|0)==(F|0)?-1:V;if((L|0)==-1)break;else K=U}K=X(H,e)|0;if(!U){W=K;Y=30}else{if(t){L=0;do{F=m+(L<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(K<<2)|0;F=c+(K<<2)|0;s=f[L+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Od(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(H,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(G+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;L=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=P;Od(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((G|0)<=2)break a;Q=f[l>>2]|0;I=f[Q>>2]|0;P=H+-1|0;if((f[Q+4>>2]|0)-I>>2>>>0<=P>>>0){J=Q;break}else{Q=H;H=P;G=Q}}nq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;$q(n);$q(m);u=g;return 1}uj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;$q(n);$q(m);u=g;return 1}function Jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Ph(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=_q(d)|0;uj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=0;y=h;A=C;while(1){if((A|0)>0){C=0;do{H=f[y+(C<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(C<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(C<<2)>>2]=(H|0)<(J|0)?J:H;K=I}C=C+1|0}while((C|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;C=(f[D+(E<<2)>>2]|0)-(f[L+(E<<2)>>2]|0)|0;I=B+(E<<2)|0;f[I>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){M=C-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+C|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}E=E+1|0;A=f[g>>2]|0;if((E|0)>=(A|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,A=c+(z<<2)|0,E=f[g>>2]|0,(E|0)>0):0){B=0;D=b+((X(x+-2|0,e)|0)<<2)|0;I=E;while(1){if((I|0)>0){E=0;do{C=f[D+(E<<2)>>2]|0;H=f[n>>2]|0;if((C|0)>(H|0)){J=f[o>>2]|0;f[J+(E<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(E<<2)>>2]=(C|0)<(J|0)?J:C;O=H}E=E+1|0}while((E|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;E=(f[y+(B<<2)>>2]|0)-(f[P+(B<<2)>>2]|0)|0;H=A+(B<<2)|0;f[H>>2]=E;if((E|0)>=(f[q>>2]|0)){if((E|0)>(f[s>>2]|0)){Q=E-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+E|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}B=B+1|0;I=f[g>>2]|0;if((B|0)>=(I|0))break;else D=P}}if((x|0)<=2)break a}nq(i)}while(0);if((e|0)>0)uj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=0;K=h;G=e;while(1){if((G|0)>0){e=0;do{F=f[K+(e<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(e<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(e<<2)>>2]=(F|0)<(l|0)?l:F;R=d}e=e+1|0}while((e|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[S+(a<<2)>>2]|0)|0;d=c+(a<<2)|0;f[d>>2]=e;if((e|0)>=(f[O>>2]|0)){if((e|0)>(f[M>>2]|0)){T=e-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+e|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}a=a+1|0;G=f[g>>2]|0;if((a|0)>=(G|0))break;else K=S}$q(h);return 1}function Kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=_q(l)|0;uj(m|0,0,l|0)|0;n=_q(l)|0;uj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=s;I=G;J=q}else{K=o;nq(K)}while(1){G=f[J+(I<<2)>>2]|0;if(t)uj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=0;M=G;while(1){if(((f[s+(M>>>5<<2)>>2]&1<<(M&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(M<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(I|0)&(S|0)<(I|0)&(R|0)<(I|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=L+1|0}else T=L;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);M=(U|0)==(G|0)?-1:U;if((M|0)==-1)break;else L=T}L=X(I,e)|0;if(!T){V=L;W=28}else{if(t){M=0;do{G=m+(M<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;G=c+(L<<2)|0;s=f[M+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[M>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Od(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(I,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(H+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;M=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=M;f[x>>2]=Q;Od(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((H|0)<=2)break a;R=f[l>>2]|0;J=f[R>>2]|0;Q=I+-1|0;if((f[R+4>>2]|0)-J>>2>>>0<=Q>>>0){K=R;break}else{R=I;I=Q;H=R}}nq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;$q(n);$q(m);u=g;return 1}uj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;$q(n);$q(m);u=g;return 1}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Ph(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=_q(d)|0;uj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=0;z=h;C=D;while(1){if((C|0)>0){D=0;do{G=f[z+(D<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(D<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(D<<2)>>2]=(G|0)<(I|0)?I:G;J=H}D=D+1|0}while((D|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;D=(f[E+(F<<2)>>2]|0)-(f[K+(F<<2)>>2]|0)|0;H=B+(F<<2)|0;f[H>>2]=D;if((D|0)>=(f[q>>2]|0)){if((D|0)>(f[s>>2]|0)){L=D-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+D|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}F=F+1|0;C=f[g>>2]|0;if((F|0)>=(C|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,C=c+(A<<2)|0,F=f[g>>2]|0,(F|0)>0):0){B=0;E=b+((X(y+-2|0,e)|0)<<2)|0;H=F;while(1){if((H|0)>0){F=0;do{D=f[E+(F<<2)>>2]|0;G=f[n>>2]|0;if((D|0)>(G|0)){I=f[o>>2]|0;f[I+(F<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(F<<2)>>2]=(D|0)<(I|0)?I:D;N=G}F=F+1|0}while((F|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;F=(f[z+(B<<2)>>2]|0)-(f[O+(B<<2)>>2]|0)|0;G=C+(B<<2)|0;f[G>>2]=F;if((F|0)>=(f[q>>2]|0)){if((F|0)>(f[s>>2]|0)){P=F-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+F|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}B=B+1|0;H=f[g>>2]|0;if((B|0)>=(H|0))break;else E=O}}if((y|0)<=2)break a}nq(i)}while(0);if((e|0)>0)uj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=0;J=h;d=e;while(1){if((d|0)>0){e=0;do{l=f[J+(e<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(e<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(e<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}e=e+1|0}while((e|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[R+(a<<2)>>2]|0)|0;j=c+(a<<2)|0;f[j>>2]=e;if((e|0)>=(f[N>>2]|0)){if((e|0)>(f[L>>2]|0)){S=e-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+e|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}a=a+1|0;d=f[g>>2]|0;if((a|0)>=(d|0))break;else J=R}$q(h);return 1}function Mc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;nk(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(r<<2)>>2]|0;do{v=f[a+(s+r<<2)>>2]|0;t=t>>>0>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>o>>>0?t:o;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ti(k,i);r=r+p|0;if((r|0)>=(c|0)){x=v;break}else o=v}}else{o=0;r=0;while(1){v=f[a+(o<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>r>>>0?v:r;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ti(k,i);o=o+p|0;if((o|0)>=(c|0)){x=w;break}else r=w}}f[l>>2]=0;r=l+4|0;f[r>>2]=0;f[l+8>>2]=0;o=f[k>>2]|0;q=(f[d>>2]|0)-o|0;w=q>>2;if(w){if(w>>>0>1073741823)nq(l);s=vn(q)|0;f[r>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;kh(s|0,o|0,q|0)|0;f[r>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;o=0;v=0;while(1){D=ho(o|0,v|0,f[s+(y<<2)>>2]|0,0)|0;E=I;y=y+1|0;if(y>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{o=D;v=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Mg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=fo(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;v=En(B|0,C|0,p|0,0)|0;C=ho(F|0,z|0,v|0,I|0)|0;v=ho(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[r>>2]|0;if((l|0)!=(w|0))f[r>>2]=l+(~((l+-4-w|0)>>>2)<<2);br(w)}w=Mg(a,c,x,i)|0;l=f[i>>2]|0;r=((x-l|0)/64|0)+l<<3;C=l<<3;z=ho(w|0,I|0,C|0,((C|0)<0)<<31>>31|0)|0;C=ho(z|0,I|0,r|0,((r|0)<0)<<31>>31|0)|0;r=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=vn(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=16351;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=(Lh(e,i)|0)==0;if((b[i+11>>0]|0)<0)br(f[i>>2]|0);if(!w){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=vn(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=16351;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=Tk(e,i)|0;if((b[i+11>>0]|0)<0)br(f[i>>2]|0);H=w}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(r|0)|(A|0)==(r|0)&v>>>0>=C>>>0)&1;b[m>>0]=H;C=g+16|0;v=f[C+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[C>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Me(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=ud(a,c,p,k,g)|0;break}case 1:{J=Tc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);br(g)}n=J;u=h;return n|0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;br(k)}br(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);br(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;br(m)}br(n)}br(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;br(p)}br(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);br(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;br(e)}br(j)}br(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){dj(g);br(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){dj(p);br(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{qm(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return}function Oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=j;j=f[c>>2]|0;while(1){if((j|0)==(f[d>>2]|0))break;k=g+16|0;im(k,j+16|0)|0;im(g+28|0,j+28|0)|0;l=g+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(g|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[k+11>>0]|0;o=n<<24>>24<0;s=o?f[g+20>>2]|0:n&255;n=o?f[k>>2]|0:k;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0>>0?w:s;if((u|0)!=0?(x=al(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=22;else y=24;else if(s>>>0>>0)y=22;else y=24;if((y|0)==22){y=0;w=f[o>>2]|0;if(!w){y=23;break}else z=w}else if((y|0)==24){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=26;break}else z=w}o=z}if((y|0)==23){y=0;B=o;C=o;break}else if((y|0)==26){y=0;B=A;C=o;break}}else{B=h;C=h}while(0);f[g>>2]=0;f[g+4>>2]=0;f[l>>2]=C;f[B>>2]=g;m=f[f[a>>2]>>2]|0;if(!m)D=g;else{f[a>>2]=m;D=f[B>>2]|0}Oe(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[j+4>>2]|0;if(!m){k=j+8|0;s=f[k>>2]|0;if((f[s>>2]|0)==(j|0))E=s;else{s=k;do{k=f[s>>2]|0;s=k+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(k|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=p;j=E}}j=f[g+8>>2]|0;if(!j)F=g;else{i=j;while(1){j=f[i+8>>2]|0;if(!j)break;else i=j}F=i}Hj(a,F)}while(0);F=f[c>>2]|0;E=f[d>>2]|0;if((F|0)==(E|0))return;else G=F;while(1){cf(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;p=f[d>>2]|0;if((f[p>>2]|0)==(G|0))H=p;else{p=d;do{d=f[p>>2]|0;p=d+8|0;e=f[p>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{p=F;while(1){i=f[p>>2]|0;if(!i)break;else p=i}H=p}f[c>>2]=H;if((H|0)==(E|0))break;else G=H}return}function Pc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=vn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14805;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ok(i,h,-1)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);switch(j|0){case 0:{n=vn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n;break}case -1:{if((ni(i)|0)==10){n=vn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n}else q=6;break}default:q=6}a:do if((q|0)==6){n=d+8|0;r=d+12|0;s=f[r>>2]|0;t=f[n>>2]|0;b:do if((s-t|0)>0){v=h+8|0;w=h+4|0;x=c+20|0;y=h+11|0;z=0;A=t;B=s;c:while(1){C=f[(f[A+(z<<2)>>2]|0)+28>>2]|0;switch(C|0){case 9:{q=12;break}case 6:case 5:case 4:case 2:{D=A;E=B;break}default:{if((C|2|0)!=3)break c;if((C|0)==9)q=12;else{D=A;E=B}}}if((q|0)==12){q=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=vn(32)|0;f[h>>2]=C;f[v>>2]=-2147483616;f[w>>2]=17;k=C;l=14821;m=k+17|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[C+17>>0]=0;F=f[x>>2]|0;if(F){G=x;H=F;d:while(1){F=H;while(1){if((f[F+16>>2]|0)>=0)break;I=f[F+4>>2]|0;if(!I){J=G;break d}else F=I}H=f[F>>2]|0;if(!H){J=F;break}else G=F}if(((J|0)!=(x|0)?(f[J+16>>2]|0)<=0:0)?(G=J+20|0,(Lh(G,h)|0)!=0):0)K=Ok(G,h,-1)|0;else q=21}else q=21;if((q|0)==21){q=0;K=Ok(i,h,-1)|0}if((b[y>>0]|0)<0)br(f[h>>2]|0);if((K|0)<1)break;D=f[n>>2]|0;E=f[r>>2]|0}z=z+1|0;if((z|0)>=(E-D>>2|0))break b;else{A=D;B=E}}if((j|0)!=1){B=vn(56)|0;k=B;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(B);o=4196;p=B;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=vn(32)|0;f[h>>2]=A;f[h+8>>2]=-2147483616;f[h+4>>2]=24;k=A;l=14839;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[A+24>>0]=0;f[a>>2]=-1;rj(a+4|0,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}while(0);r=vn(56)|0;k=r;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(r);o=4136;p=r}while(0);f[p>>2]=o;vp(p,d);zd(a,p,i,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[p+52>>2];f[c+44>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}Va[f[(f[p>>2]|0)+4>>2]&127](p);u=g;return}function Qc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>112){f[e>>2]=g+-113;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=f[a>>2]|0;o=n;if(i>>>0>n>>>0){p=i;q=((p-o>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-p|0;p=s>>2;if(!p)t=i;else{qm(r|0,i|0,s|0)|0;t=f[g>>2]|0}s=r+(p<<2)|0;f[e>>2]=s;f[g>>2]=t+(q<<2);v=s;break}s=m-o>>1;o=(s|0)==0?1:s;if(o>>>0>1073741823){s=ra(8)|0;ap(s,16422);f[s>>2]=7412;va(s|0,1160,122)}s=vn(o<<2)|0;q=s;p=s+(o>>>2<<2)|0;r=p;w=s+(o<<2)|0;if((i|0)==(j|0)){x=r;y=n}else{n=p;p=r;o=i;do{f[n>>2]=f[o>>2];n=p+4|0;p=n;o=o+4|0}while((o|0)!=(j|0));x=p;y=f[a>>2]|0}f[a>>2]=q;f[g>>2]=r;f[e>>2]=x;f[k>>2]=w;if(!y)v=x;else{br(y);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)|0;y=a+12|0;x=f[y>>2]|0;k=x-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}g=vn(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=vn(4068)|0;f[d>>2]=k;Fg(c,d);d=f[e>>2]|0;while(1){z=f[v>>2]|0;if((d|0)==(z|0))break;k=d+-4|0;yg(c,k);d=k}k=z;z=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=z;f[v>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((d|0)!=(g|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(z|0)br(z);u=b;return}if((x|0)!=(h|0)){h=vn(4068)|0;f[c>>2]=h;Fg(a,c);u=b;return}h=vn(4068)|0;f[c>>2]=h;yg(a,c);c=f[v>>2]|0;h=f[c>>2]|0;x=c+4|0;f[v>>2]=x;c=f[e>>2]|0;z=f[y>>2]|0;k=z;do if((c|0)==(z|0)){g=f[a>>2]|0;j=g;if(x>>>0>g>>>0){d=x;m=((d-j>>2)+1|0)/-2|0;i=x+(m<<2)|0;t=c-d|0;d=t>>2;if(!d)A=x;else{qm(i|0,x|0,t|0)|0;A=f[v>>2]|0}t=i+(d<<2)|0;f[e>>2]=t;f[v>>2]=A+(m<<2);B=t;break}t=k-j>>1;j=(t|0)==0?1:t;if(j>>>0>1073741823){t=ra(8)|0;ap(t,16422);f[t>>2]=7412;va(t|0,1160,122)}t=vn(j<<2)|0;m=t;d=t+(j>>>2<<2)|0;i=d;l=t+(j<<2)|0;if((x|0)==(c|0)){C=i;D=g}else{g=d;d=i;j=x;do{f[g>>2]=f[j>>2];g=d+4|0;d=g;j=j+4|0}while((j|0)!=(c|0));C=d;D=f[a>>2]|0}f[a>>2]=m;f[v>>2]=i;f[e>>2]=C;f[y>>2]=l;if(!D)B=C;else{br(D);B=f[e>>2]|0}}else B=c;while(0);f[B>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Ti(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))Ti(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Ti(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ti(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function Sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=-149;g=24;i=4;break}case 1:{e=-1074;g=53;i=4;break}case 2:{e=-1074;g=53;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Ui(a)|0}while((tq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Ui(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(b[18933+l>>0]|0)){q=l;r=n;break}do if(l>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Ui(a)|0;break}}else t=n;while(0);s=l+1|0;if(s>>>0<8){l=s;n=t}else{q=s;r=t;break}}c:do switch(q|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&q>>>0>3)if((q|0)==8)break c;else{i=23;break c}d:do if(!q){l=0;s=r;while(1){if((s|32|0)!=(b[18942+l>>0]|0)){u=l;v=s;break d}do if(l>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Ui(a)|0;break}}else x=s;while(0);w=l+1|0;if(w>>>0<3){l=w;s=x}else{u=w;v=x;break}}}else{u=q;v=r}while(0);switch(u|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Ui(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Ui(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=ir()|0;f[l>>2]=22;gn(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((v|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Ui(a)|0;if((E|32|0)==120){j=+Fc(a,g,e,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=v;j=+nb(a,F,g,e,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=ir()|0;f[s>>2]=22;gn(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&q>>>0>3){n=q;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Tc(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=vn(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=16374;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Lh(g,j)|0)==0;if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if(!r){r=vn(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=16374;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Tk(g,j)|0;if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Me(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=ve(a,c,d,h)|0;u=i;return n|0}case 2:{n=ue(a,c,d,h)|0;u=i;return n|0}case 3:{n=te(a,c,d,h)|0;u=i;return n|0}case 4:{n=se(a,c,d,h)|0;u=i;return n|0}case 5:{n=re(a,c,d,h)|0;u=i;return n|0}case 6:{n=qe(a,c,d,h)|0;u=i;return n|0}case 7:{n=pe(a,c,d,h)|0;u=i;return n|0}case 8:{n=oe(a,c,d,h)|0;u=i;return n|0}case 9:{n=ne(a,c,d,h)|0;u=i;return n|0}case 10:{n=me(a,c,d,h)|0;u=i;return n|0}case 11:{n=le(a,c,d,h)|0;u=i;return n|0}case 12:{n=ke(a,c,d,h)|0;u=i;return n|0}case 13:{n=je(a,c,d,h)|0;u=i;return n|0}case 14:{n=ie(a,c,d,h)|0;u=i;return n|0}case 15:{n=he(a,c,d,h)|0;u=i;return n|0}case 16:{n=ge(a,c,d,h)|0;u=i;return n|0}case 17:{n=fe(a,c,d,h)|0;u=i;return n|0}case 18:{n=ee(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*524288.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==524288){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;m=x;while(1){v=524288.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==524288){C=p;D=524288;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*1.9073486328125e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*262144.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==262144){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;m=x;while(1){v=262144.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==262144){C=p;D=262144;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*3.814697265625e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*65536.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==65536){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;m=x;while(1){v=65536.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==65536){C=p;D=65536;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.0000152587890625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*32768.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==32768){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;m=x;while(1){v=32768.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==32768){C=p;D=32768;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000030517578125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*8192.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==8192){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;m=x;while(1){v=8192.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==8192){C=p;D=8192;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.0001220703125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Lb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Mb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Nb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ob(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=_q(j)|0;uj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=q;F=D;G=o}else{H=m;nq(H)}while(1){D=f[G+(F<<2)>>2]|0;q=X(F,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(F|0)&(M|0)<(F|0)&(L|0)<(F|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(E+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Od(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((E|0)<=2)break a;M=f[l>>2]|0;G=f[M>>2]|0;I=F+-1|0;if((f[M+4>>2]|0)-G>>2>>>0<=I>>>0){H=M;break}else{M=F;F=I;E=M}}nq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;$q(k);u=g;return 1}uj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;$q(k);u=g;return 1}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=ho(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=ho(l|0,k|0,(l|0)==0&(k|0)==0&1|0,0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=n+((n|0)==0&1)&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)nq(i);p=vn(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=j;j=p;do{b[j>>0]=0;j=(f[l>>2]|0)+1|0;f[l>>2]=j;q=q+-1|0}while((q|0)!=0);o=f[i>>2]|0}q=a+28|0;j=(f[q>>2]|0)+-1|0;a:do if((j|0)>-1){p=a+24|0;r=j;s=0;t=4096;v=k;while(1){w=(f[p>>2]&1<>>0>>0){y=s;z=t}else{b[o+s>>0]=t;y=s+1|0;z=t>>>8}En(f[4248+(x<<3)>>2]|0,0,z|0,0)|0;A=z+(w?0:0-v&255)+(X((z+I|0)>>>(f[4248+(x<<3)+4>>2]|0),256-x|0)|0)|0;x=r+-1|0;if((x|0)<=-1){B=y;C=A;break a}r=x;s=y;t=A;v=b[h>>0]|0}}else{B=0;C=4096}while(0);y=f[m>>2]|0;if((f[n>>2]|0)==(y|0)){D=B;E=C}else{z=B;B=C;C=y;while(1){C=C+-4|0;y=f[C>>2]|0;k=31;j=z;v=B;while(1){t=b[h>>0]|0;s=(1<>>0>>0){F=j;G=v}else{b[o+j>>0]=v;F=j+1|0;G=v>>>8}En(f[4248+(r<<3)>>2]|0,0,G|0,0)|0;v=G+(s?0:0-t&255)+(X((G+I|0)>>>(f[4248+(r<<3)+4>>2]|0),256-r|0)|0)|0;if((k|0)<=0)break;else{k=k+-1|0;j=F}}if((f[n>>2]|0)==(C|0)){D=F;E=v;break}else{z=F;B=v}}}B=E+-4096|0;do if(B>>>0>=64){if(B>>>0<16384){F=o+D|0;z=E+12288|0;b[F>>0]=z;H=2;J=z>>>8;K=F+1|0;L=25;break}if(B>>>0<4194304){F=o+D|0;z=E+8384512|0;b[F>>0]=z;b[F+1>>0]=z>>>8;H=3;J=z>>>16;K=F+2|0;L=25}else M=D}else{H=1;J=B;K=o+D|0;L=25}while(0);if((L|0)==25){b[K>>0]=J;M=H+D|0}D=c+16|0;H=D;J=f[H+4>>2]|0;if(!((J|0)>0|(J|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}di(M,c)|0;h=f[i>>2]|0;H=D;D=f[H+4>>2]|0;if(!((D|0)>0|(D|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+M|0)|0}M=e;f[M>>2]=0;f[M+4>>2]=0;sf(a,2,e);e=f[a+12>>2]|0;M=f[m>>2]|0;if((M|0)!=(e|0))f[m>>2]=M+(~((M+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[q>>2]=0;q=f[i>>2]|0;if(!q){u=d;return}if((f[l>>2]|0)!=(q|0))f[l>>2]=q;br(q);u=d;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ti(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))Ti(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ti(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ti(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){l=((k>>>0)%3|0|0)==0?j+-2|0:k;if(!((j>>>0)%3|0)){m=j+2|0;n=l;break}else{m=j+-1|0;n=l;break}}else{m=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(n<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(m<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((m|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=1;w=r;while(1){r=f[t>>2]|0;x=f[(f[r>>2]|0)+36>>2]|0;f[e>>2]=(w>>>0)/3|0;f[d>>2]=f[e>>2];if(Ra[x&127](r,d)|0){y=v;break}r=w+1|0;x=((r>>>0)%3|0|0)==0?w+-2|0:r;if((x|0)==-1){z=12;break}w=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=v+1|0;if((w|0)==-1){y=x;break}else v=x}if((z|0)==12)y=v+1|0;A=y;B=f[k>>2]|0;C=f[l>>2]|0}else{A=1;B=q;C=o}f[B+(f[C+(f[i>>2]<<2)>>2]<<2)>>2]=A;A=a+108|0;i=f[A>>2]|0;C=i-B>>2;B=i;if((n|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(i|0)!=-1):0){n=a+64|0;y=1;v=i;while(1){i=f[n>>2]|0;w=f[(f[i>>2]|0)+36>>2]|0;f[g>>2]=(v>>>0)/3|0;f[d>>2]=f[g>>2];if(Ra[w&127](i,d)|0){D=y;break}i=v+1|0;f[(f[l>>2]|0)+((((i>>>0)%3|0|0)==0?v+-2|0:i)<<2)>>2]=C;i=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((i|0)==-1){z=20;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;i=y+1|0;if((v|0)==-1){D=i;break}else y=i}if((z|0)==20)D=y+1|0;E=D;F=f[A>>2]|0}else{E=1;F=B}f[d>>2]=E;if(F>>>0<(f[a+112>>2]|0)>>>0){f[F>>2]=E;f[A>>2]=F+4}else Ti(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;m=f[k>>2]|0;if((m|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3852+(m<<2)>>2]|0;f[d>>2]=a;m=o+(s*12|0)+4|0;G=f[m>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[m>>2]=G+4}else Ti(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function od(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=_q(j)|0;uj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=q;G=E;H=o}else{I=m;nq(I)}while(1){E=f[H+(G<<2)>>2]|0;q=X(G,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(G|0)&(N|0)<(G|0)&(M|0)<(G|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(F+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Od(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((F|0)<=2)break a;N=f[l>>2]|0;H=f[N>>2]|0;K=G+-1|0;if((f[N+4>>2]|0)-H>>2>>>0<=K>>>0){I=N;break}else{N=G;G=K;F=N}}nq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;$q(k);u=g;return 1}uj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;$q(k);u=g;return 1}function pd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2140;i=c;f[a>>2]=i;return}case 2:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2196;i=c;f[a>>2]=i;return}case 4:{c=vn(168)|0;Vi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=vn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2252;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2308;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2364;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2420;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function qd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1720;i=c;f[a>>2]=i;return}case 2:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1776;i=c;f[a>>2]=i;return}case 4:{c=vn(168)|0;Wi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=vn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1832;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1888;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1944;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2e3;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function rd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=e;B=x;while(1){C=B+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=A;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=A;break d}if((d[v>>1]|0)!=(d[B+12>>1]|0)){y=A;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=c;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=d[w>>1]|0;B=e;z=q;while(1){D=z+8|0;if(A<<16>>16!=(d[D>>1]|0)){G=B;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=B;break e}if((d[u>>1]|0)!=(d[z+12>>1]|0)){G=B;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);c=f[p>>2]|0;if(!c){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=e;B=x;while(1){C=B+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=A;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=A;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=A;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=d;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=b[w>>0]|0;B=e;z=q;while(1){D=z+8|0;if(A<<24>>24!=(b[D>>0]|0)){G=B;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=B;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=B;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);d=f[p>>2]|0;if(!d){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=d;z=v;while(1){if((x|0)!=(f[z+8>>2]|0)){w=y;break d}if((f[p>>2]|0)!=(f[z+12>>2]|0)){w=y;break d}if((f[t>>2]|0)!=(f[z+16>>2]|0)){w=y;break d}if((f[u>>2]|0)!=(f[z+20>>2]|0)){w=y;break d}A=f[z>>2]|0;if(!A){w=z;break}else{B=z;z=A;y=B}}}while(0);f[i>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=c;while(1){u=f[d+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(j|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=D;s=u;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{y=f[d+8>>2]|0;z=d;x=v;while(1){if((y|0)!=(f[x+8>>2]|0)){E=z;break e}if((f[u>>2]|0)!=(f[x+12>>2]|0)){E=z;break e}if((f[t>>2]|0)!=(f[x+16>>2]|0)){E=z;break e}if((f[p>>2]|0)!=(f[x+20>>2]|0)){E=z;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;z=A}}}while(0);f[i>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);c=f[o>>2]|0;if(!c){C=43;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){C=43;break}else{j=r;k=q;m=q}}if((C|0)==43)return}function ud(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;uj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=ho(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0>>0)}Rn(m);r=fo(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;s=n;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));fd(n,l,32,g)|0;l=n+16|0;s=fo(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=ho(s|0,I|0,39,0)|0;s=ko(o|0,I|0,3)|0;o=ho(s|0,I|0,8,0)|0;s=ho(o|0,I|0,t|0,0)|0;Jl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;Ai(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=0;K=f[H>>2]|0;do{L=K>>>3;M=K&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(1<>0]|0);N=(f[G>>2]|0)+L|0;b[N>>0]=(F>>>J&1)<>0]|0);K=(f[H>>2]|0)+1|0;f[H>>2]=K;J=J+1|0}while((J|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}$f(n,g);fg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Me(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);br(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)br(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;br(n);u=i;return 1}function vd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=e;A=v;while(1){B=A+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=z;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=z;break d}if((d[u>>1]|0)!=(d[A+12>>1]|0)){w=z;break d}B=f[A>>2]|0;if(!B){w=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=E;t=u;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=d[u>>1]|0;A=u+2|0;y=e;x=q;while(1){C=x+8|0;if(z<<16>>16!=(d[C>>1]|0)){F=y;break e}if((d[A>>1]|0)!=(d[C+2>>1]|0)){F=y;break e}if((d[v>>1]|0)!=(d[x+12>>1]|0)){F=y;break e}C=f[x>>2]|0;if(!C){F=x;break}else{B=x;x=C;y=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);c=f[p>>2]|0;if(!c){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=e;A=w;while(1){B=A+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=z;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=z;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=z;break d}B=f[A>>2]|0;if(!B){x=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=d;while(1){v=f[e+4>>2]|0;if(v>>>0>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(k|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=E;t=v;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=b[v>>0]|0;A=e;y=q;while(1){C=y+8|0;if(z<<24>>24!=(b[C>>0]|0)){F=A;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=A;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=A;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;A=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);d=f[p>>2]|0;if(!d){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function xd(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=ko(c|0,d|0,52)|0;i=h&2047;h=ko(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=fo(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=Jo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=fo(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=fo(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=0;q=n;n=m;while(1){m=o+-1|0;q=fo(q|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&q>>>0>4294967295)){r=m;break}else o=m}}else r=0;o=fo(c|0,d|0,1-r|0)|0;t=r;u=o;v=I}else{t=i;u=c;v=d&1048575|1048576}if(!j){o=fo(e|0,g|0,12)|0;q=I;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){n=0;m=o;o=q;while(1){q=n+-1|0;m=fo(m|0,o|0,1)|0;o=I;if(!((o|0)>-1|(o|0)==-1&m>>>0>4294967295)){w=q;break}else n=q}}else w=0;n=fo(e|0,g|0,1-w|0)|0;x=w;y=n;z=I}else{x=j;y=e;z=g&1048575|1048576}n=jo(u|0,v|0,y|0,z|0)|0;m=I;o=(m|0)>-1|(m|0)==-1&n>>>0>4294967295;b:do if((t|0)>(x|0)){q=t;A=m;B=o;C=u;D=v;E=n;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;G=A}else{F=C;G=D}H=fo(F|0,G|0,1)|0;J=I;K=q+-1|0;L=jo(H|0,J|0,y|0,z|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){q=K;A=M;B=N;C=H;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=H;T=J;break b}}U=a*0.0;break a}else{O=t;P=o;Q=n;R=m;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=O;n=W;o=V;while(1){E=fo(n|0,o|0,1)|0;D=I;C=m+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=C;n=E;o=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){o=ho(Y|0,Z|0,0,-1048576)|0;n=I;m=fo(X|0,0,52)|0;_=n|I;$=o|m}else{m=ko(Y|0,Z|0,1-X|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=vn(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14821;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Lh(c,e)|0)!=0):0)q=Ok(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Ok(i,e,-1)|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);i=(1<>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;if(i&1|0?(q=(_(i|0)|0)^31,(q+-1|0)>>>0<=28):0){f[e>>2]=q+1;i=2<>2]=i+-1;q=i+-2|0;f[e+8>>2]=q;f[e+12>>2]=(q|0)/2|0}switch(Zi(f[j>>2]|0,f[h>>2]|0)|0){case 6:{q=f[j>>2]|0;i=f[h>>2]|0;c=f[(f[(f[i+4>>2]|0)+8>>2]|0)+(q<<2)>>2]|0;do if((Qa[f[(f[i>>2]|0)+8>>2]&127](i)|0)==1){Jf(g,i,6,q,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=22;break}else{t=g;v=p;break}}else{s=g;r=22}while(0);if((r|0)==22){q=vn(24)|0;f[q+4>>2]=c;c=q+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[q>>2]=2624;c=q;f[g>>2]=c;t=s;v=c}f[a>>2]=v;f[t>>2]=0;u=d;return}case 0:{t=f[j>>2]|0;j=f[h>>2]|0;h=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(t<<2)>>2]|0;do if((Qa[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Jf(g,j,0,t,e,514);v=f[g>>2]|0;if(!v){f[g>>2]=0;w=g;r=29;break}else{x=g;y=v;break}}else{w=g;r=29}while(0);if((r|0)==29){r=vn(24)|0;f[r+4>>2]=h;h=r+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[r>>2]=2624;e=r;f[g>>2]=e;x=w;y=e}f[a>>2]=y;f[x>>2]=0;u=d;return}default:{f[a>>2]=0;u=d;return}}}function zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;i=c+12|0;j=f[i>>2]|0;if((j|0)!=(e|0)){k=j;do{j=k+-4|0;f[i>>2]=j;l=f[j>>2]|0;f[j>>2]=0;if(l|0)Va[f[(f[l>>2]|0)+4>>2]&127](l);k=f[i>>2]|0}while((k|0)!=(e|0))}e=f[c+20>>2]|0;k=c+24|0;i=f[k>>2]|0;if((i|0)!=(e|0))f[k>>2]=i+(~((i+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;i=c+36|0;k=f[i>>2]|0;if((k|0)!=(e|0))f[i>>2]=k+(~((k+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=vn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;m=e;n=16062;o=m+23|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+23>>0]=0;f[a>>2]=-1;rj(a+4|0,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}Ud(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;k=e+11|0;if((b[k>>0]|0)<0)br(f[e>>2]|0);Yi(a,c);if(f[a>>2]|0){u=g;return}if((b[k>>0]|0)<0)br(f[e>>2]|0);if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=29;m=k;n=16086;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+29>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16116;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+24>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16148;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+28>>2]&127](c)|0)){k=vn(48)|0;f[h>>2]=k;f[h+8>>2]=-2147483600;f[h+4>>2]=34;m=k;n=16180;o=m+34|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+34>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}e=vn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=30;m=e;n=16215;o=m+30|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+30>>0]=0;e=ak(d,h,0)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);if(e)Va[f[(f[c>>2]|0)+48>>2]&127](c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;return}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=d;y=u;while(1){if((w|0)!=(f[y+8>>2]|0)){v=x;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){v=x;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){v=x;break d}z=f[y>>2]|0;if(!z){v=y;break}else{A=y;y=z;x=A}}}while(0);f[i>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=c;while(1){t=f[d+4>>2]|0;if(t>>>0>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(j|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=C;s=t;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{x=f[d+8>>2]|0;y=d;w=u;while(1){if((x|0)!=(f[w+8>>2]|0)){D=y;break e}if((f[t>>2]|0)!=(f[w+12>>2]|0)){D=y;break e}if((f[p>>2]|0)!=(f[w+16>>2]|0)){D=y;break e}A=f[w>>2]|0;if(!A){D=w;break}else{z=w;w=A;y=z}}}while(0);f[i>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);c=f[o>>2]|0;if(!c){B=41;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){B=41;break}else{j=r;k=q;m=q}}if((B|0)==41)return}function Bd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3044;i=c;f[a>>2]=i;return}case 2:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3100;i=c;f[a>>2]=i;return}case 4:{c=vn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3156;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));hn(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=vn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3212;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3268;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=3324;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3380;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?al(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function Dd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2680;i=c;f[a>>2]=i;return}case 2:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2736;i=c;f[a>>2]=i;return}case 4:{c=vn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2792;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));hn(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=vn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2848;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2904;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2960;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3016;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+44|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+40|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Ij(d)}j=a+56|0;di(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);Ak(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+52|0;i=h;do{hj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;hj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Ij(d)}i=a+68|0;di(f[i>>2]|0,b)|0;if(f[i>>2]|0){Gn(d);Ak(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+64|0;h=j;do{hj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Ij(d)}h=a+80|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+76|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Ij(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+64|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+60|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Ij(d)}j=a+76|0;di(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);Ak(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+72|0;i=h;do{hj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;hj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Ij(d)}i=a+88|0;di(f[i>>2]|0,b)|0;if(f[i>>2]|0){Gn(d);Ak(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+84|0;h=j;do{hj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Ij(d)}h=a+100|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+96|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Ij(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Gd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=e;z=u;while(1){A=z+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=y;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=d[u>>1]|0;z=u+2|0;x=e;w=q;while(1){B=w+8|0;if(y<<16>>16!=(d[B>>1]|0)){E=x;break e}if((d[z>>1]|0)!=(d[B+2>>1]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);c=f[p>>2]|0;if(!c){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=e;z=u;while(1){A=z+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=y;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=d;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=b[u>>0]|0;z=u+1|0;x=e;w=q;while(1){B=w+8|0;if(y<<24>>24!=(b[B>>0]|0)){E=x;break e}if((b[z>>0]|0)!=(b[B+1>>0]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);d=f[p>>2]|0;if(!d){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}yp(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ph(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=vn(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Oe(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Hj(h+4|0,f[k>>2]|0);Hj(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(al(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(al(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=d;x=t;while(1){if((v|0)!=(f[x+8>>2]|0)){u=w;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){u=w;break d}y=f[x>>2]|0;if(!y){u=x;break}else{z=x;x=y;w=z}}}while(0);f[i>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=c;while(1){p=f[d+4>>2]|0;if(p>>>0>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=B;s=p;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{w=f[d+8>>2]|0;x=d;v=t;while(1){if((w|0)!=(f[v+8>>2]|0)){C=x;break e}if((f[p>>2]|0)!=(f[v+12>>2]|0)){C=x;break e}z=f[v>>2]|0;if(!z){C=v;break}else{y=v;v=z;x=y}}}while(0);f[i>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);c=f[o>>2]|0;if(!c){A=39;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){A=39;break}else{j=r;k=q;m=q}}if((A|0)==39)return}function Ld(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=al(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=al(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=al(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=Cg(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=al(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=Cg(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function Md(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Dm(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Dm(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=ho(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;jo(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=jo(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Nd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=vn(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14864;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+20>>0]=0;j=Mk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);i=f[h>>2]|0;n=vn(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14885;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Mk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);i=a+64|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Va[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+56>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=vn(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14908;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Ok(o,d,-1)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((ni(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0}j=vn(296)|0;aj(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Va[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Me(n,d,g,g+1|0)|0}g=vn(360)|0;yi(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Va[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ra[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((l|0)>-1)if((m|0)<=-1)if((l|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((m|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(l|0)>0?1:-1;o=(m|0)>0?1:-1}q=X(g,n)|0;r=X(g,o)|0;g=(l<<1)-q|0;f[c>>2]=g;l=(m<<1)-r|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;s=0-g|0;t=o}else{f[c>>2]=l;s=g;t=l}f[c>>2]=(t+q|0)/2|0;f[h>>2]=(s+r|0)/2|0;r=f[d>>2]|0;s=f[j>>2]|0;if((r|0)>-1)if((s|0)<=-1)if((r|0)<1){u=-1;v=-1}else p=14;else{u=1;v=1}else if((s|0)<1){u=-1;v=-1}else p=14;if((p|0)==14){u=(r|0)>0?1:-1;v=(s|0)>0?1:-1}q=f[e>>2]|0;e=X(q,u)|0;t=X(q,v)|0;q=(r<<1)-e|0;f[d>>2]=q;r=(s<<1)-t|0;f[j>>2]=r;if((X(u,v)|0)>-1){v=0-r|0;f[d>>2]=v;w=0-q|0;x=v}else{f[d>>2]=r;w=q;x=r}r=(x+e|0)/2|0;f[d>>2]=r;e=(w+t|0)/2|0;f[j>>2]=e;y=r;z=e}else{y=i;z=k}if(!y)if(!z){A=y;B=z}else p=22;else if((y|0)<0&(z|0)<1){A=y;B=z}else p=22;if((p|0)==22){if(!y)C=(z|0)==0?0:(z|0)>0?3:1;else C=(y|0)>0?(z>>31)+2|0:(z|0)<1?0:3;z=f[c>>2]|0;y=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=y;f[C+4>>2]=0-z;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-z;f[C+4>>2]=0-y;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-y;f[C+4>>2]=z;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=z;f[C+4>>2]=y;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;A=D;B=E}E=(f[c>>2]|0)-A|0;f[a>>2]=E;A=(f[h>>2]|0)-B|0;B=a+4|0;f[B>>2]=A;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((A|0)>=0){G=A;f[B>>2]=G;return}G=(f[b+4>>2]|0)+A|0;f[B>>2]=G;return}function Pd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){b:do if(i){g=l;c=m;j=n;while(1){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}c=f[e>>2]|0;if(!c){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;c=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=c;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[c>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;c=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){b:do if(i){g=l;d=m;j=n;while(1){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}d=f[e>>2]|0;if(!d){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;d=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=d;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[d>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;d=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Rd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=0;n=1;while(1){o=(f[l+(m<<2)>>2]|0)>>>0>(f[l+(n<<2)>>2]|0)>>>0?n:m;n=n+1|0;if(n>>>0>=j>>>0){k=o;break}else m=o}return k|0}if(j){j=f[a+1128>>2]|0;m=f[e>>2]|0;e=f[a+1140>>2]|0;n=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0

>>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[n+(b<<2)>>2]|0)+(1<>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=c;u=f[q>>2]|0;do{v=s+((X(t,p)|0)<<2)+(b<<2)|0;u=u+((f[v>>2]|0)>>>0>>0&1)|0;f[q>>2]=u;t=t+1|0}while((t|0)!=(g|0));t=h-u|0;f[q>>2]=t>>>0>>0?u:t}b=b+1|0;t=f[i>>2]|0}while(b>>>0>>0);r=t}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=h>>>0>>0;w=l?d:h;x=l?g:c}g=g+1|0;if(g>>>0>=r>>>0){y=x;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;if((h|0)<4){r=y&15;g=4-h|0;f[c>>2]=g;h=a+1100|0;i=f[h>>2]|r>>>g;f[h>>2]=i;g=a+1092|0;b=f[g>>2]|0;if((b|0)==(f[a+1096>>2]|0))Ti(x,h);else{f[b>>2]=i;f[g>>2]=b+4}f[h>>2]=r<<32-(f[c>>2]|0);k=y;return k|0}r=a+1100|0;h=f[r>>2]|y<<28>>>w;f[r>>2]=h;b=w+4|0;f[c>>2]=b;if((b|0)!=32){k=y;return k|0}b=a+1092|0;w=f[b>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[w>>2]=h;f[b>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function Td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=a+24|0;k=j;j=g;l=d;d=g;a:while(1){g=j;m=l;n=d;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(k|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=o;y=p}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[y+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=x;break c}}while((z|0)<(v|0));z=f[y>>2]|0;if(!z){s=y;break}else{w=y;y=z;x=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=q;j=o;d=o}}if((E|0)==38)return}function Ud(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,16273,16278)|0}n=Qa[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Me(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=h;r=k}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Me(k,g,i,i+1|0)|0;q=h;r=f[m>>2]|0}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=h;r=t}t=Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=t;t=r+16|0;q=f[t+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[t>>2]|0)>>>0>0)){f[h>>2]=f[r+4>>2];f[g>>2]=f[h>>2];Me(r,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;r=f[m+4>>2]|0;if((r|0)>0|(r|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Me(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=vn(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3740;m=k+12|0;f[m>>2]=3764;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3764;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3764;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,s,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);If(j,h);If(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;gg(s,g)|0;f[g>>2]=3764;o=f[g+20>>2]|0;if(o|0)br(o);o=f[g+8>>2]|0;if(o|0)br(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3764;l=f[j+20>>2]|0;if(l|0)br(l);l=f[j+8>>2]|0;if(l|0)br(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];gg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;pg(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);br(r)}f[v>>2]=3764;v=f[i+24>>2]|0;if(v|0)br(v);v=f[i+12>>2]|0;if(v|0)br(v);f[h>>2]=3764;v=f[h+20>>2]|0;if(v|0)br(v);v=f[h+8>>2]|0;if(!v){u=e;return}br(v);u=e;return}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Oa,x=0,y=Oa,z=Oa,A=Oa;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)nq(g);else{l=h<<2;m=vn(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;uj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);br(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=_q(r)|0;q=_q(r)|0;r=c+48|0;o=f[r>>2]|0;g=c+40|0;a=f[g>>2]|0;l=f[c>>2]|0;kh(q|0,(f[l>>2]|0)+o|0,a|0)|0;kh(p|0,(f[l>>2]|0)+o|0,a|0)|0;a=r;r=f[a>>2]|0;o=f[a+4>>2]|0;a=g;g=f[a>>2]|0;l=f[a+4>>2]|0;a=f[c>>2]|0;kh(s|0,(f[a>>2]|0)+r|0,g|0)|0;p=f[c+80>>2]|0;a:do if(p>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=En(g|0,l|0,c|0,0)|0;t=ho(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+t|0,g|0)|0;c=c+1|0;if(c>>>0>=p>>>0)break a}}c=f[k>>2]|0;t=1;do{m=En(g|0,l|0,t|0,0)|0;v=ho(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+v|0,g|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0

>>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;k=0;z=$(n[j>>2]);while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}$q(q);$q(s);i=1;u=e;return i|0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a+8|0;Ph(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=h;h=f[g>>2]|0;while(1){p=b+(o<<2)|0;q=c+(o<<2)|0;if((h|0)>0){r=0;s=p+(d<<2)|0;t=h;while(1){if((t|0)>0){u=0;do{v=f[s+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[p+(r<<2)>>2]|0)-(f[z+(r<<2)>>2]|0)|0;w=q+(r<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}r=r+1|0;w=f[g>>2]|0;if((r|0)>=(w|0)){C=w;break}else{s=z;t=w}}}else C=h;o=o-e|0;if((o|0)<=0){D=C;break}else h=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=_q(C)|0;uj(e|0,0,C|0)|0;if((D|0)<=0){$q(e);return 1}C=a+16|0;h=a+32|0;o=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=0;n=e;l=D;while(1){if((l|0)>0){D=0;do{j=f[n+(D<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[h>>2]|0;f[k+(D<<2)>>2]=y;E=k}else{k=f[o>>2]|0;y=f[h>>2]|0;f[y+(D<<2)>>2]=(j|0)<(k|0)?k:j;E=y}D=D+1|0}while((D|0)<(f[g>>2]|0));F=E}else F=f[h>>2]|0;D=(f[b+(a<<2)>>2]|0)-(f[F+(a<<2)>>2]|0)|0;y=c+(a<<2)|0;f[y>>2]=D;if((D|0)>=(f[z>>2]|0)){if((D|0)>(f[m>>2]|0)){G=D-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+D|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}a=a+1|0;l=f[g>>2]|0;if((a|0)>=(l|0))break;else n=F}$q(e);return 1}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=t;z=v}else{m=b;return m|0}}else{y=c;z=p}c=z-(b+(j<<2))>>2;v=b+(c<<2)|0;if(v>>>0

>>0){t=(p+(0-c<<2)+~r|0)>>>2;r=v;s=z;while(1){f[s>>2]=f[r>>2];r=r+4|0;if(r>>>0>=p>>>0)break;else s=s+4|0}f[o>>2]=z+(t+1<<2)}if(c|0){c=v;v=z;do{c=c+-4|0;v=v+-4|0;f[v>>2]=f[c>>2]}while((c|0)!=(b|0))}c=y;if((k|0)==(c|0)){m=b;return m|0}else{A=b;B=k}while(1){f[A>>2]=f[B>>2];B=B+4|0;if((B|0)==(c|0)){m=b;break}else A=A+4|0}return m|0}A=(q-g>>2)+j|0;if(A>>>0>1073741823)nq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0>>0?A:g):1073741823;g=b;A=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;ap(j,16422);f[j>>2]=7412;va(j|0,1160,122)}else{j=vn(n<<2)|0;C=j;D=j;break}else{C=0;D=0}while(0);j=D+(A<<2)|0;A=D+(n<<2)|0;if((l|0)==(k|0))E=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}E=j+(n<<2)|0}if((h|0)>0)kh(C|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){kh(E|0,b|0,h|0)|0;F=E+(h>>>2<<2)|0}else F=E;f[a>>2]=D;f[o>>2]=F;f[d>>2]=A;if(!e){m=j;return m|0}br(e);m=j;return m|0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;di(f[i>>2]|0,b)|0;Gn(h);Ak(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Ij(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(h);u=c;return 1}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)nq(h);k=i;if(j>>>0<=g>>>0)nq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Xg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{jh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{jg(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Xg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=d;i=0;m=g;b:while(1){n=f[k>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=m;s=k;t=o;while(1){f[s>>2]=t;if((r|0)==(a|0)){u=a;break}o=r+-4|0;t=f[o>>2]|0;if(h>>>0<=t>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(t<<3)>>2]|0)>>>0){u=r;break}else{v=r;r=o;s=v}}f[u>>2]=n;s=i+1|0;if((s|0)==8){w=0;x=(k+4|0)==(b|0);break a}else y=s}else y=i;s=k+4|0;if((s|0)==(b|0)){w=1;x=0;break a}else{r=k;k=s;i=y;m=r}}if((p|0)==14)nq(e);else if((p|0)==16)nq(e);else if((p|0)==20)nq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;di(f[i>>2]|0,b)|0;Gn(h);Ak(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Ij(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(h);u=c;return 1}function ae(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)$q(l);l=a+8|0;Ph(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;nq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Dc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)nq(y);return 0} -function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4882]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19568+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4882]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4884]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=19568+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4887]|0;h=m>>>3;l=19568+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4884]=j;f[4887]=k;o=e;u=b;return o|0}e=f[4883]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[19832+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=19832+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[4883]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[4887]|0;n=m>>>3;i=19568+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[4884]=v;f[4887]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[4883]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[19832+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[19832+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[4884]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=19832+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=19568+(j<<1<<2)|0;d=f[4882]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=19832+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4883]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[4884]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[4887]|0;if(T>>>0>15){_=$+B|0;f[4887]=_;f[4884]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[4884]=0;f[4887]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[4885]|0;if($>>>0>B>>>0){T=$-B|0;f[4885]=T;S=f[4888]|0;_=S+B|0;f[4888]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[5e3]|0)){f[5002]=4096;f[5001]=4096;f[5003]=-1;f[5004]=-1;f[5005]=0;f[4993]=0;f[5e3]=c&-16^1431655768;aa=4096}else aa=f[5002]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4992]|0;if(X|0?(Y=f[4990]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4993]&4)){X=f[4888]|0;c:do if(X){Z=19976;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Ul(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Ul(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[5001]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[4990]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[4992]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Ul(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[5002]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Ul(X|0)|0)==(-1|0)){Ul(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[4993]=f[4993]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Ul(aa|0)|0,aa=Ul(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[4990]|0)+da|0;f[4990]=ca;if(ca>>>0>(f[4991]|0)>>>0)f[4991]=ca;ca=f[4888]|0;do if(ca){ha=19976;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[4885]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[4888]=ga;f[4885]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[4889]=f[5004];break}if(ea>>>0<(f[4886]|0)>>>0)f[4886]=ea;fa=ea+da|0;S=19976;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=19976;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[4887]|0)==(aa|0)){ba=(f[4884]|0)+c|0;f[4884]=ba;f[4887]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[4882]=f[4882]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=19832+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[4883]=f[4883]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=19568+($<<1<<2)|0;Z=f[4882]|0;Y=1<<$;if(!(Z&Y)){f[4882]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=19832+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4883]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[4885]|0)+c|0;f[4885]=ba;f[4888]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=19976;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[4888]=fa;f[4885]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[4889]=f[5004];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[4994];f[c+4>>2]=f[4995];f[c+8>>2]=f[4996];f[c+12>>2]=f[4997];f[4994]=ea;f[4995]=da;f[4997]=0;f[4996]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=19568+(ba<<1<<2)|0;S=f[4882]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=19832+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[4883]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[4886]|0;if((c|0)==0|ea>>>0>>0)f[4886]=ea;f[4994]=ea;f[4995]=da;f[4997]=0;f[4891]=f[5e3];f[4890]=-1;f[4895]=19568;f[4894]=19568;f[4897]=19576;f[4896]=19576;f[4899]=19584;f[4898]=19584;f[4901]=19592;f[4900]=19592;f[4903]=19600;f[4902]=19600;f[4905]=19608;f[4904]=19608;f[4907]=19616;f[4906]=19616;f[4909]=19624;f[4908]=19624;f[4911]=19632;f[4910]=19632;f[4913]=19640;f[4912]=19640;f[4915]=19648;f[4914]=19648;f[4917]=19656;f[4916]=19656;f[4919]=19664;f[4918]=19664;f[4921]=19672;f[4920]=19672;f[4923]=19680;f[4922]=19680;f[4925]=19688;f[4924]=19688;f[4927]=19696;f[4926]=19696;f[4929]=19704;f[4928]=19704;f[4931]=19712;f[4930]=19712;f[4933]=19720;f[4932]=19720;f[4935]=19728;f[4934]=19728;f[4937]=19736;f[4936]=19736;f[4939]=19744;f[4938]=19744;f[4941]=19752;f[4940]=19752;f[4943]=19760;f[4942]=19760;f[4945]=19768;f[4944]=19768;f[4947]=19776;f[4946]=19776;f[4949]=19784;f[4948]=19784;f[4951]=19792;f[4950]=19792;f[4953]=19800;f[4952]=19800;f[4955]=19808;f[4954]=19808;f[4957]=19816;f[4956]=19816;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[4888]=ba;f[4885]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[4889]=f[5004]}while(0);ea=f[4885]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4885]=da;ea=f[4888]|0;ca=ea+B|0;f[4888]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=ir()|0;f[ea>>2]=12;o=0;u=b;return o|0}function ab(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Ph(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=(g|0)==1;pa=Q+-1|0;if(F-D>>2>>>0>pa>>>0){qa=Q;ra=pa;sa=D;ta=M;ua=P;va=O;wa=M;xa=N;ya=M;za=N}else{Aa=G;nq(Aa)}b:while(1){pa=f[sa+(ra<<2)>>2]|0;Q=(((pa>>>0)%3|0|0)==0?2:-1)+pa|0;Ba=Q>>>5;Ca=1<<(Q&31);Da=(pa|0)==-1|(Q|0)==-1;Ea=1;Fa=0;Ga=pa;c:while(1){Ha=Ea^1;Ia=Fa;Ja=Ga;while(1){if((Ja|0)==-1){Ka=Ia;break c}La=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0?(Ma=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Ma|0)!=-1):0)?(Na=f[S>>2]|0,Oa=f[A>>2]|0,Pa=f[Oa+(f[Na+(Ma<<2)>>2]<<2)>>2]|0,Qa=Ma+1|0,Ra=f[Oa+(f[Na+((((Qa>>>0)%3|0|0)==0?Ma+-2|0:Qa)<<2)>>2]<<2)>>2]|0,Qa=f[Oa+(f[Na+((((Ma>>>0)%3|0|0)==0?2:-1)+Ma<<2)>>2]<<2)>>2]|0,(Pa|0)<(ra|0)&(Ra|0)<(ra|0)&(Qa|0)<(ra|0)):0){Ma=X(Pa,g)|0;Pa=X(Ra,g)|0;Ra=X(Qa,g)|0;if(T){Qa=0;do{f[La+(Qa<<2)>>2]=(f[c+(Qa+Ra<<2)>>2]|0)+(f[c+(Qa+Pa<<2)>>2]|0)-(f[c+(Qa+Ma<<2)>>2]|0);Qa=Qa+1|0}while((Qa|0)!=(g|0))}Qa=Ia+1|0;if((Qa|0)==4){Ka=4;break c}else Sa=Qa}else Sa=Ia;do if(Ea){Qa=Ja+1|0;Ma=((Qa>>>0)%3|0|0)==0?Ja+-2|0:Qa;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,Ma=Qa+1|0,(Qa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Qa+-2|0:Ma;else Ta=-1}else{Ma=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,(Qa|0)!=-1):0)if(!((Qa>>>0)%3|0)){Ta=Qa+2|0;break}else{Ta=Qa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(pa|0)){Ka=Sa;break c}if((Ta|0)!=-1|Ha){Ia=Sa;Ja=Ta}else break}if(Da){Ea=0;Fa=Sa;Ga=-1;continue}if(f[(f[e>>2]|0)+(Ba<<2)>>2]&Ca|0){Ea=0;Fa=Sa;Ga=-1;continue}Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ja|0)==-1){Ea=0;Fa=Sa;Ga=-1;continue}if(!((Ja>>>0)%3|0)){Ea=0;Fa=Sa;Ga=Ja+2|0;continue}else{Ea=0;Fa=Sa;Ga=Ja+-1|0;continue}}Ga=X(ra,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Fa=c+((X(qa+-2|0,g)|0)<<2)|0;Ea=c+(Ga<<2)|0;Q=f[_>>2]|0;if(T){Ca=0;Ba=0;while(1){Da=(f[Fa+(Ca<<2)>>2]|0)-(f[Ea+(Ca<<2)>>2]|0)|0;pa=((Da|0)>-1?Da:0-Da|0)+Ba|0;f[ta+(Ca<<2)>>2]=Da;f[Q+(Ca<<2)>>2]=Da<<1^Da>>31;Ca=Ca+1|0;if((Ca|0)==(g|0)){Ua=pa;break}else Ba=pa}}else Ua=0;xo(j,$,Q,g);Ba=el(j)|0;Ca=I;pa=Jm(j)|0;Da=ho(pa|0,I|0,Ba|0,Ca|0)|0;Ca=I;Ba=(Ka|0)>0;if(Ba){pa=Ka+-1|0;Ja=p+(pa<<3)|0;Ia=Ja;Ha=ho(f[Ia>>2]|0,f[Ia+4>>2]|0,Ka|0,((Ka|0)<0)<<31>>31|0)|0;Ia=I;Qa=Ja;f[Qa>>2]=Ha;f[Qa+4>>2]=Ia;Va=+W(+(+Em(Ha,f[o+(pa<<3)>>2]|0)*(+(Ha>>>0)+4294967296.0*+(Ia|0))));Ia=ho(Da|0,Ca|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Wa=Ia}else Wa=Da;Da=r;f[Da>>2]=Wa;f[Da+4>>2]=Ua;b[V>>0]=0;f[Z>>2]=0;ag(aa,Fa,Fa+(g<<2)|0);f[s>>2]=ua;f[t>>2]=va;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Lf(ba,k,j);if((Ka|0)<1){Xa=za;Ya=ya;Za=xa;_a=wa;$a=va;ab=ua;bb=ua}else{Da=n+Ka|0;Ia=f[q>>2]|0;Ca=Ka+-1|0;Ha=o+(Ca<<3)|0;pa=p+(Ca<<3)|0;Ca=Ia;Qa=f[H>>2]|0;Ja=Da+-1|0;Ma=(Ja|0)==(n|0);Pa=Da+-2|0;Ra=ma>>>0>>0;La=~Ka;Na=Ka+2+((La|0)>-2?La:-2)|0;La=Qa;Oa=Ja>>>0>n>>>0;cb=0;db=1;while(1){cb=cb+1|0;uj(n|0,1,Na|0)|0;uj(n|0,0,cb|0)|0;d:while(1){if(T){uj(f[m>>2]|0,0,na|0)|0;eb=f[m>>2]|0;fb=0;gb=0;while(1){if(!(b[n+fb>>0]|0)){hb=f[l+(fb*12|0)>>2]|0;ib=0;do{jb=eb+(ib<<2)|0;f[jb>>2]=(f[jb>>2]|0)+(f[hb+(ib<<2)>>2]|0);ib=ib+1|0}while((ib|0)!=(g|0));kb=(1<>0]|0))mb=(1<>2]|0;do if(T){f[fb>>2]=(f[fb>>2]|0)/(db|0)|0;if(!oa){gb=1;do{eb=fb+(gb<<2)|0;f[eb>>2]=(f[eb>>2]|0)/(db|0)|0;gb=gb+1|0}while((gb|0)!=(g|0));gb=f[_>>2]|0;if(T)nb=gb;else{ob=0;pb=gb;break}}else nb=f[_>>2]|0;gb=0;eb=0;while(1){ib=(f[fb+(gb<<2)>>2]|0)-(f[Ea+(gb<<2)>>2]|0)|0;hb=((ib|0)>-1?ib:0-ib|0)+eb|0;f[Ia+(gb<<2)>>2]=ib;f[nb+(gb<<2)>>2]=ib<<1^ib>>31;gb=gb+1|0;if((gb|0)==(g|0)){ob=hb;pb=nb;break}else eb=hb}}else{ob=0;pb=f[_>>2]|0}while(0);xo(j,$,pb,g);fb=el(j)|0;eb=I;gb=Jm(j)|0;hb=ho(gb|0,I|0,fb|0,eb|0)|0;eb=I;if(Ba){fb=Ha;gb=ho(f[fb>>2]|0,f[fb+4>>2]|0,db|0,0)|0;fb=pa;ib=f[fb>>2]|0;jb=f[fb+4>>2]|0;Va=+W(+(+Em(ib,gb)*(+(ib>>>0)+4294967296.0*+(jb|0))));jb=ho(hb|0,eb|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;qb=jb}else qb=hb;hb=f[r>>2]|0;if(!((qb|0)>=(hb|0)?!((qb|0)<=(hb|0)?(ob|0)<(f[U>>2]|0):0):0)){hb=r;f[hb>>2]=qb;f[hb+4>>2]=ob;b[V>>0]=lb;f[Z>>2]=db;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Lf(aa,k,j);f[x>>2]=Ca;f[y>>2]=Qa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Lf(ba,k,j)}if(Ma)break;rb=b[Ja>>0]|0;hb=-1;jb=rb;while(1){eb=hb+-1|0;sb=Da+eb|0;ib=jb;jb=b[sb>>0]|0;if((jb&255)<(ib&255))break;if((sb|0)==(n|0)){tb=86;break d}else hb=eb}eb=Da+hb|0;if((jb&255)<(rb&255)){ub=Ja;vb=rb}else{ib=Da;gb=Ja;while(1){fb=gb+-1|0;if((jb&255)<(h[ib+-2>>0]|0)){ub=fb;vb=1;break}else{wb=gb;gb=fb;ib=wb}}}b[sb>>0]=vb;b[ub>>0]=jb;if((hb|0)<-1){xb=eb;yb=Ja}else continue;while(1){ib=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=ib;ib=xb+1|0;gb=yb+-1|0;if(ib>>>0>>0){xb=ib;yb=gb}else continue d}}if(((tb|0)==86?(tb=0,Oa):0)?(eb=b[n>>0]|0,b[n>>0]=rb,b[Ja>>0]=eb,Ra):0){eb=Pa;hb=ma;do{jb=b[hb>>0]|0;b[hb>>0]=b[eb>>0]|0;b[eb>>0]=jb;hb=hb+1|0;eb=eb+-1|0}while(hb>>>0>>0)}if((db|0)>=(Ka|0)){Xa=La;Ya=Ia;Za=La;_a=Ia;$a=Qa;ab=Ca;bb=Ia;break}else db=db+1|0}}if(Ba){db=f[Z>>2]|0;Ia=o+(Ka+-1<<3)|0;Ca=Ia;Qa=ho(f[Ca>>2]|0,f[Ca+4>>2]|0,db|0,((db|0)<0)<<31>>31|0)|0;db=Ia;f[db>>2]=Qa;f[db+4>>2]=I}if(T){db=f[ba>>2]|0;Qa=f[C>>2]|0;Ia=0;do{Ca=f[db+(Ia<<2)>>2]|0;f[Qa+(Ia<<2)>>2]=Ca<<1^Ca>>31;Ia=Ia+1|0}while((Ia|0)!=(g|0));zb=Qa}else zb=f[C>>2]|0;wo(j,$,zb,g);if(Ba){Qa=Ka+-1|0;Ab=a+60+(Qa*12|0)|0;Ia=a+60+(Qa*12|0)+4|0;db=a+60+(Qa*12|0)+8|0;Qa=0;do{Ca=f[Ia>>2]|0;La=f[db>>2]|0;Pa=(Ca|0)==(La<<5|0);if(!(1<>0])){if(Pa){if((Ca+1|0)<0){tb=114;break b}Ra=La<<6;Ja=Ca+32&-32;wi(Ab,Ca>>>0<1073741823?(Ra>>>0>>0?Ja:Ra):2147483647);Bb=f[Ia>>2]|0}else Bb=Ca;f[Ia>>2]=Bb+1;Ra=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ra>>2]=f[Ra>>2]|1<<(Bb&31)}else{if(Pa){if((Ca+1|0)<0){tb=119;break b}Pa=La<<6;La=Ca+32&-32;wi(Ab,Ca>>>0<1073741823?(Pa>>>0>>0?La:Pa):2147483647);Cb=f[Ia>>2]|0}else Cb=Ca;f[Ia>>2]=Cb+1;Ca=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[Ca>>2]=f[Ca>>2]&~(1<<(Cb&31))}Qa=Qa+1|0}while((Qa|0)<(Ka|0))}Qa=d+(Ga<<2)|0;Ia=f[z>>2]|0;if((Ia|0)>0){db=0;Ba=f[aa>>2]|0;Ca=Ia;while(1){if((Ca|0)>0){Ia=0;do{Pa=f[Ba+(Ia<<2)>>2]|0;La=f[ca>>2]|0;if((Pa|0)>(La|0)){Ra=f[da>>2]|0;f[Ra+(Ia<<2)>>2]=La;Db=Ra}else{Ra=f[ea>>2]|0;La=f[da>>2]|0;f[La+(Ia<<2)>>2]=(Pa|0)<(Ra|0)?Ra:Pa;Db=La}Ia=Ia+1|0}while((Ia|0)<(f[z>>2]|0));Eb=Db}else Eb=f[da>>2]|0;Ia=(f[Ea+(db<<2)>>2]|0)-(f[Eb+(db<<2)>>2]|0)|0;La=Qa+(db<<2)|0;f[La>>2]=Ia;do if((Ia|0)<(f[fa>>2]|0)){Fb=(f[ga>>2]|0)+Ia|0;tb=109}else{if((Ia|0)<=(f[ha>>2]|0))break;Fb=Ia-(f[ga>>2]|0)|0;tb=109}while(0);if((tb|0)==109){tb=0;f[La>>2]=Fb}db=db+1|0;Ca=f[z>>2]|0;if((db|0)>=(Ca|0))break;else Ba=Eb}}Ba=f[ia>>2]|0;if(Ba|0){Ca=f[la>>2]|0;if((Ca|0)!=(Ba|0))f[la>>2]=Ca+(~((Ca+-4-Ba|0)>>>2)<<2);br(Ba)}Ba=f[ja>>2]|0;if(Ba|0){Ca=f[ka>>2]|0;if((Ca|0)!=(Ba|0))f[ka>>2]=Ca+(~((Ca+-4-Ba|0)>>>2)<<2);br(Ba)}if((qa|0)<=2){Gb=_a;Hb=Za;break a}Ba=f[B>>2]|0;sa=f[Ba>>2]|0;Ca=ra+-1|0;if((f[Ba+4>>2]|0)-sa>>2>>>0<=Ca>>>0){Aa=Ba;tb=18;break}else{Ba=ra;ra=Ca;ta=bb;ua=ab;va=$a;wa=_a;xa=Za;ya=Ya;za=Xa;qa=Ba}}if((tb|0)==18)nq(Aa);else if((tb|0)==114)nq(Ab);else if((tb|0)==119)nq(Ab)}else{Gb=M;Hb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Ab=a+32|0;Aa=a+12|0;qa=a+28|0;Xa=a+20|0;za=a+24|0;a=0;Ya=N;N=g;while(1){if((N|0)>0){g=0;do{ya=f[Ya+(g<<2)>>2]|0;Za=f[M>>2]|0;if((ya|0)>(Za|0)){xa=f[Ab>>2]|0;f[xa+(g<<2)>>2]=Za;Ib=xa}else{xa=f[Aa>>2]|0;Za=f[Ab>>2]|0;f[Za+(g<<2)>>2]=(ya|0)<(xa|0)?xa:ya;Ib=Za}g=g+1|0}while((g|0)<(f[z>>2]|0));Jb=Ib}else Jb=f[Ab>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Jb+(a<<2)>>2]|0)|0;Za=d+(a<<2)|0;f[Za>>2]=g;if((g|0)>=(f[qa>>2]|0)){if((g|0)>(f[za>>2]|0)){Kb=g-(f[Xa>>2]|0)|0;tb=145}}else{Kb=(f[Xa>>2]|0)+g|0;tb=145}if((tb|0)==145){tb=0;f[Za>>2]=Kb}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Ya=Jb}}if(Gb|0){if((Hb|0)!=(Gb|0))f[H>>2]=Hb+(~((Hb+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[m>>2]|0;if(Gb|0){m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+36>>2]|0;if(Gb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+24>>2]|0;if(Gb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+12>>2]|0;if(Gb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l>>2]|0;if(!Gb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Gb|0))f[E>>2]=l+(~((l+-4-Gb|0)>>>2)<<2);br(Gb);u=i;return 1}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Ph(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=(g|0)==1;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=Q;qa=oa;ra=D;sa=M;ta=P;ua=O;va=M;wa=N;xa=M;ya=N}else{za=G;nq(za)}b:while(1){oa=f[ra+(qa<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=(oa|0)==-1|(Q|0)==-1;Ba=1;Ca=0;Da=oa;c:while(1){Ea=Ba^1;Fa=Ca;Ga=Da;while(1){if((Ga|0)==-1){Ha=Fa;break c}Ia=f[l+(Fa*12|0)>>2]|0;Ja=f[R>>2]|0;Ka=f[Ja+(Ga<<2)>>2]|0;if((Ka|0)!=-1){La=f[e>>2]|0;Ma=f[A>>2]|0;Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0;Oa=Ka+1|0;Pa=((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa;if((Pa|0)==-1)Qa=-1;else Qa=f[La+(Pa<<2)>>2]|0;Pa=f[Ma+(Qa<<2)>>2]|0;Oa=(((Ka>>>0)%3|0|0)==0?2:-1)+Ka|0;if((Oa|0)==-1)Ra=-1;else Ra=f[La+(Oa<<2)>>2]|0;Oa=f[Ma+(Ra<<2)>>2]|0;if((Na|0)<(qa|0)&(Pa|0)<(qa|0)&(Oa|0)<(qa|0)){Ma=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(S){Oa=0;do{f[Ia+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ma<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Fa+1|0;if((Oa|0)==4){Ha=4;break c}else Sa=Oa}else Sa=Fa}else Sa=Fa;do if(Ba){Oa=Ga+1|0;Ma=((Oa>>>0)%3|0|0)==0?Ga+-2|0:Oa;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,Ma=Oa+1|0,(Oa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Oa+-2|0:Ma;else Ta=-1}else{Ma=(((Ga>>>0)%3|0|0)==0?2:-1)+Ga|0;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ta=Oa+2|0;break}else{Ta=Oa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(oa|0)){Ha=Sa;break c}if((Ta|0)!=-1|Ea){Fa=Sa;Ga=Ta}else break}if(Aa){Ba=0;Ca=Sa;Da=-1;continue}Ga=f[Ja+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=0;Ca=Sa;Da=-1;continue}if(!((Ga>>>0)%3|0)){Ba=0;Ca=Sa;Da=Ga+2|0;continue}else{Ba=0;Ca=Sa;Da=Ga+-1|0;continue}}Da=X(qa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ca=c+((X(pa+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Q=f[Z>>2]|0;if(S){Aa=0;oa=0;while(1){Ga=(f[Ca+(Aa<<2)>>2]|0)-(f[Ba+(Aa<<2)>>2]|0)|0;Fa=((Ga|0)>-1?Ga:0-Ga|0)+oa|0;f[sa+(Aa<<2)>>2]=Ga;f[Q+(Aa<<2)>>2]=Ga<<1^Ga>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Ua=Fa;break}else oa=Fa}}else Ua=0;xo(j,_,Q,g);oa=el(j)|0;Aa=I;Fa=Jm(j)|0;Ga=ho(Fa|0,I|0,oa|0,Aa|0)|0;Aa=I;oa=(Ha|0)>0;if(oa){Fa=Ha+-1|0;Ea=p+(Fa<<3)|0;Oa=Ea;Ma=ho(f[Oa>>2]|0,f[Oa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Oa=I;Na=Ea;f[Na>>2]=Ma;f[Na+4>>2]=Oa;Va=+W(+(+Em(Ma,f[o+(Fa<<3)>>2]|0)*(+(Ma>>>0)+4294967296.0*+(Oa|0))));Oa=ho(Ga|0,Aa|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Wa=Oa}else Wa=Ga;Ga=r;f[Ga>>2]=Wa;f[Ga+4>>2]=Ua;b[U>>0]=0;f[V>>2]=0;ag($,Ca,Ca+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Lf(aa,k,j);if((Ha|0)<1){Xa=ya;Ya=xa;Za=wa;_a=va;$a=ua;ab=ta;bb=ta}else{Ga=n+Ha|0;Oa=f[q>>2]|0;Aa=Ha+-1|0;Ma=o+(Aa<<3)|0;Fa=p+(Aa<<3)|0;Aa=Oa;Na=f[H>>2]|0;Ea=Ga+-1|0;Pa=(Ea|0)==(n|0);Ia=Ga+-2|0;La=la>>>0>>0;Ka=~Ha;cb=Ha+2+((Ka|0)>-2?Ka:-2)|0;Ka=Na;db=Ea>>>0>n>>>0;eb=0;fb=1;while(1){eb=eb+1|0;uj(n|0,1,cb|0)|0;uj(n|0,0,eb|0)|0;d:while(1){if(S){uj(f[m>>2]|0,0,ma|0)|0;gb=f[m>>2]|0;hb=0;ib=0;while(1){if(!(b[n+hb>>0]|0)){jb=f[l+(hb*12|0)>>2]|0;kb=0;do{lb=gb+(kb<<2)|0;f[lb>>2]=(f[lb>>2]|0)+(f[jb+(kb<<2)>>2]|0);kb=kb+1|0}while((kb|0)!=(g|0));mb=(1<>0]|0))ob=(1<>2]|0;do if(S){f[hb>>2]=(f[hb>>2]|0)/(fb|0)|0;if(!na){ib=1;do{gb=hb+(ib<<2)|0;f[gb>>2]=(f[gb>>2]|0)/(fb|0)|0;ib=ib+1|0}while((ib|0)!=(g|0));ib=f[Z>>2]|0;if(S)pb=ib;else{qb=0;rb=ib;break}}else pb=f[Z>>2]|0;ib=0;gb=0;while(1){kb=(f[hb+(ib<<2)>>2]|0)-(f[Ba+(ib<<2)>>2]|0)|0;jb=((kb|0)>-1?kb:0-kb|0)+gb|0;f[Oa+(ib<<2)>>2]=kb;f[pb+(ib<<2)>>2]=kb<<1^kb>>31;ib=ib+1|0;if((ib|0)==(g|0)){qb=jb;rb=pb;break}else gb=jb}}else{qb=0;rb=f[Z>>2]|0}while(0);xo(j,_,rb,g);hb=el(j)|0;gb=I;ib=Jm(j)|0;jb=ho(ib|0,I|0,hb|0,gb|0)|0;gb=I;if(oa){hb=Ma;ib=ho(f[hb>>2]|0,f[hb+4>>2]|0,fb|0,0)|0;hb=Fa;kb=f[hb>>2]|0;lb=f[hb+4>>2]|0;Va=+W(+(+Em(kb,ib)*(+(kb>>>0)+4294967296.0*+(lb|0))));lb=ho(jb|0,gb|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;sb=lb}else sb=jb;jb=f[r>>2]|0;if(!((sb|0)>=(jb|0)?!((sb|0)<=(jb|0)?(qb|0)<(f[T>>2]|0):0):0)){jb=r;f[jb>>2]=sb;f[jb+4>>2]=qb;b[U>>0]=nb;f[V>>2]=fb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Lf($,k,j);f[x>>2]=Aa;f[y>>2]=Na;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Lf(aa,k,j)}if(Pa)break;tb=b[Ea>>0]|0;jb=-1;lb=tb;while(1){gb=jb+-1|0;ub=Ga+gb|0;kb=lb;lb=b[ub>>0]|0;if((lb&255)<(kb&255))break;if((ub|0)==(n|0)){vb=86;break d}else jb=gb}gb=Ga+jb|0;if((lb&255)<(tb&255)){wb=Ea;xb=tb}else{kb=Ga;ib=Ea;while(1){hb=ib+-1|0;if((lb&255)<(h[kb+-2>>0]|0)){wb=hb;xb=1;break}else{yb=ib;ib=hb;kb=yb}}}b[ub>>0]=xb;b[wb>>0]=lb;if((jb|0)<-1){zb=gb;Ab=Ea}else continue;while(1){kb=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=kb;kb=zb+1|0;ib=Ab+-1|0;if(kb>>>0>>0){zb=kb;Ab=ib}else continue d}}if(((vb|0)==86?(vb=0,db):0)?(gb=b[n>>0]|0,b[n>>0]=tb,b[Ea>>0]=gb,La):0){gb=Ia;jb=la;do{lb=b[jb>>0]|0;b[jb>>0]=b[gb>>0]|0;b[gb>>0]=lb;jb=jb+1|0;gb=gb+-1|0}while(jb>>>0>>0)}if((fb|0)>=(Ha|0)){Xa=Ka;Ya=Oa;Za=Ka;_a=Oa;$a=Na;ab=Aa;bb=Oa;break}else fb=fb+1|0}}if(oa){fb=f[V>>2]|0;Oa=o+(Ha+-1<<3)|0;Aa=Oa;Na=ho(f[Aa>>2]|0,f[Aa+4>>2]|0,fb|0,((fb|0)<0)<<31>>31|0)|0;fb=Oa;f[fb>>2]=Na;f[fb+4>>2]=I}if(S){fb=f[aa>>2]|0;Na=f[C>>2]|0;Oa=0;do{Aa=f[fb+(Oa<<2)>>2]|0;f[Na+(Oa<<2)>>2]=Aa<<1^Aa>>31;Oa=Oa+1|0}while((Oa|0)!=(g|0));Bb=Na}else Bb=f[C>>2]|0;wo(j,_,Bb,g);if(oa){Na=Ha+-1|0;Cb=a+60+(Na*12|0)|0;Oa=a+60+(Na*12|0)+4|0;fb=a+60+(Na*12|0)+8|0;Na=0;do{Aa=f[Oa>>2]|0;Ka=f[fb>>2]|0;Ia=(Aa|0)==(Ka<<5|0);if(!(1<>0])){if(Ia){if((Aa+1|0)<0){vb=114;break b}La=Ka<<6;Ea=Aa+32&-32;wi(Cb,Aa>>>0<1073741823?(La>>>0>>0?Ea:La):2147483647);Db=f[Oa>>2]|0}else Db=Aa;f[Oa>>2]=Db+1;La=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[La>>2]=f[La>>2]|1<<(Db&31)}else{if(Ia){if((Aa+1|0)<0){vb=119;break b}Ia=Ka<<6;Ka=Aa+32&-32;wi(Cb,Aa>>>0<1073741823?(Ia>>>0>>0?Ka:Ia):2147483647);Eb=f[Oa>>2]|0}else Eb=Aa;f[Oa>>2]=Eb+1;Aa=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Eb&31))}Na=Na+1|0}while((Na|0)<(Ha|0))}Na=d+(Da<<2)|0;Oa=f[z>>2]|0;if((Oa|0)>0){fb=0;oa=f[$>>2]|0;Aa=Oa;while(1){if((Aa|0)>0){Oa=0;do{Ia=f[oa+(Oa<<2)>>2]|0;Ka=f[ba>>2]|0;if((Ia|0)>(Ka|0)){La=f[ca>>2]|0;f[La+(Oa<<2)>>2]=Ka;Fb=La}else{La=f[da>>2]|0;Ka=f[ca>>2]|0;f[Ka+(Oa<<2)>>2]=(Ia|0)<(La|0)?La:Ia;Fb=Ka}Oa=Oa+1|0}while((Oa|0)<(f[z>>2]|0));Gb=Fb}else Gb=f[ca>>2]|0;Oa=(f[Ba+(fb<<2)>>2]|0)-(f[Gb+(fb<<2)>>2]|0)|0;Ka=Na+(fb<<2)|0;f[Ka>>2]=Oa;do if((Oa|0)<(f[ea>>2]|0)){Hb=(f[fa>>2]|0)+Oa|0;vb=109}else{if((Oa|0)<=(f[ga>>2]|0))break;Hb=Oa-(f[fa>>2]|0)|0;vb=109}while(0);if((vb|0)==109){vb=0;f[Ka>>2]=Hb}fb=fb+1|0;Aa=f[z>>2]|0;if((fb|0)>=(Aa|0))break;else oa=Gb}}oa=f[ha>>2]|0;if(oa|0){Aa=f[ka>>2]|0;if((Aa|0)!=(oa|0))f[ka>>2]=Aa+(~((Aa+-4-oa|0)>>>2)<<2);br(oa)}oa=f[ia>>2]|0;if(oa|0){Aa=f[ja>>2]|0;if((Aa|0)!=(oa|0))f[ja>>2]=Aa+(~((Aa+-4-oa|0)>>>2)<<2);br(oa)}if((pa|0)<=2){Ib=_a;Jb=Za;break a}oa=f[B>>2]|0;ra=f[oa>>2]|0;Aa=qa+-1|0;if((f[oa+4>>2]|0)-ra>>2>>>0<=Aa>>>0){za=oa;vb=18;break}else{oa=qa;qa=Aa;sa=bb;ta=ab;ua=$a;va=_a;wa=Za;xa=Ya;ya=Xa;pa=oa}}if((vb|0)==18)nq(za);else if((vb|0)==114)nq(Cb);else if((vb|0)==119)nq(Cb)}else{Ib=M;Jb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Cb=a+32|0;za=a+12|0;pa=a+28|0;Xa=a+20|0;ya=a+24|0;a=0;Ya=N;N=g;while(1){if((N|0)>0){g=0;do{xa=f[Ya+(g<<2)>>2]|0;Za=f[M>>2]|0;if((xa|0)>(Za|0)){wa=f[Cb>>2]|0;f[wa+(g<<2)>>2]=Za;Kb=wa}else{wa=f[za>>2]|0;Za=f[Cb>>2]|0;f[Za+(g<<2)>>2]=(xa|0)<(wa|0)?wa:xa;Kb=Za}g=g+1|0}while((g|0)<(f[z>>2]|0));Lb=Kb}else Lb=f[Cb>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Lb+(a<<2)>>2]|0)|0;Za=d+(a<<2)|0;f[Za>>2]=g;if((g|0)>=(f[pa>>2]|0)){if((g|0)>(f[ya>>2]|0)){Mb=g-(f[Xa>>2]|0)|0;vb=145}}else{Mb=(f[Xa>>2]|0)+g|0;vb=145}if((vb|0)==145){vb=0;f[Za>>2]=Mb}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Ya=Lb}}if(Ib|0){if((Jb|0)!=(Ib|0))f[H>>2]=Jb+(~((Jb+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[m>>2]|0;if(Ib|0){m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+36>>2]|0;if(Ib|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+24>>2]|0;if(Ib|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+12>>2]|0;if(Ib|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l>>2]|0;if(!Ib){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Ib|0))f[E>>2]=l+(~((l+-4-Ib|0)>>>2)<<2);br(Ib);u=i;return 1}function cb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Ol(7108,7300,e,c)|0)-7108>>2;k=h;a:while(1){l=(f[7108+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[6916+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Ol(6916,7108,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function db(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=(g|0)==1;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=Q;pa=na;qa=D;ra=M;sa=P;ta=O;ua=M;va=N;wa=M;xa=N}else{ya=G;nq(ya)}b:while(1){na=f[qa+(pa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=Q>>>5;Aa=1<<(Q&31);Ba=(na|0)==-1|(Q|0)==-1;Ca=1;Da=0;Ea=na;c:while(1){Fa=Ca^1;Ga=Da;Ha=Ea;while(1){if((Ha|0)==-1){Ia=Ga;break c}Ja=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(Ka=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(Ka|0)!=-1):0)?(La=f[S>>2]|0,Ma=f[A>>2]|0,Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0,Oa=Ka+1|0,Pa=f[Ma+(f[La+((((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa)<<2)>>2]<<2)>>2]|0,Oa=f[Ma+(f[La+((((Ka>>>0)%3|0|0)==0?2:-1)+Ka<<2)>>2]<<2)>>2]|0,(Na|0)<(pa|0)&(Pa|0)<(pa|0)&(Oa|0)<(pa|0)):0){Ka=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(T){Oa=0;do{f[Ja+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ka<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Ga+1|0;if((Oa|0)==4){Ia=4;break c}else Qa=Oa}else Qa=Ga;do if(Ca){Oa=Ha+1|0;Ka=((Oa>>>0)%3|0|0)==0?Ha+-2|0:Oa;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,Ka=Oa+1|0,(Oa|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Oa+-2|0:Ka;else Ra=-1}else{Ka=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ra=Oa+2|0;break}else{Ra=Oa+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(na|0)){Ia=Qa;break c}if((Ra|0)!=-1|Fa){Ga=Qa;Ha=Ra}else break}if(Ba){Ca=0;Da=Qa;Ea=-1;continue}if(f[(f[z>>2]|0)+(za<<2)>>2]&Aa|0){Ca=0;Da=Qa;Ea=-1;continue}Ha=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ha|0)==-1){Ca=0;Da=Qa;Ea=-1;continue}if(!((Ha>>>0)%3|0)){Ca=0;Da=Qa;Ea=Ha+2|0;continue}else{Ca=0;Da=Qa;Ea=Ha+-1|0;continue}}Ea=X(pa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Da=c+((X(oa+-2|0,g)|0)<<2)|0;Ca=c+(Ea<<2)|0;Q=f[_>>2]|0;if(T){Aa=0;za=0;while(1){Ba=(f[Da+(Aa<<2)>>2]|0)-(f[Ca+(Aa<<2)>>2]|0)|0;na=((Ba|0)>-1?Ba:0-Ba|0)+za|0;f[ra+(Aa<<2)>>2]=Ba;f[Q+(Aa<<2)>>2]=Ba<<1^Ba>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Sa=na;break}else za=na}}else Sa=0;xo(e,$,Q,g);za=el(e)|0;Aa=I;na=Jm(e)|0;Ba=ho(na|0,I|0,za|0,Aa|0)|0;Aa=I;za=(Ia|0)>0;if(za){na=Ia+-1|0;Ha=p+(na<<3)|0;Ga=Ha;Fa=ho(f[Ga>>2]|0,f[Ga+4>>2]|0,Ia|0,((Ia|0)<0)<<31>>31|0)|0;Ga=I;Oa=Ha;f[Oa>>2]=Fa;f[Oa+4>>2]=Ga;Ta=+W(+(+Em(Fa,f[o+(na<<3)>>2]|0)*(+(Fa>>>0)+4294967296.0*+(Ga|0))));Ga=ho(Ba|0,Aa|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;Ua=Ga}else Ua=Ba;Ba=r;f[Ba>>2]=Ua;f[Ba+4>>2]=Sa;b[V>>0]=0;f[Z>>2]=0;ag(aa,Da,Da+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Lf(ba,j,e);if((Ia|0)<1){Va=xa;Wa=wa;Xa=va;Ya=ua;Za=ta;_a=sa;$a=sa}else{Ba=n+Ia|0;Ga=f[q>>2]|0;Aa=Ia+-1|0;Fa=o+(Aa<<3)|0;na=p+(Aa<<3)|0;Aa=Ga;Oa=f[H>>2]|0;Ha=Ba+-1|0;Ka=(Ha|0)==(n|0);Na=Ba+-2|0;Pa=ka>>>0>>0;Ja=~Ia;La=Ia+2+((Ja|0)>-2?Ja:-2)|0;Ja=Oa;Ma=Ha>>>0>n>>>0;ab=0;bb=1;while(1){ab=ab+1|0;uj(n|0,1,La|0)|0;uj(n|0,0,ab|0)|0;d:while(1){if(T){uj(f[m>>2]|0,0,la|0)|0;cb=f[m>>2]|0;db=0;eb=0;while(1){if(!(b[n+db>>0]|0)){fb=f[l+(db*12|0)>>2]|0;gb=0;do{hb=cb+(gb<<2)|0;f[hb>>2]=(f[hb>>2]|0)+(f[fb+(gb<<2)>>2]|0);gb=gb+1|0}while((gb|0)!=(g|0));ib=(1<>0]|0))kb=(1<>2]|0;do if(T){f[db>>2]=(f[db>>2]|0)/(bb|0)|0;if(!ma){eb=1;do{cb=db+(eb<<2)|0;f[cb>>2]=(f[cb>>2]|0)/(bb|0)|0;eb=eb+1|0}while((eb|0)!=(g|0));eb=f[_>>2]|0;if(T)lb=eb;else{mb=0;nb=eb;break}}else lb=f[_>>2]|0;eb=0;cb=0;while(1){gb=(f[db+(eb<<2)>>2]|0)-(f[Ca+(eb<<2)>>2]|0)|0;fb=((gb|0)>-1?gb:0-gb|0)+cb|0;f[Ga+(eb<<2)>>2]=gb;f[lb+(eb<<2)>>2]=gb<<1^gb>>31;eb=eb+1|0;if((eb|0)==(g|0)){mb=fb;nb=lb;break}else cb=fb}}else{mb=0;nb=f[_>>2]|0}while(0);xo(e,$,nb,g);db=el(e)|0;cb=I;eb=Jm(e)|0;fb=ho(eb|0,I|0,db|0,cb|0)|0;cb=I;if(za){db=Fa;eb=ho(f[db>>2]|0,f[db+4>>2]|0,bb|0,0)|0;db=na;gb=f[db>>2]|0;hb=f[db+4>>2]|0;Ta=+W(+(+Em(gb,eb)*(+(gb>>>0)+4294967296.0*+(hb|0))));hb=ho(fb|0,cb|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;ob=hb}else ob=fb;fb=f[r>>2]|0;if(!((ob|0)>=(fb|0)?!((ob|0)<=(fb|0)?(mb|0)<(f[U>>2]|0):0):0)){fb=r;f[fb>>2]=ob;f[fb+4>>2]=mb;b[V>>0]=jb;f[Z>>2]=bb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Lf(aa,j,e);f[x>>2]=Aa;f[y>>2]=Oa;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Lf(ba,j,e)}if(Ka)break;pb=b[Ha>>0]|0;fb=-1;hb=pb;while(1){cb=fb+-1|0;qb=Ba+cb|0;gb=hb;hb=b[qb>>0]|0;if((hb&255)<(gb&255))break;if((qb|0)==(n|0)){rb=86;break d}else fb=cb}cb=Ba+fb|0;if((hb&255)<(pb&255)){sb=Ha;tb=pb}else{gb=Ba;eb=Ha;while(1){db=eb+-1|0;if((hb&255)<(h[gb+-2>>0]|0)){sb=db;tb=1;break}else{ub=eb;eb=db;gb=ub}}}b[qb>>0]=tb;b[sb>>0]=hb;if((fb|0)<-1){vb=cb;wb=Ha}else continue;while(1){gb=b[vb>>0]|0;b[vb>>0]=b[wb>>0]|0;b[wb>>0]=gb;gb=vb+1|0;eb=wb+-1|0;if(gb>>>0>>0){vb=gb;wb=eb}else continue d}}if(((rb|0)==86?(rb=0,Ma):0)?(cb=b[n>>0]|0,b[n>>0]=pb,b[Ha>>0]=cb,Pa):0){cb=Na;fb=ka;do{hb=b[fb>>0]|0;b[fb>>0]=b[cb>>0]|0;b[cb>>0]=hb;fb=fb+1|0;cb=cb+-1|0}while(fb>>>0>>0)}if((bb|0)>=(Ia|0)){Va=Ja;Wa=Ga;Xa=Ja;Ya=Ga;Za=Oa;_a=Aa;$a=Ga;break}else bb=bb+1|0}}if(za){bb=f[Z>>2]|0;Ga=o+(Ia+-1<<3)|0;Aa=Ga;Oa=ho(f[Aa>>2]|0,f[Aa+4>>2]|0,bb|0,((bb|0)<0)<<31>>31|0)|0;bb=Ga;f[bb>>2]=Oa;f[bb+4>>2]=I}if(T){bb=f[ba>>2]|0;Oa=f[C>>2]|0;Ga=0;do{Aa=f[bb+(Ga<<2)>>2]|0;f[Oa+(Ga<<2)>>2]=Aa<<1^Aa>>31;Ga=Ga+1|0}while((Ga|0)!=(g|0));xb=Oa}else xb=f[C>>2]|0;wo(e,$,xb,g);if(za){Oa=Ia+-1|0;yb=a+40+(Oa*12|0)|0;Ga=a+40+(Oa*12|0)+4|0;bb=a+40+(Oa*12|0)+8|0;Oa=0;do{Aa=f[Ga>>2]|0;Ja=f[bb>>2]|0;Na=(Aa|0)==(Ja<<5|0);if(!(1<>0])){if(Na){if((Aa+1|0)<0){rb=101;break b}Pa=Ja<<6;Ha=Aa+32&-32;wi(yb,Aa>>>0<1073741823?(Pa>>>0>>0?Ha:Pa):2147483647);zb=f[Ga>>2]|0}else zb=Aa;f[Ga>>2]=zb+1;Pa=(f[yb>>2]|0)+(zb>>>5<<2)|0;f[Pa>>2]=f[Pa>>2]|1<<(zb&31)}else{if(Na){if((Aa+1|0)<0){rb=106;break b}Na=Ja<<6;Ja=Aa+32&-32;wi(yb,Aa>>>0<1073741823?(Na>>>0>>0?Ja:Na):2147483647);Ab=f[Ga>>2]|0}else Ab=Aa;f[Ga>>2]=Ab+1;Aa=(f[yb>>2]|0)+(Ab>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Ab&31))}Oa=Oa+1|0}while((Oa|0)<(Ia|0))}Oa=f[aa>>2]|0;Ga=d+(Ea<<2)|0;bb=f[Ca+4>>2]|0;za=f[Oa>>2]|0;Aa=f[Oa+4>>2]|0;f[j>>2]=f[Ca>>2];f[da>>2]=bb;f[k>>2]=za;f[ea>>2]=Aa;Od(e,ca,j,k);f[Ga>>2]=f[e>>2];f[Ga+4>>2]=f[fa>>2];Ga=f[ga>>2]|0;if(Ga|0){Aa=f[ja>>2]|0;if((Aa|0)!=(Ga|0))f[ja>>2]=Aa+(~((Aa+-4-Ga|0)>>>2)<<2);br(Ga)}Ga=f[ha>>2]|0;if(Ga|0){Aa=f[ia>>2]|0;if((Aa|0)!=(Ga|0))f[ia>>2]=Aa+(~((Aa+-4-Ga|0)>>>2)<<2);br(Ga)}if((oa|0)<=2){Bb=Ya;Cb=Xa;break a}Ga=f[B>>2]|0;qa=f[Ga>>2]|0;Aa=pa+-1|0;if((f[Ga+4>>2]|0)-qa>>2>>>0<=Aa>>>0){ya=Ga;rb=18;break}else{Ga=pa;pa=Aa;ra=$a;sa=_a;ta=Za;ua=Ya;va=Xa;wa=Wa;xa=Va;oa=Ga}}if((rb|0)==18)nq(ya);else if((rb|0)==101)nq(yb);else if((rb|0)==106)nq(yb)}else{Bb=M;Cb=N}while(0);if((g|0)>0)uj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;yb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=yb;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Bb|0){if((Cb|0)!=(Bb|0))f[H>>2]=Cb+(~((Cb+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[m>>2]|0;if(Bb|0){m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+36>>2]|0;if(Bb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+24>>2]|0;if(Bb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+12>>2]|0;if(Bb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l>>2]|0;if(!Bb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Bb|0))f[E>>2]=l+(~((l+-4-Bb|0)>>>2)<<2);br(Bb);u=i;return 1}function eb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=(g|0)==1;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=Q;oa=ma;pa=M;qa=P;ra=O;sa=M;ta=N;ua=M;va=N;wa=D}else{xa=G;nq(xa)}b:while(1){ma=f[wa+(oa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=(ma|0)==-1|(Q|0)==-1;za=1;Aa=0;Ba=ma;c:while(1){Ca=za^1;Da=Aa;Ea=Ba;while(1){if((Ea|0)==-1){Fa=Da;break c}Ga=f[l+(Da*12|0)>>2]|0;Ha=f[R>>2]|0;Ia=f[Ha+(Ea<<2)>>2]|0;if((Ia|0)!=-1){Ja=f[z>>2]|0;Ka=f[A>>2]|0;La=f[Ka+(f[Ja+(Ia<<2)>>2]<<2)>>2]|0;Ma=Ia+1|0;Na=((Ma>>>0)%3|0|0)==0?Ia+-2|0:Ma;if((Na|0)==-1)Oa=-1;else Oa=f[Ja+(Na<<2)>>2]|0;Na=f[Ka+(Oa<<2)>>2]|0;Ma=(((Ia>>>0)%3|0|0)==0?2:-1)+Ia|0;if((Ma|0)==-1)Pa=-1;else Pa=f[Ja+(Ma<<2)>>2]|0;Ma=f[Ka+(Pa<<2)>>2]|0;if((La|0)<(oa|0)&(Na|0)<(oa|0)&(Ma|0)<(oa|0)){Ka=X(La,g)|0;La=X(Na,g)|0;Na=X(Ma,g)|0;if(S){Ma=0;do{f[Ga+(Ma<<2)>>2]=(f[c+(Ma+Na<<2)>>2]|0)+(f[c+(Ma+La<<2)>>2]|0)-(f[c+(Ma+Ka<<2)>>2]|0);Ma=Ma+1|0}while((Ma|0)!=(g|0))}Ma=Da+1|0;if((Ma|0)==4){Fa=4;break c}else Qa=Ma}else Qa=Da}else Qa=Da;do if(za){Ma=Ea+1|0;Ka=((Ma>>>0)%3|0|0)==0?Ea+-2|0:Ma;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,Ka=Ma+1|0,(Ma|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Ma+-2|0:Ka;else Ra=-1}else{Ka=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,(Ma|0)!=-1):0)if(!((Ma>>>0)%3|0)){Ra=Ma+2|0;break}else{Ra=Ma+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(ma|0)){Fa=Qa;break c}if((Ra|0)!=-1|Ca){Da=Qa;Ea=Ra}else break}if(ya){za=0;Aa=Qa;Ba=-1;continue}Ea=f[Ha+(Q<<2)>>2]|0;if((Ea|0)==-1){za=0;Aa=Qa;Ba=-1;continue}if(!((Ea>>>0)%3|0)){za=0;Aa=Qa;Ba=Ea+2|0;continue}else{za=0;Aa=Qa;Ba=Ea+-1|0;continue}}Ba=X(oa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Aa=c+((X(na+-2|0,g)|0)<<2)|0;za=c+(Ba<<2)|0;Q=f[Z>>2]|0;if(S){ya=0;ma=0;while(1){Ea=(f[Aa+(ya<<2)>>2]|0)-(f[za+(ya<<2)>>2]|0)|0;Da=((Ea|0)>-1?Ea:0-Ea|0)+ma|0;f[pa+(ya<<2)>>2]=Ea;f[Q+(ya<<2)>>2]=Ea<<1^Ea>>31;ya=ya+1|0;if((ya|0)==(g|0)){Sa=Da;break}else ma=Da}}else Sa=0;xo(e,_,Q,g);ma=el(e)|0;ya=I;Da=Jm(e)|0;Ea=ho(Da|0,I|0,ma|0,ya|0)|0;ya=I;ma=(Fa|0)>0;if(ma){Da=Fa+-1|0;Ca=p+(Da<<3)|0;Ma=Ca;Ka=ho(f[Ma>>2]|0,f[Ma+4>>2]|0,Fa|0,((Fa|0)<0)<<31>>31|0)|0;Ma=I;La=Ca;f[La>>2]=Ka;f[La+4>>2]=Ma;Ta=+W(+(+Em(Ka,f[o+(Da<<3)>>2]|0)*(+(Ka>>>0)+4294967296.0*+(Ma|0))));Ma=ho(Ea|0,ya|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;Ua=Ma}else Ua=Ea;Ea=r;f[Ea>>2]=Ua;f[Ea+4>>2]=Sa;b[U>>0]=0;f[V>>2]=0;ag($,Aa,Aa+(g<<2)|0);f[s>>2]=qa;f[t>>2]=ra;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Lf(aa,j,e);if((Fa|0)<1){Va=va;Wa=ua;Xa=ta;Ya=sa;Za=ra;_a=qa;$a=qa}else{Ea=n+Fa|0;Ma=f[q>>2]|0;ya=Fa+-1|0;Ka=o+(ya<<3)|0;Da=p+(ya<<3)|0;ya=Ma;La=f[H>>2]|0;Ca=Ea+-1|0;Na=(Ca|0)==(n|0);Ga=Ea+-2|0;Ja=ja>>>0>>0;Ia=~Fa;ab=Fa+2+((Ia|0)>-2?Ia:-2)|0;Ia=La;bb=Ca>>>0>n>>>0;cb=0;db=1;while(1){cb=cb+1|0;uj(n|0,1,ab|0)|0;uj(n|0,0,cb|0)|0;d:while(1){if(S){uj(f[m>>2]|0,0,ka|0)|0;eb=f[m>>2]|0;fb=0;gb=0;while(1){if(!(b[n+fb>>0]|0)){hb=f[l+(fb*12|0)>>2]|0;ib=0;do{jb=eb+(ib<<2)|0;f[jb>>2]=(f[jb>>2]|0)+(f[hb+(ib<<2)>>2]|0);ib=ib+1|0}while((ib|0)!=(g|0));kb=(1<>0]|0))mb=(1<>2]|0;do if(S){f[fb>>2]=(f[fb>>2]|0)/(db|0)|0;if(!la){gb=1;do{eb=fb+(gb<<2)|0;f[eb>>2]=(f[eb>>2]|0)/(db|0)|0;gb=gb+1|0}while((gb|0)!=(g|0));gb=f[Z>>2]|0;if(S)nb=gb;else{ob=0;pb=gb;break}}else nb=f[Z>>2]|0;gb=0;eb=0;while(1){ib=(f[fb+(gb<<2)>>2]|0)-(f[za+(gb<<2)>>2]|0)|0;hb=((ib|0)>-1?ib:0-ib|0)+eb|0;f[Ma+(gb<<2)>>2]=ib;f[nb+(gb<<2)>>2]=ib<<1^ib>>31;gb=gb+1|0;if((gb|0)==(g|0)){ob=hb;pb=nb;break}else eb=hb}}else{ob=0;pb=f[Z>>2]|0}while(0);xo(e,_,pb,g);fb=el(e)|0;eb=I;gb=Jm(e)|0;hb=ho(gb|0,I|0,fb|0,eb|0)|0;eb=I;if(ma){fb=Ka;gb=ho(f[fb>>2]|0,f[fb+4>>2]|0,db|0,0)|0;fb=Da;ib=f[fb>>2]|0;jb=f[fb+4>>2]|0;Ta=+W(+(+Em(ib,gb)*(+(ib>>>0)+4294967296.0*+(jb|0))));jb=ho(hb|0,eb|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;qb=jb}else qb=hb;hb=f[r>>2]|0;if(!((qb|0)>=(hb|0)?!((qb|0)<=(hb|0)?(ob|0)<(f[T>>2]|0):0):0)){hb=r;f[hb>>2]=qb;f[hb+4>>2]=ob;b[U>>0]=lb;f[V>>2]=db;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Lf($,j,e);f[x>>2]=ya;f[y>>2]=La;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Lf(aa,j,e)}if(Na)break;rb=b[Ca>>0]|0;hb=-1;jb=rb;while(1){eb=hb+-1|0;sb=Ea+eb|0;ib=jb;jb=b[sb>>0]|0;if((jb&255)<(ib&255))break;if((sb|0)==(n|0)){tb=86;break d}else hb=eb}eb=Ea+hb|0;if((jb&255)<(rb&255)){ub=Ca;vb=rb}else{ib=Ea;gb=Ca;while(1){fb=gb+-1|0;if((jb&255)<(h[ib+-2>>0]|0)){ub=fb;vb=1;break}else{wb=gb;gb=fb;ib=wb}}}b[sb>>0]=vb;b[ub>>0]=jb;if((hb|0)<-1){xb=eb;yb=Ca}else continue;while(1){ib=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=ib;ib=xb+1|0;gb=yb+-1|0;if(ib>>>0>>0){xb=ib;yb=gb}else continue d}}if(((tb|0)==86?(tb=0,bb):0)?(eb=b[n>>0]|0,b[n>>0]=rb,b[Ca>>0]=eb,Ja):0){eb=Ga;hb=ja;do{jb=b[hb>>0]|0;b[hb>>0]=b[eb>>0]|0;b[eb>>0]=jb;hb=hb+1|0;eb=eb+-1|0}while(hb>>>0>>0)}if((db|0)>=(Fa|0)){Va=Ia;Wa=Ma;Xa=Ia;Ya=Ma;Za=La;_a=ya;$a=Ma;break}else db=db+1|0}}if(ma){db=f[V>>2]|0;Ma=o+(Fa+-1<<3)|0;ya=Ma;La=ho(f[ya>>2]|0,f[ya+4>>2]|0,db|0,((db|0)<0)<<31>>31|0)|0;db=Ma;f[db>>2]=La;f[db+4>>2]=I}if(S){db=f[aa>>2]|0;La=f[C>>2]|0;Ma=0;do{ya=f[db+(Ma<<2)>>2]|0;f[La+(Ma<<2)>>2]=ya<<1^ya>>31;Ma=Ma+1|0}while((Ma|0)!=(g|0));zb=La}else zb=f[C>>2]|0;wo(e,_,zb,g);if(ma){La=Fa+-1|0;Ab=a+40+(La*12|0)|0;Ma=a+40+(La*12|0)+4|0;db=a+40+(La*12|0)+8|0;La=0;do{ya=f[Ma>>2]|0;Ia=f[db>>2]|0;Ga=(ya|0)==(Ia<<5|0);if(!(1<>0])){if(Ga){if((ya+1|0)<0){tb=101;break b}Ja=Ia<<6;Ca=ya+32&-32;wi(Ab,ya>>>0<1073741823?(Ja>>>0>>0?Ca:Ja):2147483647);Bb=f[Ma>>2]|0}else Bb=ya;f[Ma>>2]=Bb+1;Ja=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ja>>2]=f[Ja>>2]|1<<(Bb&31)}else{if(Ga){if((ya+1|0)<0){tb=106;break b}Ga=Ia<<6;Ia=ya+32&-32;wi(Ab,ya>>>0<1073741823?(Ga>>>0>>0?Ia:Ga):2147483647);Cb=f[Ma>>2]|0}else Cb=ya;f[Ma>>2]=Cb+1;ya=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[ya>>2]=f[ya>>2]&~(1<<(Cb&31))}La=La+1|0}while((La|0)<(Fa|0))}La=f[$>>2]|0;Ma=d+(Ba<<2)|0;db=f[za+4>>2]|0;ma=f[La>>2]|0;ya=f[La+4>>2]|0;f[j>>2]=f[za>>2];f[ca>>2]=db;f[k>>2]=ma;f[da>>2]=ya;Od(e,ba,j,k);f[Ma>>2]=f[e>>2];f[Ma+4>>2]=f[ea>>2];Ma=f[fa>>2]|0;if(Ma|0){ya=f[ia>>2]|0;if((ya|0)!=(Ma|0))f[ia>>2]=ya+(~((ya+-4-Ma|0)>>>2)<<2);br(Ma)}Ma=f[ga>>2]|0;if(Ma|0){ya=f[ha>>2]|0;if((ya|0)!=(Ma|0))f[ha>>2]=ya+(~((ya+-4-Ma|0)>>>2)<<2);br(Ma)}if((na|0)<=2){Db=Ya;Eb=Xa;break a}Ma=f[B>>2]|0;wa=f[Ma>>2]|0;ya=oa+-1|0;if((f[Ma+4>>2]|0)-wa>>2>>>0<=ya>>>0){xa=Ma;tb=18;break}else{Ma=oa;oa=ya;pa=$a;qa=_a;ra=Za;sa=Ya;ta=Xa;ua=Wa;va=Va;na=Ma}}if((tb|0)==18)nq(xa);else if((tb|0)==101)nq(Ab);else if((tb|0)==106)nq(Ab)}else{Db=M;Eb=N}while(0);if((g|0)>0)uj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Ab=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Ab;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Db|0){if((Eb|0)!=(Db|0))f[H>>2]=Eb+(~((Eb+-4-Db|0)>>>2)<<2);br(Db)}Db=f[m>>2]|0;if(Db|0){m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+36>>2]|0;if(Db|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+24>>2]|0;if(Db|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+12>>2]|0;if(Db|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l>>2]|0;if(!Db){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Db|0))f[E>>2]=l+(~((l+-4-Db|0)>>>2)<<2);br(Db);u=i;return 1}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,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,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Eh(h,b-l|0,6296);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)nq(d);k=((b+-1|0)>>>5)+1|0;m=vn(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;uj(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)nq(e);v=((o+-1|0)>>>5)+1|0;w=vn(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;uj(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Ti(h,6296);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ti(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;wi(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)nq(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)br(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}br(_b);u=c;return 1}function gb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=Oa,La=0,Ma=0,Na=0,Pa=0,Qa=Oa,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{r=r+(b[(f[w+(f[t+(q<<2)>>2]<<2)>>2]|0)+24>>0]|0)|0;q=q+1|0}while(q>>>0>>0);f[a+72>>2]=r;if(s){v=1;u=c;return v|0}s=g+4|0;r=g+8|0;x=d+8|0;q=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=0;ia=t;t=l;l=k;a:while(1){k=f[ia+(ha<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(k<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1260;f[s>>2]=-1;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=vn(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[q>>2]=17;ma=la;na=14821;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(k|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Lh(ra,d)|0)!=0):0)va=Ok(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Ok(ka,d,-1)|0}if((b[w>>0]|0)<0)br(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=vn(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14740;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(k|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(k|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Lh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=vn(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14760;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(k|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(k|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Lh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)br(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)br(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=vn(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;uj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=vn(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14740;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(k|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(k|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Lh(Fa,i)|0)!=0):0){Ga=Tg(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){rj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ja=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{Ka=$(qq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=Ka;Fa=Fa+1|0}while((Fa|0)<(ra|0));La=b[M>>0]|0}else La=Ga;Ja=La}if(Ja<<24>>24<0)br(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Tg(pa,i)|0,(Fa|0)!=(pa+4|0)):0){rj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Ma=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{Ka=$(qq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=Ka;ya=ya+1|0}while((ya|0)<(ra|0));Na=b[G>>0]|0}else Na=Fa;Ma=Na}if(Ma<<24>>24<0)br(f[d>>2]|0)}if((b[I>>0]|0)<0)br(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=vn(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14760;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(k|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Lh(oa,d)|0)){wa=91;break}Qa=$(zk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(zk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)br(f[d>>2]|0);Kl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);k=f[h>>2]|0;if(k|0){na=f[C>>2]|0;if((na|0)!=(k|0))f[C>>2]=na+(~((na+-4-k|0)>>>2)<<2);br(k)}}else Wd(g,ja,va)|0;k=f[P>>2]|0;if((k|0)==(f[Q>>2]|0))Ef(R,g);else{f[k>>2]=1260;f[k+4>>2]=f[s>>2];Ra=k+8|0;f[Ra>>2]=0;na=k+12|0;f[na>>2]=0;f[k+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=vn(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[k+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){kh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[k+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Qe(d,g,ja,m);k=f[S>>2]|0;if(k>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[k>>2]=ma;f[S>>2]=k+4}else Ze(U,d);k=f[d>>2]|0;f[d>>2]=0;if(k|0){ma=k+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;br(ma)}br(oa)}oa=f[k+68>>2]|0;if(oa|0){ma=k+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);br(oa)}oa=k+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;br(oa)}br(na)}br(k)}xa=0}f[g>>2]=1260;k=f[r>>2]|0;if(k|0){na=f[y>>2]|0;if((na|0)!=(k|0))f[y>>2]=na+(~((na+-4-k|0)>>>2)<<2);br(k)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{k=ja+24|0;na=b[k>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=vn(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=oa;oa=na;while(1){f[oa>>2]=2147483647;ya=ya+-1|0;if(!ya)break;else oa=oa+4|0}f[_>>2]=ma;Sa=b[k>>0]|0}oa=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}ya=oa<<2;sa=vn(ya)|0;f[h>>2]=sa;ra=sa+(oa<<2)|0;f[da>>2]=ra;uj(sa|0,0,ya|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[k>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{ya=0;oa=ra;na=Ta;while(1){f[e>>2]=ya;f[d>>2]=f[e>>2];Qb(ja,d,oa,na)|0;Fa=b[k>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=ya+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}ya=pa;oa=Fa;na=f[h>>2]|0}}while(0);if(Ua<<24>>24>0){sa=0;ja=Ua;while(1){ra=(f[g>>2]|0)+(sa<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ti(ga,ra);Va=b[k>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=ja}sa=sa+1|0;if((sa|0)>=(Va<<24>>24|0))break;else ja=Va}}ja=f[h>>2]|0;if(ja|0){sa=f[ba>>2]|0;if((sa|0)!=(ja|0))f[ba>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);br(ja)}ja=f[g>>2]|0;if(ja|0){sa=f[_>>2]|0;if((sa|0)!=(ja|0))f[_>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);br(ja)}break}default:{}}ja=ha+1|0;sa=f[o>>2]|0;if(ja>>>0>=(f[p>>2]|0)-sa>>2>>>0){v=1;wa=169;break}k=f[j>>2]|0;ha=ja;ia=sa;t=f[k+4>>2]|0;l=k}if((wa|0)==48)nq(h);else if((wa|0)==103)nq(Ra);else if((wa|0)==137)nq(g);else if((wa|0)==144)nq(h);else if((wa|0)==169){u=c;return v|0}return 0}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+140|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+116|0;y=a+48|0;h=a+44|0;j=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=i+4|0;N=i+24|0;O=i+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){br(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[s>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[w>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=1;ba=$;ca=V;while(1){ca=(ca|0)==(ba+-1|0)?0:ca+1|0;f[U+(aa<<2)>>2]=ca;aa=aa+1|0;da=f[g>>2]|0;if(aa>>>0>=da>>>0){ea=da;break}else ba=da}}else ea=$;if(!z){fa=99;break}else{ga=0;ha=ea}while(1){ba=(f[N>>2]|0)+((X(f[M>>2]|0,S+ga|0)|0)<<2)|0;if(!ha)ia=0;else{aa=0;do{ca=f[(f[w>>2]|0)+(aa<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ca<<2)>>2]|0)|0;do if(U|0){da=f[y>>2]|0;ja=32-da|0;ka=32-U|0;la=f[ba+(ca<<2)>>2]<(ja|0)){ma=la>>>ka;ka=U-ja|0;f[y>>2]=ka;ja=f[h>>2]|ma>>>ka;f[h>>2]=ja;ka=f[j>>2]|0;if((ka|0)==(f[m>>2]|0))Ti(n,h);else{f[ka>>2]=ja;f[j>>2]=ka+4}f[h>>2]=ma<<32-(f[y>>2]|0);break}ma=f[h>>2]|la>>>da;f[h>>2]=ma;la=da+U|0;f[y>>2]=la;if((la|0)!=32)break;la=f[j>>2]|0;if((la|0)==(f[m>>2]|0))Ti(n,h);else{f[la>>2]=ma;f[j>>2]=la+4}f[h>>2]=0;f[y>>2]=0}while(0);aa=aa+1|0;U=f[g>>2]|0}while(aa>>>0>>0);ia=U}ga=ga+1|0;if(ga>>>0>=z>>>0){fa=99;break a}else ha=ia}}$=Z+1|0;Lg(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);aa=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;ba=(f[aa>>2]|0)+(1<>2]=ba;aa=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))na=S;else{ca=f[O>>2]|0;if(!aa){if((f[ca+(V<<2)>>2]|0)>>>0>>0){na=W;break}else{oa=W;pa=S}while(1){la=oa;do{la=la+-1|0;if((pa|0)==(la|0)){na=pa;break b}ma=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[ma>>2]|0)>>>0>=ba>>>0);pa=pa+1|0;if((pa|0)==(la|0)){na=la;break b}else oa=la}}else{qa=W;ra=S}while(1){ma=ra;while(1){sa=ca+((X(ma,aa)|0)<<2)|0;if((f[sa+(V<<2)>>2]|0)>>>0>=ba>>>0){ta=qa;break}da=ma+1|0;if((da|0)==(qa|0)){na=qa;break b}else ma=da}while(1){ta=ta+-1|0;if((ma|0)==(ta|0)){na=ma;break b}ua=(f[P>>2]|0)+((X(ta,U)|0)<<2)|0;if((f[ua+(V<<2)>>2]|0)>>>0>>0){va=0;break}}do{la=sa+(va<<2)|0;da=ua+(va<<2)|0;ka=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ka;va=va+1|0}while((va|0)!=(aa|0));ra=ma+1|0;if((ra|0)==(ta|0)){na=ta;break}else qa=ta}}while(0);ba=(_(z|0)|0)^31;U=na-S|0;ca=W-na|0;ka=U>>>0>>0;if((U|0)!=(ca|0)){da=f[H>>2]|0;if(ka)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ti(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ka){da=f[C>>2]|0;ja=32-da|0;wa=32-ba|0;xa=la-U<(ja|0)){ya=xa>>>wa;wa=ba-ja|0;f[C>>2]=wa;ja=f[D>>2]|ya>>>wa;f[D>>2]=ja;wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ti(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=ya<<32-(f[C>>2]|0);break}ya=f[D>>2]|xa>>>da;f[D>>2]=ya;xa=da+ba|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ti(G,D);else{f[xa>>2]=ya;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;ya=32-xa|0;da=32-ba|0;wa=la-ca<(ya|0)){ja=wa>>>da;da=ba-ya|0;f[C>>2]=da;ya=f[D>>2]|ja>>>da;f[D>>2]=ya;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ti(G,D);else{f[da>>2]=ya;f[E>>2]=da+4}f[D>>2]=ja<<32-(f[C>>2]|0);break}ja=f[D>>2]|wa>>>xa;f[D>>2]=ja;wa=xa+ba|0;f[C>>2]=wa;if((wa|0)==32){wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ti(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=0;f[C>>2]=0}}while(0);ba=f[s>>2]|0;la=f[ba+(Z*12|0)>>2]|0;ka=la+(V<<2)|0;f[ka>>2]=(f[ka>>2]|0)+1;Lg(ba+($*12|0)|0,la,f[ba+(Z*12|0)+4>>2]|0);if((na|0)!=(S|0)){ba=f[o>>2]|0;la=f[t>>2]|0;ka=ba-la>>2;wa=f[v>>2]|0;ja=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ja+wa|0)){Qc(e);za=f[v>>2]|0;Aa=f[l>>2]|0;Ba=f[o>>2]|0;Ca=f[t>>2]|0}else{za=wa;Aa=ja;Ba=ba;Ca=la}la=Aa+za|0;if((Ba|0)==(Ca|0))Da=0;else Da=(f[Ca+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Da>>2]=S;la=Da+4|0;f[la>>2]=r;f[la+4>>2]=x;f[Da+12>>2]=na;f[Da+16>>2]=i;f[Da+20>>2]=aa;f[Da+24>>2]=V;f[Da+28>>2]=U;f[Da+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(na|0)){la=f[o>>2]|0;ba=f[t>>2]|0;ja=la-ba>>2;wa=f[v>>2]|0;ka=f[l>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ka+wa|0)){Qc(e);Ea=f[v>>2]|0;Fa=f[l>>2]|0;Ga=f[o>>2]|0;Ha=f[t>>2]|0}else{Ea=wa;Fa=ka;Ga=la;Ha=ba}ba=Fa+Ea|0;if((Ga|0)==(Ha|0))Ia=0;else Ia=(f[Ha+(((ba>>>0)/113|0)<<2)>>2]|0)+(((ba>>>0)%113|0)*36|0)|0;f[Ia>>2]=na;f[Ia+4>>2]=i;f[Ia+8>>2]=aa;f[Ia+12>>2]=W;ba=Ia+16|0;f[ba>>2]=p;f[ba+4>>2]=q;f[Ia+24>>2]=V;f[Ia+28>>2]=ca;f[Ia+32>>2]=$;ba=(f[l>>2]|0)+1|0;f[l>>2]=ba;Ja=ba}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ja=f[l>>2]|0}if(!Ja)break;else Q=Ja}}Ja=f[t>>2]|0;Q=f[v>>2]|0;Ia=Ja+(((Q>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ja;if((q|0)==(Ja|0)){Ka=0;La=0}else{na=(f[Ia>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;Ka=na;La=na}na=Ia;Ia=La;c:while(1){La=Ia;do{Q=La;if((Ka|0)==(Q|0))break c;La=Q+36|0}while((La-(f[na>>2]|0)|0)!=4068);La=na+4|0;na=La;Ia=f[La>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ja;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ma=f[o>>2]|0;Na=Ma-i>>2}while(Na>>>0>2);Oa=Na;Pa=i;Qa=Ma}else{Oa=l;Pa=Ja;Qa=q}switch(Oa|0){case 1:{Ra=56;fa=113;break}case 2:{Ra=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Ra;if((Pa|0)!=(Qa|0)){Ra=Pa;do{br(f[Ra>>2]|0);Ra=Ra+4|0}while((Ra|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}br(Qa);u=d;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)nq(e);else{l=j<<2;m=vn(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;uj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);br(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[e>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[e+8>>2];f[e>>2]=0;r=e+4|0;f[r>>2]=0;f[e+8>>2]=0;do if(v)if(v>>>0>1073741823)nq(e);else{t=v<<2;q=vn(t)|0;f[e>>2]=q;s=q+(v<<2)|0;f[e+8>>2]=s;uj(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+1176|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);br(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[e>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;A=b+4|0;t=f[A>>2]|0;z=f[A+4>>2]|0;A=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;s=f[q+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;k=t;Qc(h);l=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(l|0))B=0;else B=(f[l+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=y;j=B+4|0;f[j>>2]=t;f[j+4>>2]=z;f[B+12>>2]=A;j=B+16|0;f[j>>2]=r;f[j+4>>2]=s;f[B+24>>2]=0;f[B+28>>2]=A-y;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){y=a+1152|0;A=a+1084|0;j=a+1080|0;l=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=k+4|0;K=k+24|0;L=k+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){br(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[v>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Rd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[y>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=1;$=Y;aa=Q;while(1){aa=(aa|0)==($+-1|0)?0:aa+1|0;f[W+(Z<<2)>>2]=aa;Z=Z+1|0;ba=f[i>>2]|0;if(Z>>>0>=ba>>>0){ca=ba;break}else $=ba}}else ca=Y;if(!U){da=87;break}else{ea=0;fa=ca}while(1){$=(f[K>>2]|0)+((X(f[J>>2]|0,P+ea|0)|0)<<2)|0;if(!fa)ga=0;else{Z=0;do{aa=f[(f[y>>2]|0)+(Z<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+(aa<<2)>>2]|0)|0;do if(W|0){ba=f[A>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[$+(aa<<2)>>2]<(ha|0)){ka=ja>>>ia;ia=W-ha|0;f[A>>2]=ia;ha=f[j>>2]|ka>>>ia;f[j>>2]=ha;ia=f[l>>2]|0;if((ia|0)==(f[o>>2]|0))Ti(p,j);else{f[ia>>2]=ha;f[l>>2]=ia+4}f[j>>2]=ka<<32-(f[A>>2]|0);break}ka=f[j>>2]|ja>>>ba;f[j>>2]=ka;ja=ba+W|0;f[A>>2]=ja;if((ja|0)!=32)break;ja=f[l>>2]|0;if((ja|0)==(f[o>>2]|0))Ti(p,j);else{f[ja>>2]=ka;f[l>>2]=ja+4}f[j>>2]=0;f[A>>2]=0}while(0);Z=Z+1|0;W=f[i>>2]|0}while(Z>>>0>>0);ga=W}ea=ea+1|0;if(ea>>>0>=U>>>0){da=87;break a}else fa=ga}}Y=V+1|0;Z=f[m>>2]|0;$=Z+(Y*12|0)|0;if(($|0)==(S|0))la=Z;else{Lg($,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);la=f[m>>2]|0}$=(f[la+(Y*12|0)>>2]|0)+(Q<<2)|0;Z=(f[$>>2]|0)+(1<>2]=Z;$=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))ma=P;else{aa=f[L>>2]|0;if(!$){if((f[aa+(Q<<2)>>2]|0)>>>0>>0){ma=T;break}else{na=T;oa=P}while(1){ja=na;do{ja=ja+-1|0;if((oa|0)==(ja|0)){ma=oa;break b}ka=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[ka>>2]|0)>>>0>=Z>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){ma=ja;break b}else na=ja}}else{pa=T;qa=P}while(1){ka=qa;while(1){ra=aa+((X(ka,$)|0)<<2)|0;if((f[ra+(Q<<2)>>2]|0)>>>0>=Z>>>0){sa=pa;break}ba=ka+1|0;if((ba|0)==(pa|0)){ma=pa;break b}else ka=ba}while(1){sa=sa+-1|0;if((ka|0)==(sa|0)){ma=ka;break b}ta=(f[M>>2]|0)+((X(sa,W)|0)<<2)|0;if((f[ta+(Q<<2)>>2]|0)>>>0>>0){ua=0;break}}do{ja=ra+(ua<<2)|0;ba=ta+(ua<<2)|0;ia=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ia;ua=ua+1|0}while((ua|0)!=($|0));qa=ka+1|0;if((qa|0)==(sa|0)){ma=sa;break}else pa=sa}}while(0);Z=(_(U|0)|0)^31;W=ma-P|0;aa=T-ma|0;ia=W>>>0>>0;if((W|0)!=(aa|0)){ba=f[E>>2]|0;if(ia)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ti(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ia){ia=ja-W|0;if(Z|0){ba=0;ha=1<>>1}}}else{ha=ja-aa|0;if(Z|0){ba=0;ia=1<>>1}}}ia=f[v>>2]|0;Z=f[ia+(V*12|0)>>2]|0;ba=Z+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Lg(ia+(Y*12|0)|0,Z,f[ia+(V*12|0)+4>>2]|0);if((ma|0)!=(P|0)){ia=f[q>>2]|0;Z=f[w>>2]|0;ba=ia-Z>>2;ha=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ha|0)){Qc(h);va=f[x>>2]|0;wa=f[n>>2]|0;xa=f[q>>2]|0;ya=f[w>>2]|0}else{va=ha;wa=ja;xa=ia;ya=Z}Z=wa+va|0;if((xa|0)==(ya|0))za=0;else za=(f[ya+(((Z>>>0)/113|0)<<2)>>2]|0)+(((Z>>>0)%113|0)*36|0)|0;f[za>>2]=P;Z=za+4|0;f[Z>>2]=t;f[Z+4>>2]=z;f[za+12>>2]=ma;f[za+16>>2]=k;f[za+20>>2]=$;f[za+24>>2]=Q;f[za+28>>2]=W;f[za+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(ma|0)){Z=f[q>>2]|0;ia=f[w>>2]|0;ja=Z-ia>>2;ha=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ha|0)){Qc(h);Aa=f[x>>2]|0;Ba=f[n>>2]|0;Ca=f[q>>2]|0;Da=f[w>>2]|0}else{Aa=ha;Ba=ba;Ca=Z;Da=ia}ia=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((ia>>>0)/113|0)<<2)>>2]|0)+(((ia>>>0)%113|0)*36|0)|0;f[Ea>>2]=ma;f[Ea+4>>2]=k;f[Ea+8>>2]=$;f[Ea+12>>2]=T;ia=Ea+16|0;f[ia>>2]=r;f[ia+4>>2]=s;f[Ea+24>>2]=Q;f[Ea+28>>2]=aa;f[Ea+32>>2]=Y;ia=(f[n>>2]|0)+1|0;f[n>>2]=ia;Fa=ia}else da=87}else da=87;while(0);if((da|0)==87){da=0;Fa=f[n>>2]|0}if(!Fa)break;else N=Fa}}Fa=f[w>>2]|0;N=f[x>>2]|0;Ea=Fa+(((N>>>0)/113|0)<<2)|0;s=f[q>>2]|0;r=s;k=Fa;if((s|0)==(Fa|0)){Ga=0;Ha=0}else{ma=(f[Ea>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ga=ma;Ha=ma}ma=Ea;Ea=Ha;c:while(1){Ha=Ea;do{N=Ha;if((Ga|0)==(N|0))break c;Ha=N+36|0}while((Ha-(f[ma>>2]|0)|0)!=4068);Ha=ma+4|0;ma=Ha;Ea=f[Ha>>2]|0}f[n>>2]=0;n=r-k>>2;if(n>>>0>2){k=Fa;do{br(f[k>>2]|0);k=(f[w>>2]|0)+4|0;f[w>>2]=k;Ia=f[q>>2]|0;Ja=Ia-k>>2}while(Ja>>>0>2);Ka=Ja;La=k;Ma=Ia}else{Ka=n;La=Fa;Ma=s}switch(Ka|0){case 1:{Na=56;da=101;break}case 2:{Na=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Na;if((La|0)!=(Ma|0)){Na=La;do{br(f[Na>>2]|0);Na=Na+4|0}while((Na|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}br(Ma);u=d;return}function jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=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;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(ni(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)nq(G);else{K=H<<2;L=vn(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;uj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=0;aa=0;ba=0;ca=0;da=M;ea=C;b:while(1){fa=f[(f[(f[ea+4>>2]|0)+8>>2]|0)+(f[da+(ca<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=fa;ha=aa;break}case 9:{ga=f[(f[Z>>2]|0)+(aa<<2)>>2]|0;ha=aa+1|0;break}default:{ia=0;break a}}if(!ga){ia=0;break a}c:do switch(f[ga+28>>2]|0){case 6:{if(Q){ja=ba;ka=ga+24|0;break c}fa=ga+84|0;la=ga+68|0;ma=ga+48|0;na=ga+40|0;oa=ga+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=En(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=ho(ua|0,I|0,sa|0,ta|0)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,(f[f[ga>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=ba;ka=oa;break}case 1:case 3:case 5:{oa=ga+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=vn(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;uj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=vn(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;uj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ga+84|0;na=ga+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Qb(ga,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ba<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=ba+(b[oa>>0]|0)|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);br(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);br(na)}ja=pa;ka=oa;break}default:{pa=ga+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=vn(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;uj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ga+84|0;sa=ga+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];Pb(ga,e,ra,ma)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+($<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);br(Ga)}ja=ba;ka=pa}}while(0);na=ca+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=$+(b[ka>>0]|0)|0;aa=ha;ba=ja;ca=na;da=sa;ea=f[A>>2]|0}if((wa|0)==24)nq(j);else if((wa|0)==30)nq(k);else if((wa|0)==53)nq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{A=(_(D|0)|0)^31;Ka=(A|0)<(H|0)?H:A+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ue(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=uf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 5:{Ue(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=vf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 4:{Ue(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=vf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 3:{af(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=Cf(j,g,e,k,c)|0;gf(j);if(!H){ia=0;break d}break}case 2:{af(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=Cf(j,g,e,k,c)|0;gf(j);if(!H){ia=0;break d}break}case 1:{bf(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=Bf(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}case 0:{bf(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=Bf(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);br(j);u=d;return ia|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+1176|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+1152|0;y=a+1084|0;h=a+1080|0;j=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=i+4|0;I=i+24|0;J=i+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){br(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[s>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[w>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=1;W=U;Y=Q;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[P+(V<<2)>>2]=Y;V=V+1|0;Z=f[g>>2]|0;if(V>>>0>=Z>>>0){$=Z;break}else W=Z}}else $=U;if(!z){aa=85;break}else{ba=0;ca=$}while(1){W=(f[I>>2]|0)+((X(f[H>>2]|0,N+ba|0)|0)<<2)|0;if(!ca)da=0;else{V=0;do{Y=f[(f[w>>2]|0)+(V<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Y<<2)>>2]|0)|0;do if(P|0){Z=f[y>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[W+(Y<<2)>>2]<(ea|0)){ha=ga>>>fa;fa=P-ea|0;f[y>>2]=fa;ea=f[h>>2]|ha>>>fa;f[h>>2]=ea;fa=f[j>>2]|0;if((fa|0)==(f[m>>2]|0))Ti(n,h);else{f[fa>>2]=ea;f[j>>2]=fa+4}f[h>>2]=ha<<32-(f[y>>2]|0);break}ha=f[h>>2]|ga>>>Z;f[h>>2]=ha;ga=Z+P|0;f[y>>2]=ga;if((ga|0)!=32)break;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=ha;f[j>>2]=ga+4}f[h>>2]=0;f[y>>2]=0}while(0);V=V+1|0;P=f[g>>2]|0}while(V>>>0

>>0);da=P}ba=ba+1|0;if(ba>>>0>=z>>>0){aa=85;break a}else ca=da}}U=T+1|0;Lg(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);V=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;W=(f[V>>2]|0)+(1<>2]=W;V=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ia=N;else{Y=f[J>>2]|0;if(!V){if((f[Y+(Q<<2)>>2]|0)>>>0>>0){ia=R;break}else{ja=R;ka=N}while(1){ga=ja;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ia=ka;break b}ha=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ha>>2]|0)>>>0>=W>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ia=ga;break b}else ja=ga}}else{la=R;ma=N}while(1){ha=ma;while(1){na=Y+((X(ha,V)|0)<<2)|0;if((f[na+(Q<<2)>>2]|0)>>>0>=W>>>0){oa=la;break}Z=ha+1|0;if((Z|0)==(la|0)){ia=la;break b}else ha=Z}while(1){oa=oa+-1|0;if((ha|0)==(oa|0)){ia=ha;break b}pa=(f[K>>2]|0)+((X(oa,P)|0)<<2)|0;if((f[pa+(Q<<2)>>2]|0)>>>0>>0){qa=0;break}}do{ga=na+(qa<<2)|0;Z=pa+(qa<<2)|0;fa=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=fa;qa=qa+1|0}while((qa|0)!=(V|0));ma=ha+1|0;if((ma|0)==(oa|0)){ia=oa;break}else la=oa}}while(0);W=(_(z|0)|0)^31;P=ia-N|0;Y=R-ia|0;fa=P>>>0>>0;if((P|0)!=(Y|0)){Z=f[C>>2]|0;if(fa)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ti(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(fa){fa=ga-P|0;if(W|0){Z=0;ea=1<>>1}}}else{ea=ga-Y|0;if(W|0){Z=0;fa=1<>>1}}}fa=f[s>>2]|0;W=f[fa+(T*12|0)>>2]|0;Z=W+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Lg(fa+(U*12|0)|0,W,f[fa+(T*12|0)+4>>2]|0);if((ia|0)!=(N|0)){fa=f[o>>2]|0;W=f[t>>2]|0;Z=fa-W>>2;ea=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+ea|0)){Qc(e);ra=f[v>>2]|0;sa=f[l>>2]|0;ta=f[o>>2]|0;ua=f[t>>2]|0}else{ra=ea;sa=ga;ta=fa;ua=W}W=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[va>>2]=N;W=va+4|0;f[W>>2]=r;f[W+4>>2]=x;f[va+12>>2]=ia;f[va+16>>2]=i;f[va+20>>2]=V;f[va+24>>2]=Q;f[va+28>>2]=P;f[va+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ia|0)){W=f[o>>2]|0;fa=f[t>>2]|0;ga=W-fa>>2;ea=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+ea|0)){Qc(e);wa=f[v>>2]|0;xa=f[l>>2]|0;ya=f[o>>2]|0;za=f[t>>2]|0}else{wa=ea;xa=Z;ya=W;za=fa}fa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((fa>>>0)/113|0)<<2)>>2]|0)+(((fa>>>0)%113|0)*36|0)|0;f[Aa>>2]=ia;f[Aa+4>>2]=i;f[Aa+8>>2]=V;f[Aa+12>>2]=R;fa=Aa+16|0;f[fa>>2]=p;f[fa+4>>2]=q;f[Aa+24>>2]=Q;f[Aa+28>>2]=Y;f[Aa+32>>2]=U;fa=(f[l>>2]|0)+1|0;f[l>>2]=fa;Ba=fa}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ba=f[l>>2]|0}if(!Ba)break;else L=Ba}}Ba=f[t>>2]|0;L=f[v>>2]|0;Aa=Ba+(((L>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ba;if((q|0)==(Ba|0)){Ca=0;Da=0}else{ia=(f[Aa>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Ca=ia;Da=ia}ia=Aa;Aa=Da;c:while(1){Da=Aa;do{L=Da;if((Ca|0)==(L|0))break c;Da=L+36|0}while((Da-(f[ia>>2]|0)|0)!=4068);Da=ia+4|0;ia=Da;Aa=f[Da>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ba;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ea=f[o>>2]|0;Fa=Ea-i>>2}while(Fa>>>0>2);Ga=Fa;Ha=i;Ia=Ea}else{Ga=l;Ha=Ba;Ia=q}switch(Ga|0){case 1:{Ja=56;aa=99;break}case 2:{Ja=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ja;if((Ha|0)!=(Ia|0)){Ja=Ha;do{br(f[Ja>>2]|0);Ja=Ja+4|0}while((Ja|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}br(Ia);u=d;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+152|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+128|0;y=a+60|0;h=a+56|0;j=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=i+4|0;J=i+24|0;K=i+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){br(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[s>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[w>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=1;Y=V;Z=R;while(1){Z=(Z|0)==(Y+-1|0)?0:Z+1|0;f[Q+(W<<2)>>2]=Z;W=W+1|0;$=f[g>>2]|0;if(W>>>0>=$>>>0){aa=$;break}else Y=$}}else aa=V;if(!z){ba=81;break}else{ca=0;da=aa}while(1){Y=(f[J>>2]|0)+((X(f[I>>2]|0,O+ca|0)|0)<<2)|0;if(!da)ea=0;else{W=0;do{Z=f[(f[w>>2]|0)+(W<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Z<<2)>>2]|0)|0;do if(Q|0){$=f[y>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[Y+(Z<<2)>>2]<(fa|0)){ia=ha>>>ga;ga=Q-fa|0;f[y>>2]=ga;fa=f[h>>2]|ia>>>ga;f[h>>2]=fa;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=fa;f[j>>2]=ga+4}f[h>>2]=ia<<32-(f[y>>2]|0);break}ia=f[h>>2]|ha>>>$;f[h>>2]=ia;ha=$+Q|0;f[y>>2]=ha;if((ha|0)!=32)break;ha=f[j>>2]|0;if((ha|0)==(f[m>>2]|0))Ti(n,h);else{f[ha>>2]=ia;f[j>>2]=ha+4}f[h>>2]=0;f[y>>2]=0}while(0);W=W+1|0;Q=f[g>>2]|0}while(W>>>0>>0);ea=Q}ca=ca+1|0;if(ca>>>0>=z>>>0){ba=81;break a}else da=ea}}V=U+1|0;Lg(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);W=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;Y=(f[W>>2]|0)+(1<>2]=Y;W=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ja=O;else{Z=f[K>>2]|0;if(!W){if((f[Z+(R<<2)>>2]|0)>>>0>>0){ja=S;break}else{ka=S;la=O}while(1){ha=ka;do{ha=ha+-1|0;if((la|0)==(ha|0)){ja=la;break b}ia=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ia>>2]|0)>>>0>=Y>>>0);la=la+1|0;if((la|0)==(ha|0)){ja=ha;break b}else ka=ha}}else{ma=S;na=O}while(1){ia=na;while(1){oa=Z+((X(ia,W)|0)<<2)|0;if((f[oa+(R<<2)>>2]|0)>>>0>=Y>>>0){pa=ma;break}$=ia+1|0;if(($|0)==(ma|0)){ja=ma;break b}else ia=$}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[L>>2]|0)+((X(pa,Q)|0)<<2)|0;if((f[qa+(R<<2)>>2]|0)>>>0>>0){ra=0;break}}do{ha=oa+(ra<<2)|0;$=qa+(ra<<2)|0;ga=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ga;ra=ra+1|0}while((ra|0)!=(W|0));na=ia+1|0;if((na|0)==(pa|0)){ja=pa;break}else ma=pa}}while(0);Y=(_(z|0)|0)^31;Q=ja-O|0;Z=S-ja|0;ga=Q>>>0>>0;if((Q|0)!=(Z|0)){$=f[D>>2]|0;if(ga)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ti(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ga)vg(C,Y,ha-Q|0);else vg(C,Y,ha-Z|0);ha=f[s>>2]|0;Y=f[ha+(U*12|0)>>2]|0;ga=Y+(R<<2)|0;f[ga>>2]=(f[ga>>2]|0)+1;Lg(ha+(V*12|0)|0,Y,f[ha+(U*12|0)+4>>2]|0);if((ja|0)!=(O|0)){ha=f[o>>2]|0;Y=f[t>>2]|0;ga=ha-Y>>2;$=f[v>>2]|0;fa=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(fa+$|0)){Qc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=$;ta=fa;ua=ha;va=Y}Y=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[wa>>2]=O;Y=wa+4|0;f[Y>>2]=r;f[Y+4>>2]=x;f[wa+12>>2]=ja;f[wa+16>>2]=i;f[wa+20>>2]=W;f[wa+24>>2]=R;f[wa+28>>2]=Q;f[wa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ja|0)){Q=f[o>>2]|0;Y=f[t>>2]|0;ha=Q-Y>>2;fa=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+fa|0)){Qc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=$;za=Q;Aa=Y}Y=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=i;f[Ba+8>>2]=W;f[Ba+12>>2]=S;Y=Ba+16|0;f[Y>>2]=p;f[Y+4>>2]=q;f[Ba+24>>2]=R;f[Ba+28>>2]=Z;f[Ba+32>>2]=V;Z=(f[l>>2]|0)+1|0;f[l>>2]=Z;Ca=Z}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Ca=f[l>>2]|0}if(!Ca)break;else M=Ca}}Ca=f[t>>2]|0;M=f[v>>2]|0;Ba=Ca+(((M>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ca;if((q|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{M=Ea;if((Da|0)==(M|0))break c;Ea=M+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ca;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Fa=f[o>>2]|0;Ga=Fa-i>>2}while(Ga>>>0>2);Ha=Ga;Ia=i;Ja=Fa}else{Ha=l;Ia=Ca;Ja=q}switch(Ha|0){case 1:{Ka=56;ba=95;break}case 2:{Ka=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=Ka;if((Ia|0)!=(Ja|0)){Ka=Ia;do{br(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}br(Ja);u=d;return}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Oa,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=ho(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=ho(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=ho(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0.0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Ui(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Ui(a)|0;if((x|0)==48){o=0;w=0;while(1){y=ho(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Ui(a)|0;if((B|0)==48){o=y;w=z}else{q=1;r=B;s=1;t=y;v=z;break}}}else{q=1;r=x;s=b;t=0;v=0}}f[j>>2]=0;b=r+-48|0;x=(r|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=0;o=0;z=0;y=q;A=s;C=r;D=x;E=b;F=t;G=v;H=0;J=0;c:while(1){do if(D)if(!y){L=w;M=o;N=1;O=z;P=A;Q=H;R=J;S=H;T=J}else break c;else{U=ho(H|0,J|0,1,0)|0;V=I;W=(C|0)!=48;if((o|0)>=125){if(!W){L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}Y=j+(o<<2)|0;if(!w)Z=E;else Z=C+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=w+1|0;_=(Y|0)==9;L=_?0:Y;M=o+(_&1)|0;N=y;O=W?U:z;P=1;Q=F;R=G;S=U;T=V}while(0);V=f[m>>2]|0;if(V>>>0<(f[n>>2]|0)>>>0){f[m>>2]=V+1;$=h[V>>0]|0}else $=Ui(a)|0;E=$+-48|0;D=($|0)==46;if(!(D|E>>>0<10)){aa=L;ba=M;ca=O;da=N;ea=$;fa=P;ga=S;ha=Q;ia=T;ja=R;p=29;break b}else{w=L;o=M;z=O;y=N;A=P;C=$;F=Q;G=R;H=S;J=T}}ka=w;la=o;ma=z;na=H;oa=J;pa=F;qa=G;ra=(A|0)!=0;p=37}else{aa=0;ba=0;ca=0;da=q;ea=r;fa=s;ga=0;ha=t;ia=0;ja=v;p=29}while(0);do if((p|0)==29){v=(da|0)==0;t=v?ga:ha;s=v?ia:ja;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=aa;la=ba;ma=ca;na=ga;oa=ia;pa=t;qa=s;ra=v;p=37;break}else{sa=aa;ta=ba;ua=ca;va=ga;wa=ia;xa=v;ya=t;za=s;p=39;break}v=Re(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){gn(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=ho(Ba|0,Ca|0,t|0,s|0)|0;Da=aa;Ea=ba;Fa=ca;Ga=r;Ha=ga;Ia=I;Ja=ia;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ka;Ea=la;Fa=ma;Ga=pa;Ha=na;Ia=qa;Ja=oa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=ra;ya=pa;za=qa;p=39}if((p|0)==39)if(xa){Da=sa;Ea=ta;Fa=ua;Ga=ya;Ha=va;Ia=za;Ja=wa;p=41}else p=40;do if((p|0)==40){wa=ir()|0;f[wa>>2]=22;gn(a,0);Aa=0.0}else if((p|0)==41){wa=f[j>>2]|0;if(!wa){Aa=+(e|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(c|0)>30|(wa>>>c|0)==0:0){Aa=+(e|0)*+(wa>>>0);break}wa=(d|0)/-2|0;za=((wa|0)<0)<<31>>31;if((Ia|0)>(za|0)|(Ia|0)==(za|0)&Ga>>>0>wa>>>0){wa=ir()|0;f[wa>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}wa=d+-106|0;za=((wa|0)<0)<<31>>31;if((Ia|0)<(za|0)|(Ia|0)==(za|0)&Ga>>>0>>0){wa=ir()|0;f[wa>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Da)Ka=Ea;else{if((Da|0)<9){wa=j+(Ea<<2)|0;za=Da;va=f[wa>>2]|0;while(1){va=va*10|0;if((za|0)>=8)break;else za=za+1|0}f[wa>>2]=va}Ka=Ea+1|0}if((Fa|0)<9?(Fa|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){Aa=+(e|0)*+((f[j>>2]|0)>>>0);break}if((Ga|0)<9){Aa=+(e|0)*+((f[j>>2]|0)>>>0)/+(f[6876+(8-Ga<<2)>>2]|0);break}za=c+27+(X(Ga,-3)|0)|0;A=f[j>>2]|0;if((za|0)>30|(A>>>za|0)==0){Aa=+(e|0)*+(A>>>0)*+(f[6876+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=0;Ma=Ka;Na=0;Oa=Ga}else{za=(Ga|0)>-1?A:A+9|0;A=f[6876+(8-za<<2)>>2]|0;if(Ka){G=1e9/(A|0)|0;F=0;J=0;H=Ga;z=0;do{o=j+(z<<2)|0;w=f[o>>2]|0;ya=((w>>>0)/(A>>>0)|0)+F|0;f[o>>2]=ya;F=X(G,(w>>>0)%(A>>>0)|0)|0;w=(z|0)==(J|0)&(ya|0)==0;H=w?H+-9|0:H;J=w?J+1&127:J;z=z+1|0}while((z|0)!=(Ka|0));if(!F){Pa=J;Qa=Ka;Ra=H}else{f[j+(Ka<<2)>>2]=F;Pa=J;Qa=Ka+1|0;Ra=H}}else{Pa=0;Qa=0;Ra=Ga}La=0;Ma=Qa;Na=Pa;Oa=9-za+Ra|0}d:while(1){z=(Oa|0)<18;A=(Oa|0)==18;G=j+(Na<<2)|0;va=La;wa=Ma;while(1){if(!z){if(!A){Sa=va;Ta=Na;Ua=Oa;Va=wa;break d}if((f[G>>2]|0)>>>0>=9007199){Sa=va;Ta=Na;Ua=18;Va=wa;break d}}w=0;Wa=wa;ya=wa+127|0;while(1){o=ya&127;ua=j+(o<<2)|0;ta=fo(f[ua>>2]|0,0,29)|0;sa=ho(ta|0,I|0,w|0,0)|0;ta=I;if(ta>>>0>0|(ta|0)==0&sa>>>0>1e9){xa=wp(sa|0,ta|0,1e9,0)|0;qa=sn(sa|0,ta|0,1e9,0)|0;Xa=xa;Ya=qa}else{Xa=0;Ya=sa}f[ua>>2]=Ya;ua=(o|0)==(Na|0);Wa=(Ya|0)==0&(((o|0)!=(Wa+127&127|0)|ua)^1)?o:Wa;if(ua)break;else{w=Xa;ya=o+-1|0}}va=va+-29|0;if(Xa|0)break;else wa=Wa}wa=Na+127&127;G=Wa+127&127;A=j+((Wa+126&127)<<2)|0;if((wa|0)==(Wa|0)){f[A>>2]=f[A>>2]|f[j+(G<<2)>>2];Za=G}else Za=Wa;f[j+(wa<<2)>>2]=Xa;La=va;Ma=Za;Na=wa;Oa=Oa+9|0}e:while(1){za=Va+1&127;H=j+((Va+127&127)<<2)|0;J=Sa;F=Ta;wa=Ua;while(1){G=(wa|0)==18;A=(wa|0)>27?9:1;_a=J;$a=F;while(1){z=0;while(1){ya=z+$a&127;if((ya|0)==(Va|0)){ab=2;p=88;break}w=f[j+(ya<<2)>>2]|0;ya=f[6908+(z<<2)>>2]|0;if(w>>>0>>0){ab=2;p=88;break}if(w>>>0>ya>>>0)break;ya=z+1|0;if((z|0)<1)z=ya;else{ab=ya;p=88;break}}if((p|0)==88?(p=0,G&(ab|0)==2):0){bb=0.0;cb=0;db=Va;break e}eb=A+_a|0;if(($a|0)==(Va|0)){_a=eb;$a=Va}else break}G=(1<>>A;fb=0;gb=$a;hb=wa;ya=$a;do{w=j+(ya<<2)|0;o=f[w>>2]|0;ua=(o>>>A)+fb|0;f[w>>2]=ua;fb=X(o&G,z)|0;o=(ya|0)==(gb|0)&(ua|0)==0;hb=o?hb+-9|0:hb;gb=o?gb+1&127:gb;ya=ya+1&127}while((ya|0)!=(Va|0));if(!fb){J=eb;F=gb;wa=hb;continue}if((za|0)!=(gb|0))break;f[H>>2]=f[H>>2]|1;J=eb;F=gb;wa=hb}f[j+(Va<<2)>>2]=fb;Sa=eb;Ta=gb;Ua=hb;Va=za}while(1){wa=cb+$a&127;F=db+1&127;if((wa|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;bb=bb*1.0e9+ +((f[j+(wa<<2)>>2]|0)>>>0);cb=cb+1|0;if((cb|0)==2)break;else db=ib}jb=+(e|0);kb=bb*jb;wa=_a+53|0;F=wa-d|0;J=(F|0)<(c|0);H=J?((F|0)>0?F:0):c;if((H|0)<53){lb=+Gq(+ik(1.0,105-H|0),kb);mb=+Sq(kb,+ik(1.0,53-H|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}va=$a+2&127;if((va|0)!=(ib|0)){ya=f[j+(va<<2)>>2]|0;do if(ya>>>0>=5e8){if((ya|0)!=5e8){qb=jb*.75+ob;break}if(($a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ya|0)==0?($a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-H|0)>1?!(+Sq(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((wa&2147483647|0)>(-2-k|0)){ya=!(+K(+jb)>=9007199254740992.0);va=_a+((ya^1)&1)|0;kb=ya?jb:jb*.5;if((va+50|0)<=(l|0)?!(rb!=0.0&(J&((H|0)!=(F|0)|ya))):0){sb=kb;tb=va;break}ya=ir()|0;f[ya>>2]=34;sb=kb;tb=va}else{sb=jb;tb=_a}while(0);Aa=+Hq(sb,tb)}while(0);u=i;return +Aa}function ob(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Jo(c)|0;if((I|0)<0){q=-c;r=1;s=16992}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?16993:16998):16995}Jo(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;Xk(a,32,d,v,g&-65537);ip(a,s,r);ip(a,q!=q|0.0!=0.0?(t?18942:17019):t?17011:17015,3);Xk(a,32,d,v,g^8192);w=v}else{c=+Iq(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=Wj(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[17023+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;Xk(a,32,d,G,g);ip(a,y,z);Xk(a,48,d,G,g^65536);ip(a,m,M);Xk(a,48,N-M|0,0,0);ip(a,A,E);Xk(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=fo(f[K>>2]|0,0,y|0)|0;Q=ho(J|0,I|0,x|0,0)|0;J=I;R=sn(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=wp(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=Wj(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;Xk(a,32,d,A,g);ip(a,s,r);Xk(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=Wj(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){uj(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;ip(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)ip(a,17039,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=Wj(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){uj(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;ip(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;Xk(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=Wj(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;ip(a,Da,1);if(Z&(K|0)<1){Ea=x;break}ip(a,17039,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}uj(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;ip(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;Xk(a,48,Fa+18|0,18,0);ip(a,xa,p-xa|0)}Xk(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function pb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){$e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ji(v);br(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ji(v);br(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ji(s);br(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ji(s);br(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;di(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;di((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;ig(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;nk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;br(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;ig(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;nk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(xh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;fj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(dk(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=Bg(a,d,e)|0;hj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=W;T=-1;U=Z;break}S=W;T=f[V+(Y<<2)>>2]|0;U=Z}while(0);Y=f[C>>2]|0;V=Y+(S>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(S&31);V=Y+(U>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(U&31);V=Y+(T>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(T&31);f[d>>2]=1;V=f[B>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=1;f[B>>2]=V+4}else Ti(A,d);V=(f[t>>2]|0)+(O<<2)|0;f[V>>2]=f[V>>2]|P;V=Q+1|0;if(R)_=-1;else _=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[d>>2]=_;Y=f[H>>2]|0;if(Y>>>0<(f[K>>2]|0)>>>0){f[Y>>2]=_;f[H>>2]=Y+4}else Ti(i,d);if(R)break;Y=((V>>>0)%3|0|0)==0?Q+-2|0:V;if((Y|0)==-1)break;V=f[(f[(f[s>>2]|0)+12>>2]|0)+(Y<<2)>>2]|0;Y=(V|0)==-1;W=Y?-1:(V>>>0)/3|0;if(Y)break;if(f[(f[t>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)break;f[l>>2]=V;f[d>>2]=f[l>>2];if(!(kc(a,d)|0))break b}else{V=Q+1|0;if(R)$=-1;else $=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[m>>2]=$;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(kc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}th(v);F=a+232|0;ld(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(ld(E,F),(f[h>>2]|0)>1):0){E=1;do{ld((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}di((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;di(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(ch(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);br(F)}w=ba;u=c;return w|0}function qb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=ir()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)ip(a,w,y);if(y|0){s=y;t=x;continue}y=(Pq(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Pq(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Sl(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Sl(j)|0;$=O;aa=f[j>>2]|0;break}if(Pq(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(16511+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}We(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Vl(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=16975;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=jo(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=16975;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?16975:16977):16976;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=16975;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=16975;za=o;Aa=1;Ba=O;break}case 109:{ja=ir()|0;Ca=mp(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:16985;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){Xk(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=ob(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=16975;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=Bl(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?16975:16975+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=Wj(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=xg(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=16975;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=bp(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}Xk(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=bp(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}ip(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;Xk(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;Xk(a,32,ja,O,Ba);ip(a,ya,xa);Xk(a,48,ja,O,Ba^65536);Xk(a,48,F,Q,0);ip(a,wa,Q);Xk(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}We(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function rb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){$e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ji(v);br(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ji(v);br(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ji(s);br(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ji(s);br(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;de(t,a)|0;v=f[s>>2]|0;x=a+4|0;di(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;di((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;ig(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;nk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;br(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;ig(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;nk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(wh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;fj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(dk(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=Bg(a,d,e)|0;hj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ti(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ti(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(ac(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(ac(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}qi(t);di(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;di(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(ch(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);br(t)}w=aa;u=c;return w|0}function sb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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=Oa,ma=Oa,na=Oa,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Kh(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)nq(e);else{o=k<<2;p=vn(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;uj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(A<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(v<<2)>>2]|0;else D=v;C=D+239^B;A=A+1|0;if((A|0)>=(x|0)){E=C;break}else B=C}}else E=0;B=f[q>>2]|0;x=(B|0)==0;a:do if(!x){A=B+-1|0;C=(A&B|0)==0;if(!C)if(E>>>0>>0)F=E;else F=(E>>>0)%(B>>>0)|0;else F=A&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&A|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(v<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=v;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0>>0)X=L;else X=(L>>>0)%(B>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(v<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=v;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(v<<2)>>2]=f[Q+12>>2];_=t}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){A=f[z+(I<<2)>>2]|0;if(!(b[A+84>>0]|0))aa=f[(f[A+68>>2]|0)+(v<<2)>>2]|0;else aa=v;A=aa+239^H;I=I+1|0;if((I|0)>=(J|0)){ba=A;break}else H=A}}else ba=0;e:do if(!x){H=B+-1|0;J=(H&B|0)==0;if(!J)if(ba>>>0>>0)ca=ba;else ca=(ba>>>0)%(B>>>0)|0;else ca=H&ba;I=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((I|0)!=0?(A=f[I>>2]|0,(A|0)!=0):0){I=f[s>>2]|0;C=I+8|0;G=I+12|0;if(J){J=A;while(1){I=f[J+4>>2]|0;if(!((I|0)==(ba|0)|(I&H|0)==(ca|0))){da=ca;M=76;break e}I=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=v;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(v<<2)>>2]|0;ga=f[P+(I<<2)>>2]|0}else{fa=v;ga=I}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=v;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=A;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0>>0)ia=J;else ia=(J>>>0)%(B>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;H=f[C>>2]|0;L=(f[G>>2]|0)-H|0;O=H;if((L|0)<=0){ea=v;break e}H=L>>>2;L=0;while(1){I=f[O+(L<<2)>>2]|0;if(!(b[I+84>>0]|0)){K=f[I+68>>2]|0;ja=f[K+(v<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=v;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(H|0)){ea=v;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=vn(16)|0;f[G+8>>2]=v;f[G+12>>2]=t;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(B>>>0);na=$(n[l>>2]);do if(x|$(na*ma)>>0<3|(B+-1&B|0)!=0)&1;A=~~$(W($(la/na)))>>>0;Kh(d,C>>>0>>0?A:C);C=f[q>>2]|0;A=C+-1|0;if(!(A&C)){oa=C;pa=A&ba;break}if(ba>>>0>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=B;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;A=f[C>>2]|0;if(!A){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){H=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(H>>>0>>0)qa=H;else qa=(H>>>0)%(oa>>>0)|0;else qa=H&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[A>>2];ra=A;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}A=t+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=t;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ti(g,h);_=A;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=A;break}}while(0);v=(f[h>>2]|0)+1|0;f[h>>2]=v;sa=f[j>>2]|0;if(v>>>0>=sa>>>0)break;else t=_}if((_|0)!=(sa|0)){Xa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);br(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);br(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;br(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}br(e);u=c;return}function tb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)nq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)nq(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=jo(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=jo(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=jo(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=ho(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=ho(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=jo(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=jo(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=jo(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=ho(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=ho(Q|0,E|0,J|0,I|0)|0;J=I;E=jo(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=jo(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=En(N|0,L|0,p|0,q|0)|0;q=I;p=En(N|0,L|0,n|0,o|0)|0;o=I;n=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=ho(n|0,S|0,R|0,q|0)|0;q=I;R=ho(T|0,U|0,p|0,o|0)|0;o=I;p=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Pk(p|0,w|0,N|0,L|0)|0;w=I;p=Pk(s|0,C|0,N|0,L|0)|0;C=I;s=Pk(D|0,G|0,N|0,L|0)|0;G=I;D=jo(O|0,B|0,H|0,w|0)|0;w=I;H=jo(M|0,F|0,p|0,C|0)|0;C=I;p=jo(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=ho(D|0,I|0,s|0,w|0)|0;w=I;s=En(p|0,G|0,p|0,G|0)|0;G=ho(C|0,w|0,s|0,I|0)|0;s=I;w=jo(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=fo(Y|0,Z|0,1)|0;C=I;p=_;_=ko(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=wp(E|0,s|0,ba|0,ca|0)|0;G=ho(C|0,I|0,ba|0,ca|0)|0;C=ko(G|0,I|0,1)|0;G=I;p=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;p=ho(E|0,s|0,V|0,q|0)|0;D=I;H=ho(G|0,C|0,R|0,o|0)|0;K=I;x=Pk(p|0,D|0,N|0,L|0)|0;D=I;p=Pk(H|0,K|0,N|0,L|0)|0;K=I;H=jo(V|0,q|0,E|0,s|0)|0;s=I;E=jo(R|0,o|0,G|0,C|0)|0;C=I;G=Pk(H|0,s|0,N|0,L|0)|0;s=I;H=Pk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=jo(F|0,M|0,x|0,D|0)|0;J=I;P=jo(B|0,E|0,p|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=ho(O|0,I|0,T|0,J|0)|0;J=I;T=jo(F|0,M|0,G|0,s|0)|0;M=I;F=jo(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=ho(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)nq(B);else{E=O<<6;U=F+32&-32;wi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)nq(B);else{L=O<<6;N=F+32&-32;wi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function ub(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)nq(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)nq(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=jo(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=jo(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=jo(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=ho(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=ho(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=jo(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=jo(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=jo(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=ho(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=ho(Q|0,E|0,J|0,I|0)|0;J=I;E=jo(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=jo(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=En(N|0,L|0,c|0,m|0)|0;m=I;c=En(N|0,L|0,r|0,o|0)|0;o=I;r=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=ho(r|0,S|0,R|0,m|0)|0;m=I;R=ho(T|0,U|0,c|0,o|0)|0;o=I;c=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Pk(c|0,w|0,N|0,L|0)|0;w=I;c=Pk(s|0,C|0,N|0,L|0)|0;C=I;s=Pk(D|0,G|0,N|0,L|0)|0;G=I;D=jo(O|0,B|0,H|0,w|0)|0;w=I;H=jo(M|0,F|0,c|0,C|0)|0;C=I;c=jo(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=ho(D|0,I|0,s|0,w|0)|0;w=I;s=En(c|0,G|0,c|0,G|0)|0;G=ho(C|0,w|0,s|0,I|0)|0;s=I;w=jo(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=fo(Y|0,Z|0,1)|0;C=I;c=_;_=ko(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=wp(E|0,s|0,ba|0,ca|0)|0;G=ho(C|0,I|0,ba|0,ca|0)|0;C=ko(G|0,I|0,1)|0;G=I;c=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;c=ho(E|0,s|0,V|0,m|0)|0;D=I;H=ho(G|0,C|0,R|0,o|0)|0;K=I;x=Pk(c|0,D|0,N|0,L|0)|0;D=I;c=Pk(H|0,K|0,N|0,L|0)|0;K=I;H=jo(V|0,m|0,E|0,s|0)|0;s=I;E=jo(R|0,o|0,G|0,C|0)|0;C=I;G=Pk(H|0,s|0,N|0,L|0)|0;s=I;H=Pk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=jo(F|0,M|0,x|0,D|0)|0;J=I;P=jo(B|0,E|0,c|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=ho(O|0,I|0,T|0,J|0)|0;J=I;T=jo(F|0,M|0,G|0,s|0)|0;M=I;F=jo(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=ho(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)nq(B);else{E=O<<6;U=F+32&-32;wi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)nq(B);else{L=O<<6;N=F+32&-32;wi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(q)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function vb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Oa,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=ho(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=En(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=ho(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ti(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))Ti(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Ti(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))Ti(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Ti(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))Ti(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){Ti(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Ti(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Ti(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Ti(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}xb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;xb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}yb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;yb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}zb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;zb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ab(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ab(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}} -function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Bb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Bb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Cb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Cb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Db(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Db(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Eb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Eb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Fb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Fb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Gb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Gb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Hb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Hb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ib(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ib(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Jb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Jb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Kb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Kb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Lb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Lb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Mb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Mb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Nb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Nb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ob(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ob(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=Oa,J=0,K=0,L=0,M=0,N=Oa;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(zh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=vn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14821;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Lh(o,g)|0)!=0):0)y=Ok(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Ok(c,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=vn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14740;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Lh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=vn(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14760;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Lh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if(!C){Wd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)nq(i);else{D=B<<2;c=vn(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;uj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=vn(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14740;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Lh(o,j)|0)!=0):0){t=Tg(o,j)|0;if((t|0)!=(G+24|0)){rj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(qq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)br(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Tg(B,j)|0,(H|0)!=(B+4|0)):0){rj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(qq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)br(f[g>>2]|0)}if((b[j+11>>0]|0)<0)br(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=vn(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14760;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Lh(d,g)|0)!=0):0)N=$(zk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(zk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)br(f[g>>2]|0);Kl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);br(C)}k=1;u=e;return k|0}function Sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;Ak(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){hj(g,0);ua=k}else{hj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)nq(J);return 0}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=m;break}else{q=p;r=g+-1|0;s=m;break}}else{m=f[n+28>>2]|0;q=f[m+-4>>2]|0;r=-1;s=m}while(0);n=f[s+(r<<2)>>2]|0;if((q|0)==-1|(n|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;k=1<<(q&31);m=f[g>>2]|0;if(!(m&k)){f[g>>2]=m|k;k=f[b>>2]|0;m=k+1|0;if((k|0)==-1)t=-1;else t=((m>>>0)%3|0|0)==0?k+-2|0:m;f[e>>2]=t;m=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=m;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Ti(k,d);else{f[g>>2]=m;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;m=t+4|0;k=f[m>>2]|0;if((k|0)==(f[t+8>>2]|0)){Ti(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[s>>2]|0;if(!(t&w)){f[s>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;s=f[x>>2]|0;if((s|0)==(f[t+8>>2]|0))Ti(t,d);else{f[s>>2]=w;f[x>>2]=s+4}s=a+40|0;x=f[s>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Ti(x,e);y=f[s>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;s=n;n=x;a:while(1){x=f[s+-4>>2]|0;f[b>>2]=x;q=(x>>>0)/3|0;if((x|0)!=-1?(x=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[x>>2]|0,(q&v|0)==0):0){f[x>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;x=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((x|0)==-1){h=0;z=79;break}else{A=x;B=v;C=q}b:while(1){q=(f[r>>2]|0)+(A>>>5<<2)|0;v=1<<(A&31);x=f[q>>2]|0;do if(!(x&v)){k=f[(f[B+40>>2]|0)+(A<<2)>>2]|0;if((k|0)==-1)D=1;else{m=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(m&31)&f[(f[B+12>>2]|0)+(m>>>5<<2)>>2]|0)!=0}f[q>>2]=x|v;m=f[b>>2]|0;f[e>>2]=m;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[t>>2]|0;f[d>>2]=k;g=f[m+4>>2]|0;m=g+4|0;p=f[m>>2]|0;if((p|0)==(f[g+8>>2]|0))Ti(g,d);else{f[p>>2]=k;f[m>>2]=p+4}p=f[w>>2]|0;m=p+4|0;k=f[m>>2]|0;if((k|0)==(f[p+8>>2]|0)){Ti(p,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;E=p}p=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[p>>2];f[p>>2]=(f[p>>2]|0)+1;p=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=p;z=59;break}m=k+1|0;do if((k|0)==-1)H=-1;else{g=((m>>>0)%3|0|0)==0?k+-2|0:m;if((g|0)==-1){H=-1;break}if(f[(f[p>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[p+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=p}else{F=C;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=60;break}x=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((x|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);f[d>>2]=K;x=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((x|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);x=(K|0)==-1;v=(K>>>0)/3|0;q=x?-1:v;m=(L|0)==-1;k=(L>>>0)/3|0;g=m?-1:k;do if(!x){M=f[j>>2]|0;if(f[M+(q>>>5<<2)>>2]&1<<(q&31)|0){z=69;break}if(m){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(m){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=O;J=G}v=(f[j>>2]|0)+(I>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(I&31);C=f[b>>2]|0;A=f[(f[J+28>>2]|0)+(C<<2)>>2]|0;if((A|0)==-1){h=0;z=79;break a}else B=J}do if((z|0)==60){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Ti(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];q=v+4|0;f[l>>2]=q;P=q;break}}while(0);if((z|0)==71){z=0;q=(f[l>>2]|0)+-4|0;f[l>>2]=q;P=q}Q=f[i>>2]|0;R=P}else{q=s+-4|0;f[l>>2]=q;Q=n;R=q}if((Q|0)==(R|0)){h=1;z=79;break}else{s=R;n=Q}}if((z|0)==79){u=c;return h|0}return 0}function Ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;Ak(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];cc(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){hj(g,0);ua=k}else{hj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)nq(J);return 0}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,Y=Oa,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=r-w|0;z=t+(w+4)|0;A=s}else{y=v;z=t;A=v}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=8;break}case 2:{B=A;C=8;break}case 1:{D=A;C=9;break}default:E=A}if((C|0)==8){C=0;D=h[z+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(D^h[z>>0],1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(al(K,t,v)|0))break b;else break;if((b[t>>0]|0)==(K&255)<<24>>24){K=G;P=O;Q=t;do{P=P+-1|0;K=K+1|0;if(!P)break b;Q=Q+1|0}while((b[K>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){O=f[F+4>>2]|0;if((O|0)!=(r|0)){if(O>>>0>>0)R=O;else R=(O>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}O=b[F+8+11>>0]|0;if(!((O<<24>>24<0?f[F+12>>2]|0:O&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;O=I<<24>>24<0;G=I&255;do if(((O?f[S+12>>2]|0:G)|0)==(v|0)){I=f[F>>2]|0;if(O)if(!(al(I,t,v)|0))break b;else break;if((b[t>>0]|0)==(I&255)<<24>>24){I=F;N=G;Q=t;do{N=N+-1|0;I=I+1|0;if(!N)break b;Q=Q+1|0}while((b[I>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Ei(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|$(Y*V)>>0<3|(w+-1&w|0)!=0)&1;v=~~$(W($(U/Y)))>>>0;fi(a,t>>>0>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=vn(40)|0;Vb(c,f[e+20>>2]|0);aa=Ec(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;si(c+8|0);br(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)br(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;br(Z)}if((b[a+11>>0]|0)<0)br(f[a>>2]|0);br(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)br(aa);br(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Ti(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Ti(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Ti(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Ti(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Ti(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=D}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=N;J=G}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=J}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Ti(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Xb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=r;G=r&65535;F=r>>>16;H=F&65535;J=(r&65535^318)+239^F;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=vn(16)|0;G=H+8|0;d[G>>1]=r;d[G+2>>1]=r>>>16;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;Wh(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=En(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Eh(Z,la-Y|0,1284);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;br(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Eh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,x,e);x=vn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,E,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Ff(j,h);Ff(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;gg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)br(s);s=f[e+8>>2]|0;if(s|0)br(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)br(s);s=f[j+8>>2]|0;if(s|0)br(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];gg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;pg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);br(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)br(E);E=f[i+12>>2]|0;if(E|0)br(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)br(E);E=f[h+8>>2]|0;if(E|0)br(E);M=0;N=s;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ni(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>=5):0){O=31;break}jf(e,a,P);Q=1;R=f[e>>2]|0}else O=31;while(0);if((O|0)==31){Vd(e,a,P);Q=0;R=f[e>>2]|0}if(!R)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=M;M=vn(76)|0;f[k>>2]=N;yl(M,k,c);c=M;M=f[k>>2]|0;f[k>>2]=0;if(M|0)Va[f[(f[M>>2]|0)+4>>2]&127](M);M=a+188|0;k=f[M>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[M>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;M=f[a>>2]|0;if(M>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[M>>2]=c;f[a>>2]=M+4;U=l}else{Sg(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Zb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Eh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,x,e);x=vn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,E,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Ff(j,h);Ff(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;gg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)br(s);s=f[e+8>>2]|0;if(s|0)br(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)br(s);s=f[j+8>>2]|0;if(s|0)br(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];gg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;pg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);br(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)br(E);E=f[i+12>>2]|0;if(E|0)br(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)br(E);E=f[h+8>>2]|0;if(E|0)br(E);M=0;N=s;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ni(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>=5):0){O=31;break}jf(e,a,P);Q=1;R=f[e>>2]|0}else O=31;while(0);if((O|0)==31){Vd(e,a,P);Q=0;R=f[e>>2]|0}if(!R)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=M;M=vn(76)|0;f[k>>2]=N;yl(M,k,c);c=M;M=f[k>>2]|0;f[k>>2]=0;if(M|0)Va[f[(f[M>>2]|0)+4>>2]&127](M);M=a+188|0;k=f[M>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[M>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;M=f[a>>2]|0;if(M>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[M>>2]=c;f[a>>2]=M+4;U=l}else{Sg(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=0;z=0;A=q;B=q;C=q;q=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(f[D>>2]|0,f[D+4>>2]|0,x+y|0,0)|0;D=ho(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(q|0)==0;a:do if(!G){H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)K=D;else K=(D>>>0)%(q>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0>>0)S=P;else S=(P>>>0)%(q>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[A+(y<<2)>>2]=f[R+16>>2];T=d;U=z;V=C;X=B;Y=A;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)_=D;else _=(D>>>0)%(q>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0>>0)ba=J;else ba=(J>>>0)%(q>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=vn(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=z;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(q>>>0);ea=$(n[k>>2]);do if(G|$(ea*da)>>0<3|(q+-1&q|0)!=0)&1;H=~~$(W($(ca/ea)))>>>0;_h(g,J>>>0>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=q;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=En(D|0,f[G+4>>2]|0,z|0,0)|0;kh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(y<<2)>>2]=z;T=D;U=z+1|0;V=D;X=D;Y=D}D=y+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=D;z=U;A=Y;B=X;C=V;q=f[m>>2]|0}if((U|0)==(ja|0))ka=X;else{X=a+84|0;if(!(b[X>>0]|0)){m=f[a+72>>2]|0;q=f[a+68>>2]|0;C=q;if((m|0)==(q|0))la=T;else{B=m-q>>2;q=0;do{m=C+(q<<2)|0;f[m>>2]=f[V+(f[m>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);la=T}}else{b[X>>0]=0;X=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[X>>2]|0;V=B-q>>2;C=q;q=B;if(ja>>>0<=V>>>0)if(ja>>>0>>0?(B=C+(ja<<2)|0,(B|0)!=(q|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{Eh(X,ja-V|0,1284);ma=f[l>>2]|0}V=f[j>>2]|0;if(!ma)la=V;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[V+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=V}}f[l>>2]=U;ka=la}if(!ka)na=U;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);br(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;br(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}br(ka);u=e;return na|0}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=r&255;F=(r&65535)>>>8;H=F&255;J=((r&255^318)+239<<16>>16^F)&65535;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=K&J;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=vn(16)|0;G=H+8|0;b[G>>0]=r;b[G+1>>0]=r>>8;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;bi(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(G>>>0>J>>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=En(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Eh(Z,la-Y|0,1284);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;br(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=0;L=K;b:while(1){K=J+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=L+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ti(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=V+2|0;Z=X;break}else{Y=V+-1|0;Z=X;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Z<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Y<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3852+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ti(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=R?-1:(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)zf(a,f[i>>2]|0,N,0,fa);nd(t,3);ga=f[e>>2]|0}else{if(!R){zf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}nd(t,5);ga=da}f[b>>2]=ga}if((K|0)>=(k|0))break a;J=K;L=f[n>>2]|0}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{zf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;nd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(L=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(L&31)&f[(f[G>>2]|0)+(L>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}L=f[i>>2]|0;f[d>>2]=N;J=ce(H,d)|0;f[J>>2]=L;L=f[j>>2]|0;f[L+-4>>2]=da;if((L|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[L>>2]=f[e>>2];f[j>>2]=L+4;break}}while(0);if((U|0)==54){U=0;nd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Oa,K=Oa,L=Oa,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Gi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;rj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Gi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=q-m|0;t=c+(m+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(m=f[r>>2]|0,(m|0)!=0):0){r=(o|0)==0;if(s){if(r){s=m;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=m;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(al(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=m;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=m;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(al(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){pi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;fi(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;br(O)}if((b[p>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)nq(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];vb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];vb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];vb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=jo(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=jo(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=jo(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=jo(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=jo(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=jo(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=En($|0,ia|0,ca|0,ba|0)|0;da=I;la=En(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=En(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=En($|0,ia|0,Q|0,L|0)|0;ia=I;$=En(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=En(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=jo(C|0,D|0,la|0,ma|0)|0;ma=ho(ca|0,I|0,ha|0,da|0)|0;da=I;ha=ho(na|0,fa|0,E|0,F|0)|0;fa=jo(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=jo(G|0,H|0,Q|0,ba|0)|0;ba=ho(ga|0,I|0,$|0,L|0)|0;L=I;Jh(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)nq(W);else if((V|0)==28)nq(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=jo(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=jo(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=jo(0,0,ua|0,ta|0)|0;i=ho((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=ho(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=ko(v|0,V|0,29)|0;Z=oa&7;oa=Pk(qa|0,pa|0,Z|0,0)|0;a=Pk(sa|0,ra|0,Z|0,0)|0;i=Pk(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=ko(v|0,V|0,29)|0;V=I;v=Pk(qa|0,pa|0,i|0,V|0)|0;pa=Pk(sa|0,ra|0,i|0,V|0)|0;ra=Pk(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=Oa,M=Oa,N=Oa,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Gi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;kh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;rj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Gi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}kh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=w-s|0;z=c+(s+4)|0;A=x}else{y=d;z=c;A=d}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=12;break}case 2:{B=A;C=12;break}case 1:{D=A;C=13;break}default:E=A}if((C|0)==12){D=h[z+1>>0]<<8^B;C=13}if((C|0)==13)E=X(D^h[z>>0],1540483477)|0;z=X(E>>>13^E,1540483477)|0;E=z>>>15^z;z=a+4|0;D=f[z>>2]|0;B=(D|0)==0;a:do if(!B){A=D+-1|0;y=(A&D|0)==0;if(!y)if(E>>>0>>0)F=E;else F=(E>>>0)%(D>>>0)|0;else F=E&A;x=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((x|0)!=0?(s=f[x>>2]|0,(s|0)!=0):0){x=(d|0)==0;if(y){if(x){y=s;while(1){w=f[y+4>>2]|0;if(!((w|0)==(E|0)|(w&A|0)==(F|0))){G=F;C=54;break a}w=b[y+8+11>>0]|0;if(!((w<<24>>24<0?f[y+12>>2]|0:w&255)|0))break a;y=f[y>>2]|0;if(!y){G=F;C=54;break a}}}else H=s;while(1){y=f[H+4>>2]|0;if(!((y|0)==(E|0)|(y&A|0)==(F|0))){G=F;C=54;break a}y=H+8|0;w=b[y+11>>0]|0;o=w<<24>>24<0;t=w&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){w=f[y>>2]|0;if(o)if(!(al(w,c,d)|0))break a;else break;if((b[c>>0]|0)==(w&255)<<24>>24){w=y;l=t;q=c;do{l=l+-1|0;w=w+1|0;if(!l)break a;q=q+1|0}while((b[w>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(x){A=s;while(1){t=f[A+4>>2]|0;if((t|0)!=(E|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(D>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}t=b[A+8+11>>0]|0;if(!((t<<24>>24<0?f[A+12>>2]|0:t&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else J=s;while(1){A=f[J+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0>>0)K=A;else K=(A>>>0)%(D>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}A=J+8|0;x=b[A+11>>0]|0;t=x<<24>>24<0;y=x&255;do if(((t?f[J+12>>2]|0:y)|0)==(d|0)){x=f[A>>2]|0;if(t)if(!(al(x,c,d)|0))break a;else break;if((b[c>>0]|0)==(x&255)<<24>>24){x=A;o=y;q=c;do{o=o+-1|0;x=x+1|0;if(!o)break a;q=q+1|0}while((b[x>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){pi(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(D>>>0);N=$(n[a+16>>2]);do if(B|$(N*M)>>0<3|(D+-1&D|0)!=0)&1;J=~~$(W($(L/N)))>>>0;fi(a,F>>>0>>0?J:F);F=f[z>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=D;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){D=a+8|0;f[f[g>>2]>>2]=f[D>>2];f[D>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=D;D=f[g>>2]|0;P=f[D>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=D;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;br(Q)}if((b[v>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function ec(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=0;B=0;C=r;D=r;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+A|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=(r^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(e>>>0>G>>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==r<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==r<<16>>16){Q=N;break c}}else{if(P>>>0>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[E+(A<<2)>>2]=f[Q+12>>2];S=z;T=B;U=D;V=C;X=E;break a}while(0);if(!H)if(e>>>0>G>>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=Y;_=e;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=Y;_=e;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=Y;_=e;aa=0;ba=40;break a}if((d[M+8>>1]|0)==r<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=Y;_=e;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=Y;_=e;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==r<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=vn(16)|0;d[L+8>>1]=r;f[L+12>>2]=B;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(_>>>0);ga=$(n[l>>2]);do if(aa|$(ga*fa)>>0<3|(_+-1&_|0)!=0)&1;F=~~$(W($(ea/ga)))>>>0;Xh(i,M>>>0>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(M>>>0>G>>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=_;ia=Z}while(0);G=(f[i>>2]|0)+(ia<<2)|0;r=f[G>>2]|0;if(!r){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[r>>2];ka=r;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;r=w;G=f[r>>2]|0;M=En(G|0,f[r+4>>2]|0,B|0,0)|0;kh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=B;S=G;T=B+1|0;U=G;V=G;X=G}G=A+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=G;B=T;C=V;D=U;E=X}if((T|0)==(la|0))ma=V;else{V=a+84|0;if(!(b[V>>0]|0)){X=f[a+72>>2]|0;E=f[a+68>>2]|0;D=E;if((X|0)==(E|0))na=S;else{C=X-E>>2;E=0;do{X=D+(E<<2)|0;f[X>>2]=f[U+(f[X>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=S}}else{b[V>>0]=0;V=a+68|0;S=a+72|0;C=f[S>>2]|0;E=f[V>>2]|0;U=C-E>>2;D=E;E=C;if(la>>>0<=U>>>0)if(la>>>0>>0?(C=D+(la<<2)|0,(C|0)!=(E|0)):0){f[S>>2]=E+(~((E+-4-C|0)>>>2)<<2);oa=la}else oa=la;else{Eh(V,la-U|0,1284);oa=f[m>>2]|0}U=f[k>>2]|0;if(!oa)na=U;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[U+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=U}}f[m>>2]=T;ma=na}if(!ma)pa=T;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=T}}else pa=0;T=f[i+8>>2]|0;if(T|0){ma=T;do{T=ma;ma=f[ma>>2]|0;br(T)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Oa,K=Oa,L=Oa,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Gi(j,4);l=f[j>>2]|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;rj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Gi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=q-l|0;t=c+(l+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(l=f[r>>2]|0,(l|0)!=0):0){r=(o|0)==0;if(s){if(r){s=l;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=l;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(al(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=l;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=l;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(al(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){pi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;fi(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;br(O)}if((b[p>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)nq(i);o=l<<2;p=vn(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;uj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=0;z=0;A=p;B=p;C=p;while(1){p=q;D=f[p>>2]|0;E=f[p+4>>2]|0;p=o;F=En(f[p>>2]|0,f[p+4>>2]|0,w+y|0,0)|0;p=ho(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+p>>0]|0;b[h>>0]=E;p=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(p>>>0>>0)G=p;else G=(p>>>0)%(d>>>0)|0;else G=D&p;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(p|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(p|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[C+(y<<2)>>2]=f[O+12>>2];Q=x;R=z;S=B;T=A;U=C;break a}while(0);if(!F)if(p>>>0>>0)V=p;else V=(p>>>0)%(d>>>0)|0;else V=D&p;J=f[H+(V<<2)>>2]|0;if(!J){X=V;Y=d;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=V;Y=d;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(p|0)|(L&D|0)==(V|0))){X=V;Y=d;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=V;Y=d;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(p|0)){if(K>>>0>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=V;Y=d;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=vn(16)|0;b[J+8>>0]=E;f[J+12>>2]=z;f[J+4>>2]=p;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(Y>>>0);ea=$(n[j>>2]);do if(Z|$(ea*da)>>0<3|(Y+-1&Y|0)!=0)&1;D=~~$(W($(ca/ea)))>>>0;ci(g,K>>>0>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&p;break}if(p>>>0>>0){fa=K;ga=p}else{fa=K;ga=(p>>>0)%(K>>>0)|0}}else{fa=Y;ga=X}while(0);p=(f[g>>2]|0)+(ga<<2)|0;E=f[p>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[p>>2]=s;p=f[J>>2]|0;if(p|0){K=f[p+4>>2]|0;p=fa+-1|0;if(p&fa)if(K>>>0>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&p;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;p=f[E>>2]|0;K=En(p|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[v>>2]>>2]|0)+K|0,h|0,p|0)|0;p=f[i>>2]|0;f[p+(y<<2)>>2]=z;Q=p;R=z+1|0;S=p;T=p;U=p}p=y+1|0;ja=f[k>>2]|0;if(p>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=p;z=R;A=T;B=S;C=U}if((R|0)==(ja|0))ka=T;else{T=a+84|0;if(!(b[T>>0]|0)){U=f[a+72>>2]|0;C=f[a+68>>2]|0;B=C;if((U|0)==(C|0))la=Q;else{A=U-C>>2;C=0;do{U=B+(C<<2)|0;f[U>>2]=f[S+(f[U>>2]<<2)>>2];C=C+1|0}while(C>>>0>>0);la=Q}}else{b[T>>0]=0;T=a+68|0;Q=a+72|0;A=f[Q>>2]|0;C=f[T>>2]|0;S=A-C>>2;B=C;C=A;if(ja>>>0<=S>>>0)if(ja>>>0>>0?(A=B+(ja<<2)|0,(A|0)!=(C|0)):0){f[Q>>2]=C+(~((C+-4-A|0)>>>2)<<2);ma=ja}else ma=ja;else{Eh(T,ja-S|0,1284);ma=f[k>>2]|0}S=f[i>>2]|0;if(!ma)la=S;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=S}}f[k>>2]=R;ka=la}if(!ka)na=R;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);br(ka);na=R}}else na=0;R=f[g+8>>2]|0;if(R|0){ka=R;do{R=ka;ka=f[ka>>2]|0;br(R)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}br(ka);u=e;return na|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Oa,ea=Oa,fa=Oa,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=0;A=0;B=q;C=q;D=q;while(1){q=r;E=f[q>>2]|0;F=f[q+4>>2]|0;q=p;G=En(f[q>>2]|0,f[q+4>>2]|0,x+z|0,0)|0;q=ho(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+q|0;q=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=q;F=q^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(q|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(q|0)){P=M;break c}}else{if(O>>>0>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[D+(z<<2)>>2]=f[P+12>>2];R=y;S=A;T=C;U=B;V=D;break a}while(0);if(!G)if(F>>>0>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=X;Z=d;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=X;Z=d;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=X;Z=d;_=0;aa=40;break a}if((f[L+8>>2]|0)==(q|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=X;Z=d;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=X;Z=d;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(q|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=vn(16)|0;f[K+8>>2]=q;f[K+12>>2]=A;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Z>>>0);fa=$(n[k>>2]);do if(_|$(fa*ea)>>0<3|(Z+-1&Z|0)!=0)&1;E=~~$(W($(da/fa)))>>>0;Ii(g,L>>>0>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Z;ha=Y}while(0);F=(f[g>>2]|0)+(ha<<2)|0;q=f[F>>2]|0;if(!q){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[q>>2];ja=q;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;q=v;F=f[q>>2]|0;L=En(F|0,f[q+4>>2]|0,A|0,0)|0;kh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(z<<2)>>2]=A;R=F;S=A+1|0;T=F;U=F;V=F}F=z+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=F;A=S;B=U;C=T;D=V}if((S|0)==(ka|0))la=U;else{U=a+84|0;if(!(b[U>>0]|0)){V=f[a+72>>2]|0;D=f[a+68>>2]|0;C=D;if((V|0)==(D|0))ma=R;else{B=V-D>>2;D=0;do{V=C+(D<<2)|0;f[V>>2]=f[T+(f[V>>2]<<2)>>2];D=D+1|0}while(D>>>0>>0);ma=R}}else{b[U>>0]=0;U=a+68|0;R=a+72|0;B=f[R>>2]|0;D=f[U>>2]|0;T=B-D>>2;C=D;D=B;if(ka>>>0<=T>>>0)if(ka>>>0>>0?(B=C+(ka<<2)|0,(B|0)!=(D|0)):0){f[R>>2]=D+(~((D+-4-B|0)>>>2)<<2);na=ka}else na=ka;else{Eh(U,ka-T|0,1284);na=f[l>>2]|0}T=f[j>>2]|0;if(!na)ma=T;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ma=T}}f[l>>2]=S;la=ma}if(!la)oa=S;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);br(la);oa=S}}else oa=0;S=f[g+8>>2]|0;if(S|0){la=S;do{S=la;la=f[la>>2]|0;br(S)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}br(la);u=e;return oa|0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)nq(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];vb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];vb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];vb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=jo(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=jo(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=jo(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=jo(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=jo(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=jo(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=En(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=En(da|0,_|0,aa|0,$|0)|0;ga=I;ha=En(ea|0,W|0,aa|0,$|0)|0;$=I;aa=En(K|0,ca|0,S|0,L|0)|0;ca=I;K=En(da|0,_|0,S|0,L|0)|0;L=I;S=En(ea|0,W|0,Y|0,X|0)|0;X=I;Y=jo(B|0,C|0,fa|0,ga|0)|0;ga=ho(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=ho(ha|0,$|0,D|0,E|0)|0;$=jo(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=jo(F|0,G|0,S|0,X|0)|0;X=ho(aa|0,I|0,K|0,L|0)|0;L=I;Rg(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)nq(Q);else if((R|0)==21)nq(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=jo(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=jo(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=jo(0,0,oa|0,na|0)|0;i=ho((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=ho(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=ko(t|0,R|0,29)|0;U=ia&7;ia=Pk(ka|0,ja|0,U|0,0)|0;a=Pk(ma|0,la|0,U|0,0)|0;i=Pk(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=ko(t|0,R|0,29)|0;R=I;t=Pk(ka|0,ja|0,i|0,R|0)|0;ja=Pk(ma|0,la|0,i|0,R|0)|0;la=Pk(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function jc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)nq(l);r=p<<2;s=vn(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;uj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=En(f[A>>2]|0,f[A+4>>2]|0,t+y|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=Af(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=ko(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=ko(B|0,D|0,48)|0;J=H&65535;K=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H&65535;H=f[s>>2]|0;E=(H|0)==0;a:do if(!E){L=H+-1|0;M=(L&H|0)==0;if(!M)if(K>>>0>>0)N=K;else N=(K>>>0)%(H>>>0)|0;else N=K&L;O=f[(f[i>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(K|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[M+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==J<<16>>16:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(K|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(H>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((d[M>>1]|0)==A<<16>>16?(d[M+2>>1]|0)==F<<16>>16:0)?(d[S+12>>1]|0)==G<<16>>16:0)?(d[M+6>>1]|0)==J<<16>>16:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;J=vn(20)|0;G=J+8|0;F=G;d[F>>1]=B;d[F+2>>1]=B>>>16;F=G+4|0;d[F>>1]=D;d[F+2>>1]=D>>>16;f[J+16>>2]=z;f[J+4>>2]=K;f[J>>2]=0;U=$(((f[p>>2]|0)+1|0)>>>0);V=$(H>>>0);X=$(n[m>>2]);do if(E|$(X*V)>>0<3|(H+-1&H|0)!=0)&1;G=~~$(W($(U/X)))>>>0;Uh(i,F>>>0>>0?G:F);F=f[s>>2]|0;G=F+-1|0;if(!(G&F)){Y=F;Z=G&K;break}if(K>>>0>>0){Y=F;Z=K}else{Y=F;Z=(K>>>0)%(F>>>0)|0}}else{Y=H;Z=Q}while(0);H=(f[i>>2]|0)+(Z<<2)|0;K=f[H>>2]|0;if(!K){f[J>>2]=f[v>>2];f[v>>2]=J;f[H>>2]=v;H=f[J>>2]|0;if(H|0){E=f[H+4>>2]|0;H=Y+-1|0;if(H&Y)if(E>>>0>>0)_=E;else _=(E>>>0)%(Y>>>0)|0;else _=E&H;aa=(f[i>>2]|0)+(_<<2)|0;R=44}}else{f[J>>2]=f[K>>2];aa=K;R=44}if((R|0)==44){R=0;f[aa>>2]=J}f[p>>2]=(f[p>>2]|0)+1}K=w;H=f[K>>2]|0;E=En(H|0,f[K+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+E|0,j|0,H|0)|0;H=f[l>>2]|0;f[H+(y<<2)>>2]=z;ba=z+1|0;ca=H}else{H=f[l>>2]|0;f[H+(y<<2)>>2]=f[C+16>>2];ba=z;ca=H}y=y+1|0;da=f[o>>2]|0;if(y>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))fa=ca;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[ca+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;w=f[ca>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(da>>>0<=x>>>0)if(da>>>0>>0?(w=y+(da<<2)|0,(w|0)!=(j|0)):0){f[ca>>2]=j+(~((j+-4-w|0)>>>2)<<2);ga=da}else ga=da;else{Eh(z,da-x|0,1284);ga=f[o>>2]|0}x=f[l>>2]|0;if(!ga)fa=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=x}}f[o>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[q>>2]|0;if((fa|0)!=(ea|0))f[q>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[i+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[i>>2]|0;f[i>>2]=0;if(!ea){u=g;return ha|0}br(ea);u=g;return ha|0}function kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=0;F=E;b:while(1){E=D+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=F+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ti(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ti(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=L?-1:(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)zf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){zf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((E|0)>=(k|0))break a;D=E;F=f[n>>2]|0}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{zf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ti(y,d);else{f[F>>2]=1;f[w>>2]=F+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(F=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(F&31)&f[(f[A>>2]|0)+(F>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}F=f[i>>2]|0;f[d>>2]=H;D=ce(B,d)|0;f[D>>2]=F;F=f[j>>2]|0;f[F+-4>>2]=U;if((F|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[F>>2]=f[e>>2];f[j>>2]=F+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ti(y,d);else{f[F>>2]=7;f[w>>2]=F+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=En(f[z>>2]|0,f[z+4>>2]|0,s+x|0,0)|0;z=ho(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=Gf(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=C&255;C=E&255;E=(((B&255^318)+239^J)+239^C)+239^G;G=f[r>>2]|0;K=(G|0)==0;a:do if(!K){L=G+-1|0;M=(L&G|0)==0;if(!M)if(E>>>0>>0)N=E;else N=(E>>>0)%(G>>>0)|0;else N=E&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(E|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((b[O>>0]|0)==A<<24>>24?(b[O+1>>0]|0)==D<<24>>24:0)?(b[O+2>>0]|0)==F<<24>>24:0)?(b[O+3>>0]|0)==H<<24>>24:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(E|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(G>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((b[M>>0]|0)==A<<24>>24?(b[M+1>>0]|0)==D<<24>>24:0)?(b[M+2>>0]|0)==F<<24>>24:0)?(b[M+3>>0]|0)==H<<24>>24:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;H=vn(16)|0;F=H+8|0;D=B&-16776961|C<<16|J<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;U=$(((f[o>>2]|0)+1|0)>>>0);V=$(G>>>0);X=$(n[l>>2]);do if(K|$(X*V)>>0<3|(G+-1&G|0)!=0)&1;F=~~$(W($(U/X)))>>>0;$h(g,D>>>0>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Y=D;Z=F&E;break}if(E>>>0>>0){Y=D;Z=E}else{Y=D;Z=(E>>>0)%(D>>>0)|0}}else{Y=G;Z=Q}while(0);G=(f[g>>2]|0)+(Z<<2)|0;E=f[G>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[G>>2]=t;G=f[H>>2]|0;if(G|0){K=f[G+4>>2]|0;G=Y+-1|0;if(G&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&G;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[H>>2]=f[E>>2];aa=E;R=44}if((R|0)==44){R=0;f[aa>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;G=f[E>>2]|0;K=En(G|0,f[E+4>>2]|0,y|0,0)|0;kh((f[f[w>>2]>>2]|0)+K|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(x<<2)>>2]=y;ba=y+1|0;ca=G}else{G=f[k>>2]|0;f[G+(x<<2)>>2]=f[z+12>>2];ba=y;ca=G}x=x+1|0;da=f[m>>2]|0;if(x>>>0>=da>>>0)break;else y=ba}if((ba|0)==(da|0))ea=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))fa=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);fa=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(da>>>0<=w>>>0)if(da>>>0>>0?(v=x+(da<<2)|0,(v|0)!=(i|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ga=da}else ga=da;else{Eh(y,da-w|0,1284);ga=f[m>>2]|0}w=f[k>>2]|0;if(!ga)fa=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=w}}f[m>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[p>>2]|0;if((fa|0)!=(ea|0))f[p>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}br(ea);u=e;return ha|0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=En(f[B>>2]|0,f[B+4>>2]|0,r+A|0,0)|0;B=ho(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));qm(i|0,D|0,16)|0;C=Wf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=vn(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=z;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|$(X*V)>>0<3|(J+-1&J|0)!=0)&1;M=~~$(W($(U/X)))>>>0;Yh(g,P>>>0>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0

>>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=En(J|0,f[H+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(A<<2)>>2]=z;ba=z+1|0;ca=J}else{J=f[j>>2]|0;f[J+(A<<2)>>2]=f[C+24>>2];ba=z;ca=J}A=A+1|0;da=f[l>>2]|0;if(A>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((A|0)==(h|0))fa=ca;else{x=A-h>>2;h=0;do{A=y+(h<<2)|0;f[A>>2]=f[ca+(f[A>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;x=f[ca>>2]|0;h=f[z>>2]|0;y=x-h>>2;A=h;h=x;if(da>>>0<=y>>>0)if(da>>>0>>0?(x=A+(da<<2)|0,(x|0)!=(h|0)):0){f[ca>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{Eh(z,da-y|0,1284);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=y}}f[l>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}br(ea);u=e;return ha|0}function nc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=En(f[B>>2]|0,f[B+4>>2]|0,s+A|0,0)|0;B=ho(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;qm(j|0,D|0,6)|0;D=eg(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=vn(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=z;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;J=~~$(W($(S/U)))>>>0;Vh(h,K>>>0>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=z;_=z+1|0;aa=G}else{G=f[k>>2]|0;f[G+(A<<2)>>2]=f[D+16>>2];_=z;aa=G}A=A+1|0;ba=f[m>>2]|0;if(A>>>0>=ba>>>0)break;else z=_}if((_|0)==(ba|0))ca=aa;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((A|0)==(i|0))da=aa;else{x=A-i>>2;i=0;do{A=y+(i<<2)|0;f[A>>2]=f[aa+(f[A>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);da=aa}}else{b[z>>0]=0;z=a+68|0;aa=a+72|0;x=f[aa>>2]|0;i=f[z>>2]|0;y=x-i>>2;A=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0>>0?(x=A+(ba<<2)|0,(x|0)!=(i|0)):0){f[aa>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{Eh(z,ba-y|0,1284);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=y}}f[m>>2]=_;ca=da}if(!ca)fa=_;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);br(ca);fa=_}}else fa=0;_=f[h+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;br(_)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}br(ca);u=g;return fa|0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0,_=0;g=a+8|0;Ph(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=_q(i)|0;uj(j|0,0,i|0)|0;k=_q(i)|0;uj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=p;B=z;C=n}else nq(i);while(1){z=f[C+(B<<2)>>2]|0;if(q)uj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=0;E=z;while(1){F=f[p+(E<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(B|0)&(K|0)<(B|0)&(J|0)<(B|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=D+1|0}else N=D}else N=D;J=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);E=(O|0)==(z|0)?-1:O;if((E|0)==-1)break;else D=N}D=X(B,e)|0;if(N){if(q){E=0;do{z=j+(E<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(D<<2)|0;z=c+(D<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=0;H=j;I=p;while(1){if((I|0)>0){p=0;do{K=f[H+(p<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(p<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(p<<2)>>2]=(K|0)<(F|0)?F:K;P=G}p=p+1|0}while((p|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;p=(f[E+(J<<2)>>2]|0)-(f[Q+(J<<2)>>2]|0)|0;G=z+(J<<2)|0;f[G>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){R=p-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+p|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}J=J+1|0;I=f[g>>2]|0;if((J|0)>=(I|0))break;else H=Q}}}else{T=D;S=30}}else{T=X(B,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,I=c+(T<<2)|0,J=f[g>>2]|0,(J|0)>0):0){z=0;E=b+((X(A+-2|0,e)|0)<<2)|0;G=J;while(1){if((G|0)>0){J=0;do{p=f[E+(J<<2)>>2]|0;K=f[r>>2]|0;if((p|0)>(K|0)){F=f[s>>2]|0;f[F+(J<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(J<<2)>>2]=(p|0)<(F|0)?F:p;U=K}J=J+1|0}while((J|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;J=(f[H+(z<<2)>>2]|0)-(f[V+(z<<2)>>2]|0)|0;K=I+(z<<2)|0;f[K>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){W=J-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+J|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}z=z+1|0;G=f[g>>2]|0;if((z|0)>=(G|0))break;else E=V}}if((A|0)<=2)break a;C=f[i>>2]|0;E=B+-1|0;if((f[l>>2]|0)-C>>2>>>0<=E>>>0)break;else{G=B;B=E;A=G}}nq(i)}while(0);if((e|0)>0)uj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(k);$q(j);return 1}i=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;l=a+20|0;V=a+24|0;a=0;W=j;U=e;while(1){if((U|0)>0){e=0;do{T=f[W+(e<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[A>>2]|0;f[R+(e<<2)>>2]=Q;Y=R}else{R=f[B>>2]|0;Q=f[A>>2]|0;f[Q+(e<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}e=e+1|0}while((e|0)<(f[g>>2]|0));Z=Y}else Z=f[A>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Z+(a<<2)>>2]|0)|0;Q=c+(a<<2)|0;f[Q>>2]=e;if((e|0)>=(f[C>>2]|0)){if((e|0)>(f[V>>2]|0)){_=e-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+e|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}a=a+1|0;U=f[g>>2]|0;if((a|0)>=(U|0))break;else W=Z}$q(k);$q(j);return 1}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0;g=a+8|0;Ph(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=_q(i)|0;uj(j|0,0,i|0)|0;k=_q(i)|0;uj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=p;C=A;D=n}else nq(i);while(1){A=f[D+(C<<2)>>2]|0;if(q)uj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=0;F=A;while(1){if(((f[p+(F>>>5<<2)>>2]&1<<(F&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(F<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(C|0)&(L|0)<(C|0)&(K|0)<(C|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=E+1|0}else M=E;K=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);F=(N|0)==(A|0)?-1:N;if((F|0)==-1)break;else E=M}E=X(C,e)|0;if(M){if(q){F=0;do{A=j+(F<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;F=F+1|0}while((F|0)!=(e|0))}F=b+(E<<2)|0;A=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=0;G=j;J=p;while(1){if((J|0)>0){p=0;do{L=f[G+(p<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(p<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(p<<2)>>2]=(L|0)<(I|0)?I:L;O=H}p=p+1|0}while((p|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;p=(f[F+(K<<2)>>2]|0)-(f[P+(K<<2)>>2]|0)|0;H=A+(K<<2)|0;f[H>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){Q=p-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+p|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}K=K+1|0;J=f[g>>2]|0;if((K|0)>=(J|0))break;else G=P}}}else{S=E;R=28}}else{S=X(C,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,J=c+(S<<2)|0,K=f[g>>2]|0,(K|0)>0):0){A=0;F=b+((X(B+-2|0,e)|0)<<2)|0;H=K;while(1){if((H|0)>0){K=0;do{p=f[F+(K<<2)>>2]|0;L=f[r>>2]|0;if((p|0)>(L|0)){I=f[s>>2]|0;f[I+(K<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(K<<2)>>2]=(p|0)<(I|0)?I:p;T=L}K=K+1|0}while((K|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;K=(f[G+(A<<2)>>2]|0)-(f[U+(A<<2)>>2]|0)|0;L=J+(A<<2)|0;f[L>>2]=K;if((K|0)>=(f[u>>2]|0)){if((K|0)>(f[w>>2]|0)){V=K-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+K|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}A=A+1|0;H=f[g>>2]|0;if((A|0)>=(H|0))break;else F=U}}if((B|0)<=2)break a;D=f[i>>2]|0;F=C+-1|0;if((f[l>>2]|0)-D>>2>>>0<=F>>>0)break;else{H=C;C=F;B=H}}nq(i)}while(0);if((e|0)>0)uj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(k);$q(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;D=a+28|0;l=a+20|0;U=a+24|0;a=0;V=j;T=e;while(1){if((T|0)>0){e=0;do{S=f[V+(e<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[B>>2]|0;f[Q+(e<<2)>>2]=P;W=Q}else{Q=f[C>>2]|0;P=f[B>>2]|0;f[P+(e<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}e=e+1|0}while((e|0)<(f[g>>2]|0));Y=W}else Y=f[B>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Y+(a<<2)>>2]|0)|0;P=c+(a<<2)|0;f[P>>2]=e;if((e|0)>=(f[D>>2]|0)){if((e|0)>(f[U>>2]|0)){Z=e-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+e|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}a=a+1|0;T=f[g>>2]|0;if((a|0)>=(T|0))break;else V=Y}$q(k);$q(j);return 1}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;Ak(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){hj(g,0);ja=k}else{hj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)nq(J);return 0}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Eh(i,m-q|0,6296);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;nk(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{Eh(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)nq(e);t=vn(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)nq(g);else{A=vn(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;uj(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);br(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);br(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);br(ca)}h=1;u=c;return h|0}function sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Oa,S=Oa,T=Oa,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;qm(i|0,C|0,3)|0;C=kg(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=vn(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|$(T*S)>>0<3|(F+-1&F|0)!=0)&1;H=~~$(W($(R/T)))>>>0;ai(g,J>>>0>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=En(F|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=z+1|0;_=F}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=z;_=F}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=Z}if((Z|0)==(aa|0))ba=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);ca=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0>>0?(w=y+(aa<<2)|0,(w|0)!=(h|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{Eh(z,aa-x|0,1284);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ca=x}}f[l>>2]=Z;ba=ca}if(!ba)ea=Z;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);br(ba);ea=Z}}else ea=0;Z=f[g+8>>2]|0;if(Z|0){ba=Z;do{Z=ba;ba=f[ba>>2]|0;br(Z)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}br(ba);u=e;return ea|0}function tc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;Ak(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];cc(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){hj(g,0);ja=k}else{hj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)nq(J);return 0}function uc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+z|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));qm(i|0,C|0,12)|0;B=tg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=vn(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=y;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;K=~~$(W($(S/U)))>>>0;Zh(g,N>>>0>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,y|0,0)|0;kh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(z<<2)>>2]=y;_=y+1|0;aa=G}else{G=f[j>>2]|0;f[G+(z<<2)>>2]=f[B+20>>2];_=y;aa=G}z=z+1|0;ba=f[l>>2]|0;if(z>>>0>=ba>>>0)break;else y=_}if((_|0)==(ba|0))ca=aa;else{y=a+84|0;if(!(b[y>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((z|0)==(h|0))da=aa;else{w=z-h>>2;h=0;do{z=x+(h<<2)|0;f[z>>2]=f[aa+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);da=aa}}else{b[y>>0]=0;y=a+68|0;aa=a+72|0;w=f[aa>>2]|0;h=f[y>>2]|0;x=w-h>>2;z=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0>>0?(w=z+(ba<<2)|0,(w|0)!=(h|0)):0){f[aa>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{Eh(y,ba-x|0,1284);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=x}}f[l>>2]=_;ca=da}if(!ca)fa=_;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);br(ca);fa=_}}else fa=0;_=f[g+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;br(_)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}br(ca);u=e;return fa|0} -function ci(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Qd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Qd(a,e);return}function di(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;k=di(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Je(e,a+40|0,f[a+8>>2]|0,b,c);ij(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(b)}br(a);u=d;return 1}function fi(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Cd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Cd(a,e);return}function gi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Rn(g);if((lm(c,0)|0)!=-1?Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Va[f[(f[c>>2]|0)+20>>2]&127](c);qg(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)br(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;ug(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)br(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;br(c)}i=j;u=e;return i|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Fe(e,a+40|0,f[a+8>>2]|0,b,c);ij(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(b)}br(a);u=d;return 1}function ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;br(d)}br(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);br(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;br(i)}br(j)}br(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}br(e);return}function ji(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Ie(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=0;p=a;do{a=f[p+(o<<2)>>2]|0;q=Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[h>>0]=q;q=l;a=f[q+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}o=o+1|0;p=f[j>>2]|0}while(o>>>0<(f[k>>2]|0)-p>>2>>>0);i=1;u=d;return i|0}function ki(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;yp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;yp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=vn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14864;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;_j(e,d,1);if((b[d+11>>0]|0)<0)br(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=vn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14885;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;_j(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}br(f[d>>2]|0);u=c;return}function li(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;br(d)}br(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);br(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;br(h)}br(i)}br(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;br(b);return}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function ni(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=vn(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14710;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Ok(a,d,-1)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);j=vn(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14725;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Ok(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}br(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function pi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=vn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Gi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function qi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;ld(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(ld(d,b),(f[e>>2]|0)>1):0){d=1;do{ld((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=0;g=a;while(1){a=g;di((f[a+(c*12|0)+4>>2]|0)-(f[a+(c*12|0)>>2]|0)>>2,b)|0;a=f[e>>2]|0;h=f[a+(c*12|0)>>2]|0;i=(f[a+(c*12|0)+4>>2]|0)-h>>2;if(!i)j=a;else{Mc(h,i,1,0,b)|0;j=f[e>>2]|0}c=c+1|0;if(c>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else g=j}return}function ri(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Cl(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Sa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Sa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);kh(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function si(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;si(c+8|0);br(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)br(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;br(h)}if((b[g+11>>0]|0)<0)br(f[g>>2]|0);br(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)br(e);br(d)}if((b[a+11>>0]|0)>=0)return;br(f[a>>2]|0);return}function ti(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)Kn(h,14779)|0;pl(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;nj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)br(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}im(Bi(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}br(f[h>>2]|0);u=g;return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=lm(k,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ti(j,d);else{f[k>>2]=l;f[h>>2]=k+4}nl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0}function vi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1356;ii(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Va[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}br(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);br(g);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)nq(d);k=((b+-1|0)>>>5)+1|0;b=vn(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Dg(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)br(g);u=c;return}function xi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+136|0;c=f[b>>2]|0;if(c|0){d=a+140|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);br(g)}g=f[a+92>>2]|0;if(!g){xj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);br(g);xj(a);return}function yi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3808;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=-1;f[a+320>>2]=-1;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)nq(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;ap(k,16422);f[k>>2]=7412;va(k|0,1160,122)}else{m=vn(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)kh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;br(d);return}function Ai(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=ho(c|0,d|0,7,0)|0;d=Pk(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=ho(k|0,0,8,0)|0;m=e?l:k;l=ho(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(k>>>0>=l>>>0)if(k>>>0>l>>>0?(g=h+l|0,(g|0)!=(i|0)):0){f[c>>2]=g;n=h}else n=h;else{Gi(a,l-k|0);n=f[a>>2]|0}k=vn(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}br(a);j=1;return j|0}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Cg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=vn(40)|0;rj(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Oe(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Ci(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)nq(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=vn(p)|0;if(g|0)Ro(o,m,g)|0;if(i|0)Ro(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Ro(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)br(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Jp(o+p|0,l);u=k;return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){uj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)nq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{d=vn(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;uj(d|0,0,b<<2|0)|0;if((i|0)>0)kh(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;br(h);return}function Ei(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=vn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;rj(g+8|0,e);h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Gi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function Fi(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=+d;l=j;j=i;while(1){if(j<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Ln(m,l+1|0,18949,g)|0;if((n|0)>-1)if(n>>>0>l>>>0)o=n;else break;else o=l<<1|1;Kj(c,o,0);l=o;j=b[h>>0]|0}Kj(c,n,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Gi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)nq(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=vn(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)kh(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;br(e);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/136|0;h=d;if(g>>>0>>0){Ge(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);br(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);br(h)}Oi(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Ii(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Sd(a,e);return}function Ji(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Ki(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Ln(l,k+1|0,18946,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Kj(c,n,0);k=n;j=b[h>>0]|0}Kj(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Li(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Di(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)nq(b);else if((m|0)==12)return d|0;return 0}function Mi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=30;h=g;i=16215;j=h+30|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+30>>0]=0;g=a+4|0;_j(g,e,c);if((b[e+11>>0]|0)<0)br(f[e>>2]|0);a=vn(32)|0;f[e>>2]=a;f[e+8>>2]=-2147483616;f[e+4>>2]=29;h=a;i=15902;j=h+29|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[a+29>>0]=0;_j(g,e,c);if((b[e+11>>0]|0)>=0){u=d;return}br(f[e>>2]|0);u=d;return}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=vn(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14710;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;$j(a,g,c);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);c=vn(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14725;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;$j(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}br(f[g>>2]|0);u=e;return}function Oi(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+12>>2]|0;if(b|0)br(b);b=f[a>>2]|0;if(!b)return;br(b);return}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1416;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;br(b)}br(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);br(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;br(d)}br(e)}br(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Qi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=Cn()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=19088;Sn(19038,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Sa[f[(f[270]|0)+16>>2]&31](1080,k,g)|0){k=f[g>>2]|0;g=Qa[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=19088;f[e+4>>2]=h;f[e+8>>2]=g;Sn(18952,e)}else{f[d>>2]=19088;f[d+4>>2]=h;Sn(18997,d)}}Sn(19076,b)}function Ri(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(Yq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=ir()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=ir()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Si(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}f[a+4>>2]=3764;b=f[a+24>>2]|0;if(b|0)br(b);b=f[a+12>>2]|0;if(!b)return;br(b);return}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)nq(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;ap(k,16422);f[k>>2]=7412;va(k|0,1160,122)}else{k=vn(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)kh(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;br(d);return}function Ui(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=en(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=g-(f[a+108>>2]|0)|0;g=i;if((i-j|0)<(k|0)){l=g;m=g}else{l=j+(k+-1)|0;m=g}}else{g=f[c>>2]|0;l=g;m=g}f[a+100>>2]=l;l=a+4|0;if(!m)n=f[l>>2]|0;else{g=f[l>>2]|0;l=a+108|0;f[l>>2]=m+1-g+(f[l>>2]|0);n=g}g=n+-1|0;if((d|0)==(h[g>>0]|0|0))o=d;else{b[g>>0]=d;o=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;o=-1}return o|0}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];mk(a+32|0,c+24|0);f[a>>2]=2448;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2504;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));hn(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];mk(a+32|0,c+24|0);f[a>>2]=2028;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2084;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));hn(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Xi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2504;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0)br(b);b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0)br(b);b=f[a+60>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Yi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Gj(d+12|0,f[c+44>>2]|0,g)|0)){g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=16246;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;rj(a+4|0,e);if((b[e+11>>0]|0)<0)br(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((ni(f[c>>2]|0)|0)>9){d=0;return d|0}if((Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((ni(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=ni(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((ni(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function _i(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2084;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0)br(b);b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0)br(b);b=f[a+60>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function $i(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=6752;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=ir()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=Ch(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function aj(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3608;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+264|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;return}function bj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Jj(d)|0;if(i>>>0>4294967279)nq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=vn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;fm(c,g,e);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);h=1;u=a;return h|0}function cj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Jj(d)|0;if(i>>>0>4294967279)nq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=vn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;hm(c,g,e);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);h=1;u=a;return h|0}function dj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){dj(h);br(h)}if((b[e+11>>0]|0)<0)br(f[e>>2]|0);br(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)br(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;br(h)}if((b[e+11>>0]|0)<0)br(f[e>>2]|0);br(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;br(d);return}function ej(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=f[c+48>>2]|0;if(!h){i=vn(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=16062;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;rj(a+4|0,g);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);u=e;return}g=f[c+52>>2]|0;if(!g){Pc(a,c,h,d);u=e;return}else{Eg(a,c,g,d);u=e;return}}function fj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;Ak(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=_q(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{Gn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Ij(g)}while((g|0)!=(a|0))}$q(d)}if((f[b>>2]|0)>0)h=0;else return;do{Ak((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!b){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=vn(52)|0;Vb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){dj(j);br(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}br(h)}dj(b);br(b);d=1;return d|0}function hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=ho(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<>2]|0,f[e+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;g=e;h=f[e>>2]|0}e=h+1|0;f[g>>2]=e;if((e|0)!=32)return;e=a+24|0;h=a+16|0;d=f[h>>2]|0;if((d|0)==(f[a+20>>2]|0))Ti(a+12|0,e);else{f[d>>2]=f[e>>2];f[h>>2]=d+4}f[g>>2]=0;f[e>>2]=0;return}function ij(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;br(a)}br(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;br(c)}br(d)}br(b);return}function jj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){Aj(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;bo(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Jp(m+d|0,g)}u=e;return a|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Bh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);br(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function lj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Qo(l,c,d)|0;b[g>>0]=0;Jp(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Ci(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function mj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);br(d)}Oi(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}br(e);return}function nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Ro(m+k|0,c,d)|0;j=k+d|0;if((b[h>>0]|0)<0)f[a+4>>2]=j;else b[h>>0]=j;b[g>>0]=0;Jp(m+j|0,g)}}else Ci(a,l,d-l+k|0,k,k,0,d,c);u=e;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=4076;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Va[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}br(e);return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=lm(e,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=ml(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ra[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!(to(a,b,c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=0;i=g;while(1){g=f[(f[h>>2]|0)+(a<<2)>>2]|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,b,f[i+(a<<2)>>2]|0)|0)){d=0;j=7;break}a=a+1|0;i=f[c>>2]|0;if(a>>>0>=(f[e>>2]|0)-i>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function rj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)nq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=vn(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Ro(i,g,h)|0;b[e>>0]=0;Jp(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function sj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=0;h=e;do{zg(h+(g*24|0)|0,b)|0;g=g+1|0;h=f[c>>2]|0}while(g>>>0<(((f[d>>2]|0)-h|0)/24|0)>>>0)}h=a+48|0;d=a+52|0;a=f[h>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{i=0;j=a}do{a=f[j+(i<<2)>>2]|0;di(a<<1^a>>31,b)|0;i=i+1|0;j=f[h>>2]|0}while(i>>>0<(f[d>>2]|0)-j>>2>>>0);return 1}function uj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function vj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(sp(a,f[c+8>>2]|0,g)|0)){if(sp(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else dn(0,c,d,e);while(0);return}function wj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if(!(Qa[f[(f[a>>2]|0)+64>>2]&127](a)|0)){e=0;u=c;return e|0}g=f[a+48>>2]|0;h=vn(32)|0;f[d>>2]=h;f[d+8>>2]=-2147483616;f[d+4>>2]=29;i=h;j=15902;k=i+29|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+29>>0]=0;h=ak(g,d,0)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);if(!h){e=1;u=c;return e|0}Va[f[(f[a>>2]|0)+68>>2]&127](a);e=1;u=c;return e|0}function xj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<5)|0;do{e=e+-32|0;Ij(e)}while((e|0)!=(c|0))}$q(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);br(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)br(e);e=f[a+32>>2]|0;if(!e){Ij(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e);Ij(a);return}function yj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3156;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0)br(b);b=f[a+64>>2]|0;if(b|0)br(b);b=f[a+52>>2]|0;if(b|0)br(b);b=f[a+40>>2]|0;if(!b)return;br(b);return}function zj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){Gi(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else Ig(a,b,b+c|0);while(0);c=a+24|0;a=c;b=ho(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Aj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)nq(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=vn(m)|0;if(g|0)Ro(l,j,g)|0;k=e-h-g|0;if(k|0)Ro(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)br(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function Bj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2792;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0)br(b);b=f[a+64>>2]|0;if(b|0)br(b);b=f[a+52>>2]|0;if(b|0)br(b);b=f[a+40>>2]|0;if(!b)return;br(b);return}function Cj(a,b){a=a|0;b=b|0;if(!b)return;else{Cj(a,f[b>>2]|0);Cj(a,f[b+4>>2]|0);Hj(b+20|0,f[b+24>>2]|0);br(b);return}}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Zf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0>>0);return}function Ej(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=vn(32)|0,In(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(g)}g=bm(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=En(e|0,g|0,c|0,0)|0;if(!(zj(h,0,i,I)|0)){j=0;return j|0}Rk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(sp(a,b,0)|0))if((b|0)!=0?(g=Gh(b,1104,1088,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ya[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;di((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){di(f[h+40>>2]|0,b)|0;mg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}mg(a,b,c)|0;d=1;return d|0}function Hj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Hj(a,f[c>>2]|0);Hj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);if((b[a+11>>0]|0)<0)br(f[a>>2]|0);br(c);return}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;sf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);br(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);br(c);u=b;return}function Jj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Jp(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Jp(a+c|0,g);b[h>>0]=c;break}else jj(a,c-k|0,d)|0;while(0);u=e;return}function Lj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}br(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;br(c)}br(d)}br(a);return}function Mj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=e+4|0;f[g>>2]=c;c=a+4|0;a=vn(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=a;j=14821;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+17>>0]=0;$j(Id(c,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}br(f[h>>2]|0);u=e;return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=vn(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=dg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ji(a);br(a);return}function Pj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(gr(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Rj(c,a)|0;fr(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=Rj(c,a)|0}while(0);return j|0}function Qj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Rj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Cl(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Sa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Sj(a,b){a=a|0;b=b|0;if(!b)return;else{Sj(a,f[b>>2]|0);Sj(a,f[b+4>>2]|0);Hj(b+20|0,f[b+24>>2]|0);br(b);return}}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)Ce(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}Qp(f[c+(e<<2)>>2]|0);d=1;return d|0}function Uj(a){a=a|0;if(!a)return;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function Vj(a){a=a|0;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);return}function Wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=sn(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=wp(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function Xj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(tq(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Pq(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Pq(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function Yj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;pl(g,d);h=Bi(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}gh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Zj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Me(g,c,e,e+4|0)|0;u=b;return 1}function _j(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;sl(g,d&1);d=Bi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}gh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function $j(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;sl(g,d);d=Bi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}gh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function ak(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Xj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function bk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(c>>>0>10){g=0;u=d;return g|0}h=vn(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=16374;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;$j(a,e,c);if((b[e+11>>0]|0)<0)br(f[e>>2]|0);g=1;u=d;return g|0}function ck(a){a=a|0;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function ek(a){a=a|0;f[a>>2]=3496;Hj(a+28|0,f[a+32>>2]|0);Sj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);return}function fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[17041+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=17129;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=17129;else{i=17129;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return yq(k,f[c+20>>2]|0)|0}function gk(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=ko(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+gk(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function hk(a){a=a|0;f[a>>2]=3496;Hj(a+28|0,f[a+32>>2]|0);Sj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function ik(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0.0,h=0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=(b|0)<-2044;e=b+2044|0;g=d?c*2.2250738585072014e-308:c;h=d?((e|0)>-1022?e:-1022):b+1022|0}else{g=a;h=b}else{c=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;g=e?c*8988465674311579538646525.0e283:c;h=e?((d|0)<1023?d:1023):b+-1023|0}b=fo(h+1023|0,0,52)|0;h=I;f[s>>2]=b;f[s+4>>2]=h;return +(g*+p[s>>3])}function jk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=0;g=a}else{b=1;return b|0}while(1){a=f[g+(e<<2)>>2]|0;e=e+1|0;if(!(Nl(a,a)|0)){b=0;h=5;break}g=f[c>>2]|0;if((e|0)>=((f[d>>2]|0)-g>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=0;i=e;while(1){e=f[i+(a<<2)>>2]|0;a=a+1|0;if(!(Sa[f[(f[e>>2]|0)+20>>2]&31](e,h,b)|0)){g=0;j=5;break}i=f[c>>2]|0;if(a>>>0>=(f[d>>2]|0)-i>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=0;h=a}while(1){a=f[h+(g<<2)>>2]|0;g=g+1|0;if(!(Ra[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}h=f[c>>2]|0;if(g>>>0>=(f[d>>2]|0)-h>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)nq(a);h=vn(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;kh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}g=(f[e>>2]|0)-d|0;h=vn(b<<2)|0;if((g|0)>0)kh(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;br(d);return}function ok(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=0;h=d;while(1){d=f[h+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[d>>2]|0)+16>>2]&127](d,g)|0)){e=0;i=5;break}h=f[b>>2]|0;if(a>>>0>=(f[c>>2]|0)-h>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function pk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=vn(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14805;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;$j(a+4|0,e,c);if((b[e+11>>0]|0)>=0){u=d;return}br(f[e>>2]|0);u=d;return}function qk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function rk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)nq(a);e=vn(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=b;b=e;do{mk(b,c);b=(f[d>>2]|0)+12|0;f[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Wg(a+40|0,b);d=1;return d|0}return 0}function uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b){br(a);return}br(b);br(a);return}function vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Pi(a);br(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Pi(a);br(a);return}function wk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Sk(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b){br(a);return}br(b);br(a);return}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){br(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c);br(a);return}function zk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Oa,h=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+Xq(h));return $(g)}function Ak(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;sf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0)){g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}function Bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b)return;br(b);return}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){br(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c);br(a);return}function Ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Pi(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Pi(a);return}function Fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Nc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{qm(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Gk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ra[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b)return;br(b);return}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;gn(e,0);i=+Sc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Jk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Kk(a){a=a|0;var b=0,c=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Lk(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Sa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Tg(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Xj(g)|0)+1|0)>>>0>1;return e|0}function Nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+84>>2]|0;if(!b){Qg(a);br(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b);Qg(a);br(a);return}function Ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Xj(h)|0;return g|0}function Pk(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=jo(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return jo((Md(i,b,jo(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Qk(a){a=a|0;var b=0,c=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Rk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else Gi(a,b-g|0);g=a+24|0;a=g;b=ho(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Tk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Tg(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Xj(g)|0;return e|0}function Uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+84>>2]|0;if(!b){Qg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b);Qg(a);return}function Vk(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Xk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;uj(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ip(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ip(a,g,h)}u=f;return}function Yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Zk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(sp(a,f[b+8>>2]|0,g)|0)sj(0,b,c,d,e);else{h=f[a+8>>2]|0;_a[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function _k(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2364;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function $k(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1944;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function al(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function bl(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function cl(a){a=a|0;var b=0,c=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function dl(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Kj(a,d,0);return}function el(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=+_g(e)*e;e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function fl(a){a=a|0;var b=0,c=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function hl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function il(a){a=a|0;var b=0,c=0;f[a>>2]=2364;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function jl(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(sp(a,f[b+8>>2]|0,0)|0)Jk(0,b,c,d);else{e=f[a+8>>2]|0;Ya[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function ll(a){a=a|0;var b=0,c=0;f[a>>2]=1944;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function ml(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ra[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function nl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ra[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function ol(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function pl(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;dl(d);Fi(a,d,b);No(d);u=c;return}function ql(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);br(b);return}function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;dl(d);Ki(a,d,b);No(d);u=c;return}function tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Fo(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function wl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function xl(a){a=a|0;var b=0;if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}b=(f[a+36>>2]|0)!=0;return b|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;lh(a,c);f[a>>2]=1472;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function zl(a){a=a|0;var b=0,c=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){br(a);return}$q(c);br(a);return}function Al(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Bl(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[17023+(c&15)>>0]|0|e;c=ko(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Cl(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Dl(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function El(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Fl(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Gl(a){a=a|0;yj(a);br(a);return}function Hl(a){a=a|0;var b=0,c=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){br(a);return}$q(c);br(a);return}function Il(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(g>>>0>>0){Gi(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+b|0;if((g|0)==(d|0))return;f[c>>2]=g;return}function Kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;_f(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Ll(a,b){a=a|0;b=b|0;var c=0;if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Ml(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+40>>2]=c;d=1;return d|0}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];e=vc(a,b,d)|0;u=c;return e|0}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Pl(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Ql(a){a=a|0;Bj(a);br(a);return}function Rl(a){a=a|0;var b=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;$q(a);return}function Sl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Pq(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Pq(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Tl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Ul(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Vl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=ko(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Wl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+60>>2]=c;d=1;return d|0}function Xl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Yl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(sp(a,f[b+8>>2]|0,g)|0)sj(0,b,c,d,e);return}function Zl(a){a=a|0;var b=0,c=0;b=f[a+64>>2]|0;if(!b)return;c=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;f[a+60>>2]=(((f[c+4>>2]|0)-(f[c>>2]|0)>>2>>>0)/3|0)-(f[c+40>>2]|0);return}function _l(a){a=a|0;var b=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;$q(a);return}function $l(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;qh(a+20|0,g,d);u=c;return}function am(a){a=a|0;Xi(a);br(a);return}function bm(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function cm(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;qh(a+20|0,g,d);u=c;return}function dm(){var a=0,b=0;a=vn(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function em(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function fm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;bc(a,b,e);u=d;return}function gm(a){a=a|0;f[a>>2]=3784;Si(a+8|0);br(a);return}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;fc(a,b,e);u=d;return}function im(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;lj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Jj(b)|0;d=vn(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=Tp(d)|0;kh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function lm(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function mm(a){a=a|0;_i(a);br(a);return}function nm(a){a=a|0;f[a>>2]=3784;Si(a+8|0);return}function om(a){a=a|0;var b=0,c=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(sp(a,f[b+8>>2]|0,0)|0)Jk(0,b,c,d);return}function qm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else kh(a,c,d)|0;return a|0}function rm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b){br(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function sm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b){br(a);return}br(b);br(a);return}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Sa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function um(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function vm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){oj(a);return}Va[f[(f[c>>2]|0)+4>>2]&127](c);oj(a);return}function wm(){var a=0,b=0;a=Cn()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Vo(f[b+12>>2]|0);Vo(cq()|0)}function xm(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 Rf(a,b,c,d,e,f,6)|0}function ym(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 Qf(a,b,c,d,e,f,4)|0}function zm(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 Xf(a,b,c,d,e,f,2)|0}function Am(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 Qf(a,b,c,d,e,f,3)|0}function Bm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b){br(a);return}br(b);br(a);return}function Cm(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 Xf(a,b,c,d,e,f,1)|0}function Dm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function Em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+_g(d);c=-(f+e*+_g(e));return +c}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function Gm(a){a=a|0;var b=0;Ko(a);f[a>>2]=3408;f[a+40>>2]=1260;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Hm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Im(a){a=a|0;var b=0,c=0;if(Eq(a)|0?(b=_p(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)br(b);return}function Jm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=ho(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Km(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 Rf(a,b,c,d,e,f,5)|0}function Lm(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 Rf(a,b,c,d,e,f,9)|0}function Mm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b)return;br(b);return}function Nm(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Pi(a);br(a);return}function Om(a){a=a|0;var b=0,c=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Pm(a){a=a|0;var c=0;f[a>>2]=1416;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function Qm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b)return;br(b);return}function Rm(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Pi(a);return}function Sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Hg(a,b,c,d,e,f);return}function Tm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);oj(a);br(a);return}function Um(a,b){a=a|0;b=b|0;f[a>>2]=3496;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=0;return}function Vm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;kh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Xm(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b){br(a);return}br(b);br(a);return}function Ym(a,b){a=a|0;b=b|0;f[a>>2]=3496;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=b;return}function Zm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);br(b);return}function _m(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function $m(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function an(a,b,c){a=a|0;b=b|0;c=c|0;return Sa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function bn(a){a=a|0;var c=0;Pl(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function cn(a){a=a|0;f[a>>2]=3324;Ij(a+88|0);br(a);return}function dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function en(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Lk(a)|0)==0?(Sa[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function fn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b){br(a);return}br(b);br(a);return}function gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function hn(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;return}function jn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Sm(a,b,c,d,e,f);return}function kn(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 xm(a,b,c,d,e,f)|0}function ln(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 ym(a,b,c,d,e,f)|0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function nn(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;br(b)}br(a);return}function on(a){a=a|0;f[a>>2]=2960;Ij(a+88|0);br(a);return}function pn(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 zm(a,b,c,d,e,f)|0}function qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Am(a,b,c,d,e,f)|0}function rn(a){a=a|0;f[a>>2]=3324;Ij(a+88|0);return}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Md(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function tn(a){a=a|0;var b=0;po(a);f[a>>2]=6308;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function un(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 Cm(a,b,c,d,e,f)|0}function vn(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0){c=a;break}a=aq()|0;if(!a){c=0;break}Ua[a&3]()}return c|0}function wn(a,b,c){a=a|0;b=b|0;c=c|0;dc(a,b,c);return}function xn(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b)return;br(b);return}function yn(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 Km(a,b,c,d,e,f)|0}function zn(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 Lm(a,b,c,d,e,f)|0}function An(a){a=a|0;f[a>>2]=2960;Ij(a+88|0);return}function Bn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=dr(f[a+60>>2]|0)|0;f[c>>2]=d;d=Fo(Ba(6,c|0)|0)|0;u=b;return d|0}function Cn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ka(20092,3)|0)){b=Ia(f[5024]|0)|0;u=a;return b|0}else Sn(19227,a);return 0}function Dn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b)return;br(b);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=jm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function Fn(a,b){a=a|0;b=b|0;lh(a,b);f[a>>2]=1356;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Gn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Hn(a){a=a|0;var b=0;b=u;u=u+16|0;yc(a);if(!(La(f[5024]|0,0)|0)){u=b;return}else Sn(19326,b)}function In(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Jn(a,b){a=a|0;b=b|0;return zg(a+40|0,b)|0}function Kn(a,b){a=a|0;b=b|0;return nj(a,b,Aq(b)|0)|0}function Ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=$i(a,b,c,g)|0;u=e;return d|0}function Mn(a,b){a=a|0;b=b|0;return Qj(a+40|0,b)|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sh(a,b,c,d)|0}function On(a){a=a|0;var b=0;f[a>>2]=4076;f[a+52>>2]=0;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uh(a,b,c,d)|0}function Qn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Rn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[1595]|0;Ch(b,a,d)|0;Pj(10,b)|0;Ca()}function Tn(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 Ta[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Un(a){a=a|0;var b=0;b=f[a+56>>2]|0;f[a+60>>2]=((f[b+100>>2]|0)-(f[b+96>>2]|0)|0)/12|0;return}function Vn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Xn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Yn(){var a=0;a=u;u=u+16|0;if(!(Ja(20096,125)|0)){u=a;return}else Sn(19276,a)}function Zn(a){a=a|0;f[a>>2]=1216;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3472;return}function _n(a,b,c){a=a|0;b=b|0;c=c|0;Nj(a,b,c);return}function $n(a){a=a|0;df(a);br(a);return}function ao(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;_a[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function bo(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)uj(a|0,(zq(c)|0)&255|0,b|0)|0;return a|0}function co(a){a=a|0;return 4}function eo(a,b,c){a=a|0;b=b|0;c=c|0;return gj(0,b,c)|0}function fo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function io(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Fh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return De(a,b,c,d)|0}function mo(a){a=a|0;hf(a);br(a);return}function no(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return bj(a,b,c,d)|0}function oo(a){a=a|0;return 5}function po(a){a=a|0;var b=0;f[a>>2]=6348;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function qo(a){a=a|0;return 6}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cj(a,b,c,d)|0}function so(a,b){a=a|0;b=b|0;Mi(a,b);return}function to(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function uo(a,b,c){a=a|0;b=b|0;c=c|0;_n(a,b,c);return}function vo(a){a=a|0;var b=0;b=f[a+64>>2]|0;return Qa[f[(f[b>>2]|0)+28>>2]&127](b)|0}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,1);return}function xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,0);return}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zg(a,b,c,d)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;return gi(a,b,c)|0}function Ao(a){a=a|0;var b=0;b=f[a+64>>2]|0;return Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;return gj(a,b,c)|0}function Co(a,b,c){a=a|0;b=b|0;c=c|0;Ni(a+4|0,b,c);return}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return eo(a,b,c)|0}function Eo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Za[a&3](b|0,c|0,d|0,e|0,f|0)}function Fo(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=ir()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Go(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Ho(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Io(a,b){a=a|0;b=b|0;f[a+56>>2]=b;vp(a,b);return}function Jo(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Ko(a){a=a|0;Pm(a);f[a>>2]=1540;f[a+36>>2]=0;return}function Lo(a){a=a|0;On(a);f[a>>2]=3892;f[a+56>>2]=0;f[a+60>>2]=0;return}function Mo(a){a=a|0;var b=0;if(!a)b=0;else b=(Gh(a,1104,1192,0)|0)!=0&1;return b|0}function No(a){a=a|0;if((b[a+11>>0]|0)<0)br(f[a>>2]|0);return}function Oo(a){a=a|0;if(!a)return;Va[f[(f[a>>2]|0)+4>>2]&127](a);return}function Po(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ya[a&7](b|0,c|0,d|0,e|0)}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qm(a|0,b|0,c|0)|0;return a|0}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)kh(a|0,b|0,c|0)|0;return a|0}function So(a){a=a|0;f[a+52>>2]=f[(f[a+4>>2]|0)+80>>2];return}function To(a){a=a|0;f[a+52>>2]=f[(f[a+56>>2]|0)+80>>2];return}function Uo(a,b){a=a|0;b=b|0;return -1}function Vo(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();Sn(19379,b)}function Wo(a){a=a|0;Oh(a);br(a);return}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;ep(a,b,c);return}function Yo(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function Zo(a){a=a|0;Lo(a);f[a>>2]=3528;f[a+64>>2]=0;return}function _o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sa[a&31](b|0,c|0,d|0)|0}function $o(a,b){a=a|0;b=b|0;return (Lp(a,b)|0)<<24>>24|0}function ap(a,b){a=a|0;b=b|0;f[a>>2]=7392;km(a+4|0,b);return}function bp(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Ri(a,b,0)|0;return c|0}function cp(a,b){a=a|0;b=b|0;so(a,b);return}function dp(a){a=a|0;return f[a+12>>2]|0}function ep(a,b,c){a=a|0;b=b|0;c=c|0;Co(a,b,c);return}function fp(){var a=0;a=vn(64)|0;Pl(a);return a|0}function gp(a){a=a|0;if(!a)return;dj(a);br(a);return}function hp(a){a=a|0;return f[a+4>>2]|0}function ip(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))ri(b,c,a)|0;return}function jp(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 kp(){var a=0;a=vn(96)|0;bn(a);return a|0}function lp(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function mp(a){a=a|0;var b=0;b=(Yq()|0)+188|0;return fk(a,f[b>>2]|0)|0}function np(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function op(a,b){a=a|0;b=b|0;xp(a,b);return}function pp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function qp(){var a=0;a=vn(12)|0;Dp(a);return a|0}function rp(a){a=a|0;Pi(a);br(a);return}function sp(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function tp(a,b){a=a|0;b=b|0;var c=0;c=Hp(a|0)|0;return ((b|0)==0?a:c)|0}function up(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function vp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Md(a,b,c,d,0)|0}function xp(a,b){a=a|0;b=b|0;pk(a,b);return}function yp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function zp(a){a=a|0;return oq(a)|0}function Ap(){var a=0;a=vn(84)|0;po(a);return a|0}function Bp(a){a=a|0;vi(a);br(a);return}function Cp(a){a=a|0;return pq(a)|0}function Dp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Ep(a){a=a|0;f[a>>2]=7392;Im(a+4|0);return}function Fp(a,b,c){a=a|0;b=b|0;c=c|0;return Ra[a&127](b|0,c|0)|0}function Gp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Hp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ip(a){a=a|0;Lo(a);f[a>>2]=3972;return}function Jp(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Kp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Lp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Mp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Np(a){a=a|0;oj(a);br(a);return}function Op(a){a=a|0;if(!a)return;br(a);return}function Pp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function Qp(a){a=a|0;b[a+28>>0]=1;return}function Rp(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Sp(a,b){a=a|0;b=b|0;return 1}function Tp(a){a=a|0;return a+12|0}function Up(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;Wa[a&7](b|0,c|0)}function Wp(){var a=0;a=vn(48)|0;Fq(a);return a|0}function Xp(a){a=a|0;return vq(a+4|0)|0}function Yp(){var a=0;a=vn(108)|0;tn(a);return a|0}function Zp(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function _p(a){a=a|0;return a+-12|0}function $p(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function aq(){var a=0;a=f[5025]|0;f[5025]=a+0;return a|0}function bq(a){a=a|0;return f[a+56>>2]|0}function cq(){var a=0;a=f[1825]|0;f[1825]=a+0;return a|0}function dq(a){a=a|0;Qg(a);br(a);return}function eq(a){a=a|0;fr(a);br(a);return}function fq(a){a=a|0;return b[a+24>>0]|0}function gq(a,b){a=a|0;b=b|0;return 0}function hq(a){a=a|0;return f[a+48>>2]|0}function iq(a,b){a=a|0;b=b|0;return Qa[a&127](b|0)|0}function jq(a){a=a|0;return f[a+60>>2]|0}function kq(a){a=a|0;return f[a+28>>2]|0}function lq(a){a=a|0;sa(a|0)|0;wm()}function mq(a){a=a|0;Ep(a);br(a);return}function nq(a){a=a|0;Ca()}function oq(a){a=a|0;return f[a+40>>2]|0}function pq(a){a=a|0;return f[a+44>>2]|0}function qq(a,b){a=a|0;b=b|0;return $(+Ik(a,b,0))}function rq(a){a=a|0;return 3}function sq(a,b){a=a|0;b=b|0;u=a;v=b}function tq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function uq(a){a=a|0;return f[a+80>>2]|0}function vq(a){a=a|0;return f[a>>2]|0}function wq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function xq(a,b){a=a|0;b=b|0;Va[a&127](b|0)}function yq(a,b){a=a|0;b=b|0;return io(a,b)|0}function zq(a){a=a|0;return a&255|0}function Aq(a){a=a|0;return Jj(a)|0}function Bq(a,b){a=a|0;b=b|0;return +(+Ik(a,b,1))}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Dq(a){a=a|0;return 2}function Eq(a){a=a|0;return 1}function Fq(a){a=a|0;Zn(a);return}function Gq(a,b){a=+a;b=+b;return +(+em(a,b))}function Hq(a,b){a=+a;b=b|0;return +(+ik(a,b))}function Iq(a,b){a=+a;b=b|0;return +(+gk(a,b))}function Jq(){return 3}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Lq(){return 0}function Mq(){return -1}function Nq(){return vn(1)|0}function Oq(){return 4}function Pq(a){a=a|0;return (a+-48|0)>>>0<10|0}function Qq(){return 1}function Rq(){return 2}function Sq(a,b){a=+a;b=+b;return +(+xd(a,b))}function Tq(a,b){a=a|0;b=b|0;aa(1);return 0}function Uq(a){a=a|0;Ha()}function Vq(a){a=a|0;Ua[a&3]()}function Wq(){ua()}function Xq(a){a=a|0;return +(+Bq(a,0))}function Yq(){return lr()|0}function Zq(a,b){a=a|0;b=b|0;aa(6)}function _q(a){a=a|0;return vn(a)|0}function $q(a){a=a|0;br(a);return}function ar(a){a=a|0;u=a}function br(a){a=a|0;yc(a);return}function cr(a){a=a|0;I=a}function dr(a){a=a|0;return a|0}function er(a){a=a|0;aa(0);return 0}function fr(a){a=a|0;return}function gr(a){a=a|0;return 0}function hr(){return I|0}function ir(){return 20024}function jr(){return u|0}function kr(a){a=a|0;aa(5)}function lr(){return 6508}function mr(){aa(4)} +function tc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4886]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((h|0)==(f[4887]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}f[4884]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4882]=f[4882]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=h;n=i;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=19832+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[4883]=f[4883]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=h;n=i;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=e>>>0)return;a=e+4|0;b=f[a>>2]|0;if(!(b&1))return;if(!(b&2)){r=f[4887]|0;if((e|0)==(f[4888]|0)){s=(f[4885]|0)+n|0;f[4885]=s;f[4888]=m;f[m+4>>2]=s|1;if((m|0)!=(r|0))return;f[4887]=0;f[4884]=0;return}if((e|0)==(r|0)){r=(f[4884]|0)+n|0;f[4884]=r;f[4887]=l;f[m+4>>2]=r|1;f[l+r>>2]=r;return}r=(b&-8)+n|0;s=b>>>3;do if(b>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4882]=f[4882]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;i=19832+(c<<2)|0;if((e|0)==(f[i>>2]|0)){f[i>>2]=u;if(!u){f[4883]=f[4883]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;i=f[c>>2]|0;if(i|0){f[u+16>>2]=i;f[i+24>>2]=u}i=f[c+4>>2]|0;if(i|0){f[u+20>>2]=i;f[i+24>>2]=u}}}while(0);f[m+4>>2]=r|1;f[l+r>>2]=r;if((m|0)==(f[4887]|0)){f[4884]=r;return}else x=r}else{f[a>>2]=b&-2;f[m+4>>2]=n|1;f[l+n>>2]=n;x=n}n=x>>>3;if(x>>>0<256){l=19568+(n<<1<<2)|0;b=f[4882]|0;a=1<>2]|0}f[y>>2]=m;f[z+12>>2]=m;f[m+8>>2]=z;f[m+12>>2]=l;return}l=x>>>8;if(l)if(x>>>0>16777215)A=31;else{z=(l+1048320|0)>>>16&8;y=l<>>16&4;a=y<>>16&2;b=14-(l|z|y)+(a<>>15)|0;A=x>>>(b+7|0)&1|b<<1}else A=0;b=19832+(A<<2)|0;f[m+28>>2]=A;f[m+20>>2]=0;f[m+16>>2]=0;y=f[4883]|0;a=1<>>1)|0);l=f[b>>2]|0;while(1){if((f[l+4>>2]&-8|0)==(x|0)){B=73;break}C=l+16+(z>>>31<<2)|0;n=f[C>>2]|0;if(!n){B=72;break}else{z=z<<1;l=n}}if((B|0)==72){f[C>>2]=m;f[m+24>>2]=l;f[m+12>>2]=m;f[m+8>>2]=m;break}else if((B|0)==73){z=l+8|0;t=f[z>>2]|0;f[t+12>>2]=m;f[z>>2]=m;f[m+8>>2]=t;f[m+12>>2]=l;f[m+24>>2]=0;break}}else{f[4883]=y|a;f[b>>2]=m;f[m+24>>2]=b;f[m+12>>2]=m;f[m+8>>2]=m}while(0);m=(f[4890]|0)+-1|0;f[4890]=m;if(!m)D=19984;else return;while(1){m=f[D>>2]|0;if(!m)break;else D=m+8|0}f[4890]=-1;return}function uc(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+56|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;ai(j,f[l>>2]|0)|0;ai(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=tn(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15958;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=Yj(m,e,0)|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,h,h+1|0)|0}jf(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=m;r=0;while(1){s=f[q+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(r*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=x;z=w;A=t}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Fe(t,e,h,o)|0;t=f[l>>2]|0;w=t+16|0;y=f[w+4>>2]|0;z=f[w>>2]|0;A=t}b[h>>0]=f[s+(r*12|0)+4>>2];if((y|0)>0|(y|0)==0&z>>>0>0){B=y;C=z;D=A}else{f[g>>2]=f[A+4>>2];f[e>>2]=f[g>>2];Fe(A,e,h,p)|0;t=f[l>>2]|0;w=t+16|0;B=f[w+4>>2]|0;C=f[w>>2]|0;D=t}b[h>>0]=f[s+(r*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Fe(D,e,h,n)|0}s=r+1|0;if(s>>>0>=j>>>0)break;q=f[i>>2]|0;r=s}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=m;C=0;while(1){B=f[D+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(C*12|0)>>2];A=p+16|0;z=f[A>>2]|0;y=f[A+4>>2]|0;if((y|0)>0|(y|0)==0&z>>>0>0){E=y;F=z;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Fe(p,e,h,n)|0;p=f[l>>2]|0;z=p+16|0;E=f[z+4>>2]|0;F=f[z>>2]|0;G=p}d[h>>1]=f[B+(C*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Fe(G,e,h,q)|0;p=f[l>>2]|0;z=p+16|0;H=f[z+4>>2]|0;I=f[z>>2]|0;J=p}d[h>>1]=f[B+(C*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Fe(J,e,h,r)|0}B=C+1|0;if(B>>>0>=j>>>0)break;D=f[i>>2]|0;C=B}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=m;L=0}else{u=c;return 1}while(1){a=f[K+96>>2]|0;ai(f[a+(L*12|0)>>2]|0,f[l>>2]|0)|0;ai(f[a+(L*12|0)+4>>2]|0,f[l>>2]|0)|0;ai(f[a+(L*12|0)+8>>2]|0,f[l>>2]|0)|0;a=L+1|0;if(a>>>0>=j>>>0)break;K=f[i>>2]|0;L=a}u=c;return 1}if(!C){u=c;return 1}C=m;m=0;while(1){L=(f[C+96>>2]|0)+(m*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Fe(K,e,L,L+12|0)|0}L=m+1|0;if(L>>>0>=j>>>0)break;C=f[i>>2]|0;m=L}u=c;return 1}function vc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Ja,w=Ja,x=Ja,y=Ja,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=Ja,P=0,Q=Ja,R=Ja,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;s=-1}else{r=q;s=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;s=-1}c=f[a+32>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Cq(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=s>>>0)Cq(c);c=f[p+(s<<2)>>2]|0;s=(m|0)<(e|0);if(!(s&(c|0)<(e|0))){do if(s)t=m;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}q=f[a+48>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return}while(0);s=a+52|0;p=f[s>>2]|0;r=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+r<<2)>>2];t=t+1|0}while((t|0)<(f[s>>2]|0));u=g;return}s=a+52|0;t=f[s>>2]|0;r=X(t,m)|0;v=$(f[d+(r<<2)>>2]|0);w=$(f[d+(r+1<<2)>>2]|0);r=X(t,c)|0;x=$(f[d+(r<<2)>>2]|0);y=$(f[d+(r+1<<2)>>2]|0);if(!(x!=v|y!=w)){r=f[a+48>>2]|0;f[r>>2]=~~x;f[r+4>>2]=~~y;u=g;return}r=a+44|0;t=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];gb(q,h,z,j)|0;z=f[(f[r>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))A=f[(f[m+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[m+24>>0]|0;f[h>>2]=f[i>>2];gb(m,h,A,k)|0;A=f[(f[r>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);O=$(y-N);x=$(H+v);w=$(y+N);N=$(H-v);j=X(f[s>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-w);v=$(H-N);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;s=f[e>>2]|0;k=f[a+64>>2]|0;l=(s|0)==(k<<5|0);if(j){do if(l)if((s+1|0)<0)Cq(d);else{j=k<<6;B=s+32&-32;si(d,s>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=s;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((s+1|0)<0)Cq(d);else{P=k<<6;j=s+32&-32;si(d,s>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=s;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=w;R=N}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function wc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=Ja,x=Ja,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=0,P=Ja,Q=Ja,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+32>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Cq(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Cq(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+52|0;p=f[q>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[q>>2]|0));u=g;return}q=a+52|0;s=f[q>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,r)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];gb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];gb(r,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$(t+$(G*M));t=$(G*N);G=$(v+$(w*M));M=$(w*N);N=$(x-M);w=$(G+t);v=$(x+M);M=$(G-t);j=X(f[q>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-v);t=$(G-M);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;q=f[e>>2]|0;k=f[a+64>>2]|0;l=(q|0)==(k<<5|0);if(j){do if(l)if((q+1|0)<0)Cq(d);else{j=k<<6;A=q+32&-32;si(d,q>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=q;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((q+1|0)<0)Cq(d);else{O=k<<6;j=q+32&-32;si(d,q>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=q;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=v;Q=M}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function xc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Ja,w=Ja,x=Ja,y=Ja,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=Ja,P=0,Q=Ja,R=Ja,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;s=-1}else{r=q;s=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;s=-1}c=f[a+52>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Cq(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=s>>>0)Cq(c);c=f[p+(s<<2)>>2]|0;s=(m|0)<(e|0);if(!(s&(c|0)<(e|0))){do if(s)t=m;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}q=f[a+68>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return}while(0);s=a+72|0;p=f[s>>2]|0;r=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+r<<2)>>2];t=t+1|0}while((t|0)<(f[s>>2]|0));u=g;return}s=a+72|0;t=f[s>>2]|0;r=X(t,m)|0;v=$(f[d+(r<<2)>>2]|0);w=$(f[d+(r+1<<2)>>2]|0);r=X(t,c)|0;x=$(f[d+(r<<2)>>2]|0);y=$(f[d+(r+1<<2)>>2]|0);if(!(x!=v|y!=w)){r=f[a+68>>2]|0;f[r>>2]=~~x;f[r+4>>2]=~~y;u=g;return}r=a+64|0;t=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];gb(q,h,z,j)|0;z=f[(f[r>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))A=f[(f[m+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[m+24>>0]|0;f[h>>2]=f[i>>2];gb(m,h,A,k)|0;A=f[(f[r>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);O=$(y-N);x=$(H+v);w=$(y+N);N=$(H-v);j=X(f[s>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-w);v=$(H-N);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;s=f[e>>2]|0;k=f[a+84>>2]|0;l=(s|0)==(k<<5|0);if(j){do if(l)if((s+1|0)<0)Cq(d);else{j=k<<6;B=s+32&-32;si(d,s>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=s;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((s+1|0)<0)Cq(d);else{P=k<<6;j=s+32&-32;si(d,s>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=s;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=w;R=N}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function yc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=Ja,x=Ja,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=0,P=Ja,Q=Ja,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+52>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Cq(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Cq(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+72|0;p=f[q>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[q>>2]|0));u=g;return}q=a+72|0;s=f[q>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,r)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];gb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];gb(r,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$(t+$(G*M));t=$(G*N);G=$(v+$(w*M));M=$(w*N);N=$(x-M);w=$(G+t);v=$(x+M);M=$(G-t);j=X(f[q>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-v);t=$(G-M);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;q=f[e>>2]|0;k=f[a+84>>2]|0;l=(q|0)==(k<<5|0);if(j){do if(l)if((q+1|0)<0)Cq(d);else{j=k<<6;A=q+32&-32;si(d,q>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=q;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((q+1|0)<0)Cq(d);else{O=k<<6;j=q+32&-32;si(d,q>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=q;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=v;Q=M}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ja,F=Ja,G=Ja,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=g+(j+4)|0;m=e;o=d-j|0}else{l=g;m=i;o=i}switch(o|0){case 3:{p=h[l+2>>0]<<16^m;q=6;break}case 2:{p=m;q=6;break}case 1:{r=m;q=7;break}default:s=m}if((q|0)==6){r=h[l+1>>0]<<8^p;q=7}if((q|0)==7)s=X(h[l>>0]^r,1540483477)|0;r=X(s>>>13^s,1540483477)|0;s=r>>>15^r;r=a+4|0;l=f[r>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;o=(m&l|0)==0;if(!o)if(s>>>0>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&m;j=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((j|0)!=0?(d=f[j>>2]|0,(d|0)!=0):0){j=(i|0)==0;if(o){if(j){o=d;while(1){e=f[o+4>>2]|0;if(!((e|0)==(s|0)|(e&m|0)==(t|0))){u=t;break a}e=b[o+8+11>>0]|0;if(!((e<<24>>24<0?f[o+12>>2]|0:e&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else x=d;b:while(1){o=f[x+4>>2]|0;if(!((o|0)==(s|0)|(o&m|0)==(t|0))){u=t;break a}o=x+8|0;e=b[o+11>>0]|0;k=e<<24>>24<0;y=e&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){e=f[o>>2]|0;if(k)if(!(Yk(e,g,i)|0)){v=x;q=63;break b}else break;if((e&255)<<24>>24==(b[g>>0]|0)){e=y;z=o;A=g;do{e=e+-1|0;z=z+1|0;if(!e){v=x;q=63;break b}A=A+1|0}while((b[z>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(j){m=d;while(1){o=f[m+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)B=o;else B=(o>>>0)%(l>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[m+8+11>>0]|0;if(!((o<<24>>24<0?f[m+12>>2]|0:o&255)|0)){v=m;break}m=f[m>>2]|0;if(!m){u=t;break a}}w=v+20|0;return w|0}else C=d;c:while(1){m=f[C+4>>2]|0;if((m|0)!=(s|0)){if(m>>>0>>0)D=m;else D=(m>>>0)%(l>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}m=C+8|0;j=b[m+11>>0]|0;o=j<<24>>24<0;y=j&255;do if(((o?f[C+12>>2]|0:y)|0)==(i|0)){j=f[m>>2]|0;if(o)if(!(Yk(j,g,i)|0)){v=C;q=63;break c}else break;if((j&255)<<24>>24==(b[g>>0]|0)){j=y;k=m;A=g;do{j=j+-1|0;k=k+1|0;if(!j){v=C;q=63;break c}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=tn(24)|0;nj(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(l>>>0);G=$(n[a+16>>2]);do if(p|E>$(F*G)){C=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;g=~~$(W($(E/G)))>>>0;ci(a,C>>>0>>0?g:C);C=f[r>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=l;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){l=a+8|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[u>>2]=l;l=f[t>>2]|0;if(l|0){u=f[l+4>>2]|0;l=H+-1|0;if(l&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&l;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.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,J=0,K=0,L=0.0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Ji(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=0;q=0;r=k;s=l;t=0;u=0;v=1.0;w=0;x=0.0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Ji(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Ji(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Ji(a)|0;z=go(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=0;o=0;p=z;q=B;r=A;s=1;t=1;u=0;v=1.0;w=0;x=0.0;break}}}else{n=0;o=0;p=0;q=0;r=y;s=l;t=1;u=0;v=1.0;w=0;x=0.0}}while(1){l=r+-48|0;y=(r|0)==46;if(l>>>0>=10?!(y|((r|32)+-97|0)>>>0<6):0){C=r;break}if(y)if(!t){D=o;E=n;F=o;G=n;H=s;J=1;K=u;L=v;M=w;N=x}else{C=46;break}else{y=(r|0)>57?(r|32)+-87|0:l;do if(!((n|0)<0|(n|0)==0&o>>>0<8))if((n|0)<0|(n|0)==0&o>>>0<14){O=v*.0625;P=u;Q=O;R=w;S=x+O*+(y|0);break}else{l=(u|0)!=0|(y|0)==0;P=l?u:1;Q=v;R=w;S=l?x:x+v*.5;break}else{P=u;Q=v;R=y+(w<<4)|0;S=x}while(0);y=go(o|0,n|0,1,0)|0;D=p;E=q;F=y;G=I;H=1;J=t;K=P;L=Q;M=R;N=S}y=f[g>>2]|0;if(y>>>0<(f[j>>2]|0)>>>0){f[g>>2]=y+1;n=G;o=F;p=D;q=E;r=h[y>>0]|0;s=H;t=J;u=K;v=L;w=M;x=N;continue}else{n=G;o=F;p=D;q=E;r=Ji(a)|0;s=H;t=J;u=K;v=L;w=M;x=N;continue}}do if(!s){M=f[j>>2]|0;K=(M|0)!=0;if(K)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(K)f[g>>2]=(f[g>>2]|0)+-1;if(!((t|0)==0|(M|0)==0))f[g>>2]=(f[g>>2]|0)+-1}else dn(a,0);T=+(d|0)*0.0}else{M=(t|0)==0;K=M?o:p;u=M?n:q;if((n|0)<0|(n|0)==0&o>>>0<8){M=o;J=n;H=w;while(1){r=H<<4;M=go(M|0,J|0,1,0)|0;J=I;if(!((J|0)<0|(J|0)==0&M>>>0<8)){U=r;break}else H=r}}else U=w;if((C|32|0)==112){H=Ie(a,e)|0;M=I;if((H|0)==0&(M|0)==-2147483648){if(!e){dn(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=H;W=M}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}M=eo(K|0,u|0,2)|0;H=go(M|0,I|0,-32,-1)|0;M=go(H|0,I|0,V|0,W|0)|0;H=I;if(!U){T=+(d|0)*0.0;break}J=0-c|0;r=((J|0)<0)<<31>>31;if((H|0)>(r|0)|(H|0)==(r|0)&M>>>0>J>>>0){J=er()|0;f[J>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=c+-106|0;r=((J|0)<0)<<31>>31;if((H|0)<(r|0)|(H|0)==(r|0)&M>>>0>>0){J=er()|0;f[J>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){J=M;r=H;E=U;N=x;while(1){D=!(N>=.5);F=E<<1|(D^1)&1;L=N+(D?N:N+-1.0);D=go(J|0,r|0,-1,-1)|0;G=I;if((F|0)>-1){J=D;r=G;E=F;N=L}else{X=D;Y=G;Z=F;_=L;break}}}else{X=M;Y=H;Z=U;_=x}E=((b|0)<0)<<31>>31;r=io(32,0,c|0,((c|0)<0)<<31>>31|0)|0;J=go(r|0,I|0,X|0,Y|0)|0;r=I;if((E|0)>(r|0)|(E|0)==(r|0)&b>>>0>J>>>0)if((J|0)>0){$=J;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){N=+(d|0);ca=+Wq(+$j(1.0,ba),N);da=aa;ea=N}J=(Z&1|0)==0&(_!=0.0&(da|0)<32);N=ea*(J?0.0:_)+(ca+ea*+(((J&1)+Z|0)>>>0))-ca;if(!(N!=0.0)){J=er()|0;f[J>>2]=34}T=+Xq(N,X)}while(0);return +T}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Ch(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)pr(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)pr(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=d;d=0;do{f[i>>2]=(d>>>0)/3|0;f[h>>2]=f[i>>2];r=ak(q,h)|0;q=f[l>>2]|0;do if(!r){s=f[(f[q+12>>2]|0)+(d<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(d>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(d&31);t=d+1|0;v=((t>>>0)%3|0|0)==0?d+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[q>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((v|0)==-1)x=-1;else x=f[(f[q>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=d>>>0){v=d+1|0;t=((v>>>0)%3|0|0)==0?d+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(d>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(d&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?d+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[q>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((B|0)==-1)Q=-1;else Q=f[(f[q>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[q>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[q>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);d=d+1|0}while(d>>>0<(f[q+4>>2]|0)-(f[q>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Mc(a,c,e);j=1;u=g;return j|0}else{id(a,0,0);j=1;u=g;return j|0}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=f[b>>2]|0;o=n;while(1){if((k|0)==(f[c>>2]|0))break;n=o+16|0;f[n>>2]=f[k+16>>2];if((o|0)!=(k|0)){f[h>>2]=f[k+20>>2];f[i>>2]=k+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(o+20|0,g,e)}p=o+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(o|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[n>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=24;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=27;break}else z=x}s=z}if((y|0)==24){y=0;B=s;C=s;break}else if((y|0)==27){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[o>>2]=0;f[o+4>>2]=0;f[p>>2]=B;f[C>>2]=o;q=f[f[a>>2]>>2]|0;if(!q)D=o;else{f[a>>2]=q;D=f[C>>2]|0}He(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[k+4>>2]|0;if(!q){n=k+8|0;r=f[n>>2]|0;if((f[r>>2]|0)==(k|0))E=r;else{r=n;do{n=f[r>>2]|0;r=n+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(n|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=E;o=t}}k=f[o+8>>2]|0;if(!k)F=o;else{m=k;while(1){k=f[m+8>>2]|0;if(!k)break;else m=k}F=m}Mj(a,F)}while(0);F=f[b>>2]|0;t=f[c>>2]|0;if((F|0)==(t|0)){u=d;return}c=a+4|0;E=a+4|0;D=F;while(1){Ig(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=45;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=48;break}else G=z}A=G}if((y|0)==45){y=0;I=C;J=A;K=A;break}else if((y|0)==48){y=0;I=C;J=A;K=H;break}}else{I=f[e>>2]|0;J=c;K=c}while(0);f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=J;f[K>>2]=I;F=f[f[a>>2]>>2]|0;if(!F)L=I;else{f[a>>2]=F;L=f[K>>2]|0}He(f[E>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(t|0))break;else D=M}u=d;return}function Dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=mr(l)|0;pj(m|0,0,l|0)|0;n=mr(l)|0;pj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=q;H=s;I=F}else{J=o;Cq(J)}while(1){F=f[G+(I<<2)>>2]|0;if(t)pj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=F;L=0;while(1){M=f[s+(K<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(I|0)&(R|0)<(I|0)&(Q|0)<(I|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=L+1|0}else U=L}else U=L;Q=(((K>>>0)%3|0|0)==0?2:-1)+K|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);K=(V|0)==(F|0)?-1:V;if((K|0)==-1)break;else L=U}L=X(I,e)|0;if(!U){W=L;Y=30}else{if(t){K=0;do{F=m+(K<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;K=K+1|0}while((K|0)!=(e|0))}K=b+(L<<2)|0;F=c+(L<<2)|0;s=f[K+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[K>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Nd(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(I,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(H+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;K=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=K;f[x>>2]=P;Nd(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((I|0)<=1)break a;Q=f[l>>2]|0;G=f[Q>>2]|0;P=I+-1|0;if((f[Q+4>>2]|0)-G>>2>>>0<=P>>>0){J=Q;break}else{Q=I;I=P;H=Q}}Cq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Nd(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;nr(n);nr(m);u=g;return 1}pj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Nd(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;nr(n);nr(m);u=g;return 1}function Ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=mr(d)|0;pj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=C;C=0;y=h;while(1){if((E|0)>0){A=0;do{H=f[y+(A<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(A<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(A<<2)>>2]=(H|0)<(J|0)?J:H;K=I}A=A+1|0}while((A|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;A=(f[D+(C<<2)>>2]|0)-(f[L+(C<<2)>>2]|0)|0;I=B+(C<<2)|0;f[I>>2]=A;if((A|0)>=(f[q>>2]|0)){if((A|0)>(f[s>>2]|0)){M=A-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+A|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}C=C+1|0;E=f[g>>2]|0;if((C|0)>=(E|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,E=c+(z<<2)|0,C=f[g>>2]|0,(C|0)>0):0){B=C;C=0;D=b+((X(x+-2|0,e)|0)<<2)|0;while(1){if((B|0)>0){I=0;do{A=f[D+(I<<2)>>2]|0;H=f[n>>2]|0;if((A|0)>(H|0)){J=f[o>>2]|0;f[J+(I<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(I<<2)>>2]=(A|0)<(J|0)?J:A;O=H}I=I+1|0}while((I|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;I=(f[y+(C<<2)>>2]|0)-(f[P+(C<<2)>>2]|0)|0;H=E+(C<<2)|0;f[H>>2]=I;if((I|0)>=(f[q>>2]|0)){if((I|0)>(f[s>>2]|0)){Q=I-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+I|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}C=C+1|0;B=f[g>>2]|0;if((C|0)>=(B|0))break;else D=P}}if((w|0)<=1)break a}Cq(i)}while(0);if((e|0)>0)pj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=e;e=0;K=h;while(1){if((a|0)>0){G=0;do{F=f[K+(G<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(G<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(G<<2)>>2]=(F|0)<(l|0)?l:F;R=d}G=G+1|0}while((G|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;G=(f[b+(e<<2)>>2]|0)-(f[S+(e<<2)>>2]|0)|0;d=c+(e<<2)|0;f[d>>2]=G;if((G|0)>=(f[O>>2]|0)){if((G|0)>(f[M>>2]|0)){T=G-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+G|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else K=S}nr(h);return 1}function Fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=mr(l)|0;pj(m|0,0,l|0)|0;n=mr(l)|0;pj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=q;I=s;J=G}else{K=o;Cq(K)}while(1){G=f[H+(J<<2)>>2]|0;if(t)pj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=G;M=0;while(1){if(((f[s+(L>>>5<<2)>>2]&1<<(L&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(L<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(J|0)&(S|0)<(J|0)&(R|0)<(J|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=M+1|0}else T=M;R=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);L=(U|0)==(G|0)?-1:U;if((L|0)==-1)break;else M=T}M=X(J,e)|0;if(!T){V=M;W=28}else{if(t){L=0;do{G=m+(L<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(M<<2)|0;G=c+(M<<2)|0;s=f[L+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Nd(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(J,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(I+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;L=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=Q;Nd(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((J|0)<=1)break a;R=f[l>>2]|0;H=f[R>>2]|0;Q=J+-1|0;if((f[R+4>>2]|0)-H>>2>>>0<=Q>>>0){K=R;break}else{R=J;J=Q;I=R}}Cq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Nd(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;nr(n);nr(m);u=g;return 1}pj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Nd(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;nr(n);nr(m);u=g;return 1}function Gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=mr(d)|0;pj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=D;D=0;z=h;while(1){if((F|0)>0){C=0;do{G=f[z+(C<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(C<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(C<<2)>>2]=(G|0)<(I|0)?I:G;J=H}C=C+1|0}while((C|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;C=(f[E+(D<<2)>>2]|0)-(f[K+(D<<2)>>2]|0)|0;H=B+(D<<2)|0;f[H>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){L=C-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+C|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}D=D+1|0;F=f[g>>2]|0;if((D|0)>=(F|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,F=c+(A<<2)|0,D=f[g>>2]|0,(D|0)>0):0){B=D;D=0;E=b+((X(y+-2|0,e)|0)<<2)|0;while(1){if((B|0)>0){H=0;do{C=f[E+(H<<2)>>2]|0;G=f[n>>2]|0;if((C|0)>(G|0)){I=f[o>>2]|0;f[I+(H<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(H<<2)>>2]=(C|0)<(I|0)?I:C;N=G}H=H+1|0}while((H|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;H=(f[z+(D<<2)>>2]|0)-(f[O+(D<<2)>>2]|0)|0;G=F+(D<<2)|0;f[G>>2]=H;if((H|0)>=(f[q>>2]|0)){if((H|0)>(f[s>>2]|0)){P=H-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+H|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}D=D+1|0;B=f[g>>2]|0;if((D|0)>=(B|0))break;else E=O}}if((x|0)<=1)break a}Cq(i)}while(0);if((e|0)>0)pj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=e;e=0;J=h;while(1){if((a|0)>0){d=0;do{l=f[J+(d<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(d<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(d<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}d=d+1|0}while((d|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;d=(f[b+(e<<2)>>2]|0)-(f[R+(e<<2)>>2]|0)|0;j=c+(e<<2)|0;f[j>>2]=d;if((d|0)>=(f[N>>2]|0)){if((d|0)>(f[L>>2]|0)){S=d-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+d|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else J=R}nr(h);return 1}function Hc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;Xj(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(o<<2)>>2]|0;do{v=f[a+(s+o<<2)>>2]|0;t=t>>>0>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>r>>>0?t:r;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ti(k,i);o=o+p|0;if((o|0)>=(c|0)){x=v;break}else r=v}}else{r=0;o=0;while(1){v=f[a+(r<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>o>>>0?v:o;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ti(k,i);r=r+p|0;if((r|0)>=(c|0)){x=w;break}else o=w}}f[l>>2]=0;o=l+4|0;f[o>>2]=0;f[l+8>>2]=0;r=f[k>>2]|0;q=(f[d>>2]|0)-r|0;w=q>>2;if(w){if(w>>>0>1073741823)Cq(l);s=tn(q)|0;f[o>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;eh(s|0,r|0,q|0)|0;f[o>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;r=0;v=0;while(1){D=go(f[s+(v<<2)>>2]|0,0,y|0,r|0)|0;E=I;v=v+1|0;if(v>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{y=D;r=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Gg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=eo(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;r=En(B|0,C|0,p|0,0)|0;C=go(F|0,z|0,r|0,I|0)|0;r=go(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[o>>2]|0;if((l|0)!=(w|0))f[o>>2]=l+(~((l+-4-w|0)>>>2)<<2);pr(w)}w=Gg(a,c,x,i)|0;l=f[i>>2]|0;o=((x-l|0)/64|0)+l<<3;C=l<<3;z=go(C|0,((C|0)<0)<<31>>31|0,w|0,I|0)|0;w=go(z|0,I|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;C=tn(32)|0;f[i>>2]=C;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=C;B=16355;y=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(y|0));b[C+22>>0]=0;C=(Hh(e,i)|0)==0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if(!C){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;C=tn(32)|0;f[i>>2]=C;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=C;B=16355;y=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(y|0));b[C+22>>0]=0;C=Ok(e,i)|0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);H=C}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(o|0)|(A|0)==(o|0)&r>>>0>=w>>>0)&1;b[m>>0]=H;w=g+16|0;r=f[w+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[w>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Fe(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=qd(a,c,p,k,g)|0;break}case 1:{J=Pc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);pr(g)}n=J;u=h;return n|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;pr(k)}pr(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);pr(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;pr(m)}pr(n)}pr(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=j;p=g;q=24}}else{o=h;p=e;q=24}if((q|0)==24){q=o;do{o=q+-4|0;f[c>>2]=o;e=f[o>>2]|0;f[o>>2]=0;if(e|0){o=e+88|0;h=f[o>>2]|0;f[o>>2]=0;if(h|0){o=f[h+8>>2]|0;if(o|0){g=h+12|0;if((f[g>>2]|0)!=(o|0))f[g>>2]=o;pr(o)}pr(h)}h=f[e+68>>2]|0;if(h|0){o=e+72|0;g=f[o>>2]|0;if((g|0)!=(h|0))f[o>>2]=g+(~((g+-4-h|0)>>>2)<<2);pr(h)}h=e+64|0;g=f[h>>2]|0;f[h>>2]=0;if(g|0){h=f[g>>2]|0;if(h|0){o=g+4|0;if((f[o>>2]|0)!=(h|0))f[o>>2]=h;pr(h)}pr(g)}pr(e)}q=f[c>>2]|0}while((q|0)!=(p|0))}p=f[a+4>>2]|0;a:do if(p|0){q=p+44|0;c=f[q>>2]|0;e=f[p+40>>2]|0;while(1){if((e|0)==(c|0))break a;r=e+4|0;if((f[(f[e>>2]|0)+40>>2]|0)==(i|0))break;else e=r}if((r|0)!=(c|0)){g=r;h=e;do{o=f[g>>2]|0;f[g>>2]=0;j=f[h>>2]|0;f[h>>2]=o;if(j|0){_i(j);pr(j)}g=g+4|0;h=h+4|0}while((g|0)!=(c|0));g=f[q>>2]|0;if((g|0)==(h|0))break;else{s=g;t=h}}else{s=c;t=e}g=s;do{j=g+-4|0;f[q>>2]=j;o=f[j>>2]|0;f[j>>2]=0;if(o|0){_i(o);pr(o)}g=f[q>>2]|0}while((g|0)!=(t|0))}while(0);b:do if((d|0)<5){t=f[a+20+(d*12|0)>>2]|0;s=a+20+(d*12|0)+4|0;r=f[s>>2]|0;i=r;c:do if((t|0)==(r|0))u=t;else{p=t;while(1){if((f[p>>2]|0)==(b|0)){u=p;break c}p=p+4|0;if((p|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){t=u+4|0;p=i-t|0;g=p>>2;if(!g)v=r;else{qm(u|0,t|0,p|0)|0;v=f[s>>2]|0}p=u+(g<<2)|0;if((v|0)!=(p|0))f[s>>2]=v+(~((v+-4-p|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((p|0)!=(u|0)){g=p-u>>2;u=0;do{p=d+(u<<2)|0;v=f[p>>2]|0;if((v|0)>(b|0))f[p>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}g=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((g|0)!=(u|0)){v=g-u>>2;u=0;do{g=d+(u<<2)|0;p=f[g>>2]|0;if((p|0)>(b|0))f[g>>2]=p+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((p|0)==(u|0))return;d=p-u>>2;u=0;do{p=a+(u<<2)|0;g=f[p>>2]|0;if((g|0)>(b|0))f[p>>2]=g+-1;u=u+1|0}while(u>>>0>>0);return}function Jc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>112){f[e>>2]=g+-113;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;n=j;do if((j|0)==(l|0)){o=f[a>>2]|0;p=o;if(i>>>0>o>>>0){q=i;r=((q-p>>2)+1|0)/-2|0;s=i+(r<<2)|0;t=n-q|0;q=t>>2;if(!q)v=i;else{qm(s|0,i|0,t|0)|0;v=f[g>>2]|0}t=s+(q<<2)|0;f[e>>2]=t;f[g>>2]=v+(r<<2);w=t;break}t=m-p>>1;p=(t|0)==0?1:t;if(p>>>0>1073741823){t=ra(8)|0;jp(t,16426);f[t>>2]=7416;va(t|0,1160,122)}t=tn(p<<2)|0;r=t;q=t+(p>>>2<<2)|0;s=q;x=t+(p<<2)|0;if((i|0)==(j|0)){y=o;z=s}else{o=q;q=i;p=s;do{f[o>>2]=f[q>>2];o=p+4|0;p=o;q=q+4|0}while((q|0)!=(j|0));y=f[a>>2]|0;z=p}f[a>>2]=r;f[g>>2]=s;f[e>>2]=z;f[k>>2]=x;if(!y)w=z;else{pr(y);w=f[e>>2]|0}}else w=j;while(0);f[w>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;w=a+4|0;j=h-(f[w>>2]|0)|0;y=a+12|0;z=f[y>>2]|0;k=z-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}g=tn(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=tn(4068)|0;f[d>>2]=k;wg(c,d);d=f[e>>2]|0;while(1){A=f[w>>2]|0;if((d|0)==(A|0))break;k=d+-4|0;tg(c,k);d=k}k=A;A=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=A;f[w>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((g|0)!=(d|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(A|0)pr(A);u=b;return}if((z|0)!=(h|0)){h=tn(4068)|0;f[c>>2]=h;wg(a,c);u=b;return}h=tn(4068)|0;f[c>>2]=h;tg(a,c);c=f[w>>2]|0;h=f[c>>2]|0;z=c+4|0;f[w>>2]=z;c=f[e>>2]|0;A=f[y>>2]|0;k=A;g=c;do if((c|0)==(A|0)){j=f[a>>2]|0;d=j;if(z>>>0>j>>>0){m=z;i=((m-d>>2)+1|0)/-2|0;v=z+(i<<2)|0;n=g-m|0;m=n>>2;if(!m)B=z;else{qm(v|0,z|0,n|0)|0;B=f[w>>2]|0}n=v+(m<<2)|0;f[e>>2]=n;f[w>>2]=B+(i<<2);C=n;break}n=k-d>>1;d=(n|0)==0?1:n;if(d>>>0>1073741823){n=ra(8)|0;jp(n,16426);f[n>>2]=7416;va(n|0,1160,122)}n=tn(d<<2)|0;i=n;m=n+(d>>>2<<2)|0;v=m;l=n+(d<<2)|0;if((z|0)==(c|0)){D=j;E=v}else{j=m;m=z;d=v;do{f[j>>2]=f[m>>2];j=d+4|0;d=j;m=m+4|0}while((m|0)!=(c|0));D=f[a>>2]|0;E=d}f[a>>2]=i;f[w>>2]=v;f[e>>2]=E;f[y>>2]=l;if(!D)C=E;else{pr(D);C=f[e>>2]|0}}else C=c;while(0);f[C>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=f[c>>2]|0;k=j;while(1){if((g|0)==(f[d>>2]|0))break;j=k+16|0;gm(j,g+16|0)|0;gm(k+28|0,g+28|0)|0;l=k+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(k|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[j+11>>0]|0;o=n<<24>>24<0;s=o?f[k+20>>2]|0:n&255;n=o?f[j>>2]|0:j;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0>>0?w:s;if((u|0)!=0?(x=Yk(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=24;else y=26;else if(s>>>0>>0)y=24;else y=26;if((y|0)==24){y=0;w=f[o>>2]|0;if(!w){y=25;break}else z=w}else if((y|0)==26){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=28;break}else z=w}o=z}if((y|0)==25){y=0;B=o;C=o;break}else if((y|0)==28){y=0;B=o;C=A;break}}else{B=h;C=h}while(0);f[k>>2]=0;f[k+4>>2]=0;f[l>>2]=B;f[C>>2]=k;m=f[f[a>>2]>>2]|0;if(!m)D=k;else{f[a>>2]=m;D=f[C>>2]|0}He(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[g+4>>2]|0;if(!m){j=g+8|0;s=f[j>>2]|0;if((f[s>>2]|0)==(g|0))E=s;else{s=j;do{j=f[s>>2]|0;s=j+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(j|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=E;k=p}}g=f[k+8>>2]|0;if(!g)F=k;else{i=g;while(1){g=f[i+8>>2]|0;if(!g)break;else i=g}F=i}Cj(a,F)}while(0);F=f[c>>2]|0;p=f[d>>2]|0;if((F|0)==(p|0))return;else G=F;while(1){Ue(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;E=f[d>>2]|0;if((f[E>>2]|0)==(G|0))H=E;else{E=d;do{d=f[E>>2]|0;E=d+8|0;e=f[E>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{E=F;while(1){i=f[E>>2]|0;if(!i)break;else E=i}H=E}f[c>>2]=H;if((H|0)==(p|0))break;else G=H}return}function Lc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=tn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14740;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ik(i,h,-1)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);switch(j|0){case 0:{n=tn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n;break}case -1:{if((ki(i)|0)==10){n=tn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n}else q=6;break}default:q=6}a:do if((q|0)==6){n=d+8|0;r=d+12|0;s=f[r>>2]|0;t=f[n>>2]|0;b:do if((s-t|0)>0){v=h+8|0;w=h+4|0;x=c+20|0;y=h+11|0;z=s;A=t;B=0;c:while(1){C=f[(f[A+(B<<2)>>2]|0)+28>>2]|0;switch(C|0){case 9:{q=12;break}case 6:case 5:case 4:case 2:{D=A;E=z;break}default:{if((C|2|0)!=3)break c;if((C|0)==9)q=12;else{D=A;E=z}}}if((q|0)==12){q=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=tn(32)|0;f[h>>2]=C;f[v>>2]=-2147483616;f[w>>2]=17;k=C;l=14756;m=k+17|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[C+17>>0]=0;F=f[x>>2]|0;if(F){G=x;H=F;d:while(1){F=H;while(1){if((f[F+16>>2]|0)>=0)break;I=f[F+4>>2]|0;if(!I){J=G;break d}else F=I}H=f[F>>2]|0;if(!H){J=F;break}else G=F}if(((J|0)!=(x|0)?(f[J+16>>2]|0)<=0:0)?(G=J+20|0,(Hh(G,h)|0)!=0):0)K=Ik(G,h,-1)|0;else q=21}else q=21;if((q|0)==21){q=0;K=Ik(i,h,-1)|0}if((b[y>>0]|0)<0)pr(f[h>>2]|0);if((K|0)<1)break;D=f[n>>2]|0;E=f[r>>2]|0}B=B+1|0;if((B|0)>=(E-D>>2|0))break b;else{z=E;A=D}}if((j|0)!=1){A=tn(56)|0;k=A;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(A);o=4196;p=A;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;z=tn(32)|0;f[h>>2]=z;f[h+8>>2]=-2147483616;f[h+4>>2]=24;k=z;l=14774;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[z+24>>0]=0;f[a>>2]=-1;nj(a+4|0,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}while(0);r=tn(56)|0;k=r;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(r);o=4136;p=r}while(0);f[p>>2]=o;Hp(p,d);ud(a,p,i,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[p+52>>2];f[c+44>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}Qa[f[(f[p>>2]|0)+4>>2]&127](p);u=g;return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=k;k=0;w=0;while(1){x=f[(f[v+24>>2]|0)+(w<<2)>>2]|0;if((x|0)==-1){y=v;z=k}else{A=k+1|0;B=f[(f[l>>2]|0)+(((x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Ti(c,g);f[g>>2]=x;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=x;else{B=x+1|0;E=((B>>>0)%3|0|0)==0?x+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=x;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=x}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=k;x=f[s>>2]|0;if((x|0)==(f[t>>2]|0))Ti(r,g);else{f[x>>2]=f[g>>2];f[s>>2]=x+4}x=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[x+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=E;E=k;H=A;while(1){I=F+1|0;J=((I>>>0)%3|0|0)==0?F+-2|0:I;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){I=H+1|0;K=f[(f[l>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Ti(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ti(r,h);M=H;N=I;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=H;N=I;break}}else{M=E;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=M;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;I=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((I|0)==-1)break;J=f[(f[O+12>>2]|0)+(I<<2)>>2]|0;if((J|0)==-1)break;F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=F;if(!((F|0)!=-1?(F|0)!=(f[g>>2]|0):0)){P=O;Q=N;break b}else{E=M;H=N}}f[h>>2]=-1;P=O;Q=N}else{P=x;Q=A}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=x;Q=A}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2>>>0)break;else{v=y;k=z}}u=e;return}function Nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=24;g=-149;i=4;break}case 1:{e=53;g=-1074;i=4;break}case 2:{e=53;g=-1074;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Ji(a)|0}while((Hq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Ji(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=o;n=0;while(1){if((l|32|0)!=(b[18937+n>>0]|0)){q=l;r=n;break}do if(n>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Ji(a)|0;break}}else t=l;while(0);s=n+1|0;if(s>>>0<8){l=t;n=s}else{q=t;r=s;break}}c:do switch(r|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&r>>>0>3)if((r|0)==8)break c;else{i=23;break c}d:do if(!r){l=q;s=0;while(1){if((l|32|0)!=(b[18946+s>>0]|0)){u=l;v=s;break d}do if(s>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Ji(a)|0;break}}else x=l;while(0);w=s+1|0;if(w>>>0<3){l=x;s=w}else{u=x;v=w;break}}}else{u=q;v=r}while(0);switch(v|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Ji(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Ji(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=er()|0;f[l>>2]=22;dn(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((u|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Ji(a)|0;if((E|32|0)==120){j=+Ac(a,e,g,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=u;j=+hb(a,F,e,g,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=er()|0;f[s>>2]=22;dn(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&r>>>0>3){n=r;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Oc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;b=u;u=u+16|0;c=b+4|0;d=b;e=f[a+64>>2]|0;if(!e){u=b;return}g=La[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(!g){u=b;return}e=g+24|0;h=g+28|0;i=((f[h>>2]|0)-(f[e>>2]|0)>>2)-(f[g+44>>2]|0)|0;j=a+56|0;k=f[j>>2]|0;if(((f[k+12>>2]|0)-(f[k+8>>2]|0)|0)>4){f[c>>2]=0;l=c+4|0;f[l>>2]=0;f[c+8>>2]=0;m=c+8|0;n=k;k=0;while(1){if(!(f[(f[(f[n+8>>2]|0)+(k<<2)>>2]|0)+56>>2]|0))o=n;else{p=Ma[f[(f[a>>2]|0)+56>>2]&127](a,k)|0;f[d>>2]=p;q=p;do if(p|0){r=f[l>>2]|0;if((r|0)==(f[m>>2]|0)){Ti(c,d);break}else{f[r>>2]=q;f[l>>2]=(f[l>>2]|0)+4;break}}while(0);o=f[j>>2]|0}k=k+1|0;if((k|0)>=((f[o+12>>2]|0)-(f[o+8>>2]|0)>>2|0))break;else n=o}n=f[h>>2]|0;h=f[e>>2]|0;e=h;if((n|0)==(h|0)){s=f[c>>2]|0;t=i}else{k=n-h>>2;h=g+12|0;g=f[l>>2]|0;n=f[c>>2]|0;c=(g|0)==(n|0);j=n;d=g-n>>2;n=o+96|0;o=i;g=0;while(1){m=f[e+(g<<2)>>2]|0;if((m|0)==-1)v=o;else{q=f[n>>2]|0;p=f[q+(((m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]|0;r=(((m>>>0)%3|0|0)==0?2:-1)+m|0;a:do if(((r|0)!=-1?(w=f[(f[h>>2]|0)+(r<<2)>>2]|0,(w|0)!=-1):0)?(x=w+(((w>>>0)%3|0|0)==0?2:-1)|0,(x|0)!=-1):0){if(c){w=x;y=p;z=0;while(1){A=y;y=f[q+(((w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]|0;B=z+((y|0)!=(A|0)&1)|0;if((w|0)==(m|0)){C=B;break a}A=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((A|0)==-1){C=B;break a}D=f[(f[h>>2]|0)+(A<<2)>>2]|0;if((D|0)==-1){C=B;break a}w=D+(((D>>>0)%3|0|0)==0?2:-1)|0;if((w|0)==-1){C=B;break a}else z=B}}else{E=x;F=m;G=p;H=0}while(1){z=f[q+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;b:do if((z|0)==(G|0)){w=0;while(1){y=f[(f[j+(w<<2)>>2]|0)+28>>2]|0;w=w+1|0;if((f[y+(E<<2)>>2]|0)!=(f[y+(F<<2)>>2]|0)){I=G;J=28;break b}if(w>>>0>=d>>>0){K=H;L=G;break}}}else{I=z;J=28}while(0);if((J|0)==28){J=0;K=H+1|0;L=I}if((E|0)==(m|0)){C=K;break a}z=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((z|0)==-1){C=K;break a}w=f[(f[h>>2]|0)+(z<<2)>>2]|0;if((w|0)==-1){C=K;break a}z=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if((z|0)==-1){C=K;break}else{w=E;E=z;G=L;H=K;F=w}}}else C=0;while(0);m=f[e+(g<<2)>>2]|0;q=m+1|0;if(((m|0)!=-1?(p=((q>>>0)%3|0|0)==0?m+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0)M=((((p>>>0)%3|0|0)==0?q+-2|0:p)|0)==-1;else M=1;v=C+o+(((C|0)!=0&(M^1))<<31>>31)|0}g=g+1|0;if(g>>>0>=k>>>0){s=j;t=v;break}else o=v}}if(s|0){v=f[l>>2]|0;if((v|0)!=(s|0))f[l>>2]=v+(~((v+-4-s|0)>>>2)<<2);pr(s)}N=t}else N=i;f[a+52>>2]=N;u=b;return}function Pc(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=tn(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=16378;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Hh(g,j)|0)==0;if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if(!r){r=tn(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=16378;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Ok(g,j)|0;if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Fe(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=pe(a,c,d,h)|0;u=i;return n|0}case 2:{n=oe(a,c,d,h)|0;u=i;return n|0}case 3:{n=ne(a,c,d,h)|0;u=i;return n|0}case 4:{n=me(a,c,d,h)|0;u=i;return n|0}case 5:{n=le(a,c,d,h)|0;u=i;return n|0}case 6:{n=ke(a,c,d,h)|0;u=i;return n|0}case 7:{n=je(a,c,d,h)|0;u=i;return n|0}case 8:{n=ie(a,c,d,h)|0;u=i;return n|0}case 9:{n=he(a,c,d,h)|0;u=i;return n|0}case 10:{n=ge(a,c,d,h)|0;u=i;return n|0}case 11:{n=fe(a,c,d,h)|0;u=i;return n|0}case 12:{n=ee(a,c,d,h)|0;u=i;return n|0}case 13:{n=de(a,c,d,h)|0;u=i;return n|0}case 14:{n=ce(a,c,d,h)|0;u=i;return n|0}case 15:{n=be(a,c,d,h)|0;u=i;return n|0}case 16:{n=ae(a,c,d,h)|0;u=i;return n|0}case 17:{n=$d(a,c,d,h)|0;u=i;return n|0}case 18:{n=_d(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;tb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;ub(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;vb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;wb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*524288.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==524288){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;p=x;while(1){v=524288.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==524288){C=q;D=524288;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*1.9073486328125e-06)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*262144.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==262144){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;p=x;while(1){v=262144.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==262144){C=q;D=262144;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*3.814697265625e-06)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*65536.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==65536){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;p=x;while(1){v=65536.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==65536){C=q;D=65536;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.0000152587890625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*32768.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==32768){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;p=x;while(1){v=32768.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==32768){C=q;D=32768;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000030517578125)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*8192.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==8192){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;p=x;while(1){v=8192.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==8192){C=q;D=8192;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.0001220703125)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=mr(j)|0;pj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=o;F=q;G=D}else{H=m;Cq(H)}while(1){D=f[E+(G<<2)>>2]|0;q=X(G,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(G|0)&(M|0)<(G|0)&(L|0)<(G|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Nd(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(F+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Nd(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((G|0)<=1)break a;M=f[l>>2]|0;E=f[M>>2]|0;I=G+-1|0;if((f[M+4>>2]|0)-E>>2>>>0<=I>>>0){H=M;break}else{M=G;G=I;F=M}}Cq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Nd(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;nr(k);u=g;return 1}pj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Nd(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;nr(k);u=g;return 1}function hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=go(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=go((l|0)==0&(k|0)==0&1|0,0,l|0,k|0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=((n|0)==0&1)+n&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)Cq(i);p=tn(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=p;p=j;do{b[q>>0]=0;q=(f[l>>2]|0)+1|0;f[l>>2]=q;p=p+-1|0}while((p|0)!=0);o=f[i>>2]|0}p=a+28|0;q=(f[p>>2]|0)+-1|0;a:do if((q|0)>-1){j=a+24|0;r=k;s=0;t=4096;v=q;while(1){w=256-(r&255)|0;x=(f[j>>2]&1<>>0>>0){z=t;A=s}else{b[o+s>>0]=t;z=t>>>8;A=s+1|0}En(f[4248+(y<<3)>>2]|0,0,z|0,0)|0;B=z+(x?0:w&255)+(X((I+z|0)>>>(f[4248+(y<<3)+4>>2]|0),256-y|0)|0)|0;y=v+-1|0;if((y|0)<=-1){C=A;D=B;break a}r=b[h>>0]|0;s=A;t=B;v=y}}else{C=0;D=4096}while(0);A=f[m>>2]|0;if((A|0)==(f[n>>2]|0)){E=C;F=D}else{z=A;A=C;C=D;while(1){z=z+-4|0;D=f[z>>2]|0;q=A;k=C;v=31;while(1){t=b[h>>0]|0;s=256-(t&255)|0;r=(1<>>0>>0){G=k;H=q}else{b[o+q>>0]=k;G=k>>>8;H=q+1|0}En(f[4248+(j<<3)>>2]|0,0,G|0,0)|0;k=G+(r?0:s&255)+(X((I+G|0)>>>(f[4248+(j<<3)+4>>2]|0),256-j|0)|0)|0;if((v|0)<=0)break;else{q=H;v=v+-1|0}}if((z|0)==(f[n>>2]|0)){E=H;F=k;break}else{A=H;C=k}}}C=F+-4096|0;do if(C>>>0>=64){if(C>>>0<16384){H=o+E|0;A=F+12288|0;b[H>>0]=A;J=2;K=H+1|0;L=A>>>8;M=20;break}if(C>>>0<4194304){A=o+E|0;H=F+8384512|0;b[A>>0]=H;b[A+1>>0]=H>>>8;J=3;K=A+2|0;L=H>>>16;M=20}else N=E}else{J=1;K=o+E|0;L=C;M=20}while(0);if((M|0)==20){b[K>>0]=L;N=J+E|0}E=c+16|0;J=E;L=f[J+4>>2]|0;if(!((L|0)>0|(L|0)==0&(f[J>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}ai(N,c)|0;h=f[i>>2]|0;J=E;E=f[J+4>>2]|0;if(!((E|0)>0|(E|0)==0&(f[J>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+N|0)|0}N=e;f[N>>2]=0;f[N+4>>2]=0;nf(a,2,e);e=f[a+12>>2]|0;N=f[m>>2]|0;if((N|0)!=(e|0))f[m>>2]=N+(~((N+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;p=f[i>>2]|0;if(!p){u=d;return}if((f[l>>2]|0)!=(p|0))f[l>>2]=p;pr(p);u=d;return}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=h;h=0;r=0;while(1){s=f[(f[q+24>>2]|0)+(r<<2)>>2]|0;if((s|0)==-1){t=q;v=h}else{w=h+1|0;f[b>>2]=h;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ti(i,b);else{f[x>>2]=h;f[j>>2]=x+4}f[d>>2]=s;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=s;else{x=s+1|0;z=((x>>>0)%3|0|0)==0?s+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=s;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=s}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];s=f[o>>2]|0;if((s|0)==(f[p>>2]|0))Ti(n,d);else{f[s>>2]=f[d>>2];f[o>>2]=s+4}s=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[s+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ti(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ti(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=G;I=F;break b}else A=F}f[e>>2]=-1;H=G;I=F}else{H=s;I=w}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=s;I=w}t=H;v=I}r=r+1|0;if(r>>>0>=(f[t+28>>2]|0)-(f[t+24>>2]|0)>>2>>>0)break;else{q=t;h=v}}u=c;return}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){l=((k>>>0)%3|0|0)==0?j+-2|0:k;if(!((j>>>0)%3|0)){m=l;n=j+2|0;break}else{m=l;n=j+-1|0;break}}else{m=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(m<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(n<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((n|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=r;r=1;while(1){w=f[t>>2]|0;x=f[(f[w>>2]|0)+36>>2]|0;f[e>>2]=(v>>>0)/3|0;f[d>>2]=f[e>>2];if(Ma[x&127](w,d)|0){y=r;break}w=v+1|0;x=((w>>>0)%3|0|0)==0?v+-2|0:w;if((x|0)==-1){z=12;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=r+1|0;if((v|0)==-1){y=x;break}else r=x}if((z|0)==12)y=r+1|0;A=f[k>>2]|0;B=f[l>>2]|0;C=y}else{A=q;B=o;C=1}f[A+(f[B+(f[i>>2]<<2)>>2]<<2)>>2]=C;C=a+108|0;i=f[C>>2]|0;B=i-A>>2;A=i;if((m|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(i|0)!=-1):0){m=a+64|0;y=i;i=1;while(1){r=f[m>>2]|0;v=f[(f[r>>2]|0)+36>>2]|0;f[g>>2]=(y>>>0)/3|0;f[d>>2]=f[g>>2];if(Ma[v&127](r,d)|0){D=i;break}r=y+1|0;f[(f[l>>2]|0)+((((r>>>0)%3|0|0)==0?y+-2|0:r)<<2)>>2]=B;r=(((y>>>0)%3|0|0)==0?2:-1)+y|0;if((r|0)==-1){z=20;break}y=f[(f[(f[h>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;r=i+1|0;if((y|0)==-1){D=r;break}else i=r}if((z|0)==20)D=i+1|0;E=f[C>>2]|0;F=D}else{E=A;F=1}f[d>>2]=F;if(E>>>0<(f[a+112>>2]|0)>>>0){f[E>>2]=F;f[C>>2]=E+4}else Ti(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;n=f[k>>2]|0;if((n|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3852+(n<<2)>>2]|0;f[d>>2]=a;n=o+(s*12|0)+4|0;G=f[n>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[n>>2]=G+4}else Ti(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=mr(j)|0;pj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=o;G=q;H=E}else{I=m;Cq(I)}while(1){E=f[F+(H<<2)>>2]|0;q=X(H,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(H|0)&(N|0)<(H|0)&(M|0)<(H|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Nd(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(G+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Nd(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((H|0)<=1)break a;N=f[l>>2]|0;F=f[N>>2]|0;K=H+-1|0;if((f[N+4>>2]|0)-F>>2>>>0<=K>>>0){I=N;break}else{N=H;H=K;G=N}}Cq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Nd(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;nr(k);u=g;return 1}pj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Nd(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;nr(k);u=g;return 1}function ld(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2140;i=c;f[a>>2]=i;return}case 2:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2196;i=c;f[a>>2]=i;return}case 4:{c=tn(168)|0;Oi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=tn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2252;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2308;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2364;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2420;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function md(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1720;i=c;f[a>>2]=i;return}case 2:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1776;i=c;f[a>>2]=i;return}case 4:{c=tn(168)|0;Qi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=tn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1832;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1888;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1944;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2e3;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function nd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=x;B=e;while(1){C=A+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=B;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=B;break d}if((d[v>>1]|0)!=(d[A+12>>1]|0)){y=B;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=B;break d}C=f[A>>2]|0;if(!C){y=A;break}else{D=A;A=C;B=D}}}while(0);f[c>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=j;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(m|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=w;t=F;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{B=d[w>>1]|0;A=q;z=e;while(1){D=A+8|0;if(B<<16>>16!=(d[D>>1]|0)){G=z;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=z;break e}if((d[u>>1]|0)!=(d[A+12>>1]|0)){G=z;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=z;break e}D=f[A>>2]|0;if(!D){G=A;break}else{C=A;A=D;z=C}}}while(0);f[c>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);j=f[p>>2]|0;if(!j){E=43;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){E=43;break}else{k=r;m=t;n=r}}if((E|0)==43)return}function od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=x;B=e;while(1){C=A+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=B;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=B;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=B;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=B;break d}C=f[A>>2]|0;if(!C){y=A;break}else{D=A;A=C;B=D}}}while(0);f[d>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=j;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(m|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=w;t=F;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{B=b[w>>0]|0;A=q;z=e;while(1){D=A+8|0;if(B<<24>>24!=(b[D>>0]|0)){G=z;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=z;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=z;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=z;break e}D=f[A>>2]|0;if(!D){G=A;break}else{C=A;A=D;z=C}}}while(0);f[d>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);j=f[p>>2]|0;if(!j){E=43;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){E=43;break}else{k=r;m=t;n=r}}if((E|0)==43)return}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=v;z=d;while(1){if((x|0)!=(f[y+8>>2]|0)){w=z;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){w=z;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){w=z;break d}if((f[u>>2]|0)!=(f[y+20>>2]|0)){w=z;break d}A=f[y>>2]|0;if(!A){w=y;break}else{B=y;y=A;z=B}}}while(0);f[c>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=i;while(1){u=f[d+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(l|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=u;s=D;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{z=f[d+8>>2]|0;y=v;x=d;while(1){if((z|0)!=(f[y+8>>2]|0)){E=x;break e}if((f[u>>2]|0)!=(f[y+12>>2]|0)){E=x;break e}if((f[t>>2]|0)!=(f[y+16>>2]|0)){E=x;break e}if((f[p>>2]|0)!=(f[y+20>>2]|0)){E=x;break e}B=f[y>>2]|0;if(!B){E=y;break}else{A=y;y=B;x=A}}}while(0);f[c>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);i=f[o>>2]|0;if(!i){C=43;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){C=43;break}else{j=q;l=s;m=q}}if((C|0)==43)return}function qd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;pj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=go(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0>>0)}Rn(m);r=eo(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;s=n;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));bd(n,l,32,g)|0;l=n+16|0;s=eo(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=go(s|0,I|0,39,0)|0;s=jo(o|0,I|0,3)|0;o=go(s|0,I|0,8,0)|0;s=go(o|0,I|0,t|0,0)|0;Gl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;wi(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=f[H>>2]|0;K=0;do{L=J>>>3;M=J&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(h[N>>0]|0)&(1<>2]|0)+L|0;b[N>>0]=h[N>>0]|0|(F>>>K&1)<>2]|0)+1|0;f[H>>2]=J;K=K+1|0}while((K|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}Lf(n,g);eg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Fe(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);pr(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)pr(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;pr(n);u=i;return 1}function rd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=v;A=e;while(1){B=z+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=A;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=A;break d}if((d[u>>1]|0)!=(d[z+12>>1]|0)){w=A;break d}B=f[z>>2]|0;if(!B){w=z;break}else{C=z;z=B;A=C}}}while(0);f[c>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=E;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{A=d[u>>1]|0;z=u+2|0;y=q;x=e;while(1){C=y+8|0;if(A<<16>>16!=(d[C>>1]|0)){F=x;break e}if((d[z>>1]|0)!=(d[C+2>>1]|0)){F=x;break e}if((d[v>>1]|0)!=(d[y+12>>1]|0)){F=x;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;x=B}}}while(0);f[c>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);j=f[p>>2]|0;if(!j){D=41;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){D=41;break}else{k=r;m=t;n=r}}if((D|0)==41)return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=w;A=e;while(1){B=z+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=A;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=A;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=A;break d}B=f[z>>2]|0;if(!B){x=z;break}else{C=z;z=B;A=C}}}while(0);f[d>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=j;while(1){v=f[e+4>>2]|0;if(v>>>0>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(m|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=v;t=E;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{A=b[v>>0]|0;z=q;y=e;while(1){C=z+8|0;if(A<<24>>24!=(b[C>>0]|0)){F=y;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=y;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=y;break e}C=f[z>>2]|0;if(!C){F=z;break}else{B=z;z=C;y=B}}}while(0);f[d>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);j=f[p>>2]|0;if(!j){D=41;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){D=41;break}else{k=r;m=t;n=r}}if((D|0)==41)return}function td(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=jo(c|0,d|0,52)|0;i=h&2047;h=jo(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=eo(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=Lo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=eo(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=eo(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=n;n=m;m=0;while(1){q=m+-1|0;o=eo(o|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&o>>>0>4294967295)){r=q;break}else m=q}}else r=0;m=eo(c|0,d|0,1-r|0)|0;t=m;u=I;v=r}else{t=c;u=d&1048575|1048576;v=i}if(!j){m=eo(e|0,g|0,12)|0;o=I;if((o|0)>-1|(o|0)==-1&m>>>0>4294967295){n=m;m=o;o=0;while(1){q=o+-1|0;n=eo(n|0,m|0,1)|0;m=I;if(!((m|0)>-1|(m|0)==-1&n>>>0>4294967295)){w=q;break}else o=q}}else w=0;o=eo(e|0,g|0,1-w|0)|0;x=o;y=I;z=w}else{x=e;y=g&1048575|1048576;z=j}o=io(t|0,u|0,x|0,y|0)|0;n=I;m=(n|0)>-1|(n|0)==-1&o>>>0>4294967295;b:do if((v|0)>(z|0)){q=t;A=u;B=o;C=n;D=m;E=v;while(1){if(D)if((B|0)==0&(C|0)==0)break;else{F=B;G=C}else{F=q;G=A}H=eo(F|0,G|0,1)|0;J=I;K=E+-1|0;L=io(H|0,J|0,x|0,y|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(z|0)){q=H;A=J;B=L;C=M;D=N;E=K}else{O=M;P=H;Q=J;R=L;S=N;T=K;break b}}U=a*0.0;break a}else{O=n;P=t;Q=u;R=o;S=m;T=v}while(0);if(S)if((R|0)==0&(O|0)==0){U=a*0.0;break}else{V=O;W=R}else{V=Q;W=P}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=W;o=V;n=T;while(1){E=eo(m|0,o|0,1)|0;D=I;C=n+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=E;o=D;n=C}else{X=E;Y=D;Z=C;break}}}else{X=W;Y=V;Z=T}if((Z|0)>0){n=go(X|0,Y|0,0,-1048576)|0;o=I;m=eo(Z|0,0,52)|0;_=o|I;$=n|m}else{m=jo(X|0,Y|0,1-Z|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function ud(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;i=c+12|0;j=f[i>>2]|0;if((j|0)!=(e|0)){k=j;do{j=k+-4|0;f[i>>2]=j;l=f[j>>2]|0;f[j>>2]=0;if(l|0)Qa[f[(f[l>>2]|0)+4>>2]&127](l);k=f[i>>2]|0}while((k|0)!=(e|0))}e=f[c+20>>2]|0;k=c+24|0;i=f[k>>2]|0;if((i|0)!=(e|0))f[k>>2]=i+(~((i+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;i=c+36|0;k=f[i>>2]|0;if((k|0)!=(e|0))f[i>>2]=k+(~((k+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=tn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;m=e;n=16066;o=m+23|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+23>>0]=0;f[a>>2]=-1;nj(a+4|0,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}Od(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;k=e+11|0;if((b[k>>0]|0)<0)pr(f[e>>2]|0);Si(a,c);if(f[a>>2]|0){u=g;return}if((b[k>>0]|0)<0)pr(f[e>>2]|0);if(!(La[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=29;m=k;n=16090;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+29>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+20>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16120;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+24>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16152;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+28>>2]&127](c)|0)){k=tn(48)|0;f[h>>2]=k;f[h+8>>2]=-2147483600;f[h+4>>2]=34;m=k;n=16184;o=m+34|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+34>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}e=tn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=30;m=e;n=16219;o=m+30|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+30>>0]=0;e=Yj(d,h,0)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);if(e)Qa[f[(f[c>>2]|0)+48>>2]&127](c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;return}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=u;y=d;while(1){if((w|0)!=(f[x+8>>2]|0)){v=y;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){v=y;break d}if((f[t>>2]|0)!=(f[x+16>>2]|0)){v=y;break d}z=f[x>>2]|0;if(!z){v=x;break}else{A=x;x=z;y=A}}}while(0);f[c>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=i;while(1){t=f[d+4>>2]|0;if(t>>>0>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(l|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=t;s=C;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{y=f[d+8>>2]|0;x=u;w=d;while(1){if((y|0)!=(f[x+8>>2]|0)){D=w;break e}if((f[t>>2]|0)!=(f[x+12>>2]|0)){D=w;break e}if((f[p>>2]|0)!=(f[x+16>>2]|0)){D=w;break e}A=f[x>>2]|0;if(!A){D=x;break}else{z=x;x=A;w=z}}}while(0);f[c>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);i=f[o>>2]|0;if(!i){B=41;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){B=41;break}else{j=q;l=s;m=q}}if((B|0)==41)return}function wd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3044;i=c;f[a>>2]=i;return}case 2:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3100;i=c;f[a>>2]=i;return}case 4:{c=tn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3156;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));en(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=tn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3212;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3268;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=3324;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3380;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function xd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){o=j;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(m|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=e;x=o;while(1){y=u+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:z&255)|0)){r=x;break c}if(!w?Yk(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=x;break c}y=f[u>>2]|0;if(!y){r=u;break c}else{A=u;u=y;x=A}}}if(w){x=e;u=o;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=e;x=o;while(1){w=u+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:y&255)|0)){r=x;break c}y=A?f[w>>2]|0:w;if((f[s>>2]&255)<<24>>24==(b[y>>0]|0)){B=v;C=s;D=y}else{r=x;break c}while(1){B=B+-1|0;C=C+1|0;if(!B)break;D=D+1|0;if((b[C>>0]|0)!=(b[D>>0]|0)){r=x;break c}}y=f[u>>2]|0;if(!y){r=u;break}else{w=u;u=y;x=w}}}while(0);f[d>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}j=f[o>>2]|0;if(!j){E=43;break a}else{g=o;d=o}}f[q>>2]=d;l=f[o>>2]|0;if(!l){E=43;break}else{k=o;m=p;n=o}}if((E|0)==43)return}function yd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2680;i=c;f[a>>2]=i;return}case 2:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2736;i=c;f[a>>2]=i;return}case 4:{c=tn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2792;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));en(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=tn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2848;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2904;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2960;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3016;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function zd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=u;z=e;while(1){A=y+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=z;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=z;break d}A=f[y>>2]|0;if(!A){v=y;break}else{B=y;y=A;z=B}}}while(0);f[c>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=D;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{z=d[u>>1]|0;y=u+2|0;x=q;w=e;while(1){B=x+8|0;if(z<<16>>16!=(d[B>>1]|0)){E=w;break e}if((d[y>>1]|0)!=(d[B+2>>1]|0)){E=w;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;w=A}}}while(0);f[c>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);j=f[p>>2]|0;if(!j){C=39;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){C=39;break}else{k=r;m=t;n=r}}if((C|0)==39)return}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=u;z=e;while(1){A=y+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=z;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=z;break d}A=f[y>>2]|0;if(!A){v=y;break}else{B=y;y=A;z=B}}}while(0);f[d>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=D;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{z=b[u>>0]|0;y=u+1|0;x=q;w=e;while(1){B=x+8|0;if(z<<24>>24!=(b[B>>0]|0)){E=w;break e}if((b[y>>0]|0)!=(b[B+1>>0]|0)){E=w;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;w=A}}}while(0);f[d>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);j=f[p>>2]|0;if(!j){C=39;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){C=39;break}else{k=r;m=t;n=r}}if((C|0)==39)return}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Kp(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ih(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=r;n=a+16|0;while(1){l=f[e+16>>2]|0;if((d|0)<(l|0)){j=f[e>>2]|0;if(!j){x=23;break}else{y=j;z=e}}else{if((l|0)>=(d|0)){x=27;break}A=e+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=l;z=A}}e=y;n=z}if((x|0)==23){B=e;C=e;break}else if((x|0)==26){B=e;C=A;break}else if((x|0)==27){B=e;C=n;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=tn(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}He(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Cj(h+4|0,f[k>>2]|0);Cj(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(m|0)==(q|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(Yk(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(a|0)==(q|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(Yk(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function Dd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=Yk(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=Yk(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=36}else r=20;if((r|0)==20?!k:0)r=36;if((r|0)==36){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=i+4|0;m=f[k>>2]|0;if(!m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=m;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){m=t+16|0;l=b[m+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=Yk(n?f[g>>2]|0:g,q?f[m>>2]|0:m,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=30;if((r|0)==30?o>>>0

>>0:0)break;s=xg(a,d,g)|0;return s|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;s=k;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((i|0)==(f[a>>2]|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){k=f[h+4>>2]|0;if(!k){w=h;break}else h=k}}h=w;k=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[k+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=Yk(j?f[k>>2]|0:k,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=12;if((r|0)==12?p>>>0>>0:0){v=h;break}s=xg(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{i=v;f[d>>2]=i;s=i+4|0;return s|0}return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=t;x=d;while(1){if((v|0)!=(f[w+8>>2]|0)){u=x;break d}if((f[p>>2]|0)!=(f[w+12>>2]|0)){u=x;break d}y=f[w>>2]|0;if(!y){u=w;break}else{z=w;w=y;x=z}}}while(0);f[c>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=i;while(1){p=f[d+4>>2]|0;if(p>>>0>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=B;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{x=f[d+8>>2]|0;w=t;v=d;while(1){if((x|0)!=(f[w+8>>2]|0)){C=v;break e}if((f[p>>2]|0)!=(f[w+12>>2]|0)){C=v;break e}z=f[w>>2]|0;if(!z){C=w;break}else{y=w;w=z;v=y}}}while(0);f[c>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);i=f[o>>2]|0;if(!i){A=39;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){A=39;break}else{j=q;l=s;m=q}}if((A|0)==39)return}function Fd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Dm(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Dm(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=go(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;io(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=io(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=tn(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14756;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Hh(c,e)|0)!=0):0)q=Ik(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Ik(i,e,-1)|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);i=(1<>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;if(i&1|0?(q=(_(i|0)|0)^31,(q+-1|0)>>>0<=28):0){f[e>>2]=q+1;i=2<>2]=i+-1;q=i+-2|0;f[e+8>>2]=q;f[e+12>>2]=(q|0)/2|0}switch(Ui(f[j>>2]|0,f[h>>2]|0)|0){case 6:{q=f[j>>2]|0;i=f[h>>2]|0;c=f[(f[(f[i+4>>2]|0)+8>>2]|0)+(q<<2)>>2]|0;do if((La[f[(f[i>>2]|0)+8>>2]&127](i)|0)==1){If(g,i,6,q,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=22;break}else{t=p;v=g;break}}else{s=g;r=22}while(0);if((r|0)==22){r=tn(24)|0;f[r+4>>2]=c;c=r+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[r>>2]=2624;c=r;f[g>>2]=c;t=c;v=s}f[a>>2]=t;f[v>>2]=0;u=d;return}case 0:{v=f[h>>2]|0;h=f[(f[(f[v+4>>2]|0)+8>>2]|0)+(f[j>>2]<<2)>>2]|0;if((La[f[(f[v>>2]|0)+8>>2]&127](v)|0)==1)La[f[(f[v>>2]|0)+8>>2]&127](v)|0;v=tn(24)|0;f[v+4>>2]=h;h=v+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[v>>2]=2624;f[a>>2]=v;u=d;return}default:{f[a>>2]=0;u=d;return}}}function Hd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=tn(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14868;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+20>>0]=0;j=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);i=f[h>>2]|0;n=tn(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14889;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);i=a+64|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+56>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=tn(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14912;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Ik(o,d,-1)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((ki(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Fe(j,d,g,g+1|0)|0}j=tn(296)|0;Xi(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Qa[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Fe(n,d,g,g+1|0)|0}g=tn(360)|0;ui(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Qa[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ma[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Id(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){b:do if(i){g=k;j=l;c=n;while(1){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=c;s=p;t=o;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[c>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}j=f[e>>2]|0;if(!j){w=37;break a}else{g=e;c=e}}}else{c=k;g=l;j=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(m|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=j;s=x;t=y;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[j>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[c>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{c=p;j=p}}}while(0);f[s>>2]=r;l=f[q>>2]|0;if(!l){w=37;break}else{k=q;m=t;n=q}}if((w|0)==37)return}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){b:do if(i){g=k;j=l;d=n;while(1){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=d;s=p;t=o;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[d>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}j=f[e>>2]|0;if(!j){w=37;break a}else{g=e;d=e}}}else{d=k;g=l;j=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(m|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=j;s=x;t=y;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[j>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[d>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{d=p;j=p}}}while(0);f[s>>2]=r;l=f[q>>2]|0;if(!l){w=37;break}else{k=q;m=t;n=q}}if((w|0)==37)return}function Kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=1;n=0;while(1){o=(f[l+(n<<2)>>2]|0)>>>0>(f[l+(m<<2)>>2]|0)>>>0?m:n;m=m+1|0;if(m>>>0>=j>>>0){k=o;break}else n=o}return k|0}if(j){j=f[a+1128>>2]|0;n=f[e>>2]|0;e=f[a+1140>>2]|0;m=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[n+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0

>>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[n+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[m+(b<<2)>>2]|0)+(1<>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=f[q>>2]|0;u=c;do{v=s+((X(u,p)|0)<<2)+(b<<2)|0;t=t+((f[v>>2]|0)>>>0>>0&1)|0;f[q>>2]=t;u=u+1|0}while((u|0)!=(g|0));u=h-t|0;f[q>>2]=u>>>0>>0?t:u}b=b+1|0;u=f[i>>2]|0}while(b>>>0>>0);r=u}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=c>>>0>>0;w=l?g:h;x=l?d:c}g=g+1|0;if(g>>>0>=r>>>0){y=w;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;r=a+1100|0;g=f[r>>2]|0;if((h|0)<4){i=y&15;b=4-h|0;f[c>>2]=b;h=i>>>b|g;f[r>>2]=h;b=a+1092|0;d=f[b>>2]|0;if((d|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[d>>2]=h;f[b>>2]=d+4}f[r>>2]=i<<32-(f[c>>2]|0);k=y;return k|0}i=g|y<<28>>>w;f[r>>2]=i;g=w+4|0;f[c>>2]=g;if((g|0)!=32){k=y;return k|0}g=a+1092|0;w=f[g>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[w>>2]=i;f[g>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){b:do if(h){e=j;i=k;c=m;while(1){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=c;r=o;s=n;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[c>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}i=f[d>>2]|0;if(!i){v=37;break a}else{e=d;c=d}}}else{c=j;e=k;i=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(l|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=i;r=w;s=x;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[i>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[c>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{c=o;i=o}}}while(0);f[r>>2]=q;k=f[p>>2]|0;if(!k){v=37;break}else{j=p;l=s;m=p}}if((v|0)==37)return}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=a+24|0;k=g;l=d;d=j;j=g;a:while(1){g=k;m=l;n=j;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(d|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=p;y=o}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[x+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=y;break c}}while((z|0)<(v|0));z=f[x>>2]|0;if(!z){s=x;break}else{w=x;x=z;y=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=o;d=q;j=o}}if((E|0)==38)return}function Nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((m|l|0)>-1){n=1;o=1}else{p=(l|0)<1&(m|0)<1;n=p?-1:(l|0)>0?1:-1;o=p?-1:(m|0)>0?1:-1}p=X(g,n)|0;q=X(g,o)|0;g=(l<<1)-p|0;f[c>>2]=g;l=(m<<1)-q|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;r=0-g|0;s=o}else{f[c>>2]=l;r=g;s=l}f[c>>2]=(s+p|0)/2|0;f[h>>2]=(r+q|0)/2|0;q=f[d>>2]|0;r=f[j>>2]|0;if((r|q|0)>-1){t=1;u=1}else{p=(q|0)<1&(r|0)<1;t=p?-1:(q|0)>0?1:-1;u=p?-1:(r|0)>0?1:-1}p=f[e>>2]|0;e=X(p,t)|0;s=X(p,u)|0;p=(q<<1)-e|0;f[d>>2]=p;q=(r<<1)-s|0;f[j>>2]=q;if((X(t,u)|0)>-1){u=0-q|0;f[d>>2]=u;v=0-p|0;w=u}else{f[d>>2]=q;v=p;w=q}q=(w+e|0)/2|0;f[d>>2]=q;e=(v+s|0)/2|0;f[j>>2]=e;x=q;y=e}else{x=i;y=k}if(!x)if(!y){z=x;A=y}else B=16;else if((x|0)<0&(y|0)<1){z=x;A=y}else B=16;if((B|0)==16){if(!x)C=(y|0)==0?0:(y|0)>0?3:1;else C=(x|0)>0?(y>>31)+2|0:(y|0)<1?0:3;y=f[c>>2]|0;x=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=x;f[C+4>>2]=0-y;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-y;f[C+4>>2]=0-x;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-x;f[C+4>>2]=y;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=y;f[C+4>>2]=x;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;z=D;A=E}E=(f[c>>2]|0)-z|0;f[a>>2]=E;z=(f[h>>2]|0)-A|0;A=a+4|0;f[A>>2]=z;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((z|0)>=0){G=z;f[A>>2]=G;return}G=(f[b+4>>2]|0)+z|0;f[A>>2]=G;return}function Od(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Fe(n,g,16277,16282)|0}n=La[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Fe(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Fe(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=h}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Fe(k,g,i,i+1|0)|0;q=f[m>>2]|0;r=h}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=t;r=h}r=La[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=r;r=q+16|0;t=f[r+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[q+4>>2];f[g>>2]=f[h>>2];Fe(q,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;q=f[m+4>>2]|0;if((q|0)>0|(q|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Fe(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=tn(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3740;m=k+12|0;f[m>>2]=3764;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3764;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3764;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;hh(h+8|0,s,g);Qa[f[(f[h>>2]|0)+8>>2]&127](h);Gf(j,h);Gf(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;dg(s,g)|0;f[g>>2]=3764;o=f[g+20>>2]|0;if(o|0)pr(o);o=f[g+8>>2]|0;if(o|0)pr(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3764;l=f[j+20>>2]|0;if(l|0)pr(l);l=f[j+8>>2]|0;if(l|0)pr(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];dg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;mg(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);pr(r)}f[v>>2]=3764;v=f[i+24>>2]|0;if(v|0)pr(v);v=f[i+12>>2]|0;if(v|0)pr(v);f[h>>2]=3764;v=f[h+20>>2]|0;if(v|0)pr(v);v=f[h+8>>2]|0;if(!v){u=e;return}pr(v);u=e;return}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ja,x=0,y=Ja,z=Ja,A=Ja;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)Cq(g);else{l=h<<2;m=tn(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;pj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);pr(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=mr(r)|0;q=mr(r)|0;r=c+48|0;o=f[r>>2]|0;p=c+40|0;g=f[p>>2]|0;a=f[c>>2]|0;eh(q|0,(f[a>>2]|0)+o|0,g|0)|0;eh(f[k>>2]|0,(f[a>>2]|0)+o|0,g|0)|0;g=r;r=f[g>>2]|0;o=f[g+4>>2]|0;g=p;p=f[g>>2]|0;a=f[g+4>>2]|0;g=f[c>>2]|0;eh(s|0,(f[g>>2]|0)+r|0,p|0)|0;l=f[c+80>>2]|0;a:do if(l>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=En(p|0,a|0,c|0,0)|0;t=go(m|0,I|0,r|0,o|0)|0;eh(q|0,(f[g>>2]|0)+t|0,p|0)|0;c=c+1|0;if(c>>>0>=l>>>0)break a}}c=f[k>>2]|0;t=1;do{m=En(p|0,a|0,t|0,0)|0;v=go(m|0,I|0,r|0,o|0)|0;eh(q|0,(f[g>>2]|0)+v|0,p|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0>>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;z=$(n[j>>2]);k=0;while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}nr(q);nr(s);i=1;u=e;return i|0}function Rd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a+8|0;Mh(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=f[g>>2]|0;p=h;while(1){h=b+(p<<2)|0;q=c+(p<<2)|0;if((o|0)>0){r=o;s=0;t=h+(d<<2)|0;while(1){if((r|0)>0){u=0;do{v=f[t+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[h+(s<<2)>>2]|0)-(f[z+(s<<2)>>2]|0)|0;w=q+(s<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}s=s+1|0;w=f[g>>2]|0;if((s|0)>=(w|0)){C=w;break}else{r=w;t=z}}}else C=o;p=p-e|0;if((p|0)<=0){D=C;break}else o=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=mr(C)|0;pj(e|0,0,C|0)|0;if((D|0)<=0){nr(e);return 1}C=a+16|0;o=a+32|0;p=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=D;D=0;n=e;while(1){if((a|0)>0){l=0;do{j=f[n+(l<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[o>>2]|0;f[k+(l<<2)>>2]=y;E=k}else{k=f[p>>2]|0;y=f[o>>2]|0;f[y+(l<<2)>>2]=(j|0)<(k|0)?k:j;E=y}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[o>>2]|0;l=(f[b+(D<<2)>>2]|0)-(f[F+(D<<2)>>2]|0)|0;y=c+(D<<2)|0;f[y>>2]=l;if((l|0)>=(f[z>>2]|0)){if((l|0)>(f[m>>2]|0)){G=l-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+l|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}D=D+1|0;a=f[g>>2]|0;if((D|0)>=(a|0))break;else n=F}nr(e);return 1}function Sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=v;z=t}else{m=b;return m|0}}else{y=p;z=c}c=y-(b+(j<<2))>>2;t=b+(c<<2)|0;if(t>>>0

>>0){v=(p+(0-c<<2)+~r|0)>>>2;r=y;s=t;while(1){f[r>>2]=f[s>>2];s=s+4|0;if(s>>>0>=p>>>0)break;else r=r+4|0}f[o>>2]=y+(v+1<<2)}if(c|0){c=t;t=y;do{c=c+-4|0;t=t+-4|0;f[t>>2]=f[c>>2]}while((c|0)!=(b|0))}c=z;if((k|0)==(c|0)){m=b;return m|0}else{A=k;B=b}while(1){f[B>>2]=f[A>>2];A=A+4|0;if((A|0)==(c|0)){m=b;break}else B=B+4|0}return m|0}B=(q-g>>2)+j|0;if(B>>>0>1073741823)Cq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0>>0?B:g):1073741823;g=b;B=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{C=tn(n<<2)|0;break}else C=0;while(0);j=C+(B<<2)|0;c=C+(n<<2)|0;if((k|0)==(l|0))D=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}D=j+(n<<2)|0}n=j+(0-B<<2)|0;if((h|0)>0)eh(n|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){eh(D|0,b|0,h|0)|0;E=D+(h>>>2<<2)|0}else E=D;f[a>>2]=n;f[o>>2]=E;f[d>>2]=c;if(!e){m=j;return m|0}pr(e);m=j;return m|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;ai(f[i>>2]|0,b)|0;Gn(h);gl(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=j;o=k;p=1;while(1){if(o){q=0;r=p;while(1){s=(f[n>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;v=m;w=f[v>>2]|0;j=f[v+4>>2]|0;if((j|0)>0|(j|0)==0&w>>>0>0){x=j;y=w}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;w=m;x=f[w+4>>2]|0;y=f[w>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Dj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(h);u=c;return 1}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)Cq(h);k=i;if(j>>>0<=g>>>0)Cq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Sg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{dh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{hg(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Sg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=0;i=d;m=g;b:while(1){n=f[i>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=o;o=i;s=m;while(1){f[o>>2]=r;if((s|0)==(a|0)){t=a;break}u=s+-4|0;r=f[u>>2]|0;if(h>>>0<=r>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(r<<3)>>2]|0)>>>0){t=s;break}else{v=s;s=u;o=v}}f[t>>2]=n;o=k+1|0;if((o|0)==8){w=0;x=(i+4|0)==(b|0);break a}else y=o}else y=k;o=i+4|0;if((o|0)==(b|0)){w=1;x=0;break a}else{s=i;k=y;i=o;m=s}}if((p|0)==14)Cq(e);else if((p|0)==16)Cq(e);else if((p|0)==20)Cq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;ai(f[i>>2]|0,b)|0;Gn(h);gl(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=j;o=k;p=1;while(1){if(o){q=0;r=p;while(1){s=(f[n>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;v=m;w=f[v>>2]|0;j=f[v+4>>2]|0;if((j|0)>0|(j|0)==0&w>>>0>0){x=j;y=w}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;w=m;x=f[w+4>>2]|0;y=f[w>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Dj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(h);u=c;return 1}function Wd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)nr(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=n;x=p}else{y=g;Cq(y)}while(1){f[j>>2]=f[w+(x<<2)>>2];f[i>>2]=f[j>>2];yc(a,i,b,x);g=X(x,e)|0;p=b+(g<<2)|0;n=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=g;g=0;z=f[k>>2]|0;while(1){if((m|0)>0){A=0;do{B=f[z+(A<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;A=(f[p+(g<<2)>>2]|0)-(f[F+(g<<2)>>2]|0)|0;C=n+(g<<2)|0;f[C>>2]=A;if((A|0)>=(f[s>>2]|0)){if((A|0)>(f[v>>2]|0)){G=A-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+A|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}g=g+1|0;m=f[l>>2]|0;if((g|0)>=(m|0))break;else z=F}}x=x+-1|0;if((x|0)<=-1){H=5;break}z=f[d>>2]|0;w=f[z>>2]|0;if((f[z+4>>2]|0)-w>>2>>>0<=x>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)Cq(y);return 0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)nr(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=n;x=p}else{y=g;Cq(y)}while(1){f[j>>2]=f[w+(x<<2)>>2];f[i>>2]=f[j>>2];xc(a,i,b,x);g=X(x,e)|0;p=b+(g<<2)|0;n=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=g;g=0;z=f[k>>2]|0;while(1){if((m|0)>0){A=0;do{B=f[z+(A<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;A=(f[p+(g<<2)>>2]|0)-(f[F+(g<<2)>>2]|0)|0;C=n+(g<<2)|0;f[C>>2]=A;if((A|0)>=(f[s>>2]|0)){if((A|0)>(f[v>>2]|0)){G=A-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+A|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}g=g+1|0;m=f[l>>2]|0;if((g|0)>=(m|0))break;else z=F}}x=x+-1|0;if((x|0)<=-1){H=5;break}z=f[d>>2]|0;w=f[z>>2]|0;if((f[z+4>>2]|0)-w>>2>>>0<=x>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)Cq(y);return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Ja,t=Ja,u=Ja,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=tn(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|s>$(t*u)){r=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;j=~~$(W($(s/u)))>>>0;Di(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=La[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0>>0?(q=o+(k<<2)|0,(p|0)!=(q|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{zi(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=ah(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0>>0?(r=m+(d<<2)|0,(n|0)!=(r|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{zi(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Nf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((v|0)==(i|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);pr(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}function _d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Qc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function $d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Rc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Sc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function be(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Tc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Uc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Vc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=2097152;if(d){d=2097152;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Bf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1} +function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Wc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=1048576;if(d){d=1048576;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Cf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Xc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=262144;if(d){d=262144;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Df(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Yc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=131072;if(d){d=131072;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Ef(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Zc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=32768;if(d){d=32768;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Hf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));_c(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));$c(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));ad(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));bd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));cd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));dd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));ed(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));fd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=f[e>>2]|0;n=c;o=e;p=h}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=r>>>(g+u|0)|f[s>>2]&~(-1>>>(32-w|0));f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=x;n=v;o=e;p=h-q|0}q=32-m|0;h=-1<31){m=~h;e=f[d>>2]|0;v=p+-32|0;x=v>>>5;c=x+1|0;w=v-(x<<5)|0;x=f[e>>2]|0;v=e;s=p;u=n;while(1){g=f[u>>2]|0;r=x&m;f[v>>2]=r;f[v>>2]=g<>2]|r;v=v+4|0;x=f[v>>2]&h|g>>>q;f[v>>2]=x;s=s+-32|0;if((s|0)<=31)break;else u=u+4|0}u=n+(c<<2)|0;f[b>>2]=u;f[d>>2]=e+(c<<2);y=u;z=w}else{y=n;z=p}if((z|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[y>>2]&-1>>>(32-z|0);y=(q|0)<(z|0)?q:z;n=f[d>>2]|0;w=f[n>>2]&~(-1<>2]&-1>>>(q-y|0));f[n>>2]=w;f[n>>2]=w|p<>2];w=(f[o>>2]|0)+y|0;q=n+(w>>>5<<2)|0;f[d>>2]=q;f[o>>2]=w&31;w=z-y|0;if((w|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[q>>2]=f[q>>2]&~(-1>>>(32-w|0))|p>>>y;f[o>>2]=w;i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Fe(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Fe(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Fe(p,e,i,i+1|0)|0;u=d;return 1}function se(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=n;y=p}else{z=l;Cq(z)}while(1){f[j>>2]=f[x+(y<<2)>>2];f[i>>2]=f[j>>2];ob(k,i,b,y)|0;l=X(y,e)|0;p=b+(l<<2)|0;n=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=l;l=0;a=o;while(1){if((m|0)>0){A=0;do{B=f[a+(A<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;A=(f[p+(l<<2)>>2]|0)-(f[F+(l<<2)>>2]|0)|0;C=n+(l<<2)|0;f[C>>2]=A;if((A|0)>=(f[t>>2]|0)){if((A|0)>(f[w>>2]|0)){G=A-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+A|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}l=l+1|0;m=f[g>>2]|0;if((l|0)>=(m|0))break;else a=F}}y=y+-1|0;if((y|0)<=-1){H=3;break}a=f[d>>2]|0;x=f[a>>2]|0;if((f[a+4>>2]|0)-x>>2>>>0<=y>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)Cq(z);return 0}function te(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=n;y=p}else{z=l;Cq(z)}while(1){f[j>>2]=f[x+(y<<2)>>2];f[i>>2]=f[j>>2];nb(k,i,b,y)|0;l=X(y,e)|0;p=b+(l<<2)|0;n=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=l;l=0;a=o;while(1){if((m|0)>0){A=0;do{B=f[a+(A<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;A=(f[p+(l<<2)>>2]|0)-(f[F+(l<<2)>>2]|0)|0;C=n+(l<<2)|0;f[C>>2]=A;if((A|0)>=(f[t>>2]|0)){if((A|0)>(f[w>>2]|0)){G=A-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+A|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}l=l+1|0;m=f[g>>2]|0;if((l|0)>=(m|0))break;else a=F}}y=y+-1|0;if((y|0)<=-1){H=3;break}a=f[d>>2]|0;x=f[a>>2]|0;if((f[a+4>>2]|0)-x>>2>>>0<=y>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)Cq(z);return 0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)Cq(a);p=k<<6;k=b+31&-32;si(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;qm(q|0,k|0,p<<2|0)|0;k=r-(p<<5)|0;r=q+(p<<2)|0;s=r;if((k|0)>0){t=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~t|f[l+(p<<2)>>2]&t;v=s;w=k}else{v=s;w=0}}else{v=q;w=0}f[g>>2]=v;f[g+4>>2]=w;w=g;g=f[w>>2]|0;v=f[w+4>>2]|0;w=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=w;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(w|0)pr(w);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=x;A=v;B=m}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;pj(z|0,-1,b<<2|0)|0;z=B-(b<<5)|0;B=A+(b<<2)|0;if(!z){u=d;return}f[B>>2]=f[B>>2]|-1>>>(32-z|0);u=d;return}else{if(i){C=x;D=v;E=m}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;pj(C|0,0,i<<2|0)|0;C=E-(i<<5)|0;E=D+(i<<2)|0;if(!C){u=d;return}f[E>>2]=f[E>>2]&~(-1>>>(32-C|0));u=d;return}}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=f[e>>2]|0;o=c;p=e;q=i}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=w;o=u;p=c;q=i-r|0}r=32-n|0;i=-1<31){n=~i;c=o;u=q;do{w=f[c>>2]|0;v=f[d>>2]|0;e=f[v>>2]&n;f[v>>2]=e;f[v>>2]=w<>2]|e;e=v+4|0;f[d>>2]=e;f[e>>2]=f[e>>2]&i|w>>>r;u=u+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((u|0)>31);x=c;y=q&31}else{x=o;y=q}if((y|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}q=f[x>>2]&-1>>>(32-y|0);x=(r|0)<(y|0)?r:y;o=f[d>>2]|0;c=f[o>>2]&~(-1<>2]&-1>>>(r-x|0));f[o>>2]=c;f[o>>2]=c|q<>2];c=(f[p>>2]|0)+x|0;r=o+(c>>>5<<2)|0;f[d>>2]=r;f[p>>2]=c&31;c=y-x|0;if((c|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[r>>2]=f[r>>2]&~(-1>>>(32-c|0))|q>>>x;f[p>>2]=c;j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function we(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=g;g=0;while(1){f[d>>2]=(g>>>0)/3|0;f[c>>2]=f[d>>2];if(!(ak(a,c)|0)?(m=f[e>>2]|0,(f[(f[m+12>>2]|0)+(g<<2)>>2]|0)==-1):0){n=g+1|0;o=((n>>>0)%3|0|0)==0?g+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[m>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){m=f[k>>2]|0;n=f[l>>2]|0;if((m|0)==(n<<5|0)){if((m+1|0)<0){q=11;break}r=n<<6;n=m+32&-32;si(j,m>>>0<1073741823?(r>>>0>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=m;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=o;o=g;while(1){f[r>>2]=m;n=o+1|0;a:do if((o|0)!=-1?(v=((n>>>0)%3|0|0)==0?o+-2|0:n,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=-1;C=y}else{B=f[(f[w>>2]|0)+(A<<2)>>2]|0;C=y}}else{B=-1;C=-1}while(0);r=t+(B<<2)|0;if((f[r>>2]|0)!=-1)break;else o=C}}}}o=g+1|0;if(o>>>0>=h>>>0){q=3;break}a=f[e>>2]|0;g=o}if((q|0)==3){u=b;return 1}else if((q|0)==11)Cq(j);return 0}function xe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Ej(d)|0;if(l>>>0>4294967279)Cq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=tn(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){eh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Ej(e)|0;if(l>>>0>4294967279)Cq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=tn(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){eh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Ej(d)|0;if(l>>>0>4294967279)Cq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=tn(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){eh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Ej(e)|0;if(l>>>0>4294967279)Cq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=tn(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){eh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;un(c,i,j);if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);k=1;u=a;return k|0}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];f[a+132>>2]=f[c+132>>2];return}function ze(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Qh(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0>28){q=0;r=g}else{f[k>>2]=p;c=1<>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))s=g;else{g=d+84|0;c=d+68|0;t=d+48|0;v=d+40|0;w=p;p=0;x=0;while(1){y=f[w+(x<<2)>>2]|0;if(!(b[g>>0]|0))z=f[(f[c>>2]|0)+(y<<2)>>2]|0;else z=y;y=t;A=f[y>>2]|0;B=f[y+4>>2]|0;y=v;C=f[y>>2]|0;D=En(C|0,f[y+4>>2]|0,z|0,0)|0;y=go(D|0,I|0,A|0,B|0)|0;eh(j|0,(f[f[d>>2]>>2]|0)+y|0,C|0)|0;Jf(k,j,l,m);f[o+(p<<2)>>2]=f[l>>2];f[o+((p|1)<<2)>>2]=f[m>>2];x=x+1|0;w=f[e>>2]|0;if(x>>>0>=(f[n>>2]|0)-w>>2>>>0)break;else p=p+2|0}s=f[i>>2]|0}f[i>>2]=0;q=s;r=0}f[a>>2]=q;f[i>>2]=0;if(!r){u=h;return}i=r+88|0;q=f[i>>2]|0;f[i>>2]=0;if(q|0){i=f[q+8>>2]|0;if(i|0){a=q+12|0;if((f[a>>2]|0)!=(i|0))f[a>>2]=i;pr(i)}pr(q)}q=f[r+68>>2]|0;if(q|0){i=r+72|0;a=f[i>>2]|0;if((a|0)!=(q|0))f[i>>2]=a+(~((a+-4-q|0)>>>2)<<2);pr(q)}q=r+64|0;a=f[q>>2]|0;f[q>>2]=0;if(a|0){q=f[a>>2]|0;if(q|0){i=a+4|0;if((f[i>>2]|0)!=(q|0))f[i>>2]=q;pr(q)}pr(a)}pr(r);u=h;return}function Ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=h;j=c;do{f[i>>2]=-1;Qk(i+4|0);b[i+100>>0]=1;k=i+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;i=(f[g>>2]|0)+136|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/136|0;h=i+c|0;if(h>>>0>31580641)Cq(a);k=(e-j|0)/136|0;j=k<<1;e=k>>>0<15790320?(j>>>0>>0?h:j):31580641;do if(e)if(e>>>0>31580641){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{l=tn(e*136|0)|0;break}else l=0;while(0);j=l+(i*136|0)|0;i=j;h=l+(e*136|0)|0;e=j;l=c;c=i;do{f[e>>2]=-1;Qk(e+4|0);b[e+100>>0]=1;k=e+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;e=c+136|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=f[g>>2]|0;if((e|0)==(l|0)){m=i;n=l;o=l}else{k=j;j=e;e=i;do{j=j+-136|0;ye(k+-136|0,j);k=e+-136|0;e=k}while((j|0)!=(l|0));m=e;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);pr(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);pr(o)}Ki(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;pr(n);return}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;ai((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=k;k=0;do{s=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[r+(k<<2)>>2]<<2)>>2]|0;b[h>>0]=f[s+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[s+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[s+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[s+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}ai(f[s+60>>2]|0,c)|0;k=k+1|0;r=f[i>>2]|0}while(k>>>0<(f[j>>2]|0)-r>>2>>>0);u=d;return 1}function Ce(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Qh(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;bq(i);fp(i,$(n[c+20>>2]),(1<>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){nr(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=En(z|0,f[j+4>>2]|0,x|0,0)|0;j=go(A|0,I|0,m|0,y|0)|0;eh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0>>0);nr(g);u=h;return}while(1){k=f[e+(w<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=En(j|0,f[k+4>>2]|0,B|0,0)|0;k=go(y|0,I|0,x|0,z|0)|0;eh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=v;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($($(f[c>>2]|0)*F)+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}w=w+1|0;if(w>>>0>=t>>>0)break;else v=l+v|0}nr(g);u=h;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;Kp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;Kp(k);l=b+4|0;if((a|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+8;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(a,g,e)}l=b+28|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+32;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+20|0;b=c;c=m;m=0;while(1){o=f[(f[c+(m<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Bd(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=m;w=c;x=b}}else{v=m;w=c;x=b}m=v+1|0;f[j>>2]=m;if((m|0)>=(x-w>>2|0))break;else{b=x;c=w}}u=d;return}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;ai(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}function Fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=o;u=r;while(1){b[t>>0]=b[u>>0]|0;u=u+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((u|0)==(e|0)){s=v;break}else t=v}}if((q|0)>0){w=s;x=r}else{k=c;return k|0}}else{w=o;x=e}r=w-(c+j)|0;s=c+r|0;if(s>>>0>>0){q=w;t=s;do{b[q>>0]=b[t>>0]|0;t=t+1|0;q=(f[n>>2]|0)+1|0;f[n>>2]=q}while((t|0)!=(o|0))}if(r|0)qm(w+(0-r)|0,c|0,r|0)|0;if((x|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(x|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)Cq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0>>0?z:h):2147483647;h=c;if(!m)A=0;else A=tn(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=g;C=i}else{g=z;m=d;d=i;do{b[g>>0]=b[m>>0]|0;g=d+1|0;d=g;m=m+1|0}while((m|0)!=(e|0));B=f[a>>2]|0;C=d}d=h-B|0;e=z+(0-d)|0;if((d|0)>0)eh(e|0,B|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=C;eh(h|0,c|0,d|0)|0;D=f[a>>2]|0;E=h+d|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=E;f[l>>2]=j;if(!D){k=z;return k|0}pr(D);k=z;return k|0}function Ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=tn(40)|0;No(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=tn(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14756;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Hh(h,g)|0)!=0):0)t=Ik(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Ik(i,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=tn(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));No(c);f[c>>2]=2560;f[c+40>>2]=1232;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=tn(64)|0;Gm(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=tn(36)|0;Om(c);j=c;k=j;f[a>>2]=k;u=e;return}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=f[e+8>>2]|0;c=g+12|0;if(b[c>>0]|0){h=23;break}i=g+8|0;j=f[i>>2]|0;d=f[j>>2]|0;if((d|0)==(g|0)){k=f[j+4>>2]|0;if(!k){h=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{h=7;break}}else{if(!d){h=16;break}l=d+12|0;if(!(b[l>>0]|0))m=l;else{h=16;break}}b[c>>0]=1;c=(j|0)==(a|0);b[j+12>>0]=c&1;b[m>>0]=1;if(c){h=23;break}else e=j}if((h|0)==7){if((f[g>>2]|0)==(e|0)){n=g;o=j}else{m=g+4|0;a=f[m>>2]|0;c=f[a>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[i>>2]|0}f[a+8>>2]=p;p=f[i>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=a;f[a>>2]=g;f[i>>2]=a;n=a;o=f[a+8>>2]|0}b[n+12>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;a=n+4|0;p=f[a>>2]|0;f[o>>2]=p;if(p|0)f[p+8>>2]=o;p=o+8|0;f[n+8>>2]=f[p>>2];c=f[p>>2]|0;f[((f[c>>2]|0)==(o|0)?c:c+4|0)>>2]=n;f[a>>2]=o;f[p>>2]=n;return}else if((h|0)==16){if((f[g>>2]|0)==(e|0)){e=f[g>>2]|0;n=e+4|0;p=f[n>>2]|0;f[g>>2]=p;if(!p)q=j;else{f[p+8>>2]=g;q=f[i>>2]|0}f[e+8>>2]=q;q=f[i>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=e;f[n>>2]=g;f[i>>2]=e;r=e;s=f[e+8>>2]|0}else{r=g;s=j}b[r+12>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;g=f[j>>2]|0;f[r>>2]=g;if(g|0)f[g+8>>2]=s;g=s+8|0;f[j+8>>2]=f[g>>2];r=f[g>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[g>>2]=j;return}else if((h|0)==23)return}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Ji(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Ji(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=j;l=d}else{k=j;l=d}break}default:{k=g;l=0}}if((k+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=k;k=0;while(1){k=g+-48+(k*10|0)|0;d=f[c>>2]|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;o=h[d>>0]|0}else o=Ji(a)|0;if(!((o+-48|0)>>>0<10&(k|0)<214748364))break;else g=o}g=((k|0)<0)<<31>>31;if((o+-48|0)>>>0<10){d=k;j=g;b=o;while(1){i=En(d|0,j|0,10,0)|0;p=I;q=go(b|0,((b|0)<0)<<31>>31|0,-48,-1)|0;r=go(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Ji(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){d=r;j=p;b=s}else{t=r;u=p;v=s;break}}}else{t=k;u=g;v=o}o=f[e>>2]|0;if((v+-48|0)>>>0<10){v=o;while(1){g=f[c>>2]|0;if(g>>>0>>0){f[c>>2]=g+1;w=v;x=h[g>>0]|0}else{g=Ji(a)|0;w=f[e>>2]|0;x=g}if((x+-48|0)>>>0<10)v=w;else{y=w;break}}}else y=o;if(y|0)f[c>>2]=(f[c>>2]|0)+-1;c=(l|0)!=0;l=io(0,0,t|0,u|0)|0;m=c?I:u;n=c?l:t}I=m;return n|0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=n;i=-1;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=q;i=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0}while(0);if(c){c=(f[a+84>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(i<<2)>>2]|0;d=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(!g){g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)==-1){s=-1;t=h}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=h}}else{s=-1;t=-1}if((s|0)==(i|0)){u=r;return u|0}h=f[a+84>>2]|0;a=s;s=t;t=r;while(1){r=h+(a>>>5<<2)|0;f[r>>2]=f[r>>2]|1<<(a&31);r=t+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){d=f[b>>2]|0;q=f[d+12>>2]|0;p=c;while(1){c=f[q+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}q=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((q|0)==-1){v=-1;w=p}else{v=f[(f[d>>2]|0)+(q<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(i|0)){u=r;break}else{a=v;s=w;t=r}}return u|0}function Ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Qh(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;bq(h);fp(h,$(n[c+20>>2]),(1<>>0>1073741823?-1:j<<2)|0;if(!e){nr(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=En(y|0,f[v+4>>2]|0,t|0,0)|0;v=go(z|0,I|0,w|0,x|0)|0;eh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));nr(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=En(v|0,f[i+4>>2]|0,A|0,0)|0;i=go(x|0,I|0,t|0,y|0)|0;eh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($($(f[c>>2]|0)*E)+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=j+r|0}nr(k);u=g;return}function Le(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;nl(n);o=a+1088|0;nl(o);p=a+1068|0;nl(p);q=a+1036|0;Dj(q);r=a+12|0;Nh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+1108|0;nl(n);o=a+1088|0;nl(o);p=a+1068|0;nl(p);q=a+1036|0;Dj(q);r=a+12|0;Nh(r);return}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Na[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Na[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)Cq(e);else{l=a<<2;m=tn(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;pj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);pr(q)}j=1;u=d;return j|0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Oh(a+12|0);Gn(a+1036|0);Ho(a+1068|0);Ho(a+1088|0);Ho(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+1164|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+1176|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Oe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=o;r=o;o=n;n=0;while(1){s=f[c+(n<<2)>>2]|0;t=f[k>>2]|0;if(t-o>>2>>>0>s>>>0){v=q;w=r}else{x=s+1|0;f[h>>2]=0;y=t-o>>2;z=o;A=t;if(x>>>0<=y>>>0)if(x>>>0>>0?(t=z+(x<<2)|0,(A|0)!=(t|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=q}else B=q;else{zh(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(s<<2)|0;x=f[y>>2]|0;o=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,s>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=s;C=0.0}else C=0.0;else{D=+(x|0);C=D*+Ug(D)}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=D*+Ug(D)-C;p[a>>3]=+p[a>>3]+E;n=n+1|0;if((n|0)==(d|0))break;else{q=v;r=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Qe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=n;r=m;s=k}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Fe(j,d,g,g+1|0)|0;q=f[k>>2]|0;r=f[l>>2]|0;s=k}a:do if((q|0)!=(r|0)){k=a+4|0;l=q;while(1){g=f[l>>2]|0;l=l+4|0;if(!(Na[f[(f[g>>2]|0)+8>>2]&31](g,a,f[k>>2]|0)|0)){h=0;break}if((l|0)==(r|0))break a}u=c;return h|0}while(0);if(!(sc(a)|0)){h=0;u=c;return h|0}r=a+32|0;q=f[r>>2]|0;l=a+36|0;k=f[l>>2]|0;b:do if((q|0)!=(k|0)){g=q;do{if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(k|0));if((t|0)==18){u=c;return h|0}g=f[r>>2]|0;d=f[l>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[s>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ma[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)Cq(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=d+12|0;f[k>>2]=m+(l<<2);l=f[b>>2]|0;f[b>>2]=0;f[g>>2]=l;f[h>>2]=g+4;g=f[a>>2]|0;l=f[e>>2]|0;if((l|0)==(g|0)){n=i;o=f[i>>2]|0;p=g;q=l;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ii(d);u=c;return}b=f[i>>2]|0;m=l;do{m=m+-4|0;l=f[m>>2]|0;f[m>>2]=0;f[b+-4>>2]=l;b=(f[i>>2]|0)+-4|0;f[i>>2]=b}while((m|0)!=(g|0));n=i;o=b;p=f[a>>2]|0;q=f[e>>2]|0;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ii(d);u=c;return}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Gn(a+12|0);Ho(a+44|0);Ho(a+64|0);Ho(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+140|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+152|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Ho(a+12|0);Ho(a+32|0);Ho(a+52|0);Ho(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+128|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+140|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=tn(40)|0;e=d+16|0;nj(e,c);nj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0>>0?n:j;if((l|0)!=0?(o=Yk(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;He(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;He(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function Ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+32|0;e=d+12|0;g=d;h=rl(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)Cq(e);else{n=tn(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);pj(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;f[c>>2]=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2];s=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=s;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=f[c>>2];f[o+(q*12|0)+8>>2]=s;q=q+1|0}while(q>>>0>>0)}while(0);Ij(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);pr(a)}u=d;return}function We(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3808;ti(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}hj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+140>>2]|0;if(b|0)pr(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;pr(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)pr(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0)pr(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ei(a);pr(a);return}function Xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+140|0;c=f[b>>2]|0;if(c|0){d=a+144|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;nl(n);o=a+52|0;nl(o);p=a+32|0;nl(p);q=a+12|0;nl(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+72|0;nl(n);o=a+52|0;nl(o);p=a+32|0;nl(p);q=a+12|0;nl(q);return}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(k|0)!=(j|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else zh(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(rb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=i;i=0;while(1){f[d>>2]=f[a+(i<<2)>>2];f[c>>2]=f[d>>2];i=i+1|0;if(!(rb(e,c)|0)){n=0;o=15;break}g=f[l>>2]|0;a=f[g>>2]|0;if(i>>>0>=(f[g+4>>2]|0)-a>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function Ze(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+152|0;c=f[b>>2]|0;if(c|0){d=a+156|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;nl(n);o=a+64|0;nl(o);p=a+44|0;nl(p);q=a+12|0;Dj(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+84|0;nl(n);o=a+64|0;nl(o);p=a+44|0;nl(p);q=a+12|0;Dj(q);return}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function $e(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3608;sj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}hj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+140>>2]|0;if(b|0)pr(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;pr(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)pr(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0)pr(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ei(a);pr(a);return}function af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=tn(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3784;f[j+12>>2]=3764;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3764;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3764;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;hh(h+8|0,m,g);Qa[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];dg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Qg(j,i);f[a>>2]=o;Mi(i);f[h>>2]=3764;i=f[h+20>>2]|0;if(i|0)pr(i);i=f[h+8>>2]|0;if(!i){u=e;return}pr(i);u=e;return}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}Dg(a+12|0);d=a+1068|0;Rm(d);m=a+1088|0;Rm(m);k=a+1108|0;Rm(k);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];cb(a,i,h);h=0;do{hd(a+12+(h<<5)|0,e);h=h+1|0}while((h|0)!=32);hd(a+1036|0,e);Ag(d,e);Ag(m,e);Ag(k,e);u=g;return 1}function df(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}Dg(a+12|0);d=a+1068|0;Rm(d);m=a+1088|0;Rm(m);k=a+1108|0;Rm(k);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];eb(a,i,h);h=0;do{hd(a+12+(h<<5)|0,e);h=h+1|0}while((h|0)!=32);hd(a+1036|0,e);Ag(d,e);Ag(m,e);Ag(k,e);u=g;return 1}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,h,h+4|0)|0}Gn(i);gl(i);if((f[h>>2]|0)>0){k=a+56|0;l=0;m=1;do{n=m;m=(f[(f[k>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)!=0;dj(i,n^m^1);l=l+1|0}while((l|0)<(f[h>>2]|0))}hd(i,b);f[g>>2]=f[a+12>>2];h=j;l=f[h>>2]|0;m=f[h+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=m;p=l}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;l=j;o=f[l+4>>2]|0;p=f[l>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Dj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(i);u=c;return 1}function ff(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=tn(96)|0;xl(j,c);f[h>>2]=j;j=qh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;pr(h)}pr(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);pr(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;pr(k)}pr(l)}pr(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){zh(m,h-q|0,6376);break}if(h>>>0>>0?(q=p+(h<<2)|0,(r|0)!=(q|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}zj(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function gf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)nr(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=o;w=q}else{x=g;Cq(x)}while(1){f[k>>2]=f[v+(w<<2)>>2];f[h>>2]=f[k>>2];wc(a,h,b,w);g=X(w,e)|0;q=b+(g<<2)|0;o=f[l>>2]|0;n=c+(g<<2)|0;g=f[q+4>>2]|0;y=f[o>>2]|0;z=f[o+4>>2]|0;f[i>>2]=f[q>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Nd(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];w=w+-1|0;if((w|0)<=-1){A=5;break}n=f[m>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)Cq(x);return 0}function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;pr(a)}if((b[s+11>>0]|0)<0)pr(f[s>>2]|0);pr(d);return c|0}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+56|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(h*12|0)>>2]|0;s=r-p|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((m|0)==(n|0)){Ti(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[m>>2]=t;t=m+4|0;f[e>>2]=t;v=t;w=n}t=f[q+(h*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ti(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(h*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ti(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=h+1|0;if(t>>>0>=j>>>0)break;m=f[e>>2]|0;n=f[i>>2]|0;o=f[g>>2]|0;h=t;p=r}k=f[c>>2]|0;l=f[e>>2]|0}Hc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);pr(a);u=b;return 1}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,h,h+4|0)|0}Gn(i);gl(i);if((f[h>>2]|0)>0){k=a+76|0;l=0;m=1;do{n=m;m=(f[(f[k>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)!=0;dj(i,n^m^1);l=l+1|0}while((l|0)<(f[h>>2]|0))}hd(i,b);f[g>>2]=f[a+12>>2];h=j;l=f[h>>2]|0;m=f[h+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=m;p=l}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;l=j;o=f[l+4>>2]|0;p=f[l>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Dj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(i);u=c;return 1}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=tn(76)|0;j=tn(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=4052;f[j+8>>2]=k;f[h>>2]=j;vl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Ng(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Qa[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Qa[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ti(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0>>0?(g=m+(i<<2)|0,(p|0)!=(g|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{zh(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function mf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)nr(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=o;w=q}else{x=g;Cq(x)}while(1){f[k>>2]=f[v+(w<<2)>>2];f[h>>2]=f[k>>2];vc(a,h,b,w);g=X(w,e)|0;q=b+(g<<2)|0;o=f[l>>2]|0;n=c+(g<<2)|0;g=f[q+4>>2]|0;y=f[o>>2]|0;z=f[o+4>>2]|0;f[i>>2]=f[q>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Nd(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];w=w+-1|0;if((w|0)<=-1){A=5;break}n=f[m>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)Cq(x);return 0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){m=c;p=f[m+4>>2]|0;q=j;f[q>>2]=f[m>>2];f[q+4>>2]=p;o=o+-1|0;if(!o)break;else j=j+8|0}}if(!l){j=h+(b<<3)|0;if((n|0)==(j|0))return;else{r=i;s=n+(~((n+-8-j|0)>>>3)<<3)|0;break}}else{j=b-k|0;o=n;p=j;while(1){q=c;m=f[q+4>>2]|0;t=o;f[t>>2]=f[q>>2];f[t+4>>2]=m;p=p+-1|0;if(!p)break;else o=o+8|0}r=i;s=n+(j<<3)|0;break}}else{o=g;if(!g)u=e;else{p=a+4|0;k=f[p>>2]|0;if((k|0)!=(h|0))f[p>>2]=k+(~((k+-8-g|0)>>>3)<<3);pr(o);f[d>>2]=0;f[p>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)Cq(a);p=u>>2;o=u>>3>>>0<268435455?(p>>>0>>0?b:p):536870911;if(o>>>0>536870911)Cq(a);p=tn(o<<3)|0;k=a+4|0;f[k>>2]=p;f[a>>2]=p;f[d>>2]=p+(o<<3);o=p;l=b;while(1){m=c;t=f[m+4>>2]|0;q=o;f[q>>2]=f[m>>2];f[q+4>>2]=t;l=l+-1|0;if(!l)break;else o=o+8|0}r=k;s=p+(b<<3)|0}while(0);f[r>>2]=s;return}function of(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=26;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=26;break}l=f[l>>2]|0;if(!l){j=0;p=26;break}}if((p|0)==26)return j|0}else q=a;while(1){a=f[q+4>>2]|0;l=(a|0)==(b|0);if(!l){if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=26;break}if(l)p=22}else p=22;if(((((p|0)==22?(p=0,l=q+8|0,(d[l>>1]|0)==c<<16>>16):0)?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=26;break}q=f[q>>2]|0;if(!q){j=0;p=26;break}}if((p|0)==26)return j|0;return 0}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=26;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=26;break}l=f[l>>2]|0;if(!l){j=0;p=26;break}}if((p|0)==26)return j|0}else q=a;while(1){a=f[q+4>>2]|0;l=(a|0)==(c|0);if(!l){if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=26;break}if(l)p=22}else p=22;if(((((p|0)==22?(p=0,l=q+8|0,(b[l>>0]|0)==d<<24>>24):0)?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=26;break}q=f[q>>2]|0;if(!q){j=0;p=26;break}}if((p|0)==26)return j|0;return 0}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=0;do{i=h;h=h+1|0;j=a+40+(i*12|0)+4|0;ai(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);gl(d);k=(f[j>>2]|0)-h|0;if((k|0)>-1){j=a+40+(i*12|0)|0;l=k;do{k=0;while(1){m=k+l|0;dj(d,(f[(f[j>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((k|0)<(i|0))k=k+1|0;else break}l=l-h|0}while((l|0)>-1)}hd(d,b);Dj(d)}}while((h|0)<4);f[g>>2]=f[a+12>>2];h=b+16|0;l=h;i=f[l>>2]|0;j=f[l+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=j;o=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;i=h;n=f[i+4>>2]|0;o=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((n|0)>0|(n|0)==0&o>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=0;do{i=h;h=h+1|0;j=a+60+(i*12|0)+4|0;ai(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);gl(d);k=(f[j>>2]|0)-h|0;if((k|0)>-1){j=a+60+(i*12|0)|0;l=k;do{k=0;while(1){m=k+l|0;dj(d,(f[(f[j>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((k|0)<(i|0))k=k+1|0;else break}l=l-h|0}while((l|0)>-1)}hd(d,b);Dj(d)}}while((h|0)<4);f[g>>2]=f[a+12>>2];h=b+16|0;l=h;i=f[l>>2]|0;j=f[l+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=j;o=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;i=h;n=f[i+4>>2]|0;o=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((n|0)>0|(n|0)==0&o>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function sf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))vi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=0;while(1){h=d*3|0;i=f[o+(h<<2)>>2]|0;if((i|0)==-1){q=0;r=11;break}g=f[(f[m>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=p>>>0){q=0;r=11;break}i=f[a>>2]|0;f[i+(f[c+(d*12|0)>>2]<<2)>>2]=k;k=f[o+(h+1<<2)>>2]|0;if((k|0)==-1){q=0;r=11;break}l=f[g+(k<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+4>>2]<<2)>>2]=l;l=f[o+(h+2<<2)>>2]|0;if((l|0)==-1){q=0;r=11;break}h=f[g+(l<<2)>>2]|0;if(h>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+8>>2]<<2)>>2]=h;d=d+1|0;if(d>>>0>=e>>>0){q=1;r=11;break}}if((r|0)==11)return q|0;return 0}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)Cq(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1260;f[k+(e*24|0)+4>>2]=f[b+4>>2];ik(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=d;d=k;k=g;do{f[j+-24>>2]=1260;f[j+-20>>2]=f[d+-20>>2];g=j+-16|0;o=d+-16|0;f[g>>2]=0;p=j+-12|0;f[p>>2]=0;f[j+-8>>2]=0;f[g>>2]=f[o>>2];g=d+-12|0;f[p>>2]=f[g>>2];p=d+-8|0;f[j+-8>>2]=f[p>>2];f[p>>2]=0;f[g>>2]=0;f[o>>2]=0;f[j+-4>>2]=f[d+-4>>2];d=d+-24|0;j=k+-24|0;k=j}while((d|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Qa[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;pr(m);return}function wf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Rm(d);m=a+32|0;Rm(m);k=a+52|0;Rm(k);j=a+72|0;Rm(j);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];bb(a,i,h);Ag(d,e);Ag(m,e);Ag(k,e);Ag(j,e);u=g;return 1}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3716;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Cq(i);else{o=((n+-1|0)>>>5)+1|0;p=tn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Cq(i);k=((l+-1|0)>>>5)+1|0;l=tn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);u=c;return}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=26;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=26;break}k=f[k>>2]|0;if(!k){i=0;o=26;break}}if((o|0)==26)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(b|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=26;break}if(k)o=22}else o=22;if(((((o|0)==22?(o=0,(f[p+8>>2]|0)==(c|0)):0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=26;break}p=f[p>>2]|0;if(!p){i=0;o=26;break}}if((o|0)==26)return i|0;return 0}function zf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;gl(d);m=a+44|0;Rm(m);k=a+64|0;Rm(k);j=a+84|0;Rm(j);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];fb(a,i,h);hd(d,e);Ag(m,e);Ag(k,e);Ag(j,e);u=g;return 1}function Af(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-4177920|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+4194304|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1077936128|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-2080768|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+6291456|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1075838976|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-1032192|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+7340032|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1074790400|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-245760|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8126464|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1074003968|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-114688|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8257536|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1073872896|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=o;x=q}else{y=m;Cq(y)}while(1){f[k>>2]=f[w+(x<<2)>>2];f[h>>2]=f[k>>2];ob(l,h,b,x)|0;m=X(x,e)|0;q=b+(m<<2)|0;o=c+(m<<2)|0;m=f[q+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[q>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Nd(h,p,i,j);f[o>>2]=f[h>>2];f[o+4>>2]=f[v>>2];x=x+-1|0;if((x|0)<=-1){A=3;break}o=f[g>>2]|0;w=f[o>>2]|0;if((f[o+4>>2]|0)-w>>2>>>0<=x>>>0){y=o;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)Cq(y);return 0}function Gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3764;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Cq(i);else{o=((n+-1|0)>>>5)+1|0;p=tn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Cq(i);k=((l+-1|0)>>>5)+1|0;l=tn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);u=c;return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-16384|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8355840|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1073774592|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function If(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;yd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;wd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Ja,g=0.0,h=Ja,i=0.0,j=Ja,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=$(n[b>>2]);g=+$(K($(e)));h=$(n[b+4>>2]);i=g+ +$(K($(h)));j=$(n[b+8>>2]);g=i+ +$(K($(j)));b=g>1.0e-06;i=1.0/g;k=f[a+12>>2]|0;g=+(k|0);l=~~+J(+(g*(b?+e*i:1.0)+.5));m=~~+J(+(g*(b?+h*i:0.0)+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?+j*i:0.0)<0.0?0-m|0:m;if(!o){o=(p|0)>-1?p:0-p|0;if((q|0)<0)r=o;else r=(f[a+8>>2]|0)-o|0;o=(q|0)>-1?q:0-q|0;if((p|0)<0){s=r;t=o}else{s=r;t=(f[a+8>>2]|0)-o|0}}else{s=k+q|0;t=k+p|0}p=(s|0)==0;q=(t|0)==0;o=f[a+8>>2]|0;if(!(t|s)){u=o;v=o;f[c>>2]=u;f[d>>2]=v;return}a=(o|0)==(t|0);r=(o|0)==(s|0);if(p&a|q&r){u=o;v=o;f[c>>2]=u;f[d>>2]=v;return}if(p&(k|0)<(t|0)){u=0;v=(k<<1)-t|0;f[c>>2]=u;f[d>>2]=v;return}if(r&(k|0)>(t|0)){u=s;v=(k<<1)-t|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(s|0)){u=(k<<1)-s|0;v=t;f[c>>2]=u;f[d>>2]=v;return}if(!q){u=s;v=t;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(s|0)?(k<<1)-s|0:s;v=0;f[c>>2]=u;f[d>>2]=v;return}function Kf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=o;x=q}else{y=m;Cq(y)}while(1){f[k>>2]=f[w+(x<<2)>>2];f[h>>2]=f[k>>2];nb(l,h,b,x)|0;m=X(x,e)|0;q=b+(m<<2)|0;o=c+(m<<2)|0;m=f[q+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[q>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Nd(h,p,i,j);f[o>>2]=f[h>>2];f[o+4>>2]=f[v>>2];x=x+-1|0;if((x|0)<=-1){A=3;break}o=f[g>>2]|0;w=f[o>>2]|0;if((f[o+4>>2]|0)-w>>2>>>0<=x>>>0){y=o;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)Cq(y);return 0}function Lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;b[n>>0]=j;o=2;p=n+1|0;q=l;r=j>>>8;s=9;break}if(k>>>0<4194304){n=(f[i>>2]|0)+m|0;t=j+8372224|0;b[n>>0]=t;b[n+1>>0]=t>>>8;o=3;p=n+2|0;q=l;r=t>>>16;s=9;break}if(k>>>0<1073741824){t=(f[i>>2]|0)+m|0;n=j+-1073758208|0;b[t>>0]=n;b[t+1>>0]=n>>>8;b[t+2>>0]=n>>>16;o=4;p=t+3|0;q=l;r=n>>>24;s=9}else v=m}else{m=a+28|0;o=1;p=(f[i>>2]|0)+(f[m>>2]|0)|0;q=m;r=k;s=9}while(0);if((s|0)==9){b[p>>0]=r;v=(f[q>>2]|0)+o|0}o=((v|0)<0)<<31>>31;Rn(e);uh(v,o,e)|0;q=e+4|0;r=(f[q>>2]|0)-(f[e>>2]|0)|0;qm(h+r|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,r|0)|0;h=g;g=f[h>>2]|0;p=f[h+4>>2]|0;h=go(r|0,0,v|0,o|0)|0;o=go(h|0,I|0,g|0,p|0)|0;Gl(c,o,I);o=e+12|0;c=f[o>>2]|0;f[o>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[q>>2]|0)!=(c|0))f[q>>2]=c;pr(c);u=d;return}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)qm(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((c|0)==(b|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);pr(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)Cq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(m>>>0>1073741823)Cq(a);h=tn(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((m|0)==(k|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);return}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){pj(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)Cq(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{n=tn(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;pj(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=d;d=h;h=j;do{j=i+-12|0;b=d;d=d+-12|0;f[j>>2]=0;n=i+-8|0;f[n>>2]=0;f[i+-4>>2]=0;f[j>>2]=f[d>>2];j=b+-8|0;f[n>>2]=f[j>>2];n=b+-4|0;f[i+-4>>2]=f[n>>2];f[n>>2]=0;f[j>>2]=0;f[d>>2]=0;i=h+-12|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);pr(m)}}while((c|0)!=(g|0))}if(!p)return;pr(p);return}function Of(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=24;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=24;break}k=f[k>>2]|0;if(!k){i=0;o=24;break}}if((o|0)==24)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(b|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=24;break}if(k)o=21}else o=21;if((((o|0)==21?(o=0,k=p+8|0,(d[k>>1]|0)==c<<16>>16):0)?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=24;break}p=f[p>>2]|0;if(!p){i=0;o=24;break}}if((o|0)==24)return i|0;return 0}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((o|0)!=(a|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];qe(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=b;t=n;v=j;w=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=l+(e>>>5<<2)|0;s=b;t=b;v=j-p|0;w=e&31}e=(v|0)/32|0;qm(r|0,s|0,e<<2|0)|0;s=v-(e<<5)|0;v=r+(e<<2)|0;r=v;if((s|0)>0){p=-1>>>(32-s|0);f[v>>2]=f[v>>2]&~p|f[t+(e<<2)>>2]&p;x=r;y=s}else{x=r;y=w}}else{x=m;y=o}f[k>>2]=x;f[k+4>>2]=y;u=d;return}function Qf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g<<1,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Rf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g<<2,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Sf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Tf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;md(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;ld(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=24;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=24;break}k=f[k>>2]|0;if(!k){i=0;o=24;break}}if((o|0)==24)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(c|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=24;break}if(k)o=21}else o=21;if((((o|0)==21?(o=0,k=p+8|0,(b[k>>0]|0)==d<<24>>24):0)?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=24;break}p=f[p>>2]|0;if(!p){i=0;o=24;break}}if((o|0)==24)return i|0;return 0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1){m=7;break}d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1){m=7;break}else l=d}if((m|0)==7?(l|0)==-1:0){e=0;g=-1;f[c>>2]=g;return e|0}if(!((l>>>0)%3|0)){e=0;g=l+2|0;f[c>>2]=g;return e|0}else{e=0;g=l+-1|0;f[c>>2]=g;return e|0}return 0}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;if(g-i>>2>>>0>=b>>>0){pj(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}j=f[a>>2]|0;k=i-j>>2;i=k+b|0;if(i>>>0>1073741823)Cq(a);l=g-j|0;j=l>>1;g=l>>2>>>0<536870911?(j>>>0>>0?i:j):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(g)if(g>>>0>1073741823){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{m=tn(g<<2)|0;break}else m=0;while(0);f[d>>2]=m;j=m+(k<<2)|0;k=d+8|0;i=d+4|0;f[i>>2]=j;l=d+12|0;f[l>>2]=m+(g<<2);pj(j|0,0,b<<2|0)|0;f[k>>2]=j+(b<<2);b=f[a>>2]|0;j=f[h>>2]|0;if((j|0)==(b|0)){n=i;o=f[i>>2]|0;p=b;q=j}else{g=f[i>>2]|0;m=j;do{m=m+-4|0;j=f[m>>2]|0;f[m>>2]=0;f[g+-4>>2]=j;g=(f[i>>2]|0)+-4|0;f[i>>2]=g}while((m|0)!=(b|0));n=i;o=g;p=f[a>>2]|0;q=f[h>>2]|0}f[a>>2]=o;f[n>>2]=p;f[h>>2]=f[k>>2];f[k>>2]=q;q=f[e>>2]|0;f[e>>2]=f[l>>2];f[l>>2]=q;f[d>>2]=f[n>>2];ii(d);u=c;return}function Xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=a+8|0;i=a+12|0;j=0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=e;e=0;while(1){l=f[a>>2]|0;m=f[d+(l<<2)>>2]|0;if(m>>>0>>0)n=e;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(l<<2)>>2]|0;else t=l;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}a=a+4|0;if((a|0)==(g|0)){h=c;i=k;j=n;break}else e=n}}n=f[i>>2]|0;e=f[h>>2]|0;if((n-e|0)>0){u=e;v=n;w=0}else return;while(1){n=f[u+(w<<2)>>2]|0;b[n+84>>0]=0;e=n+68|0;k=n+72|0;n=f[k>>2]|0;c=f[e>>2]|0;g=n-c>>2;a=c;c=n;if(j>>>0<=g>>>0)if(j>>>0>>0?(n=a+(j<<2)|0,(c|0)!=(n|0)):0){f[k>>2]=c+(~((c+-4-n|0)>>>2)<<2);x=u;y=v}else{x=u;y=v}else{zh(e,j-g|0,6376);x=f[h>>2]|0;y=f[i>>2]|0}w=w+1|0;if((w|0)>=(y-x>>2|0))break;else{u=x;v=y}}return}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);pr(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Cq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Cq(a);h=tn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+(p<<2);return}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);pr(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Cq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Cq(a);h=tn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function _f(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+80|0;h=g;i=g+64|0;Ol(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X($l(5)|0,d)|0;Hj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=tn(96)|0;xl(k,h);zj(k,c)|0;f[i>>2]=k;ej(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;pr(i)}pr(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);pr(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;pr(c)}pr(h)}pr(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0>>0){zh(a,e-i|0,1596);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((d|0)==(i|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;return}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=k;k=n;n=m;while(1){m=f[n>>2]|0;f[d>>2]=m;if((a|0)==(f[b>>2]|0)){Ti(g,d);o=f[l>>2]|0}else{f[a>>2]=m;f[i>>2]=a+4;o=k}m=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((m|0)<(q|0)){s=r;t=m;v=o}else{w=m+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0>>0?(p=r+(w<<2)|0,(x|0)!=(p|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=m;z=r;A=o}else{y=m;z=r;A=o}else{zh(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}a=f[i>>2]|0;f[s+(t<<2)>>2]=(a-(f[g>>2]|0)>>2)+-1;n=n+4|0;if((n|0)==(h|0))break;else k=v}u=c;return}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(j|0)!=(b|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Pg(h,c-k|0,e);k=f[h>>2]|0;b=0;while(1){j=b*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=f[i>>2]|0;o=(j-k|0)/12|0;p=k;q=b;b=b+1|0;if(q>>>0>>0){r=p;s=k}else{t=j;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if(b>>>0<=o>>>0)if(b>>>0>>0?(j=p+(b*12|0)|0,(t|0)!=(j|0)):0){f[i>>2]=t+(~(((t+-12-j|0)>>>0)/12|0)*12|0);v=p;w=k}else{v=p;w=k}else{Pg(h,b-o|0,e);o=f[h>>2]|0;v=o;w=o}r=v;s=w}f[r+(q*12|0)>>2]=l;f[r+(q*12|0)+4>>2]=m;f[r+(q*12|0)+8>>2]=n;if((b|0)==(c|0)){g=1;break}else k=s}u=a;return g|0}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)pr(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)pr(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(l|0)!=(o|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{zi(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(mc(a,d)|0)){s=0;u=c;return s|0}pb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=24;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=24;break}j=f[j>>2]|0;if(!j){h=0;n=24;break}}if((n|0)==24)return h|0}else o=a;while(1){a=f[o+4>>2]|0;j=(a|0)==(b|0);if(!j){if(a>>>0>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=24;break}if(j)n=21}else n=21;if((((n|0)==21?(n=0,(f[o+8>>2]|0)==(c|0)):0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=24;break}o=f[o>>2]|0;if(!o){h=0;n=24;break}}if((n|0)==24)return h|0;return 0}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{pr(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)Cq(c);else{j=((k+-1|0)>>>5)+1|0;l=tn(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);qm(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{pr(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)Cq(h);else{n=((p+-1|0)>>>5)+1|0;c=tn(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);qm(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function eg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=go(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=jo(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=h;n=i;o=k}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=go(h|0,i|0,8,0)|0;i=q+(0-k)|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;uh(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;qm(i+q|0,i+8|0,j|0)|0;eh(i|0,f[d>>2]|0,q|0)|0;i=e;h=go(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)pr(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;pr(h)}h=e;l=p;m=f[h>>2]|0;n=f[h+4>>2]|0;o=p}p=f[l>>2]|0;l=f[a>>2]|0;h=p-l|0;k=io(j|0,g|0,m|0,n|0)|0;n=go(k|0,I|0,h|0,0)|0;k=l;l=p;if(n>>>0<=h>>>0){if(n>>>0>>0?(p=k+n|0,(l|0)!=(p|0)):0)f[o>>2]=p}else Bi(a,n-h|0);h=e;f[h>>2]=0;f[h+4>>2]=0;u=c;return}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){f[j>>2]=f[c>>2];o=o+-1|0;if(!o)break;else j=j+4|0}}if(!l){j=h+(b<<2)|0;if((n|0)==(j|0))return;else{p=i;q=n+(~((n+-4-j|0)>>>2)<<2)|0;break}}else{j=b-k|0;o=n;m=j;while(1){f[o>>2]=f[c>>2];m=m+-1|0;if(!m)break;else o=o+4|0}p=i;q=n+(j<<2)|0;break}}else{o=g;if(!g)r=e;else{m=a+4|0;k=f[m>>2]|0;if((k|0)!=(h|0))f[m>>2]=k+(~((k+-4-g|0)>>>2)<<2);pr(o);f[d>>2]=0;f[m>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)Cq(a);m=r>>1;o=r>>2>>>0<536870911?(m>>>0>>0?b:m):1073741823;if(o>>>0>1073741823)Cq(a);m=tn(o<<2)|0;k=a+4|0;f[k>>2]=m;f[a>>2]=m;f[d>>2]=m+(o<<2);o=m;l=b;while(1){f[o>>2]=f[c>>2];l=l+-1|0;if(!l)break;else o=o+4|0}p=k;q=m+(b<<2)|0}while(0);f[p>>2]=q;return}function gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Nk(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=d;d=0;do{k=j+(d<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Nk(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;d=d+1|0;j=f[i>>2]|0}while(d>>>0<(f[c>>2]|0)-j>>2>>>0)}j=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Nk(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function hg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=dh(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=i>>>0)Cq(k);m=g;if(l>>>0<=j>>>0)Cq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)Cq(k);if(l>>>0<=e>>>0)Cq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)Cq(k);if(l>>>0<=d>>>0)Cq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)Cq(k);if(l>>>0<=c>>>0)Cq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|0}function ig(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Cg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Sa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)cq(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;ai(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(uf(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;ai(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Fe(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);ai(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(uf(0,b,e+8|0)|0)){m=0;r=10;break}jg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 0}function kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Nb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Nb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=tn(76)|0;Fn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Ng(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Qa[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ti(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0>>0?(g=a+(i<<2)|0,(p|0)!=(g|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{zh(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);pr(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)Cq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)Cq(a);j=tn(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;eh(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;eh(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((c|0)==(p|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function ng(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+96|0;h=g+40|0;i=g;Um(h,d);De(i,c,d);Ih(h,i);Cj(i+24|0,f[i+28>>2]|0);Mj(i+12|0,f[i+16>>2]|0);Cj(i,f[i+4>>2]|0);$i(a,h,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[h+40>>2];f[c+44>>2]=f[h+44>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}f[h>>2]=3496;Cj(h+28|0,f[h+32>>2]|0);Mj(h+16|0,f[h+20>>2]|0);Cj(h+4|0,f[h+8>>2]|0);u=g;return}function og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;if(!(yh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=tn(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14756;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Hh(d,g)|0)!=0):0)o=Ik(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Ik(i,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}Hp(a+40|0,o);h=1;u=e;return h|0}function pg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;pr(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Cq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Cq(a);i=tn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{n=c;c=k;while(1){b[c>>0]=b[n>>0]|0;n=n+1|0;if((n|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[o>>2]|0)==(p|0))return;f[o>>2]=p;return}if((a|0)==(d|0))return;a=f[o>>2]|0;p=g;do{b[a>>0]=b[p>>0]|0;p=p+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((p|0)!=(d|0));return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=go(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=go(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<>2]&~i|i&e<>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ti(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<>2]&~l|l&e<>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ti(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Pb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Pb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=d;j=a;while(1){if((b[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=d;r=a;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=c&255;if((b[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=X(e,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){a=f[g>>2]^q;if((a&-2139062144^-2139062144)&a+-16843009|0)break;a=g+4|0;d=s+-4|0;if(d>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((b[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=i;r=n}else{qm(p|0,d|0,o|0)|0;q=f[h>>2]|0;r=p}f[c>>2]=r;f[h>>2]=q+(m<<2);s=r;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;jp(m,16426);f[m>>2]=7416;va(m|0,1160,122)}m=tn(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=d;u=n}else{l=o;m=d;v=n;do{f[l>>2]=f[m>>2];l=v+4|0;v=l;m=m+4|0}while((m|0)!=(i|0));t=f[a>>2]|0;u=v}f[a>>2]=p;f[c>>2]=n;f[h>>2]=u;f[j>>2]=k;if(!t)s=o;else{pr(t);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=mr((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){nr(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=n;n=a;r=a;a=m;m=0;while(1){s=f[j+(m<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(s<<2)>>2]|0;else t=s;s=r+48|0;v=f[s>>2]|0;w=f[s+4>>2]|0;s=r+40|0;x=f[s>>2]|0;y=En(x|0,f[s+4>>2]|0,t|0,0)|0;s=go(y|0,I|0,v|0,w|0)|0;eh(k|0,(f[f[r>>2]>>2]|0)+s|0,x|0)|0;x=o;s=f[x+4>>2]|0;if((s|0)>0|(s|0)==0&(f[x>>2]|0)>>>0>0){z=j;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Fe(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=m+1|0;if(x>>>0>=A-z>>2>>>0)break;s=f[i>>2]|0;j=z;n=s;r=s;a=A;m=x}nr(k);u=e;return 1}function vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;p=f[m+4>>2]|0;m=a+20|0;if((p|0)>0|(p|0)==0&k>>>0>0){q=p;r=k;s=g}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,m,m+4|0)|0;m=l;q=f[m+4>>2]|0;r=f[m>>2]|0;s=g}}else{q=o;r=n;s=g}b[h>>0]=f[i>>2];if(!((q|0)>0|(q|0)==0&r>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;i=d;do if((d|0)==(g|0)){j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=l;if(k>>>0>l>>>0){n=k;o=((n-m>>2)+1|0)/-2|0;p=k+(o<<2)|0;q=i-n|0;n=q>>2;if(!n)r=k;else{qm(p|0,k|0,q|0)|0;r=f[j>>2]|0}q=p+(n<<2)|0;f[c>>2]=q;f[j>>2]=r+(o<<2);s=q;break}q=h-m>>1;m=(q|0)==0?1:q;if(m>>>0>1073741823){q=ra(8)|0;jp(q,16426);f[q>>2]=7416;va(q|0,1160,122)}q=tn(m<<2)|0;o=q;n=q+(m>>>2<<2)|0;p=n;t=q+(m<<2)|0;if((k|0)==(d|0)){u=l;v=p}else{l=n;n=k;k=p;do{f[l>>2]=f[n>>2];l=k+4|0;k=l;n=n+4|0}while((n|0)!=(d|0));u=f[a>>2]|0;v=k}f[a>>2]=o;f[j>>2]=p;f[c>>2]=v;f[e>>2]=t;if(!u)s=v;else{pr(u);s=f[c>>2]|0}}else s=d;while(0);f[s>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=g;g=a+4|0;while(1){a=d+16|0;i=b[a+11>>0]|0;k=i<<24>>24<0;l=k?f[d+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=Yk(e,k?f[a>>2]|0:a,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[d>>2]|0;if(!n){o=9;break}else{p=n;q=d}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=Yk(k?f[a>>2]|0:a,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=d+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=i;q=r}}d=p;g=q}if((o|0)==9){f[c>>2]=d;h=d;return h|0}else if((o|0)==15){f[c>>2]=d;h=r;return h|0}else if((o|0)==16){f[c>>2]=d;h=g;return h|0}return 0}function yg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=tn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14740;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ik(i,h,-1)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);switch(j|0){case -1:{if((ki(i)|0)==10)n=6;else n=5;break}case 1:{n=5;break}default:n=6}if((n|0)==5){j=tn(68)|0;gp(j);o=j}else if((n|0)==6){n=tn(64)|0;Up(n);o=n}Jo(o,d);ud(a,o,i,e);if(f[a>>2]|0){p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Qa[r&127](o);u=g;return}e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[o+52>>2];f[c+44>>2]=f[o+60>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Qa[r&127](o);u=g;return}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;ve(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=l;p=c;q=h;r=j;s=0}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=l;p=l;q=h-n|0;r=j+(g>>>5<<2)|0;s=g&31}g=(q|0)/32|0;qm(r|0,o|0,g<<2|0)|0;o=q-(g<<5)|0;q=r+(g<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);f[q>>2]=f[q>>2]&~j|f[p+(g<<2)>>2]&j;t=r;v=o}else{t=r;v=s}}else{t=k;v=m}f[i>>2]=t;f[i+4>>2]=v;u=d;return}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ti(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;pr(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Cq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Cq(a);i=tn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}else{o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;n=a-e|0;if(n|0)qm(k|0,c|0,n|0)|0;c=k+n|0;if(!j){if((f[o>>2]|0)==(c|0))return;f[o>>2]=c;return}if((a|0)==(d|0))return;a=f[o>>2]|0;c=g;do{b[a>>0]=b[c>>0]|0;c=c+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((c|0)!=(d|0));return}}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){pj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)Cq(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{n=tn(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;pj(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=d;d=h;h=b;do{d=d+-4|0;b=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=b;i=h+-4|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Qa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;pr(p);return}function Dg(a){a=a|0;gl(a);gl(a+32|0);gl(a+64|0);gl(a+96|0);gl(a+128|0);gl(a+160|0);gl(a+192|0);gl(a+224|0);gl(a+256|0);gl(a+288|0);gl(a+320|0);gl(a+352|0);gl(a+384|0);gl(a+416|0);gl(a+448|0);gl(a+480|0);gl(a+512|0);gl(a+544|0);gl(a+576|0);gl(a+608|0);gl(a+640|0);gl(a+672|0);gl(a+704|0);gl(a+736|0);gl(a+768|0);gl(a+800|0);gl(a+832|0);gl(a+864|0);gl(a+896|0);gl(a+928|0);gl(a+960|0);gl(a+992|0);gl(a+1024|0);return}function Eg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=a+4|0;a=tn(32)|0;f[k>>2]=a;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=a;m=14756;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[a+17>>0]=0;Wj(Bd(c,j)|0,k,d);if((b[k+11>>0]|0)<0)pr(f[k>>2]|0);d=tn(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14829;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;pi(Bd(c,j)|0,k,g,e);if((b[k+11>>0]|0)<0)pr(f[k>>2]|0);e=tn(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14849;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Tj(Bd(c,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}pr(f[k>>2]|0);u=i;return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)qm(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;eh(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);pr(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)Cq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)Cq(a);j=tn(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;eh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(g);else{j=tn(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;pj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=j;n=k;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{k=m+(f[a+(g<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;b=0;r=0.0;while(1){g=f[m+(c<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=b+1|0;v=r+s*+Ug(s/o)}else{t=b;v=r}c=c+1|0;if((c|0)==(h|0)){p=t;q=v;break}else{b=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!m){I=d;u=e;return p|0}if((n|0)!=(m|0))f[i>>2]=n+(~((n+-4-m|0)>>>2)<<2);pr(l);I=d;u=e;return p|0}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;f[d>>2]=e;b=a+12|0;g=(e|0)==-1;h=e+1|0;do if(!g){f[d+4>>2]=((h>>>0)%3|0|0)==0?e+-2|0:h;if(!((e>>>0)%3|0)){i=e+2|0;break}else{i=e+-1|0;break}}else{f[d+4>>2]=-1;i=-1}while(0);f[d+8>>2]=i;i=g?-1:(e>>>0)/3|0;g=a+28|0;h=(f[g>>2]|0)+(i>>>5<<2)|0;f[h>>2]=1<<(i&31)|f[h>>2];h=a+172|0;i=a+176|0;j=a+280|0;a=e;e=0;while(1){if((((a|0)!=-1?(k=f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(k|0)!=-1):0)?(l=(k>>>0)/3|0,(f[(f[g>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0)?(l=f[h>>2]|0,(f[i>>2]|0)!=(l|0)):0){k=a>>>5;m=1<<(a&31);n=l;l=0;do{o=(f[j>>2]|0)+(l<<5)|0;if(!(m&f[(f[n+(l*136|0)+4>>2]|0)+(k<<2)>>2]))dj(o,0);else dj(o,1);l=l+1|0;n=f[h>>2]|0}while(l>>>0<(((f[i>>2]|0)-n|0)/136|0)>>>0)}n=e+1|0;if((n|0)==3)break;a=f[d+(n<<2)>>2]|0;e=n}u=c;return 1}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e+4|0;h=e;i=tn(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ih(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))xh(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ti(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;pr(b)}pr(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);pr(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(h)}pr(c);u=d;return}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6348;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}fi(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){_i(i);pr(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}pr(g)}_i(a);pr(a);return}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Fo(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=f[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=(q<<31>>31)+n|0;t=g-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;g=Fo(Aa(146,e|0)|0)|0;if((o|0)==(g|0)){v=3;break a}else{m=r;n=s}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((n|0)==2)w=0;else w=c-(f[m+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Cq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;pr(m);return}function Og(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=Yk(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=Yk(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=h;j=b;do{f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];i=(f[g>>2]|0)+12|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/12|0;h=i+b|0;if(h>>>0>357913941)Cq(a);k=(e-j|0)/12|0;j=k<<1;e=k>>>0<178956970?(j>>>0>>0?h:j):357913941;do if(e)if(e>>>0>357913941){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{l=tn(e*12|0)|0;break}else l=0;while(0);j=l+(i*12|0)|0;i=l+(e*12|0)|0;e=j;l=b;b=j;do{f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];e=b+12|0;b=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;c=j+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)eh(c|0,l|0,e|0)|0;f[a>>2]=c;f[g>>2]=b;f[d>>2]=i;if(!l)return;pr(l);return}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];dg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{mg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);mg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);mg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Fg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Cq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){_i(n);pr(n)}}while((h|0)!=(g|0))}if(!m)return;pr(m);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)Cq(h);j=d;if(i>>>0<=g>>>0)Cq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)Cq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)Cq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)Cq(h);if(i>>>0<=c>>>0)Cq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+96|0;g=e+40|0;h=e;Qm(g,c);De(h,b,c);Ih(g,h);Cj(h+24|0,f[h+28>>2]|0);Mj(h+12|0,f[h+16>>2]|0);Cj(h,f[h+4>>2]|0);$i(a,g,d);f[g>>2]=3496;Cj(g+28|0,f[g+32>>2]|0);Mj(g+16|0,f[g+20>>2]|0);Cj(g+4|0,f[g+8>>2]|0);u=e;return}function Ug(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=f[s>>2]|0;i=g;j=g;k=-1077;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=b;i=c;j=c;k=-1023;l=9}else e=a;while(0);if((l|0)==9){l=j+614242|0;f[s>>2]=h;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;h=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=h;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(k+(l>>>20)|0);m=o+q;e=m+(q+(o-m)+(t*1.4426950407214463+(r+t)*1.6751713164886512e-10))}return +e}function Vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14628;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Hh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Ik(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}pr(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Jg(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);pr(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(h)}pr(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Fh(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((b|0)==(e|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function Xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Hh(h,e)|0)==0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ki(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);u=d;return 1}function Yg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;ai(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;ai((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;ai((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}wi(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(h[i>>0]|0)&(1<>2]|0)+l|0;b[i>>0]=h[i>>0]|0|k<>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0>>0);eg(f[(f[g>>2]|0)+44>>2]|0);return 1}function Zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Hh(h,e)|0)==0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ki(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);u=d;return 1}function _g(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Nd(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=mr(o)|0;pj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Nd(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];nr(e);u=g;return 1}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)Cq(d);else{l=tn(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);pj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0>>0)}Ij(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);pr(a);u=c;return}function ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=h;m=k+2|0;break}else{l=h;m=k+-1|0;break}}else{k=a;h=g;while(1){i=k+1|0;n=h+1|0;o=((n>>>0)%3|0|0)==0?h+-2|0:n;if((o|0)==-1){l=i;m=b;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=i;m=b;break b}h=((o>>>0)%3|0|0)==0?n+-2|0:o;if((h|0)==-1){l=i;m=b;break b}if((h|0)==(b|0)){d=i;j=15;break a}else k=i}}while(0);if((m|0)==-1){d=l;j=15;break}else{a=l;e=1;g=m}}if((j|0)==15)return d|0;return 0}function bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;Sg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=j;j=c;n=e;while(1){f[j>>2]=m;if((n|0)==(a|0)){o=a;break}p=n+-4|0;m=f[p>>2]|0;if(h>>>0<=m>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(m<<3)>>2]|0)>>>0){o=n;break}else{q=n;n=p;j=q}}f[o>>2]=d}j=c+4|0;if((j|0)==(b|0)){k=3;break}else{n=c;c=j;e=n}}if((k|0)==3)return;else if((k|0)==5)Cq(g);else if((k|0)==7)Cq(g);else if((k|0)==11)Cq(g)}function ch(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;do if(!(Ep(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Ep(a,f[c>>2]|0,g)|0)){i=f[h>>2]|0;Ua[f[(f[i>>2]|0)+24>>2]&3](i,c,d,e,g);break}i=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(j=c+20|0,(f[j>>2]|0)!=(d|0)):0){f[i>>2]=e;k=c+44|0;if((f[k>>2]|0)==4)break;l=c+52|0;b[l>>0]=0;m=c+53|0;b[m>>0]=0;n=f[h>>2]|0;Va[f[(f[n>>2]|0)+20>>2]&3](n,c,d,d,1,g);if(b[m>>0]|0)if(!(b[l>>0]|0)){o=3;p=11}else q=3;else{o=4;p=11}if((p|0)==11){f[j>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;q=o}else q=o}f[k>>2]=q;break}if((e|0)==1)f[i>>2]=1}else $m(0,c,d,e);while(0);return}function dh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Sg(a,b,c,e)|0;h=f[d>>2]|0;i=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=h>>>0)Cq(j);l=e;if(k>>>0<=i>>>0)Cq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)Cq(j);if(k>>>0<=d>>>0)Cq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)Cq(j);if(k>>>0<=c>>>0)Cq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1296;g=a+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ti(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0>>0?(j=m+(a<<2)|0,(w|0)!=(j|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{zh(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(k>>>0<=o>>>0)if(k>>>0>>0?(m=p+(k<<2)|0,(n|0)!=(m|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{zi(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=4;o=0;k=j;while(1){f[g+(o<<2)>>2]=k;q=q+4|0;o=o+1|0;d=r+q|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((o|0)>=(i|0)){s=c;break}else k=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)Cq(a);n=j<<6;j=c+31&-32;si(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)pr(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){pj(h|0,0,n|0)|0;d=c-(a<<5)|0;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{pj(h|0,-1,n|0)|0;n=c-(a<<5)|0;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Dd(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=tn(40)|0;nj(c+16|0,d);nj(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}He(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ma[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0>>0?(d=h+(j<<2)|0,(e|0)!=(d|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else zi(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)){h=f[c>>2]|0;k=e-b>>2;b=0;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0>>0)}j=j+1|0}while(j>>>0>>0);g=1;return g|0}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;hd(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;n=a+88|0;hd(n,b);u=c;return 1}function lh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=tn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Bi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>4294967279)Cq(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=a;m=0;n=j;o=13}else{Yo(a,j,(e&255)+1|0)|0;pr(j);o=15}}else{j=tn(k+1|0)|0;if(g){l=j;m=1;n=f[a>>2]|0;o=13;break}else{Yo(j,a,(e&255)+1|0)|0;p=j;o=14;break}}while(0);if((o|0)==13){Yo(l,n,(f[a+4>>2]|0)+1|0)|0;pr(n);if(m){p=l;o=14}else o=15}if((o|0)==14){f[a+8>>2]=k+1|-2147483648;f[a+4>>2]=h;f[a>>2]=p;break}else if((o|0)==15){b[d>>0]=h;break}}while(0);return}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;hd(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;n=a+108|0;hd(n,b);u=c;return 1}function oh(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+32|0;d=f[a+64>>2]|0;e=(La[f[(f[d>>2]|0)+40>>2]&127](d)|0)+56|0;d=f[e>>2]|0;wi(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){eg(c);return}i=a+48|0;j=a+44|0;a=e;e=(g>>>2)+-1|0;while(1){g=f[a+(e<<2)>>2]|0;k=f[3652+(g<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>g&1|0):0){m=l+4|0;n=f[m>>2]|0;o=0;do{p=n>>>3;q=n&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(h[r>>0]|0)&(1<>2]|0)+p|0;b[r>>0]=h[r>>0]|0|(g>>>o&1)<>2]|0)+1|0;f[m>>2]=n;o=o+1|0}while((o|0)!=(k|0))}k=e+-1|0;if((k|0)<=-1)break;a=f[d>>2]|0;e=k}eg(c);return}function ph(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Rn(h);do if((lm(c,0)|0)!=-1){if(d){if(!(La[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Qa[f[(f[c>>2]|0)+20>>2]&127](c)}Tg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)pr(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;pg(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)pr(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}j=k;u=g;return j|0}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Sa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pr(d)}pr(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);pr(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pr(a)}pr(e)}pr(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function rh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+352>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Ci(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;if(!(f[i+56>>2]|0))j=a;else{k=f[g>>2]|0;f[k+(a*136|0)>>2]=h;l=f[k+(a*136|0)+104>>2]|0;m=k+(a*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;Xj(k+(a*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(a*136|0)+128>>2]=0;Bc(l+(a*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=a+1|0}h=h+1|0;if((h|0)>=(d|0))break;else a=j}return 1}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=g;i=b;do{j=h;f[j>>2]=0;f[j+4>>2]=0;h=(f[e>>2]|0)+8|0;f[e>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;h=g-i>>3;g=h+b|0;if(g>>>0>536870911)Cq(a);j=d-i|0;i=j>>2;d=j>>3>>>0<268435455?(i>>>0>>0?g:i):536870911;do if(d)if(d>>>0>536870911){i=ra(8)|0;jp(i,16426);f[i>>2]=7416;va(i|0,1160,122)}else{k=tn(d<<3)|0;break}else k=0;while(0);i=k+(h<<3)|0;h=k+(d<<3)|0;d=i;k=b;b=i;do{g=d;f[g>>2]=0;f[g+4>>2]=0;d=b+8|0;b=d;k=k+-1|0}while((k|0)!=0);k=f[a>>2]|0;d=(f[e>>2]|0)-k|0;g=i+(0-(d>>3)<<3)|0;if((d|0)>0)eh(g|0,k|0,d|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=h;if(!k)return;pr(k);return}function th(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+288>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Ci(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;if(!(f[i+56>>2]|0))j=a;else{k=f[g>>2]|0;f[k+(a*136|0)>>2]=h;l=f[k+(a*136|0)+104>>2]|0;m=k+(a*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;Xj(k+(a*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(a*136|0)+128>>2]=0;Bc(l+(a*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=a+1|0}h=h+1|0;if((h|0)>=(d|0))break;else a=j}return 1}function uh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0;k=jo(a|0,c|0,7)|0;m=uh(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function vh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Ui(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((La[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Tf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=tn(44)|0;f[c>>2]=1608;f[c+4>>2]=g;g=c+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);f[c>>2]=1664;i=c}f[a>>2]=i;return}function wh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((kb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=vr(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=kb(a,c,g,i,h)|0;if(!o)s=j;else{Na[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=kb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)ur(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){Wf(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((h|0)==(g|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;pr(h)}pr(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);pr(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(a)}pr(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;if(!(kn(a,b,c)|0)){g=0;u=d;return g|0}if((La[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){g=0;u=d;return g|0}h=Vg(c,f[b+48>>2]|0)|0;Sa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(c){Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c)}else f[e>>2]=0;e=f[h>>2]|0;if(!e){g=1;u=d;return g|0}if(Ma[f[(f[a>>2]|0)+36>>2]&127](a,e)|0){g=1;u=d;return g|0}e=f[h>>2]|0;f[h>>2]=0;if(!e){g=1;u=d;return g|0}Qa[f[(f[e>>2]|0)+4>>2]&127](e);g=1;u=d;return g|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=i;k=b;while(1){f[j>>2]=f[c>>2];k=k+-1|0;if(!k)break;else j=j+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;j=h-i|0;h=j>>2;k=h+b|0;if(k>>>0>1073741823)Cq(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?k:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}else{n=tn(m<<2)|0;break}else n=0;while(0);e=n+(h<<2)|0;k=n+(m<<2)|0;m=e;n=b;while(1){f[m>>2]=f[c>>2];n=n+-1|0;if(!n)break;else m=m+4|0}m=e+(0-h<<2)|0;if((j|0)>0)eh(m|0,i|0,j|0)|0;f[a>>2]=m;f[g>>2]=e+(b<<2);f[d>>2]=k;if(!i)return;pr(i);return}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Fp(f[a+8>>2]|0,e)|0;h=Fp(f[a+12>>2]|0,e)|0;i=Fp(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Fp(f[a+(q<<2)>>2]|0,e)|0;s=Fp(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=ll(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Fp(f[a+(m<<2)>>2]|0,e)|0;j=Fp(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Bh(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Ep(l,e,0)|0){f[i+48>>2]=1;Va[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ua[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)pr(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)pr(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;hh(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;hh(a+12|0,k,e);fg(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6336);Xj(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);Xj(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Dh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Md(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Md(a,e);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=h;j=b;while(1){f[i>>2]=1;j=j+-1|0;if(!j)break;else i=i+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Cq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;j=m+(l<<2)|0;l=d;m=b;while(1){f[l>>2]=1;m=m+-1|0;if(!m)break;else l=l+4|0}l=d+(0-g<<2)|0;if((i|0)>0)eh(l|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=d+(b<<2);f[c>>2]=j;if(!h)return;pr(h);return}function Gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+48|0;g=e;h=e+32|0;i=a+4|0;j=f[i>>2]|0;if(!j){k=0;u=e;return k|0}do if(c)if(La[f[(f[j>>2]|0)+16>>2]&127](j)|0){l=f[i>>2]|0;Qa[f[(f[l>>2]|0)+20>>2]&127](l);break}else{k=0;u=e;return k|0}while(0);Rn(g);$i(h,f[a>>2]|0,g);a=(f[h>>2]|0)==0;i=h+4|0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if(a){a=f[g>>2]|0;i=g+4|0;pg(d,a,a+((f[i>>2]|0)-a)|0);m=(f[i>>2]|0)-(f[g>>2]|0)|0}else m=0;i=g+12|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0)pr(a);a=f[g>>2]|0;if(a|0){i=g+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;pr(a)}k=m;u=e;return k|0}function Hh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=Yk(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=Yk(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=a+4|0;j=(i|0)==(b|0);if(!j){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Kc(i,e,d)}if(!j){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Cc(a+16|0,e,d)}if(j){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Kc(a+28|0,e,d);u=c;return}function Jh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=tn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;nj(g+8|0,e);h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Bi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function Kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;_f(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=d;d=0;while(1){p=f[o>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(p<<2)>>2]|0;else q=p;f[h>>2]=q;p=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Lb(i,g,p,a+(d<<2)|0)|0)){m=0;r=7;break}o=o+4|0;if((o|0)==(c|0)){m=1;r=7;break}else d=d+k|0}if((r|0)==7){u=e;return m|0}return 0}function Lh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1472;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=f[a+48>>2]|0;if(c|0)pr(c);c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}pr(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);pr(g);return}function Mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(i|0)!=(h|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else zi(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=1;e=j;h=j;while(1){i=f[b+(d<<2)>>2]|0;g=(i|0)<(h|0);k=g?i:h;l=g?e:(i|0)>(e|0)?i:e;d=d+1|0;if((d|0)==(c|0)){m=l;n=k;break}else{e=l;h=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=io(m|0,((m|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Nh(a){a=a|0;Dj(a+992|0);Dj(a+960|0);Dj(a+928|0);Dj(a+896|0);Dj(a+864|0);Dj(a+832|0);Dj(a+800|0);Dj(a+768|0);Dj(a+736|0);Dj(a+704|0);Dj(a+672|0);Dj(a+640|0);Dj(a+608|0);Dj(a+576|0);Dj(a+544|0);Dj(a+512|0);Dj(a+480|0);Dj(a+448|0);Dj(a+416|0);Dj(a+384|0);Dj(a+352|0);Dj(a+320|0);Dj(a+288|0);Dj(a+256|0);Dj(a+224|0);Dj(a+192|0);Dj(a+160|0);Dj(a+128|0);Dj(a+96|0);Dj(a+64|0);Dj(a+32|0);Dj(a);return}function Oh(a){a=a|0;Gn(a);Gn(a+32|0);Gn(a+64|0);Gn(a+96|0);Gn(a+128|0);Gn(a+160|0);Gn(a+192|0);Gn(a+224|0);Gn(a+256|0);Gn(a+288|0);Gn(a+320|0);Gn(a+352|0);Gn(a+384|0);Gn(a+416|0);Gn(a+448|0);Gn(a+480|0);Gn(a+512|0);Gn(a+544|0);Gn(a+576|0);Gn(a+608|0);Gn(a+640|0);Gn(a+672|0);Gn(a+704|0);Gn(a+736|0);Gn(a+768|0);Gn(a+800|0);Gn(a+832|0);Gn(a+864|0);Gn(a+896|0);Gn(a+928|0);Gn(a+960|0);Gn(a+992|0);return}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=tn(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=tn(44)|0;Ob(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;pk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}_i(j);pr(j);g=1;u=a;return g|0}function Qh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;c=u;u=u+64|0;j=c;k=i?6:5;Ol(j);i=f[h+56>>2]|0;h=X($l(k)|0,e)|0;Hj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=tn(96)|0;xl(h,j);f[a>>2]=h;zj(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0>>0){zh(d,g-j|0,1280);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((e|0)==(j|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Rh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){nd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;nd(a,e);return}function Sh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rd(a,e);return}function Th(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){zd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;zd(a,e);return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Id(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Id(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){pd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;pd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){vd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;vd(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ed(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ed(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){od(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;od(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;sd(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ad(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ad(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Jd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Jd(a,e);return}function ai(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;k=ai(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Ce(e,a+40|0,f[a+8>>2]|0,b,c);ej(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(b)}pr(a);u=d;return 1}function ci(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){xd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;xd(a,e);return}function di(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Rn(g);if((lm(c,0)|0)!=-1?La[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Qa[f[(f[c>>2]|0)+20>>2]&127](c);ng(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;pg(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)pr(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;pr(c)}i=j;u=e;return i|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;ze(e,a+40|0,f[a+8>>2]|0,b,c);ej(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(b)}pr(a);u=d;return 1}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;pr(d)}pr(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);pr(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pr(i)}pr(j)}pr(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}pr(e);return}function gi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Be(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=a;a=0;do{p=f[o+(a<<2)>>2]|0;q=La[f[(f[p>>2]|0)+32>>2]&127](p)|0;b[h>>0]=q;q=l;p=f[q+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}a=a+1|0;o=f[j>>2]|0}while(a>>>0<(f[k>>2]|0)-o>>2>>>0);i=1;u=d;return i|0}function hi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;Kp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Kp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=tn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14868;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=tn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14889;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}pr(f[d>>2]|0);u=c;return}function ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;pr(d)}pr(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);pr(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;pr(h)}pr(i)}pr(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;pr(b);return}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function ki(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=tn(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14799;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Ik(a,d,-1)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);j=tn(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14814;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Ik(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}pr(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;hd(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(hd(d,b),(f[e>>2]|0)>1):0){d=1;do{hd((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=a;a=0;while(1){g=c;ai((f[g+(a*12|0)+4>>2]|0)-(f[g+(a*12|0)>>2]|0)>>2,b)|0;g=f[e>>2]|0;h=f[g+(a*12|0)>>2]|0;i=(f[g+(a*12|0)+4>>2]|0)-h>>2;if(!i)j=g;else{Hc(h,i,1,0,b)|0;j=f[e>>2]|0}a=a+1|0;if(a>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else c=j}return}function ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(zl(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=k;m=0;n=c;o=a;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Na[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=f[g>>2]|0;m=e;n=c-e|0;o=a+e|0}else{l=k;m=0;n=c;o=a}while(0);eh(l|0,o|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function oi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;oi(c+8|0);pr(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)pr(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;pr(h)}if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);pr(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)pr(e);pr(d)}if((b[a+11>>0]|0)>=0)return;pr(f[a>>2]|0);return}function pi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)Kn(h,14714)|0;ml(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;kj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)pr(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}gm(xi(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}pr(f[h>>2]|0);u=g;return}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=lm(k,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ti(j,d);else{f[k>>2]=l;f[h>>2]=k+4}kl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0} +function Wa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4882]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19568+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[4882]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4884]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=19568+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[4887]|0;k=m>>>3;l=19568+(k<<1<<2)|0;i=1<>2]|0}f[q>>2]=h;f[r+12>>2]=h;f[h+8>>2]=r;f[h+12>>2]=l}f[4884]=n;f[4887]=j;o=e;u=b;return o|0}e=f[4883]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[19832+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=i;v=s}else{h=k;k=i;i=s;while(1){s=(f[h+4>>2]&-8)-d|0;l=s>>>0>>0;n=l?s:k;s=l?h:i;h=f[h+16+(((f[h+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=n;v=s;break}else{k=n;i=s}}}i=v+d|0;if(v>>>0>>0){k=f[v+24>>2]|0;h=f[v+12>>2]|0;do if((h|0)==(v|0)){s=v+20|0;n=f[s>>2]|0;if(!n){l=v+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=n;y=s}while(1){s=x+20|0;n=f[s>>2]|0;if(n|0){x=n;y=s;continue}s=x+16|0;n=f[s>>2]|0;if(!n)break;else{x=n;y=s}}f[y>>2]=0;w=x}else{s=f[v+8>>2]|0;f[s+12>>2]=h;f[h+8>>2]=s;w=h}while(0);do if(k|0){h=f[v+28>>2]|0;s=19832+(h<<2)|0;if((v|0)==(f[s>>2]|0)){f[s>>2]=w;if(!w){f[4883]=e&~(1<>2]|0)!=(v|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=k;h=f[v+16>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[v+20>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}while(0);if(t>>>0<16){k=t+d|0;f[v+4>>2]=k|3;e=v+k+4|0;f[e>>2]=f[e>>2]|1}else{f[v+4>>2]=d|3;f[i+4>>2]=t|1;f[i+t>>2]=t;if(m|0){e=f[4887]|0;k=m>>>3;h=19568+(k<<1<<2)|0;s=1<>2]|0}f[z>>2]=e;f[A+12>>2]=e;f[e+8>>2]=A;f[e+12>>2]=h}f[4884]=t;f[4887]=i}o=v+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){h=a+11|0;e=h&-8;s=f[4883]|0;if(s){k=0-e|0;n=h>>>8;if(n)if(e>>>0>16777215)C=31;else{h=(n+1048320|0)>>>16&8;l=n<>>16&4;j=l<>>16&2;D=14-(n|h|l)+(j<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[19832+(C<<2)>>2]|0;a:do if(!D){E=k;F=0;G=0;H=57}else{l=k;j=0;h=e<<((C|0)==31?0:25-(C>>>1)|0);n=D;I=0;while(1){J=(f[n+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=n;M=n;H=61;break a}else{N=J;O=n}else{N=l;O=I}J=f[n+20>>2]|0;n=f[n+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(n|0)?j:J;J=(n|0)==0;if(J){E=N;F=P;G=O;H=57;break}else{l=N;j=P;h=h<<((J^1)&1);I=O}}}while(0);if((H|0)==57){if((F|0)==0&(G|0)==0){D=2<>>12&16;d=D>>>k;D=d>>>5&8;i=d>>>D;d=i>>>2&4;g=i>>>d;i=g>>>1&2;m=g>>>i;g=m>>>1&1;Q=f[19832+((D|k|d|i|g)+(m>>>g)<<2)>>2]|0;R=0}else{Q=F;R=G}if(!Q){S=E;T=R}else{K=E;L=Q;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;i=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=i;T=g;break}else{K=i;M=g;H=61}}if((T|0)!=0?S>>>0<((f[4884]|0)-e|0)>>>0:0){g=T+e|0;if(T>>>0>=g>>>0){o=0;u=b;return o|0}i=f[T+24>>2]|0;m=f[T+12>>2]|0;do if((m|0)==(T|0)){d=T+20|0;k=f[d>>2]|0;if(!k){D=T+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=k;W=d}while(1){d=V+20|0;k=f[d>>2]|0;if(k|0){V=k;W=d;continue}d=V+16|0;k=f[d>>2]|0;if(!k)break;else{V=k;W=d}}f[W>>2]=0;U=V}else{d=f[T+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(i){m=f[T+28>>2]|0;d=19832+(m<<2)|0;if((T|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=s&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=s;break}}f[U+24>>2]=i;d=f[T+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[T+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=s}else X=s}else X=s;while(0);do if(S>>>0>=16){f[T+4>>2]=e|3;f[g+4>>2]=S|1;f[g+S>>2]=S;s=S>>>3;if(S>>>0<256){i=19568+(s<<1<<2)|0;d=f[4882]|0;m=1<>2]|0}f[Y>>2]=g;f[Z+12>>2]=g;f[g+8>>2]=Z;f[g+12>>2]=i;break}i=S>>>8;if(i)if(S>>>0>16777215)_=31;else{m=(i+1048320|0)>>>16&8;d=i<>>16&4;s=d<>>16&2;k=14-(i|m|d)+(s<>>15)|0;_=S>>>(k+7|0)&1|k<<1}else _=0;k=19832+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4883]=X|d;f[k>>2]=g;f[g+24>>2]=k;f[g+12>>2]=g;f[g+8>>2]=g;break}d=S<<((_|0)==31?0:25-(_>>>1)|0);s=f[k>>2]|0;while(1){if((f[s+4>>2]&-8|0)==(S|0)){H=97;break}$=s+16+(d>>>31<<2)|0;k=f[$>>2]|0;if(!k){H=96;break}else{d=d<<1;s=k}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=s;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=s+8|0;k=f[d>>2]|0;f[k+12>>2]=g;f[d>>2]=g;f[g+8>>2]=k;f[g+12>>2]=s;f[g+24>>2]=0;break}}else{k=S+e|0;f[T+4>>2]=k|3;d=T+k+4|0;f[d>>2]=f[d>>2]|1}while(0);o=T+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);T=f[4884]|0;if(T>>>0>=B>>>0){S=T-B|0;$=f[4887]|0;if(S>>>0>15){_=$+B|0;f[4887]=_;f[4884]=S;f[_+4>>2]=S|1;f[_+S>>2]=S;f[$+4>>2]=B|3}else{f[4884]=0;f[4887]=0;f[$+4>>2]=T|3;S=$+T+4|0;f[S>>2]=f[S>>2]|1}o=$+8|0;u=b;return o|0}$=f[4885]|0;if($>>>0>B>>>0){S=$-B|0;f[4885]=S;T=f[4888]|0;_=T+B|0;f[4888]=_;f[_+4>>2]=S|1;f[T+4>>2]=B|3;o=T+8|0;u=b;return o|0}if(!(f[5e3]|0)){f[5002]=4096;f[5001]=4096;f[5003]=-1;f[5004]=-1;f[5005]=0;f[4993]=0;T=c&-16^1431655768;f[c>>2]=T;f[5e3]=T;aa=4096}else aa=f[5002]|0;T=B+48|0;c=B+47|0;S=aa+c|0;_=0-aa|0;aa=S&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4992]|0;if(X|0?(Z=f[4990]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4993]&4)){X=f[4888]|0;c:do if(X){Y=19976;while(1){Z=f[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=f[Y+8>>2]|0;if(!Z){H=118;break c}else Y=Z}s=S-$&_;if(s>>>0<2147483647){Z=Jl(s|0)|0;if((Z|0)==((f[Y>>2]|0)+(f[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=s;else{da=Z;ea=s;H=135;break b}else{fa=Z;ga=s;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Jl(0)|0;if((X|0)!=(-1|0)?(e=X,s=f[5001]|0,Z=s+-1|0,U=((Z&e|0)==0?0:(Z+e&0-s)-e|0)+aa|0,e=f[4990]|0,s=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Z=f[4992]|0;if(Z|0?s>>>0<=e>>>0|s>>>0>Z>>>0:0){ca=0;break}Z=Jl(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;H=135;break b}else{fa=Z;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;H=135;break b}Z=f[5002]|0;X=c-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;H=135;break b}if((Jl(X|0)|0)==(-1|0)){Jl(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;H=135;break b}}while(0);f[4993]=f[4993]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Jl(aa|0)|0,aa=Jl(0)|0,ga=aa-ca|0,fa=ga>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;H=135}if((H|0)==135){ha=(f[4990]|0)+ea|0;f[4990]=ha;if(ha>>>0>(f[4991]|0)>>>0)f[4991]=ha;ha=f[4888]|0;do if(ha){ga=19976;while(1){ia=f[ga>>2]|0;ja=ga+4|0;ka=f[ja>>2]|0;if((da|0)==(ia+ka|0)){H=145;break}fa=f[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((H|0)==145?(f[ga+12>>2]&8|0)==0:0)?ha>>>0>>0&ha>>>0>=ia>>>0:0){f[ja>>2]=ka+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(f[4885]|0)+(ea-ca)|0;f[4888]=fa;f[4885]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[4889]=f[5004];break}if(da>>>0<(f[4886]|0)>>>0)f[4886]=da;aa=da+ea|0;fa=19976;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ca=f[fa+8>>2]|0;if(!ca)break;else fa=ca}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=da;ga=fa+4|0;f[ga>>2]=(f[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;c=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+B|0;T=c-ca-B|0;f[ca+4>>2]=B|3;do if((c|0)!=(ha|0)){if((c|0)==(f[4887]|0)){ba=(f[4884]|0)+T|0;f[4884]=ba;f[4887]=ga;f[ga+4>>2]=ba|1;f[ga+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){S=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(S|0)){f[4882]=f[4882]&~(1<<$);break}else{f[S+12>>2]=X;f[X+8>>2]=S;break}}else{S=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Z=U+4|0;s=f[Z>>2]|0;if(!s){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=s;na=Z}while(1){Z=ma+20|0;s=f[Z>>2]|0;if(s|0){ma=s;na=Z;continue}Z=ma+16|0;s=f[Z>>2]|0;if(!s)break;else{ma=s;na=Z}}f[na>>2]=0;la=ma}else{Z=f[c+8>>2]|0;f[Z+12>>2]=X;f[X+8>>2]=Z;la=X}while(0);if(!S)break;X=f[c+28>>2]|0;Z=19832+(X<<2)|0;do if((c|0)!=(f[Z>>2]|0)){f[S+16+(((f[S+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Z>>2]=la;if(la|0)break;f[4883]=f[4883]&~(1<>2]=S;X=c+16|0;Z=f[X>>2]|0;if(Z|0){f[la+16>>2]=Z;f[Z+24>>2]=la}Z=f[X+4>>2]|0;if(!Z)break;f[la+20>>2]=Z;f[Z+24>>2]=la}while(0);oa=c+_|0;pa=_+T|0}else{oa=c;pa=T}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ga+4>>2]=pa|1;f[ga+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=19568+($<<1<<2)|0;Y=f[4882]|0;Z=1<<$;if(!(Y&Z)){f[4882]=Y|Z;qa=ba+8|0;ra=ba}else{Z=ba+8|0;qa=Z;ra=f[Z>>2]|0}f[qa>>2]=ga;f[ra+12>>2]=ga;f[ga+8>>2]=ra;f[ga+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Z=(ba+1048320|0)>>>16&8;Y=ba<>>16&4;X=Y<<$;Y=(X+245760|0)>>>16&2;s=14-($|Z|Y)+(X<>>15)|0;sa=pa>>>(s+7|0)&1|s<<1}while(0);ba=19832+(sa<<2)|0;f[ga+28>>2]=sa;_=ga+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4883]|0;s=1<>2]=ga;f[ga+24>>2]=ba;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}s=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(s>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{s=s<<1;_=ba}}if((H|0)==193){f[ta>>2]=ga;f[ga+24>>2]=_;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}else if((H|0)==194){s=_+8|0;ba=f[s>>2]|0;f[ba+12>>2]=ga;f[s>>2]=ga;f[ga+8>>2]=ba;f[ga+12>>2]=_;f[ga+24>>2]=0;break}}else{ba=(f[4885]|0)+T|0;f[4885]=ba;f[4888]=ga;f[ga+4>>2]=ba|1}while(0);o=ca+8|0;u=b;return o|0}ga=19976;while(1){T=f[ga>>2]|0;if(T>>>0<=ha>>>0?(ua=T+(f[ga+4>>2]|0)|0,ua>>>0>ha>>>0):0)break;ga=f[ga+8>>2]|0}ga=ua+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0>>0?ha:T;T=ga+8|0;c=da+8|0;aa=(c&7|0)==0?0:0-c&7;c=da+aa|0;fa=ea+-40-aa|0;f[4888]=c;f[4885]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[4889]=f[5004];fa=ga+4|0;f[fa>>2]=27;f[T>>2]=f[4994];f[T+4>>2]=f[4995];f[T+8>>2]=f[4996];f[T+12>>2]=f[4997];f[4994]=da;f[4995]=ea;f[4997]=0;f[4996]=T;T=ga+24|0;do{c=T;T=T+4|0;f[T>>2]=7}while((c+8|0)>>>0>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;f[fa>>2]=f[fa>>2]&-2;f[ha+4>>2]=T|1;f[ga>>2]=T;c=T>>>3;if(T>>>0<256){aa=19568+(c<<1<<2)|0;ba=f[4882]|0;s=1<>2]|0}f[va>>2]=ha;f[wa+12>>2]=ha;f[ha+8>>2]=wa;f[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)xa=31;else{s=(aa+1048320|0)>>>16&8;ba=aa<>>16&4;c=ba<>>16&2;Y=14-(aa|s|ba)+(c<>>15)|0;xa=T>>>(Y+7|0)&1|Y<<1}else xa=0;Y=19832+(xa<<2)|0;f[ha+28>>2]=xa;f[ha+20>>2]=0;f[ca>>2]=0;ba=f[4883]|0;c=1<>2]=ha;f[ha+24>>2]=Y;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}c=T<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Y>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(T|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Y=f[ya>>2]|0;if(!Y){H=215;break}else{c=c<<1;ba=Y}}if((H|0)==215){f[ya>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==216){c=ba+8|0;T=f[c>>2]|0;f[T+12>>2]=ha;f[c>>2]=ha;f[ha+8>>2]=T;f[ha+12>>2]=ba;f[ha+24>>2]=0;break}}}else{T=f[4886]|0;if((T|0)==0|da>>>0>>0)f[4886]=da;f[4994]=da;f[4995]=ea;f[4997]=0;f[4891]=f[5e3];f[4890]=-1;T=0;do{c=19568+(T<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;T=T+1|0}while((T|0)!=32);T=da+8|0;ba=(T&7|0)==0?0:0-T&7;T=da+ba|0;c=ea+-40-ba|0;f[4888]=T;f[4885]=c;f[T+4>>2]=c|1;f[T+c+4>>2]=40;f[4889]=f[5004]}while(0);ea=f[4885]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4885]=da;ea=f[4888]|0;ha=ea+B|0;f[4888]=ha;f[ha+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=er()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Xa(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=D;qa=M;ra=N;sa=M;ta=N;ua=M;va=P;wa=O;xa=Q;ya=oa}else{za=G;Cq(za)}b:while(1){oa=f[pa+(ya<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=Q>>>5;Ba=1<<(Q&31);Ca=(oa|0)==-1|(Q|0)==-1;Da=oa;Ea=1;Fa=0;c:while(1){Ga=Ea^1;Ha=Da;Ia=Fa;while(1){if((Ha|0)==-1){Ja=Ia;break c}Ka=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(La=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(La|0)!=-1):0)?(Ma=f[S>>2]|0,Na=f[A>>2]|0,Oa=f[Na+(f[Ma+(La<<2)>>2]<<2)>>2]|0,Pa=La+1|0,Qa=f[Na+(f[Ma+((((Pa>>>0)%3|0|0)==0?La+-2|0:Pa)<<2)>>2]<<2)>>2]|0,Pa=f[Na+(f[Ma+((((La>>>0)%3|0|0)==0?2:-1)+La<<2)>>2]<<2)>>2]|0,(Oa|0)<(ya|0)&(Qa|0)<(ya|0)&(Pa|0)<(ya|0)):0){La=X(Oa,g)|0;Oa=X(Qa,g)|0;Qa=X(Pa,g)|0;if(T){Pa=0;do{f[Ka+(Pa<<2)>>2]=(f[c+(Pa+Qa<<2)>>2]|0)+(f[c+(Pa+Oa<<2)>>2]|0)-(f[c+(Pa+La<<2)>>2]|0);Pa=Pa+1|0}while((Pa|0)!=(g|0))}Pa=Ia+1|0;if((Pa|0)==4){Ja=4;break c}else Ra=Pa}else Ra=Ia;do if(Ea){Pa=Ha+1|0;La=((Pa>>>0)%3|0|0)==0?Ha+-2|0:Pa;if(((La|0)!=-1?(f[(f[e>>2]|0)+(La>>>5<<2)>>2]&1<<(La&31)|0)==0:0)?(Pa=f[(f[(f[R>>2]|0)+12>>2]|0)+(La<<2)>>2]|0,La=Pa+1|0,(Pa|0)!=-1):0)Sa=((La>>>0)%3|0|0)==0?Pa+-2|0:La;else Sa=-1}else{La=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((La|0)!=-1?(f[(f[e>>2]|0)+(La>>>5<<2)>>2]&1<<(La&31)|0)==0:0)?(Pa=f[(f[(f[R>>2]|0)+12>>2]|0)+(La<<2)>>2]|0,(Pa|0)!=-1):0)if(!((Pa>>>0)%3|0)){Sa=Pa+2|0;break}else{Sa=Pa+-1|0;break}else Sa=-1}while(0);if((Sa|0)==(oa|0)){Ja=Ra;break c}if((Sa|0)!=-1|Ga){Ha=Sa;Ia=Ra}else break}if(Ca){Da=-1;Ea=0;Fa=Ra;continue}if(f[(f[e>>2]|0)+(Aa<<2)>>2]&Ba|0){Da=-1;Ea=0;Fa=Ra;continue}Ia=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ia|0)==-1){Da=-1;Ea=0;Fa=Ra;continue}if(!((Ia>>>0)%3|0)){Da=Ia+2|0;Ea=0;Fa=Ra;continue}else{Da=Ia+-1|0;Ea=0;Fa=Ra;continue}}Fa=X(ya,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Ea=c+((X(xa+-2|0,g)|0)<<2)|0;Da=c+(Fa<<2)|0;Q=f[_>>2]|0;if(T){Ba=0;Aa=0;while(1){Ca=(f[Ea+(Aa<<2)>>2]|0)-(f[Da+(Aa<<2)>>2]|0)|0;oa=((Ca|0)>-1?Ca:0-Ca|0)+Ba|0;f[ua+(Aa<<2)>>2]=Ca;f[Q+(Aa<<2)>>2]=Ca<<1^Ca>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Ta=oa;break}else Ba=oa}}else Ta=0;xo(j,$,Q,g);Ba=al(j)|0;Aa=I;oa=Jm(j)|0;Ca=go(oa|0,I|0,Ba|0,Aa|0)|0;Aa=I;Ba=(Ja|0)>0;if(Ba){oa=Ja+-1|0;Ia=p+(oa<<3)|0;Ha=Ia;Ga=go(f[Ha>>2]|0,f[Ha+4>>2]|0,Ja|0,((Ja|0)<0)<<31>>31|0)|0;Ha=I;Pa=Ia;f[Pa>>2]=Ga;f[Pa+4>>2]=Ha;Ua=+W(+((+(Ga>>>0)+4294967296.0*+(Ha|0))*+Em(Ga,f[o+(oa<<3)>>2]|0)));oa=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,Ca|0,Aa|0)|0;Va=oa}else Va=Ca;Ca=r;f[Ca>>2]=Va;f[Ca+4>>2]=Ta;b[V>>0]=0;f[Z>>2]=0;Zf(aa,Ea,Ea+(g<<2)|0);f[s>>2]=va;f[t>>2]=wa;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Mf(ba,k,j);if((Ja|0)<1){Wa=ta;Xa=sa;Ya=ra;Za=qa;_a=wa;$a=va;ab=va}else{Ca=n+Ja|0;oa=f[q>>2]|0;Aa=Ja+-1|0;Ga=o+(Aa<<3)|0;Ha=p+(Aa<<3)|0;Aa=oa;Pa=f[H>>2]|0;Ia=Ca+-1|0;La=(Ia|0)==(n|0);Oa=Ca+-2|0;Qa=ma>>>0>>0;Ka=~Ja;Ma=Ja+2+((Ka|0)>-2?Ka:-2)|0;Ka=Pa;Na=Ia>>>0>n>>>0;bb=0;cb=1;while(1){bb=bb+1|0;pj(n|0,1,Ma|0)|0;pj(n|0,0,bb|0)|0;d:while(1){if(T){pj(f[m>>2]|0,0,na|0)|0;db=f[m>>2]|0;eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0)){gb=f[l+(fb*12|0)>>2]|0;hb=0;do{ib=db+(hb<<2)|0;f[ib>>2]=(f[ib>>2]|0)+(f[gb+(hb<<2)>>2]|0);hb=hb+1|0}while((hb|0)!=(g|0));jb=(1<>0]|0))lb=(1<>2]|0;do if(T){fb=0;do{db=eb+(fb<<2)|0;f[db>>2]=(f[db>>2]|0)/(cb|0)|0;fb=fb+1|0}while((fb|0)!=(g|0));fb=f[_>>2]|0;if(T){mb=0;nb=0}else{ob=fb;pb=0;break}while(1){db=(f[eb+(nb<<2)>>2]|0)-(f[Da+(nb<<2)>>2]|0)|0;hb=((db|0)>-1?db:0-db|0)+mb|0;f[oa+(nb<<2)>>2]=db;f[fb+(nb<<2)>>2]=db<<1^db>>31;nb=nb+1|0;if((nb|0)==(g|0)){ob=fb;pb=hb;break}else mb=hb}}else{ob=f[_>>2]|0;pb=0}while(0);xo(j,$,ob,g);eb=al(j)|0;fb=I;hb=Jm(j)|0;db=go(hb|0,I|0,eb|0,fb|0)|0;fb=I;if(Ba){eb=Ga;hb=go(f[eb>>2]|0,f[eb+4>>2]|0,cb|0,0)|0;eb=Ha;gb=f[eb>>2]|0;ib=f[eb+4>>2]|0;Ua=+W(+((+(gb>>>0)+4294967296.0*+(ib|0))*+Em(gb,hb)));hb=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,db|0,fb|0)|0;qb=hb}else qb=db;db=f[r>>2]|0;if(!((qb|0)>=(db|0)?!((qb|0)<=(db|0)?(pb|0)<(f[U>>2]|0):0):0)){db=r;f[db>>2]=qb;f[db+4>>2]=pb;b[V>>0]=kb;f[Z>>2]=cb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Mf(aa,k,j);f[x>>2]=Aa;f[y>>2]=Pa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Mf(ba,k,j)}if(La)break;rb=b[Ia>>0]|0;db=rb;hb=-1;while(1){fb=hb+-1|0;sb=Ca+fb|0;gb=db;db=b[sb>>0]|0;if((db&255)<(gb&255))break;if((sb|0)==(n|0)){tb=82;break d}else hb=fb}fb=Ca+hb|0;if((db&255)<(rb&255)){ub=rb;vb=Ia}else{gb=Ca;ib=Ia;while(1){eb=ib+-1|0;if((db&255)<(h[gb+-2>>0]|0)){ub=1;vb=eb;break}else{wb=ib;ib=eb;gb=wb}}}b[sb>>0]=ub;b[vb>>0]=db;if((hb|0)<-1){xb=fb;yb=Ia}else continue;while(1){gb=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=gb;gb=xb+1|0;ib=yb+-1|0;if(gb>>>0>>0){xb=gb;yb=ib}else continue d}}if(((tb|0)==82?(tb=0,Na):0)?(fb=b[n>>0]|0,b[n>>0]=rb,b[Ia>>0]=fb,Qa):0){fb=Oa;hb=ma;do{db=b[hb>>0]|0;b[hb>>0]=b[fb>>0]|0;b[fb>>0]=db;hb=hb+1|0;fb=fb+-1|0}while(hb>>>0>>0)}if((cb|0)>=(Ja|0)){Wa=Ka;Xa=oa;Ya=Ka;Za=oa;_a=Pa;$a=Aa;ab=oa;break}else cb=cb+1|0}}if(Ba){cb=f[Z>>2]|0;oa=o+(Ja+-1<<3)|0;Aa=oa;Pa=go(f[Aa>>2]|0,f[Aa+4>>2]|0,cb|0,((cb|0)<0)<<31>>31|0)|0;cb=oa;f[cb>>2]=Pa;f[cb+4>>2]=I}if(T){cb=f[ba>>2]|0;Pa=f[C>>2]|0;oa=0;do{Aa=f[cb+(oa<<2)>>2]|0;f[Pa+(oa<<2)>>2]=Aa<<1^Aa>>31;oa=oa+1|0}while((oa|0)!=(g|0));zb=Pa}else zb=f[C>>2]|0;wo(j,$,zb,g);if(Ba){Pa=Ja+-1|0;Ab=a+60+(Pa*12|0)|0;oa=a+60+(Pa*12|0)+4|0;cb=a+60+(Pa*12|0)+8|0;Pa=0;do{Aa=f[oa>>2]|0;Ka=f[cb>>2]|0;Oa=(Aa|0)==(Ka<<5|0);if(!(h[V>>0]&1<>>0<1073741823?(Qa>>>0>>0?Ia:Qa):2147483647);Bb=f[oa>>2]|0}else Bb=Aa;f[oa>>2]=Bb+1;Qa=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Qa>>2]=f[Qa>>2]|1<<(Bb&31)}else{if(Oa){if((Aa+1|0)<0){tb=115;break b}Oa=Ka<<6;Ka=Aa+32&-32;si(Ab,Aa>>>0<1073741823?(Oa>>>0>>0?Ka:Oa):2147483647);Cb=f[oa>>2]|0}else Cb=Aa;f[oa>>2]=Cb+1;Aa=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Cb&31))}Pa=Pa+1|0}while((Pa|0)<(Ja|0))}Pa=d+(Fa<<2)|0;oa=f[z>>2]|0;if((oa|0)>0){cb=oa;oa=0;Ba=f[aa>>2]|0;while(1){if((cb|0)>0){Aa=0;do{Oa=f[Ba+(Aa<<2)>>2]|0;Ka=f[ca>>2]|0;if((Oa|0)>(Ka|0)){Qa=f[da>>2]|0;f[Qa+(Aa<<2)>>2]=Ka;Db=Qa}else{Qa=f[ea>>2]|0;Ka=f[da>>2]|0;f[Ka+(Aa<<2)>>2]=(Oa|0)<(Qa|0)?Qa:Oa;Db=Ka}Aa=Aa+1|0}while((Aa|0)<(f[z>>2]|0));Eb=Db}else Eb=f[da>>2]|0;Aa=(f[Da+(oa<<2)>>2]|0)-(f[Eb+(oa<<2)>>2]|0)|0;Ka=Pa+(oa<<2)|0;f[Ka>>2]=Aa;do if((Aa|0)<(f[fa>>2]|0)){Fb=(f[ga>>2]|0)+Aa|0;tb=105}else{if((Aa|0)<=(f[ha>>2]|0))break;Fb=Aa-(f[ga>>2]|0)|0;tb=105}while(0);if((tb|0)==105){tb=0;f[Ka>>2]=Fb}oa=oa+1|0;cb=f[z>>2]|0;if((oa|0)>=(cb|0))break;else Ba=Eb}}Ba=f[ia>>2]|0;if(Ba|0){cb=f[la>>2]|0;if((cb|0)!=(Ba|0))f[la>>2]=cb+(~((cb+-4-Ba|0)>>>2)<<2);pr(Ba)}Ba=f[ja>>2]|0;if(Ba|0){cb=f[ka>>2]|0;if((cb|0)!=(Ba|0))f[ka>>2]=cb+(~((cb+-4-Ba|0)>>>2)<<2);pr(Ba)}if((ya|0)<=1){Gb=Za;Hb=Ya;break a}Ba=f[B>>2]|0;pa=f[Ba>>2]|0;cb=ya+-1|0;if((f[Ba+4>>2]|0)-pa>>2>>>0<=cb>>>0){za=Ba;tb=17;break}else{Ba=ya;qa=Za;ra=Ya;sa=Xa;ta=Wa;ua=ab;va=$a;wa=_a;ya=cb;xa=Ba}}if((tb|0)==17)Cq(za);else if((tb|0)==110)Cq(Ab);else if((tb|0)==115)Cq(Ab)}else{Gb=M;Hb=N}while(0);N=f[l>>2]|0;if((g|0)>0){M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Ab=a+32|0;za=a+12|0;xa=a+28|0;ya=a+20|0;_a=a+24|0;a=g;g=0;wa=N;while(1){if((a|0)>0){N=0;do{$a=f[wa+(N<<2)>>2]|0;va=f[M>>2]|0;if(($a|0)>(va|0)){ab=f[Ab>>2]|0;f[ab+(N<<2)>>2]=va;Ib=ab}else{ab=f[za>>2]|0;va=f[Ab>>2]|0;f[va+(N<<2)>>2]=($a|0)<(ab|0)?ab:$a;Ib=va}N=N+1|0}while((N|0)<(f[z>>2]|0));Jb=Ib}else Jb=f[Ab>>2]|0;N=(f[c+(g<<2)>>2]|0)-(f[Jb+(g<<2)>>2]|0)|0;va=d+(g<<2)|0;f[va>>2]=N;if((N|0)>=(f[xa>>2]|0)){if((N|0)>(f[_a>>2]|0)){Kb=N-(f[ya>>2]|0)|0;tb=141}}else{Kb=(f[ya>>2]|0)+N|0;tb=141}if((tb|0)==141){tb=0;f[va>>2]=Kb}g=g+1|0;a=f[z>>2]|0;if((g|0)>=(a|0))break;else wa=Jb}}if(Gb|0){if((Hb|0)!=(Gb|0))f[H>>2]=Hb+(~((Hb+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[m>>2]|0;if(Gb|0){m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+36>>2]|0;if(Gb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+24>>2]|0;if(Gb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+12>>2]|0;if(Gb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l>>2]|0;if(!Gb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Gb|0))f[E>>2]=l+(~((l+-4-Gb|0)>>>2)<<2);pr(Gb);u=i;return 1}function Ya(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=D;pa=M;qa=N;ra=M;sa=N;ta=M;ua=P;va=O;wa=Q;xa=na}else{ya=G;Cq(ya)}b:while(1){na=f[oa+(xa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=(na|0)==-1|(Q|0)==-1;Aa=na;Ba=1;Ca=0;c:while(1){Da=Ba^1;Ea=Aa;Fa=Ca;while(1){if((Ea|0)==-1){Ga=Fa;break c}Ha=f[l+(Fa*12|0)>>2]|0;Ia=f[R>>2]|0;Ja=f[Ia+(Ea<<2)>>2]|0;if((Ja|0)!=-1){Ka=f[e>>2]|0;La=f[A>>2]|0;Ma=f[La+(f[Ka+(Ja<<2)>>2]<<2)>>2]|0;Na=Ja+1|0;Oa=((Na>>>0)%3|0|0)==0?Ja+-2|0:Na;if((Oa|0)==-1)Pa=-1;else Pa=f[Ka+(Oa<<2)>>2]|0;Oa=f[La+(Pa<<2)>>2]|0;Na=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if((Na|0)==-1)Qa=-1;else Qa=f[Ka+(Na<<2)>>2]|0;Na=f[La+(Qa<<2)>>2]|0;if((Ma|0)<(xa|0)&(Oa|0)<(xa|0)&(Na|0)<(xa|0)){La=X(Ma,g)|0;Ma=X(Oa,g)|0;Oa=X(Na,g)|0;if(S){Na=0;do{f[Ha+(Na<<2)>>2]=(f[c+(Na+Oa<<2)>>2]|0)+(f[c+(Na+Ma<<2)>>2]|0)-(f[c+(Na+La<<2)>>2]|0);Na=Na+1|0}while((Na|0)!=(g|0))}Na=Fa+1|0;if((Na|0)==4){Ga=4;break c}else Ra=Na}else Ra=Fa}else Ra=Fa;do if(Ba){Na=Ea+1|0;La=((Na>>>0)%3|0|0)==0?Ea+-2|0:Na;if((La|0)!=-1?(Na=f[Ia+(La<<2)>>2]|0,La=Na+1|0,(Na|0)!=-1):0)Sa=((La>>>0)%3|0|0)==0?Na+-2|0:La;else Sa=-1}else{La=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((La|0)!=-1?(Na=f[Ia+(La<<2)>>2]|0,(Na|0)!=-1):0)if(!((Na>>>0)%3|0)){Sa=Na+2|0;break}else{Sa=Na+-1|0;break}else Sa=-1}while(0);if((Sa|0)==(na|0)){Ga=Ra;break c}if((Sa|0)!=-1|Da){Ea=Sa;Fa=Ra}else break}if(za){Aa=-1;Ba=0;Ca=Ra;continue}Fa=f[Ia+(Q<<2)>>2]|0;if((Fa|0)==-1){Aa=-1;Ba=0;Ca=Ra;continue}if(!((Fa>>>0)%3|0)){Aa=Fa+2|0;Ba=0;Ca=Ra;continue}else{Aa=Fa+-1|0;Ba=0;Ca=Ra;continue}}Ca=X(xa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ba=c+((X(wa+-2|0,g)|0)<<2)|0;Aa=c+(Ca<<2)|0;Q=f[Z>>2]|0;if(S){za=0;na=0;while(1){Fa=(f[Ba+(na<<2)>>2]|0)-(f[Aa+(na<<2)>>2]|0)|0;Ea=((Fa|0)>-1?Fa:0-Fa|0)+za|0;f[ta+(na<<2)>>2]=Fa;f[Q+(na<<2)>>2]=Fa<<1^Fa>>31;na=na+1|0;if((na|0)==(g|0)){Ta=Ea;break}else za=Ea}}else Ta=0;xo(j,_,Q,g);za=al(j)|0;na=I;Ea=Jm(j)|0;Fa=go(Ea|0,I|0,za|0,na|0)|0;na=I;za=(Ga|0)>0;if(za){Ea=Ga+-1|0;Da=p+(Ea<<3)|0;Na=Da;La=go(f[Na>>2]|0,f[Na+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Na=I;Ma=Da;f[Ma>>2]=La;f[Ma+4>>2]=Na;Ua=+W(+((+(La>>>0)+4294967296.0*+(Na|0))*+Em(La,f[o+(Ea<<3)>>2]|0)));Ea=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,Fa|0,na|0)|0;Va=Ea}else Va=Fa;Fa=r;f[Fa>>2]=Va;f[Fa+4>>2]=Ta;b[U>>0]=0;f[V>>2]=0;Zf($,Ba,Ba+(g<<2)|0);f[s>>2]=ua;f[t>>2]=va;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Mf(aa,k,j);if((Ga|0)<1){Wa=sa;Xa=ra;Ya=qa;Za=pa;_a=va;$a=ua;ab=ua}else{Fa=n+Ga|0;Ea=f[q>>2]|0;na=Ga+-1|0;La=o+(na<<3)|0;Na=p+(na<<3)|0;na=Ea;Ma=f[H>>2]|0;Da=Fa+-1|0;Oa=(Da|0)==(n|0);Ha=Fa+-2|0;Ka=la>>>0>>0;Ja=~Ga;bb=Ga+2+((Ja|0)>-2?Ja:-2)|0;Ja=Ma;cb=Da>>>0>n>>>0;db=0;eb=1;while(1){db=db+1|0;pj(n|0,1,bb|0)|0;pj(n|0,0,db|0)|0;d:while(1){if(S){pj(f[m>>2]|0,0,ma|0)|0;fb=f[m>>2]|0;gb=0;hb=0;while(1){if(!(b[n+hb>>0]|0)){ib=f[l+(hb*12|0)>>2]|0;jb=0;do{kb=fb+(jb<<2)|0;f[kb>>2]=(f[kb>>2]|0)+(f[ib+(jb<<2)>>2]|0);jb=jb+1|0}while((jb|0)!=(g|0));lb=(1<>0]|0))nb=(1<>2]|0;do if(S){hb=0;do{fb=gb+(hb<<2)|0;f[fb>>2]=(f[fb>>2]|0)/(eb|0)|0;hb=hb+1|0}while((hb|0)!=(g|0));hb=f[Z>>2]|0;if(S){ob=0;pb=0}else{qb=hb;rb=0;break}while(1){fb=(f[gb+(pb<<2)>>2]|0)-(f[Aa+(pb<<2)>>2]|0)|0;jb=((fb|0)>-1?fb:0-fb|0)+ob|0;f[Ea+(pb<<2)>>2]=fb;f[hb+(pb<<2)>>2]=fb<<1^fb>>31;pb=pb+1|0;if((pb|0)==(g|0)){qb=hb;rb=jb;break}else ob=jb}}else{qb=f[Z>>2]|0;rb=0}while(0);xo(j,_,qb,g);gb=al(j)|0;hb=I;jb=Jm(j)|0;fb=go(jb|0,I|0,gb|0,hb|0)|0;hb=I;if(za){gb=La;jb=go(f[gb>>2]|0,f[gb+4>>2]|0,eb|0,0)|0;gb=Na;ib=f[gb>>2]|0;kb=f[gb+4>>2]|0;Ua=+W(+((+(ib>>>0)+4294967296.0*+(kb|0))*+Em(ib,jb)));jb=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,fb|0,hb|0)|0;sb=jb}else sb=fb;fb=f[r>>2]|0;if(!((sb|0)>=(fb|0)?!((sb|0)<=(fb|0)?(rb|0)<(f[T>>2]|0):0):0)){fb=r;f[fb>>2]=sb;f[fb+4>>2]=rb;b[U>>0]=mb;f[V>>2]=eb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Mf($,k,j);f[x>>2]=na;f[y>>2]=Ma;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Mf(aa,k,j)}if(Oa)break;tb=b[Da>>0]|0;fb=tb;jb=-1;while(1){hb=jb+-1|0;ub=Fa+hb|0;ib=fb;fb=b[ub>>0]|0;if((fb&255)<(ib&255))break;if((ub|0)==(n|0)){vb=82;break d}else jb=hb}hb=Fa+jb|0;if((fb&255)<(tb&255)){wb=tb;xb=Da}else{ib=Fa;kb=Da;while(1){gb=kb+-1|0;if((fb&255)<(h[ib+-2>>0]|0)){wb=1;xb=gb;break}else{yb=kb;kb=gb;ib=yb}}}b[ub>>0]=wb;b[xb>>0]=fb;if((jb|0)<-1){zb=hb;Ab=Da}else continue;while(1){ib=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=ib;ib=zb+1|0;kb=Ab+-1|0;if(ib>>>0>>0){zb=ib;Ab=kb}else continue d}}if(((vb|0)==82?(vb=0,cb):0)?(hb=b[n>>0]|0,b[n>>0]=tb,b[Da>>0]=hb,Ka):0){hb=Ha;jb=la;do{fb=b[jb>>0]|0;b[jb>>0]=b[hb>>0]|0;b[hb>>0]=fb;jb=jb+1|0;hb=hb+-1|0}while(jb>>>0>>0)}if((eb|0)>=(Ga|0)){Wa=Ja;Xa=Ea;Ya=Ja;Za=Ea;_a=Ma;$a=na;ab=Ea;break}else eb=eb+1|0}}if(za){eb=f[V>>2]|0;Ea=o+(Ga+-1<<3)|0;na=Ea;Ma=go(f[na>>2]|0,f[na+4>>2]|0,eb|0,((eb|0)<0)<<31>>31|0)|0;eb=Ea;f[eb>>2]=Ma;f[eb+4>>2]=I}if(S){eb=f[aa>>2]|0;Ma=f[C>>2]|0;Ea=0;do{na=f[eb+(Ea<<2)>>2]|0;f[Ma+(Ea<<2)>>2]=na<<1^na>>31;Ea=Ea+1|0}while((Ea|0)!=(g|0));Bb=Ma}else Bb=f[C>>2]|0;wo(j,_,Bb,g);if(za){Ma=Ga+-1|0;Cb=a+60+(Ma*12|0)|0;Ea=a+60+(Ma*12|0)+4|0;eb=a+60+(Ma*12|0)+8|0;Ma=0;do{na=f[Ea>>2]|0;Ja=f[eb>>2]|0;Ha=(na|0)==(Ja<<5|0);if(!(h[U>>0]&1<>>0<1073741823?(Ka>>>0>>0?Da:Ka):2147483647);Db=f[Ea>>2]|0}else Db=na;f[Ea>>2]=Db+1;Ka=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[Ka>>2]=f[Ka>>2]|1<<(Db&31)}else{if(Ha){if((na+1|0)<0){vb=115;break b}Ha=Ja<<6;Ja=na+32&-32;si(Cb,na>>>0<1073741823?(Ha>>>0>>0?Ja:Ha):2147483647);Eb=f[Ea>>2]|0}else Eb=na;f[Ea>>2]=Eb+1;na=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Eb&31))}Ma=Ma+1|0}while((Ma|0)<(Ga|0))}Ma=d+(Ca<<2)|0;Ea=f[z>>2]|0;if((Ea|0)>0){eb=Ea;Ea=0;za=f[$>>2]|0;while(1){if((eb|0)>0){na=0;do{Ha=f[za+(na<<2)>>2]|0;Ja=f[ba>>2]|0;if((Ha|0)>(Ja|0)){Ka=f[ca>>2]|0;f[Ka+(na<<2)>>2]=Ja;Fb=Ka}else{Ka=f[da>>2]|0;Ja=f[ca>>2]|0;f[Ja+(na<<2)>>2]=(Ha|0)<(Ka|0)?Ka:Ha;Fb=Ja}na=na+1|0}while((na|0)<(f[z>>2]|0));Gb=Fb}else Gb=f[ca>>2]|0;na=(f[Aa+(Ea<<2)>>2]|0)-(f[Gb+(Ea<<2)>>2]|0)|0;Ja=Ma+(Ea<<2)|0;f[Ja>>2]=na;do if((na|0)<(f[ea>>2]|0)){Hb=(f[fa>>2]|0)+na|0;vb=105}else{if((na|0)<=(f[ga>>2]|0))break;Hb=na-(f[fa>>2]|0)|0;vb=105}while(0);if((vb|0)==105){vb=0;f[Ja>>2]=Hb}Ea=Ea+1|0;eb=f[z>>2]|0;if((Ea|0)>=(eb|0))break;else za=Gb}}za=f[ha>>2]|0;if(za|0){eb=f[ka>>2]|0;if((eb|0)!=(za|0))f[ka>>2]=eb+(~((eb+-4-za|0)>>>2)<<2);pr(za)}za=f[ia>>2]|0;if(za|0){eb=f[ja>>2]|0;if((eb|0)!=(za|0))f[ja>>2]=eb+(~((eb+-4-za|0)>>>2)<<2);pr(za)}if((xa|0)<=1){Ib=Za;Jb=Ya;break a}za=f[B>>2]|0;oa=f[za>>2]|0;eb=xa+-1|0;if((f[za+4>>2]|0)-oa>>2>>>0<=eb>>>0){ya=za;vb=17;break}else{za=xa;pa=Za;qa=Ya;ra=Xa;sa=Wa;ta=ab;ua=$a;va=_a;xa=eb;wa=za}}if((vb|0)==17)Cq(ya);else if((vb|0)==110)Cq(Cb);else if((vb|0)==115)Cq(Cb)}else{Ib=M;Jb=N}while(0);N=f[l>>2]|0;if((g|0)>0){M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Cb=a+32|0;ya=a+12|0;wa=a+28|0;xa=a+20|0;_a=a+24|0;a=g;g=0;va=N;while(1){if((a|0)>0){N=0;do{$a=f[va+(N<<2)>>2]|0;ua=f[M>>2]|0;if(($a|0)>(ua|0)){ab=f[Cb>>2]|0;f[ab+(N<<2)>>2]=ua;Kb=ab}else{ab=f[ya>>2]|0;ua=f[Cb>>2]|0;f[ua+(N<<2)>>2]=($a|0)<(ab|0)?ab:$a;Kb=ua}N=N+1|0}while((N|0)<(f[z>>2]|0));Lb=Kb}else Lb=f[Cb>>2]|0;N=(f[c+(g<<2)>>2]|0)-(f[Lb+(g<<2)>>2]|0)|0;ua=d+(g<<2)|0;f[ua>>2]=N;if((N|0)>=(f[wa>>2]|0)){if((N|0)>(f[_a>>2]|0)){Mb=N-(f[xa>>2]|0)|0;vb=141}}else{Mb=(f[xa>>2]|0)+N|0;vb=141}if((vb|0)==141){vb=0;f[ua>>2]=Mb}g=g+1|0;a=f[z>>2]|0;if((g|0)>=(a|0))break;else va=Lb}}if(Ib|0){if((Jb|0)!=(Ib|0))f[H>>2]=Jb+(~((Jb+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[m>>2]|0;if(Ib|0){m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+36>>2]|0;if(Ib|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+24>>2]|0;if(Ib|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+12>>2]|0;if(Ib|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l>>2]|0;if(!Ib){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Ib|0))f[E>>2]=l+(~((l+-4-Ib|0)>>>2)<<2);pr(Ib);u=i;return 1}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=(Ml(7108,7300,e,c)|0)-7108>>2;j=g;g=h;h=0;a:while(1){k=(f[7108+(i<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=211;n=h;o=8;break}p=f[6916+(l<<2)>>2]|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((k|0)==(X(q,p)|0)){r=h;break}else l=l+1|0}b:do if((o|0)==8){c:while(1){o=0;l=(k>>>0)/(m>>>0)|0;do if(l>>>0>=m>>>0)if((k|0)!=(X(l,m)|0)){p=m+10|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((k|0)!=(X(q,p)|0)){q=m+12|0;s=(k>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((k|0)!=(X(s,q)|0)){s=m+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(X(t,s)|0)){t=m+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(X(v,t)|0)){v=m+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(X(w,v)|0)){w=m+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(X(x,w)|0)){y=9;z=w;A=n}else{x=m+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(k|0)==(X(B,x)|0);y=C?1:D?9:0;z=C|D?x:m+210|0;A=C?k:n}else{y=1;z=w;A=k}}else{y=9;z=v;A=n}else{y=1;z=v;A=k}}else{y=9;z=t;A=n}else{y=1;z=t;A=k}}else{y=9;z=s;A=n}else{y=1;z=s;A=k}}else{y=9;z=q;A=n}else{y=1;z=q;A=k}}else{y=9;z=p;A=n}else{y=1;z=p;A=k}}else{y=9;z=m;A=n}else{y=1;z=m;A=k}while(0);switch(y&15){case 9:{r=A;break b;break}case 0:{m=z;n=A;o=8;break}default:break c}}if(!y)r=A;else{o=107;break a}}while(0);l=i+1|0;p=(l|0)==48;q=(p&1)+j|0;i=p?0:l;j=q;g=q*210|0;h=r}if((o|0)==106){f[d>>2]=k;E=k;break}else if((o|0)==107){f[d>>2]=k;E=A;break}}else{h=Ml(6916,7108,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=D;oa=M;pa=N;qa=M;ra=N;sa=M;ta=P;ua=O;va=Q;wa=ma}else{xa=G;Cq(xa)}b:while(1){ma=f[na+(wa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=Q>>>5;za=1<<(Q&31);Aa=(ma|0)==-1|(Q|0)==-1;Ba=ma;Ca=1;Da=0;c:while(1){Ea=Ca^1;Fa=Ba;Ga=Da;while(1){if((Fa|0)==-1){Ha=Ga;break c}Ia=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Fa>>>5<<2)>>2]&1<<(Fa&31)|0)==0?(Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Fa<<2)>>2]|0,(Ja|0)!=-1):0)?(Ka=f[S>>2]|0,La=f[A>>2]|0,Ma=f[La+(f[Ka+(Ja<<2)>>2]<<2)>>2]|0,Na=Ja+1|0,Oa=f[La+(f[Ka+((((Na>>>0)%3|0|0)==0?Ja+-2|0:Na)<<2)>>2]<<2)>>2]|0,Na=f[La+(f[Ka+((((Ja>>>0)%3|0|0)==0?2:-1)+Ja<<2)>>2]<<2)>>2]|0,(Ma|0)<(wa|0)&(Oa|0)<(wa|0)&(Na|0)<(wa|0)):0){Ja=X(Ma,g)|0;Ma=X(Oa,g)|0;Oa=X(Na,g)|0;if(T){Na=0;do{f[Ia+(Na<<2)>>2]=(f[c+(Na+Oa<<2)>>2]|0)+(f[c+(Na+Ma<<2)>>2]|0)-(f[c+(Na+Ja<<2)>>2]|0);Na=Na+1|0}while((Na|0)!=(g|0))}Na=Ga+1|0;if((Na|0)==4){Ha=4;break c}else Pa=Na}else Pa=Ga;do if(Ca){Na=Fa+1|0;Ja=((Na>>>0)%3|0|0)==0?Fa+-2|0:Na;if(((Ja|0)!=-1?(f[(f[z>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0:0)?(Na=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,Ja=Na+1|0,(Na|0)!=-1):0)Qa=((Ja>>>0)%3|0|0)==0?Na+-2|0:Ja;else Qa=-1}else{Ja=(((Fa>>>0)%3|0|0)==0?2:-1)+Fa|0;if(((Ja|0)!=-1?(f[(f[z>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0:0)?(Na=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Na|0)!=-1):0)if(!((Na>>>0)%3|0)){Qa=Na+2|0;break}else{Qa=Na+-1|0;break}else Qa=-1}while(0);if((Qa|0)==(ma|0)){Ha=Pa;break c}if((Qa|0)!=-1|Ea){Fa=Qa;Ga=Pa}else break}if(Aa){Ba=-1;Ca=0;Da=Pa;continue}if(f[(f[z>>2]|0)+(ya<<2)>>2]&za|0){Ba=-1;Ca=0;Da=Pa;continue}Ga=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=-1;Ca=0;Da=Pa;continue}if(!((Ga>>>0)%3|0)){Ba=Ga+2|0;Ca=0;Da=Pa;continue}else{Ba=Ga+-1|0;Ca=0;Da=Pa;continue}}Da=X(wa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Ca=c+((X(va+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Q=f[_>>2]|0;if(T){za=0;ya=0;while(1){Aa=(f[Ca+(ya<<2)>>2]|0)-(f[Ba+(ya<<2)>>2]|0)|0;ma=((Aa|0)>-1?Aa:0-Aa|0)+za|0;f[sa+(ya<<2)>>2]=Aa;f[Q+(ya<<2)>>2]=Aa<<1^Aa>>31;ya=ya+1|0;if((ya|0)==(g|0)){Ra=ma;break}else za=ma}}else Ra=0;xo(e,$,Q,g);za=al(e)|0;ya=I;ma=Jm(e)|0;Aa=go(ma|0,I|0,za|0,ya|0)|0;ya=I;za=(Ha|0)>0;if(za){ma=Ha+-1|0;Ga=p+(ma<<3)|0;Fa=Ga;Ea=go(f[Fa>>2]|0,f[Fa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Fa=I;Na=Ga;f[Na>>2]=Ea;f[Na+4>>2]=Fa;Sa=+W(+((+(Ea>>>0)+4294967296.0*+(Fa|0))*+Em(Ea,f[o+(ma<<3)>>2]|0)));ma=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,Aa|0,ya|0)|0;Ta=ma}else Ta=Aa;Aa=r;f[Aa>>2]=Ta;f[Aa+4>>2]=Ra;b[V>>0]=0;f[Z>>2]=0;Zf(aa,Ca,Ca+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Mf(ba,j,e);if((Ha|0)<1){Ua=ra;Va=qa;Wa=pa;Xa=oa;Ya=ua;Za=ta;_a=ta}else{Aa=n+Ha|0;ma=f[q>>2]|0;ya=Ha+-1|0;Ea=o+(ya<<3)|0;Fa=p+(ya<<3)|0;ya=ma;Na=f[H>>2]|0;Ga=Aa+-1|0;Ja=(Ga|0)==(n|0);Ma=Aa+-2|0;Oa=ka>>>0>>0;Ia=~Ha;Ka=Ha+2+((Ia|0)>-2?Ia:-2)|0;Ia=Na;La=Ga>>>0>n>>>0;$a=0;ab=1;while(1){$a=$a+1|0;pj(n|0,1,Ka|0)|0;pj(n|0,0,$a|0)|0;d:while(1){if(T){pj(f[m>>2]|0,0,la|0)|0;bb=f[m>>2]|0;cb=0;db=0;while(1){if(!(b[n+db>>0]|0)){eb=f[l+(db*12|0)>>2]|0;fb=0;do{gb=bb+(fb<<2)|0;f[gb>>2]=(f[gb>>2]|0)+(f[eb+(fb<<2)>>2]|0);fb=fb+1|0}while((fb|0)!=(g|0));hb=(1<>0]|0))jb=(1<>2]|0;do if(T){db=0;do{bb=cb+(db<<2)|0;f[bb>>2]=(f[bb>>2]|0)/(ab|0)|0;db=db+1|0}while((db|0)!=(g|0));db=f[_>>2]|0;if(T){kb=0;lb=0}else{mb=db;nb=0;break}while(1){bb=(f[cb+(lb<<2)>>2]|0)-(f[Ba+(lb<<2)>>2]|0)|0;fb=((bb|0)>-1?bb:0-bb|0)+kb|0;f[ma+(lb<<2)>>2]=bb;f[db+(lb<<2)>>2]=bb<<1^bb>>31;lb=lb+1|0;if((lb|0)==(g|0)){mb=db;nb=fb;break}else kb=fb}}else{mb=f[_>>2]|0;nb=0}while(0);xo(e,$,mb,g);cb=al(e)|0;db=I;fb=Jm(e)|0;bb=go(fb|0,I|0,cb|0,db|0)|0;db=I;if(za){cb=Ea;fb=go(f[cb>>2]|0,f[cb+4>>2]|0,ab|0,0)|0;cb=Fa;eb=f[cb>>2]|0;gb=f[cb+4>>2]|0;Sa=+W(+((+(eb>>>0)+4294967296.0*+(gb|0))*+Em(eb,fb)));fb=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,bb|0,db|0)|0;ob=fb}else ob=bb;bb=f[r>>2]|0;if(!((ob|0)>=(bb|0)?!((ob|0)<=(bb|0)?(nb|0)<(f[U>>2]|0):0):0)){bb=r;f[bb>>2]=ob;f[bb+4>>2]=nb;b[V>>0]=ib;f[Z>>2]=ab;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Mf(aa,j,e);f[x>>2]=ya;f[y>>2]=Na;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Mf(ba,j,e)}if(Ja)break;pb=b[Ga>>0]|0;bb=pb;fb=-1;while(1){db=fb+-1|0;qb=Aa+db|0;eb=bb;bb=b[qb>>0]|0;if((bb&255)<(eb&255))break;if((qb|0)==(n|0)){rb=83;break d}else fb=db}db=Aa+fb|0;if((bb&255)<(pb&255)){sb=pb;tb=Ga}else{eb=Aa;gb=Ga;while(1){cb=gb+-1|0;if((bb&255)<(h[eb+-2>>0]|0)){sb=1;tb=cb;break}else{ub=gb;gb=cb;eb=ub}}}b[qb>>0]=sb;b[tb>>0]=bb;if((fb|0)<-1){vb=db;wb=Ga}else continue;while(1){eb=b[vb>>0]|0;b[vb>>0]=b[wb>>0]|0;b[wb>>0]=eb;eb=vb+1|0;gb=wb+-1|0;if(eb>>>0>>0){vb=eb;wb=gb}else continue d}}if(((rb|0)==83?(rb=0,La):0)?(db=b[n>>0]|0,b[n>>0]=pb,b[Ga>>0]=db,Oa):0){db=Ma;fb=ka;do{bb=b[fb>>0]|0;b[fb>>0]=b[db>>0]|0;b[db>>0]=bb;fb=fb+1|0;db=db+-1|0}while(fb>>>0>>0)}if((ab|0)>=(Ha|0)){Ua=Ia;Va=ma;Wa=Ia;Xa=ma;Ya=Na;Za=ya;_a=ma;break}else ab=ab+1|0}}if(za){ab=f[Z>>2]|0;ma=o+(Ha+-1<<3)|0;ya=ma;Na=go(f[ya>>2]|0,f[ya+4>>2]|0,ab|0,((ab|0)<0)<<31>>31|0)|0;ab=ma;f[ab>>2]=Na;f[ab+4>>2]=I}if(T){ab=f[ba>>2]|0;Na=f[C>>2]|0;ma=0;do{ya=f[ab+(ma<<2)>>2]|0;f[Na+(ma<<2)>>2]=ya<<1^ya>>31;ma=ma+1|0}while((ma|0)!=(g|0));xb=Na}else xb=f[C>>2]|0;wo(e,$,xb,g);if(za){Na=Ha+-1|0;yb=a+40+(Na*12|0)|0;ma=a+40+(Na*12|0)+4|0;ab=a+40+(Na*12|0)+8|0;Na=0;do{ya=f[ma>>2]|0;Ia=f[ab>>2]|0;Ma=(ya|0)==(Ia<<5|0);if(!(h[V>>0]&1<>>0<1073741823?(Oa>>>0>>0?Ga:Oa):2147483647);zb=f[ma>>2]|0}else zb=ya;f[ma>>2]=zb+1;Oa=(f[yb>>2]|0)+(zb>>>5<<2)|0;f[Oa>>2]=f[Oa>>2]|1<<(zb&31)}else{if(Ma){if((ya+1|0)<0){rb=103;break b}Ma=Ia<<6;Ia=ya+32&-32;si(yb,ya>>>0<1073741823?(Ma>>>0>>0?Ia:Ma):2147483647);Ab=f[ma>>2]|0}else Ab=ya;f[ma>>2]=Ab+1;ya=(f[yb>>2]|0)+(Ab>>>5<<2)|0;f[ya>>2]=f[ya>>2]&~(1<<(Ab&31))}Na=Na+1|0}while((Na|0)<(Ha|0))}Na=f[aa>>2]|0;ma=d+(Da<<2)|0;ab=f[Ba+4>>2]|0;za=f[Na>>2]|0;ya=f[Na+4>>2]|0;f[j>>2]=f[Ba>>2];f[da>>2]=ab;f[k>>2]=za;f[ea>>2]=ya;Nd(e,ca,j,k);f[ma>>2]=f[e>>2];f[ma+4>>2]=f[fa>>2];ma=f[ga>>2]|0;if(ma|0){ya=f[ja>>2]|0;if((ya|0)!=(ma|0))f[ja>>2]=ya+(~((ya+-4-ma|0)>>>2)<<2);pr(ma)}ma=f[ha>>2]|0;if(ma|0){ya=f[ia>>2]|0;if((ya|0)!=(ma|0))f[ia>>2]=ya+(~((ya+-4-ma|0)>>>2)<<2);pr(ma)}if((wa|0)<=1){Bb=Xa;Cb=Wa;break a}ma=f[B>>2]|0;na=f[ma>>2]|0;ya=wa+-1|0;if((f[ma+4>>2]|0)-na>>2>>>0<=ya>>>0){xa=ma;rb=18;break}else{ma=wa;oa=Xa;pa=Wa;qa=Va;ra=Ua;sa=_a;ta=Za;ua=Ya;wa=ya;va=ma}}if((rb|0)==18)Cq(xa);else if((rb|0)==98)Cq(yb);else if((rb|0)==103)Cq(yb)}else{Bb=M;Cb=N}while(0);if((g|0)>0)pj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;yb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=yb;Nd(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Bb|0){if((Cb|0)!=(Bb|0))f[H>>2]=Cb+(~((Cb+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[m>>2]|0;if(Bb|0){m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+36>>2]|0;if(Bb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+24>>2]|0;if(Bb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+12>>2]|0;if(Bb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l>>2]|0;if(!Bb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Bb|0))f[E>>2]=l+(~((l+-4-Bb|0)>>>2)<<2);pr(Bb);u=i;return 1}function $a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=Q+-1|0;if(F-D>>2>>>0>la>>>0){ma=D;na=M;oa=N;pa=M;qa=N;ra=M;sa=P;ta=O;ua=Q;va=la}else{wa=G;Cq(wa)}b:while(1){la=f[ma+(va<<2)>>2]|0;Q=(((la>>>0)%3|0|0)==0?2:-1)+la|0;xa=(la|0)==-1|(Q|0)==-1;ya=la;za=1;Aa=0;c:while(1){Ba=za^1;Ca=ya;Da=Aa;while(1){if((Ca|0)==-1){Ea=Da;break c}Fa=f[l+(Da*12|0)>>2]|0;Ga=f[R>>2]|0;Ha=f[Ga+(Ca<<2)>>2]|0;if((Ha|0)!=-1){Ia=f[z>>2]|0;Ja=f[A>>2]|0;Ka=f[Ja+(f[Ia+(Ha<<2)>>2]<<2)>>2]|0;La=Ha+1|0;Ma=((La>>>0)%3|0|0)==0?Ha+-2|0:La;if((Ma|0)==-1)Na=-1;else Na=f[Ia+(Ma<<2)>>2]|0;Ma=f[Ja+(Na<<2)>>2]|0;La=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if((La|0)==-1)Oa=-1;else Oa=f[Ia+(La<<2)>>2]|0;La=f[Ja+(Oa<<2)>>2]|0;if((Ka|0)<(va|0)&(Ma|0)<(va|0)&(La|0)<(va|0)){Ja=X(Ka,g)|0;Ka=X(Ma,g)|0;Ma=X(La,g)|0;if(S){La=0;do{f[Fa+(La<<2)>>2]=(f[c+(La+Ma<<2)>>2]|0)+(f[c+(La+Ka<<2)>>2]|0)-(f[c+(La+Ja<<2)>>2]|0);La=La+1|0}while((La|0)!=(g|0))}La=Da+1|0;if((La|0)==4){Ea=4;break c}else Pa=La}else Pa=Da}else Pa=Da;do if(za){La=Ca+1|0;Ja=((La>>>0)%3|0|0)==0?Ca+-2|0:La;if((Ja|0)!=-1?(La=f[Ga+(Ja<<2)>>2]|0,Ja=La+1|0,(La|0)!=-1):0)Qa=((Ja>>>0)%3|0|0)==0?La+-2|0:Ja;else Qa=-1}else{Ja=(((Ca>>>0)%3|0|0)==0?2:-1)+Ca|0;if((Ja|0)!=-1?(La=f[Ga+(Ja<<2)>>2]|0,(La|0)!=-1):0)if(!((La>>>0)%3|0)){Qa=La+2|0;break}else{Qa=La+-1|0;break}else Qa=-1}while(0);if((Qa|0)==(la|0)){Ea=Pa;break c}if((Qa|0)!=-1|Ba){Ca=Qa;Da=Pa}else break}if(xa){ya=-1;za=0;Aa=Pa;continue}Da=f[Ga+(Q<<2)>>2]|0;if((Da|0)==-1){ya=-1;za=0;Aa=Pa;continue}if(!((Da>>>0)%3|0)){ya=Da+2|0;za=0;Aa=Pa;continue}else{ya=Da+-1|0;za=0;Aa=Pa;continue}}Aa=X(va,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;za=c+((X(ua+-2|0,g)|0)<<2)|0;ya=c+(Aa<<2)|0;Q=f[Z>>2]|0;if(S){xa=0;la=0;while(1){Da=(f[za+(la<<2)>>2]|0)-(f[ya+(la<<2)>>2]|0)|0;Ca=((Da|0)>-1?Da:0-Da|0)+xa|0;f[ra+(la<<2)>>2]=Da;f[Q+(la<<2)>>2]=Da<<1^Da>>31;la=la+1|0;if((la|0)==(g|0)){Ra=Ca;break}else xa=Ca}}else Ra=0;xo(e,_,Q,g);xa=al(e)|0;la=I;Ca=Jm(e)|0;Da=go(Ca|0,I|0,xa|0,la|0)|0;la=I;xa=(Ea|0)>0;if(xa){Ca=Ea+-1|0;Ba=p+(Ca<<3)|0;La=Ba;Ja=go(f[La>>2]|0,f[La+4>>2]|0,Ea|0,((Ea|0)<0)<<31>>31|0)|0;La=I;Ka=Ba;f[Ka>>2]=Ja;f[Ka+4>>2]=La;Sa=+W(+((+(Ja>>>0)+4294967296.0*+(La|0))*+Em(Ja,f[o+(Ca<<3)>>2]|0)));Ca=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,Da|0,la|0)|0;Ta=Ca}else Ta=Da;Da=r;f[Da>>2]=Ta;f[Da+4>>2]=Ra;b[U>>0]=0;f[V>>2]=0;Zf($,za,za+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Mf(aa,j,e);if((Ea|0)<1){Ua=qa;Va=pa;Wa=oa;Xa=na;Ya=ta;Za=sa;_a=sa}else{Da=n+Ea|0;Ca=f[q>>2]|0;la=Ea+-1|0;Ja=o+(la<<3)|0;La=p+(la<<3)|0;la=Ca;Ka=f[H>>2]|0;Ba=Da+-1|0;Ma=(Ba|0)==(n|0);Fa=Da+-2|0;Ia=ja>>>0>>0;Ha=~Ea;$a=Ea+2+((Ha|0)>-2?Ha:-2)|0;Ha=Ka;ab=Ba>>>0>n>>>0;bb=0;cb=1;while(1){bb=bb+1|0;pj(n|0,1,$a|0)|0;pj(n|0,0,bb|0)|0;d:while(1){if(S){pj(f[m>>2]|0,0,ka|0)|0;db=f[m>>2]|0;eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0)){gb=f[l+(fb*12|0)>>2]|0;hb=0;do{ib=db+(hb<<2)|0;f[ib>>2]=(f[ib>>2]|0)+(f[gb+(hb<<2)>>2]|0);hb=hb+1|0}while((hb|0)!=(g|0));jb=(1<>0]|0))lb=(1<>2]|0;do if(S){fb=0;do{db=eb+(fb<<2)|0;f[db>>2]=(f[db>>2]|0)/(cb|0)|0;fb=fb+1|0}while((fb|0)!=(g|0));fb=f[Z>>2]|0;if(S){mb=0;nb=0}else{ob=fb;pb=0;break}while(1){db=(f[eb+(nb<<2)>>2]|0)-(f[ya+(nb<<2)>>2]|0)|0;hb=((db|0)>-1?db:0-db|0)+mb|0;f[Ca+(nb<<2)>>2]=db;f[fb+(nb<<2)>>2]=db<<1^db>>31;nb=nb+1|0;if((nb|0)==(g|0)){ob=fb;pb=hb;break}else mb=hb}}else{ob=f[Z>>2]|0;pb=0}while(0);xo(e,_,ob,g);eb=al(e)|0;fb=I;hb=Jm(e)|0;db=go(hb|0,I|0,eb|0,fb|0)|0;fb=I;if(xa){eb=Ja;hb=go(f[eb>>2]|0,f[eb+4>>2]|0,cb|0,0)|0;eb=La;gb=f[eb>>2]|0;ib=f[eb+4>>2]|0;Sa=+W(+((+(gb>>>0)+4294967296.0*+(ib|0))*+Em(gb,hb)));hb=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,db|0,fb|0)|0;qb=hb}else qb=db;db=f[r>>2]|0;if(!((qb|0)>=(db|0)?!((qb|0)<=(db|0)?(pb|0)<(f[T>>2]|0):0):0)){db=r;f[db>>2]=qb;f[db+4>>2]=pb;b[U>>0]=kb;f[V>>2]=cb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Mf($,j,e);f[x>>2]=la;f[y>>2]=Ka;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Mf(aa,j,e)}if(Ma)break;rb=b[Ba>>0]|0;db=rb;hb=-1;while(1){fb=hb+-1|0;sb=Da+fb|0;gb=db;db=b[sb>>0]|0;if((db&255)<(gb&255))break;if((sb|0)==(n|0)){tb=83;break d}else hb=fb}fb=Da+hb|0;if((db&255)<(rb&255)){ub=rb;vb=Ba}else{gb=Da;ib=Ba;while(1){eb=ib+-1|0;if((db&255)<(h[gb+-2>>0]|0)){ub=1;vb=eb;break}else{wb=ib;ib=eb;gb=wb}}}b[sb>>0]=ub;b[vb>>0]=db;if((hb|0)<-1){xb=fb;yb=Ba}else continue;while(1){gb=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=gb;gb=xb+1|0;ib=yb+-1|0;if(gb>>>0>>0){xb=gb;yb=ib}else continue d}}if(((tb|0)==83?(tb=0,ab):0)?(fb=b[n>>0]|0,b[n>>0]=rb,b[Ba>>0]=fb,Ia):0){fb=Fa;hb=ja;do{db=b[hb>>0]|0;b[hb>>0]=b[fb>>0]|0;b[fb>>0]=db;hb=hb+1|0;fb=fb+-1|0}while(hb>>>0>>0)}if((cb|0)>=(Ea|0)){Ua=Ha;Va=Ca;Wa=Ha;Xa=Ca;Ya=Ka;Za=la;_a=Ca;break}else cb=cb+1|0}}if(xa){cb=f[V>>2]|0;Ca=o+(Ea+-1<<3)|0;la=Ca;Ka=go(f[la>>2]|0,f[la+4>>2]|0,cb|0,((cb|0)<0)<<31>>31|0)|0;cb=Ca;f[cb>>2]=Ka;f[cb+4>>2]=I}if(S){cb=f[aa>>2]|0;Ka=f[C>>2]|0;Ca=0;do{la=f[cb+(Ca<<2)>>2]|0;f[Ka+(Ca<<2)>>2]=la<<1^la>>31;Ca=Ca+1|0}while((Ca|0)!=(g|0));zb=Ka}else zb=f[C>>2]|0;wo(e,_,zb,g);if(xa){Ka=Ea+-1|0;Ab=a+40+(Ka*12|0)|0;Ca=a+40+(Ka*12|0)+4|0;cb=a+40+(Ka*12|0)+8|0;Ka=0;do{la=f[Ca>>2]|0;Ha=f[cb>>2]|0;Fa=(la|0)==(Ha<<5|0);if(!(h[U>>0]&1<>>0<1073741823?(Ia>>>0>>0?Ba:Ia):2147483647);Bb=f[Ca>>2]|0}else Bb=la;f[Ca>>2]=Bb+1;Ia=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ia>>2]=f[Ia>>2]|1<<(Bb&31)}else{if(Fa){if((la+1|0)<0){tb=103;break b}Fa=Ha<<6;Ha=la+32&-32;si(Ab,la>>>0<1073741823?(Fa>>>0>>0?Ha:Fa):2147483647);Cb=f[Ca>>2]|0}else Cb=la;f[Ca>>2]=Cb+1;la=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Cb&31))}Ka=Ka+1|0}while((Ka|0)<(Ea|0))}Ka=f[$>>2]|0;Ca=d+(Aa<<2)|0;cb=f[ya+4>>2]|0;xa=f[Ka>>2]|0;la=f[Ka+4>>2]|0;f[j>>2]=f[ya>>2];f[ca>>2]=cb;f[k>>2]=xa;f[da>>2]=la;Nd(e,ba,j,k);f[Ca>>2]=f[e>>2];f[Ca+4>>2]=f[ea>>2];Ca=f[fa>>2]|0;if(Ca|0){la=f[ia>>2]|0;if((la|0)!=(Ca|0))f[ia>>2]=la+(~((la+-4-Ca|0)>>>2)<<2);pr(Ca)}Ca=f[ga>>2]|0;if(Ca|0){la=f[ha>>2]|0;if((la|0)!=(Ca|0))f[ha>>2]=la+(~((la+-4-Ca|0)>>>2)<<2);pr(Ca)}if((va|0)<=1){Db=Xa;Eb=Wa;break a}Ca=f[B>>2]|0;ma=f[Ca>>2]|0;la=va+-1|0;if((f[Ca+4>>2]|0)-ma>>2>>>0<=la>>>0){wa=Ca;tb=18;break}else{Ca=va;na=Xa;oa=Wa;pa=Va;qa=Ua;ra=_a;sa=Za;ta=Ya;va=la;ua=Ca}}if((tb|0)==18)Cq(wa);else if((tb|0)==98)Cq(Ab);else if((tb|0)==103)Cq(Ab)}else{Db=M;Eb=N}while(0);if((g|0)>0)pj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Ab=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Ab;Nd(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Db|0){if((Eb|0)!=(Db|0))f[H>>2]=Eb+(~((Eb+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[m>>2]|0;if(Db|0){m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+36>>2]|0;if(Db|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+24>>2]|0;if(Db|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+12>>2]|0;if(Db|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l>>2]|0;if(!Db){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Db|0))f[E>>2]=l+(~((l+-4-Db|0)>>>2)<<2);pr(Db);u=i;return 1}function ab(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,Ka=0,La=Ja,Ma=0,Na=0,Oa=0,Pa=0,Qa=Ja,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{q=(b[(f[w+(f[t+(r<<2)>>2]<<2)>>2]|0)+24>>0]|0)+q|0;r=r+1|0}while(r>>>0>>0);f[a+72>>2]=q;if(s){v=1;u=c;return v|0}s=g+4|0;q=g+8|0;x=d+8|0;r=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=t;t=l;l=k;k=0;a:while(1){ia=f[ha+(k<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(ia<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1260;f[s>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=tn(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[r>>2]=17;ma=la;na=14756;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(ia|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(ia|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Hh(ra,d)|0)!=0):0)va=Ik(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Ik(ka,d,-1)|0}if((b[w>>0]|0)<0)pr(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=tn(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14829;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(ia|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(ia|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Hh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=tn(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14849;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(ia|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(ia|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Hh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)pr(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)pr(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=tn(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;pj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=tn(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14829;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(ia|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(ia|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Hh(Fa,i)|0)!=0):0){Ga=Og(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){nj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ka=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{La=$(Lq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=La;Fa=Fa+1|0}while((Fa|0)<(ra|0));Ma=b[M>>0]|0}else Ma=Ga;Ka=Ma}if(Ka<<24>>24<0)pr(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Og(pa,i)|0,(Fa|0)!=(pa+4|0)):0){nj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Na=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{La=$(Lq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=La;ya=ya+1|0}while((ya|0)<(ra|0));Oa=b[G>>0]|0}else Oa=Fa;Na=Oa}if(Na<<24>>24<0)pr(f[d>>2]|0)}if((b[I>>0]|0)<0)pr(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=tn(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14849;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(ia|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(ia|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Hh(oa,d)|0)){wa=91;break}Qa=$(vk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(vk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)pr(f[d>>2]|0);Hl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);ia=f[h>>2]|0;if(ia|0){na=f[C>>2]|0;if((na|0)!=(ia|0))f[C>>2]=na+(~((na+-4-ia|0)>>>2)<<2);pr(ia)}}else Qd(g,ja,va)|0;ia=f[P>>2]|0;if((ia|0)==(f[Q>>2]|0))vf(R,g);else{f[ia>>2]=1260;f[ia+4>>2]=f[s>>2];Ra=ia+8|0;f[Ra>>2]=0;na=ia+12|0;f[na>>2]=0;f[ia+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=tn(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[ia+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){eh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[ia+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Ke(d,g,ja,m);ia=f[S>>2]|0;if(ia>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[ia>>2]=ma;f[S>>2]=ia+4}else Re(U,d);ia=f[d>>2]|0;f[d>>2]=0;if(ia|0){ma=ia+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;pr(ma)}pr(oa)}oa=f[ia+68>>2]|0;if(oa|0){ma=ia+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);pr(oa)}oa=ia+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;pr(oa)}pr(na)}pr(ia)}xa=0}f[g>>2]=1260;ia=f[q>>2]|0;if(ia|0){na=f[y>>2]|0;if((na|0)!=(ia|0))f[y>>2]=na+(~((na+-4-ia|0)>>>2)<<2);pr(ia)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{ia=ja+24|0;na=b[ia>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=tn(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=na;na=oa;while(1){f[ya>>2]=2147483647;na=na+-1|0;if(!na)break;else ya=ya+4|0}f[_>>2]=ma;Sa=b[ia>>0]|0}ya=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}na=ya<<2;sa=tn(na)|0;f[h>>2]=sa;ra=sa+(ya<<2)|0;f[da>>2]=ra;pj(sa|0,0,na|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[ia>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{na=ra;ya=Ta;oa=0;while(1){f[e>>2]=oa;f[d>>2]=f[e>>2];Lb(ja,d,na,ya)|0;Fa=b[ia>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=oa+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}na=Fa;ya=f[h>>2]|0;oa=pa}}while(0);if(Ua<<24>>24>0){sa=Ua;ja=0;while(1){ra=(f[g>>2]|0)+(ja<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ti(ga,ra);Va=b[ia>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=sa}ja=ja+1|0;if((ja|0)>=(Va<<24>>24|0))break;else sa=Va}}sa=f[h>>2]|0;if(sa|0){ja=f[ba>>2]|0;if((ja|0)!=(sa|0))f[ba>>2]=ja+(~((ja+-4-sa|0)>>>2)<<2);pr(sa)}sa=f[g>>2]|0;if(sa|0){ja=f[_>>2]|0;if((ja|0)!=(sa|0))f[_>>2]=ja+(~((ja+-4-sa|0)>>>2)<<2);pr(sa)}break}default:{}}sa=k+1|0;ja=f[o>>2]|0;if(sa>>>0>=(f[p>>2]|0)-ja>>2>>>0){v=1;wa=169;break}ia=f[j>>2]|0;ha=ja;t=f[ia+4>>2]|0;l=ia;k=sa}if((wa|0)==48)Cq(h);else if((wa|0)==103)Cq(Ra);else if((wa|0)==137)Cq(g);else if((wa|0)==144)Cq(h);else if((wa|0)==169){u=c;return v|0}return 0}function bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+140|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+116|0;x=a+48|0;h=a+44|0;i=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=j+4|0;N=j+24|0;O=j+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){pr(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[r>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[y>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=$;ba=V;ca=1;while(1){ba=(ba|0)==(aa+-1|0)?0:ba+1|0;f[U+(ca<<2)>>2]=ba;ca=ca+1|0;da=f[g>>2]|0;if(ca>>>0>=da>>>0){ea=da;break}else aa=da}}else ea=$;if(!z){fa=99;break}else{ga=ea;ha=0}while(1){aa=(f[N>>2]|0)+((X(f[M>>2]|0,S+ha|0)|0)<<2)|0;if(!ga)ia=0;else{ca=0;do{ba=f[(f[y>>2]|0)+(ca<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ba<<2)>>2]|0)|0;do if(U|0){da=f[x>>2]|0;ja=32-da|0;ka=32-U|0;la=f[aa+(ba<<2)>>2]<>2]|0;if((U|0)>(ja|0)){na=la>>>ka;ka=U-ja|0;f[x>>2]=ka;ja=na>>>ka|ma;f[h>>2]=ja;ka=f[i>>2]|0;if((ka|0)==(f[m>>2]|0))Ti(n,h);else{f[ka>>2]=ja;f[i>>2]=ka+4}f[h>>2]=na<<32-(f[x>>2]|0);break}na=ma|la>>>da;f[h>>2]=na;la=da+U|0;f[x>>2]=la;if((la|0)!=32)break;la=f[i>>2]|0;if((la|0)==(f[m>>2]|0))Ti(n,h);else{f[la>>2]=na;f[i>>2]=la+4}f[h>>2]=0;f[x>>2]=0}while(0);ca=ca+1|0;U=f[g>>2]|0}while(ca>>>0>>0);ia=U}ha=ha+1|0;if(ha>>>0>=z>>>0){fa=99;break a}else ga=ia}}$=Z+1|0;Fg(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);ca=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;aa=(f[ca>>2]|0)+(1<>2]=aa;ca=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))oa=S;else{ba=f[O>>2]|0;if(!ca){if((f[ba+(V<<2)>>2]|0)>>>0>>0){oa=W;break}else{pa=S;qa=W}while(1){la=qa;do{la=la+-1|0;if((pa|0)==(la|0)){oa=pa;break b}na=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[na>>2]|0)>>>0>=aa>>>0);pa=pa+1|0;if((pa|0)==(la|0)){oa=la;break b}else qa=la}}else{ra=S;sa=W}while(1){na=ra;while(1){ta=ba+((X(na,ca)|0)<<2)|0;if((f[ta+(V<<2)>>2]|0)>>>0>=aa>>>0){ua=sa;break}da=na+1|0;if((da|0)==(sa|0)){oa=sa;break b}else na=da}while(1){ua=ua+-1|0;if((na|0)==(ua|0)){oa=na;break b}va=(f[P>>2]|0)+((X(ua,U)|0)<<2)|0;if((f[va+(V<<2)>>2]|0)>>>0>>0){wa=0;break}}do{la=ta+(wa<<2)|0;da=va+(wa<<2)|0;ma=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ma;wa=wa+1|0}while((wa|0)!=(ca|0));ra=na+1|0;if((ra|0)==(ua|0)){oa=ua;break}else sa=ua}}while(0);aa=(_(z|0)|0)^31;U=oa-S|0;ba=W-oa|0;ma=U>>>0>>0;if((U|0)!=(ba|0)){da=f[H>>2]|0;if(ma)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ti(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ma){da=f[C>>2]|0;ka=32-da|0;ja=32-aa|0;xa=la-U<>2]|0;if((aa|0)>(ka|0)){za=xa>>>ja;ja=aa-ka|0;f[C>>2]=ja;ka=za>>>ja|ya;f[D>>2]=ka;ja=f[E>>2]|0;if((ja|0)==(f[F>>2]|0))Ti(G,D);else{f[ja>>2]=ka;f[E>>2]=ja+4}f[D>>2]=za<<32-(f[C>>2]|0);break}za=ya|xa>>>da;f[D>>2]=za;xa=da+aa|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ti(G,D);else{f[xa>>2]=za;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;za=32-xa|0;da=32-aa|0;ya=la-ba<>2]|0;if((aa|0)>(za|0)){ka=ya>>>da;da=aa-za|0;f[C>>2]=da;za=ka>>>da|ja;f[D>>2]=za;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ti(G,D);else{f[da>>2]=za;f[E>>2]=da+4}f[D>>2]=ka<<32-(f[C>>2]|0);break}ka=ja|ya>>>xa;f[D>>2]=ka;ya=xa+aa|0;f[C>>2]=ya;if((ya|0)==32){ya=f[E>>2]|0;if((ya|0)==(f[F>>2]|0))Ti(G,D);else{f[ya>>2]=ka;f[E>>2]=ya+4}f[D>>2]=0;f[C>>2]=0}}while(0);aa=f[r>>2]|0;la=f[aa+(Z*12|0)>>2]|0;ma=la+(V<<2)|0;f[ma>>2]=(f[ma>>2]|0)+1;Fg(aa+($*12|0)|0,la,f[aa+(Z*12|0)+4>>2]|0);if((oa|0)!=(S|0)){aa=f[o>>2]|0;la=f[t>>2]|0;ma=aa-la>>2;ya=f[v>>2]|0;ka=f[l>>2]|0;if((((ma|0)==0?0:(ma*113|0)+-1|0)|0)==(ka+ya|0)){Jc(e);Aa=f[v>>2]|0;Ba=f[l>>2]|0;Ca=f[o>>2]|0;Da=f[t>>2]|0}else{Aa=ya;Ba=ka;Ca=aa;Da=la}la=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Ea>>2]=S;la=Ea+4|0;f[la>>2]=q;f[la+4>>2]=w;f[Ea+12>>2]=oa;f[Ea+16>>2]=j;f[Ea+20>>2]=ca;f[Ea+24>>2]=V;f[Ea+28>>2]=U;f[Ea+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(oa|0)){la=f[o>>2]|0;aa=f[t>>2]|0;ka=la-aa>>2;ya=f[v>>2]|0;ma=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ma+ya|0)){Jc(e);Fa=f[v>>2]|0;Ga=f[l>>2]|0;Ha=f[o>>2]|0;Ia=f[t>>2]|0}else{Fa=ya;Ga=ma;Ha=la;Ia=aa}aa=Ga+Fa|0;if((Ha|0)==(Ia|0))Ja=0;else Ja=(f[Ia+(((aa>>>0)/113|0)<<2)>>2]|0)+(((aa>>>0)%113|0)*36|0)|0;f[Ja>>2]=oa;f[Ja+4>>2]=j;f[Ja+8>>2]=ca;f[Ja+12>>2]=W;aa=Ja+16|0;f[aa>>2]=p;f[aa+4>>2]=s;f[Ja+24>>2]=V;f[Ja+28>>2]=ba;f[Ja+32>>2]=$;aa=(f[l>>2]|0)+1|0;f[l>>2]=aa;Ka=aa}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ka=f[l>>2]|0}if(!Ka)break;else Q=Ka}}Ka=f[t>>2]|0;Q=f[v>>2]|0;Ja=Ka+(((Q>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Ka;if((s|0)==(Ka|0)){La=0;Ma=0}else{oa=(f[Ja>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;La=oa;Ma=oa}oa=Ja;Ja=Ma;c:while(1){Ma=Ja;do{Q=Ma;if((Q|0)==(La|0))break c;Ma=Q+36|0}while((Ma-(f[oa>>2]|0)|0)!=4068);Ma=oa+4|0;oa=Ma;Ja=f[Ma>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Ka;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Na=f[o>>2]|0;Oa=Na-j>>2}while(Oa>>>0>2);Pa=j;Qa=Na;Ra=Oa}else{Pa=Ka;Qa=s;Ra=l}switch(Ra|0){case 1:{Sa=56;fa=113;break}case 2:{Sa=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Sa;if((Pa|0)!=(Qa|0)){Sa=Pa;do{pr(f[Sa>>2]|0);Sa=Sa+4|0}while((Sa|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}pr(Qa);u=d;return}function cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)Cq(e);else{l=j<<2;m=tn(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;pj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=p;s=o;t=j;v=n+8|0}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);pr(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=f[e>>2]|0;s=f[k>>2]|0;t=f[i>>2]|0;v=l}f[n>>2]=r;f[q>>2]=s;f[v>>2]=f[e+8>>2];f[e>>2]=0;v=e+4|0;f[v>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Cq(e);else{s=t<<2;q=tn(s)|0;f[e>>2]=q;r=q+(t<<2)|0;f[e+8>>2]=r;pj(q|0,0,s|0)|0;f[v>>2]=r;w=r;x=q;break}else{w=0;x=0}while(0);t=a+1176|0;q=f[t>>2]|0;r=f[q>>2]|0;s=q+4|0;if(!r){y=x;z=w;A=q+8|0}else{w=f[s>>2]|0;if((w|0)!=(r|0))f[s>>2]=w+(~((w+-4-r|0)>>>2)<<2);pr(r);r=q+8|0;f[r>>2]=0;f[s>>2]=0;f[q>>2]=0;y=f[e>>2]|0;z=f[v>>2]|0;A=r}f[q>>2]=y;f[s>>2]=z;f[A>>2]=f[e+8>>2];A=f[b>>2]|0;z=b+4|0;s=f[z>>2]|0;y=f[z+4>>2]|0;z=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;v=f[q+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;l=s;Jc(h);k=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(k|0))B=0;else B=(f[k+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=A;j=B+4|0;f[j>>2]=s;f[j+4>>2]=y;f[B+12>>2]=z;j=B+16|0;f[j>>2]=r;f[j+4>>2]=v;f[B+24>>2]=0;f[B+28>>2]=z-A;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){A=a+1152|0;z=a+1084|0;j=a+1080|0;k=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=l+4|0;K=l+24|0;L=l+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){pr(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[t>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Kd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[A>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=Y;$=Q;aa=1;while(1){$=($|0)==(Z+-1|0)?0:$+1|0;f[W+(aa<<2)>>2]=$;aa=aa+1|0;ba=f[i>>2]|0;if(aa>>>0>=ba>>>0){ca=ba;break}else Z=ba}}else ca=Y;if(!U){da=87;break}else{ea=ca;fa=0}while(1){Z=(f[K>>2]|0)+((X(f[J>>2]|0,P+fa|0)|0)<<2)|0;if(!ea)ga=0;else{aa=0;do{$=f[(f[A>>2]|0)+(aa<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+($<<2)>>2]|0)|0;do if(W|0){ba=f[z>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[Z+($<<2)>>2]<>2]|0;if((W|0)>(ha|0)){la=ja>>>ia;ia=W-ha|0;f[z>>2]=ia;ha=la>>>ia|ka;f[j>>2]=ha;ia=f[k>>2]|0;if((ia|0)==(f[o>>2]|0))Ti(p,j);else{f[ia>>2]=ha;f[k>>2]=ia+4}f[j>>2]=la<<32-(f[z>>2]|0);break}la=ka|ja>>>ba;f[j>>2]=la;ja=ba+W|0;f[z>>2]=ja;if((ja|0)!=32)break;ja=f[k>>2]|0;if((ja|0)==(f[o>>2]|0))Ti(p,j);else{f[ja>>2]=la;f[k>>2]=ja+4}f[j>>2]=0;f[z>>2]=0}while(0);aa=aa+1|0;W=f[i>>2]|0}while(aa>>>0>>0);ga=W}fa=fa+1|0;if(fa>>>0>=U>>>0){da=87;break a}else ea=ga}}Y=V+1|0;aa=f[m>>2]|0;Z=aa+(Y*12|0)|0;if((Z|0)==(S|0))ma=aa;else{Fg(Z,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);ma=f[m>>2]|0}Z=(f[ma+(Y*12|0)>>2]|0)+(Q<<2)|0;aa=(f[Z>>2]|0)+(1<>2]=aa;Z=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))na=P;else{$=f[L>>2]|0;if(!Z){if((f[$+(Q<<2)>>2]|0)>>>0>>0){na=T;break}else{oa=P;pa=T}while(1){ja=pa;do{ja=ja+-1|0;if((oa|0)==(ja|0)){na=oa;break b}la=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[la>>2]|0)>>>0>=aa>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){na=ja;break b}else pa=ja}}else{qa=P;ra=T}while(1){la=qa;while(1){sa=$+((X(la,Z)|0)<<2)|0;if((f[sa+(Q<<2)>>2]|0)>>>0>=aa>>>0){ta=ra;break}ba=la+1|0;if((ba|0)==(ra|0)){na=ra;break b}else la=ba}while(1){ta=ta+-1|0;if((la|0)==(ta|0)){na=la;break b}ua=(f[M>>2]|0)+((X(ta,W)|0)<<2)|0;if((f[ua+(Q<<2)>>2]|0)>>>0>>0){va=0;break}}do{ja=sa+(va<<2)|0;ba=ua+(va<<2)|0;ka=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ka;va=va+1|0}while((va|0)!=(Z|0));qa=la+1|0;if((qa|0)==(ta|0)){na=ta;break}else ra=ta}}while(0);aa=(_(U|0)|0)^31;W=na-P|0;$=T-na|0;ka=W>>>0<$>>>0;if((W|0)!=($|0)){ba=f[E>>2]|0;if(ka)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ti(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ka){ka=ja-W|0;if(aa|0){ba=0;ia=1<>>1}}}else{ia=ja-$|0;if(aa|0){ba=0;ka=1<>>1}}}ka=f[t>>2]|0;aa=f[ka+(V*12|0)>>2]|0;ba=aa+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Fg(ka+(Y*12|0)|0,aa,f[ka+(V*12|0)+4>>2]|0);if((na|0)!=(P|0)){ka=f[q>>2]|0;aa=f[w>>2]|0;ba=ka-aa>>2;ia=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ia|0)){Jc(h);wa=f[x>>2]|0;xa=f[n>>2]|0;ya=f[q>>2]|0;za=f[w>>2]|0}else{wa=ia;xa=ja;ya=ka;za=aa}aa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((aa>>>0)/113|0)<<2)>>2]|0)+(((aa>>>0)%113|0)*36|0)|0;f[Aa>>2]=P;aa=Aa+4|0;f[aa>>2]=s;f[aa+4>>2]=y;f[Aa+12>>2]=na;f[Aa+16>>2]=l;f[Aa+20>>2]=Z;f[Aa+24>>2]=Q;f[Aa+28>>2]=W;f[Aa+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(na|0)){aa=f[q>>2]|0;ka=f[w>>2]|0;ja=aa-ka>>2;ia=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ia|0)){Jc(h);Ba=f[x>>2]|0;Ca=f[n>>2]|0;Da=f[q>>2]|0;Ea=f[w>>2]|0}else{Ba=ia;Ca=ba;Da=aa;Ea=ka}ka=Ca+Ba|0;if((Da|0)==(Ea|0))Fa=0;else Fa=(f[Ea+(((ka>>>0)/113|0)<<2)>>2]|0)+(((ka>>>0)%113|0)*36|0)|0;f[Fa>>2]=na;f[Fa+4>>2]=l;f[Fa+8>>2]=Z;f[Fa+12>>2]=T;ka=Fa+16|0;f[ka>>2]=r;f[ka+4>>2]=v;f[Fa+24>>2]=Q;f[Fa+28>>2]=$;f[Fa+32>>2]=Y;ka=(f[n>>2]|0)+1|0;f[n>>2]=ka;Ga=ka}else da=87}else da=87;while(0);if((da|0)==87){da=0;Ga=f[n>>2]|0}if(!Ga)break;else N=Ga}}Ga=f[w>>2]|0;N=f[x>>2]|0;Fa=Ga+(((N>>>0)/113|0)<<2)|0;v=f[q>>2]|0;r=v;l=Ga;if((v|0)==(Ga|0)){Ha=0;Ia=0}else{na=(f[Fa>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ha=na;Ia=na}na=Fa;Fa=Ia;c:while(1){Ia=Fa;do{N=Ia;if((N|0)==(Ha|0))break c;Ia=N+36|0}while((Ia-(f[na>>2]|0)|0)!=4068);Ia=na+4|0;na=Ia;Fa=f[Ia>>2]|0}f[n>>2]=0;n=r-l>>2;if(n>>>0>2){l=Ga;do{pr(f[l>>2]|0);l=(f[w>>2]|0)+4|0;f[w>>2]=l;Ja=f[q>>2]|0;Ka=Ja-l>>2}while(Ka>>>0>2);La=l;Ma=Ja;Na=Ka}else{La=Ga;Ma=v;Na=n}switch(Na|0){case 1:{Oa=56;da=101;break}case 2:{Oa=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Oa;if((La|0)!=(Ma|0)){Oa=La;do{pr(f[Oa>>2]|0);Oa=Oa+4|0}while((Oa|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}pr(Ma);u=d;return}function db(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=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;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(ki(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)Cq(G);else{K=H<<2;L=tn(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;pj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=M;aa=C;ba=0;ca=0;da=0;ea=0;b:while(1){fa=f[(f[(f[aa+4>>2]|0)+8>>2]|0)+(f[$+(ba<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=da;ha=fa;break}case 9:{ga=da+1|0;ha=f[(f[Z>>2]|0)+(da<<2)>>2]|0;break}default:{ia=0;break a}}if(!ha){ia=0;break a}c:do switch(f[ha+28>>2]|0){case 6:{if(Q){ja=ha+24|0;ka=ea;break c}fa=ha+84|0;la=ha+68|0;ma=ha+48|0;na=ha+40|0;oa=ha+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=En(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=go(ua|0,I|0,sa|0,ta|0)|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+(ca<<2)|0,(f[f[ha>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=oa;ka=ea;break}case 1:case 3:case 5:{oa=ha+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=tn(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;pj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=tn(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;pj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ha+84|0;na=ha+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Lb(ha,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ea<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+(ca<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=(b[oa>>0]|0)+ea|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);pr(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);pr(na)}ja=oa;ka=pa;break}default:{pa=ha+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=tn(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;pj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ha+84|0;sa=ha+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];sb(ha,e,ra,ma)|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+(ca<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);pr(Ga)}ja=pa;ka=ea}}while(0);na=ba+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=sa;aa=f[A>>2]|0;ba=na;ca=(b[ja>>0]|0)+ca|0;da=ga;ea=ka}if((wa|0)==24)Cq(j);else if((wa|0)==30)Cq(k);else if((wa|0)==53)Cq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{ka=(_(D|0)|0)^31;Ka=(ka|0)<(H|0)?H:ka+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ne(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=cf(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 5:{Ne(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=df(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 4:{Ne(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=df(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 3:{Se(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=zf(j,g,e,k,c)|0;Ze(j);if(!H){ia=0;break d}break}case 2:{Se(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=zf(j,g,e,k,c)|0;Ze(j);if(!H){ia=0;break d}break}case 1:{Te(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=wf(j,g,e,k,c)|0;Xe(j);if(!H){ia=0;break d}break}case 0:{Te(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=wf(j,g,e,k,c)|0;Xe(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);pr(j);u=d;return ia|0}function eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+1176|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+1152|0;x=a+1084|0;h=a+1080|0;i=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=j+4|0;I=j+24|0;J=j+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){pr(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[r>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[y>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=U;W=Q;Y=1;while(1){W=(W|0)==(V+-1|0)?0:W+1|0;f[P+(Y<<2)>>2]=W;Y=Y+1|0;Z=f[g>>2]|0;if(Y>>>0>=Z>>>0){$=Z;break}else V=Z}}else $=U;if(!z){aa=85;break}else{ba=$;ca=0}while(1){V=(f[I>>2]|0)+((X(f[H>>2]|0,N+ca|0)|0)<<2)|0;if(!ba)da=0;else{Y=0;do{W=f[(f[y>>2]|0)+(Y<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(W<<2)>>2]|0)|0;do if(P|0){Z=f[x>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[V+(W<<2)>>2]<>2]|0;if((P|0)>(ea|0)){ia=ga>>>fa;fa=P-ea|0;f[x>>2]=fa;ea=ia>>>fa|ha;f[h>>2]=ea;fa=f[i>>2]|0;if((fa|0)==(f[m>>2]|0))Ti(n,h);else{f[fa>>2]=ea;f[i>>2]=fa+4}f[h>>2]=ia<<32-(f[x>>2]|0);break}ia=ha|ga>>>Z;f[h>>2]=ia;ga=Z+P|0;f[x>>2]=ga;if((ga|0)!=32)break;ga=f[i>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=ia;f[i>>2]=ga+4}f[h>>2]=0;f[x>>2]=0}while(0);Y=Y+1|0;P=f[g>>2]|0}while(Y>>>0

>>0);da=P}ca=ca+1|0;if(ca>>>0>=z>>>0){aa=85;break a}else ba=da}}U=T+1|0;Fg(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);Y=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;V=(f[Y>>2]|0)+(1<>2]=V;Y=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ja=N;else{W=f[J>>2]|0;if(!Y){if((f[W+(Q<<2)>>2]|0)>>>0>>0){ja=R;break}else{ka=N;la=R}while(1){ga=la;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ja=ka;break b}ia=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ia>>2]|0)>>>0>=V>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ja=ga;break b}else la=ga}}else{ma=N;na=R}while(1){ia=ma;while(1){oa=W+((X(ia,Y)|0)<<2)|0;if((f[oa+(Q<<2)>>2]|0)>>>0>=V>>>0){pa=na;break}Z=ia+1|0;if((Z|0)==(na|0)){ja=na;break b}else ia=Z}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[K>>2]|0)+((X(pa,P)|0)<<2)|0;if((f[qa+(Q<<2)>>2]|0)>>>0>>0){ra=0;break}}do{ga=oa+(ra<<2)|0;Z=qa+(ra<<2)|0;ha=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=ha;ra=ra+1|0}while((ra|0)!=(Y|0));ma=ia+1|0;if((ma|0)==(pa|0)){ja=pa;break}else na=pa}}while(0);V=(_(z|0)|0)^31;P=ja-N|0;W=R-ja|0;ha=P>>>0>>0;if((P|0)!=(W|0)){Z=f[C>>2]|0;if(ha)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ti(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(ha){ha=ga-P|0;if(V|0){Z=0;fa=1<>>1}}}else{fa=ga-W|0;if(V|0){Z=0;ha=1<>>1}}}ha=f[r>>2]|0;V=f[ha+(T*12|0)>>2]|0;Z=V+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Fg(ha+(U*12|0)|0,V,f[ha+(T*12|0)+4>>2]|0);if((ja|0)!=(N|0)){ha=f[o>>2]|0;V=f[t>>2]|0;Z=ha-V>>2;fa=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+fa|0)){Jc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=fa;ta=ga;ua=ha;va=V}V=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((V>>>0)/113|0)<<2)>>2]|0)+(((V>>>0)%113|0)*36|0)|0;f[wa>>2]=N;V=wa+4|0;f[V>>2]=q;f[V+4>>2]=w;f[wa+12>>2]=ja;f[wa+16>>2]=j;f[wa+20>>2]=Y;f[wa+24>>2]=Q;f[wa+28>>2]=P;f[wa+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ja|0)){V=f[o>>2]|0;ha=f[t>>2]|0;ga=V-ha>>2;fa=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+fa|0)){Jc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=Z;za=V;Aa=ha}ha=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((ha>>>0)/113|0)<<2)>>2]|0)+(((ha>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=j;f[Ba+8>>2]=Y;f[Ba+12>>2]=R;ha=Ba+16|0;f[ha>>2]=p;f[ha+4>>2]=s;f[Ba+24>>2]=Q;f[Ba+28>>2]=W;f[Ba+32>>2]=U;ha=(f[l>>2]|0)+1|0;f[l>>2]=ha;Ca=ha}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ca=f[l>>2]|0}if(!Ca)break;else L=Ca}}Ca=f[t>>2]|0;L=f[v>>2]|0;Ba=Ca+(((L>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Ca;if((s|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{L=Ea;if((L|0)==(Da|0))break c;Ea=L+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Ca;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Fa=f[o>>2]|0;Ga=Fa-j>>2}while(Ga>>>0>2);Ha=j;Ia=Fa;Ja=Ga}else{Ha=Ca;Ia=s;Ja=l}switch(Ja|0){case 1:{Ka=56;aa=99;break}case 2:{Ka=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ka;if((Ha|0)!=(Ia|0)){Ka=Ha;do{pr(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}pr(Ia);u=d;return}function fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+152|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+128|0;x=a+60|0;h=a+56|0;i=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=j+4|0;J=j+24|0;K=j+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){pr(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[r>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[y>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=V;Y=R;Z=1;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[Q+(Z<<2)>>2]=Y;Z=Z+1|0;$=f[g>>2]|0;if(Z>>>0>=$>>>0){aa=$;break}else W=$}}else aa=V;if(!z){ba=81;break}else{ca=aa;da=0}while(1){W=(f[J>>2]|0)+((X(f[I>>2]|0,O+da|0)|0)<<2)|0;if(!ca)ea=0;else{Z=0;do{Y=f[(f[y>>2]|0)+(Z<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Y<<2)>>2]|0)|0;do if(Q|0){$=f[x>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[W+(Y<<2)>>2]<>2]|0;if((Q|0)>(fa|0)){ja=ha>>>ga;ga=Q-fa|0;f[x>>2]=ga;fa=ja>>>ga|ia;f[h>>2]=fa;ga=f[i>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=fa;f[i>>2]=ga+4}f[h>>2]=ja<<32-(f[x>>2]|0);break}ja=ia|ha>>>$;f[h>>2]=ja;ha=$+Q|0;f[x>>2]=ha;if((ha|0)!=32)break;ha=f[i>>2]|0;if((ha|0)==(f[m>>2]|0))Ti(n,h);else{f[ha>>2]=ja;f[i>>2]=ha+4}f[h>>2]=0;f[x>>2]=0}while(0);Z=Z+1|0;Q=f[g>>2]|0}while(Z>>>0>>0);ea=Q}da=da+1|0;if(da>>>0>=z>>>0){ba=81;break a}else ca=ea}}V=U+1|0;Fg(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);Z=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;W=(f[Z>>2]|0)+(1<>2]=W;Z=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ka=O;else{Y=f[K>>2]|0;if(!Z){if((f[Y+(R<<2)>>2]|0)>>>0>>0){ka=S;break}else{la=O;ma=S}while(1){ha=ma;do{ha=ha+-1|0;if((la|0)==(ha|0)){ka=la;break b}ja=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ja>>2]|0)>>>0>=W>>>0);la=la+1|0;if((la|0)==(ha|0)){ka=ha;break b}else ma=ha}}else{na=O;oa=S}while(1){ja=na;while(1){pa=Y+((X(ja,Z)|0)<<2)|0;if((f[pa+(R<<2)>>2]|0)>>>0>=W>>>0){qa=oa;break}$=ja+1|0;if(($|0)==(oa|0)){ka=oa;break b}else ja=$}while(1){qa=qa+-1|0;if((ja|0)==(qa|0)){ka=ja;break b}ra=(f[L>>2]|0)+((X(qa,Q)|0)<<2)|0;if((f[ra+(R<<2)>>2]|0)>>>0>>0){sa=0;break}}do{ha=pa+(sa<<2)|0;$=ra+(sa<<2)|0;ia=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ia;sa=sa+1|0}while((sa|0)!=(Z|0));na=ja+1|0;if((na|0)==(qa|0)){ka=qa;break}else oa=qa}}while(0);W=(_(z|0)|0)^31;Q=ka-O|0;Y=S-ka|0;ia=Q>>>0>>0;if((Q|0)!=(Y|0)){$=f[D>>2]|0;if(ia)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ti(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ia)qg(C,W,ha-Q|0);else qg(C,W,ha-Y|0);ha=f[r>>2]|0;W=f[ha+(U*12|0)>>2]|0;ia=W+(R<<2)|0;f[ia>>2]=(f[ia>>2]|0)+1;Fg(ha+(V*12|0)|0,W,f[ha+(U*12|0)+4>>2]|0);if((ka|0)!=(O|0)){ha=f[o>>2]|0;W=f[t>>2]|0;ia=ha-W>>2;$=f[v>>2]|0;ga=f[l>>2]|0;if((((ia|0)==0?0:(ia*113|0)+-1|0)|0)==(ga+$|0)){Jc(e);ta=f[v>>2]|0;ua=f[l>>2]|0;va=f[o>>2]|0;wa=f[t>>2]|0}else{ta=$;ua=ga;va=ha;wa=W}W=ua+ta|0;if((va|0)==(wa|0))xa=0;else xa=(f[wa+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[xa>>2]=O;W=xa+4|0;f[W>>2]=q;f[W+4>>2]=w;f[xa+12>>2]=ka;f[xa+16>>2]=j;f[xa+20>>2]=Z;f[xa+24>>2]=R;f[xa+28>>2]=Q;f[xa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ka|0)){Q=f[o>>2]|0;W=f[t>>2]|0;ha=Q-W>>2;ga=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+ga|0)){Jc(e);ya=f[v>>2]|0;za=f[l>>2]|0;Aa=f[o>>2]|0;Ba=f[t>>2]|0}else{ya=ga;za=$;Aa=Q;Ba=W}W=za+ya|0;if((Aa|0)==(Ba|0))Ca=0;else Ca=(f[Ba+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[Ca>>2]=ka;f[Ca+4>>2]=j;f[Ca+8>>2]=Z;f[Ca+12>>2]=S;W=Ca+16|0;f[W>>2]=p;f[W+4>>2]=s;f[Ca+24>>2]=R;f[Ca+28>>2]=Y;f[Ca+32>>2]=V;Y=(f[l>>2]|0)+1|0;f[l>>2]=Y;Da=Y}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Da=f[l>>2]|0}if(!Da)break;else M=Da}}Da=f[t>>2]|0;M=f[v>>2]|0;Ca=Da+(((M>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Da;if((s|0)==(Da|0)){Ea=0;Fa=0}else{ka=(f[Ca>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Ea=ka;Fa=ka}ka=Ca;Ca=Fa;c:while(1){Fa=Ca;do{M=Fa;if((M|0)==(Ea|0))break c;Fa=M+36|0}while((Fa-(f[ka>>2]|0)|0)!=4068);Fa=ka+4|0;ka=Fa;Ca=f[Fa>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Da;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Ga=f[o>>2]|0;Ha=Ga-j>>2}while(Ha>>>0>2);Ia=j;Ja=Ga;Ka=Ha}else{Ia=Da;Ja=s;Ka=l}switch(Ka|0){case 1:{La=56;ba=95;break}case 2:{La=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=La;if((Ia|0)!=(Ja|0)){La=Ia;do{pr(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}pr(Ja);u=d;return}function gb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ja,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=0;m=o;while(1){s=$(b[m>>0]|0);n[g+(r<<2)>>2]=s;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else m=m+1|0}}else{m=0;r=o;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(h[k>>0]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else k=k+1|0}}else{k=0;u=o;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$(d[l>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else l=l+2|0}}else{l=0;u=o;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){s=$(j[m>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else m=m+2|0}}else{m=0;u=o;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(f[k>>2]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else k=k+4|0}}else{k=0;u=o;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$((f[l>>2]|0)>>>0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else l=l+4|0}}else{l=0;u=o;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){q=m;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else m=m+8|0}}else{m=0;u=o;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){q=k;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else k=k+8|0}}else{k=0;u=o;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;l=r+q|0;while(1){f[g+(o<<2)>>2]=f[l>>2];o=o+1|0;q=b[u>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){C=q;break}else l=l+4|0}}else C=k;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 10:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;r=go(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;q=u+r|0;while(1){s=$(+p[q>>3]);n[g+(m<<2)>>2]=s;m=m+1|0;r=b[l>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){D=r;break}else q=q+8|0}}else D=o;q=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 11:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;u=go(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;r=l+u|0;while(1){s=$((b[r>>0]|0)!=0&1);n[g+(k<<2)>>2]=s;k=k+1|0;u=b[q>>0]|0;if((k|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){E=u;break}else r=r+1|0}}else E=m;r=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function hb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0.0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0,tb=0.0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=0;s=o;t=b;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Ji(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Ji(a)|0;if((x|0)==48){o=0;w=0;while(1){y=go(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Ji(a)|0;if((B|0)==48){o=y;w=z}else{q=y;r=z;s=B;t=1;v=1;break}}}else{q=0;r=0;s=x;t=b;v=1}}f[j>>2]=0;b=s+-48|0;x=(s|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=q;o=r;z=0;y=0;A=s;C=x;D=t;E=v;F=0;G=0;H=0;J=b;c:while(1){do if(C)if(!E){L=z;M=y;N=z;O=y;P=D;Q=1;R=F;S=G;T=H}else break c;else{U=go(z|0,y|0,1,0)|0;V=I;W=(A|0)!=48;if((G|0)>=125){if(!W){L=w;M=o;N=U;O=V;P=D;Q=E;R=F;S=G;T=H;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=U;O=V;P=D;Q=E;R=F;S=G;T=H;break}Y=j+(G<<2)|0;if(!F)Z=J;else Z=A+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=F+1|0;_=(Y|0)==9;L=w;M=o;N=U;O=V;P=1;Q=E;R=_?0:Y;S=(_&1)+G|0;T=W?U:H}while(0);U=f[m>>2]|0;if(U>>>0<(f[n>>2]|0)>>>0){f[m>>2]=U+1;$=h[U>>0]|0}else $=Ji(a)|0;J=$+-48|0;C=($|0)==46;if(!(C|J>>>0<10)){aa=L;ba=N;ca=M;da=O;ea=$;fa=P;ga=Q;ha=R;ia=S;ja=T;p=29;break b}else{w=L;o=M;z=N;y=O;A=$;D=P;E=Q;F=R;G=S;H=T}}ka=z;la=y;ma=w;na=o;oa=F;pa=G;qa=H;ra=(D|0)!=0;p=37}else{aa=q;ba=0;ca=r;da=0;ea=s;fa=t;ga=v;ha=0;ia=0;ja=0;p=29}while(0);do if((p|0)==29){v=(ga|0)==0;t=v?ba:aa;s=v?da:ca;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=ba;la=da;ma=t;na=s;oa=ha;pa=ia;qa=ja;ra=v;p=37;break}else{sa=ba;ta=da;ua=t;va=s;wa=ha;xa=ia;ya=ja;za=v;p=39;break}v=Ie(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){dn(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=go(Ba|0,Ca|0,t|0,s|0)|0;Da=r;Ea=ba;Fa=I;Ga=da;Ha=ha;Ia=ia;Ja=ja;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ma;Ea=ka;Fa=na;Ga=la;Ha=oa;Ia=pa;Ja=qa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=pa;ya=qa;za=ra;p=39}if((p|0)==39)if(za){Da=ua;Ea=sa;Fa=va;Ga=ta;Ha=wa;Ia=xa;Ja=ya;p=41}else p=40;do if((p|0)==40){ya=er()|0;f[ya>>2]=22;dn(a,0);Aa=0.0}else if((p|0)==41){ya=f[j>>2]|0;if(!ya){Aa=+(e|0)*0.0;break}if(((Ga|0)<0|(Ga|0)==0&Ea>>>0<10)&((Da|0)==(Ea|0)&(Fa|0)==(Ga|0))?(c|0)>30|(ya>>>c|0)==0:0){Aa=+(e|0)*+(ya>>>0);break}ya=(d|0)/-2|0;xa=((ya|0)<0)<<31>>31;if((Fa|0)>(xa|0)|(Fa|0)==(xa|0)&Da>>>0>ya>>>0){ya=er()|0;f[ya>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}ya=d+-106|0;xa=((ya|0)<0)<<31>>31;if((Fa|0)<(xa|0)|(Fa|0)==(xa|0)&Da>>>0>>0){ya=er()|0;f[ya>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ha)Ka=Ia;else{if((Ha|0)<9){ya=j+(Ia<<2)|0;xa=Ha;wa=f[ya>>2]|0;do{wa=wa*10|0;xa=xa+1|0}while((xa|0)!=9);f[ya>>2]=wa}Ka=Ia+1|0}if((Ja|0)<9?(Ja|0)<=(Da|0)&(Da|0)<18:0){xa=f[j>>2]|0;if((Da|0)==9){Aa=+(e|0)*+(xa>>>0);break}if((Da|0)<9){Aa=+(e|0)*+(xa>>>0)/+(f[6876+(8-Da<<2)>>2]|0);break}D=c+27+(X(Da,-3)|0)|0;if((D|0)>30|(xa>>>D|0)==0){Aa=+(e|0)*+(xa>>>0)*+(f[6876+(Da+-10<<2)>>2]|0);break}}xa=(Da|0)%9|0;if(!xa){La=0;Ma=0;Na=Da;Oa=Ka}else{D=(Da|0)>-1?xa:xa+9|0;xa=f[6876+(8-D<<2)>>2]|0;if(Ka){H=1e9/(xa|0)|0;G=0;F=0;o=0;w=Da;do{y=j+(o<<2)|0;z=f[y>>2]|0;ta=((z>>>0)/(xa>>>0)|0)+F|0;f[y>>2]=ta;F=X(H,(z>>>0)%(xa>>>0)|0)|0;z=(o|0)==(G|0)&(ta|0)==0;w=z?w+-9|0:w;G=z?G+1&127:G;o=o+1|0}while((o|0)!=(Ka|0));if(!F){Pa=G;Qa=w;Ra=Ka}else{f[j+(Ka<<2)>>2]=F;Pa=G;Qa=w;Ra=Ka+1|0}}else{Pa=0;Qa=Da;Ra=0}La=Pa;Ma=0;Na=9-D+Qa|0;Oa=Ra}d:while(1){o=(Na|0)<18;xa=(Na|0)==18;H=j+(La<<2)|0;wa=Ma;ya=Oa;while(1){if(!o){if(!xa){Sa=La;Ta=wa;Ua=Na;Va=ya;break d}if((f[H>>2]|0)>>>0>=9007199){Sa=La;Ta=wa;Ua=18;Va=ya;break d}}z=0;ta=ya+127|0;Wa=ya;while(1){y=ta&127;va=j+(y<<2)|0;sa=eo(f[va>>2]|0,0,29)|0;ua=go(sa|0,I|0,z|0,0)|0;sa=I;if(sa>>>0>0|(sa|0)==0&ua>>>0>1e9){za=Ip(ua|0,sa|0,1e9,0)|0;ra=qn(ua|0,sa|0,1e9,0)|0;Xa=ra;Ya=za}else{Xa=ua;Ya=0}f[va>>2]=Xa;va=(y|0)==(La|0);Wa=(Xa|0)==0&(((y|0)!=(Wa+127&127|0)|va)^1)?y:Wa;if(va)break;else{z=Ya;ta=y+-1|0}}wa=wa+-29|0;if(Ya|0)break;else ya=Wa}ya=La+127&127;H=Wa+127&127;xa=j+((Wa+126&127)<<2)|0;if((ya|0)==(Wa|0)){f[xa>>2]=f[xa>>2]|f[j+(H<<2)>>2];Za=H}else Za=Wa;f[j+(ya<<2)>>2]=Ya;La=ya;Ma=wa;Na=Na+9|0;Oa=Za}e:while(1){D=Va+1&127;w=j+((Va+127&127)<<2)|0;G=Sa;F=Ta;ya=Ua;while(1){H=(ya|0)==18;xa=(ya|0)>27?9:1;_a=G;$a=F;while(1){o=0;while(1){ta=o+_a&127;if((ta|0)==(Va|0)){ab=2;p=88;break}z=f[j+(ta<<2)>>2]|0;ta=f[6908+(o<<2)>>2]|0;if(z>>>0>>0){ab=2;p=88;break}if(z>>>0>ta>>>0)break;ta=o+1|0;if((ta|0)<2)o=ta;else{ab=ta;p=88;break}}if((p|0)==88?(p=0,H&(ab|0)==2):0){bb=0;cb=0.0;db=Va;break e}eb=xa+$a|0;if((_a|0)==(Va|0)){_a=Va;$a=eb}else break}H=(1<>>xa;fb=_a;gb=0;ta=_a;hb=ya;do{z=j+(ta<<2)|0;y=f[z>>2]|0;va=(y>>>xa)+gb|0;f[z>>2]=va;gb=X(y&H,o)|0;y=(ta|0)==(fb|0)&(va|0)==0;hb=y?hb+-9|0:hb;fb=y?fb+1&127:fb;ta=ta+1&127}while((ta|0)!=(Va|0));if(!gb){G=fb;F=eb;ya=hb;continue}if((D|0)!=(fb|0))break;f[w>>2]=f[w>>2]|1;G=fb;F=eb;ya=hb}f[j+(Va<<2)>>2]=gb;Sa=fb;Ta=eb;Ua=hb;Va=D}while(1){ya=bb+_a&127;F=db+1&127;if((ya|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;cb=cb*1.0e9+ +((f[j+(ya<<2)>>2]|0)>>>0);bb=bb+1|0;if((bb|0)==2)break;else db=ib}jb=+(e|0);kb=jb*cb;ya=$a+53|0;F=ya-d|0;G=(F|0)<(c|0);w=G?((F|0)>0?F:0):c;if((w|0)<53){lb=+Wq(+$j(1.0,105-w|0),kb);mb=+fr(kb,+$j(1.0,53-w|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}wa=_a+2&127;if((wa|0)!=(ib|0)){ta=f[j+(wa<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){qb=jb*.75+ob;break}if((_a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ta|0)==0?(_a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-w|0)>1?!(+fr(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((ya&2147483647|0)>(-2-k|0)){ta=!(+K(+jb)>=9007199254740992.0);wa=((ta^1)&1)+$a|0;kb=ta?jb:jb*.5;if((wa+50|0)<=(l|0)?!(rb!=0.0&(G&((w|0)!=(F|0)|ta))):0){sb=wa;tb=kb;break}ta=er()|0;f[ta>>2]=34;sb=wa;tb=kb}else{sb=$a;tb=jb}while(0);Aa=+Xq(tb,sb)}while(0);u=i;return +Aa}function ib(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Lo(c)|0;if((I|0)<0){q=1;r=16996;s=-c}else{q=(g&2049|0)!=0&1;r=(g&2048|0)==0?((g&1|0)==0?16997:17002):16999;s=c}Lo(s)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+Yq(s,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?r:r+9|0;z=q|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((b[y>>0]|0)==45){D=-(C+(-c-C));break}else{D=c+C-C;break}}else D=c;while(0);A=f[l>>2]|0;B=(A|0)<0?0-A|0:A;E=Sj(B,((B|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){B=o+11|0;b[B>>0]=48;F=B}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;B=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[17027+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(B&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;B=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+B|0;Sk(a,32,d,x,g);sp(a,y,z);Sk(a,48,d,x,g^65536);sp(a,m,G);Sk(a,48,B-G|0,0,0);sp(a,A,E);Sk(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=E;O=c*268435456.0}else{N=f[l>>2]|0;O=c}E=(N|0)<0?k:k+288|0;H=O;G=E;do{B=~~H>>>0;f[G>>2]=B;G=G+4|0;H=(H-+(B>>>0))*1.0e9}while(H!=0.0);if((N|0)>0){v=N;A=E;z=G;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=eo(f[J>>2]|0,0,y|0)|0;P=go(B|0,I|0,K|0,0)|0;B=I;Q=qn(P|0,B|0,1e9,0)|0;f[J>>2]=Q;K=Ip(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;f[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(f[B>>2]|0))J=B;else break}K=(f[l>>2]|0)-y|0;f[l>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{S=K;T=R;U=J;break}}}else{S=N;T=E;U=G}if((S|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;K=T;B=U;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0>>0){P=(1<>>Q;W=0;Y=K;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0>>0);Y=(f[K>>2]|0)==0?K+4|0:K;if(!W){_=Y;$=B}else{f[B>>2]=W;_=Y;$=B+4|0}}else{_=(f[K>>2]|0)==0?K+4|0:K;$=B}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(f[l>>2]|0)+Q|0;f[l>>2]=v;if((v|0)>=0){aa=_;ba=V;break}else{K=_;B=V}}}else{aa=T;ba=U}B=E;if(aa>>>0>>0){K=(B-aa>>2)*9|0;v=f[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=10;V=G;while(1){G=A*10|0;V=V+1|0;if((V|0)==9){da=G;break}else A=G}}else da=10;A=f[v>>2]|0;V=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(V|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(da|0)/2|0;H=V>>>0>>0?.5:w&(V|0)==(G|0)?1.0:1.5;if(!q){ea=C;fa=H}else{G=(b[r>>0]|0)==45;ea=G?-C:C;fa=G?-H:H}G=A-V|0;f[v>>2]=G;if(ea+fa!=ea){V=G+da|0;f[v>>2]=V;if(V>>>0>999999999){V=aa;G=v;while(1){A=G+-4|0;f[G>>2]=0;if(A>>>0>>0){w=V+-4|0;f[w>>2]=0;ga=w}else ga=V;w=(f[A>>2]|0)+1|0;f[A>>2]=w;if(w>>>0>999999999){V=ga;G=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}G=(B-ha>>2)*9|0;V=f[ha>>2]|0;if(V>>>0<10){ja=ha;ka=ia;la=G}else{A=G;G=10;while(1){G=G*10|0;w=A+1|0;if(V>>>0>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}G=A+-4|0;if(!(f[G>>2]|0))A=G;else{pa=1;break}}v=0-na|0;do if(z){G=((K^1)&1)+x|0;if((G|0)>(na|0)&(na|0)>-5){qa=G+-1-na|0;ra=i+-1|0}else{qa=G+-1|0;ra=i+-2|0}G=g&8;if(!G){if(pa?(V=f[A+-4>>2]|0,(V|0)!=0):0)if(!((V>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((V>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;V=(w|0)>0?w:0;ta=0;ua=(qa|0)<(V|0)?qa:V;va=ra;break}else{V=Y+na-sa|0;Y=(V|0)>0?V:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=G;ua=qa;va=ra}}else{ta=g&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=Sj(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-Y|0)<2){V=Y;while(1){w=V+-1|0;b[w>>0]=48;if((z-w|0)<2)V=w;else{ya=w;break}}}else ya=Y;b[ya+-1>>0]=(na>>31&2)+43;V=ya+-2|0;b[V>>0]=va;wa=V;xa=z-V|0}V=q+1+ua+B+xa|0;Sk(a,32,d,V,g);sp(a,r,q);Sk(a,48,d,V,g^65536);if(K){v=ma>>>0>E>>>0?E:ma;w=m+9|0;Q=w;W=m+8|0;P=v;do{J=Sj(f[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){b[W>>0]=48;za=W}else za=J;else if(J>>>0>m>>>0){pj(m|0,48,J-n|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=J;sp(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)sp(a,17043,1);if(P>>>0>>0&(ua|0)>0){E=P;Q=ua;while(1){W=Sj(f[E>>2]|0,0,w)|0;if(W>>>0>m>>>0){pj(m|0,48,W-n|0)|0;v=W;while(1){K=v+-1|0;if(K>>>0>m>>>0)v=K;else{Aa=K;break}}}else Aa=W;sp(a,Aa,(Q|0)<9?Q:9);E=E+4|0;v=Q+-9|0;if(!(E>>>0>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;Sk(a,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){E=m+9|0;w=(ta|0)==0;P=E;x=0-n|0;v=m+8|0;J=ma;K=ua;while(1){B=Sj(f[J>>2]|0,0,E)|0;if((B|0)==(E|0)){b[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;sp(a,Ca,1);if(w&(K|0)<1){Da=B;break}sp(a,17043,1);Da=B}else{if(Ca>>>0<=m>>>0){Da=Ca;break}pj(m|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>m>>>0)B=z;else{Da=z;break}}}while(0);W=P-Da|0;sp(a,Da,(K|0)>(W|0)?W:K);B=K-W|0;J=J+4|0;if(!(J>>>0>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;Sk(a,48,Ea+18|0,18,0);sp(a,wa,p-wa|0)}Sk(a,32,d,V,g^8192);M=V}else{K=(i&32|0)!=0;Q=q+3|0;Sk(a,32,d,Q,g&-65537);sp(a,r,q);sp(a,s!=s|0.0!=0.0?(K?18946:17023):K?17015:17019,3);Sk(a,32,d,Q,g^8192);M=Q}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function jb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){Ve(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ei(v);pr(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ei(v);pr(v)}}else f[d>>2]=0}else{$g(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ei(s);pr(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ei(s);pr(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;ai(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;ai((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;hh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;fg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xj(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;hh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;pr(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;fg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;Xj(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(we(a)|0)){w=0;u=c;return w|0}if(!(th(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Fe(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;aj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(ak(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=Vf(a,d,e)|0;dj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=-1;T=Z;U=W;break}S=f[V+(Y<<2)>>2]|0;T=Z;U=W}while(0);W=f[C>>2]|0;Y=W+(U>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(U&31);Y=W+(T>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(T&31);Y=W+(S>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(S&31);f[d>>2]=1;Y=f[B>>2]|0;if(Y>>>0<(f[J>>2]|0)>>>0){f[Y>>2]=1;f[B>>2]=Y+4}else Ti(A,d);Y=(f[t>>2]|0)+(O<<2)|0;f[Y>>2]=f[Y>>2]|P;Y=Q+1|0;if(R)_=-1;else _=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;f[d>>2]=_;W=f[H>>2]|0;if(W>>>0<(f[K>>2]|0)>>>0){f[W>>2]=_;f[H>>2]=W+4}else Ti(i,d);if(R)break;W=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;if((W|0)==-1)break;Y=f[(f[(f[s>>2]|0)+12>>2]|0)+(W<<2)>>2]|0;W=(Y|0)==-1;V=W?-1:(Y>>>0)/3|0;if(W)break;if(f[(f[t>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)break;f[l>>2]=Y;f[d>>2]=f[l>>2];if(!(fc(a,d)|0))break b}else{Y=Q+1|0;if(R)$=-1;else $=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;f[m>>2]=$;f[d>>2]=f[m>>2];Je(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(fc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Sd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,hh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];Hg(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}oh(v);F=a+232|0;hd(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(hd(E,F),(f[h>>2]|0)>1):0){E=1;do{hd((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}ai((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;ai(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(Yg(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Fe(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);pr(F)}w=ba;u=c;return w|0}function kb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=c;c=0;v=0;w=0;a:while(1){do if((c|0)>-1)if((v|0)>(2147483647-c|0)){x=er()|0;f[x>>2]=75;y=-1;break}else{y=v+c|0;break}else y=c;while(0);x=b[t>>0]|0;if(!(x<<24>>24)){z=87;break}else{A=x;B=t}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}x=B+1|0;f[j>>2]=x;A=b[x>>0]|0;B=x}c:do if((z|0)==9)while(1){z=0;if((b[C+1>>0]|0)!=37){E=C;F=D;break c}x=D+1|0;G=C+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=G;D=x;z=9}else{E=G;F=x;break}}while(0);x=F-t|0;if(o)sp(a,t,x);if(x|0){t=E;c=y;v=x;continue}x=E+1|0;G=(b[x>>0]|0)+-48|0;if(G>>>0<10){H=(b[E+2>>0]|0)==36;J=H?G:-1;K=H?1:w;L=H?E+3|0:x}else{J=-1;K=w;L=x}f[j>>2]=L;x=b[L>>0]|0;H=(x<<24>>24)+-32|0;d:do if(H>>>0<32){G=x;M=0;N=L;O=H;while(1){P=1<>2]=P;U=b[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{G=U;M=T;N=P}}}else{Q=x;R=L;S=0}while(0);if(Q<<24>>24==42){x=R+1|0;H=(b[x>>0]|0)+-48|0;if(H>>>0<10?(b[R+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=1;W=R+3|0;X=f[g+((b[x>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);N=f[H>>2]|0;f[e>>2]=H+4;V=0;W=x;X=N}else{V=0;W=x;X=0}}f[j>>2]=W;x=(X|0)<0;Z=W;_=x?S|8192:S;$=V;aa=x?0-X|0:X}else{x=Nl(j)|0;if((x|0)<0){Y=-1;break}Z=f[j>>2]|0;_=S;$=K;aa=x}do if((b[Z>>0]|0)==46){if((b[Z+1>>0]|0)!=42){f[j>>2]=Z+1;x=Nl(j)|0;ba=f[j>>2]|0;ca=x;break}x=Z+2|0;N=(b[x>>0]|0)+-48|0;if(N>>>0<10?(b[Z+3>>0]|0)==36:0){f[h+(N<<2)>>2]=10;N=f[g+((b[x>>0]|0)+-48<<3)>>2]|0;H=Z+4|0;f[j>>2]=H;ba=H;ca=N;break}if($|0){Y=-1;break a}if(o){N=(f[e>>2]|0)+(4-1)&~(4-1);H=f[N>>2]|0;f[e>>2]=N+4;da=H}else da=0;f[j>>2]=x;ba=x;ca=da}else{ba=Z;ca=-1}while(0);x=ba;H=0;while(1){if(((b[x>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=x+1|0;f[j>>2]=ea;fa=b[(b[x>>0]|0)+-65+(16515+(H*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){x=ea;H=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;G=f[M+4>>2]|0;O=k;f[O>>2]=f[M>>2];f[O+4>>2]=G;z=49;break}if(!o){Y=0;break a}Pe(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=ea;c=y;v=0;w=$;continue}N=b[x>>0]|0;G=(H|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(G|0){case 110:{switch((H&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=ea;c=y;v=0;w=$;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=ea;c=y;v=0;w=$;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}default:{t=ea;c=y;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=G;z=61;break}case 111:{M=k;P=f[M>>2]|0;T=f[M+4>>2]|0;M=Sl(P,T,q)|0;U=r-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=16979;z=67;break}case 105:case 100:{U=k;M=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=io(0,0,M|0,T|0)|0;P=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=P;sa=U;ta=P;ua=1;va=16979;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?16979:16981):16980;z=66;break e}break}case 117:{T=k;sa=f[T>>2]|0;ta=f[T+4>>2]|0;ua=0;va=16979;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=N;ya=1;za=0;Aa=16979;Ba=q;break}case 109:{T=er()|0;Ca=zp(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:16989;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=m;Ea=-1;z=75;break}case 83:{T=f[k>>2]|0;if(!ca){Sk(a,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=ea;c=y;v=ib(a,+p[k>>3],aa,ca,O,G)|0;w=$;continue a;break}default:{wa=t;xa=O;ya=ca;za=0;Aa=16979;Ba=q}}while(0);f:do if((z|0)==61){z=0;G=k;H=f[G>>2]|0;x=f[G+4>>2]|0;G=yl(H,x,q,ja&32)|0;T=(ha&8|0)==0|(H|0)==0&(x|0)==0;ka=H;la=x;ma=G;na=ha;oa=ia;pa=T?0:2;qa=T?16979:16979+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=Sj(sa,ta,q)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=sg(Ca,0,ca)|0;G=(T|0)==0;wa=Ca;xa=N;ya=G?ca:T-Ca|0;za=0;Aa=16979;Ba=G?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;G=0;x=Da;while(1){H=f[x>>2]|0;if(!H){Ga=T;Ha=G;break}M=kp(n,H)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}H=M+T|0;if(Ea>>>0>H>>>0){T=H;G=M;x=x+4|0}else{Ga=H;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}Sk(a,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{x=0;G=Da;while(1){T=f[G>>2]|0;if(!T){Fa=Ga;z=84;break f}M=kp(n,T)|0;x=M+x|0;if((x|0)>(Ga|0)){Fa=Ga;z=84;break f}sp(a,n,M);if(x>>>0>=Ga>>>0){Fa=Ga;z=84;break}else G=G+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;G=(oa|0)!=0|N;x=((N^1)&1)+(r-ma)|0;wa=G?ma:q;xa=(oa|0)>-1?na&-65537:na;ya=G?((oa|0)>(x|0)?oa:x):oa;za=pa;Aa=qa;Ba=q}else if((z|0)==84){z=0;Sk(a,32,aa,Fa,O^8192);t=ea;c=y;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}x=Ba-wa|0;G=(ya|0)<(x|0)?x:ya;N=G+za|0;M=(aa|0)<(N|0)?N:aa;Sk(a,32,M,N,xa);sp(a,Aa,za);Sk(a,48,M,N,xa^65536);Sk(a,48,G,x,0);sp(a,wa,x);Sk(a,32,M,N,xa^8192);t=ea;c=y;v=M;w=$}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{$=1;while(1){v=f[h+($<<2)>>2]|0;if(!v){Ia=$;break}Pe(g+($<<3)|0,v,e);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function lb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){Ve(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ei(v);pr(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ei(v);pr(v)}}else f[d>>2]=0}else{$g(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ei(s);pr(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ei(s);pr(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;Zd(t,a)|0;v=f[s>>2]|0;x=a+4|0;ai(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;ai((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;hh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;fg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xj(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;hh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;pr(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;fg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;Xj(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(we(a)|0)){w=0;u=c;return w|0}if(!(rh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Fe(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;aj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(ak(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=Vf(a,d,e)|0;dj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ti(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ti(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(Xb(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Je(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(Xb(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Sd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,hh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];Hg(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}mi(t);ai(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;ai(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(Yg(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Fe(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);pr(t)}w=aa;u=c;return w|0}function mb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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=Ja,ma=Ja,na=Ja,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Eh(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)Cq(e);else{o=k<<2;p=tn(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;pj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(B<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(t<<2)>>2]|0;else D=t;C=D+239^A;B=B+1|0;if((B|0)>=(x|0)){E=C;break}else A=C}}else E=0;A=f[q>>2]|0;x=(A|0)==0;a:do if(!x){B=A+-1|0;C=(B&A|0)==0;if(!C)if(E>>>0>>0)F=E;else F=(E>>>0)%(A>>>0)|0;else F=B&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&B|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(t<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=t;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0>>0)X=L;else X=(L>>>0)%(A>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(t<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=t;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(t<<2)>>2]=f[Q+12>>2];_=v}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){B=f[z+(H<<2)>>2]|0;if(!(b[B+84>>0]|0))aa=f[(f[B+68>>2]|0)+(t<<2)>>2]|0;else aa=t;B=aa+239^I;H=H+1|0;if((H|0)>=(J|0)){ba=B;break}else I=B}}else ba=0;e:do if(!x){I=A+-1|0;J=(I&A|0)==0;if(!J)if(ba>>>0>>0)ca=ba;else ca=(ba>>>0)%(A>>>0)|0;else ca=I&ba;H=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((H|0)!=0?(B=f[H>>2]|0,(B|0)!=0):0){H=f[s>>2]|0;C=H+8|0;G=H+12|0;if(J){J=B;while(1){H=f[J+4>>2]|0;if(!((H|0)==(ba|0)|(H&I|0)==(ca|0))){da=ca;M=76;break e}H=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=t;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(t<<2)>>2]|0;ga=f[P+(H<<2)>>2]|0}else{fa=t;ga=H}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=t;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=B;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0>>0)ia=J;else ia=(J>>>0)%(A>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;I=f[C>>2]|0;L=(f[G>>2]|0)-I|0;O=I;if((L|0)<=0){ea=t;break e}I=L>>>2;L=0;while(1){H=f[O+(L<<2)>>2]|0;if(!(b[H+84>>0]|0)){K=f[H+68>>2]|0;ja=f[K+(t<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=t;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(I|0)){ea=t;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=tn(16)|0;f[G+8>>2]=t;f[G+12>>2]=v;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(A>>>0);na=$(n[l>>2]);do if(x|la>$(ma*na)){C=(A>>>0<3|(A+-1&A|0)!=0)&1|A<<1;B=~~$(W($(la/na)))>>>0;Eh(d,C>>>0>>0?B:C);C=f[q>>2]|0;B=C+-1|0;if(!(B&C)){oa=C;pa=B&ba;break}if(ba>>>0>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=A;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;B=f[C>>2]|0;if(!B){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){I=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(I>>>0>>0)qa=I;else qa=(I>>>0)%(oa>>>0)|0;else qa=I&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[B>>2];ra=B;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}B=v+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=v;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ti(g,h);_=B;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=B;break}}while(0);t=(f[h>>2]|0)+1|0;f[h>>2]=t;sa=f[j>>2]|0;if(t>>>0>=sa>>>0)break;else v=_}if((_|0)!=(sa|0)){Sa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);pr(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);pr(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;pr(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}pr(e);u=c;return}function nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)Cq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)Cq(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];qb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=io(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=io(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=io(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=go(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=go(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=io(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=io(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=io(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=go(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=go(Q|0,E|0,J|0,I|0)|0;J=I;E=io(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=io(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=En(N|0,L|0,p|0,q|0)|0;q=I;p=En(N|0,L|0,n|0,o|0)|0;o=I;n=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=go(n|0,S|0,R|0,q|0)|0;q=I;R=go(T|0,U|0,p|0,o|0)|0;o=I;p=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Jk(p|0,w|0,N|0,L|0)|0;w=I;p=Jk(s|0,C|0,N|0,L|0)|0;C=I;s=Jk(D|0,G|0,N|0,L|0)|0;G=I;D=io(O|0,B|0,H|0,w|0)|0;w=I;H=io(M|0,F|0,p|0,C|0)|0;C=I;p=io(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=go(D|0,I|0,s|0,w|0)|0;w=I;s=En(p|0,G|0,p|0,G|0)|0;G=go(C|0,w|0,s|0,I|0)|0;s=I;w=io(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=eo(Y|0,Z|0,1)|0;C=I;p=_;_=jo(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=Ip(E|0,s|0,ba|0,ca|0)|0;G=go(C|0,I|0,ba|0,ca|0)|0;C=jo(G|0,I|0,1)|0;G=I;p=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;p=go(E|0,s|0,V|0,q|0)|0;D=I;H=go(G|0,C|0,R|0,o|0)|0;K=I;x=Jk(p|0,D|0,N|0,L|0)|0;D=I;p=Jk(H|0,K|0,N|0,L|0)|0;K=I;H=io(V|0,q|0,E|0,s|0)|0;s=I;E=io(R|0,o|0,G|0,C|0)|0;C=I;G=Jk(H|0,s|0,N|0,L|0)|0;s=I;H=Jk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=io(F|0,M|0,x|0,D|0)|0;J=I;P=io(B|0,E|0,p|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=go(O|0,I|0,T|0,J|0)|0;J=I;T=io(F|0,M|0,G|0,s|0)|0;M=I;F=io(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=go(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)Cq(B);else{E=O<<6;U=F+32&-32;si(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)Cq(B);else{L=O<<6;N=F+32&-32;si(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function ob(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=o;q=n+2|0;break}else{p=o;q=n+-1|0;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(p<<2)>>2]|0;p=f[n+(q<<2)>>2]|0;q=f[a+36>>2]|0;n=f[q>>2]|0;c=(f[q+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)Cq(q);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=p>>>0)Cq(q);q=f[o+(p<<2)>>2]|0;p=(n|0)<(e|0);do if(p&(q|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=q<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];qb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=io(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=io(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=io(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=go(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=go(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=io(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=io(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=io(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=go(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=go(Q|0,E|0,J|0,I|0)|0;J=I;E=io(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=io(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=En(N|0,L|0,c|0,m|0)|0;m=I;c=En(N|0,L|0,r|0,o|0)|0;o=I;r=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=go(r|0,S|0,R|0,m|0)|0;m=I;R=go(T|0,U|0,c|0,o|0)|0;o=I;c=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Jk(c|0,w|0,N|0,L|0)|0;w=I;c=Jk(s|0,C|0,N|0,L|0)|0;C=I;s=Jk(D|0,G|0,N|0,L|0)|0;G=I;D=io(O|0,B|0,H|0,w|0)|0;w=I;H=io(M|0,F|0,c|0,C|0)|0;C=I;c=io(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=go(D|0,I|0,s|0,w|0)|0;w=I;s=En(c|0,G|0,c|0,G|0)|0;G=go(C|0,w|0,s|0,I|0)|0;s=I;w=io(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=eo(Y|0,Z|0,1)|0;C=I;c=_;_=jo(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=Ip(E|0,s|0,ba|0,ca|0)|0;G=go(C|0,I|0,ba|0,ca|0)|0;C=jo(G|0,I|0,1)|0;G=I;c=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;c=go(E|0,s|0,V|0,m|0)|0;D=I;H=go(G|0,C|0,R|0,o|0)|0;K=I;x=Jk(c|0,D|0,N|0,L|0)|0;D=I;c=Jk(H|0,K|0,N|0,L|0)|0;K=I;H=io(V|0,m|0,E|0,s|0)|0;s=I;E=io(R|0,o|0,G|0,C|0)|0;C=I;G=Jk(H|0,s|0,N|0,L|0)|0;s=I;H=Jk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=io(F|0,M|0,x|0,D|0)|0;J=I;P=io(B|0,E|0,c|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=go(O|0,I|0,T|0,J|0)|0;J=I;T=io(F|0,M|0,G|0,s|0)|0;M=I;F=io(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=go(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)Cq(B);else{E=O<<6;U=F+32&-32;si(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)Cq(B);else{L=O<<6;N=F+32&-32;si(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(p)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(k|0)!=(j|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else zh(h,b-l|0,6296);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)Cq(d);k=((b+-1|0)>>>5)+1|0;m=tn(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;pj(m|0,0,k<<2|0)|0;n=b-(k<<5)|0;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)Cq(e);v=((o+-1|0)>>>5)+1|0;w=tn(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;pj(w|0,0,v<<2|0)|0;x=o-(v<<5)|0;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=k;B=q;C=r;D=0;E=b;a:while(1){F=A;G=D*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=C;J=B;F=0;I=E;while(1){M=F+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[H+(N>>>5<<2)>>2]&1<<(N&31))){O=N;P=0;Q=I}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Ti(h,6296);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ti(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=52;break a}T=R<<6;R=N+32&-32;si(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=I;O=I;P=1;Q=I+1|0}N=f[d>>2]|0;T=N+(O>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(O&31);T=N;b:do if(P){R=M;while(1){if((R|0)==-1){S=66;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=66;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==66){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!P){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=T;aa=N;ba=Q}else{$=J;aa=H;ba=I}F=F+1|0;if((F|0)>=3){ca=$;da=aa;ea=ba;break}else{H=aa;J=$;I=ba}}}else{ca=B;da=C;ea=E}}else{ca=B;da=C;ea=E}D=D+1|0;A=f[a>>2]|0;if(D>>>0>=(((f[m>>2]|0)-A>>2>>>0)/3|0)>>>0){S=18;break}else{B=ca;C=da;E=ea}}if((S|0)==18){fa=ca;ga=f[l>>2]|0;break}else if((S|0)==52)Cq(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0){if(!S){l=a;ca=0;ea=ga;while(1){e:do if(ea){da=ca;m=0;while(1){if(!(f[l>>2]&1<>2]=ba;ha=ba}else ha=da;if((m|0)==31){ia=ha;break}else{da=ha;m=m+1|0}}}else{m=ca;da=0;while(1){if(!(f[l>>2]&1<>2]=N;ja=N}else ja=m;if((da|0)==31){ia=ja;break e}da=da+1|0;if(!da)break d;else m=ja}}while(0);l=l+4|0;if((l|0)==(q|0))break d;else{ca=ia;ea=1}}}if(ga){ea=a;ca=0;l=0;while(1){m=l;da=ca;N=0;while(1){if(!(f[ea>>2]&1<>2]=T;ka=T;la=T}else{ka=da;la=m}if((N|0)==31)break;else{m=la;da=ka;N=N+1|0}}N=ea+4|0;if((N|0)==(q|0)){ma=N;na=ka;break}else{ea=N;ca=ka;l=la}}}else{ma=a;na=0}l=na;ca=0;while(1){if(!(f[ma>>2]&1<>2]=ea;oa=ea}else oa=l;ca=ca+1|0;if((ca|0)==(S|0))break;else l=oa}}while(0);oa=f[e>>2]|0;if(oa|0)pr(oa);oa=f[d>>2]|0;if(!oa){u=c;return 1}pr(oa);u=c;return 1}function qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){r=b[q>>0]|0;m=g+(o<<3)|0;f[m>>2]=r;f[m+4>>2]=((r|0)<0)<<31>>31;o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){t=g+(r<<3)|0;f[t>>2]=h[m>>0];f[t+4>>2]=0;r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){k=d[t>>1]|0;q=g+(l<<3)|0;f[q>>2]=k;f[q+4>>2]=((k|0)<0)<<31>>31;l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){q=g+(o<<3)|0;f[q>>2]=j[k>>1];f[q+4>>2]=0;o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){m=f[q>>2]|0;t=g+(r<<3)|0;f[t>>2]=m;f[t+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){t=g+(l<<3)|0;f[t>>2]=f[m>>2];f[t+4>>2]=0;l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){k=t;q=f[k+4>>2]|0;z=g+(o<<3)|0;f[z>>2]=f[k>>2];f[z+4>>2]=q;o=o+1|0;q=b[m>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else t=t+8|0}}else A=l;t=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;z=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=m+z|0;while(1){z=q;m=f[z+4>>2]|0;k=g+(r<<3)|0;f[k>>2]=f[z>>2];f[k+4>>2]=m;r=r+1|0;m=b[t>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+8|0}}else B=o;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 9:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=t+k|0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;t=g+(l<<3)|0;f[t>>2]=~~+C>>>0;f[t+4>>2]=k;l=l+1|0;k=b[q>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=r;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=q+t|0;while(1){E=+p[k>>3];t=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;q=g+(o<<3)|0;f[q>>2]=~~E>>>0;f[q+4>>2]=t;o=o+1|0;t=b[m>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){F=t;break}else k=k+8|0}}else F=l;k=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=m+q|0;while(1){q=g+(r<<3)|0;f[q>>2]=h[t>>0];f[q+4>>2]=0;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){G=q;break}else t=t+1|0}}else G=o;t=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ti(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=-1;n=l}else{m=f[(f[h>>2]|0)+(k<<2)>>2]|0;n=l}}else{m=-1;n=-1}l=a+24|0;k=f[l>>2]|0;h=k+(n>>>5<<2)|0;g=1<<(n&31);j=f[h>>2]|0;if(!(j&g)){f[h>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;h=f[o>>2]|0;if((h|0)==(f[g+8>>2]|0))Ti(g,d);else{f[h>>2]=j;f[o>>2]=h+4}h=a+40|0;o=f[h>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Ti(o,e);p=f[h>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(n<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[l>>2]|0}else q=k;k=q+(m>>>5<<2)|0;q=1<<(m&31);o=f[k>>2]|0;if(!(o&q)){f[k>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;k=f[r>>2]|0;if((k|0)==(f[o+8>>2]|0))Ti(o,d);else{f[k>>2]=q;f[r>>2]=k+4}k=a+40|0;r=f[k>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Ti(r,e);s=f[k>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(m<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[l>>2]|0)+(t>>>5<<2)|0;m=1<<(t&31);s=f[r>>2]|0;if(!(m&s)){f[r>>2]=s|m;m=f[i>>2]|0;f[e>>2]=m;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[a+48>>2]|0;f[d>>2]=s;r=f[m+4>>2]|0;m=r+4|0;o=f[m>>2]|0;if((o|0)==(f[r+8>>2]|0))Ti(r,d);else{f[o>>2]=s;f[m>>2]=o+4}o=a+40|0;m=f[o>>2]|0;s=m+4|0;r=f[s>>2]|0;if((r|0)==(f[m+8>>2]|0)){Ti(m,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=m}m=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1}m=f[b>>2]|0;a:do if((m|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=m;while(1){k=q;while(1){w=a+52+(k*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(k*12|0)>>2]|0)!=(x|0))break;n=k+1|0;if((n|0)<3)k=n;else break a}n=x+-4|0;p=f[n>>2]|0;f[w>>2]=n;f[b>>2]=k;f[i>>2]=p;if((p|0)==-1)break;n=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(n>>>5<<2)>>2]&1<<(n&31))){j=p;h=g;b:while(1){y=(j>>>0)/3|0;z=h+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[l>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Ti(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[l>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Ti(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[l>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;h=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;h=a+52+(O*12|0)+4|0;j=f[h>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Ti(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[h>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=k;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=go(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2])>>>0;f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3]>>>0;o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}tb(h,W,c);g=W+4|0}if((l|0)==82){l=0;tb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}ub(h,W,c);g=W+4|0}if((l|0)==82){l=0;ub(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}vb(h,W,c);g=W+4|0}if((l|0)==82){l=0;vb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}wb(h,W,c);g=W+4|0}if((l|0)==82){l=0;wb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}xb(h,W,c);g=W+4|0}if((l|0)==82){l=0;xb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}} +function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}yb(h,W,c);g=W+4|0}if((l|0)==82){l=0;yb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}zb(h,W,c);g=W+4|0}if((l|0)==82){l=0;zb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Ab(h,W,c);g=W+4|0}if((l|0)==82){l=0;Ab(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Bb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Bb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Cb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Cb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Db(h,W,c);g=W+4|0}if((l|0)==82){l=0;Db(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Eb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Eb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Fb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Fb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Gb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Gb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Hb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Hb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Ib(h,W,c);g=W+4|0}if((l|0)==82){l=0;Ib(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Jb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Jb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Kb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Kb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=go(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2]);f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3];o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=Ja,J=0,K=0,L=0,M=0,N=Ja;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(yh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=tn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14756;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Hh(o,g)|0)!=0):0)y=Ik(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Ik(c,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=tn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14829;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Hh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=tn(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14849;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Hh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if(!C){Qd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)Cq(i);else{D=B<<2;c=tn(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;pj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=tn(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14829;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Hh(o,j)|0)!=0):0){t=Og(o,j)|0;if((t|0)!=(G+24|0)){nj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(Lq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)pr(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Og(B,j)|0,(H|0)!=(B+4|0)):0){nj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(Lq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)pr(f[g>>2]|0)}if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=tn(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14849;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Hh(d,g)|0)!=0):0)N=$(vk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(vk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);Hl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);pr(C)}k=1;u=e;return k|0}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=m;r=p;s=g+2|0;break}else{q=m;r=p;s=g+-1|0;break}}else{p=f[n+28>>2]|0;q=p;r=f[p+-4>>2]|0;s=-1}while(0);n=f[q+(s<<2)>>2]|0;if((r|0)==-1|(n|0)==-1){h=0;u=c;return h|0}s=a+24|0;q=f[s>>2]|0;g=q+(r>>>5<<2)|0;k=1<<(r&31);p=f[g>>2]|0;if(!(p&k)){f[g>>2]=p|k;k=f[b>>2]|0;p=k+1|0;if((k|0)==-1)t=-1;else t=((p>>>0)%3|0|0)==0?k+-2|0:p;f[e>>2]=t;p=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=p;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Ti(k,d);else{f[g>>2]=p;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;p=t+4|0;k=f[p>>2]|0;if((k|0)==(f[t+8>>2]|0)){Ti(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(r<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[s>>2]|0}else w=q;q=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[q>>2]|0;if(!(t&w)){f[q>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;q=f[x>>2]|0;if((q|0)==(f[t+8>>2]|0))Ti(t,d);else{f[q>>2]=w;f[x>>2]=q+4}q=a+40|0;x=f[q>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Ti(x,e);y=f[q>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;q=x;x=n;a:while(1){n=f[x+-4>>2]|0;f[b>>2]=n;r=(n>>>0)/3|0;if((n|0)!=-1?(n=(f[j>>2]|0)+(r>>>5<<2)|0,v=1<<(r&31),r=f[n>>2]|0,(r&v|0)==0):0){f[n>>2]=r|v;v=f[a>>2]|0;r=f[b>>2]|0;n=f[(f[v+28>>2]|0)+(r<<2)>>2]|0;if((n|0)==-1){h=0;z=79;break}else{A=r;B=v;C=n}b:while(1){n=(f[s>>2]|0)+(C>>>5<<2)|0;v=1<<(C&31);r=f[n>>2]|0;do if(!(r&v)){k=f[(f[B+40>>2]|0)+(C<<2)>>2]|0;if((k|0)==-1)D=1;else{p=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(p&31)&f[(f[B+12>>2]|0)+(p>>>5<<2)>>2]|0)!=0}f[n>>2]=r|v;p=f[b>>2]|0;f[e>>2]=p;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]|0;p=f[t>>2]|0;f[d>>2]=k;g=f[p+4>>2]|0;p=g+4|0;m=f[p>>2]|0;if((m|0)==(f[g+8>>2]|0))Ti(g,d);else{f[m>>2]=k;f[p>>2]=m+4}m=f[w>>2]|0;p=m+4|0;k=f[p>>2]|0;if((k|0)==(f[m+8>>2]|0)){Ti(m,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;E=m}m=E+24|0;f[(f[E+12>>2]|0)+(C<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1;m=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=m;z=59;break}p=k+1|0;do if((k|0)==-1)H=-1;else{g=((p>>>0)%3|0|0)==0?k+-2|0:p;if((g|0)==-1){H=-1;break}if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[m+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=m;J=(H>>>0)/3|0}else{F=A;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=63;break}r=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((r|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((r|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);r=(K|0)==-1;v=(K>>>0)/3|0;n=r?-1:v;p=(L|0)==-1;k=(L>>>0)/3|0;g=p?-1:k;do if(!r){M=f[j>>2]|0;if(f[M+(n>>>5<<2)>>2]&1<<(n&31)|0){z=69;break}if(p){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(p){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=G;J=O}v=(f[j>>2]|0)+(J>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(J&31);A=f[b>>2]|0;C=f[(f[I+28>>2]|0)+(A<<2)>>2]|0;if((C|0)==-1){h=0;z=79;break a}else B=I}do if((z|0)==63){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Ti(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];n=v+4|0;f[l>>2]=n;P=n;break}}while(0);if((z|0)==71){z=0;n=(f[l>>2]|0)+-4|0;f[l>>2]=n;P=n}Q=f[i>>2]|0;R=P}else{n=x+-4|0;f[l>>2]=n;Q=q;R=n}if((Q|0)==(R|0)){h=1;z=79;break}else{q=Q;x=R}}if((z|0)==79){u=c;return h|0}return 0}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ja,V=Ja,Y=Ja,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=t+(w+4)|0;z=s;A=r-w|0}else{y=t;z=v;A=v}switch(A|0){case 3:{B=h[y+2>>0]<<16^z;C=8;break}case 2:{B=z;C=8;break}case 1:{D=z;C=9;break}default:E=z}if((C|0)==8){C=0;D=h[y+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(h[y>>0]^D,1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(Yk(K,t,v)|0))break b;else break;if((K&255)<<24>>24==(b[t>>0]|0)){K=O;P=G;Q=t;do{K=K+-1|0;P=P+1|0;if(!K)break b;Q=Q+1|0}while((b[P>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){G=f[F+4>>2]|0;if((G|0)!=(r|0)){if(G>>>0>>0)R=G;else R=(G>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}G=b[F+8+11>>0]|0;if(!((G<<24>>24<0?f[F+12>>2]|0:G&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;G=I<<24>>24<0;O=I&255;do if(((G?f[S+12>>2]|0:O)|0)==(v|0)){I=f[F>>2]|0;if(G)if(!(Yk(I,t,v)|0))break b;else break;if((I&255)<<24>>24==(b[t>>0]|0)){I=O;N=F;Q=t;do{I=I+-1|0;N=N+1|0;if(!I)break b;Q=Q+1|0}while((b[N>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Jh(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|U>$(V*Y)){t=(w>>>0<3|(w+-1&w|0)!=0)&1|w<<1;v=~~$(W($(U/Y)))>>>0;ci(a,t>>>0>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=tn(40)|0;Ob(c,f[e+20>>2]|0);aa=zc(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;oi(c+8|0);pr(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)pr(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;pr(Z)}if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);pr(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)pr(aa);pr(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Ti(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Ti(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Ti(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Ti(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Ti(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=D;J=(H>>>0)/3|0}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=G;J=N}t=(f[j>>2]|0)+(J>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(J&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=I}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Ti(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Qb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=E;G=E&65535;F=E>>>16;H=F&65535;J=(E&65535^318)+239^F;F=(z|0)==0;a:do if(!F){K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(z>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(z>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[A+(r<<2)>>2]=f[T+12>>2];V=e;X=C;Y=B;Z=A;_=D;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(z>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(z>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=tn(16)|0;G=H+8|0;d[G>>1]=E;d[G+2>>1]=E>>>16;f[H+12>>2]=D;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(z>>>0);ga=$(n[l>>2]);do if(F|ea>$(fa*ga)){G=(z>>>0<3|(z+-1&z|0)!=0)&1|z<<1;O=~~$(W($(ea/ga)))>>>0;Th(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=z;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){E=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(E>>>0>>0)ja=E;else ja=(E>>>0)%(ha>>>0)|0;else ja=E&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;E=En(J|0,f[F+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+E|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(r<<2)>>2]=D;V=J;X=J;Y=J;Z=J;_=D+1|0}J=r+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=f[o>>2]|0;A=Z;B=Y;C=X;r=J;D=_}if((_|0)==(la|0))ma=Y;else{Y=a+84|0;if(!(b[Y>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=V;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[X+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=V}}else{b[Y>>0]=0;Y=a+68|0;V=a+72|0;B=f[V>>2]|0;r=f[Y>>2]|0;X=B-r>>2;C=r;r=B;if(la>>>0<=X>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[V>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(Y,la-X|0,1284);oa=f[m>>2]|0}X=f[k>>2]|0;if(!oa)na=X;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=X}}f[m>>2]=_;ma=na}if(!ma)pa=_;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=_}}else pa=0;_=f[i+8>>2]|0;if(_|0){ma=_;do{_=ma;ma=f[ma>>2]|0;pr(_)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=La[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(z|0)!=(o|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{zh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,x,e);x=tn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;hh(h+8|0,E,e);Qa[f[(f[h>>2]|0)+8>>2]&127](h);xf(j,h);xf(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;dg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)pr(s);s=f[e+8>>2]|0;if(s|0)pr(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)pr(s);s=f[j+8>>2]|0;if(s|0)pr(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];dg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;mg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);pr(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)pr(E);E=f[i+12>>2]|0;if(E|0)pr(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)pr(E);E=f[h+8>>2]|0;if(E|0)pr(E);M=s;N=0;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ki(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){O=31;break}af(e,a,P);Q=f[e>>2]|0;R=1}else O=31;while(0);if((O|0)==31){Pd(e,a,P);Q=f[e>>2]|0;R=0}if(!Q)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=N;N=tn(76)|0;f[k>>2]=M;vl(N,k,c);c=N;N=f[k>>2]|0;f[k>>2]=0;if(N|0)Qa[f[(f[N>>2]|0)+4>>2]&127](N);N=a+188|0;k=f[N>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[N>>2]=k+4}k=La[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;N=f[a>>2]|0;if(N>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[N>>2]=c;f[a>>2]=N+4;U=l}else{Ng(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Qa[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=La[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(z|0)!=(o|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{zh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,x,e);x=tn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;hh(h+8|0,E,e);Qa[f[(f[h>>2]|0)+8>>2]&127](h);xf(j,h);xf(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;dg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)pr(s);s=f[e+8>>2]|0;if(s|0)pr(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)pr(s);s=f[j+8>>2]|0;if(s|0)pr(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];dg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;mg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);pr(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)pr(E);E=f[i+12>>2]|0;if(E|0)pr(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)pr(E);E=f[h+8>>2]|0;if(E|0)pr(E);M=s;N=0;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ki(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){O=31;break}af(e,a,P);Q=f[e>>2]|0;R=1}else O=31;while(0);if((O|0)==31){Pd(e,a,P);Q=f[e>>2]|0;R=0}if(!Q)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=N;N=tn(76)|0;f[k>>2]=M;vl(N,k,c);c=N;N=f[k>>2]|0;f[k>>2]=0;if(N|0)Qa[f[(f[N>>2]|0)+4>>2]&127](N);N=a+188|0;k=f[N>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[N>>2]=k+4}k=La[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;N=f[a>>2]|0;if(N>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[N>>2]=c;f[a>>2]=N+4;U=l}else{Ng(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Qa[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Ja,da=Ja,ea=Ja,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=q;z=q;A=0;B=q;q=0;C=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(x+q|0,0,f[D>>2]|0,f[D+4>>2]|0)|0;D=go(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(A|0)==0;a:do if(!G){H=A+-1|0;J=(H&A|0)==0;if(!J)if(D>>>0>>0)K=D;else K=(D>>>0)%(A>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0>>0)S=P;else S=(P>>>0)%(A>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[B+(q<<2)>>2]=f[R+16>>2];T=d;U=y;V=B;X=z;Y=C;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=A+-1|0;J=(H&A|0)==0;if(!J)if(D>>>0>>0)_=D;else _=(D>>>0)%(A>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0>>0)ba=J;else ba=(J>>>0)%(A>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=tn(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=C;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(A>>>0);ea=$(n[k>>2]);do if(G|ca>$(da*ea)){J=(A>>>0<3|(A+-1&A|0)!=0)&1|A<<1;H=~~$(W($(ca/ea)))>>>0;Xh(g,J>>>0>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=A;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=En(D|0,f[G+4>>2]|0,C|0,0)|0;eh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(q<<2)>>2]=C;T=D;U=D;V=D;X=D;Y=C+1|0}D=q+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=U;z=X;A=f[m>>2]|0;B=V;q=D;C=Y}if((Y|0)==(ja|0))ka=U;else{U=a+84|0;if(!(b[U>>0]|0)){C=f[a+72>>2]|0;q=f[a+68>>2]|0;V=q;if((C|0)==(q|0))la=T;else{B=C-q>>2;q=0;do{C=V+(q<<2)|0;f[C>>2]=f[X+(f[C>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);la=T}}else{b[U>>0]=0;U=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[U>>2]|0;X=B-q>>2;V=q;q=B;if(ja>>>0<=X>>>0)if(ja>>>0>>0?(B=V+(ja<<2)|0,(q|0)!=(B|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{zh(U,ja-X|0,1284);ma=f[l>>2]|0}X=f[j>>2]|0;if(!ma)la=X;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=X}}f[l>>2]=Y;ka=la}if(!ka)na=Y;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);pr(ka);na=Y}}else na=0;Y=f[g+8>>2]|0;if(Y|0){ka=Y;do{Y=ka;ka=f[ka>>2]|0;pr(Y)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}pr(ka);u=e;return na|0}function Ub(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=E;G=E&255;F=(E&65535)>>>8;H=F&255;J=((E&255^318)+239<<16>>16^F)&65535;F=(z|0)==0;a:do if(!F){K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(z>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(z>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[A+(r<<2)>>2]=f[T+12>>2];V=e;X=C;Y=B;Z=A;_=D;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(z>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(z>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=tn(16)|0;G=H+8|0;b[G>>0]=E;b[G+1>>0]=E>>8;f[H+12>>2]=D;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(z>>>0);ga=$(n[l>>2]);do if(F|ea>$(fa*ga)){G=(z>>>0<3|(z+-1&z|0)!=0)&1|z<<1;O=~~$(W($(ea/ga)))>>>0;_h(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=z;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){E=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(E>>>0>>0)ja=E;else ja=(E>>>0)%(ha>>>0)|0;else ja=E&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;E=En(J|0,f[F+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+E|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(r<<2)>>2]=D;V=J;X=J;Y=J;Z=J;_=D+1|0}J=r+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=f[o>>2]|0;A=Z;B=Y;C=X;r=J;D=_}if((_|0)==(la|0))ma=Y;else{Y=a+84|0;if(!(b[Y>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=V;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[X+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=V}}else{b[Y>>0]=0;Y=a+68|0;V=a+72|0;B=f[V>>2]|0;r=f[Y>>2]|0;X=B-r>>2;C=r;r=B;if(la>>>0<=X>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[V>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(Y,la-X|0,1284);oa=f[m>>2]|0}X=f[k>>2]|0;if(!oa)na=X;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=X}}f[m>>2]=_;ma=na}if(!ma)pa=_;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=_}}else pa=0;_=f[i+8>>2]|0;if(_|0){ma=_;do{_=ma;ma=f[ma>>2]|0;pr(_)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function Vb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;gl(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];ec(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[t>>2]|0;if((p|0)==0&(P|0)==0){Q=h;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,p|0,P|0)|0;f[h>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=s;R=N?P:0-P|0}f[Q>>2]=R;P=f[h>>2]|0;N=f[q>>2]|0;M=f[s>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;p=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|p&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(p){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);f[i>>2]=Y;f[v>>2]=Z;p=0-N|0;H=0-M|0;f[h>>2]=0-P;f[q>>2]=p;f[s>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?p:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(p=(T|0)==($|0),X=(T|0)==(_|0),!(H&p|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(p&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);f[j>>2]=aa;f[x>>2]=ba;T=L<<1;O=b+(T<<2)|0;S=f[y>>2]|0;if((S|0)>0){H=S;S=0;M=i;while(1){if((H|0)>0){N=0;do{P=f[M+(N<<2)>>2]|0;p=f[z>>2]|0;if((P|0)>(p|0)){X=f[A>>2]|0;f[X+(N<<2)>>2]=p;ca=X}else{X=f[B>>2]|0;p=f[A>>2]|0;f[p+(N<<2)>>2]=(P|0)<(X|0)?X:P;ca=p}N=N+1|0;p=f[y>>2]|0}while((N|0)<(p|0));da=ca;ea=p}else{da=f[A>>2]|0;ea=H}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;p=k+(S<<2)|0;f[p>>2]=N;fa=f[C>>2]|0;if((N|0)>=(fa|0)){if((N|0)>(f[E>>2]|0)){ga=N-(f[D>>2]|0)|0;ha=47}}else{ga=(f[D>>2]|0)+N|0;ha=47}if((ha|0)==47){ha=0;f[p>>2]=ga}S=S+1|0;if((S|0)>=(ea|0))break;else{H=ea;M=da}}if((ea|0)>0){M=fa;H=ea;S=0;p=j;while(1){if((H|0)>0){N=0;do{P=f[p+(N<<2)>>2]|0;X=f[z>>2]|0;if((P|0)>(X|0))f[da+(N<<2)>>2]=X;else{X=f[B>>2]|0;f[da+(N<<2)>>2]=(P|0)<(X|0)?X:P}N=N+1|0;ia=f[y>>2]|0}while((N|0)<(ia|0));ja=ia;ka=f[C>>2]|0}else{ja=H;ka=M}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;P=l+(S<<2)|0;f[P>>2]=N;if((N|0)>=(ka|0)){if((N|0)>(f[E>>2]|0)){la=N-(f[D>>2]|0)|0;ha=60}}else{la=(f[D>>2]|0)+N|0;ha=60}if((ha|0)==60){ha=0;f[P>>2]=la}S=S+1|0;if((S|0)>=(ja|0))break;else{M=ka;H=ja;p=da}}}}p=f[k>>2]|0;H=f[t>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))ma=(f[F>>2]|0)+p|0;else ma=p;else ma=p-(f[F>>2]|0)|0;f[k>>2]=ma;p=f[a>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))na=(f[F>>2]|0)+p|0;else na=p;else na=p-(f[F>>2]|0)|0;f[a>>2]=na;p=f[l>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))oa=(f[F>>2]|0)+p|0;else oa=p;else oa=p-(f[F>>2]|0)|0;f[l>>2]=oa;p=f[G>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))pa=(f[F>>2]|0)+p|0;else pa=p;else pa=p-(f[F>>2]|0)|0;f[G>>2]=pa;if((((na|0)>-1?na:0-na|0)+((ma|0)>-1?ma:0-ma|0)|0)<(((oa|0)>-1?oa:0-oa|0)+((pa|0)>-1?pa:0-pa|0)|0)){dj(g,0);qa=k}else{dj(g,1);qa=l}p=f[qa>>2]|0;if((p|0)<0)ra=(f[F>>2]|0)+p|0;else ra=p;p=c+(T<<2)|0;f[p>>2]=ra;H=f[qa+4>>2]|0;if((H|0)<0)sa=(f[F>>2]|0)+H|0;else sa=H;f[p+4>>2]=sa;L=L+1|0;if((L|0)>=(r|0)){ha=3;break}p=f[o>>2]|0;K=f[p>>2]|0;if((f[p+4>>2]|0)-K>>2>>>0<=L>>>0){J=p;ha=4;break}}if((ha|0)==3){u=e;return 1}else if((ha|0)==4)Cq(J);return 0}function Wb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;gl(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];Zb(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[t>>2]|0;if((p|0)==0&(P|0)==0){Q=h;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,p|0,P|0)|0;f[h>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=s;R=N?P:0-P|0}f[Q>>2]=R;P=f[h>>2]|0;N=f[q>>2]|0;M=f[s>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;p=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|p&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(p){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);f[i>>2]=Y;f[v>>2]=Z;p=0-N|0;H=0-M|0;f[h>>2]=0-P;f[q>>2]=p;f[s>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?p:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(p=(T|0)==($|0),X=(T|0)==(_|0),!(H&p|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(p&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);f[j>>2]=aa;f[x>>2]=ba;T=L<<1;O=b+(T<<2)|0;S=f[y>>2]|0;if((S|0)>0){H=S;S=0;M=i;while(1){if((H|0)>0){N=0;do{P=f[M+(N<<2)>>2]|0;p=f[z>>2]|0;if((P|0)>(p|0)){X=f[A>>2]|0;f[X+(N<<2)>>2]=p;ca=X}else{X=f[B>>2]|0;p=f[A>>2]|0;f[p+(N<<2)>>2]=(P|0)<(X|0)?X:P;ca=p}N=N+1|0;p=f[y>>2]|0}while((N|0)<(p|0));da=ca;ea=p}else{da=f[A>>2]|0;ea=H}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;p=k+(S<<2)|0;f[p>>2]=N;fa=f[C>>2]|0;if((N|0)>=(fa|0)){if((N|0)>(f[E>>2]|0)){ga=N-(f[D>>2]|0)|0;ha=47}}else{ga=(f[D>>2]|0)+N|0;ha=47}if((ha|0)==47){ha=0;f[p>>2]=ga}S=S+1|0;if((S|0)>=(ea|0))break;else{H=ea;M=da}}if((ea|0)>0){M=fa;H=ea;S=0;p=j;while(1){if((H|0)>0){N=0;do{P=f[p+(N<<2)>>2]|0;X=f[z>>2]|0;if((P|0)>(X|0))f[da+(N<<2)>>2]=X;else{X=f[B>>2]|0;f[da+(N<<2)>>2]=(P|0)<(X|0)?X:P}N=N+1|0;ia=f[y>>2]|0}while((N|0)<(ia|0));ja=ia;ka=f[C>>2]|0}else{ja=H;ka=M}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;P=l+(S<<2)|0;f[P>>2]=N;if((N|0)>=(ka|0)){if((N|0)>(f[E>>2]|0)){la=N-(f[D>>2]|0)|0;ha=60}}else{la=(f[D>>2]|0)+N|0;ha=60}if((ha|0)==60){ha=0;f[P>>2]=la}S=S+1|0;if((S|0)>=(ja|0))break;else{M=ka;H=ja;p=da}}}}p=f[k>>2]|0;H=f[t>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))ma=(f[F>>2]|0)+p|0;else ma=p;else ma=p-(f[F>>2]|0)|0;f[k>>2]=ma;p=f[a>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))na=(f[F>>2]|0)+p|0;else na=p;else na=p-(f[F>>2]|0)|0;f[a>>2]=na;p=f[l>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))oa=(f[F>>2]|0)+p|0;else oa=p;else oa=p-(f[F>>2]|0)|0;f[l>>2]=oa;p=f[G>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))pa=(f[F>>2]|0)+p|0;else pa=p;else pa=p-(f[F>>2]|0)|0;f[G>>2]=pa;if((((na|0)>-1?na:0-na|0)+((ma|0)>-1?ma:0-ma|0)|0)<(((oa|0)>-1?oa:0-oa|0)+((pa|0)>-1?pa:0-pa|0)|0)){dj(g,0);qa=k}else{dj(g,1);qa=l}p=f[qa>>2]|0;if((p|0)<0)ra=(f[F>>2]|0)+p|0;else ra=p;p=c+(T<<2)|0;f[p>>2]=ra;H=f[qa+4>>2]|0;if((H|0)<0)sa=(f[F>>2]|0)+H|0;else sa=H;f[p+4>>2]=sa;L=L+1|0;if((L|0)>=(r|0)){ha=3;break}p=f[o>>2]|0;K=f[p>>2]|0;if((f[p+4>>2]|0)-K>>2>>>0<=L>>>0){J=p;ha=4;break}}if((ha|0)==3){u=e;return 1}else if((ha|0)==4)Cq(J);return 0}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=K;K=0;b:while(1){L=K+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=J+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ti(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=X;Z=V+2|0;break}else{Y=X;Z=V+-1|0;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Y<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Z<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3852+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ti(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)sf(a,f[i>>2]|0,N,0,fa);jd(t,3);ga=f[e>>2]|0}else{if(!R){sf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}jd(t,5);ga=da}f[b>>2]=ga}if((L|0)>=(k|0))break a;J=f[n>>2]|0;K=L}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{sf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;jd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(K=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(K&31)&f[(f[G>>2]|0)+(K>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Je(a,d,0)|0}K=f[i>>2]|0;f[d>>2]=N;J=Yd(H,d)|0;f[J>>2]=K;K=f[j>>2]|0;f[K+-4>>2]=da;if((K|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[K>>2]=f[e>>2];f[j>>2]=K+4;break}}while(0);if((U|0)==54){U=0;jd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Bi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;nj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Bi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}eh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=c+(m+4)|0;t=r;v=q-m|0}else{s=c;t=o;v=o}switch(v|0){case 3:{w=h[s+2>>0]<<16^t;x=10;break}case 2:{w=t;x=10;break}case 1:{y=t;x=11;break}default:z=t}if((x|0)==10){y=h[s+1>>0]<<8^w;x=11}if((x|0)==11)z=X(h[s>>0]^y,1540483477)|0;y=X(z>>>13^z,1540483477)|0;z=y>>>15^y;y=a+4|0;s=f[y>>2]|0;w=(s|0)==0;a:do if(!w){t=s+-1|0;v=(t&s|0)==0;if(!v)if(z>>>0>>0)A=z;else A=(z>>>0)%(s>>>0)|0;else A=z&t;m=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((m|0)!=0?(q=f[m>>2]|0,(q|0)!=0):0){m=(o|0)==0;if(v){if(m){v=q;while(1){r=f[v+4>>2]|0;if(!((r|0)==(z|0)|(r&t|0)==(A|0))){B=A;x=52;break a}r=b[v+8+11>>0]|0;if(!((r<<24>>24<0?f[v+12>>2]|0:r&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else C=q;while(1){v=f[C+4>>2]|0;if(!((v|0)==(z|0)|(v&t|0)==(A|0))){B=A;x=52;break a}v=C+8|0;r=b[v+11>>0]|0;d=r<<24>>24<0;D=r&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){r=f[v>>2]|0;if(d)if(!(Yk(r,c,o)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=D;E=v;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(m){t=q;while(1){v=f[t+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)G=v;else G=(v>>>0)%(s>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}v=b[t+8+11>>0]|0;if(!((v<<24>>24<0?f[t+12>>2]|0:v&255)|0))break a;t=f[t>>2]|0;if(!t){B=A;x=52;break a}}}else H=q;while(1){t=f[H+4>>2]|0;if((t|0)!=(z|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(s>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}t=H+8|0;m=b[t+11>>0]|0;v=m<<24>>24<0;D=m&255;do if(((v?f[H+12>>2]|0:D)|0)==(o|0)){m=f[t>>2]|0;if(v)if(!(Yk(m,c,o)|0))break a;else break;if((m&255)<<24>>24==(b[c>>0]|0)){m=D;d=t;F=c;do{m=m+-1|0;d=d+1|0;if(!m)break a;F=F+1|0}while((b[d>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){lh(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(s>>>0);L=$(n[a+16>>2]);do if(w|J>$(K*L)){A=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;H=~~$(W($(J/L)))>>>0;ci(a,A>>>0>>0?H:A);A=f[y>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=s;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){s=a+8|0;f[f[g>>2]>>2]=f[s>>2];f[s>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=s;s=f[g>>2]|0;N=f[s>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=s;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;pr(O)}if((b[p>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)Cq(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];qb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=o;J=a;K=o;while(1){do if(J){L=H+1|0;if((H|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?H+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A;T=Q;U=A+2|0;V=19;break}else{R=A;S=A;T=Q;U=A+-1|0;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=K+1|0;L=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if(!((K>>>0)%3|0)){R=A;S=H;T=L;U=K+2|0;V=19;break}else{R=A;S=H;T=L;U=K+-1|0;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=S;O=U;P=-1}else{M=R;N=S;O=U;P=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=P>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(P<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];qb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];qb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=io(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=io(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=io(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=io(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=io(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=io(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=En($|0,ia|0,ca|0,ba|0)|0;da=I;la=En(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=En(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=En($|0,ia|0,Q|0,L|0)|0;ia=I;$=En(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=En(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=io(B|0,C|0,la|0,ma|0)|0;ma=go(ca|0,I|0,ha|0,da|0)|0;da=I;ha=go(na|0,fa|0,D|0,E|0)|0;fa=io(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=io(F|0,G|0,Q|0,ba|0)|0;ba=go(ga|0,I|0,$|0,L|0)|0;L=I;Dh(i);K=f[c>>2]|0;$=(f[v>>2]|0)==0;if((K|0)==-1){oa=da;pa=ma;qa=ia;ra=fa;sa=L;ta=ba;ua=$;break a}else{A=M;B=ma;C=da;D=fa;E=ia;F=ba;G=L;H=N;J=$}}if((V|0)==22)Cq(W);else if((V|0)==28)Cq(Z)}else{oa=0;pa=0;qa=0;ra=0;sa=0;ta=0;ua=a}while(0);a=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;Z=io(0,0,pa|0,oa|0)|0;V=a?oa:I;W=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;N=io(0,0,ra|0,qa|0)|0;M=W?qa:I;v=(sa|0)>-1|(sa|0)==-1&ta>>>0>4294967295;c=io(0,0,ta|0,sa|0)|0;i=go((W?ra:N)|0,M|0,(v?ta:c)|0,(v?sa:I)|0)|0;v=go(i|0,I|0,(a?pa:Z)|0,V|0)|0;V=I;if(ua){if((v|0)<=536870912){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}ua=jo(v|0,V|0,29)|0;Z=ua&7;ua=Jk(pa|0,oa|0,Z|0,0)|0;a=Jk(ra|0,qa|0,Z|0,0)|0;i=Jk(ta|0,sa|0,Z|0,0)|0;va=ua;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=jo(v|0,V|0,29)|0;V=I;v=Jk(pa|0,oa|0,i|0,V|0)|0;oa=Jk(ra|0,qa|0,i|0,V|0)|0;qa=Jk(ta|0,sa|0,i|0,V|0)|0;va=v;wa=oa;xa=qa;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=Ja,M=Ja,N=Ja,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Bi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;eh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;nj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Bi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}eh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=c+(s+4)|0;z=x;A=w-s|0}else{y=c;z=d;A=d}switch(A|0){case 3:{B=h[y+2>>0]<<16^z;C=12;break}case 2:{B=z;C=12;break}case 1:{D=z;C=13;break}default:E=z}if((C|0)==12){D=h[y+1>>0]<<8^B;C=13}if((C|0)==13)E=X(h[y>>0]^D,1540483477)|0;D=X(E>>>13^E,1540483477)|0;E=D>>>15^D;D=a+4|0;y=f[D>>2]|0;B=(y|0)==0;a:do if(!B){z=y+-1|0;A=(z&y|0)==0;if(!A)if(E>>>0>>0)F=E;else F=(E>>>0)%(y>>>0)|0;else F=E&z;s=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((s|0)!=0?(w=f[s>>2]|0,(w|0)!=0):0){s=(d|0)==0;if(A){if(s){A=w;while(1){x=f[A+4>>2]|0;if(!((x|0)==(E|0)|(x&z|0)==(F|0))){G=F;C=54;break a}x=b[A+8+11>>0]|0;if(!((x<<24>>24<0?f[A+12>>2]|0:x&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else H=w;while(1){A=f[H+4>>2]|0;if(!((A|0)==(E|0)|(A&z|0)==(F|0))){G=F;C=54;break a}A=H+8|0;x=b[A+11>>0]|0;o=x<<24>>24<0;t=x&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){x=f[A>>2]|0;if(o)if(!(Yk(x,c,d)|0))break a;else break;if((x&255)<<24>>24==(b[c>>0]|0)){x=t;l=A;q=c;do{x=x+-1|0;l=l+1|0;if(!x)break a;q=q+1|0}while((b[l>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(s){z=w;while(1){A=f[z+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0>>0)I=A;else I=(A>>>0)%(y>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}A=b[z+8+11>>0]|0;if(!((A<<24>>24<0?f[z+12>>2]|0:A&255)|0))break a;z=f[z>>2]|0;if(!z){G=F;C=54;break a}}}else J=w;while(1){z=f[J+4>>2]|0;if((z|0)!=(E|0)){if(z>>>0>>0)K=z;else K=(z>>>0)%(y>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}z=J+8|0;s=b[z+11>>0]|0;A=s<<24>>24<0;t=s&255;do if(((A?f[J+12>>2]|0:t)|0)==(d|0)){s=f[z>>2]|0;if(A)if(!(Yk(s,c,d)|0))break a;else break;if((s&255)<<24>>24==(b[c>>0]|0)){s=t;o=z;q=c;do{s=s+-1|0;o=o+1|0;if(!s)break a;q=q+1|0}while((b[o>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){lh(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(y>>>0);N=$(n[a+16>>2]);do if(B|L>$(M*N)){F=(y>>>0<3|(y+-1&y|0)!=0)&1|y<<1;J=~~$(W($(L/N)))>>>0;ci(a,F>>>0>>0?J:F);F=f[D>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=y;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=y;y=f[g>>2]|0;P=f[y>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=y;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;pr(Q)}if((b[v>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=E;G=(E^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(G>>>0>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==E<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==E<<16>>16){Q=N;break c}}else{if(P>>>0>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[A+(r<<2)>>2]=f[Q+12>>2];S=z;T=C;U=B;V=A;X=D;break a}while(0);if(!H)if(G>>>0>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=e;_=Y;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=e;_=Y;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=e;_=Y;aa=0;ba=40;break a}if((d[M+8>>1]|0)==E<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=e;_=Y;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=e;_=Y;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==E<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=tn(16)|0;d[L+8>>1]=E;f[L+12>>2]=D;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(Z>>>0);ga=$(n[l>>2]);do if(aa|ea>$(fa*ga)){M=(Z>>>0<3|(Z+-1&Z|0)!=0)&1|Z<<1;F=~~$(W($(ea/ga)))>>>0;Uh(i,M>>>0>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(G>>>0>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=Z;ia=_}while(0);G=(f[i>>2]|0)+(ia<<2)|0;E=f[G>>2]|0;if(!E){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[E>>2];ka=E;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;E=w;G=f[E>>2]|0;M=En(G|0,f[E+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(r<<2)>>2]=D;S=G;T=G;U=G;V=G;X=D+1|0}G=r+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=V;B=U;C=T;r=G;D=X}if((X|0)==(la|0))ma=U;else{U=a+84|0;if(!(b[U>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=S;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[T+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=S}}else{b[U>>0]=0;U=a+68|0;S=a+72|0;B=f[S>>2]|0;r=f[U>>2]|0;T=B-r>>2;C=r;r=B;if(la>>>0<=T>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[S>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(U,la-T|0,1284);oa=f[m>>2]|0}T=f[k>>2]|0;if(!oa)na=T;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=T}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;pr(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Bi(j,4);l=f[j>>2]|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;nj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Bi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}eh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=c+(l+4)|0;t=r;v=q-l|0}else{s=c;t=o;v=o}switch(v|0){case 3:{w=h[s+2>>0]<<16^t;x=10;break}case 2:{w=t;x=10;break}case 1:{y=t;x=11;break}default:z=t}if((x|0)==10){y=h[s+1>>0]<<8^w;x=11}if((x|0)==11)z=X(h[s>>0]^y,1540483477)|0;y=X(z>>>13^z,1540483477)|0;z=y>>>15^y;y=a+4|0;s=f[y>>2]|0;w=(s|0)==0;a:do if(!w){t=s+-1|0;v=(t&s|0)==0;if(!v)if(z>>>0>>0)A=z;else A=(z>>>0)%(s>>>0)|0;else A=z&t;l=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((l|0)!=0?(q=f[l>>2]|0,(q|0)!=0):0){l=(o|0)==0;if(v){if(l){v=q;while(1){r=f[v+4>>2]|0;if(!((r|0)==(z|0)|(r&t|0)==(A|0))){B=A;x=52;break a}r=b[v+8+11>>0]|0;if(!((r<<24>>24<0?f[v+12>>2]|0:r&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else C=q;while(1){v=f[C+4>>2]|0;if(!((v|0)==(z|0)|(v&t|0)==(A|0))){B=A;x=52;break a}v=C+8|0;r=b[v+11>>0]|0;d=r<<24>>24<0;D=r&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){r=f[v>>2]|0;if(d)if(!(Yk(r,c,o)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=D;E=v;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(l){t=q;while(1){v=f[t+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)G=v;else G=(v>>>0)%(s>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}v=b[t+8+11>>0]|0;if(!((v<<24>>24<0?f[t+12>>2]|0:v&255)|0))break a;t=f[t>>2]|0;if(!t){B=A;x=52;break a}}}else H=q;while(1){t=f[H+4>>2]|0;if((t|0)!=(z|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(s>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}t=H+8|0;l=b[t+11>>0]|0;v=l<<24>>24<0;D=l&255;do if(((v?f[H+12>>2]|0:D)|0)==(o|0)){l=f[t>>2]|0;if(v)if(!(Yk(l,c,o)|0))break a;else break;if((l&255)<<24>>24==(b[c>>0]|0)){l=D;d=t;F=c;do{l=l+-1|0;d=d+1|0;if(!l)break a;F=F+1|0}while((b[d>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){lh(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(s>>>0);L=$(n[a+16>>2]);do if(w|J>$(K*L)){A=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;H=~~$(W($(J/L)))>>>0;ci(a,A>>>0>>0?H:A);A=f[y>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=s;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){s=a+8|0;f[f[g>>2]>>2]=f[s>>2];f[s>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=s;s=f[g>>2]|0;N=f[s>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=s;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;pr(O)}if((b[p>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Ja,da=Ja,ea=Ja,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)Cq(i);o=l<<2;p=tn(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;pj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=p;z=p;A=p;p=0;B=0;while(1){C=q;D=f[C>>2]|0;E=f[C+4>>2]|0;C=o;F=En(w+p|0,0,f[C>>2]|0,f[C+4>>2]|0)|0;C=go(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+C>>0]|0;b[h>>0]=E;C=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(C>>>0>>0)G=C;else G=(C>>>0)%(d>>>0)|0;else G=D&C;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(C|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(C|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[y+(p<<2)>>2]=f[O+12>>2];Q=x;R=A;S=z;T=y;U=B;break a}while(0);if(!F)if(C>>>0>>0)V=C;else V=(C>>>0)%(d>>>0)|0;else V=D&C;J=f[H+(V<<2)>>2]|0;if(!J){X=d;Y=V;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=d;Y=V;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(C|0)|(L&D|0)==(V|0))){X=d;Y=V;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=d;Y=V;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(C|0)){if(K>>>0>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=d;Y=V;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=tn(16)|0;b[J+8>>0]=E;f[J+12>>2]=B;f[J+4>>2]=C;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(X>>>0);ea=$(n[j>>2]);do if(Z|ca>$(da*ea)){K=(X>>>0<3|(X+-1&X|0)!=0)&1|X<<1;D=~~$(W($(ca/ea)))>>>0;$h(g,K>>>0>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&C;break}if(C>>>0>>0){fa=K;ga=C}else{fa=K;ga=(C>>>0)%(K>>>0)|0}}else{fa=X;ga=Y}while(0);C=(f[g>>2]|0)+(ga<<2)|0;E=f[C>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[C>>2]=s;C=f[J>>2]|0;if(C|0){K=f[C+4>>2]|0;C=fa+-1|0;if(C&fa)if(K>>>0>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&C;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;C=f[E>>2]|0;K=En(C|0,f[E+4>>2]|0,B|0,0)|0;eh((f[f[v>>2]>>2]|0)+K|0,h|0,C|0)|0;C=f[i>>2]|0;f[C+(p<<2)>>2]=B;Q=C;R=C;S=C;T=C;U=B+1|0}C=p+1|0;ja=f[k>>2]|0;if(C>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=T;z=S;A=R;p=C;B=U}if((U|0)==(ja|0))ka=S;else{S=a+84|0;if(!(b[S>>0]|0)){B=f[a+72>>2]|0;p=f[a+68>>2]|0;A=p;if((B|0)==(p|0))la=Q;else{z=B-p>>2;p=0;do{B=A+(p<<2)|0;f[B>>2]=f[R+(f[B>>2]<<2)>>2];p=p+1|0}while(p>>>0>>0);la=Q}}else{b[S>>0]=0;S=a+68|0;Q=a+72|0;z=f[Q>>2]|0;p=f[S>>2]|0;R=z-p>>2;A=p;p=z;if(ja>>>0<=R>>>0)if(ja>>>0>>0?(z=A+(ja<<2)|0,(p|0)!=(z|0)):0){f[Q>>2]=p+(~((p+-4-z|0)>>>2)<<2);ma=ja}else ma=ja;else{zh(S,ja-R|0,1284);ma=f[k>>2]|0}R=f[i>>2]|0;if(!ma)la=R;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[R+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=R}}f[k>>2]=U;ka=la}if(!ka)na=U;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);pr(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;pr(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}pr(ka);u=e;return na|0}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Ja,ea=Ja,fa=Ja,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=q;A=q;B=q;q=0;C=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(x+q|0,0,f[D>>2]|0,f[D+4>>2]|0)|0;D=go(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=D;F=D^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(D|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(D|0)){P=M;break c}}else{if(O>>>0>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[z+(q<<2)>>2]=f[P+12>>2];R=y;S=B;T=A;U=z;V=C;break a}while(0);if(!G)if(F>>>0>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=d;Z=X;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=d;Z=X;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=d;Z=X;_=0;aa=40;break a}if((f[L+8>>2]|0)==(D|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=d;Z=X;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=d;Z=X;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(D|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=tn(16)|0;f[K+8>>2]=D;f[K+12>>2]=C;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Y>>>0);fa=$(n[k>>2]);do if(_|da>$(ea*fa)){L=(Y>>>0<3|(Y+-1&Y|0)!=0)&1|Y<<1;E=~~$(W($(da/fa)))>>>0;Di(g,L>>>0>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Y;ha=Z}while(0);F=(f[g>>2]|0)+(ha<<2)|0;D=f[F>>2]|0;if(!D){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[D>>2];ja=D;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;D=v;F=f[D>>2]|0;L=En(F|0,f[D+4>>2]|0,C|0,0)|0;eh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(q<<2)>>2]=C;R=F;S=F;T=F;U=F;V=C+1|0}F=q+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=U;A=T;B=S;q=F;C=V}if((V|0)==(ka|0))la=T;else{T=a+84|0;if(!(b[T>>0]|0)){C=f[a+72>>2]|0;q=f[a+68>>2]|0;B=q;if((C|0)==(q|0))ma=R;else{A=C-q>>2;q=0;do{C=B+(q<<2)|0;f[C>>2]=f[S+(f[C>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);ma=R}}else{b[T>>0]=0;T=a+68|0;R=a+72|0;A=f[R>>2]|0;q=f[T>>2]|0;S=A-q>>2;B=q;q=A;if(ka>>>0<=S>>>0)if(ka>>>0>>0?(A=B+(ka<<2)|0,(q|0)!=(A|0)):0){f[R>>2]=q+(~((q+-4-A|0)>>>2)<<2);na=ka}else na=ka;else{zh(T,ka-S|0,1284);na=f[l>>2]|0}S=f[j>>2]|0;if(!na)ma=S;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ma=S}}f[l>>2]=V;la=ma}if(!la)oa=V;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);pr(la);oa=V}}else oa=0;V=f[g+8>>2]|0;if(V|0){la=V;do{V=la;la=f[la>>2]|0;pr(V)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}pr(la);u=e;return oa|0}function dc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=Ja,Y=Ja,Z=Ja,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)Cq(l);r=p<<2;s=tn(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;pj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=En(t+y|0,0,f[A>>2]|0,f[A+4>>2]|0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=of(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=jo(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=jo(B|0,D|0,48)|0;J=I;K=H&65535;L=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H;E=f[s>>2]|0;M=(E|0)==0;a:do if(!M){N=E+-1|0;O=(N&E|0)==0;if(!O)if(L>>>0>>0)P=L;else P=(L>>>0)%(E>>>0)|0;else P=L&N;Q=f[(f[i>>2]|0)+(P<<2)>>2]|0;if((Q|0)!=0?(R=f[Q>>2]|0,(R|0)!=0):0){if(O){O=R;while(1){Q=f[O+4>>2]|0;if(!((Q|0)==(L|0)|(Q&N|0)==(P|0))){S=P;T=31;break a}Q=O+8|0;if((((d[Q>>1]|0)==A<<16>>16?(d[Q+2>>1]|0)==F<<16>>16:0)?(d[O+12>>1]|0)==G<<16>>16:0)?(d[Q+6>>1]|0)==K<<16>>16:0)break a;O=f[O>>2]|0;if(!O){S=P;T=31;break a}}}else U=R;while(1){O=f[U+4>>2]|0;if((O|0)!=(L|0)){if(O>>>0>>0)V=O;else V=(O>>>0)%(E>>>0)|0;if((V|0)!=(P|0)){S=P;T=31;break a}}O=U+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[U+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==K<<16>>16:0)break a;U=f[U>>2]|0;if(!U){S=P;T=31;break}}}else{S=P;T=31}}else{S=0;T=31}while(0);if((T|0)==31){T=0;K=tn(20)|0;G=eo(H|0,J|0,48)|0;F=B|G;G=D&65535|I;A=K+8|0;R=A;d[R>>1]=F;d[R+2>>1]=F>>>16;F=A+4|0;d[F>>1]=G;d[F+2>>1]=G>>>16;f[K+16>>2]=z;f[K+4>>2]=L;f[K>>2]=0;X=$(((f[p>>2]|0)+1|0)>>>0);Y=$(E>>>0);Z=$(n[m>>2]);do if(M|X>$(Y*Z)){G=(E>>>0<3|(E+-1&E|0)!=0)&1|E<<1;F=~~$(W($(X/Z)))>>>0;Rh(i,G>>>0>>0?F:G);G=f[s>>2]|0;F=G+-1|0;if(!(F&G)){_=G;aa=F&L;break}if(L>>>0>>0){_=G;aa=L}else{_=G;aa=(L>>>0)%(G>>>0)|0}}else{_=E;aa=S}while(0);E=(f[i>>2]|0)+(aa<<2)|0;L=f[E>>2]|0;if(!L){f[K>>2]=f[v>>2];f[v>>2]=K;f[E>>2]=v;E=f[K>>2]|0;if(E|0){M=f[E+4>>2]|0;E=_+-1|0;if(E&_)if(M>>>0<_>>>0)ba=M;else ba=(M>>>0)%(_>>>0)|0;else ba=M&E;ca=(f[i>>2]|0)+(ba<<2)|0;T=44}}else{f[K>>2]=f[L>>2];ca=L;T=44}if((T|0)==44){T=0;f[ca>>2]=K}f[p>>2]=(f[p>>2]|0)+1}L=w;E=f[L>>2]|0;M=En(E|0,f[L+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+M|0,j|0,E|0)|0;E=f[l>>2]|0;f[E+(y<<2)>>2]=z;da=E;ea=z+1|0}else{E=f[l>>2]|0;f[E+(y<<2)>>2]=f[C+16>>2];da=E;ea=z}y=y+1|0;fa=f[o>>2]|0;if(y>>>0>=fa>>>0)break;else z=ea}if((ea|0)==(fa|0))ga=da;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))ha=da;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[da+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0>>0);ha=da}}else{b[z>>0]=0;z=a+68|0;da=a+72|0;w=f[da>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(fa>>>0<=x>>>0)if(fa>>>0>>0?(w=y+(fa<<2)|0,(j|0)!=(w|0)):0){f[da>>2]=j+(~((j+-4-w|0)>>>2)<<2);ia=fa}else ia=fa;else{zh(z,fa-x|0,1284);ia=f[o>>2]|0}x=f[l>>2]|0;if(!ia)ha=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ha=x}}f[o>>2]=ea;ga=ha}if(!ga)ja=ea;else{ha=f[q>>2]|0;if((ha|0)!=(ga|0))f[q>>2]=ha+(~((ha+-4-ga|0)>>>2)<<2);pr(ga);ja=ea}}else ja=0;ea=f[i+8>>2]|0;if(ea|0){ga=ea;do{ea=ga;ga=f[ga>>2]|0;pr(ea)}while((ga|0)!=0)}ga=f[i>>2]|0;f[i>>2]=0;if(!ga){u=g;return ja|0}pr(ga);u=g;return ja|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)Cq(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];qb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=0;B=0;C=0;D=0;E=0;F=0;G=o;H=a;J=o;while(1){do if(H){K=G+1|0;if((G|0)!=-1){L=((K>>>0)%3|0|0)==0?G+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z;O=L;P=z+2|0;break}else{M=z;N=z;O=L;P=z+-1|0;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=J+1|0;K=((L>>>0)%3|0|0)==0?J+-2|0:L;if(!((J>>>0)%3|0)){M=z;N=G;O=K;P=J+2|0;break}else{M=z;N=G;O=K;P=J+-1|0;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];qb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(P<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];qb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=io(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=io(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=io(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=io(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=io(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=io(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=En(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=En(da|0,_|0,aa|0,$|0)|0;ga=I;ha=En(ea|0,W|0,aa|0,$|0)|0;$=I;aa=En(K|0,ca|0,S|0,L|0)|0;ca=I;K=En(da|0,_|0,S|0,L|0)|0;L=I;S=En(ea|0,W|0,Y|0,X|0)|0;X=I;Y=io(A|0,B|0,fa|0,ga|0)|0;ga=go(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=go(ha|0,$|0,C|0,D|0)|0;$=io(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=io(E|0,F|0,S|0,X|0)|0;X=go(aa|0,I|0,K|0,L|0)|0;L=I;Lg(i);J=f[c>>2]|0;K=(f[t>>2]|0)==0;if((J|0)==-1){ia=Z;ja=ga;ka=ca;la=$;ma=L;na=X;oa=K;break a}else{z=M;A=ga;B=Z;C=$;D=ca;E=X;F=L;G=N;H=K}}if((R|0)==17)Cq(Q);else if((R|0)==21)Cq(U)}else{ia=0;ja=0;ka=0;la=0;ma=0;na=0;oa=a}while(0);a=(ia|0)>-1|(ia|0)==-1&ja>>>0>4294967295;U=io(0,0,ja|0,ia|0)|0;R=a?ia:I;Q=(ka|0)>-1|(ka|0)==-1&la>>>0>4294967295;N=io(0,0,la|0,ka|0)|0;M=Q?ka:I;t=(ma|0)>-1|(ma|0)==-1&na>>>0>4294967295;c=io(0,0,na|0,ma|0)|0;i=go((Q?la:N)|0,M|0,(t?na:c)|0,(t?ma:I)|0)|0;t=go(i|0,I|0,(a?ja:U)|0,R|0)|0;R=I;if(oa){if((t|0)<=536870912){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}oa=jo(t|0,R|0,29)|0;U=oa&7;oa=Jk(ja|0,ia|0,U|0,0)|0;a=Jk(la|0,ka|0,U|0,0)|0;i=Jk(na|0,ma|0,U|0,0)|0;pa=oa;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=jo(t|0,R|0,29)|0;R=I;t=Jk(ja|0,ia|0,i|0,R|0)|0;ia=Jk(la|0,ka|0,i|0,R|0)|0;ka=Jk(na|0,ma|0,i|0,R|0)|0;pa=t;qa=ia;ra=ka;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=E;E=0;b:while(1){F=E+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=D+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ti(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ti(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)sf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){sf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((F|0)>=(k|0))break a;D=f[n>>2]|0;E=F}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{sf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;E=f[w>>2]|0;if((E|0)==(f[x>>2]|0))Ti(y,d);else{f[E>>2]=1;f[w>>2]=E+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(E=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(E&31)&f[(f[A>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Je(a,d,0)|0}E=f[i>>2]|0;f[d>>2]=H;D=Yd(B,d)|0;f[D>>2]=E;E=f[j>>2]|0;f[E+-4>>2]=U;if((E|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[E>>2]=f[e>>2];f[j>>2]=E+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;E=f[w>>2]|0;if((E|0)==(f[x>>2]|0))Ti(y,d);else{f[E>>2]=7;f[w>>2]=E+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ja,X=Ja,Y=Ja,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=En(s+x|0,0,f[z>>2]|0,f[z+4>>2]|0)|0;z=go(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=pf(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=B&255;B=C&255;C=E&255;E=(((J^318)+239^B)+239^C)+239^G;K=f[r>>2]|0;L=(K|0)==0;a:do if(!L){M=K+-1|0;N=(M&K|0)==0;if(!N)if(E>>>0>>0)O=E;else O=(E>>>0)%(K>>>0)|0;else O=E&M;P=f[(f[g>>2]|0)+(O<<2)>>2]|0;if((P|0)!=0?(Q=f[P>>2]|0,(Q|0)!=0):0){if(N){N=Q;while(1){P=f[N+4>>2]|0;if(!((P|0)==(E|0)|(P&M|0)==(O|0))){R=O;S=31;break a}P=N+8|0;if((((b[P>>0]|0)==A<<24>>24?(b[P+1>>0]|0)==D<<24>>24:0)?(b[P+2>>0]|0)==F<<24>>24:0)?(b[P+3>>0]|0)==H<<24>>24:0)break a;N=f[N>>2]|0;if(!N){R=O;S=31;break a}}}else T=Q;while(1){N=f[T+4>>2]|0;if((N|0)!=(E|0)){if(N>>>0>>0)U=N;else U=(N>>>0)%(K>>>0)|0;if((U|0)!=(O|0)){R=O;S=31;break a}}N=T+8|0;if((((b[N>>0]|0)==A<<24>>24?(b[N+1>>0]|0)==D<<24>>24:0)?(b[N+2>>0]|0)==F<<24>>24:0)?(b[N+3>>0]|0)==H<<24>>24:0)break a;T=f[T>>2]|0;if(!T){R=O;S=31;break}}}else{R=O;S=31}}else{R=0;S=31}while(0);if((S|0)==31){S=0;H=tn(16)|0;F=H+8|0;D=G<<24|J|C<<16|B<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;V=$(((f[o>>2]|0)+1|0)>>>0);X=$(K>>>0);Y=$(n[l>>2]);do if(L|V>$(X*Y)){D=(K>>>0<3|(K+-1&K|0)!=0)&1|K<<1;F=~~$(W($(V/Y)))>>>0;Yh(g,D>>>0>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Z=D;_=F&E;break}if(E>>>0>>0){Z=D;_=E}else{Z=D;_=(E>>>0)%(D>>>0)|0}}else{Z=K;_=R}while(0);K=(f[g>>2]|0)+(_<<2)|0;E=f[K>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[K>>2]=t;K=f[H>>2]|0;if(K|0){L=f[K+4>>2]|0;K=Z+-1|0;if(K&Z)if(L>>>0>>0)aa=L;else aa=(L>>>0)%(Z>>>0)|0;else aa=L&K;ba=(f[g>>2]|0)+(aa<<2)|0;S=44}}else{f[H>>2]=f[E>>2];ba=E;S=44}if((S|0)==44){S=0;f[ba>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;K=f[E>>2]|0;L=En(K|0,f[E+4>>2]|0,y|0,0)|0;eh((f[f[w>>2]>>2]|0)+L|0,i|0,K|0)|0;K=f[k>>2]|0;f[K+(x<<2)>>2]=y;ca=K;da=y+1|0}else{K=f[k>>2]|0;f[K+(x<<2)>>2]=f[z+12>>2];ca=K;da=y}x=x+1|0;ea=f[m>>2]|0;if(x>>>0>=ea>>>0)break;else y=da}if((da|0)==(ea|0))fa=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))ga=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);ga=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(ea>>>0<=w>>>0)if(ea>>>0>>0?(v=x+(ea<<2)|0,(i|0)!=(v|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ha=ea}else ha=ea;else{zh(y,ea-w|0,1284);ha=f[m>>2]|0}w=f[k>>2]|0;if(!ha)ga=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ga=w}}f[m>>2]=da;fa=ga}if(!fa)ia=da;else{ga=f[p>>2]|0;if((ga|0)!=(fa|0))f[p>>2]=ga+(~((ga+-4-fa|0)>>>2)<<2);pr(fa);ia=da}}else ia=0;da=f[g+8>>2]|0;if(da|0){fa=da;do{da=fa;fa=f[fa>>2]|0;pr(da)}while((fa|0)!=0)}fa=f[g>>2]|0;f[g>>2]=0;if(!fa){u=e;return ia|0}pr(fa);u=e;return ia|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ja,V=Ja,X=Ja,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=En(f[B>>2]|0,f[B+4>>2]|0,r+z|0,0)|0;B=go(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));qm(i|0,D|0,16)|0;C=yf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=tn(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=A;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|U>$(V*X)){P=(J>>>0<3|(J+-1&J|0)!=0)&1|J<<1;M=~~$(W($(U/X)))>>>0;Vh(g,P>>>0>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0

>>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=En(J|0,f[H+4>>2]|0,A|0,0)|0;eh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(z<<2)>>2]=A;ba=J;ca=A+1|0}else{J=f[j>>2]|0;f[J+(z<<2)>>2]=f[C+24>>2];ba=J;ca=A}z=z+1|0;da=f[l>>2]|0;if(z>>>0>=da>>>0)break;else A=ca}if((ca|0)==(da|0))ea=ba;else{A=a+84|0;if(!(b[A>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((z|0)==(h|0))fa=ba;else{x=z-h>>2;h=0;do{z=y+(h<<2)|0;f[z>>2]=f[ba+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);fa=ba}}else{b[A>>0]=0;A=a+68|0;ba=a+72|0;x=f[ba>>2]|0;h=f[A>>2]|0;y=x-h>>2;z=h;h=x;if(da>>>0<=y>>>0)if(da>>>0>>0?(x=z+(da<<2)|0,(h|0)!=(x|0)):0){f[ba>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{zh(A,da-y|0,1284);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=y}}f[l>>2]=ca;ea=fa}if(!ea)ha=ca;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);pr(ea);ha=ca}}else ha=0;ca=f[g+8>>2]|0;if(ca|0){ea=ca;do{ca=ea;ea=f[ea>>2]|0;pr(ca)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}pr(ea);u=e;return ha|0}function ic(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ja,T=Ja,U=Ja,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=En(f[B>>2]|0,f[B+4>>2]|0,s+z|0,0)|0;B=go(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;qm(j|0,D|0,6)|0;D=Of(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=tn(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=A;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|S>$(T*U)){K=(G>>>0<3|(G+-1&G|0)!=0)&1|G<<1;J=~~$(W($(S/U)))>>>0;Sh(h,K>>>0>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,A|0,0)|0;eh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(z<<2)>>2]=A;_=G;aa=A+1|0}else{G=f[k>>2]|0;f[G+(z<<2)>>2]=f[D+16>>2];_=G;aa=A}z=z+1|0;ba=f[m>>2]|0;if(z>>>0>=ba>>>0)break;else A=aa}if((aa|0)==(ba|0))ca=_;else{A=a+84|0;if(!(b[A>>0]|0)){z=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((z|0)==(i|0))da=_;else{x=z-i>>2;i=0;do{z=y+(i<<2)|0;f[z>>2]=f[_+(f[z>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);da=_}}else{b[A>>0]=0;A=a+68|0;_=a+72|0;x=f[_>>2]|0;i=f[A>>2]|0;y=x-i>>2;z=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0>>0?(x=z+(ba<<2)|0,(i|0)!=(x|0)):0){f[_>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{zh(A,ba-y|0,1284);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=y}}f[m>>2]=aa;ca=da}if(!ca)fa=aa;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);pr(ca);fa=aa}}else fa=0;aa=f[h+8>>2]|0;if(aa|0){ca=aa;do{aa=ca;ca=f[ca>>2]|0;pr(aa)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}pr(ca);u=g;return fa|0}function jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0,_=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=mr(i)|0;pj(j|0,0,i|0)|0;k=mr(i)|0;pj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=n;B=p;C=z}else Cq(i);while(1){z=f[A+(C<<2)>>2]|0;if(q)pj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=z;E=0;while(1){F=f[p+(D<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(C|0)&(K|0)<(C|0)&(J|0)<(C|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=E+1|0}else N=E}else N=E;J=(((D>>>0)%3|0|0)==0?2:-1)+D|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);D=(O|0)==(z|0)?-1:O;if((D|0)==-1)break;else E=N}E=X(C,e)|0;if(N){if(q){D=0;do{z=j+(D<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;D=D+1|0}while((D|0)!=(e|0))}D=b+(E<<2)|0;z=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=p;p=0;H=j;while(1){if((J|0)>0){I=0;do{K=f[H+(I<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(I<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(I<<2)>>2]=(K|0)<(F|0)?F:K;P=G}I=I+1|0}while((I|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;I=(f[D+(p<<2)>>2]|0)-(f[Q+(p<<2)>>2]|0)|0;G=z+(p<<2)|0;f[G>>2]=I;if((I|0)>=(f[u>>2]|0)){if((I|0)>(f[w>>2]|0)){R=I-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+I|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}p=p+1|0;J=f[g>>2]|0;if((p|0)>=(J|0))break;else H=Q}}}else{T=E;S=30}}else{T=X(C,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,J=c+(T<<2)|0,p=f[g>>2]|0,(p|0)>0):0){z=p;p=0;D=b+((X(B+-2|0,e)|0)<<2)|0;while(1){if((z|0)>0){G=0;do{I=f[D+(G<<2)>>2]|0;K=f[r>>2]|0;if((I|0)>(K|0)){F=f[s>>2]|0;f[F+(G<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(G<<2)>>2]=(I|0)<(F|0)?F:I;U=K}G=G+1|0}while((G|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;G=(f[H+(p<<2)>>2]|0)-(f[V+(p<<2)>>2]|0)|0;K=J+(p<<2)|0;f[K>>2]=G;if((G|0)>=(f[u>>2]|0)){if((G|0)>(f[w>>2]|0)){W=G-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+G|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}p=p+1|0;z=f[g>>2]|0;if((p|0)>=(z|0))break;else D=V}}if((C|0)<=1)break a;A=f[i>>2]|0;D=C+-1|0;if((f[l>>2]|0)-A>>2>>>0<=D>>>0)break;else{z=C;C=D;B=z}}Cq(i)}while(0);if((e|0)>0)pj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(k);nr(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;A=a+28|0;l=a+20|0;V=a+24|0;a=e;e=0;W=j;while(1){if((a|0)>0){U=0;do{T=f[W+(U<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[B>>2]|0;f[R+(U<<2)>>2]=Q;Y=R}else{R=f[C>>2]|0;Q=f[B>>2]|0;f[Q+(U<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}U=U+1|0}while((U|0)<(f[g>>2]|0));Z=Y}else Z=f[B>>2]|0;U=(f[b+(e<<2)>>2]|0)-(f[Z+(e<<2)>>2]|0)|0;Q=c+(e<<2)|0;f[Q>>2]=U;if((U|0)>=(f[A>>2]|0)){if((U|0)>(f[V>>2]|0)){_=U-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+U|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else W=Z}nr(k);nr(j);return 1}function kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=mr(i)|0;pj(j|0,0,i|0)|0;k=mr(i)|0;pj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=n;C=p;D=A}else Cq(i);while(1){A=f[B+(D<<2)>>2]|0;if(q)pj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=A;F=0;while(1){if(((f[p+(E>>>5<<2)>>2]&1<<(E&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(D|0)&(L|0)<(D|0)&(K|0)<(D|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=F+1|0}else M=F;K=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);E=(N|0)==(A|0)?-1:N;if((E|0)==-1)break;else F=M}F=X(D,e)|0;if(M){if(q){E=0;do{A=j+(E<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(F<<2)|0;A=c+(F<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=p;p=0;G=j;while(1){if((K|0)>0){J=0;do{L=f[G+(J<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(J<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(J<<2)>>2]=(L|0)<(I|0)?I:L;O=H}J=J+1|0}while((J|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;J=(f[E+(p<<2)>>2]|0)-(f[P+(p<<2)>>2]|0)|0;H=A+(p<<2)|0;f[H>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){Q=J-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+J|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}p=p+1|0;K=f[g>>2]|0;if((p|0)>=(K|0))break;else G=P}}}else{S=F;R=28}}else{S=X(D,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,K=c+(S<<2)|0,p=f[g>>2]|0,(p|0)>0):0){A=p;p=0;E=b+((X(C+-2|0,e)|0)<<2)|0;while(1){if((A|0)>0){H=0;do{J=f[E+(H<<2)>>2]|0;L=f[r>>2]|0;if((J|0)>(L|0)){I=f[s>>2]|0;f[I+(H<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(H<<2)>>2]=(J|0)<(I|0)?I:J;T=L}H=H+1|0}while((H|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;H=(f[G+(p<<2)>>2]|0)-(f[U+(p<<2)>>2]|0)|0;L=K+(p<<2)|0;f[L>>2]=H;if((H|0)>=(f[u>>2]|0)){if((H|0)>(f[w>>2]|0)){V=H-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+H|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}p=p+1|0;A=f[g>>2]|0;if((p|0)>=(A|0))break;else E=U}}if((D|0)<=1)break a;B=f[i>>2]|0;E=D+-1|0;if((f[l>>2]|0)-B>>2>>>0<=E>>>0)break;else{A=D;D=E;C=A}}Cq(i)}while(0);if((e|0)>0)pj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(k);nr(j);return 1}i=a+16|0;C=a+32|0;D=a+12|0;B=a+28|0;l=a+20|0;U=a+24|0;a=e;e=0;V=j;while(1){if((a|0)>0){T=0;do{S=f[V+(T<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[C>>2]|0;f[Q+(T<<2)>>2]=P;W=Q}else{Q=f[D>>2]|0;P=f[C>>2]|0;f[P+(T<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}T=T+1|0}while((T|0)<(f[g>>2]|0));Y=W}else Y=f[C>>2]|0;T=(f[b+(e<<2)>>2]|0)-(f[Y+(e<<2)>>2]|0)|0;P=c+(e<<2)|0;f[P>>2]=T;if((T|0)>=(f[B>>2]|0)){if((T|0)>(f[U>>2]|0)){Z=T-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+T|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else V=Y}nr(k);nr(j);return 1}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ja,S=Ja,T=Ja,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;qm(i|0,C|0,3)|0;C=Uf(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=tn(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|R>$(S*T)){J=(F>>>0<3|(F+-1&F|0)!=0)&1|F<<1;H=~~$(W($(R/T)))>>>0;Zh(g,J>>>0>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=En(F|0,f[E+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=F;_=z+1|0}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=F;_=z}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=_}if((_|0)==(aa|0))ba=Z;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=Z;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[Z+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);ca=Z}}else{b[z>>0]=0;z=a+68|0;Z=a+72|0;w=f[Z>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0>>0?(w=y+(aa<<2)|0,(h|0)!=(w|0)):0){f[Z>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{zh(z,aa-x|0,1284);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ca=x}}f[l>>2]=_;ba=ca}if(!ba)ea=_;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);pr(ba);ea=_}}else ea=0;_=f[g+8>>2]|0;if(_|0){ba=_;do{_=ba;ba=f[ba>>2]|0;pr(_)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}pr(ba);u=e;return ea|0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(p|0)!=(o|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{zh(i,m-q|0,6296);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;Xj(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=t;t=m;m=s;s=k;k=0;while(1){p=f[o+(k<<2)>>2]|0;n=f[q>>2]|0;if(p>>>0>2>>>0){x=l;y=s;z=o;A=m}else{r=p+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(D|0)!=(n|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=m;G=o}else{E=l;F=m;G=o}else{zh(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(p<<2)|0;f[B>>2]=(f[B>>2]|0)+1;k=k+1|0;if(k>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;o=z;t=y;m=A;s=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)Cq(e);s=tn(y<<1)|0;f[w>>2]=s;f[e>>2]=s;f[e+8>>2]=s+(v<<3);y=s;A=v;m=s;while(1){t=y;f[t>>2]=-1;f[t+4>>2]=-1;t=m+8|0;z=A+-1|0;if(!z)break;else{y=t;A=z;m=t}}f[w>>2]=s+(v<<3);H=s;I=s}s=f[q>>2]|0;v=f[d>>2]|0;m=s-v|0;A=m>>2;f[g>>2]=0;y=g+4|0;f[y>>2]=0;f[g+8>>2]=0;t=v;do if(A)if(A>>>0>1073741823)Cq(g);else{z=tn(m)|0;f[g>>2]=z;o=z+(A<<2)|0;f[g+8>>2]=o;pj(z|0,0,m|0)|0;f[y>>2]=o;J=z;K=o;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(v|0)){v=0;s=0;do{f[J+(v<<2)>>2]=s;s=(f[t+(v<<2)>>2]|0)+s|0;v=v+1|0}while(v>>>0>>0)}v=f[j>>2]|0;j=f[a>>2]|0;s=j;if((v|0)!=(j|0)){m=a+40|0;a=v-j>>2;j=J;v=0;g=H;z=H;o=H;x=H;l=H;k=H;while(1){F=f[s+(v<<2)>>2]|0;G=v+1|0;E=((G>>>0)%3|0|0)==0?v+-2|0:G;if((E|0)==-1)M=-1;else M=f[s+(E<<2)>>2]|0;E=((v>>>0)%3|0|0)==0;G=(E?2:-1)+v|0;if((G|0)==-1)N=-1;else N=f[s+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[m>>2]=(f[m>>2]|0)+1;O=j;P=v+2|0;Q=g;R=z;S=o;T=x;U=l;V=k}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[j+(N<<2)>>2]|0;while(1){p=f[l+(B<<3)>>2]|0;if((p|0)==-1){X=g;Y=z;Z=x;_=l;break b}if((p|0)==(M|0)){p=f[l+(B<<3)+4>>2]|0;if((p|0)==-1)$=-1;else $=f[s+(p<<2)>>2]|0;if((F|0)!=($|0))break}p=G+1|0;if((p|0)<(E|0)){G=p;B=B+1|0}else{X=g;Y=z;Z=x;_=l;break b}}p=f[x+(B<<3)+4>>2]|0;r=G;n=B;D=z;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[g+(n<<3)>>2]|0)==-1)break;else{n=C;D=g}}f[o+(n<<3)>>2]=-1;if((p|0)==-1){X=o;Y=o;Z=o;_=o}else{D=f[i>>2]|0;f[D+(v<<2)>>2]=p;f[D+(p<<2)>>2]=v;O=j;P=v;Q=o;R=o;S=o;T=o;U=o;V=k;break a}}else{X=g;Y=z;Z=x;_=l}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=k+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=J;P=v;Q=k;R=k;S=k;T=k;U=k;V=k;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=v;O=J;P=v;Q=H;R=H;S=H;T=H;U=H;V=H}else{O=j;P=v;Q=X;R=Y;S=o;T=Z;U=_;V=k}}while(0);v=P+1|0;if(v>>>0>=a>>>0)break;else{j=O;g=Q;z=R;o=S;x=T;l=U;k=V}}}f[b>>2]=A;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[y>>2]=K+(~((K+-4-J|0)>>>2)<<2);pr(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);pr(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);pr(ca)}h=1;u=c;return h|0}function nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ja,T=Ja,U=Ja,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));qm(i|0,C|0,12)|0;B=cg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=tn(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=z;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|S>$(T*U)){N=(G>>>0<3|(G+-1&G|0)!=0)&1|G<<1;K=~~$(W($(S/U)))>>>0;Wh(g,N>>>0>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(y<<2)>>2]=z;_=G;aa=z+1|0}else{G=f[j>>2]|0;f[G+(y<<2)>>2]=f[B+20>>2];_=G;aa=z}y=y+1|0;ba=f[l>>2]|0;if(y>>>0>=ba>>>0)break;else z=aa}if((aa|0)==(ba|0))ca=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))da=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);da=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0>>0?(w=y+(ba<<2)|0,(h|0)!=(w|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{zh(z,ba-x|0,1284);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=x}}f[l>>2]=aa;ca=da}if(!ca)fa=aa;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);pr(ca);fa=aa}}else fa=0;aa=f[g+8>>2]|0;if(aa|0){ca=aa;do{aa=ca;ca=f[ca>>2]|0;pr(aa)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}pr(ca);u=e;return fa|0}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=cc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=Tb(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=nc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=hc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=bc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=Ub(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=lc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=gc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=bc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=Ub(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=lc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=gc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=$b(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Qb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=ic(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=dc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=$b(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Qb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=ic(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=dc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=cc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=Tb(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=nc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=hc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=cc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=Tb(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=nc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=hc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function pc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ma[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(La[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(La[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(i,f[n+80>>2]|0)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)Cq(j);else{v=r<<2;w=tn(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;pj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Oa[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=f[j>>2]|0;A=s;p=20;break}if(!(La[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=x;A=f[m>>2]|0?x:s;p=20}}else{z=y;A=s;p=20}while(0);if((p|0)==20)Fm(A,r,z);z=a+4|0;a=f[z>>2]|0;do if(a){A=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;s=tn(48)|0;f[g>>2]=s;f[g+8>>2]=-2147483600;f[g+4>>2]=34;y=s;w=10935;x=y+34|0;do{b[y>>0]=b[w>>0]|0;y=y+1|0;w=w+1|0}while((y|0)<(x|0));b[s+34>>0]=0;w=Yj(A,g,1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;y=0;x=0;do{x=f[w+(y<<2)>>2]|x;y=y+1|0}while((y|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;y=o;w=f[y>>2]|0;A=f[y+4>>2]|0;if((A|0)>0|(A|0)==0&w>>>0>0){C=A;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0}if((B|0)==($l(5)|0)){w=f[j>>2]|0;A=o;y=f[A+4>>2]|0;if(!((y|0)>0|(y|0)==0&(f[A>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;A=0;do{y=(f[j>>2]|0)+(A<<2)|0;s=o;v=f[s+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[s>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Fe(d,g,y,y+B|0)|0}A=A+1|0}while(A>>>0>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0}Kp(g);k=f[z>>2]|0;if(k|0)Zj(g,10-(ki(f[k+48>>2]|0)|0)|0)|0;k=Hc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Cj(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ma[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);pr(d)}q=E}l=q;u=e;return l|0}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;gl(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];ec(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[v>>2]|0;if((q|0)==0&(P|0)==0){Q=j;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,q|0,P|0)|0;f[j>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=t;R=N?P:0-P|0}f[Q>>2]=R;P=f[j>>2]|0;N=f[r>>2]|0;M=f[t>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;q=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|q&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(q){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);q=0-N|0;H=0-M|0;f[j>>2]=0-P;f[r>>2]=q;f[t>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?q:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(q=(T|0)==($|0),X=(T|0)==(_|0),!(H&q|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(q&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);T=L<<1;O=b+(T<<2)|0;S=O+4|0;H=f[S>>2]|0;f[h>>2]=f[O>>2];f[x>>2]=H;f[i>>2]=Y;f[y>>2]=Z;Nd(d,n,h,i);H=f[d>>2]|0;f[k>>2]=H;M=f[z>>2]|0;f[A>>2]=M;N=f[S>>2]|0;f[h>>2]=f[O>>2];f[B>>2]=N;f[i>>2]=aa;f[C>>2]=ba;Nd(d,n,h,i);N=f[d>>2]|0;f[l>>2]=N;O=f[D>>2]|0;f[E>>2]=O;S=f[v>>2]|0;if((S|0)>=(H|0))if((H|0)<(0-S|0))ca=(f[F>>2]|0)+H|0;else ca=H;else ca=H-(f[F>>2]|0)|0;f[k>>2]=ca;if((S|0)>=(M|0))if((M|0)<(0-S|0))da=(f[F>>2]|0)+M|0;else da=M;else da=M-(f[F>>2]|0)|0;f[a>>2]=da;if((S|0)>=(N|0))if((N|0)<(0-S|0))ea=(f[F>>2]|0)+N|0;else ea=N;else ea=N-(f[F>>2]|0)|0;f[l>>2]=ea;if((S|0)>=(O|0))if((O|0)<(0-S|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[G>>2]=fa;if((((da|0)>-1?da:0-da|0)+((ca|0)>-1?ca:0-ca|0)|0)<(((ea|0)>-1?ea:0-ea|0)+((fa|0)>-1?fa:0-fa|0)|0)){dj(g,0);ga=k}else{dj(g,1);ga=l}O=f[ga>>2]|0;if((O|0)<0)ha=(f[F>>2]|0)+O|0;else ha=O;O=c+(T<<2)|0;f[O>>2]=ha;T=f[ga+4>>2]|0;if((T|0)<0)ia=(f[F>>2]|0)+T|0;else ia=T;f[O+4>>2]=ia;L=L+1|0;if((L|0)>=(s|0)){ja=5;break}O=f[p>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){J=O;ja=6;break}}if((ja|0)==5){u=e;return 1}else if((ja|0)==6)Cq(J);return 0}function rc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;gl(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];Zb(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[v>>2]|0;if((q|0)==0&(P|0)==0){Q=j;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,q|0,P|0)|0;f[j>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=t;R=N?P:0-P|0}f[Q>>2]=R;P=f[j>>2]|0;N=f[r>>2]|0;M=f[t>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;q=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|q&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(q){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);q=0-N|0;H=0-M|0;f[j>>2]=0-P;f[r>>2]=q;f[t>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?q:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(q=(T|0)==($|0),X=(T|0)==(_|0),!(H&q|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(q&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);T=L<<1;O=b+(T<<2)|0;S=O+4|0;H=f[S>>2]|0;f[h>>2]=f[O>>2];f[x>>2]=H;f[i>>2]=Y;f[y>>2]=Z;Nd(d,n,h,i);H=f[d>>2]|0;f[k>>2]=H;M=f[z>>2]|0;f[A>>2]=M;N=f[S>>2]|0;f[h>>2]=f[O>>2];f[B>>2]=N;f[i>>2]=aa;f[C>>2]=ba;Nd(d,n,h,i);N=f[d>>2]|0;f[l>>2]=N;O=f[D>>2]|0;f[E>>2]=O;S=f[v>>2]|0;if((S|0)>=(H|0))if((H|0)<(0-S|0))ca=(f[F>>2]|0)+H|0;else ca=H;else ca=H-(f[F>>2]|0)|0;f[k>>2]=ca;if((S|0)>=(M|0))if((M|0)<(0-S|0))da=(f[F>>2]|0)+M|0;else da=M;else da=M-(f[F>>2]|0)|0;f[a>>2]=da;if((S|0)>=(N|0))if((N|0)<(0-S|0))ea=(f[F>>2]|0)+N|0;else ea=N;else ea=N-(f[F>>2]|0)|0;f[l>>2]=ea;if((S|0)>=(O|0))if((O|0)<(0-S|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[G>>2]=fa;if((((da|0)>-1?da:0-da|0)+((ca|0)>-1?ca:0-ca|0)|0)<(((ea|0)>-1?ea:0-ea|0)+((fa|0)>-1?fa:0-fa|0)|0)){dj(g,0);ga=k}else{dj(g,1);ga=l}O=f[ga>>2]|0;if((O|0)<0)ha=(f[F>>2]|0)+O|0;else ha=O;O=c+(T<<2)|0;f[O>>2]=ha;T=f[ga+4>>2]|0;if((T|0)<0)ia=(f[F>>2]|0)+T|0;else ia=T;f[O+4>>2]=ia;L=L+1|0;if((L|0)>=(s|0)){ja=5;break}O=f[p>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){J=O;ja=6;break}}if((ja|0)==5){u=e;return 1}else if((ja|0)==6)Cq(J);return 0}function sc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0

>>0?(r=q+(l<<2)|0,(o|0)!=(r|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=k;t=j;v=n}else{s=k;t=j;v=n}else{zi(g,l-p|0);p=f[h>>2]|0;s=p;t=f[i>>2]|0;v=p}p=t-s|0;l=p>>2;f[c>>2]=0;n=c+4|0;f[n>>2]=0;j=c+8|0;f[j>>2]=0;if(l|0){if((p|0)<0)Cq(c);p=((l+-1|0)>>>5)+1|0;k=tn(p<<2)|0;f[c>>2]=k;f[j>>2]=p;f[n>>2]=l;n=l>>>5;pj(k|0,0,n<<2|0)|0;p=l-(n<<5)|0;l=k+(n<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=s;s=t;t=v;v=0;while(1){if(v>>>0>2>>>0){w=t;x=l;y=0;z=0;A=v}else{B=25;break}while(1){n=z>>>5;k=1<<(z&31);do if(!(f[(f[c>>2]|0)+(n<<2)>>2]&k)){j=f[w+(z<<2)>>2]|0;if((f[j+8>>2]|0)!=(f[j+4>>2]|0)){r=j;j=w;o=1;m=0;while(1){q=f[(f[r+4>>2]|0)+(m<<2)>>2]|0;C=j;D=0;while(1){E=f[C+(z<<2)>>2]|0;if((D|0)>=(Ma[f[(f[E>>2]|0)+24>>2]&127](E,q)|0)){F=o;break}E=f[(f[h>>2]|0)+(z<<2)>>2]|0;G=Na[f[(f[E>>2]|0)+28>>2]&31](E,q,D)|0;if((G|0)!=(z|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=f[h>>2]|0;D=D+1|0}m=m+1|0;j=f[h>>2]|0;r=f[j+(z<<2)>>2]|0;if(m>>>0>=(f[r+8>>2]|0)-(f[r+4>>2]|0)>>2>>>0)break;else o=F}o=j;if(F)H=o;else{I=o;J=y;K=A;break}}else H=x;f[(f[g>>2]|0)+(A<<2)>>2]=z;o=(f[c>>2]|0)+(n<<2)|0;f[o>>2]=f[o>>2]|k;I=H;J=1;K=A+1|0}else{I=x;J=y;K=A}while(0);z=z+1|0;L=f[i>>2]|0;M=L-I>>2;w=I;if(z>>>0>=M>>>0)break;else{x=I;y=J;A=K}}if(K>>>0>>0&(J^1)){N=0;break}else{l=I;s=L;t=w;v=K}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;K=f[a+4>>2]|0;a=(f[K+12>>2]|0)-(f[K+8>>2]|0)|0;K=a>>2;f[e>>2]=0;v=e+4|0;f[v>>2]=0;w=e+8|0;f[w>>2]=0;if(K|0){if((a|0)<0)Cq(e);a=((K+-1|0)>>>5)+1|0;L=tn(a<<2)|0;f[e>>2]=L;f[w>>2]=a;f[v>>2]=K;v=K>>>5;pj(L|0,0,v<<2|0)|0;a=K-(v<<5)|0;K=L+(v<<2)|0;if(a|0)f[K>>2]=f[K>>2]&~(-1>>>(32-a|0))}a:do if((s|0)==(l|0))O=1;else{a=l;K=s;v=t;L=0;while(1){w=f[(f[g>>2]|0)+(L<<2)>>2]|0;I=f[v+(w<<2)>>2]|0;J=(f[I+8>>2]|0)-(f[I+4>>2]|0)|0;I=J>>2;if((J|0)<8){P=a;Q=K}else{J=f[B>>2]|0;M=f[d>>2]|0;A=J-M>>2;y=M;M=J;if(I>>>0<=A>>>0)if(I>>>0>>0?(J=y+(I<<2)|0,(M|0)!=(J|0)):0){f[B>>2]=M+(~((M+-4-J|0)>>>2)<<2);R=0}else R=0;else{zi(d,I-A|0);R=0}while(1){if((R|0)<(I|0)){S=0;T=0;U=R}else break;while(1){A=f[(f[h>>2]|0)+(w<<2)>>2]|0;J=f[(f[A+4>>2]|0)+(T<<2)>>2]|0;M=T>>>5;y=1<<(T&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){x=A;A=1;z=0;while(1){if((z|0)>=(Ma[f[(f[x>>2]|0)+24>>2]&127](x,J)|0)){V=A;break}H=f[(f[h>>2]|0)+(w<<2)>>2]|0;F=Na[f[(f[H>>2]|0)+28>>2]&31](H,J,z)|0;H=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=A&H;if(!H){V=F;break}x=f[(f[h>>2]|0)+(w<<2)>>2]|0;A=F;z=z+1|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=T;z=(f[e>>2]|0)+(M<<2)|0;f[z>>2]=f[z>>2]|y;W=1;X=U+1|0}else{W=S;X=U}}else{W=S;X=U}T=T+1|0;if((T|0)>=(I|0))break;else{S=W;U=X}}if(W|(X|0)>=(I|0))R=X;else{O=0;break a}}$f(f[(f[h>>2]|0)+(w<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}L=L+1|0;if(L>>>0>=Q-P>>2>>>0){O=1;break}else{a=P;K=Q;v=P}}}while(0);P=f[e>>2]|0;if(P|0)pr(P);P=f[d>>2]|0;if(P|0){d=f[B>>2]|0;if((d|0)!=(P|0))f[B>>2]=d+(~((d+-4-P|0)>>>2)<<2);pr(P)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}pr(O);u=b;return N|0} +function ri(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1356;fi(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Qa[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}pr(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);pr(g);return}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)Cq(d);k=((b+-1|0)>>>5)+1|0;b=tn(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;zg(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)pr(g);u=c;return}function ti(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+136|0;c=f[b>>2]|0;if(c|0){d=a+140|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);pr(g)}g=f[a+92>>2]|0;if(!g){sj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);pr(g);sj(a);return}function ui(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3808;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=-1;f[a+320>>2]=-1;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Cq(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;jp(k,16426);f[k>>2]=7416;va(k|0,1160,122)}else{m=tn(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)eh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;pr(d);return}function wi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=go(c|0,d|0,7,0)|0;d=Jk(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=go(k|0,0,8,0)|0;m=e?l:k;l=go(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(l>>>0<=k>>>0)if(l>>>0>>0?(g=h+l|0,(i|0)!=(g|0)):0){f[c>>2]=g;n=h}else n=h;else{Bi(a,l-k|0);n=f[a>>2]|0}k=tn(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}pr(a);j=1;return j|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=xg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=tn(40)|0;nj(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}He(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function yi(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)Cq(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=tn(p)|0;if(g|0)Yo(o,m,g)|0;if(i|0)Yo(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Yo(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)pr(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Vp(o+p|0,l);u=k;return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){pj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Cq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;pj(d|0,0,b<<2|0)|0;j=d+(0-g<<2)|0;if((i|0)>0)eh(j|0,h|0,i|0)|0;f[a>>2]=j;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;pr(h);return}function Ai(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=+d;l=i;i=j;while(1){if(l<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Ln(m,i+1|0,18953,g)|0;if((n|0)>-1)if(n>>>0>i>>>0)o=n;else break;else o=i<<1|1;Fj(c,o,0);l=b[h>>0]|0;i=o}Fj(c,n,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Bi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=h;j=c;do{b[i>>0]=0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=h-j|0;h=i+c|0;if((h|0)<0)Cq(a);k=e-j|0;j=k<<1;e=k>>>0<1073741823?(j>>>0>>0?h:j):2147483647;if(!e)l=0;else l=tn(e)|0;j=l+i|0;i=l+e|0;e=j;l=c;c=j;do{b[e>>0]=0;e=c+1|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;h=j+(0-e)|0;if((e|0)>0)eh(h|0,l|0,e|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=i;if(!l)return;pr(l);return}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/136|0;h=d;if(g>>>0>>0){Ae(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((h|0)==(g|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);pr(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);pr(h)}Ki(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Di(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ld(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ld(a,e);return}function Ei(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Fi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Ln(l,i+1|0,18950,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;Fj(c,n,0);k=b[h>>0]|0;i=n}Fj(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Gi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(i|0)!=(h|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{zi(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)Cq(b);else if((m|0)==12)return d|0;return 0}function Hi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=Bn()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=f[1826];Sn(19042,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;j=Na[f[(f[270]|0)+16>>2]&31](1080,k,g)|0;k=f[1826]|0;if(j){j=f[g>>2]|0;g=La[f[(f[j>>2]|0)+8>>2]&127](j)|0;f[e>>2]=k;f[e+4>>2]=h;f[e+8>>2]=g;Sn(18956,e)}else{f[d>>2]=k;f[d+4>>2]=h;Sn(19001,d)}}Sn(19080,b)}function Ii(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=30;h=g;i=16219;j=h+30|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+30>>0]=0;g=a+4|0;Vj(g,e,c);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);a=tn(32)|0;f[e>>2]=a;f[e+8>>2]=-2147483616;f[e+4>>2]=29;h=a;i=15906;j=h+29|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[a+29>>0]=0;Vj(g,e,c);if((b[e+11>>0]|0)>=0){u=d;return}pr(f[e>>2]|0);u=d;return}function Ji(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=bn(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=a+108|0;l=g-(f[k>>2]|0)|0;g=i;if((i-j|0)<(l|0)){m=g;n=g;o=j;p=k}else{m=j+(l+-1)|0;n=g;o=j;p=k}}else{k=f[c>>2]|0;m=k;n=k;o=f[a+4>>2]|0;p=a+108|0}f[a+100>>2]=m;if(n|0)f[p>>2]=n+1-o+(f[p>>2]|0);p=o+-1|0;if((h[p>>0]|0|0)==(d|0))q=d;else{b[p>>0]=d;q=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;q=-1}return q|0}function Ki(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+12>>2]|0;if(b|0)pr(b);b=f[a>>2]|0;if(!b)return;pr(b);return}function Li(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1416;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;pr(b)}pr(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);pr(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pr(d)}pr(e)}pr(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Mi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}f[a+4>>2]=3764;b=f[a+24>>2]|0;if(b|0)pr(b);b=f[a+12>>2]|0;if(!b)return;pr(b);return}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(lr()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=er()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=er()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];ik(a+32|0,c+24|0);f[a>>2]=2448;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2504;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));en(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Pi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=tn(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14799;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;Wj(a,g,c);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);c=tn(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14814;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;Wj(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}pr(f[g>>2]|0);u=e;return}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];ik(a+32|0,c+24|0);f[a>>2]=2028;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2084;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));en(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Ri(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2504;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0)pr(b);b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0)pr(b);b=f[a+60>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Si(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Bj(d+12|0,f[c+44>>2]|0,g)|0)){g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=16250;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;nj(a+4|0,e);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)Cq(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;jp(k,16426);f[k>>2]=7416;va(k|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];b=k+(0-g<<2)|0;if((e|0)>0)eh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;pr(d);return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((ki(f[c>>2]|0)|0)>9){d=0;return d|0}if((La[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((ki(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=ki(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((ki(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function Vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2084;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0)pr(b);b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0)pr(b);b=f[a+60>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Wi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=6752;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=1;n=h;o=4}else{h=er()|0;f[h>>2]=75;p=-1}else{m=c;n=a;o=4}if((o|0)==4){o=-2-n|0;a=m>>>0>o>>>0?o:m;f[i+48>>2]=a;m=i+20|0;f[m>>2]=n;f[i+44>>2]=n;o=n+a|0;n=i+16|0;f[n>>2]=o;f[i+28>>2]=o;o=wh(i,d,e)|0;if(!a)p=o;else{a=f[m>>2]|0;b[a+(((a|0)==(f[n>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3608;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+264|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;return}function Yi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Ej(d)|0;if(i>>>0>4294967279)Cq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=tn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){eh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;dm(c,g,e);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);h=1;u=a;return h|0}function Zi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Ej(d)|0;if(i>>>0>4294967279)Cq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=tn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){eh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;fm(c,g,e);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);h=1;u=a;return h|0}function _i(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){_i(h);pr(h)}if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);pr(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)pr(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;pr(h)}if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);pr(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;pr(d);return}function $i(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=f[c+48>>2]|0;if(!h){i=tn(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=16066;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;nj(a+4|0,g);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);u=e;return}g=f[c+52>>2]|0;if(!g){Lc(a,c,h,d);u=e;return}else{yg(a,c,g,d);u=e;return}}function aj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;gl(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=mr(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{Gn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Dj(g)}while((g|0)!=(a|0))}nr(d)}if((f[b>>2]|0)>0)h=0;else return;do{gl((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!b){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=tn(52)|0;Ob(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){_i(j);pr(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}pr(h)}_i(b);pr(b);d=1;return d|0}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}l=j+c|0;if((k-j|0)>>>0>>0){vj(a,k,l-k|0,j,j,0,0);m=b[h>>0]|0}else m=i;if(m<<24>>24<0)n=f[a>>2]|0;else n=a;ao(n+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=l;else b[h>>0]=l;b[g>>0]=0;Vp(n+l|0,g)}u=e;return a|0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=go(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;d=c;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;g=f[d>>2]|0;h=d}d=g+1|0;f[h>>2]=d;if((d|0)!=32)return;d=a+24|0;g=a+16|0;e=f[g>>2]|0;if((e|0)==(f[a+20>>2]|0))Ti(a+12|0,d);else{f[e>>2]=f[d>>2];f[g>>2]=e+4}f[h>>2]=0;f[d>>2]=0;return}function ej(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pr(a)}pr(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;pr(c)}pr(d)}pr(b);return}function fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));vh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);pr(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function gj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Wo(l,c,d)|0;b[g>>0]=0;Vp(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;yi(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function hj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);pr(d)}Ki(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}pr(e);return}function ij(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=4076;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Qa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}pr(e);return}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=lm(e,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=jl(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ma[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}i=k+d|0;if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Yo(m+k|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[g>>0]=0;Vp(m+i|0,g)}}else yi(a,l,i-l|0,k,k,0,d,c);u=e;return a|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!(ro(a,b,c)|0)){d=0;return d|0}if(!(La[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=g;g=0;while(1){i=f[(f[h>>2]|0)+(g<<2)>>2]|0;if(!(Na[f[(f[i>>2]|0)+8>>2]&31](i,b,f[a+(g<<2)>>2]|0)|0)){d=0;j=7;break}g=g+1|0;a=f[c>>2]|0;if(g>>>0>=(f[e>>2]|0)-a>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function mj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;i=c+54|0;j=c+48|0;k=c+24|0;l=c+36|0;if(!h){f[a>>2]=d;f[k>>2]=g;f[l>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[i>>0]=1;break}if((h|0)!=(d|0)){f[l>>2]=(f[l>>2]|0)+1;b[i>>0]=1;break}l=f[k>>2]|0;if((l|0)==2){f[k>>2]=g;m=g}else m=l;if((f[j>>2]|0)==1&(m|0)==1)b[i>>0]=1}while(0);return}function nj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)Cq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=tn(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Yo(i,g,h)|0;b[e>>0]=0;Vp(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function oj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;do if(!(Ep(a,f[c+8>>2]|0,g)|0)){if(Ep(a,f[c>>2]|0,g)|0){h=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[h>>2]=e;f[i>>2]=d;i=c+40|0;f[i>>2]=(f[i>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[h>>2]=1}}else $m(0,c,d,e);while(0);return}function pj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=e;e=0;do{vg(g+(e*24|0)|0,b)|0;e=e+1|0;g=f[c>>2]|0}while(e>>>0<(((f[d>>2]|0)-g|0)/24|0)>>>0)}g=a+48|0;d=a+52|0;a=f[g>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{h=a;i=0}do{a=f[h+(i<<2)>>2]|0;ai(a<<1^a>>31,b)|0;i=i+1|0;h=f[g>>2]|0}while(i>>>0<(f[d>>2]|0)-h>>2>>>0);return 1}function rj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if(!(La[f[(f[a>>2]|0)+64>>2]&127](a)|0)){e=0;u=c;return e|0}g=f[a+48>>2]|0;h=tn(32)|0;f[d>>2]=h;f[d+8>>2]=-2147483616;f[d+4>>2]=29;i=h;j=15906;k=i+29|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+29>>0]=0;h=Yj(g,d,0)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);if(!h){e=1;u=c;return e|0}Qa[f[(f[a>>2]|0)+68>>2]&127](a);e=1;u=c;return e|0}function sj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<5)|0;do{e=e+-32|0;Dj(e)}while((e|0)!=(c|0))}nr(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);pr(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)pr(e);e=f[a+32>>2]|0;if(!e){Dj(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e);Dj(a);return}function tj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3156;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0)pr(b);b=f[a+64>>2]|0;if(b|0)pr(b);b=f[a+52>>2]|0;if(b|0)pr(b);b=f[a+40>>2]|0;if(!b)return;pr(b);return}function uj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(c>>>0>i>>>0){Bi(a,c-i|0);break}if(c>>>0>>0?(i=h+c|0,(g|0)!=(i|0)):0)f[d>>2]=i}else Bg(a,b,b+c|0);while(0);c=a+24|0;a=c;b=go(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function vj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)Cq(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=tn(m)|0;if(g|0)Yo(l,j,g)|0;k=e-h-g|0;if(k|0)Yo(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)pr(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function wj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2792;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0)pr(b);b=f[a+64>>2]|0;if(b|0)pr(b);b=f[a+52>>2]|0;if(b|0)pr(b);b=f[a+40>>2]|0;if(!b)return;pr(b);return}function xj(a,b){a=a|0;b=b|0;if(!b)return;else{xj(a,f[b>>2]|0);xj(a,f[b+4>>2]|0);Cj(b+20|0,f[b+24>>2]|0);pr(b);return}}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Xf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0>>0);return}function zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=tn(32)|0,In(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(g)}g=$l(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,g)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=En(e|0,g|0,c|0,0)|0;if(!(uj(h,0,i,I)|0)){j=0;return j|0}Mk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Ep(a,b,0)|0))if((b|0)!=0?(g=Bh(b,1104,1088,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ta[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;ai((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){ai(f[h+40>>2]|0,b)|0;jg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}jg(a,b,c)|0;d=1;return d|0}function Cj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Cj(a,f[c>>2]|0);Cj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);pr(c);return}function Dj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);pr(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);pr(c);u=b;return}function Ej(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=c;h=a;while(1){if(!(b[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){d=j;e=4;break}else h=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Fj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Vp(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Vp(a+c|0,g);b[h>>0]=c;break}else cj(a,c-k|0,d)|0;while(0);u=e;return}function Gj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}pr(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;pr(c)}pr(d)}pr(a);return}function Hj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=tn(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=bg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ei(a);pr(a);return}function Jj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(zl(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Na[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Lj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;while(1){d=b[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Hq(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=d;j=0;k=c}}if((h|0)==5){i=b[f>>0]|0;j=g;k=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=f;f=0;g=k;while(1){g=g+1|0;k=(f*10|0)-i|0;i=(b[g>>0]|0)+-48|0;if(i>>>0>=10){l=k;break}else f=k}}else l=0;return (j|0?l:0-l|0)|0}function Mj(a,b){a=a|0;b=b|0;if(!b)return;else{Mj(a,f[b>>2]|0);Mj(a,f[b+4>>2]|0);Cj(b+20|0,f[b+24>>2]|0);pr(b);return}}function Nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=e+4|0;f[g>>2]=c;c=a+4|0;a=tn(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=a;j=14756;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+17>>0]=0;Wj(Bd(c,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}pr(f[h>>2]|0);u=e;return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)ue(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}cq(f[c+(e<<2)>>2]|0);d=1;return d|0}function Pj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a&255;e=a&255;if((f[c+76>>2]|0)>=0?(vr(c)|0)!=0:0){if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Kj(c,a)|0;ur(c);j=i}else k=3;do if((k|0)==3){if((e|0)!=(b[c+75>>0]|0)?(i=c+20|0,h=f[i>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=h+1;b[h>>0]=d;j=e;break}j=Kj(c,a)|0}while(0);return j|0}function Qj(a){a=a|0;if(!a)return;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function Rj(a){a=a|0;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);return}function Sj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=a;f=c;c=d;while(1){g=qn(e|0,f|0,10,0)|0;c=c+-1|0;b[c>>0]=g&255|48;g=e;e=Ip(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=I}h=c;i=e}else{h=d;i=a}if(!i)j=h;else{a=h;h=i;while(1){i=a+-1|0;b[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{a=i;h=(h>>>0)/10|0}}}return j|0}function Tj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;ml(g,d);h=xi(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}mh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Uj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Fe(g,c,e,e+4|0)|0;u=b;return 1}function Vj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;pl(g,d&1);d=xi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}mh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;pl(g,d);d=xi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}mh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}g=(f[e>>2]|0)-d|0;h=g>>2;i=tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;if((g|0)>0)eh(k|0,d|0,g|0)|0;f[a>>2]=k;f[e>>2]=j;f[c>>2]=i+(b<<2);if(!d)return;pr(d);return}function Yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Lj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function Zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(c>>>0>10){g=0;u=d;return g|0}h=tn(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=16378;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;Wj(a,e,c);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);g=1;u=d;return g|0}function _j(a){a=a|0;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function $j(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0,h=0,i=0.0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=b+1022|0;e=(d|0)<-1022;g=b+2044|0;h=e?((g|0)>-1022?g:-1022):d;i=e?c*2.2250738585072014e-308:c}else{h=b;i=a}else{c=a*8988465674311579538646525.0e283;e=b+-1023|0;d=(e|0)>1023;g=b+-2046|0;h=d?((g|0)<1023?g:1023):e;i=d?c*8988465674311579538646525.0e283:c}d=eo(h+1023|0,0,52)|0;h=I;f[s>>2]=d;f[s+4>>2]=h;return +(i*+p[s>>3])}function ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function bk(a){a=a|0;f[a>>2]=3496;Cj(a+28|0,f[a+32>>2]|0);Mj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);return}function ck(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[17045+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=87;j=17133;e=5;break}else d=g}if((e|0)==2)if(!d)k=17133;else{i=d;j=17133;e=5}if((e|0)==5)while(1){e=0;d=j;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);i=i+-1|0;if(!i){k=d;break}else{j=d;e=5}}return Nq(k,f[c+20>>2]|0)|0}function dk(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=jo(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+dk(a*18446744073709551616.0,b);h=(f[b>>2]|0)+-64|0;i=g}else{h=0;i=a}f[b>>2]=h;j=i;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function ek(a){a=a|0;f[a>>2]=3496;Cj(a+28|0,f[a+32>>2]|0);Mj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function fk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=a;g=0}else{b=1;return b|0}while(1){a=f[e+(g<<2)>>2]|0;g=g+1|0;if(!(Ll(a,a)|0)){b=0;h=5;break}e=f[c>>2]|0;if((g|0)>=((f[d>>2]|0)-e>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=e;e=0;while(1){i=f[a+(e<<2)>>2]|0;e=e+1|0;if(!(Na[f[(f[i>>2]|0)+20>>2]&31](i,h,b)|0)){g=0;j=5;break}a=f[c>>2]|0;if(e>>>0>=(f[d>>2]|0)-a>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=a;h=0}while(1){a=f[g+(h<<2)>>2]|0;h=h+1|0;if(!(Ma[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}g=f[c>>2]|0;if(h>>>0>=(f[d>>2]|0)-g>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)Cq(a);h=tn(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;eh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function jk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=d;d=0;while(1){h=f[a+(d<<2)>>2]|0;d=d+1|0;if(!(Ma[f[(f[h>>2]|0)+16>>2]&127](h,g)|0)){e=0;i=5;break}a=f[b>>2]|0;if(d>>>0>=(f[c>>2]|0)-a>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function kk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=tn(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14740;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;Wj(a+4|0,e,c);if((b[e+11>>0]|0)>=0){u=d;return}pr(f[e>>2]|0);u=d;return}function lk(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=b;if(b|0?(c=Bh(b,1072,1056,0)|0,c|0):0){d=tn(56)|0;Um(d,c);c=f[a>>2]|0;f[a>>2]=d;if(!c)return;Qa[f[(f[c>>2]|0)+4>>2]&127](c);return}c=tn(56)|0;Qm(c,b);b=f[a>>2]|0;f[a>>2]=c;if(!b)return;Qa[f[(f[b>>2]|0)+4>>2]&127](b);return}function mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function nk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(La[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ma[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ma[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Cq(a);e=tn(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;e=b;do{ik(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;e=e+-1|0}while((e|0)!=0);return}function pk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Rg(a+40|0,b);d=1;return d|0}return 0}function qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Li(a);pr(a);return}Qa[f[(f[d>>2]|0)+4>>2]&127](d);Li(a);pr(a);return}function sk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Nk(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){pr(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c);pr(a);return}function vk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Ja,h=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+jr(h));return $(g)}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b)return;pr(b);return}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){pr(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c);pr(a);return}function zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Li(a);return}Qa[f[(f[d>>2]|0)+4>>2]&127](d);Li(a);return}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Ic(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{qm(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Bk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ma[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b)return;pr(b);return}function Dk(a){a=a|0;var b=0,c=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Ek(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Na[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Og(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Lj(g)|0)+1|0)>>>0>1;return e|0}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;dn(e,0);i=+Nc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+84>>2]|0;if(!b){Kg(a);pr(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);Kg(a);pr(a);return}function Ik(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Lj(h)|0;return g|0}function Jk(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=io(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return io((Fd(i,b,io(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Kk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=c+16|0;g=f[a>>2]|0;h=c+36|0;i=c+24|0;do if(g){if((g|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[a>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Lk(a){a=a|0;var b=0,c=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Mk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(b>>>0<=g>>>0){if(b>>>0>>0?(d=h+b|0,(e|0)!=(d|0)):0)f[c>>2]=d}else Bi(a,b-g|0);g=a+24|0;a=g;b=go(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Ok(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Og(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Lj(g)|0;return e|0}function Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+84>>2]|0;if(!b){Kg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);Kg(a);return}function Qk(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;pj(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{sp(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;sp(a,g,h)}u=f;return}function Tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Uk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Ep(a,f[b+8>>2]|0,g)|0)mj(0,b,c,d,e);else{h=f[a+8>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function Vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2364;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+4>>2]|0;if(!b){pr(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1944;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Yk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Zk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function _k(a){a=a|0;var b=0,c=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function $k(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Fj(a,d,0);return}function al(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=e*+Ug(e);e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function bl(a){a=a|0;var b=0,c=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function dl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function el(a){a=a|0;var b=0,c=0;f[a>>2]=2364;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function fl(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function gl(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=b;return}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Ep(a,f[b+8>>2]|0,0)|0)Kk(0,b,c,d);else{e=f[a+8>>2]|0;Ta[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function il(a){a=a|0;var b=0,c=0;f[a>>2]=1944;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function jl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function kl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function ll(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=a;a=c;do{d=d+1|0;a=a+1|0;c=b[d>>0]|0;e=b[a>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function ml(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;$k(d);Ai(a,d,b);To(d);u=c;return}function nl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);pr(b);return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function pl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;$k(d);Fi(a,d,b);To(d);u=c;return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Fo(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function rl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function tl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function ul(a){a=a|0;var b=0;if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}b=(f[a+36>>2]|0)!=0;return b|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;fh(a,c);f[a>>2]=1472;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function wl(a){a=a|0;var b=0,c=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){pr(a);return}nr(c);pr(a);return}function xl(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function yl(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=h[17027+(g&15)>>0]|0|e;g=jo(g|0,a|0,4)|0;a=I;if((g|0)==0&(a|0)==0){f=d;break}else c=d}}return f|0}function zl(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Al(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Bl(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Cl(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Dl(a){a=a|0;tj(a);pr(a);return}function El(a){a=a|0;var b=0,c=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){pr(a);return}nr(c);pr(a);return}function Fl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(b>>>0>g>>>0){Bi(a,b-g|0);return}if(b>>>0>=g>>>0)return;g=e+b|0;if((d|0)==(g|0))return;f[c>>2]=g;return}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Yf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Il(a,b){a=a|0;b=b|0;var c=0;if(!(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ma[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ma[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Jl(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Kl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+40>>2]=c;d=1;return d|0}function Ll(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];e=oc(a,b,d)|0;u=c;return e|0}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Nl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;g=d;while(1){d=g+(c*10|0)|0;e=e+1|0;f[a>>2]=e;g=(b[e>>0]|0)+-48|0;if(g>>>0>=10){h=d;break}else c=d}}else h=0;return h|0}function Ol(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Pl(a){a=a|0;wj(a);pr(a);return}function Ql(a){a=a|0;var b=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;nr(a);return}function Rl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Sl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=f&7|48;f=jo(f|0,a|0,3)|0;a=I;if((f|0)==0&(a|0)==0){e=d;break}else c=d}}return e|0}function Tl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+60>>2]=c;d=1;return d|0}function Ul(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ep(a,f[b+8>>2]|0,g)|0)mj(0,b,c,d,e);return}function Vl(a){a=a|0;var b=0,c=0;b=f[a+64>>2]|0;if(!b)return;c=La[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;f[a+60>>2]=(((f[c+4>>2]|0)-(f[c>>2]|0)>>2>>>0)/3|0)-(f[c+40>>2]|0);return}function Wl(a){a=a|0;var b=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;nr(a);return}function Xl(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Li(a);pr(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Li(a);pr(a);return}function Yl(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;hh(a+20|0,g,d);u=c;return}function Zl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function _l(a){a=a|0;Ri(a);pr(a);return}function $l(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function am(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;hh(a+20|0,g,d);u=c;return}function bm(){var a=0,b=0;a=tn(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function cm(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function dm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;Yb(a,b,e);u=d;return}function em(a){a=a|0;f[a>>2]=3784;Mi(a+8|0);pr(a);return}function fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;ac(a,b,e);u=d;return}function gm(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;gj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ej(b)|0;d=tn(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=fq(d)|0;eh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function jm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){ij(a);pr(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);ij(a);pr(a);return}function km(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Li(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Li(a);return}function lm(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function mm(a){a=a|0;Vi(a);pr(a);return}function nm(a){a=a|0;f[a>>2]=3784;Mi(a+8|0);return}function om(a){a=a|0;var b=0,c=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ep(a,f[b+8>>2]|0,0)|0)Kk(0,b,c,d);return}function qm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else eh(a,c,d)|0;return a|0}function rm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b){pr(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function sm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function um(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function vm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){ij(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);ij(a);return}function wm(){var a=0,b=0;a=Bn()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)bp(f[b+12>>2]|0);bp(rq()|0)}function xm(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 Rf(a,b,c,d,e,f,6)|0}function ym(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 Qf(a,b,c,d,e,f,4)|0}function zm(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 Sf(a,b,c,d,e,f,2)|0}function Am(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 Qf(a,b,c,d,e,f,3)|0}function Bm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function Cm(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 Sf(a,b,c,d,e,f,1)|0}function Dm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function Em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+Ug(d);c=-(f+e*+Ug(e));return +c}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function Gm(a){a=a|0;var b=0;No(a);f[a>>2]=3408;f[a+40>>2]=1260;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Hm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Im(a){a=a|0;var b=0,c=0;if(Uq(a)|0?(b=nq(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)pr(b);return}function Jm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=go(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Km(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 Rf(a,b,c,d,e,f,5)|0}function Lm(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 Rf(a,b,c,d,e,f,9)|0}function Mm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b)return;pr(b);return}function Nm(a){a=a|0;var b=0,c=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Om(a){a=a|0;var c=0;f[a>>2]=1416;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function Pm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b)return;pr(b);return}function Qm(a,b){a=a|0;b=b|0;f[a>>2]=3496;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=0;return}function Rm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;eh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Tm(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function Um(a,b){a=a|0;b=b|0;f[a>>2]=3496;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=b;return}function Vm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);pr(b);return}function Wm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Xm(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function Ym(a,b,c){a=a|0;b=b|0;c=c|0;return Na[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Zm(a){a=a|0;var c=0;Ol(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function _m(a){a=a|0;f[a>>2]=3324;Dj(a+88|0);pr(a);return}function $m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Eg(a,b,c,d,e,f);return}function bn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Ek(a)|0)==0?(Na[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function cn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function en(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;return}function fn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=$(g);Eg(f[a>>2]|0,b,c,d,e,g);return}function gn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);an(a,b,c,d,e,f);return}function hn(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 xm(a,b,c,d,e,f)|0}function jn(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 ym(a,b,c,d,e,f)|0}function kn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function ln(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pr(b)}pr(a);return}function mn(a){a=a|0;f[a>>2]=2960;Dj(a+88|0);pr(a);return}function nn(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 zm(a,b,c,d,e,f)|0}function on(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 Am(a,b,c,d,e,f)|0}function pn(a){a=a|0;f[a>>2]=3324;Dj(a+88|0);return}function qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Fd(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function rn(a){a=a|0;var b=0;oo(a);f[a>>2]=6308;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function sn(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 Cm(a,b,c,d,e,f)|0}function tn(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Wa(b)|0;if(a|0){c=a;break}a=pq()|0;if(!a){c=0;break}Pa[a&3]()}return c|0}function un(a,b,c){a=a|0;b=b|0;c=c|0;_b(a,b,c);return}function vn(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b)return;pr(b);return}function wn(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 Km(a,b,c,d,e,f)|0}function xn(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 Lm(a,b,c,d,e,f)|0}function yn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);fn(a,b,c,d,e,f);return}function zn(a){a=a|0;f[a>>2]=2960;Dj(a+88|0);return}function An(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=sr(f[a+60>>2]|0)|0;f[c>>2]=d;d=Fo(Ba(6,c|0)|0)|0;u=b;return d|0}function Bn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ga(20088,3)|0)){b=Ea(f[5023]|0)|0;u=a;return b|0}else Sn(19231,a);return 0}function Cn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b)return;pr(b);return}function Dn(a){a=a|0;var b=0;if(!a)return;b=f[a>>2]|0;f[a>>2]=0;if(b|0)Qa[f[(f[b>>2]|0)+4>>2]&127](b);pr(a);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=hm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function Fn(a,b){a=a|0;b=b|0;fh(a,b);f[a>>2]=1356;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Gn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Hn(a){a=a|0;var b=0;b=u;u=u+16|0;tc(a);if(!(Ha(f[5023]|0,0)|0)){u=b;return}else Sn(19330,b)}function In(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Jn(a,b){a=a|0;b=b|0;return vg(a+40|0,b)|0}function Kn(a,b){a=a|0;b=b|0;return kj(a,b,Pq(b)|0)|0}function Ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Wi(a,b,c,g)|0;u=e;return d|0}function Mn(a,b){a=a|0;b=b|0;return Jj(a+40|0,b)|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ph(a,b,c,d)|0}function On(a){a=a|0;var b=0;f[a>>2]=4076;f[a+52>>2]=0;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ph(a,b,c,d)|0}function Qn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Rn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[1595]|0;wh(b,a,d)|0;Pj(10,b)|0;Ca()}function Tn(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 Oa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Un(a){a=a|0;var b=0;b=f[a+56>>2]|0;f[a+60>>2]=((f[b+100>>2]|0)-(f[b+96>>2]|0)|0)/12|0;return}function Vn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Xn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Yn(){var a=0;a=u;u=u+16|0;if(!(Fa(20092,125)|0)){u=a;return}else Sn(19280,a)}function Zn(a){a=a|0;f[a>>2]=1216;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3472;return}function _n(a){a=a|0;We(a);pr(a);return}function $n(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function ao(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)pj(a|0,(Oq(c)|0)&255|0,b|0)|0;return a|0}function bo(a){a=a|0;return 4}function co(a,b,c){a=a|0;b=b|0;c=c|0;return bj(0,b,c)|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function ho(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Ah(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xe(a,b,c,d)|0}function lo(a){a=a|0;$e(a);pr(a);return}function mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Yi(a,b,c,d)|0}function no(a){a=a|0;return 5}function oo(a){a=a|0;var b=0;f[a>>2]=6348;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function po(a){a=a|0;return 6}function qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zi(a,b,c,d)|0}function ro(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function so(a,b,c){a=a|0;b=b|0;c=c|0;Nj(a,b,c);return}function to(a,b){a=a|0;b=b|0;Ii(f[a>>2]|0,b);return}function uo(a,b,c){a=a|0;b=b|0;c=c|0;so(a,b,c);return}function vo(a){a=a|0;var b=0;b=f[a+64>>2]|0;return La[f[(f[b>>2]|0)+28>>2]&127](b)|0}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oe(a,b,c,d,1);return}function xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oe(a,b,c,d,0);return}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(a,b,c,d)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;return di(a,b,c)|0}function Ao(a){a=a|0;var b=0;b=f[a+64>>2]|0;return La[f[(f[b>>2]|0)+32>>2]&127](b)|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;Nj(f[a>>2]|0,b,c);return}function Co(a,b,c){a=a|0;b=b|0;c=c|0;return bj(a,b,c)|0}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return co(a,b,c)|0}function Eo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0)}function Fo(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=er()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;return Gh(a,b,c)|0}function Ho(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Io(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Jo(a,b){a=a|0;b=b|0;f[a+56>>2]=b;Hp(a,b);return}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;Bo(a,b,c);return}function Lo(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Mo(a,b){a=a|0;b=b|0;Ii(a,b);return}function No(a){a=a|0;Om(a);f[a>>2]=1540;f[a+36>>2]=0;return}function Oo(a){a=a|0;On(a);f[a>>2]=3892;f[a+56>>2]=0;f[a+60>>2]=0;return}function Po(a){a=a|0;var b=0;if(!a)b=0;else b=(Bh(a,1104,1192,0)|0)!=0;return b&1|0}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;Ro(f[a>>2]|0,b,c);return}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;Pi(a+4|0,b,c);return}function So(a){a=a|0;var b=0;b=tn(8)|0;lk(b,a);return b|0}function To(a){a=a|0;if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);return}function Uo(a){a=a|0;if(!a)return;Qa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ta[a&7](b|0,c|0,d|0,e|0)}function Wo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qm(a|0,b|0,c|0)|0;return a|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;Qo(a,b,c);return}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)eh(a|0,b|0,c|0)|0;return a|0}function Zo(a){a=a|0;f[a+52>>2]=f[(f[a+4>>2]|0)+80>>2];return}function _o(a,b){a=a|0;b=b|0;to(a,b);return}function $o(a){a=a|0;f[a+52>>2]=f[(f[a+56>>2]|0)+80>>2];return}function ap(a,b){a=a|0;b=b|0;return -1}function bp(a){a=a|0;var b=0;b=u;u=u+16|0;Pa[a&3]();Sn(19383,b)}function cp(a){a=a|0;Lh(a);pr(a);return}function dp(a,b,c){a=a|0;b=b|0;c=c|0;np(a,b,c);return}function ep(a,b){a=a|0;b=b|0;kk(f[a>>2]|0,b);return}function fp(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function gp(a){a=a|0;Oo(a);f[a>>2]=3528;f[a+64>>2]=0;return}function hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function ip(a,b){a=a|0;b=b|0;return (Xp(a,b)|0)<<24>>24|0}function jp(a,b){a=a|0;b=b|0;f[a>>2]=7396;im(a+4|0,b);return}function kp(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Ni(a,b,0)|0;return c|0}function lp(a,b){a=a|0;b=b|0;Mo(a,b);return}function mp(a){a=a|0;return f[a+12>>2]|0}function np(a,b,c){a=a|0;b=b|0;c=c|0;Ro(a,b,c);return}function op(){var a=0;a=tn(64)|0;Ol(a);return a|0}function pp(a,b){a=a|0;b=b|0;ep(a,b);return}function qp(a){a=a|0;if(!a)return;_i(a);pr(a);return}function rp(a){a=a|0;return f[a+4>>2]|0}function sp(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))ni(b,c,a)|0;return}function tp(a){a=a|0;return Zp(a)|0}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&15](b|0,c|0,d|0)}function vp(){var a=0;a=tn(96)|0;Zm(a);return a|0}function wp(a){a=a|0;return _p(a)|0}function xp(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function yp(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function zp(a){a=a|0;var b=0;b=(lr()|0)+188|0;return ck(a,f[b>>2]|0)|0}function Ap(a,b){a=a|0;b=b|0;Jp(a,b);return}function Bp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Cp(){var a=0;a=tn(12)|0;Pp(a);return a|0}function Dp(a){a=a|0;Li(a);pr(a);return}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Fp(a,b){a=a|0;b=b|0;var c=0;c=Tp(a|0)|0;return ((b|0)==0?a:c)|0}function Gp(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Hp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Ip(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fd(a,b,c,d,0)|0}function Jp(a,b){a=a|0;b=b|0;kk(a,b);return}function Kp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Lp(a){a=a|0;return Dq(a)|0}function Mp(){var a=0;a=tn(84)|0;oo(a);return a|0}function Np(a){a=a|0;ri(a);pr(a);return}function Op(a){a=a|0;return Eq(a)|0}function Pp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Qp(a){a=a|0;f[a>>2]=7396;Im(a+4|0);return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[a&127](b|0,c|0)|0}function Sp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Tp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Up(a){a=a|0;Oo(a);f[a>>2]=3972;return}function Vp(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Xp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Yp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Zp(a){a=a|0;return f[(f[a>>2]|0)+40>>2]|0}function _p(a){a=a|0;return f[(f[a>>2]|0)+44>>2]|0}function $p(a){a=a|0;if(!a)return;pr(a);return}function aq(){var a=0;a=tn(1)|0;ur(a);return a|0}function bq(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function cq(a){a=a|0;b[a+28>>0]=1;return}function dq(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function eq(a,b){a=a|0;b=b|0;return 1}function fq(a){a=a|0;return a+12|0}function gq(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function hq(a,b,c){a=a|0;b=b|0;c=c|0;Ra[a&7](b|0,c|0)}function iq(){var a=0;a=tn(48)|0;Vq(a);return a|0}function jq(a){a=a|0;return Jq(a+4|0)|0}function kq(){var a=0;a=tn(108)|0;rn(a);return a|0}function lq(a){a=a|0;ij(a);pr(a);return}function mq(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function nq(a){a=a|0;return a+-12|0}function oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function pq(){var a=0;a=f[5024]|0;f[5024]=a+0;return a|0}function qq(a){a=a|0;return f[a+56>>2]|0}function rq(){var a=0;a=f[1825]|0;f[1825]=a+0;return a|0}function sq(a){a=a|0;Kg(a);pr(a);return}function tq(a){a=a|0;ur(a);pr(a);return}function uq(a){a=a|0;return b[a+24>>0]|0}function vq(a,b){a=a|0;b=b|0;return 0}function wq(a){a=a|0;return f[a+48>>2]|0}function xq(a,b){a=a|0;b=b|0;return La[a&127](b|0)|0}function yq(a){a=a|0;return f[a+60>>2]|0}function zq(a){a=a|0;return f[a+28>>2]|0}function Aq(a){a=a|0;sa(a|0)|0;wm()}function Bq(a){a=a|0;Qp(a);pr(a);return}function Cq(a){a=a|0;Ca()}function Dq(a){a=a|0;return f[a+40>>2]|0}function Eq(a){a=a|0;return f[a+44>>2]|0}function Fq(a){a=a|0;return 3}function Gq(a,b){a=a|0;b=b|0;u=a;v=b}function Hq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Iq(a){a=a|0;return f[a+80>>2]|0}function Jq(a){a=a|0;return f[a>>2]|0}function Kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Lq(a,b){a=a|0;b=b|0;return $(+Gk(a,b,0))}function Mq(a,b){a=a|0;b=b|0;Qa[a&127](b|0)}function Nq(a,b){a=a|0;b=b|0;return ho(a,b)|0}function Oq(a){a=a|0;return a&255|0}function Pq(a){a=a|0;return Ej(a)|0}function Qq(){return tn(1)|0}function Rq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Sq(a){a=a|0;return 2}function Tq(a,b){a=a|0;b=b|0;return +(+Gk(a,b,1))}function Uq(a){a=a|0;return 1}function Vq(a){a=a|0;Zn(a);return}function Wq(a,b){a=+a;b=+b;return +(+cm(a,b))}function Xq(a,b){a=+a;b=b|0;return +(+$j(a,b))}function Yq(a,b){a=+a;b=b|0;return +(+dk(a,b))}function Zq(){return 3}function _q(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function $q(){return 0}function ar(){return -1}function br(){return 4}function cr(){return 1}function dr(){return 2}function er(){return (lr()|0)+64|0}function fr(a,b){a=+a;b=+b;return +(+td(a,b))}function gr(a,b){a=a|0;b=b|0;aa(1);return 0}function hr(a){a=a|0;Pa[a&3]()}function ir(){ua()}function jr(a){a=a|0;return +(+Tq(a,0))}function kr(a,b){a=a|0;b=b|0;aa(6)}function lr(){return zr()|0}function mr(a){a=a|0;return tn(a)|0}function nr(a){a=a|0;pr(a);return}function or(a){a=a|0;u=a}function pr(a){a=a|0;tc(a);return}function qr(a){a=a|0;I=a}function rr(){return 20024}function sr(a){a=a|0;return a|0}function tr(a){a=a|0;aa(0);return 0}function ur(a){a=a|0;return}function vr(a){a=a|0;return 0}function wr(){return I|0}function xr(){return u|0}function yr(a){a=a|0;aa(5)}function zr(){return 6508}function Ar(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Qa=[er,Dq,Eq,Eq,Dq,gb,gr,gr,gr,ok,lg,Eq,hp,gr,gr,Eq,gr,Eq,Eq,Fl,Dq,Fl,rq,Dl,Eq,oo,Dl,Eq,qo,jl,Eq,kq,co,Fl,Eq,Fl,Dq,Fl,rq,Dl,Eq,oo,Dl,Eq,qo,jl,Eq,kq,co,Fl,Eq,rq,gr,hp,Eq,gr,Eq,rq,Eq,xl,Dq,xl,co,xl,rq,wl,Eq,oo,wl,Eq,qo,bl,Eq,kq,Eq,xl,Dq,xl,co,xl,rq,wl,Eq,oo,wl,Eq,qo,bl,Eq,kq,Eq,Dq,Eq,Eq,Nd,Eq,wj,Xe,mh,Gk,Ao,vo,pb,dp,hp,ng,wg,ff,rb,dp,hp,Eq,gr,gr,zc,Li,gr,Eq,Eq,Zj,gr,Zj,jk,Bn,Xp,er,er,er];var Ra=[Tq,El,nh,Ie,Ll,gq,gq,gq,Sp,jb,tj,Ho,Sp,Sp,ui,pj,ji,rk,vl,Tj,gl,kk,lk,Te,Uo,gq,oi,gq,Wl,$d,gq,Wl,pf,gq,Tl,sh,um,Fd,gq,Wl,$d,gq,Wl,pf,gq,Tl,sh,um,Fd,Mn,Uo,gq,mi,Ed,gq,Ml,Zd,gq,Ml,kf,gq,Il,rh,um,Ed,gq,Ml,Zd,gq,Ml,kf,gq,Il,rh,um,Jn,Wn,Qn,Xn,Vn,dh,qk,Bk,Zb,ye,$m,rg,xf,yf,bh,qk,Bk,Yb,ye,$m,Sp,gq,gq,qf,Hm,og,qf,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq];var Sa=[Cq,to,Kp,mn,an,Ag,qj,rl,zh,wc,Nh,sg,hi,Rb,ei,Pg,tl,Wm,Fj,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq];var Ta=[pp,Xd,Jc,oc,be,Ae,Ub,bb,Lc,pc,ae,ze,Sb,ab,eh,kd,Ic,eb,rf,Kf,tc,od,Kc,db,mf,Hf,qc,pp,pp,pp,pp,pp];var Ua=[mr,Wq,Qi,Yn];var Va=[kr,Vj,ck,fr,$q,Om,rm,hl,Uq,vi,Bp,Pi,rp,Oh,Wo,Rm,Nm,om,Uq,Xl,Xl,Xl,Qk,Dk,fl,Yk,ll,$k,fr,$q,Uq,_i,mm,Xl,Xl,Kk,yk,cl,Wk,il,_k,fr,$q,Uq,Xi,am,Rm,Nm,fr,$q,$q,$q,Bj,Ql,_l,Hl,Qm,Bm,An,on,fr,$q,$q,$q,yj,Gl,Rl,zl,Mm,sm,rn,cn,fr,$q,Ek,vk,ck,ek,hk,hk,vm,Tm,_e,Zl,hf,mo,Ck,uk,xn,Xm,$l,Hk,xk,Dn,fn,cm,nm,gm,df,$n,oj,Uq,Np,To,Un,fr,$q,Uq,Np,So,Np,So,Uk,Nk,sb,Qg,dq,fr,eq,fr,fr,eq,Ep,mq,mq,Hn,kr,kr];var Wa=[Zq,wk,hg,Fk,Nc,Zq,Zq,Zq];var Xa=[Kq,Ne,kj,cc,ic,yd,cc,ic,ah,Dj,Og,Zf,Kq,Kq,Kq,Kq];var Ya=[wq,Yg,qg,pm,kl,wq,wq,wq];var Za=[$p,vj,oh,$p];var _a=[Gp,Yl,Zk,Gp];return{___cxa_can_catch:tm,___cxa_is_pointer_type:Mo,___divdi3:Pk,___muldi3:En,___udivdi3:wp,___uremdi3:sn,_bitshift64Lshr:ko,_bitshift64Shl:fo,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:qp,_emscripten_bind_DracoInt8Array_GetValue_1:$o,_emscripten_bind_DracoInt8Array___destroy___0:nn,_emscripten_bind_DracoInt8Array_size_0:Mp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:zo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:Pn,_emscripten_bind_Encoder_Encoder_0:Wp,_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0:Cp,_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0:zp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:jn,_emscripten_bind_Encoder_SetAttributeQuantization_2:uo,_emscripten_bind_Encoder_SetEncodingMethod_1:op,_emscripten_bind_Encoder_SetSpeedOptions_2:Xo,_emscripten_bind_Encoder_SetTrackEncodedProperties_1:cp,_emscripten_bind_Encoder___destroy___0:Uj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:fp,_emscripten_bind_GeometryAttribute___destroy___0:Op,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:yo,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:zn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:zn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:qn,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:yn,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:yn,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:un,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Do,_emscripten_bind_MeshBuilder_AddMetadata_2:Bo,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:ln,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:kn,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:pn,_emscripten_bind_MeshBuilder_MeshBuilder_0:Nq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_MeshBuilder___destroy___0:Op,_emscripten_bind_Mesh_Mesh_0:Yp,_emscripten_bind_Mesh___destroy___0:Oo,_emscripten_bind_Mesh_num_attributes_0:up,_emscripten_bind_Mesh_num_faces_0:np,_emscripten_bind_Mesh_num_points_0:uq,_emscripten_bind_Mesh_set_num_points_1:Up,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:no,_emscripten_bind_MetadataBuilder_AddIntEntry_3:ro,_emscripten_bind_MetadataBuilder_AddStringEntry_3:lo,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:Nq,_emscripten_bind_MetadataBuilder___destroy___0:Op,_emscripten_bind_Metadata_Metadata_0:dm,_emscripten_bind_Metadata___destroy___0:gp,_emscripten_bind_PointAttribute_PointAttribute_0:kp,_emscripten_bind_PointAttribute___destroy___0:Lj,_emscripten_bind_PointAttribute_attribute_type_0:bq,_emscripten_bind_PointAttribute_byte_offset_0:hq,_emscripten_bind_PointAttribute_byte_stride_0:oq,_emscripten_bind_PointAttribute_data_type_0:kq,_emscripten_bind_PointAttribute_normalized_0:Zp,_emscripten_bind_PointAttribute_num_components_0:fq,_emscripten_bind_PointAttribute_size_0:uq,_emscripten_bind_PointAttribute_unique_id_0:jq,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:zn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:qn,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:yn,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:un,_emscripten_bind_PointCloudBuilder_AddMetadata_2:Bo,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:ln,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:kn,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:pn,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:Nq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_PointCloudBuilder___destroy___0:Op,_emscripten_bind_PointCloud_PointCloud_0:Ap,_emscripten_bind_PointCloud___destroy___0:Oo,_emscripten_bind_PointCloud_num_attributes_0:up,_emscripten_bind_PointCloud_num_points_0:uq,_emscripten_bind_VoidPtr___destroy___0:Op,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Mq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Lq,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Qq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Rq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Oq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Mq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Qq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Lq,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Jq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:Qq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:Lq,_emscripten_replace_memory:Pa,_free:yc,_i64Add:ho,_i64Subtract:jo,_llvm_bswap_i32:Hp,_malloc:$a,_memcpy:kh,_memmove:qm,_memset:uj,_sbrk:Ul,dynCall_ii:iq,dynCall_iii:Fp,dynCall_iiii:_o,dynCall_iiiiiii:Tn,dynCall_v:Vq,dynCall_vi:xq,dynCall_vii:Vp,dynCall_viii:jp,dynCall_viiii:Po,dynCall_viiiii:Eo,dynCall_viiiiii:ao,establishStackSpace:sq,getTempRet0:hr,runPostSets:go,setTempRet0:cr,setThrew:Rp,stackAlloc:lp,stackRestore:ar,stackSave:jr}}) +var La=[tr,Sq,Uq,Uq,Sq,ab,vr,vr,vr,jk,ig,Uq,rp,vr,vr,Uq,vr,Uq,Uq,Cl,Sq,Cl,Fq,Al,Uq,no,Al,Uq,po,fl,Uq,zq,bo,Cl,Uq,Cl,Sq,Cl,Fq,Al,Uq,no,Al,Uq,po,fl,Uq,zq,bo,Cl,Uq,Fq,vr,rp,Uq,vr,Uq,Fq,Uq,ul,Sq,ul,bo,ul,Fq,tl,Uq,no,tl,Uq,po,Zk,Uq,zq,Uq,ul,Sq,ul,bo,ul,Fq,tl,Uq,no,tl,Uq,po,Zk,Uq,zq,Uq,Sq,Uq,Uq,Hd,Uq,rj,Qe,jh,Bk,Ao,vo,jb,mp,rp,kg,rg,Ye,lb,mp,rp,Uq,vr,vr,uc,Gi,vr,Uq,Uq,Uj,vr,Uj,fk,An,jq,tr,tr,tr];var Ma=[gr,Bl,gh,Be,Il,vq,vq,vq,eq,db,qj,Io,eq,eq,qi,jj,gi,nk,sl,Oj,cl,gk,hk,Me,ap,vq,li,vq,Tl,Vd,vq,Tl,kf,vq,Rl,nh,um,rf,vq,Tl,Vd,vq,Tl,kf,vq,Rl,nh,um,rf,Mn,ap,vq,ji,qf,vq,Kl,Td,vq,Kl,ef,vq,Fl,kh,um,qf,vq,Kl,Td,vq,Kl,ef,vq,Fl,kh,um,Jn,Wn,Qn,Xn,Vn,Zg,mk,wk,Sb,re,Xm,tf,_e,bf,Xg,mk,wk,Rb,re,Xm,eq,vq,vq,lf,Hm,lg,lf,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr];var Na=[Rq,ro,Wp,kn,Ym,ug,lj,ol,yh,pc,Kh,og,ei,Mb,bi,Mg,ql,Sm,Aj,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq];var Oa=[Bp,Rd,Ec,jc,Xd,te,Wb,Ya,Gc,kc,Wd,se,Vb,Xa,_g,gd,Dc,$a,mf,Kf,rc,kd,Fc,_a,gf,Ff,qc,Bp,Bp,Bp,Bp,Bp];var Pa=[Ar,ir,Hi,Yn];var Qa=[yr,Rj,_j,ur,nr,Nm,rm,dl,Wk,ri,Np,Li,Dp,Lh,cp,km,Xl,om,Zl,Zl,Zl,Zl,Lk,yk,bl,Tk,il,Xk,ur,nr,Zl,Vi,mm,Zl,Zl,Dk,uk,_k,Rk,el,Vk,ur,nr,Zl,Ri,_l,km,Xl,ur,nr,nr,nr,wj,Pl,Wl,El,Pm,Bm,zn,mn,ur,nr,nr,nr,tj,Dl,Ql,wl,Mm,sm,pn,_m,ur,nr,zk,rk,_j,bk,ek,ek,vm,jm,Oc,Vl,$e,lo,xk,qk,vn,Tm,Yl,Ck,tk,Cn,cn,am,nm,em,We,_n,ij,lq,lq,$o,Un,ur,nr,lq,lq,Zo,lq,Zo,Pk,Hk,mb,Kg,sq,ur,tq,ur,ur,tq,Qp,Bq,Bq,Hn,yr,yr];var Ra=[kr,sk,gg,Ak,Ic,kr,kr,kr];var Sa=[_q,Ge,fj,Zb,ec,Gd,Zb,ec,Wg,yj,Jg,Xf,_q,_q,_q,_q];var Ta=[Kq,Tg,ng,pm,hl,Kq,Kq,Kq];var Ua=[oq,oj,ch,oq];var Va=[Sp,Ul,Uk,Sp];return{___cxa_can_catch:tm,___cxa_is_pointer_type:Po,___divdi3:Jk,___muldi3:En,___udivdi3:Ip,___uremdi3:qn,_bitshift64Lshr:jo,_bitshift64Shl:eo,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Cp,_emscripten_bind_DracoInt8Array_GetValue_1:ip,_emscripten_bind_DracoInt8Array___destroy___0:ln,_emscripten_bind_DracoInt8Array_size_0:Yp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:zo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:Pn,_emscripten_bind_Encoder_Encoder_0:iq,_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0:Op,_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0:Lp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:gn,_emscripten_bind_Encoder_SetAttributeQuantization_2:uo,_emscripten_bind_Encoder_SetEncodingMethod_1:Ap,_emscripten_bind_Encoder_SetSpeedOptions_2:dp,_emscripten_bind_Encoder_SetTrackEncodedProperties_1:lp,_emscripten_bind_Encoder___destroy___0:Qj,_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2:Go,_emscripten_bind_ExpertEncoder_ExpertEncoder_1:So,_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0:wp,_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0:tp,_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5:yn,_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2:Ko,_emscripten_bind_ExpertEncoder_SetEncodingMethod_1:pp,_emscripten_bind_ExpertEncoder_SetSpeedOptions_2:Xo,_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1:_o,_emscripten_bind_ExpertEncoder___destroy___0:Dn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:op,_emscripten_bind_GeometryAttribute___destroy___0:$p,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:yo,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:xn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:xn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:on,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:wn,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:wn,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:sn,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Do,_emscripten_bind_MeshBuilder_AddMetadata_2:Co,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:jn,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:hn,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:nn,_emscripten_bind_MeshBuilder_MeshBuilder_0:aq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_MeshBuilder___destroy___0:$p,_emscripten_bind_Mesh_Mesh_0:kq,_emscripten_bind_Mesh___destroy___0:Uo,_emscripten_bind_Mesh_num_attributes_0:Gp,_emscripten_bind_Mesh_num_faces_0:yp,_emscripten_bind_Mesh_num_points_0:Iq,_emscripten_bind_Mesh_set_num_points_1:gq,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:mo,_emscripten_bind_MetadataBuilder_AddIntEntry_3:qo,_emscripten_bind_MetadataBuilder_AddStringEntry_3:ko,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:aq,_emscripten_bind_MetadataBuilder___destroy___0:$p,_emscripten_bind_Metadata_Metadata_0:bm,_emscripten_bind_Metadata___destroy___0:qp,_emscripten_bind_PointAttribute_PointAttribute_0:vp,_emscripten_bind_PointAttribute___destroy___0:Gj,_emscripten_bind_PointAttribute_attribute_type_0:qq,_emscripten_bind_PointAttribute_byte_offset_0:wq,_emscripten_bind_PointAttribute_byte_stride_0:Dq,_emscripten_bind_PointAttribute_data_type_0:zq,_emscripten_bind_PointAttribute_normalized_0:mq,_emscripten_bind_PointAttribute_num_components_0:uq,_emscripten_bind_PointAttribute_size_0:Iq,_emscripten_bind_PointAttribute_unique_id_0:yq,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:xn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:on,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:wn,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:sn,_emscripten_bind_PointCloudBuilder_AddMetadata_2:Co,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:jn,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:hn,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:nn,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:Qq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_PointCloudBuilder___destroy___0:$p,_emscripten_bind_PointCloud_PointCloud_0:Mp,_emscripten_bind_PointCloud___destroy___0:Uo,_emscripten_bind_PointCloud_num_attributes_0:Gp,_emscripten_bind_PointCloud_num_points_0:Iq,_emscripten_bind_VoidPtr___destroy___0:$p,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ar,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:$q,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:cr,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:dr,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:br,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ar,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:cr,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:$q,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Zq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:cr,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:$q,_emscripten_get_global_libc:rr,_emscripten_replace_memory:Ka,_free:tc,_i64Add:go,_i64Subtract:io,_llvm_bswap_i32:Tp,_malloc:Wa,_memcpy:eh,_memmove:qm,_memset:pj,_sbrk:Jl,dynCall_ii:xq,dynCall_iii:Rp,dynCall_iiii:hp,dynCall_iiiiiii:Tn,dynCall_v:hr,dynCall_vi:Mq,dynCall_vii:hq,dynCall_viii:up,dynCall_viiii:Vo,dynCall_viiiii:Eo,dynCall_viiiiii:$n,establishStackSpace:Gq,getTempRet0:wr,runPostSets:fo,setTempRet0:qr,setThrew:dq,stackAlloc:xp,stackRestore:or,stackSave:xr}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=Module["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"]=asm["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"]=asm["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"];var _emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"]=asm["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var _emscripten_bind_Encoder_SetTrackEncodedProperties_1=Module["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"]=asm["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddFloatAttribute_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"];var _emscripten_bind_MeshBuilder_AddInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var _emscripten_bind_MeshBuilder_AddMetadata_2=Module["_emscripten_bind_MeshBuilder_AddMetadata_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadata_2"];var _emscripten_bind_MeshBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=Module["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddMetadata_2=Module["_emscripten_bind_PointCloudBuilder_AddMetadata_2"]=asm["_emscripten_bind_PointCloudBuilder_AddMetadata_2"];var _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=Module["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"]=asm["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"];var _emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointCloudBuilder___destroy___0=Module["_emscripten_bind_PointCloudBuilder___destroy___0"]=asm["_emscripten_bind_PointCloudBuilder___destroy___0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;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"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i>>16&65535)*h+k*(f>>>16&65535)<<16>>>0)|0}},"es6","es3"); -$jscomp.polyfill("Math.clz32",function(d){return d?d:function(d){d=Number(d)>>>0;if(0===d)return 32;var f=0;0===(d&4294901760)&&(d<<=16,f+=16);0===(d&4278190080)&&(d<<=8,f+=8);0===(d&4026531840)&&(d<<=4,f+=4);0===(d&3221225472)&&(d<<=2,f+=2);0===(d&2147483648)&&f++;return f}},"es6","es3");$jscomp.polyfill("Math.trunc",function(d){return d?d:function(d){d=Number(d);if(isNaN(d)||Infinity===d||-Infinity===d||0===d)return d;var f=Math.floor(Math.abs(d));return 0>d?-f:f}},"es6","es3"); -$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var d=0;return function(k){return $jscomp.SYMBOL_PREFIX+(k||"")+d++}}(); -$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var d=$jscomp.global.Symbol.iterator;d||(d=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[d]&&$jscomp.defineProperty(Array.prototype,d,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(d){var k=0;return $jscomp.iteratorPrototype(function(){return k>0];c|=e;if(0==e&&!b)break;d++;if(b&&d==b)break}b||(b=d);e="";if(128>c){for(;0e?c+=String.fromCharCode(e):(e-=65536,c+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else c+=String.fromCharCode(e)}}function ha(a,b){0< -a%b&&(a+=b-a%b);return a}function r(){a.HEAP8=ia=new Int8Array(D);a.HEAP16=Ja=new Int16Array(D);a.HEAP32=E=new Int32Array(D);a.HEAPU8=W=new Uint8Array(D);a.HEAPU16=new Uint16Array(D);a.HEAPU32=new Uint32Array(D);a.HEAPF32=new Float32Array(D);a.HEAPF64=new Float64Array(D)}function B(e){for(;0>2]=e;e=la.buffer;for(var d=0;d>2],b.adjusted=e,(sa(p[d]),e)|0;e=E[e>>2]; -return(sa(c),e)|0}function Z(e,b){u.varargs=b;try{var c=u.get(),p=u.get(),d=u.get();e=0;Z.buffers||(Z.buffers=[null,[],[]],Z.printChar=function(b,c){var e=Z.buffers[b];f(e);0===c||10===c?((1===b?a.print:a.printErr)(h(e,0)),e.length=0):e.push(c)});for(b=0;b>2],k=E[p+(8*b+4)>>2],l=0;l=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:2097151>=e?b+4:67108863>=e?b+5:b+6}b=Array(b+1);c=0;e=b.length;if(0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++d)&1023);if(127>=f){if(c>=e)break;b[c++]=f}else{if(2047>=f){if(c+1>=e)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=e)break;b[c++]=224|f>>12}else{if(2097151>=f){if(c+ -3>=e)break;b[c++]=240|f>>18}else{if(67108863>=f){if(c+4>=e)break;b[c++]=248|f>>24}else{if(c+5>=e)break;b[c++]=252|f>>30;b[c++]=128|f>>24&63}b[c++]=128|f>>18&63}b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}a=l.alloc(b,ia);l.copy(b,ia,a)}return a}function z(){throw"cannot construct a Status, no constructor in IDL";}function F(){this.ptr=Wa();t(F)[this.ptr]=this}function G(){this.ptr=Xa();t(G)[this.ptr]=this}function H(){this.ptr=Ya();t(H)[this.ptr]=this}function I(){this.ptr=Za(); -t(I)[this.ptr]=this}function J(){this.ptr=$a();t(J)[this.ptr]=this}function n(){this.ptr=ab();t(n)[this.ptr]=this}function P(){this.ptr=bb();t(P)[this.ptr]=this}function x(){this.ptr=cb();t(x)[this.ptr]=this}function K(){this.ptr=db();t(K)[this.ptr]=this}function q(){this.ptr=eb();t(q)[this.ptr]=this}function L(){this.ptr=fb();t(L)[this.ptr]=this}function M(){this.ptr=gb();t(M)[this.ptr]=this}function V(){this.ptr=hb();t(V)[this.ptr]=this}function Q(){this.ptr=ib();t(Q)[this.ptr]=this}function g(){this.ptr= -jb();t(g)[this.ptr]=this}function C(){this.ptr=kb();t(C)[this.ptr]=this}function X(){throw"cannot construct a VoidPtr, no constructor in IDL";}function N(){this.ptr=lb();t(N)[this.ptr]=this}function R(){this.ptr=mb();t(R)[this.ptr]=this}d=d||{};var a="undefined"!==typeof d?d:{},Qa=!1,Ra=!1;a.onRuntimeInitialized=function(){Qa=!0;if(Ra&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ra=!0;if(Qa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported= -function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2]},getStr:function(){return v(u.get())},get64:function(){var a=u.get(),b=u.get();0<=a?f(0===b):f(-1===b);return a},getZero:function(){f(0===u.get())}},va={},Ha=1;ka=function(a){f(!Sa);var b=ba;ba=ba+ -a+15&-16;return b}(4);Ca=ta=k(ba);ua=Ca+Fa;Da=k(ua);E[ka>>2]=Da;Sa=!0;a.wasmTableSize=492;a.wasmMaxTableSize=492;a.asmGlobalArg={};a.asmLibraryArg={abort:O,assert:f,enlargeMemory:function(){var e=a.usingWasm?65536:16777216,b=2147483648-e;if(E[ka>>2]>b)return!1;var c=A;for(A=Math.max(A,16777216);A>2];)A=536870912>=A?ha(2*A,e):Math.min(ha((3*A+2147483648)/4,e),b);e=a.reallocBuffer(A);if(!e||e.byteLength!=A)return A=c,!1;a.buffer=D=e;r();return!0},getTotalMemory:function(){return A},abortOnCannotGrowMemory:function(){O("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ -A+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_ii:function(e,b){try{return a.dynCall_ii(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_iii:function(e,b,c){try{return a.dynCall_iii(e,b,c)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;a.setThrew(1,0)}},invoke_iiii:function(e,b,c,d){try{return a.dynCall_iiii(e, -b,c,d)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_iiiiiii:function(e,b,c,d,f,g,h){try{return a.dynCall_iiiiiii(e,b,c,d,f,g,h)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vi:function(e,b){try{a.dynCall_vi(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vii:function(e,b,c){try{a.dynCall_vii(e, -b,c)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;a.setThrew(1,0)}},invoke_viii:function(e,b,c,d){try{a.dynCall_viii(e,b,c,d)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_viiii:function(e,b,c,d,f){try{a.dynCall_viiii(e,b,c,d,f)}catch(xa){if("number"!==typeof xa&&"longjmp"!==xa)throw xa;a.setThrew(1,0)}},invoke_viiiii:function(e,b,c,d,f,g){try{a.dynCall_viiiii(e,b,c,d,f,g)}catch(ca){if("number"!==typeof ca&&"longjmp"!==ca)throw ca;a.setThrew(1,0)}},invoke_viiiiii:function(e, -b,c,d,f,g,h){try{a.dynCall_viiiiii(e,b,c,d,f,g,h)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:w,___cxa_allocate_exception:function(a){return Ka(a)},___cxa_begin_catch:function(a){var b=y.infos[a];b&&!b.caught&&(b.caught=!0,w.uncaught_exception--);b&&(b.rethrown=!1);y.caught.push(a);y.addRef(y.deAdjust(a));return a},___cxa_find_matching_catch:la,___cxa_pure_virtual:function(){oa=!0;throw"Pure virtual function called!";},___cxa_throw:function(a, -b,c){y.infos[a]={ptr:a,adjusted:a,type:b,destructor:c,refcount:0,caught:!1,rethrown:!1};y.last=a;"uncaught_exception"in w?w.uncaught_exception++:w.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){y.last||(y.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; -},___setErrNo:function(d){a.___errno_location&&(E[a.___errno_location()>>2]=d);return d},___syscall140:function(a,b){u.varargs=b;try{var c=u.getStreamFromFD();u.get();var d=u.get(),e=u.get(),f=u.get();FS.llseek(c,d,f);E[e>>2]=c.position;c.getdents&&0===d&&0===f&&(c.getdents=null);return 0}catch(ca){return"undefined"!==typeof FS&&ca instanceof FS.ErrnoError||O(ca),-ca.errno}},___syscall146:Z,___syscall54:function(a,b){u.varargs=b;return 0},___syscall6:function(a,b){u.varargs=b;try{var c=u.getStreamFromFD(); -FS.close(c);return 0}catch(p){return"undefined"!==typeof FS&&p instanceof FS.ErrnoError||O(p),-p.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,b,c){W.set(W.subarray(b,b+c),a);return a},_llvm_floor_f64:pb,_llvm_trap:function(){O("trap!")},_pthread_getspecific:function(a){return va[a]||0},_pthread_key_create:function(a,b){if(0==a)return 22;E[a>>2]=Ha;va[Ha]=0;Ha++;return 0},_pthread_once:ma,_pthread_setspecific:function(a,b){if(!(a in va))return 22;va[a]=b;return 0},flush_NO_FILESYSTEM:function(){var d= -a._fflush;d&&d(0);if(d=Z.printChar){var b=Z.buffers;b[1].length&&d(1,10);b[2].length&&d(2,10)}},DYNAMICTOP_PTR:ka,tempDoublePtr:rb,ABORT:oa,STACKTOP:ta,STACK_MAX:ua};var Ua=a.asm(a.asmGlobalArg,a.asmLibraryArg,D);a.asm=Ua;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var $a=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null, -arguments)},sb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)},tb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},ub=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null, -arguments)},cb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,arguments)},vb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},wb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null, -arguments)},xb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},yb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},zb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null, -arguments)},bb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},Ab=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Bb=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null, -arguments)},ib=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Cb=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Db=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Eb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null, -arguments)},Fb=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},jb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Gb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Hb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3= -function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Ib=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Jb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Kb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null, -arguments)},Lb=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null,arguments)},Mb=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)},Nb=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Ob=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3= -function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)},Pb=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Qb=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null, -arguments)},Sb=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetEncodedGeometryType_1= -function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},Wb=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},Yb=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null, -arguments)},Zb=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},$b=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},gb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},ac=a._emscripten_bind_DracoFloat32Array_GetValue_1= -function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},bc=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},cc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},fb=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm._emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null, -arguments)},dc=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt16Array_GetValue_1.apply(null,arguments)},ec=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},fc=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},lb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null, -arguments)},gc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},hc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},ic=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},db=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm._emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null, -arguments)},jc=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt8Array_GetValue_1.apply(null,arguments)},kc=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt8Array___destroy___0.apply(null,arguments)},lc=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},Wa=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null, -arguments)},mc=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt16Array_GetValue_1.apply(null,arguments)},nc=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},oc=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},Za=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null, -arguments)},pc=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,arguments)},qc=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},rc=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},Ya=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, -arguments)},sc=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,arguments)},tc=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},uc=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},hb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, -arguments)},vc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},kb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},wc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},xc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, -arguments)},yc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},zc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},Ac=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},Bc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, -arguments)},Cc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Dc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},Ec=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},Fc=a._emscripten_bind_MetadataQuerier_HasEntry_2= -function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Gc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Hc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},eb=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, -arguments)},Ic=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},Jc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},mb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Kc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, -arguments)},Lc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},ab=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Mc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},Nc=a._emscripten_bind_PointAttribute_attribute_type_0= -function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},Oc=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},Pc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},Qc=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null, -arguments)},Rc=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Sc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},Tc=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Uc=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, -arguments)},Xa=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},Vc=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Wc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},Xc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null, -arguments)},Yc=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},Zc=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},$c=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},ad=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},bd=a._emscripten_bind_VoidPtr___destroy___0= -function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},cd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},dd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},ed=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM= -function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},fd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},gd=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, -arguments)},hd=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},id=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},jd=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},kd= -a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},ld=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},md=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},nd=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= -function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},od=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},pd=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},qd=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, -arguments)},rd=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},sd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},td=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},ud=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, -arguments)},nb=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Ka=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null, -arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};var sa=a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null, -arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null, -arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};a.asm=Ua;a.then=function(d){if(a.calledRun)d(a); -else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};na.prototype=Error();na.prototype.constructor=na;ra=function b(){a.calledRun||wa();a.calledRun||(ra=b)};a.run=wa;a.exit=function(b,c){if(!c||!a.noExitRuntime||0!==b){if(!a.noExitRuntime&&(oa=!0,ta=void 0,B(ob),a.onExit))a.onExit(b);qa&&process.exit(b);a.quit(b,new na(b))}};a.abort=O;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=l.size?(f(0>= -1;break;case 4:d>>=2;break;case 8:d>>=3}for(var b=0;b>>16&65535)*g+n*(d>>>16&65535)<<16>>>0)|0}},"es6","es3"); +$jscomp.polyfill("Math.clz32",function(d){return d?d:function(f){f=Number(f)>>>0;if(0===f)return 32;var d=0;0===(f&4294901760)&&(f<<=16,d+=16);0===(f&4278190080)&&(f<<=8,d+=8);0===(f&4026531840)&&(f<<=4,d+=4);0===(f&3221225472)&&(f<<=2,d+=2);0===(f&2147483648)&&d++;return d}},"es6","es3");$jscomp.polyfill("Math.trunc",function(d){return d?d:function(d){d=Number(d);if(isNaN(d)||Infinity===d||-Infinity===d||0===d)return d;var f=Math.floor(Math.abs(d));return 0>d?-f:f}},"es6","es3"); +$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(d){return $jscomp.SYMBOL_PREFIX+(d||"")+$jscomp.symbolCounter_++}; +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var d=$jscomp.global.Symbol.iterator;d||(d=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[d]&&$jscomp.defineProperty(Array.prototype,d,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(d){var f=0;return $jscomp.iteratorPrototype(function(){return f>0];c|=l;if(0==l&&!b)break;d++;if(b&&d==b)break}b||(b=d);l="";if(128>c){for(;0>2]>b)return!1;var c=y;for(y=Math.max(y,ib);y>2];)y=536870912>=y?ma(2*y,e):Math.min(ma((3*y+2147483648)/4,e),b);e=a.reallocBuffer(y);if(!e||e.byteLength!=y)return y=c,!1;a.buffer=F=e;D();return!0}function u(e){for(;0>2]=e;e=qa.buffer;for(var d=0;d> +2],b.adjusted=e,(m.setTempRet0(l[d]),e)|0;e=x[e>>2];return(m.setTempRet0(c),e)|0}function Q(e,b){v.varargs=b;try{var c=v.get(),l=v.get(),d=v.get();e=0;Q.buffer||(Q.buffers=[null,[],[]],Q.printChar=function(b,c){var e=Q.buffers[b];f(e);if(0===c||10===c){b=1===b?a.print:a.printErr;a:{for(var l=c=0;e[l];)++l;if(16d?l+=String.fromCharCode(d):(d-=65536,l+=String.fromCharCode(55296|d>>10,56320|d&1023))}}else l+=String.fromCharCode(d)}}b(c);e.length=0}else e.push(c)});for(b=0;b>2],g=x[l+(8*b+4)>>2],k=0;k=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:2097151>=e?b+4:67108863>=e?b+5:b+6}b=Array(b+1);c=0;e=b.length;if(0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++d)&1023);if(127>=f){if(c>=e)break;b[c++]=f}else{if(2047>=f){if(c+1>=e)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=e)break;b[c++]=224|f>>12}else{if(2097151>=f){if(c+3>=e)break;b[c++]=240|f>>18}else{if(67108863>=f){if(c+4>=e)break;b[c++]=248|f>>24}else{if(c+5>=e)break;b[c++]=252|f>>30;b[c++]=128|f>>24&63}b[c++]=128|f>>18&63}b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}a=k.alloc(b,fa);k.copy(b,fa,a)}return a} +function B(){throw"cannot construct a Status, no constructor in IDL";}function G(){this.ptr=lb();t(G)[this.ptr]=this}function H(){this.ptr=mb();t(H)[this.ptr]=this}function I(){this.ptr=nb();t(I)[this.ptr]=this}function J(){this.ptr=ob();t(J)[this.ptr]=this}function K(){this.ptr=pb();t(K)[this.ptr]=this}function q(){this.ptr=qb();t(q)[this.ptr]=this}function P(){this.ptr=rb();t(P)[this.ptr]=this}function z(){this.ptr=sb();t(z)[this.ptr]=this}function L(){this.ptr=tb();t(L)[this.ptr]=this}function r(){this.ptr= +ub();t(r)[this.ptr]=this}function M(){this.ptr=vb();t(M)[this.ptr]=this}function N(){this.ptr=wb();t(N)[this.ptr]=this}function Z(){this.ptr=xb();t(Z)[this.ptr]=this}function R(){this.ptr=yb();t(R)[this.ptr]=this}function h(){this.ptr=zb();t(h)[this.ptr]=this}function C(){this.ptr=Ab();t(C)[this.ptr]=this}function ca(){throw"cannot construct a VoidPtr, no constructor in IDL";}function O(){this.ptr=Bb();t(O)[this.ptr]=this}function S(){this.ptr=Cb();t(S)[this.ptr]=this}var a=d=d||{},bb=!1,cb=!1;a.onRuntimeInitialized= +function(){bb=!0;if(cb&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){cb=!0;if(bb&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2];a=(b+a+15|0)&-16;x[ba>>2]=a;return a>=y&&!Ma()?(x[ba>>2]=b,0):b},alignMemory:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},makeBigInt:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},ua=0,Ua="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var Aa=65536,Sa=16777216,ib=16777216,fa,T,za, +Oa,x,Pa,Qa,Ra,aa,Ga,U,xa,Ha,ba;var Ia=aa=Ga=U=xa=Ha=ba=0;a.reallocBuffer||(a.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)var b=ArrayBuffer.transfer(F,a);else{var c=fa;b=new ArrayBuffer(a);(new Int8Array(b)).set(c)}}catch(l){return!1}return Db(b)?b:!1});try{var Ja=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);Ja(new ArrayBuffer(4))}catch(e){Ja=function(a){return a.byteLength}}var Ka=a.TOTAL_STACK||5242880,y=a.TOTAL_MEMORY||16777216; +y>2]},getStr:function(){return n(v.get())},get64:function(){var a=v.get(),b=v.get();0<=a? +f(0===b):f(-1===b);return a},getZero:function(){f(0===v.get())}},ya={},La=1;db.push(function(){var e=a._fflush;e&&e(0);if(e=Q.printChar){var b=Q.buffers;b[1].length&&e(1,10);b[2].length&&e(2,10)}});ba=m.staticAlloc(4);Ga=U=m.alignMemory(aa);xa=Ga+Ka;Ha=m.alignMemory(xa);x[ba>>2]=Ha;a.wasmTableSize=492;a.wasmMaxTableSize=492;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array, +Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ja};a.asmLibraryArg={abort:W,assert:f,enlargeMemory:Ma,getTotalMemory:function(){return y},abortOnCannotGrowMemory:function(){W("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+y+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}, +invoke_ii:function(e,b){try{return a.dynCall_ii(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_iii:function(e,b,c){try{return a.dynCall_iii(e,b,c)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_iiii:function(e,b,c,d){try{return a.dynCall_iiii(e,b,c,d)}catch(E){if("number"!==typeof E&&"longjmp"!==E)throw E;a.setThrew(1,0)}},invoke_iiiiiii:function(e,b,c,d,f,g,h){try{return a.dynCall_iiiiiii(e,b,c,d,f,g,h)}catch(ja){if("number"!== +typeof ja&&"longjmp"!==ja)throw ja;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vi:function(e,b){try{a.dynCall_vi(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vii:function(e,b,c){try{a.dynCall_vii(e,b,c)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_viii:function(e,b,c,d){try{a.dynCall_viii(e,b,c,d)}catch(E){if("number"!==typeof E&& +"longjmp"!==E)throw E;a.setThrew(1,0)}},invoke_viiii:function(e,b,c,d,f){try{a.dynCall_viiii(e,b,c,d,f)}catch(ta){if("number"!==typeof ta&&"longjmp"!==ta)throw ta;a.setThrew(1,0)}},invoke_viiiii:function(e,b,c,d,f,g){try{a.dynCall_viiiii(e,b,c,d,f,g)}catch(ia){if("number"!==typeof ia&&"longjmp"!==ia)throw ia;a.setThrew(1,0)}},invoke_viiiiii:function(e,b,c,d,f,g,h){try{a.dynCall_viiiiii(e,b,c,d,f,g,h)}catch(ja){if("number"!==typeof ja&&"longjmp"!==ja)throw ja;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:na, +___cxa_allocate_exception:function(a){return Ta(a)},___cxa_begin_catch:function(a){var b=A.infos[a];b&&!b.caught&&(b.caught=!0,na.uncaught_exception--);b&&(b.rethrown=!1);A.caught.push(a);A.addRef(A.deAdjust(a));return a},___cxa_find_matching_catch:qa,___cxa_pure_virtual:function(){ua=!0;throw"Pure virtual function called!";},___cxa_throw:function(a,b,c){A.infos[a]={ptr:a,adjusted:a,type:b,destructor:c,refcount:0,caught:!1,rethrown:!1};A.last=a;"uncaught_exception"in na?na.uncaught_exception++:na.uncaught_exception= +1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){A.last||(A.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___setErrNo:function(e){a.___errno_location&&(x[a.___errno_location()>>2]=e);return e}, +___syscall140:function(a,b){v.varargs=b;try{var c=v.getStreamFromFD();v.get();var e=v.get(),d=v.get(),f=v.get();FS.llseek(c,e,f);x[d>>2]=c.position;c.getdents&&0===e&&0===f&&(c.getdents=null);return 0}catch(ia){return"undefined"!==typeof FS&&ia instanceof FS.ErrnoError||W(ia),-ia.errno}},___syscall146:Q,___syscall54:function(a,b){v.varargs=b;return 0},___syscall6:function(a,b){v.varargs=b;try{var c=v.getStreamFromFD();FS.close(c);return 0}catch(l){return"undefined"!==typeof FS&&l instanceof FS.ErrnoError|| +W(l),-l.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,b,c){T.set(T.subarray(b,b+c),a);return a},_pthread_getspecific:function(a){return ya[a]||0},_pthread_key_create:function(a,b){if(0==a)return 22;x[a>>2]=La;ya[La]=0;La++;return 0},_pthread_once:ra,_pthread_setspecific:function(a,b){if(!(a in ya))return 22;ya[a]=b;return 0},DYNAMICTOP_PTR:ba,tempDoublePtr:Eb,ABORT:ua,STACKTOP:U,STACK_MAX:xa};var eb=a.asm(a.asmGlobalArg,a.asmLibraryArg,F);a.asm=eb;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null, +arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var pb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},Fb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)}, +Gb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},Hb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},sb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null, +arguments)},Ib=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},Jb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)},Kb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null, +arguments)},Lb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Mb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},rb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null, +arguments)},Nb=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Ob=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},yb=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Pb=a._emscripten_bind_DecoderBuffer_Init_2= +function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Qb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null, +arguments)},zb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetAttributeFloat_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Wb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Yb=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null, +arguments)},Zb=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)},$b=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},ac=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)}, +bc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},cc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},dc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null,arguments)},ec=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},fc=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},gc=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},hc=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null, +arguments)},ic=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},jc=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},kc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},lc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null, +arguments)},mc=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},wb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},nc=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},oc=a._emscripten_bind_DracoFloat32Array___destroy___0= +function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},pc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},vb=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm._emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null,arguments)},qc=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt16Array_GetValue_1.apply(null, +arguments)},rc=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},sc=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},Bb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,arguments)},tc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null, +arguments)},uc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},vc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},tb=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm._emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null,arguments)},wc=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt8Array_GetValue_1.apply(null, +arguments)},xc=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt8Array___destroy___0.apply(null,arguments)},yc=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},lb=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null,arguments)},zc=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt16Array_GetValue_1.apply(null, +arguments)},Ac=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},Bc=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},ob=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null,arguments)},Cc=a._emscripten_bind_DracoUInt32Array_GetValue_1= +function(){return a.asm._emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,arguments)},Dc=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},Ec=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},nb=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, +arguments)},Fc=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,arguments)},Gc=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},Hc=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},xb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},Ic=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},Jc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},Kc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, +arguments)},Lc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},Mc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},Nc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},Oc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, +arguments)},Pc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Qc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},Rc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},Sc=a._emscripten_bind_MetadataQuerier_HasEntry_2= +function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Tc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Uc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},ub=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, +arguments)},Vc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},Wc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},Cb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Xc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, +arguments)},Yc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},qb=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Zc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},$c=a._emscripten_bind_PointAttribute_attribute_type_0= +function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},ad=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},bd=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},cd=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null, +arguments)},dd=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},ed=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},fd=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},gd=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, +arguments)},mb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},hd=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},id=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},jd=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null, +arguments)},kd=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},ld=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},md=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},nd=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},od=a._emscripten_bind_VoidPtr___destroy___0= +function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},pd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},qd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},rd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM= +function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},sd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},td=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, +arguments)},ud=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},vd=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},wd=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},xd= +a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},yd=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},zd=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},Ad=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= +function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Bd=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Cd=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},Dd=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, +arguments)},Ed=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Fd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},Gd=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},Hd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, +arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var Db=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Ta=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)}; +a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null,arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)}; +a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)}; +a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null, +arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};m.stackAlloc=a.stackAlloc;m.stackSave=a.stackSave;m.stackRestore=a.stackRestore;m.establishStackSpace=a.establishStackSpace;m.setTempRet0=a.setTempRet0;m.getTempRet0=a.getTempRet0;a.asm=eb;if(V)if("function"===typeof a.locateFile?V=a.locateFile(V):a.memoryInitializerPrefixURL&&(V=a.memoryInitializerPrefixURL+V),pa||wa){var Id=a.readBinary(V);T.set(Id,m.GLOBAL_BASE)}else{var gb=function(){a.readAsync(V,fb, +function(){throw"could not load memory initializer "+V;})};la("memory initializer");var fb=function(d){d.byteLength&&(d=new Uint8Array(d));T.set(d,m.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Na("memory initializer")};if(a.memoryInitializerRequest){var hb=function(){var d=a.memoryInitializerRequest,b=d.response;200!==d.status&&0!==d.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+d.status+", retrying "+ +V),gb()):fb(b)};a.memoryInitializerRequest.response?setTimeout(hb,0):a.memoryInitializerRequest.addEventListener("load",hb)}else gb()}a.then=function(d){if(a.calledRun)d(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};ea.prototype=Error();ea.prototype.constructor=ea;var Za=null;sa=function b(){a.calledRun||Da();a.calledRun||(sa=b)};a.run=Da;a.exit=function(b,c){if(!c||!a.noExitRuntime){if(!a.noExitRuntime&&(ua=!0,U=void 0,u(db),a.onExit))a.onExit(b);pa&& +process.exit(b);a.quit(b,new ea(b))}};var ab=[];a.abort=W;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=k.size?(f(0>=1;break;case 4:d>>=2;break;case 8:d>>=3}for(var b=0;b>>16&65535)*h+k*(f>>>16&65535)<<16>>>0)|0}},"es6","es3"); -$jscomp.polyfill("Math.clz32",function(d){return d?d:function(d){d=Number(d)>>>0;if(0===d)return 32;var f=0;0===(d&4294901760)&&(d<<=16,f+=16);0===(d&4278190080)&&(d<<=8,f+=8);0===(d&4026531840)&&(d<<=4,f+=4);0===(d&3221225472)&&(d<<=2,f+=2);0===(d&2147483648)&&f++;return f}},"es6","es3");$jscomp.polyfill("Math.trunc",function(d){return d?d:function(d){d=Number(d);if(isNaN(d)||Infinity===d||-Infinity===d||0===d)return d;var f=Math.floor(Math.abs(d));return 0>d?-f:f}},"es6","es3"); -$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var d=0;return function(k){return $jscomp.SYMBOL_PREFIX+(k||"")+d++}}(); -$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var d=$jscomp.global.Symbol.iterator;d||(d=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[d]&&$jscomp.defineProperty(Array.prototype,d,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(d){var k=0;return $jscomp.iteratorPrototype(function(){return k>0];b|=e;if(0==e&&!c)break;d++;if(c&&d==c)break}c||(c=d);e="";if(128>b){for(;0e?b+=String.fromCharCode(e):(e-=65536,b+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else b+=String.fromCharCode(e)}}function ha(a,c){0< -a%c&&(a+=c-a%c);return a}function r(){a.HEAP8=ia=new Int8Array(D);a.HEAP16=Ja=new Int16Array(D);a.HEAP32=E=new Int32Array(D);a.HEAPU8=W=new Uint8Array(D);a.HEAPU16=new Uint16Array(D);a.HEAPU32=new Uint32Array(D);a.HEAPF32=new Float32Array(D);a.HEAPF64=new Float64Array(D)}function B(e){for(;0>2]=e;e=la.buffer;for(var d=0;d>2],c.adjusted=e,(sa(p[d]),e)|0;e=E[e>>2]; -return(sa(b),e)|0}function Z(e,c){w.varargs=c;try{var b=w.get(),p=w.get(),d=w.get();e=0;Z.buffers||(Z.buffers=[null,[],[]],Z.printChar=function(c,b){var e=Z.buffers[c];f(e);0===b||10===b?((1===c?a.print:a.printErr)(h(e,0)),e.length=0):e.push(b)});for(c=0;c>2],k=E[p+(8*c+4)>>2],l=0;l=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++b)&1023);127>=e?++c:c=2047>=e?c+2:65535>=e?c+3:2097151>=e?c+4:67108863>=e?c+5:c+6}c=Array(c+1);b=0;e=c.length;if(0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++d)&1023);if(127>=f){if(b>=e)break;c[b++]=f}else{if(2047>=f){if(b+1>=e)break;c[b++]=192|f>>6}else{if(65535>=f){if(b+2>=e)break;c[b++]=224|f>>12}else{if(2097151>=f){if(b+ -3>=e)break;c[b++]=240|f>>18}else{if(67108863>=f){if(b+4>=e)break;c[b++]=248|f>>24}else{if(b+5>=e)break;c[b++]=252|f>>30;c[b++]=128|f>>24&63}c[b++]=128|f>>18&63}c[b++]=128|f>>12&63}c[b++]=128|f>>6&63}c[b++]=128|f&63}}c[b]=0}a=l.alloc(c,ia);l.copy(c,ia,a)}return a}function z(){throw"cannot construct a Status, no constructor in IDL";}function F(){this.ptr=Wa();t(F)[this.ptr]=this}function G(){this.ptr=Xa();t(G)[this.ptr]=this}function H(){this.ptr=Ya();t(H)[this.ptr]=this}function I(){this.ptr=Za(); -t(I)[this.ptr]=this}function J(){this.ptr=$a();t(J)[this.ptr]=this}function n(){this.ptr=ab();t(n)[this.ptr]=this}function P(){this.ptr=bb();t(P)[this.ptr]=this}function x(){this.ptr=cb();t(x)[this.ptr]=this}function K(){this.ptr=db();t(K)[this.ptr]=this}function q(){this.ptr=eb();t(q)[this.ptr]=this}function L(){this.ptr=fb();t(L)[this.ptr]=this}function M(){this.ptr=gb();t(M)[this.ptr]=this}function V(){this.ptr=hb();t(V)[this.ptr]=this}function Q(){this.ptr=ib();t(Q)[this.ptr]=this}function g(){this.ptr= -jb();t(g)[this.ptr]=this}function C(){this.ptr=kb();t(C)[this.ptr]=this}function X(){throw"cannot construct a VoidPtr, no constructor in IDL";}function N(){this.ptr=lb();t(N)[this.ptr]=this}function R(){this.ptr=mb();t(R)[this.ptr]=this}d=d||{};var a="undefined"!==typeof d?d:{},Qa=!1,Ra=!1;a.onRuntimeInitialized=function(){Qa=!0;if(Ra&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ra=!0;if(Qa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported= -function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2]},getStr:function(){return u(w.get())},get64:function(){var a=w.get(),c=w.get();0<=a?f(0===c):f(-1===c);return a},getZero:function(){f(0===w.get())}},va={},Ha=1;ka=function(a){f(!Sa);var c=ba;ba=ba+ -a+15&-16;return c}(4);Ca=ta=k(ba);ua=Ca+Fa;Da=k(ua);E[ka>>2]=Da;Sa=!0;a.wasmTableSize=468;a.wasmMaxTableSize=468;a.asmGlobalArg={};a.asmLibraryArg={abort:O,assert:f,enlargeMemory:function(){var e=a.usingWasm?65536:16777216,c=2147483648-e;if(E[ka>>2]>c)return!1;var b=A;for(A=Math.max(A,16777216);A>2];)A=536870912>=A?ha(2*A,e):Math.min(ha((3*A+2147483648)/4,e),c);e=a.reallocBuffer(A);if(!e||e.byteLength!=A)return A=b,!1;a.buffer=D=e;r();return!0},getTotalMemory:function(){return A},abortOnCannotGrowMemory:function(){O("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ -A+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_ii:function(e,c){try{return a.dynCall_ii(e,c)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_iii:function(e,c,b){try{return a.dynCall_iii(e,c,b)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;a.setThrew(1,0)}},invoke_iiii:function(e,c,b,d){try{return a.dynCall_iiii(e, -c,b,d)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_iiiiiii:function(e,c,b,d,f,g,h){try{return a.dynCall_iiiiiii(e,c,b,d,f,g,h)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vi:function(e,c){try{a.dynCall_vi(e,c)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vii:function(e,c,b){try{a.dynCall_vii(e, -c,b)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;a.setThrew(1,0)}},invoke_viii:function(e,c,b,d){try{a.dynCall_viii(e,c,b,d)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_viiii:function(e,c,b,d,f){try{a.dynCall_viiii(e,c,b,d,f)}catch(xa){if("number"!==typeof xa&&"longjmp"!==xa)throw xa;a.setThrew(1,0)}},invoke_viiiii:function(e,c,b,d,f,g){try{a.dynCall_viiiii(e,c,b,d,f,g)}catch(ca){if("number"!==typeof ca&&"longjmp"!==ca)throw ca;a.setThrew(1,0)}},invoke_viiiiii:function(e, -c,b,d,f,g,h){try{a.dynCall_viiiiii(e,c,b,d,f,g,h)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:v,___cxa_allocate_exception:function(a){return Ka(a)},___cxa_begin_catch:function(a){var c=y.infos[a];c&&!c.caught&&(c.caught=!0,v.uncaught_exception--);c&&(c.rethrown=!1);y.caught.push(a);y.addRef(y.deAdjust(a));return a},___cxa_find_matching_catch:la,___cxa_pure_virtual:function(){oa=!0;throw"Pure virtual function called!";},___cxa_throw:function(a, -c,b){y.infos[a]={ptr:a,adjusted:a,type:c,destructor:b,refcount:0,caught:!1,rethrown:!1};y.last=a;"uncaught_exception"in v?v.uncaught_exception++:v.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){y.last||(y.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; -},___setErrNo:function(d){a.___errno_location&&(E[a.___errno_location()>>2]=d);return d},___syscall140:function(a,c){w.varargs=c;try{var b=w.getStreamFromFD();w.get();var d=w.get(),e=w.get(),f=w.get();FS.llseek(b,d,f);E[e>>2]=b.position;b.getdents&&0===d&&0===f&&(b.getdents=null);return 0}catch(ca){return"undefined"!==typeof FS&&ca instanceof FS.ErrnoError||O(ca),-ca.errno}},___syscall146:Z,___syscall6:function(a,c){w.varargs=c;try{var b=w.getStreamFromFD();FS.close(b);return 0}catch(p){return"undefined"!== -typeof FS&&p instanceof FS.ErrnoError||O(p),-p.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,c,b){W.set(W.subarray(c,c+b),a);return a},_llvm_trap:function(){O("trap!")},_pthread_getspecific:function(a){return va[a]||0},_pthread_key_create:function(a,c){if(0==a)return 22;E[a>>2]=Ha;va[Ha]=0;Ha++;return 0},_pthread_once:ma,_pthread_setspecific:function(a,c){if(!(a in va))return 22;va[a]=c;return 0},flush_NO_FILESYSTEM:function(){var d=a._fflush;d&&d(0);if(d=Z.printChar){var c= -Z.buffers;c[1].length&&d(1,10);c[2].length&&d(2,10)}},DYNAMICTOP_PTR:ka,tempDoublePtr:qb,ABORT:oa,STACKTOP:ta,STACK_MAX:ua};var Ua=a.asm(a.asmGlobalArg,a.asmLibraryArg,D);a.asm=Ua;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var $a=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null, -arguments)},rb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)},sb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},tb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null, -arguments)},cb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,arguments)},ub=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},vb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null, -arguments)},wb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},xb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},yb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null, -arguments)},bb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},zb=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null, -arguments)},ib=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Bb=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Cb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Db=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null, -arguments)},Eb=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},jb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Fb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Gb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3= -function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Hb=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Ib=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Jb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null, -arguments)},Kb=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null,arguments)},Lb=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)},Mb=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Nb=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3= -function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)},Ob=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Pb=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Qb=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null, -arguments)},Rb=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetEncodedGeometryType_1= -function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},Wb=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null, -arguments)},Yb=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Zb=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},gb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},$b=a._emscripten_bind_DracoFloat32Array_GetValue_1= -function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},ac=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},bc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},fb=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm._emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null, -arguments)},cc=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt16Array_GetValue_1.apply(null,arguments)},dc=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},ec=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},lb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null, -arguments)},fc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},gc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},hc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},db=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm._emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null, -arguments)},ic=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt8Array_GetValue_1.apply(null,arguments)},jc=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt8Array___destroy___0.apply(null,arguments)},kc=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},Wa=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null, -arguments)},lc=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt16Array_GetValue_1.apply(null,arguments)},mc=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},nc=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},Za=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null, -arguments)},oc=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,arguments)},pc=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},qc=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},Ya=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, -arguments)},rc=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,arguments)},sc=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},tc=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},hb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, -arguments)},uc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},kb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},vc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},wc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, -arguments)},xc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},yc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},zc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},Ac=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, -arguments)},Bc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Cc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},Dc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},Ec=a._emscripten_bind_MetadataQuerier_HasEntry_2= -function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Fc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Gc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},eb=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, -arguments)},Hc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},Ic=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},mb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Jc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, -arguments)},Kc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},ab=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Lc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},Mc=a._emscripten_bind_PointAttribute_attribute_type_0= -function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},Nc=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},Oc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},Pc=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null, -arguments)},Qc=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Rc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},Sc=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Tc=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, -arguments)},Xa=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},Uc=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Vc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},Wc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null, -arguments)},Xc=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},Yc=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},Zc=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},$c=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},ad=a._emscripten_bind_VoidPtr___destroy___0= -function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},bd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},cd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},dd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM= -function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},ed=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},fd=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, -arguments)},gd=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},hd=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},id=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},jd= -a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},kd=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},ld=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},md=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= -function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},nd=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},od=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},pd=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, -arguments)},qd=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},rd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},sd=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},td=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, -arguments)},nb=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Ka=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null, -arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};var sa=a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null, -arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null, -arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};a.asm=Ua;a.then=function(d){if(a.calledRun)d(a); -else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();d(a)}}return a};na.prototype=Error();na.prototype.constructor=na;ra=function c(){a.calledRun||wa();a.calledRun||(ra=c)};a.run=wa;a.exit=function(c,b){if(!b||!a.noExitRuntime||0!==c){if(!a.noExitRuntime&&(oa=!0,ta=void 0,B(ob),a.onExit))a.onExit(c);qa&&process.exit(c);a.quit(c,new na(c))}};a.abort=O;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=l.size?(f(0>= -1;break;case 4:d>>=2;break;case 8:d>>=3}for(var c=0;c>>16&65535)*g+n*(d>>>16&65535)<<16>>>0)|0}},"es6","es3"); +$jscomp.polyfill("Math.clz32",function(d){return d?d:function(f){f=Number(f)>>>0;if(0===f)return 32;var d=0;0===(f&4294901760)&&(f<<=16,d+=16);0===(f&4278190080)&&(f<<=8,d+=8);0===(f&4026531840)&&(f<<=4,d+=4);0===(f&3221225472)&&(f<<=2,d+=2);0===(f&2147483648)&&d++;return d}},"es6","es3");$jscomp.polyfill("Math.trunc",function(d){return d?d:function(d){d=Number(d);if(isNaN(d)||Infinity===d||-Infinity===d||0===d)return d;var f=Math.floor(Math.abs(d));return 0>d?-f:f}},"es6","es3"); +$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(d){return $jscomp.SYMBOL_PREFIX+(d||"")+$jscomp.symbolCounter_++}; +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var d=$jscomp.global.Symbol.iterator;d||(d=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[d]&&$jscomp.defineProperty(Array.prototype,d,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(d){var f=0;return $jscomp.iteratorPrototype(function(){return f>0];c|=l;if(0==l&&!b)break;d++;if(b&&d==b)break}b||(b=d);l="";if(128>c){for(;0>2]>b)return!1;var c=y;for(y=Math.max(y,ib);y>2];)y=536870912>=y?ma(2*y,e):Math.min(ma((3*y+2147483648)/4,e),b);e=a.reallocBuffer(y);if(!e||e.byteLength!=y)return y=c,!1;a.buffer=F=e;D();return!0}function u(e){for(;0>2]=e;e=qa.buffer;for(var d=0;d> +2],b.adjusted=e,(m.setTempRet0(l[d]),e)|0;e=x[e>>2];return(m.setTempRet0(c),e)|0}function Q(e,b){w.varargs=b;try{var c=w.get(),l=w.get(),d=w.get();e=0;Q.buffer||(Q.buffers=[null,[],[]],Q.printChar=function(b,c){var e=Q.buffers[b];f(e);if(0===c||10===c){b=1===b?a.print:a.printErr;a:{for(var l=c=0;e[l];)++l;if(16d?l+=String.fromCharCode(d):(d-=65536,l+=String.fromCharCode(55296|d>>10,56320|d&1023))}}else l+=String.fromCharCode(d)}}b(c);e.length=0}else e.push(c)});for(b=0;b>2],g=x[l+(8*b+4)>>2],k=0;k=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:2097151>=e?b+4:67108863>=e?b+5:b+6}b=Array(b+1);c=0;e=b.length;if(0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++d)&1023);if(127>=f){if(c>=e)break;b[c++]=f}else{if(2047>=f){if(c+1>=e)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=e)break;b[c++]=224|f>>12}else{if(2097151>=f){if(c+3>=e)break;b[c++]=240|f>>18}else{if(67108863>=f){if(c+4>=e)break;b[c++]=248|f>>24}else{if(c+5>=e)break;b[c++]=252|f>>30;b[c++]=128|f>>24&63}b[c++]=128|f>>18&63}b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}a=k.alloc(b,fa);k.copy(b,fa,a)}return a} +function B(){throw"cannot construct a Status, no constructor in IDL";}function G(){this.ptr=lb();t(G)[this.ptr]=this}function H(){this.ptr=mb();t(H)[this.ptr]=this}function I(){this.ptr=nb();t(I)[this.ptr]=this}function J(){this.ptr=ob();t(J)[this.ptr]=this}function K(){this.ptr=pb();t(K)[this.ptr]=this}function q(){this.ptr=qb();t(q)[this.ptr]=this}function P(){this.ptr=rb();t(P)[this.ptr]=this}function z(){this.ptr=sb();t(z)[this.ptr]=this}function L(){this.ptr=tb();t(L)[this.ptr]=this}function r(){this.ptr= +ub();t(r)[this.ptr]=this}function M(){this.ptr=vb();t(M)[this.ptr]=this}function N(){this.ptr=wb();t(N)[this.ptr]=this}function Z(){this.ptr=xb();t(Z)[this.ptr]=this}function R(){this.ptr=yb();t(R)[this.ptr]=this}function h(){this.ptr=zb();t(h)[this.ptr]=this}function C(){this.ptr=Ab();t(C)[this.ptr]=this}function ca(){throw"cannot construct a VoidPtr, no constructor in IDL";}function O(){this.ptr=Bb();t(O)[this.ptr]=this}function S(){this.ptr=Cb();t(S)[this.ptr]=this}var a=d=d||{},bb=!1,cb=!1;a.onRuntimeInitialized= +function(){bb=!0;if(cb&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){cb=!0;if(bb&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2];a=(b+a+15|0)&-16;x[ba>>2]=a;return a>=y&&!Ma()?(x[ba>>2]=b,0):b},alignMemory:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},makeBigInt:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},ua=0,Ua="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var Aa=65536,Sa=16777216,ib=16777216,fa,T,za, +Oa,x,Pa,Qa,Ra,aa,Ga,U,xa,Ha,ba;var Ia=aa=Ga=U=xa=Ha=ba=0;a.reallocBuffer||(a.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)var b=ArrayBuffer.transfer(F,a);else{var c=fa;b=new ArrayBuffer(a);(new Int8Array(b)).set(c)}}catch(l){return!1}return Db(b)?b:!1});try{var Ja=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);Ja(new ArrayBuffer(4))}catch(e){Ja=function(a){return a.byteLength}}var Ka=a.TOTAL_STACK||5242880,y=a.TOTAL_MEMORY||16777216; +y>2]},getStr:function(){return n(w.get())},get64:function(){var a=w.get(),b=w.get();0<=a? +f(0===b):f(-1===b);return a},getZero:function(){f(0===w.get())}},ya={},La=1;db.push(function(){var e=a._fflush;e&&e(0);if(e=Q.printChar){var b=Q.buffers;b[1].length&&e(1,10);b[2].length&&e(2,10)}});ba=m.staticAlloc(4);Ga=U=m.alignMemory(aa);xa=Ga+Ka;Ha=m.alignMemory(xa);x[ba>>2]=Ha;a.wasmTableSize=468;a.wasmMaxTableSize=468;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array, +Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ja};a.asmLibraryArg={abort:W,assert:f,enlargeMemory:Ma,getTotalMemory:function(){return y},abortOnCannotGrowMemory:function(){W("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+y+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}, +invoke_ii:function(e,b){try{return a.dynCall_ii(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_iii:function(e,b,c){try{return a.dynCall_iii(e,b,c)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_iiii:function(e,b,c,d){try{return a.dynCall_iiii(e,b,c,d)}catch(E){if("number"!==typeof E&&"longjmp"!==E)throw E;a.setThrew(1,0)}},invoke_iiiiiii:function(e,b,c,d,f,g,h){try{return a.dynCall_iiiiiii(e,b,c,d,f,g,h)}catch(ja){if("number"!== +typeof ja&&"longjmp"!==ja)throw ja;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vi:function(e,b){try{a.dynCall_vi(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vii:function(e,b,c){try{a.dynCall_vii(e,b,c)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_viii:function(e,b,c,d){try{a.dynCall_viii(e,b,c,d)}catch(E){if("number"!==typeof E&& +"longjmp"!==E)throw E;a.setThrew(1,0)}},invoke_viiii:function(e,b,c,d,f){try{a.dynCall_viiii(e,b,c,d,f)}catch(ta){if("number"!==typeof ta&&"longjmp"!==ta)throw ta;a.setThrew(1,0)}},invoke_viiiii:function(e,b,c,d,f,g){try{a.dynCall_viiiii(e,b,c,d,f,g)}catch(ia){if("number"!==typeof ia&&"longjmp"!==ia)throw ia;a.setThrew(1,0)}},invoke_viiiiii:function(e,b,c,d,f,g,h){try{a.dynCall_viiiiii(e,b,c,d,f,g,h)}catch(ja){if("number"!==typeof ja&&"longjmp"!==ja)throw ja;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:na, +___cxa_allocate_exception:function(a){return Ta(a)},___cxa_begin_catch:function(a){var b=A.infos[a];b&&!b.caught&&(b.caught=!0,na.uncaught_exception--);b&&(b.rethrown=!1);A.caught.push(a);A.addRef(A.deAdjust(a));return a},___cxa_find_matching_catch:qa,___cxa_pure_virtual:function(){ua=!0;throw"Pure virtual function called!";},___cxa_throw:function(a,b,c){A.infos[a]={ptr:a,adjusted:a,type:b,destructor:c,refcount:0,caught:!1,rethrown:!1};A.last=a;"uncaught_exception"in na?na.uncaught_exception++:na.uncaught_exception= +1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){A.last||(A.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___setErrNo:function(e){a.___errno_location&&(x[a.___errno_location()>>2]=e);return e}, +___syscall140:function(a,b){w.varargs=b;try{var c=w.getStreamFromFD();w.get();var e=w.get(),d=w.get(),f=w.get();FS.llseek(c,e,f);x[d>>2]=c.position;c.getdents&&0===e&&0===f&&(c.getdents=null);return 0}catch(ia){return"undefined"!==typeof FS&&ia instanceof FS.ErrnoError||W(ia),-ia.errno}},___syscall146:Q,___syscall6:function(a,b){w.varargs=b;try{var c=w.getStreamFromFD();FS.close(c);return 0}catch(l){return"undefined"!==typeof FS&&l instanceof FS.ErrnoError||W(l),-l.errno}},_abort:function(){a.abort()}, +_emscripten_memcpy_big:function(a,b,c){T.set(T.subarray(b,b+c),a);return a},_pthread_getspecific:function(a){return ya[a]||0},_pthread_key_create:function(a,b){if(0==a)return 22;x[a>>2]=La;ya[La]=0;La++;return 0},_pthread_once:ra,_pthread_setspecific:function(a,b){if(!(a in ya))return 22;ya[a]=b;return 0},DYNAMICTOP_PTR:ba,tempDoublePtr:Eb,ABORT:ua,STACKTOP:U,STACK_MAX:xa};var eb=a.asm(a.asmGlobalArg,a.asmLibraryArg,F);a.asm=eb;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null, +arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var pb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},Fb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)}, +Gb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},Hb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},sb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null, +arguments)},Ib=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},Jb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)},Kb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null, +arguments)},Lb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Mb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},rb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null, +arguments)},Nb=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Ob=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},yb=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Pb=a._emscripten_bind_DecoderBuffer_Init_2= +function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Qb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null, +arguments)},zb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetAttributeFloat_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Wb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Yb=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null, +arguments)},Zb=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)},$b=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},ac=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)}, +bc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},cc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},dc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null,arguments)},ec=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},fc=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},gc=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},hc=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null, +arguments)},ic=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},jc=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},kc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},lc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null, +arguments)},mc=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},wb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},nc=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},oc=a._emscripten_bind_DracoFloat32Array___destroy___0= +function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},pc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},vb=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm._emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null,arguments)},qc=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt16Array_GetValue_1.apply(null, +arguments)},rc=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},sc=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},Bb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,arguments)},tc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null, +arguments)},uc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},vc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},tb=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm._emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null,arguments)},wc=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt8Array_GetValue_1.apply(null, +arguments)},xc=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt8Array___destroy___0.apply(null,arguments)},yc=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},lb=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null,arguments)},zc=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt16Array_GetValue_1.apply(null, +arguments)},Ac=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},Bc=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},ob=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null,arguments)},Cc=a._emscripten_bind_DracoUInt32Array_GetValue_1= +function(){return a.asm._emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,arguments)},Dc=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},Ec=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},nb=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, +arguments)},Fc=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,arguments)},Gc=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},Hc=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},xb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},Ic=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},Jc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},Kc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, +arguments)},Lc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},Mc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},Nc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},Oc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, +arguments)},Pc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Qc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},Rc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},Sc=a._emscripten_bind_MetadataQuerier_HasEntry_2= +function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Tc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Uc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},ub=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, +arguments)},Vc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},Wc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},Cb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Xc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, +arguments)},Yc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},qb=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Zc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},$c=a._emscripten_bind_PointAttribute_attribute_type_0= +function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},ad=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},bd=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},cd=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null, +arguments)},dd=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},ed=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},fd=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},gd=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, +arguments)},mb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},hd=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},id=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},jd=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null, +arguments)},kd=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},ld=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},md=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},nd=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},od=a._emscripten_bind_VoidPtr___destroy___0= +function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},pd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},qd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},rd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM= +function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},sd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},td=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, +arguments)},ud=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},vd=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},wd=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},xd= +a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},yd=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},zd=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},Ad=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= +function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Bd=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Cd=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},Dd=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, +arguments)},Ed=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Fd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},Gd=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},Hd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, +arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var Db=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Ta=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)}; +a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null,arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)}; +a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)}; +a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null, +arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};m.stackAlloc=a.stackAlloc;m.stackSave=a.stackSave;m.stackRestore=a.stackRestore;m.establishStackSpace=a.establishStackSpace;m.setTempRet0=a.setTempRet0;m.getTempRet0=a.getTempRet0;a.asm=eb;if(V)if("function"===typeof a.locateFile?V=a.locateFile(V):a.memoryInitializerPrefixURL&&(V=a.memoryInitializerPrefixURL+V),pa||wa){var Id=a.readBinary(V);T.set(Id,m.GLOBAL_BASE)}else{var gb=function(){a.readAsync(V,fb, +function(){throw"could not load memory initializer "+V;})};la("memory initializer");var fb=function(d){d.byteLength&&(d=new Uint8Array(d));T.set(d,m.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Na("memory initializer")};if(a.memoryInitializerRequest){var hb=function(){var d=a.memoryInitializerRequest,b=d.response;200!==d.status&&0!==d.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+d.status+", retrying "+ +V),gb()):fb(b)};a.memoryInitializerRequest.response?setTimeout(hb,0):a.memoryInitializerRequest.addEventListener("load",hb)}else gb()}a.then=function(d){if(a.calledRun)d(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};ea.prototype=Error();ea.prototype.constructor=ea;var Za=null;sa=function b(){a.calledRun||Da();a.calledRun||(sa=b)};a.run=Da;a.exit=function(b,c){if(!c||!a.noExitRuntime){if(!a.noExitRuntime&&(ua=!0,U=void 0,u(db),a.onExit))a.onExit(b);pa&& +process.exit(b);a.quit(b,new ea(b))}};var ab=[];a.abort=W;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=k.size?(f(0>=1;break;case 4:d>>=2;break;case 8:d>>=3}for(var b=0;b3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+18080;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,TBIAAJQSAAAYAAAAAAAAACQSAAC7EgAATBIAANgSAAAYAAAAAAAAAEwSAAABEwAAQAAAAAAAAAAkEgAAHRMAAEwSAACxEwAAMAAAAAAAAAAkEgAA0xMAAEwSAAD4EwAAMAAAAAAAAABMEgAAjSAAAFgAAAAAAAAATBIAACgUAACQAAAAAAAAAEwSAACBFAAAoAAAAAAAAABMEgAA1RQAALAAAAAAAAAATBIAAAkVAADAAAAAAAAAACQSAAA0FQAATBIAAFgVAADYAAAAAAAAACQSAAD2FQAATBIAAJQWAADwAAAAAAAAAEwSAAAsFwAAkAAAAAAAAABMEgAAtRcAAPAAAAAAAAAATBIAAE8YAADwAAAAAAAAAEwSAADhGAAA8AAAAAAAAABMEgAAhxkAAPAAAAAAAAAATBIAACIaAADwAAAAAAAAAEwSAAC4GgAAYAEAAAAAAAAkEgAAYxsAAEwSAAAOHAAAeAEAAAAAAABMEgAAsxwAAJAAAAAAAAAATBIAAEkdAAB4AQAAAAAAAEwSAADwHQAAeAEAAAAAAABMEgAAjx4AAHgBAAAAAAAATBIAAEIfAAB4AQAAAAAAAEwSAADqHwAAeAEAAAAAAABMEgAATS0AAHAAAAAAAAAATBIAALkgAAD4AQAAAAAAAEwSAAAqIQAAoAAAAAAAAABMEgAAliEAABgCAAAAAAAAJBIAAEwiAABMEgAAAiMAADACAAAAAAAATBIAALIjAAD4AQAAAAAAAEwSAABTJAAAUAIAAAAAAAAkEgAAFiUAAEwSAADZJQAAaAIAAAAAAABMEgAAliYAAPgBAAAAAAAATBIAAEQnAACIAgAAAAAAAEwSAACoJwAAoAAAAAAAAABMEgAABygAAKgCAAAAAAAAJBIAALAoAABMEgAAWSkAAMACAAAAAAAATBIAAPwpAACIAgAAAAAAAEwSAACQKgAA4AIAAAAAAAAkEgAARisAAEwSAAD8KwAA+AIAAAAAAABMEgAArCwAAIgCAAAAAAAATBIAAHgtAABwAAAAAAAAAEwSAAAQLgAA2AMAAAAAAABMEgAAJi4AABgDAAAAAAAATBIAABQxAACQAwAAAAAAACQSAABHLgAATBIAAI8uAABgAwAAAAAAACQSAABZLwAAJBIAAHMvAABMEgAAri8AAGADAAAAAAAATBIAAFcwAABgAwAAAAAAACQSAABgMQAATBIAAI4xAACQAwAAAAAAAEwSAADkMQAAkAMAAAAAAABMEgAAUTIAABgDAAAAAAAATBIAADcyAABgAwAAAAAAACQSAABxMgAATBIAAKQzAADYAwAAAAAAAEwSAADGMwAA2AMAAAAAAABMEgAA7DMAABAEAAAAAAAAJBIAAPozAAAkEgAAnj4AAEwSAAD+PgAAMAQAAAAAAABMEgAAqz4AAEAEAAAAAAAAJBIAAMw+AABMEgAA2T4AACAEAAAAAAAATBIAAOA/AAAYBAAAAAAAAEwSAADwPwAAWAQAAAAAAABMEgAAJUAAADAEAAAAAAAATBIAAAFAAAB4BAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAAIAAAACQAAAAYAAAAAAAAAWAAAAAkAAAAKAAAAAgAAAAoAAAADAAAABAAAAAsAAAAMAAAABQAAAP////8AAAAAYAAAAAsAAAAMAAAAAQAAAA0AAAAOAAAABQAAAAMAAAAEAAAADwAAABAAAAARAAAABwAAAAEAAAAAAAAAcAAAAA0AAAAOAAAABgAAAAoAAAADAAAABAAAABIAAAAMAAAABwAAAAgAAAABAAAACAAAABMAAAAAAAAAkAAAAA8AAAAQAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAACAAAAADwAAABEAAAANAAAACQAAAA4AAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAABAAAAAAAAAEABAAAPAAAAEgAAAA8AAAAJAAAAEAAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAIAAAAAAAAAMAEAAA8AAAATAAAAEQAAAAkAAAASAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAwAAAAAAAAAgAQAAFAAAABUAAAATAAAACQAAABQAAAAKAAAAFAAAABUAAAALAAAADAAAABcAAAAEAAAAAAAAABABAAAWAAAAFwAAABUAAAAJAAAAFgAAABcAAAAYAAAAGQAAAAsAAAAMAAAAGgAAAAUAAAAAAAAAAAEAABgAAAAZAAAAGAAAAAkAAAAZAAAAGgAAABsAAAAcAAAACwAAAAwAAAAdAAAABgAAAAAAAADgAAAAGgAAABsAAAAbAAAACQAAABwAAAAdAAAAHgAAAB8AAAALAAAADAAAACAAAAAHAAAAAAAAAMgAAAAcAAAAHQAAACEAAAAeAAAAAgAAAAAAAADIAQAADwAAAB4AAAAfAAAACQAAACAAAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAAIAAAAAAAAALgBAAAPAAAAHwAAACEAAAAJAAAAIgAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAkAAAAAAAAAqAEAACAAAAAhAAAAIwAAAAkAAAAkAAAACgAAABQAAAAVAAAACwAAAAwAAAAiAAAACgAAAAAAAACYAQAAIgAAACMAAAAlAAAACQAAACYAAAAnAAAAIwAAACQAAAALAAAADAAAACUAAAALAAAAAAAAAIgBAAAkAAAAJQAAACgAAAAJAAAAKQAAACoAAAAmAAAAJwAAAAsAAAAMAAAAKAAAAAwAAAAAAAAAaAEAACYAAAAnAAAAKwAAAAkAAAAsAAAALQAAACkAAAAqAAAACwAAAAwAAAArAAAADQAAAAAAAABQAQAAKAAAACkAAAAsAAAALgAAAAMAAAAAAAAA2AEAAA0AAAAqAAAACQAAAAoAAAADAAAACgAAABIAAAAMAAAABwAAAAsAAAACAAAALwAAAC0AAAAAAAAAeAIAACsAAAAsAAAAMAAAADEAAAAyAAAAMwAAAC4AAAAvAAAANAAAADUAAAAwAAAADgAAAAAAAADoAQAAKwAAAC0AAAA2AAAANwAAADgAAAA5AAAAMQAAADIAAAA6AAAAOwAAADMAAAAPAAAAAAAAAFgCAAAuAAAALwAAADwAAAA3AAAAPQAAAD4AAAA0AAAANQAAADoAAAA7AAAANgAAABAAAAAAAAAAQAIAADAAAAAxAAAANwAAAD8AAAAEAAAAAAAAACACAAAyAAAAMwAAAEAAAAA3AAAAQQAAAEIAAAA4AAAAOQAAADoAAAA7AAAAOgAAABEAAAAAAAAACAIAADQAAAA1AAAAOwAAAEMAAAAFAAAAAAAAAOgCAAA2AAAANwAAAEQAAAAxAAAARQAAAEYAAAA8AAAAPQAAADQAAAA1AAAAPgAAABIAAAAAAAAA0AIAADgAAAA5AAAAPwAAAEcAAAAGAAAAAAAAALACAAA6AAAAOwAAAEgAAAAxAAAASQAAAEoAAABAAAAAQQAAADQAAAA1AAAAQgAAABMAAAAAAAAAmAIAADwAAAA9AAAAQwAAAEsAAAAHAAAAAAAAAAgDAAA+AAAAPwAAAAwAAAAKAAAAAwAAAA0AAAASAAAADAAAAAcAAAAOAAAAAQAAAAgAAABEAAAATAAAAEUAAAAAAAAAGAMAAEAAAABBAAAATQAAAE4AAAABAAAATwAAAFAAAABRAAAAUgAAAFMAAABGAAAARwAAAAEAAAAAAAAAKAMAAEIAAABDAAAATQAAAFQAAABIAAAATwAAAFAAAABRAAAAVQAAAFYAAABJAAAASgAAAFcAAAAAAAAAOAMAAEQAAABFAAAASwAAAEwAAABNAAAATgAAAFgAAABZAAAAWgAAAFsAAAD/////AAAAAFADAABGAAAARwAAAE8AAABcAAAAAAAAAEgDAABIAAAASQAAAEoAAAD/////AAAAAHADAABLAAAATAAAAFAAAABdAAAAAAAAAGgDAABNAAAATgAAAE8AAAAAAAAAgAMAAFAAAABRAAAAUQAAAF4AAAAAAAAAmAMAAFIAAABTAAAAUgAAAFMAAABUAAAAVQAAAF8AAABgAAAAYQAAAGIAAAAAAAAAqAMAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAGMAAABkAAAAZQAAAGYAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC4AwAAQAAAAFYAAABNAAAATgAAAFoAAABPAAAAUAAAAFEAAABSAAAAUwAAAEYAAABHAAAAZwAAAAAAAADIAwAAVwAAAFgAAABbAAAAaAAAAAAAAADYAwAAQAAAAFkAAABpAAAATgAAAAEAAABqAAAAUAAAAFEAAABSAAAAAAAAAOADAABAAAAAWgAAAGkAAABOAAAAXAAAAGsAAABQAAAAUQAAAFIAAAAAAAAA8AMAAEAAAABbAAAAaQAAAE4AAABdAAAAbAAAAFAAAABRAAAAUgAAAP//////////AAAAAAAEAABcAAAAXQAAAAgAAAADAAAA/////wAAAAAQBAAAXgAAAF8AAAAJAAAABAAAACwOAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJBCAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArA4AAAUAAAAAAAAAAAAAAG0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAAmEIAAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAIAAAAAAAAAIAQAAGAAAABhAAAAYgAAAGMAAAATAAAAAQAAAAEAAAADAAAAAAAAAEgEAABgAAAAZAAAAGIAAABjAAAAEwAAAAIAAAACAAAABAAAAAAAAABYBAAAZQAAAGYAAABuAAAAAAAAAGgEAABlAAAAZwAAAG4AAABONWRyYWNvMjhBdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtRQBONWRyYWNvMThBdHRyaWJ1dGVUcmFuc2Zvcm1FAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUATjVkcmFjbzE3QXR0cmlidXRlc0RlY29kZXJFAE41ZHJhY28yNkF0dHJpYnV0ZXNEZWNvZGVySW50ZXJmYWNlRQBLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRGVjb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVEZWNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAElucHV0IGlzIG5vdCBhIG1lc2guAElucHV0IGlzIG5vdCBhIHBvaW50IGNsb3VkLgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0ATjVkcmFjbzExTWVzaERlY29kZXJFAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckRlY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfNDFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxQcmVkaWN0aXZlRGVjb2RlckVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUARmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ARFJBQ08ATm90IGEgRHJhY28gZmlsZS4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4AVW5rbm93biBtYWpvciB2ZXJzaW9uLgBVbmtub3duIG1pbm9yIHZlcnNpb24uAEZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBkZWNvZGVyLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZURlY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRGVjb2RlckUATjVkcmFjbzRNZXNoRQBONWRyYWNvMTBQb2ludENsb3VkRQBGbG9hdFBvaW50c1RyZWVEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AACVkAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9F";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function 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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+18080;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,UBIAAJgSAAAYAAAAAAAAACgSAAC/EgAAUBIAANwSAAAYAAAAAAAAAFASAAAFEwAAQAAAAAAAAAAoEgAAIRMAAFASAAC1EwAAMAAAAAAAAAAoEgAA1xMAAFASAAD8EwAAMAAAAAAAAABQEgAAkSAAAFgAAAAAAAAAUBIAACwUAACQAAAAAAAAAFASAACFFAAAoAAAAAAAAABQEgAA2RQAALAAAAAAAAAAUBIAAA0VAADAAAAAAAAAACgSAAA4FQAAUBIAAFwVAADYAAAAAAAAACgSAAD6FQAAUBIAAJgWAADwAAAAAAAAAFASAAAwFwAAkAAAAAAAAABQEgAAuRcAAPAAAAAAAAAAUBIAAFMYAADwAAAAAAAAAFASAADlGAAA8AAAAAAAAABQEgAAixkAAPAAAAAAAAAAUBIAACYaAADwAAAAAAAAAFASAAC8GgAAYAEAAAAAAAAoEgAAZxsAAFASAAASHAAAeAEAAAAAAABQEgAAtxwAAJAAAAAAAAAAUBIAAE0dAAB4AQAAAAAAAFASAAD0HQAAeAEAAAAAAABQEgAAkx4AAHgBAAAAAAAAUBIAAEYfAAB4AQAAAAAAAFASAADuHwAAeAEAAAAAAABQEgAAUS0AAHAAAAAAAAAAUBIAAL0gAAD4AQAAAAAAAFASAAAuIQAAoAAAAAAAAABQEgAAmiEAABgCAAAAAAAAKBIAAFAiAABQEgAABiMAADACAAAAAAAAUBIAALYjAAD4AQAAAAAAAFASAABXJAAAUAIAAAAAAAAoEgAAGiUAAFASAADdJQAAaAIAAAAAAABQEgAAmiYAAPgBAAAAAAAAUBIAAEgnAACIAgAAAAAAAFASAACsJwAAoAAAAAAAAABQEgAACygAAKgCAAAAAAAAKBIAALQoAABQEgAAXSkAAMACAAAAAAAAUBIAAAAqAACIAgAAAAAAAFASAACUKgAA4AIAAAAAAAAoEgAASisAAFASAAAALAAA+AIAAAAAAABQEgAAsCwAAIgCAAAAAAAAUBIAAHwtAABwAAAAAAAAAFASAAAULgAA2AMAAAAAAABQEgAAKi4AABgDAAAAAAAAUBIAABgxAACQAwAAAAAAACgSAABLLgAAUBIAAJMuAABgAwAAAAAAACgSAABdLwAAKBIAAHcvAABQEgAAsi8AAGADAAAAAAAAUBIAAFswAABgAwAAAAAAACgSAABkMQAAUBIAAJIxAACQAwAAAAAAAFASAADoMQAAkAMAAAAAAABQEgAAVTIAABgDAAAAAAAAUBIAADsyAABgAwAAAAAAACgSAAB1MgAAUBIAAKgzAADYAwAAAAAAAFASAADKMwAA2AMAAAAAAABQEgAA8DMAABAEAAAAAAAAKBIAAP4zAAAoEgAAoj4AAFASAAACPwAAMAQAAAAAAABQEgAArz4AAEAEAAAAAAAAKBIAANA+AABQEgAA3T4AACAEAAAAAAAAUBIAAOQ/AAAYBAAAAAAAAFASAAD0PwAAWAQAAAAAAABQEgAAKUAAADAEAAAAAAAAUBIAAAVAAAB4BAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAAIAAAACQAAAAYAAAAAAAAAWAAAAAkAAAAKAAAAAgAAAAoAAAADAAAABAAAAAsAAAAMAAAABQAAAP////8AAAAAYAAAAAsAAAAMAAAAAQAAAA0AAAAOAAAABQAAAAMAAAAEAAAADwAAABAAAAARAAAABwAAAAEAAAAAAAAAcAAAAA0AAAAOAAAABgAAAAoAAAADAAAABAAAABIAAAAMAAAABwAAAAgAAAABAAAACAAAABMAAAAAAAAAkAAAAA8AAAAQAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAACAAAAADwAAABEAAAANAAAACQAAAA4AAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAABAAAAAAAAAEABAAAPAAAAEgAAAA8AAAAJAAAAEAAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAIAAAAAAAAAMAEAAA8AAAATAAAAEQAAAAkAAAASAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAwAAAAAAAAAgAQAAFAAAABUAAAATAAAACQAAABQAAAAKAAAAFAAAABUAAAALAAAADAAAABcAAAAEAAAAAAAAABABAAAWAAAAFwAAABUAAAAJAAAAFgAAABcAAAAYAAAAGQAAAAsAAAAMAAAAGgAAAAUAAAAAAAAAAAEAABgAAAAZAAAAGAAAAAkAAAAZAAAAGgAAABsAAAAcAAAACwAAAAwAAAAdAAAABgAAAAAAAADgAAAAGgAAABsAAAAbAAAACQAAABwAAAAdAAAAHgAAAB8AAAALAAAADAAAACAAAAAHAAAAAAAAAMgAAAAcAAAAHQAAACEAAAAeAAAAAgAAAAAAAADIAQAADwAAAB4AAAAfAAAACQAAACAAAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAAIAAAAAAAAALgBAAAPAAAAHwAAACEAAAAJAAAAIgAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAkAAAAAAAAAqAEAACAAAAAhAAAAIwAAAAkAAAAkAAAACgAAABQAAAAVAAAACwAAAAwAAAAiAAAACgAAAAAAAACYAQAAIgAAACMAAAAlAAAACQAAACYAAAAnAAAAIwAAACQAAAALAAAADAAAACUAAAALAAAAAAAAAIgBAAAkAAAAJQAAACgAAAAJAAAAKQAAACoAAAAmAAAAJwAAAAsAAAAMAAAAKAAAAAwAAAAAAAAAaAEAACYAAAAnAAAAKwAAAAkAAAAsAAAALQAAACkAAAAqAAAACwAAAAwAAAArAAAADQAAAAAAAABQAQAAKAAAACkAAAAsAAAALgAAAAMAAAAAAAAA2AEAAA0AAAAqAAAACQAAAAoAAAADAAAACgAAABIAAAAMAAAABwAAAAsAAAACAAAALwAAAC0AAAAAAAAAeAIAACsAAAAsAAAAMAAAADEAAAAyAAAAMwAAAC4AAAAvAAAANAAAADUAAAAwAAAADgAAAAAAAADoAQAAKwAAAC0AAAA2AAAANwAAADgAAAA5AAAAMQAAADIAAAA6AAAAOwAAADMAAAAPAAAAAAAAAFgCAAAuAAAALwAAADwAAAA3AAAAPQAAAD4AAAA0AAAANQAAADoAAAA7AAAANgAAABAAAAAAAAAAQAIAADAAAAAxAAAANwAAAD8AAAAEAAAAAAAAACACAAAyAAAAMwAAAEAAAAA3AAAAQQAAAEIAAAA4AAAAOQAAADoAAAA7AAAAOgAAABEAAAAAAAAACAIAADQAAAA1AAAAOwAAAEMAAAAFAAAAAAAAAOgCAAA2AAAANwAAAEQAAAAxAAAARQAAAEYAAAA8AAAAPQAAADQAAAA1AAAAPgAAABIAAAAAAAAA0AIAADgAAAA5AAAAPwAAAEcAAAAGAAAAAAAAALACAAA6AAAAOwAAAEgAAAAxAAAASQAAAEoAAABAAAAAQQAAADQAAAA1AAAAQgAAABMAAAAAAAAAmAIAADwAAAA9AAAAQwAAAEsAAAAHAAAAAAAAAAgDAAA+AAAAPwAAAAwAAAAKAAAAAwAAAA0AAAASAAAADAAAAAcAAAAOAAAAAQAAAAgAAABEAAAATAAAAEUAAAAAAAAAGAMAAEAAAABBAAAATQAAAE4AAAABAAAATwAAAFAAAABRAAAAUgAAAFMAAABGAAAARwAAAAEAAAAAAAAAKAMAAEIAAABDAAAATQAAAFQAAABIAAAATwAAAFAAAABRAAAAVQAAAFYAAABJAAAASgAAAFcAAAAAAAAAOAMAAEQAAABFAAAASwAAAEwAAABNAAAATgAAAFgAAABZAAAAWgAAAFsAAAD/////AAAAAFADAABGAAAARwAAAE8AAABcAAAAAAAAAEgDAABIAAAASQAAAEoAAAD/////AAAAAHADAABLAAAATAAAAFAAAABdAAAAAAAAAGgDAABNAAAATgAAAE8AAAAAAAAAgAMAAFAAAABRAAAAUQAAAF4AAAAAAAAAmAMAAFIAAABTAAAAUgAAAFMAAABUAAAAVQAAAF8AAABgAAAAYQAAAGIAAAAAAAAAqAMAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAGMAAABkAAAAZQAAAGYAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC4AwAAQAAAAFYAAABNAAAATgAAAFoAAABPAAAAUAAAAFEAAABSAAAAUwAAAEYAAABHAAAAZwAAAAAAAADIAwAAVwAAAFgAAABbAAAAaAAAAAAAAADYAwAAQAAAAFkAAABpAAAATgAAAAEAAABqAAAAUAAAAFEAAABSAAAAAAAAAOADAABAAAAAWgAAAGkAAABOAAAAXAAAAGsAAABQAAAAUQAAAFIAAAAAAAAA8AMAAEAAAABbAAAAaQAAAE4AAABdAAAAbAAAAFAAAABRAAAAUgAAAP//////////AAAAAAAEAABcAAAAXQAAAAgAAAADAAAA/////wAAAAAQBAAAXgAAAF8AAAAJAAAABAAAACwOAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJRCAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAPAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEAAAAJxCAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAIAAACZPgAAAAAAACAEAABgAAAAYQAAAGIAAABjAAAAEwAAAAEAAAABAAAAAwAAAAAAAABIBAAAYAAAAGQAAABiAAAAYwAAABMAAAACAAAAAgAAAAQAAAAAAAAAWAQAAGUAAABmAAAAbgAAAAAAAABoBAAAZQAAAGcAAABuAAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUAS2RUcmVlQXR0cmlidXRlc0RlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgBNZXRob2Qgbm90IHN1cHBvcnRlZC4gCgBWZXJzaW9uIG5vdCBzdXBwb3J0ZWQuIAoATjVkcmFjbzIzS2RUcmVlQXR0cmlidXRlc0RlY29kZXJFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMzhTZXF1ZW50aWFsUXVhbnRpemF0aW9uQXR0cmlidXRlRGVjb2RlckUAVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBJbnB1dCBpcyBub3QgYSBtZXNoLgBJbnB1dCBpcyBub3QgYSBwb2ludCBjbG91ZC4Ac2tpcF9hdHRyaWJ1dGVfdHJhbnNmb3JtAE41ZHJhY28xMU1lc2hEZWNvZGVyRQBONWRyYWNvMjJNZXNoRWRnZUJyZWFrZXJEZWNvZGVyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzE1UG9pbnRzU2VxdWVuY2VyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjVQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzQxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsUHJlZGljdGl2ZURlY29kZXJFRUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzhNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxWYWxlbmNlRGVjb2RlckVFRQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRGVjb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAEZhaWxlZCB0byBwYXJzZSBEcmFjbyBoZWFkZXIuAERSQUNPAE5vdCBhIERyYWNvIGZpbGUuAEZhaWxlZCB0byBkZWNvZGUgbWV0YWRhdGEuAFVzaW5nIGluY29tcGF0aWJsZSBkZWNvZGVyIGZvciB0aGUgaW5wdXQgZ2VvbWV0cnkuAFVua25vd24gbWFqb3IgdmVyc2lvbi4AVW5rbm93biBtaW5vciB2ZXJzaW9uLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4ARmFpbGVkIHRvIGRlY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIHBvaW50IGF0dHJpYnV0ZXMuAE41ZHJhY28yM1BvaW50Q2xvdWRLZFRyZWVEZWNvZGVyRQBONWRyYWNvMjdQb2ludENsb3VkU2VxdWVudGlhbERlY29kZXJFAE41ZHJhY280TWVzaEUATjVkcmFjbzEwUG9pbnRDbG91ZEUARmxvYXRQb2ludHNUcmVlRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAlZAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=Runtime.staticAlloc(4);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_ii;var ga=env.invoke_iii;var ha=env.invoke_iiii;var ia=env.invoke_iiiiiii;var ja=env.invoke_v;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viii;var na=env.invoke_viiii;var oa=env.invoke_viiiii;var pa=env.invoke_viiiiii;var qa=env.__ZSt18uncaught_exceptionv;var ra=env.___cxa_allocate_exception;var sa=env.___cxa_begin_catch;var ta=env.___cxa_find_matching_catch;var ua=env.___cxa_pure_virtual;var va=env.___cxa_throw;var wa=env.___gxx_personality_v0;var xa=env.___resumeException;var ya=env.___setErrNo;var za=env.___syscall140;var Aa=env.___syscall146;var Ba=env.___syscall54;var Ca=env.___syscall6;var Da=env._abort;var Ea=env._emscripten_memcpy_big;var Fa=env._pthread_getspecific;var Ga=env._pthread_key_create;var Ha=env._pthread_once;var Ia=env._pthread_setspecific;var Ja=$(0);const Ka=$(0);function La(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+128|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+104|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+92|0;m=a+48|0;j=a+44|0;k=a+36|0;i=a+4|0;n=a+16|0;o=a+88|0;C=a+76|0;D=a+84|0;E=e+4|0;F=e+8|0;G=A;while(1){H=f[s>>2]|0;I=G+-1|0;J=H+I|0;K=f[z>>2]|0;L=f[K+(((J>>>0)/341|0)<<2)>>2]|0;M=(J>>>0)%341|0;J=f[L+(M*12|0)>>2]|0;N=f[L+(M*12|0)+4>>2]|0;O=f[L+(M*12|0)+8>>2]|0;f[y>>2]=I;I=f[x>>2]|0;M=I-K>>2;if((1-G-H+((M|0)==0?0:(M*341|0)+-1|0)|0)>>>0>681){lp(f[I+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}I=f[l>>2]|0;M=I+(O*12|0)|0;if(J>>>0>b>>>0){B=0;break a}H=f[h>>2]|0;K=(H+-1|0)==(N|0)?0:N+1|0;if(K>>>0>=H>>>0){B=0;break a}H=(f[t>>2]|0)+(O*12|0)|0;N=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!N){if(J|0){L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[E>>2]=f[P+4>>2];f[F>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[E>>2];f[S+8>>2]=f[F>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;L=L+1|0}while(L>>>0>>0)}}else{if(J>>>0>=3){if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}L=O+1|0;mf(I+(L*12|0)|0,f[M>>2]|0,f[I+(O*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(L*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;Hh(n,P,e);P=(J>>>1)-(f[e>>2]|0)|0;S=J-P|0;c:do if((P|0)==(S|0)){T=P;U=P}else{R=f[o>>2]|0;Q=f[D>>2]|0;do if((Q|0)!=(f[C>>2]|0)){V=(f[Q>>2]&1<<31-R|0)!=0;W=R+1|0;f[o>>2]=W;if((W|0)==32){f[D>>2]=Q+4;f[o>>2]=0;if(V){T=P;U=S;break c}else break}else if(V){T=P;U=S;break c}else break}while(0);T=S;U=P}while(0);P=f[t>>2]|0;S=f[P+(O*12|0)>>2]|0;Q=S+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(P+(L*12|0)|0,S,f[P+(O*12|0)+4>>2]|0);if(T|0){P=f[x>>2]|0;S=f[z>>2]|0;Q=P-S>>2;R=f[s>>2]|0;V=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(V+R|0)){nc(g);X=f[s>>2]|0;Y=f[y>>2]|0;Z=f[x>>2]|0;$=f[z>>2]|0}else{X=R;Y=V;Z=P;$=S}S=Y+X|0;if((Z|0)==($|0))aa=0;else aa=(f[$+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[aa>>2]=T;f[aa+4>>2]=K;f[aa+8>>2]=O;f[y>>2]=(f[y>>2]|0)+1}if(U|0){S=f[x>>2]|0;P=f[z>>2]|0;V=S-P>>2;R=f[s>>2]|0;Q=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(Q+R|0)){nc(g);ba=f[s>>2]|0;ca=f[y>>2]|0;da=f[x>>2]|0;ea=f[z>>2]|0}else{ba=R;ca=Q;da=S;ea=P}P=ca+ba|0;if((da|0)==(ea|0))fa=0;else fa=(f[ea+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[fa>>2]=U;f[fa+4>>2]=K;f[fa+8>>2]=L;f[y>>2]=(f[y>>2]|0)+1}break}P=f[q>>2]|0;f[P>>2]=K;S=f[h>>2]|0;if(S>>>0>1){Q=1;R=S;V=K;while(1){V=(V|0)==(R+-1|0)?0:V+1|0;f[P+(Q<<2)>>2]=V;Q=Q+1|0;W=f[h>>2]|0;if(Q>>>0>=W>>>0){ga=W;break}else R=W}}else ga=S;if(J|0){R=0;Q=ga;while(1){if(!Q)ha=f[w>>2]|0;else{V=f[q>>2]|0;P=f[w>>2]|0;L=f[H>>2]|0;W=0;do{ia=V+(W<<2)|0;f[P+(f[ia>>2]<<2)>>2]=0;ja=f[ia>>2]|0;ka=(f[a>>2]|0)-(f[L+(ja<<2)>>2]|0)|0;do if(ka|0){la=P+(ja<<2)|0;ma=f[m>>2]|0;na=32-ma|0;if((ka|0)>(na|0)){oa=f[j>>2]|0;pa=oa+4|0;if((pa|0)==(f[k>>2]|0)){f[la>>2]=0;break}else{qa=f[oa>>2]<>2]=oa;f[j>>2]=pa;ra=32-oa|0;f[la>>2]=(f[pa>>2]|0)>>>ra|qa>>>(ra-na|0);break}}na=f[j>>2]|0;if((na|0)==(f[k>>2]|0)){f[la>>2]=0;break}f[la>>2]=f[na>>2]<>>(32-ka|0);ma=(f[m>>2]|0)+ka|0;f[m>>2]=ma;if((ma|0)!=32)break;f[j>>2]=na+4;f[m>>2]=0}while(0);ka=f[ia>>2]|0;ja=P+(ka<<2)|0;f[ja>>2]=f[ja>>2]|f[(f[M>>2]|0)+(ka<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);ha=P}P=f[ha>>2]|0;f[e>>2]=P;f[p>>2]=f[ha+4>>2];f[r>>2]=f[ha+8>>2];W=f[c>>2]|0;L=W+4|0;V=f[L>>2]|0;if(V>>>0<(f[W+8>>2]|0)>>>0){f[V>>2]=P;f[V+4>>2]=f[p>>2];f[V+8>>2]=f[r>>2];f[L>>2]=V+12}else Qf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=R+1|0;if(W>>>0>=J>>>0)break b;R=W;Q=f[h>>2]|0}}}while(0);G=f[y>>2]|0;if(!G){B=1;break}}}while(0);h=f[z>>2]|0;e=f[s>>2]|0;c=h+(((e>>>0)/341|0)<<2)|0;ha=f[x>>2]|0;a=ha;ga=h;if((ha|0)==(h|0)){sa=0;ta=0}else{fa=(f[y>>2]|0)+e|0;sa=(f[h+(((fa>>>0)/341|0)<<2)>>2]|0)+(((fa>>>0)%341|0)*12|0)|0;ta=(f[c>>2]|0)+(((e>>>0)%341|0)*12|0)|0}e=c;c=ta;d:while(1){ta=c;do{fa=ta;if((sa|0)==(fa|0))break d;ta=fa+12|0}while((ta-(f[e>>2]|0)|0)!=4092);ta=e+4|0;e=ta;c=f[ta>>2]|0}f[y>>2]=0;y=a-ga>>2;if(y>>>0>2){ga=h;do{lp(f[ga>>2]|0);ga=(f[z>>2]|0)+4|0;f[z>>2]=ga;ua=f[x>>2]|0;va=ua-ga>>2}while(va>>>0>2);wa=va;xa=ga;ya=ua}else{wa=y;xa=h;ya=ha}switch(wa|0){case 1:{za=170;Aa=90;break}case 2:{za=341;Aa=90;break}default:{}}if((Aa|0)==90)f[s>>2]=za;if((xa|0)!=(ya|0)){za=xa;do{lp(f[za>>2]|0);za=za+4|0}while((za|0)!=(ya|0));ya=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(ya|0))f[x>>2]=z+(~((z+-4-ya|0)>>>2)<<2)}ya=f[g>>2]|0;if(!ya){u=d;return B|0}lp(ya);u=d;return B|0}function xb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Rg(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{dg(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else dg(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else dg(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else dg(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Yk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)Do(h);else{l=e<<2;r=Yk(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Gh(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+64|0;x=j+28|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;E=(e|0)==1;if(l-p>>2>>>0>1){F=1;G=p}else{H=q;Do(H)}while(1){I=f[G+(F<<2)>>2]|0;J=(((I>>>0)%3|0|0)==0?2:-1)+I|0;K=J>>>5;L=1<<(J&31);M=(I|0)==-1|(J|0)==-1;N=1;O=0;P=I;b:while(1){Q=N^1;R=O;S=P;while(1){if((S|0)==-1){T=R;v=58;break b}U=f[d+(R*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(S>>>5<<2)>>2]&1<<(S&31)|0)==0?(V=f[(f[(f[o>>2]|0)+12>>2]|0)+(S<<2)>>2]|0,(V|0)!=-1):0)?(W=f[x>>2]|0,Y=f[t>>2]|0,Z=f[Y+(f[W+(V<<2)>>2]<<2)>>2]|0,_=V+1|0,$=f[Y+(f[W+((((_>>>0)%3|0|0)==0?V+-2|0:_)<<2)>>2]<<2)>>2]|0,_=f[Y+(f[W+((((V>>>0)%3|0|0)==0?2:-1)+V<<2)>>2]<<2)>>2]|0,(Z|0)<(F|0)&($|0)<(F|0)&(_|0)<(F|0)):0){V=X(Z,e)|0;Z=X($,e)|0;$=X(_,e)|0;if(y){_=0;do{f[U+(_<<2)>>2]=(f[c+(_+$<<2)>>2]|0)+(f[c+(_+Z<<2)>>2]|0)-(f[c+(_+V<<2)>>2]|0);_=_+1|0}while((_|0)!=(e|0))}_=R+1|0;if((_|0)==4){aa=4;v=38;break b}else ba=_}else ba=R;do if(N){_=S+1|0;V=((_>>>0)%3|0|0)==0?S+-2|0:_;if(((V|0)!=-1?(f[(f[j>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)==0:0)?(_=f[(f[(f[o>>2]|0)+12>>2]|0)+(V<<2)>>2]|0,V=_+1|0,(_|0)!=-1):0)ca=((V>>>0)%3|0|0)==0?_+-2|0:V;else ca=-1}else{V=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if(((V|0)!=-1?(f[(f[j>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)==0:0)?(_=f[(f[(f[o>>2]|0)+12>>2]|0)+(V<<2)>>2]|0,(_|0)!=-1):0)if(!((_>>>0)%3|0)){ca=_+2|0;break}else{ca=_+-1|0;break}else ca=-1}while(0);if((ca|0)==(I|0)){T=ba;v=58;break b}if((ca|0)!=-1|Q){R=ba;S=ca}else break}if(M){N=0;O=ba;P=-1;continue}if(f[(f[j>>2]|0)+(K<<2)>>2]&L|0){N=0;O=ba;P=-1;continue}S=f[(f[(f[o>>2]|0)+12>>2]|0)+(J<<2)>>2]|0;if((S|0)==-1){N=0;O=ba;P=-1;continue}if(!((S>>>0)%3|0)){N=0;O=ba;P=S+2|0;continue}else{N=0;O=ba;P=S+-1|0;continue}}if((v|0)==58){v=0;if((T|0)>0){aa=T;v=38}else{da=X(F,e)|0;v=73}}if((v|0)==38){v=0;if(y){Gh(f[h>>2]|0,0,D|0)|0;P=aa+-1|0;O=s+(P<<2)|0;N=a+60+(P*12|0)+4|0;J=a+60+(P*12|0)|0;P=f[h>>2]|0;L=0;K=0;while(1){M=f[O>>2]|0;f[O>>2]=M+1;if((f[N>>2]|0)>>>0<=M>>>0){ea=0;fa=P;break a}if(!(f[(f[J>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){M=f[d+(L*12|0)>>2]|0;I=0;do{S=P+(I<<2)|0;f[S>>2]=(f[S>>2]|0)+(f[M+(I<<2)>>2]|0);I=I+1|0}while((I|0)!=(e|0));ga=K+1|0}else ga=K;L=L+1|0;if((L|0)>=(aa|0)){ha=ga;break}else K=ga}}else{K=aa+-1|0;L=s+(K<<2)|0;P=a+60+(K*12|0)|0;J=f[h>>2]|0;N=f[a+60+(K*12|0)+4>>2]|0;K=0;O=0;I=f[L>>2]|0;while(1){M=I;I=I+1|0;f[L>>2]=I;if(N>>>0<=M>>>0){ea=0;fa=J;break a}S=O+((f[(f[P>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31)|0)==0&1)|0;K=K+1|0;if((K|0)>=(aa|0)){ha=S;break}else O=S}}O=X(F,e)|0;if(ha){K=f[h>>2]|0;if(y?(f[K>>2]=(f[K>>2]|0)/(ha|0)|0,!E):0){P=1;do{J=K+(P<<2)|0;f[J>>2]=(f[J>>2]|0)/(ha|0)|0;P=P+1|0}while((P|0)!=(e|0))}P=b+(O<<2)|0;J=c+(O<<2)|0;if((f[i>>2]|0)>0){N=0;do{I=f[K+(N<<2)>>2]|0;L=f[z>>2]|0;if((I|0)>(L|0)){S=f[A>>2]|0;f[S+(N<<2)>>2]=L;ia=S}else{S=f[B>>2]|0;L=f[A>>2]|0;f[L+(N<<2)>>2]=(I|0)<(S|0)?S:I;ia=L}N=N+1|0;ja=f[i>>2]|0}while((N|0)<(ja|0));if((ja|0)>0){N=0;do{K=(f[P+(N<<2)>>2]|0)+(f[ia+(N<<2)>>2]|0)|0;L=J+(N<<2)|0;f[L>>2]=K;do if((K|0)>(f[z>>2]|0)){ka=K-(f[C>>2]|0)|0;v=95}else{if((K|0)>=(f[B>>2]|0))break;ka=(f[C>>2]|0)+K|0;v=95}while(0);if((v|0)==95){v=0;f[L>>2]=ka}N=N+1|0}while((N|0)<(f[i>>2]|0))}}}else{da=O;v=73}}if((v|0)==73?(v=0,N=c+((X(F+-1|0,e)|0)<<2)|0,J=b+(da<<2)|0,P=c+(da<<2)|0,(f[i>>2]|0)>0):0){K=0;do{I=f[N+(K<<2)>>2]|0;S=f[z>>2]|0;if((I|0)>(S|0)){M=f[A>>2]|0;f[M+(K<<2)>>2]=S;la=M}else{M=f[B>>2]|0;S=f[A>>2]|0;f[S+(K<<2)>>2]=(I|0)<(M|0)?M:I;la=S}K=K+1|0;ma=f[i>>2]|0}while((K|0)<(ma|0));if((ma|0)>0){K=0;do{N=(f[J+(K<<2)>>2]|0)+(f[la+(K<<2)>>2]|0)|0;O=P+(K<<2)|0;f[O>>2]=N;if((N|0)<=(f[z>>2]|0)){if((N|0)<(f[B>>2]|0)){na=(f[C>>2]|0)+N|0;v=83}}else{na=N-(f[C>>2]|0)|0;v=83}if((v|0)==83){v=0;f[O>>2]=na}K=K+1|0}while((K|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=100;break}K=f[r>>2]|0;G=f[K>>2]|0;if((f[K+4>>2]|0)-G>>2>>>0<=F>>>0){H=K;v=28;break}}if((v|0)==28)Do(H);else if((v|0)==100){ea=1;fa=f[h>>2]|0;break}}else{ea=1;fa=w}while(0);if(fa|0){w=f[n>>2]|0;if((w|0)!=(fa|0))f[n>>2]=w+(~((w+-4-fa|0)>>>2)<<2);lp(fa)}lp(s);s=f[d+36>>2]|0;if(s|0){fa=d+40|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;fa=f[w>>2]|0;if((fa|0)!=(s|0))f[w>>2]=fa+(~((fa+-4-s|0)>>>2)<<2);lp(s)}s=f[d+12>>2]|0;if(s|0){fa=d+16|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);lp(s);u=g;return ea|0}function yb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Rg(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{dg(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else dg(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else dg(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else dg(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Yk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)Do(h);else{l=e<<2;r=Yk(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Gh(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+12|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;D=(e|0)==1;if(l-p>>2>>>0>1){E=1;F=p}else{G=q;Do(G)}while(1){H=f[F+(E<<2)>>2]|0;I=(((H>>>0)%3|0|0)==0?2:-1)+H|0;J=(H|0)==-1|(I|0)==-1;K=1;L=0;M=H;b:while(1){N=K^1;O=L;P=M;while(1){if((P|0)==-1){Q=O;v=58;break b}R=f[d+(O*12|0)>>2]|0;S=f[o>>2]|0;T=f[S+(P<<2)>>2]|0;if((T|0)!=-1){U=f[j>>2]|0;V=f[t>>2]|0;W=f[V+(f[U+(T<<2)>>2]<<2)>>2]|0;Y=T+1|0;Z=((Y>>>0)%3|0|0)==0?T+-2|0:Y;if((Z|0)==-1)_=-1;else _=f[U+(Z<<2)>>2]|0;Z=f[V+(_<<2)>>2]|0;Y=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((Y|0)==-1)$=-1;else $=f[U+(Y<<2)>>2]|0;Y=f[V+($<<2)>>2]|0;if((W|0)<(E|0)&(Z|0)<(E|0)&(Y|0)<(E|0)){V=X(W,e)|0;W=X(Z,e)|0;Z=X(Y,e)|0;if(x){Y=0;do{f[R+(Y<<2)>>2]=(f[c+(Y+Z<<2)>>2]|0)+(f[c+(Y+W<<2)>>2]|0)-(f[c+(Y+V<<2)>>2]|0);Y=Y+1|0}while((Y|0)!=(e|0))}Y=O+1|0;if((Y|0)==4){aa=4;v=41;break b}else ba=Y}else ba=O}else ba=O;do if(K){Y=P+1|0;V=((Y>>>0)%3|0|0)==0?P+-2|0:Y;if((V|0)!=-1?(Y=f[S+(V<<2)>>2]|0,V=Y+1|0,(Y|0)!=-1):0)ca=((V>>>0)%3|0|0)==0?Y+-2|0:V;else ca=-1}else{V=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((V|0)!=-1?(Y=f[S+(V<<2)>>2]|0,(Y|0)!=-1):0)if(!((Y>>>0)%3|0)){ca=Y+2|0;break}else{ca=Y+-1|0;break}else ca=-1}while(0);if((ca|0)==(H|0)){Q=ba;v=58;break b}if((ca|0)!=-1|N){O=ba;P=ca}else break}if(J){K=0;L=ba;M=-1;continue}P=f[S+(I<<2)>>2]|0;if((P|0)==-1){K=0;L=ba;M=-1;continue}if(!((P>>>0)%3|0)){K=0;L=ba;M=P+2|0;continue}else{K=0;L=ba;M=P+-1|0;continue}}if((v|0)==58){v=0;if((Q|0)>0){aa=Q;v=41}else{da=X(E,e)|0;v=73}}if((v|0)==41){v=0;if(x){Gh(f[h>>2]|0,0,C|0)|0;M=aa+-1|0;L=s+(M<<2)|0;K=a+60+(M*12|0)+4|0;I=a+60+(M*12|0)|0;M=f[h>>2]|0;J=0;H=0;while(1){P=f[L>>2]|0;f[L>>2]=P+1;if((f[K>>2]|0)>>>0<=P>>>0){ea=0;fa=M;break a}if(!(f[(f[I>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31))){P=f[d+(J*12|0)>>2]|0;O=0;do{N=M+(O<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[P+(O<<2)>>2]|0);O=O+1|0}while((O|0)!=(e|0));ga=H+1|0}else ga=H;J=J+1|0;if((J|0)>=(aa|0)){ha=ga;break}else H=ga}}else{H=aa+-1|0;J=s+(H<<2)|0;M=a+60+(H*12|0)|0;I=f[h>>2]|0;K=f[a+60+(H*12|0)+4>>2]|0;H=0;L=0;O=f[J>>2]|0;while(1){P=O;O=O+1|0;f[J>>2]=O;if(K>>>0<=P>>>0){ea=0;fa=I;break a}N=L+((f[(f[M>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31)|0)==0&1)|0;H=H+1|0;if((H|0)>=(aa|0)){ha=N;break}else L=N}}L=X(E,e)|0;if(ha){H=f[h>>2]|0;if(x?(f[H>>2]=(f[H>>2]|0)/(ha|0)|0,!D):0){M=1;do{I=H+(M<<2)|0;f[I>>2]=(f[I>>2]|0)/(ha|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;I=c+(L<<2)|0;if((f[i>>2]|0)>0){K=0;do{O=f[H+(K<<2)>>2]|0;J=f[y>>2]|0;if((O|0)>(J|0)){N=f[z>>2]|0;f[N+(K<<2)>>2]=J;ia=N}else{N=f[A>>2]|0;J=f[z>>2]|0;f[J+(K<<2)>>2]=(O|0)<(N|0)?N:O;ia=J}K=K+1|0;ja=f[i>>2]|0}while((K|0)<(ja|0));if((ja|0)>0){K=0;do{H=(f[M+(K<<2)>>2]|0)+(f[ia+(K<<2)>>2]|0)|0;J=I+(K<<2)|0;f[J>>2]=H;do if((H|0)>(f[y>>2]|0)){ka=H-(f[B>>2]|0)|0;v=95}else{if((H|0)>=(f[A>>2]|0))break;ka=(f[B>>2]|0)+H|0;v=95}while(0);if((v|0)==95){v=0;f[J>>2]=ka}K=K+1|0}while((K|0)<(f[i>>2]|0))}}}else{da=L;v=73}}if((v|0)==73?(v=0,K=c+((X(E+-1|0,e)|0)<<2)|0,I=b+(da<<2)|0,M=c+(da<<2)|0,(f[i>>2]|0)>0):0){H=0;do{O=f[K+(H<<2)>>2]|0;N=f[y>>2]|0;if((O|0)>(N|0)){P=f[z>>2]|0;f[P+(H<<2)>>2]=N;la=P}else{P=f[A>>2]|0;N=f[z>>2]|0;f[N+(H<<2)>>2]=(O|0)<(P|0)?P:O;la=N}H=H+1|0;ma=f[i>>2]|0}while((H|0)<(ma|0));if((ma|0)>0){H=0;do{K=(f[I+(H<<2)>>2]|0)+(f[la+(H<<2)>>2]|0)|0;L=M+(H<<2)|0;f[L>>2]=K;if((K|0)<=(f[y>>2]|0)){if((K|0)<(f[A>>2]|0)){na=(f[B>>2]|0)+K|0;v=83}}else{na=K-(f[B>>2]|0)|0;v=83}if((v|0)==83){v=0;f[L>>2]=na}H=H+1|0}while((H|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(m|0)){v=100;break}H=f[r>>2]|0;F=f[H>>2]|0;if((f[H+4>>2]|0)-F>>2>>>0<=E>>>0){G=H;v=28;break}}if((v|0)==28)Do(G);else if((v|0)==100){ea=1;fa=f[h>>2]|0;break}}else{ea=1;fa=w}while(0);if(fa|0){w=f[n>>2]|0;if((w|0)!=(fa|0))f[n>>2]=w+(~((w+-4-fa|0)>>>2)<<2);lp(fa)}lp(s);s=f[d+36>>2]|0;if(s|0){fa=d+40|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;fa=f[w>>2]|0;if((fa|0)!=(s|0))f[w>>2]=fa+(~((fa+-4-s|0)>>>2)<<2);lp(s)}s=f[d+12>>2]|0;if(s|0){fa=d+16|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);lp(s);u=g;return ea|0}function zb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Dm(c)|0;if((I|0)<0){q=-c;r=1;s=13937}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?13938:13943):13940}Dm(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;Xi(a,32,d,v,g&-65537);pn(a,s,r);pn(a,q!=q|0.0!=0.0?(t?13964:13968):t?13956:13960,3);Xi(a,32,d,v,g^8192);w=v}else{c=+Ro(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=ci(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[13972+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;Xi(a,32,d,G,g);pn(a,y,z);Xi(a,48,d,G,g^65536);pn(a,m,M);Xi(a,48,N-M|0,0,0);pn(a,A,E);Xi(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=Rl(f[K>>2]|0,0,y|0)|0;Q=Ul(J|0,I|0,x|0,0)|0;J=I;R=Wk(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=Mn(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=ci(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;Xi(a,32,d,A,g);pn(a,s,r);Xi(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=ci(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){Gh(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;pn(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)pn(a,13988,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=ci(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){Gh(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;pn(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;Xi(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=ci(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;pn(a,Da,1);if(Z&(K|0)<1){Ea=x;break}pn(a,13988,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}Gh(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;pn(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;Xi(a,48,Fa+18|0,18,0);pn(a,xa,p-xa|0)}Xi(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(j|0)!=(o|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else xf(l,m-p|0,d);p=a+216|0;m=a+220|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=0;v=j;j=n;n=l;w=l;l=o;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;o=t*3|0;if((o|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(o<<2)>>2]|0;f[e>>2]=x;y=o+1|0;if((y|0)==-1){f[q>>2]=-1;z=0;A=x;B=92}else{C=y;D=x;B=91}}else{f[e>>2]=-1;C=0;D=-1;B=91}if((B|0)==91){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(C<<2)>>2];x=o+2|0;if((x|0)==-1){E=-1;F=D}else{z=x;A=D;B=92}}if((B|0)==92){B=0;E=f[(f[f[k>>2]>>2]|0)+(z<<2)>>2]|0;F=A}f[s>>2]=E;x=v+96|0;o=v+100|0;y=(l-j|0)/12|0;G=j;H=t;t=t+1|0;if(H>>>0>>0){I=n;J=v;K=w;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(t>>>0<=y>>>0)if(t>>>0>>0?(P=G+(t*12|0)|0,(P|0)!=(O|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[o>>2]=Q;R=G;S=w;T=v;U=Q;V=j}else{R=G;S=w;T=v;U=l;V=j}else{xf(x,t-y|0,d);y=f[i>>2]|0;G=f[y+44>>2]|0;R=f[x>>2]|0;S=y;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=F;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(t>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{v=J;j=M;n=I;w=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;W=1;u=c;return W|0}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)Do(g);else{w=Yk(N)|0;f[g>>2]=w;I=w+(l<<2)|0;f[g+8>>2]=I;Gh(w|0,0,N|0)|0;f[K>>2]=I;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;l=e+8|0;I=0;w=r;while(1){n=f[(f[w+24>>2]|0)+(I<<2)>>2]|0;b:do if((n|0)!=-1){c:do if((f[(f[N>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)|0)==0?(M=f[m>>2]|0,j=f[p>>2]|0,J=j,(M|0)!=(j|0)):0){v=(((n>>>0)%3|0|0)==0?2:-1)+n|0;t=(M-j|0)/144|0;if((v|0)==-1){j=0;while(1){M=f[(f[f[J+(j*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(M&31)&f[(f[J+(j*144|0)+16>>2]|0)+(M>>>5<<2)>>2]|0){X=0;break a}j=j+1|0;if(j>>>0>=t>>>0){Y=n;break c}}}j=w+12|0;M=0;while(1){s=f[(f[f[J+(M*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(s&31)&f[(f[J+(M*144|0)+16>>2]|0)+(s>>>5<<2)>>2]|0){s=f[J+(M*144|0)+32>>2]|0;L=f[s+(n<<2)>>2]|0;q=f[j>>2]|0;F=f[q+(v<<2)>>2]|0;do if((F|0)!=-1)if(!((F>>>0)%3|0)){Z=F+2|0;break}else{Z=F+-1|0;break}else Z=-1;while(0);if((Z|0)!=(n|0)){F=Z;while(1){if((F|0)==-1){X=0;break a}if((f[s+(F<<2)>>2]|0)!=(L|0)){Y=F;break c}U=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((U|0)!=-1){V=f[q+(U<<2)>>2]|0;if((V|0)==-1){_=-1;break}if(!((V>>>0)%3|0)){_=V+2|0;break}else{_=V+-1|0;break}}else _=-1;while(0);if((_|0)==(n|0))break;else F=_}}}M=M+1|0;if(M>>>0>=t>>>0){Y=n;break}}}else Y=n;while(0);t=f[b>>2]|0;f[(f[g>>2]|0)+(Y<<2)>>2]=t-(f[e>>2]|0)>>2;f[d>>2]=Y;M=t;if((f[l>>2]|0)>>>0>M>>>0){f[M>>2]=Y;f[b>>2]=M+4;$=w}else{hh(e,d);$=f[k>>2]|0}if((((Y|0)!=-1?(M=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0,(M|0)!=-1):0)?(t=f[(f[$+12>>2]|0)+(M<<2)>>2]|0,(t|0)!=-1):0)?(M=t+(((t>>>0)%3|0|0)==0?2:-1)|0,(M|0)!=-1&(M|0)!=(Y|0)):0){t=Y;v=M;M=$;while(1){j=f[m>>2]|0;J=f[p>>2]|0;F=J;d:do if((j|0)==(J|0))B=66;else{q=(j-J|0)/144|0;L=0;while(1){s=f[F+(L*144|0)+32>>2]|0;L=L+1|0;if((f[s+(v<<2)>>2]|0)!=(f[s+(t<<2)>>2]|0))break;if(L>>>0>=q>>>0){B=66;break d}}q=f[b>>2]|0;f[(f[g>>2]|0)+(v<<2)>>2]=q-(f[e>>2]|0)>>2;f[d>>2]=v;L=q;if((f[l>>2]|0)>>>0>L>>>0){f[L>>2]=v;f[b>>2]=L+4;aa=M}else{hh(e,d);aa=f[k>>2]|0}ba=aa}while(0);if((B|0)==66){B=0;F=f[g>>2]|0;f[F+(v<<2)>>2]=f[F+(t<<2)>>2];ba=M}if((v|0)==-1){ca=ba;break b}F=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((F|0)==-1){ca=ba;break b}J=f[(f[ba+12>>2]|0)+(F<<2)>>2]|0;if((J|0)==-1){ca=ba;break b}F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;if((F|0)!=-1&(F|0)!=(Y|0)){J=v;v=F;M=ba;t=J}else{ca=ba;break}}}else ca=$}else ca=w;while(0);I=I+1|0;if((I|0)>=((f[ca+28>>2]|0)-(f[ca+24>>2]|0)>>2|0)){B=27;break}else w=ca}}else B=27;while(0);if((B|0)==27){B=f[i>>2]|0;ca=f[B+44>>2]|0;$=f[ca+100>>2]|0;ba=f[ca+96>>2]|0;if(($|0)==(ba|0))da=B;else{Y=h+4|0;aa=h+8|0;k=0;p=ca;ca=ba;ba=$;$=B;m=B;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;B=(f[g>>2]|0)+(k*3<<2)|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];B=p+96|0;_=p+100|0;Z=(ba-ca|0)/12|0;r=ca;a=k;k=k+1|0;if(a>>>0>>0){ea=r;fa=ca;ga=ba;ha=$;ia=p;ja=m}else{w=ba;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(k>>>0<=Z>>>0)if(k>>>0>>0?(I=r+(k*12|0)|0,(I|0)!=(w|0)):0){l=w+(~(((w+-12-I|0)>>>0)/12|0)*12|0)|0;f[_>>2]=l;ka=r;la=m;ma=p;na=l;oa=ca}else{ka=r;la=m;ma=p;na=ba;oa=ca}else{xf(B,k-Z|0,d);Z=f[i>>2]|0;r=f[Z+44>>2]|0;ka=f[B>>2]|0;la=Z;ma=r;na=f[r+100>>2]|0;oa=f[r+96>>2]|0}ea=ka;fa=oa;ga=na;ha=la;ia=ma;ja=la}f[ea+(a*12|0)>>2]=f[h>>2];f[ea+(a*12|0)+4>>2]=f[Y>>2];f[ea+(a*12|0)+8>>2]=f[aa>>2];if(k>>>0>=((ga-fa|0)/12|0)>>>0){da=ha;break}else{p=ia;ca=fa;ba=ga;$=ha;m=ja}}}f[(f[da+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[e>>2]|0)>>2;X=1}da=f[g>>2]|0;if(da|0){g=f[K>>2]|0;if((g|0)!=(da|0))f[K>>2]=g+(~((g+-4-da|0)>>>2)<<2);lp(da)}da=f[e>>2]|0;if(da|0){e=f[b>>2]|0;if((e|0)!=(da|0))f[b>>2]=e+(~((e+-4-da|0)>>>2)<<2);lp(da)}W=X;u=c;return W|0}function Bb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=sp()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)pn(a,w,y);if(y|0){s=y;t=x;continue}y=(Wo(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Wo(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Pj(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Pj(j)|0;$=O;aa=f[j>>2]|0;break}if(Wo(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(13456+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}Yd(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Tj(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=13920;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=Wl(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=13920;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?13920:13922):13921;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=13920;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=13920;za=o;Aa=1;Ba=O;break}case 109:{ja=sp()|0;Ca=un(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:13930;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){Xi(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=zb(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=13920;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=Aj(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?13920:13920+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=ci(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=bf(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=13920;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=en(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}Xi(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=en(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}pn(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;Xi(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;Xi(a,32,ja,O,Ba);pn(a,ya,xa);Xi(a,48,ja,O,Ba^65536);Xi(a,48,F,Q,0);pn(a,wa,Q);Xi(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}Yd(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function Cb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+36|0;k=a+37|0;l=a+32|0;m=f[l>>2]|0;do if((((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)<514){n=m+8|0;o=f[n>>2]|0;p=f[n+4>>2]|0;n=m+16|0;q=n;r=f[q>>2]|0;s=f[q+4>>2]|0;q=Ul(r|0,s|0,4,0)|0;t=I;if((p|0)<(t|0)|(p|0)==(t|0)&o>>>0>>0){v=0;u=c;return v|0}w=(f[m>>2]|0)+r|0;x=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[d>>2]=x;w=n;f[w>>2]=q;f[w+4>>2]=t;t=Ul(r|0,s|0,8,0)|0;s=I;if((p|0)<(s|0)|(p|0)==(s|0)&o>>>0>>0){v=0;u=c;return v|0}else{o=(f[m>>2]|0)+q|0;f[e>>2]=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=n;f[o>>2]=t;f[o+4>>2]=s;y=x;break}}else{if(!(Rh(d,m)|0)){v=0;u=c;return v|0}if(Rh(e,f[l>>2]|0)|0){y=f[d>>2]|0;break}else{v=0;u=c;return v|0}}while(0);if(y>>>0>1431655765){v=0;u=c;return v|0}m=f[e>>2]|0;x=bl(y|0,0,3,0)|0;s=I;if(s>>>0<0|(s|0)==0&x>>>0>>0){v=0;u=c;return v|0}x=f[l>>2]|0;s=x+8|0;o=f[s+4>>2]|0;t=x+16|0;n=t;q=f[n>>2]|0;p=f[n+4>>2]|0;if(!((o|0)>(p|0)|((o|0)==(p|0)?(f[s>>2]|0)>>>0>q>>>0:0))){v=0;u=c;return v|0}s=b[(f[x>>2]|0)+q>>0]|0;o=Ul(q|0,p|0,1,0)|0;n=I;r=t;f[r>>2]=o;f[r+4>>2]=n;a:do if(!(s<<24>>24)){if(!(te(a,y)|0)){v=0;u=c;return v|0}}else{if(m>>>0<256){if(!y)break;r=a+44|0;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=x+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;b:do if((B|0)>(n|0)|(B|0)==(n|0)&A>>>0>o>>>0){z=0;C=x;D=o;E=n;F=B;G=A;H=y;while(1){J=C+16|0;K=f[C>>2]|0;L=b[K+D>>0]|0;M=Ul(D|0,E|0,1,0)|0;N=I;O=J;f[O>>2]=M;f[O+4>>2]=N;f[g>>2]=L&255;if(!((F|0)>(N|0)|(F|0)==(N|0)&G>>>0>M>>>0))break b;N=b[K+M>>0]|0;M=Ul(D|0,E|0,2,0)|0;L=I;O=J;f[O>>2]=M;f[O+4>>2]=L;f[t>>2]=N&255;if(!((F|0)>(L|0)|(F|0)==(L|0)&G>>>0>M>>>0))break b;L=b[K+M>>0]|0;M=Ul(D|0,E|0,3,0)|0;K=J;f[K>>2]=M;f[K+4>>2]=I;f[w>>2]=L&255;L=f[r>>2]|0;K=L+100|0;M=f[K>>2]|0;if((M|0)==(f[L+104>>2]|0)){Og(L+96|0,g);P=f[d>>2]|0}else{f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[K>>2]=(f[K>>2]|0)+12;P=H}z=z+1|0;if(z>>>0>=P>>>0)break a;C=f[l>>2]|0;K=C+16|0;D=f[K>>2]|0;E=f[K+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;K=C+8|0;G=f[K>>2]|0;F=f[K+4>>2]|0;if(!((F|0)>(E|0)|(F|0)==(E|0)&G>>>0>D>>>0))break;else H=P}}while(0);v=0;u=c;return v|0}if(m>>>0<65536){if(!y)break;r=a+44|0;w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;A=x+8|0;B=f[A>>2]|0;H=f[A+4>>2]|0;A=Ul(q|0,p|0,3,0)|0;D=I;c:do if(!((H|0)<(D|0)|(H|0)==(D|0)&B>>>0>>0)){G=0;E=x;F=o;C=A;z=D;K=n;M=H;L=B;J=y;while(1){N=E+16|0;O=f[E>>2]|0;Q=O+F|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=N;f[Q>>2]=C;f[Q+4>>2]=z;f[g>>2]=R&65535;R=Ul(F|0,K|0,4,0)|0;Q=I;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0>>0)break c;S=O+C|0;T=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=R;f[S+4>>2]=Q;f[w>>2]=T&65535;T=Ul(F|0,K|0,6,0)|0;Q=I;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0>>0)break c;S=O+R|0;R=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=T;f[S+4>>2]=Q;f[t>>2]=R&65535;R=f[r>>2]|0;Q=R+100|0;S=f[Q>>2]|0;if((S|0)==(f[R+104>>2]|0)){Og(R+96|0,g);U=f[d>>2]|0}else{f[S>>2]=f[g>>2];f[S+4>>2]=f[g+4>>2];f[S+8>>2]=f[g+8>>2];f[Q>>2]=(f[Q>>2]|0)+12;U=J}G=G+1|0;if(G>>>0>=U>>>0)break a;E=f[l>>2]|0;Q=E+16|0;F=f[Q>>2]|0;K=f[Q+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Q=E+8|0;L=f[Q>>2]|0;M=f[Q+4>>2]|0;C=Ul(F|0,K|0,2,0)|0;z=I;if((M|0)<(z|0)|(M|0)==(z|0)&L>>>0>>0)break;else J=U}}while(0);v=0;u=c;return v|0}r=a+44|0;if((f[(f[r>>2]|0)+80>>2]|0)>>>0<2097152?(((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)>513:0){if(!y)break;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(Rh(i,x)|0){B=0;do{f[g>>2]=f[i>>2];if(!(Rh(i,f[l>>2]|0)|0))break d;f[t>>2]=f[i>>2];if(!(Rh(i,f[l>>2]|0)|0))break d;f[w>>2]=f[i>>2];H=f[r>>2]|0;D=H+100|0;A=f[D>>2]|0;if((A|0)==(f[H+104>>2]|0))Og(H+96|0,g);else{f[A>>2]=f[g>>2];f[A+4>>2]=f[g+4>>2];f[A+8>>2]=f[g+8>>2];f[D>>2]=(f[D>>2]|0)+12}B=B+1|0;if(B>>>0>=(f[d>>2]|0)>>>0)break a;D=f[l>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(Rh(i,D)|0)}while(0);v=0;u=c;return v|0}if(y|0){w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;B=x+8|0;D=f[B>>2]|0;A=f[B+4>>2]|0;B=Ul(q|0,p|0,5,0)|0;H=I;e:do if(!((A|0)<(H|0)|(A|0)==(H|0)&D>>>0>>0)){J=0;C=x;L=o;z=B;M=H;K=n;F=A;E=D;G=y;while(1){Q=C+16|0;S=f[C>>2]|0;R=S+L|0;T=h[R>>0]|h[R+1>>0]<<8|h[R+2>>0]<<16|h[R+3>>0]<<24;R=Q;f[R>>2]=z;f[R+4>>2]=M;f[g>>2]=T;T=Ul(L|0,K|0,8,0)|0;R=I;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0>>0)break e;N=S+z|0;O=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=T;f[N+4>>2]=R;f[w>>2]=O;O=Ul(L|0,K|0,12,0)|0;R=I;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0>>0)break e;N=S+T|0;T=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=O;f[N+4>>2]=R;f[t>>2]=T;T=f[r>>2]|0;R=T+100|0;N=f[R>>2]|0;if((N|0)==(f[T+104>>2]|0)){Og(T+96|0,g);V=f[d>>2]|0}else{f[N>>2]=f[g>>2];f[N+4>>2]=f[g+4>>2];f[N+8>>2]=f[g+8>>2];f[R>>2]=(f[R>>2]|0)+12;V=G}J=J+1|0;if(J>>>0>=V>>>0)break a;C=f[l>>2]|0;R=C+16|0;L=f[R>>2]|0;K=f[R+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;R=C+8|0;E=f[R>>2]|0;F=f[R+4>>2]|0;z=Ul(L|0,K|0,4,0)|0;M=I;if((F|0)<(M|0)|(F|0)==(M|0)&E>>>0>>0)break;else G=V}}while(0);v=0;u=c;return v|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];v=1;u=c;return v|0}function Db(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Na,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=bl(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Ul(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=Ul(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=bl(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=Ul(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Eb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){hh(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))hh(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){hh(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))hh(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){hh(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))hh(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){hh(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))hh(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){hh(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))hh(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))hh(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Ul(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Ul(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=bl(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Ul(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Ul(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Ul(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2])&65535;d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Ul(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Gb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Ul(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Ul(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=bl(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Ul(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Ul(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Ul(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2]);d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Ul(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Hb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=bl(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Ul(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Ib(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=bl(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Ul(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=bl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))hh(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=m;break}else{q=p;r=g+-1|0;s=m;break}}else{m=f[n+28>>2]|0;q=f[m+-4>>2]|0;r=-1;s=m}while(0);n=f[s+(r<<2)>>2]|0;if((q|0)==-1|(n|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;k=1<<(q&31);m=f[g>>2]|0;if(!(m&k)){f[g>>2]=m|k;k=f[b>>2]|0;m=k+1|0;if((k|0)==-1)t=-1;else t=((m>>>0)%3|0|0)==0?k+-2|0:m;f[e>>2]=t;m=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=m;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))hh(k,d);else{f[g>>2]=m;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;m=t+4|0;k=f[m>>2]|0;if((k|0)==(f[t+8>>2]|0)){hh(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[s>>2]|0;if(!(t&w)){f[s>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;s=f[x>>2]|0;if((s|0)==(f[t+8>>2]|0))hh(t,d);else{f[s>>2]=w;f[x>>2]=s+4}s=a+40|0;x=f[s>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){hh(x,e);y=f[s>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;s=n;n=x;a:while(1){x=f[s+-4>>2]|0;f[b>>2]=x;q=(x>>>0)/3|0;if((x|0)!=-1?(x=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[x>>2]|0,(q&v|0)==0):0){f[x>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;x=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((x|0)==-1){h=0;z=79;break}else{A=x;B=v;C=q}b:while(1){q=(f[r>>2]|0)+(A>>>5<<2)|0;v=1<<(A&31);x=f[q>>2]|0;do if(!(x&v)){k=f[(f[B+40>>2]|0)+(A<<2)>>2]|0;if((k|0)==-1)D=1;else{m=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(m&31)&f[(f[B+12>>2]|0)+(m>>>5<<2)>>2]|0)!=0}f[q>>2]=x|v;m=f[b>>2]|0;f[e>>2]=m;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[t>>2]|0;f[d>>2]=k;g=f[m+4>>2]|0;m=g+4|0;p=f[m>>2]|0;if((p|0)==(f[g+8>>2]|0))hh(g,d);else{f[p>>2]=k;f[m>>2]=p+4}p=f[w>>2]|0;m=p+4|0;k=f[m>>2]|0;if((k|0)==(f[p+8>>2]|0)){hh(p,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;E=p}p=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[p>>2];f[p>>2]=(f[p>>2]|0)+1;p=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=p;z=59;break}m=k+1|0;do if((k|0)==-1)H=-1;else{g=((m>>>0)%3|0|0)==0?k+-2|0:m;if((g|0)==-1){H=-1;break}if(f[(f[p>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[p+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=p}else{F=C;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=60;break}x=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((x|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);f[d>>2]=K;x=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((x|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);x=(K|0)==-1;v=(K>>>0)/3|0;q=x?-1:v;m=(L|0)==-1;k=(L>>>0)/3|0;g=m?-1:k;do if(!x){M=f[j>>2]|0;if(f[M+(q>>>5<<2)>>2]&1<<(q&31)|0){z=69;break}if(m){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(m){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=O;J=G}v=(f[j>>2]|0)+(I>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(I&31);C=f[b>>2]|0;A=f[(f[J+28>>2]|0)+(C<<2)>>2]|0;if((A|0)==-1){h=0;z=79;break a}else B=J}do if((z|0)==60){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){hh(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];q=v+4|0;f[l>>2]=q;P=q;break}}while(0);if((z|0)==71){z=0;q=(f[l>>2]|0)+-4|0;f[l>>2]=q;P=q}Q=f[i>>2]|0;R=P}else{q=s+-4|0;f[l>>2]=q;Q=n;R=q}if((Q|0)==(R|0)){h=1;z=79;break}else{s=R;n=Q}}if((z|0)==79){u=c;return h|0}return 0}function Kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Ul(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Ul(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Ul(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=bl(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Ul(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2])&255;b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Ul(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Ul(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=bl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Ul(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Ul(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=bl(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Ul(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=bl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2]);b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=bl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Ul(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Gh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Mb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))hh(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))hh(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){hh(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))hh(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){hh(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))hh(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){hh(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=D}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=N;J=G}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=J}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){hh(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)Do(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)Do(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Db(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Db(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];Db(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Wl(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=bl(s|0,x|0,s|0,x|0)|0;N=I;O=bl(E|0,D|0,E|0,D|0)|0;P=Ul(O|0,I|0,M|0,N|0)|0;N=I;M=bl(J|0,H|0,J|0,H|0)|0;O=Ul(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=bl(P|0,C|0,s|0,x|0)|0;F=I;Q=bl(N|0,G|0,E|0,D|0)|0;R=Ul(Q|0,I|0,K|0,F|0)|0;F=I;K=bl(y|0,L|0,J|0,H|0)|0;Q=Ul(R|0,F|0,K|0,I|0)|0;K=I;F=Wl(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;R=Wl(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;S=bl(O|0,M|0,p|0,q|0)|0;q=I;p=bl(O|0,M|0,n|0,o|0)|0;o=I;n=bl(Q|0,K|0,F|0,t|0)|0;T=I;U=bl(Q|0,K|0,R|0,v|0)|0;V=I;W=Ul(n|0,T|0,S|0,q|0)|0;q=I;S=Ul(U|0,V|0,p|0,o|0)|0;o=I;p=bl(Q|0,K|0,s|0,x|0)|0;x=I;s=bl(Q|0,K|0,E|0,D|0)|0;D=I;E=bl(Q|0,K|0,J|0,H|0)|0;H=I;J=Ni(p|0,x|0,O|0,M|0)|0;x=I;p=Ni(s|0,D|0,O|0,M|0)|0;D=I;s=Ni(E|0,H|0,O|0,M|0)|0;H=I;E=Wl(P|0,C|0,J|0,x|0)|0;x=I;J=Wl(N|0,G|0,p|0,D|0)|0;D=I;p=Wl(y|0,L|0,s|0,H|0)|0;H=I;s=bl(E|0,x|0,E|0,x|0)|0;x=I;E=bl(J|0,D|0,J|0,D|0)|0;D=Ul(E|0,I|0,s|0,x|0)|0;x=I;s=bl(p|0,H|0,p|0,H|0)|0;H=Ul(D|0,x|0,s|0,I|0)|0;s=I;x=Wl(0,0,F|0,t|0)|0;t=I;F=bl(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=23}break}case 1:{if(!s){ca=1;da=0;ba=24}else{Z=1;_=0;$=F;aa=s;ba=23}break}default:{Z=1;_=0;$=F;aa=s;ba=23}}if((ba|0)==23)while(1){ba=0;H=Rl(Z|0,_|0,1)|0;D=I;p=$;$=Xl($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&p>>>0>7)){ca=H;da=D;ba=24;break}else{Z=H;_=D;aa=I;ba=23}}if((ba|0)==24)while(1){ba=0;D=Mn(F|0,s|0,ca|0,da|0)|0;H=Ul(D|0,I|0,ca|0,da|0)|0;D=Xl(H|0,I|0,1)|0;H=I;p=bl(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&p>>>0>F>>>0){ca=D;da=H;ba=24}else{X=D;Y=H;break}}F=bl(X|0,Y|0,R|0,v|0)|0;s=I;H=bl(X|0,Y|0,x|0,t|0)|0;D=I;p=a+20|0;E=f[p>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[p>>2]=J;J=Wl(0,0,F|0,s|0)|0;p=Ul(W|0,q|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Wl(0,0,H|0,D|0)|0;F=Ul(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Ni(p|0,s|0,O|0,M|0)|0;s=Ni(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(r)fa=m<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function Ob(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)Do(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Do(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Db(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Db(y,h,x,k)|0;x=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];Db(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Wl(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=bl(s|0,x|0,s|0,x|0)|0;N=I;O=bl(E|0,D|0,E|0,D|0)|0;P=Ul(O|0,I|0,M|0,N|0)|0;N=I;M=bl(J|0,H|0,J|0,H|0)|0;O=Ul(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=bl(P|0,C|0,s|0,x|0)|0;F=I;Q=bl(N|0,G|0,E|0,D|0)|0;R=Ul(Q|0,I|0,K|0,F|0)|0;F=I;K=bl(y|0,L|0,J|0,H|0)|0;Q=Ul(R|0,F|0,K|0,I|0)|0;K=I;F=Wl(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;R=Wl(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;S=bl(O|0,M|0,c|0,m|0)|0;m=I;c=bl(O|0,M|0,r|0,o|0)|0;o=I;r=bl(Q|0,K|0,F|0,t|0)|0;T=I;U=bl(Q|0,K|0,R|0,v|0)|0;V=I;W=Ul(r|0,T|0,S|0,m|0)|0;m=I;S=Ul(U|0,V|0,c|0,o|0)|0;o=I;c=bl(Q|0,K|0,s|0,x|0)|0;x=I;s=bl(Q|0,K|0,E|0,D|0)|0;D=I;E=bl(Q|0,K|0,J|0,H|0)|0;H=I;J=Ni(c|0,x|0,O|0,M|0)|0;x=I;c=Ni(s|0,D|0,O|0,M|0)|0;D=I;s=Ni(E|0,H|0,O|0,M|0)|0;H=I;E=Wl(P|0,C|0,J|0,x|0)|0;x=I;J=Wl(N|0,G|0,c|0,D|0)|0;D=I;c=Wl(y|0,L|0,s|0,H|0)|0;H=I;s=bl(E|0,x|0,E|0,x|0)|0;x=I;E=bl(J|0,D|0,J|0,D|0)|0;D=Ul(E|0,I|0,s|0,x|0)|0;x=I;s=bl(c|0,H|0,c|0,H|0)|0;H=Ul(D|0,x|0,s|0,I|0)|0;s=I;x=Wl(0,0,F|0,t|0)|0;t=I;F=bl(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=22}break}case 1:{if(!s){ca=1;da=0;ba=23}else{Z=1;_=0;$=F;aa=s;ba=22}break}default:{Z=1;_=0;$=F;aa=s;ba=22}}if((ba|0)==22)while(1){ba=0;H=Rl(Z|0,_|0,1)|0;D=I;c=$;$=Xl($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&c>>>0>7)){ca=H;da=D;ba=23;break}else{Z=H;_=D;aa=I;ba=22}}if((ba|0)==23)while(1){ba=0;D=Mn(F|0,s|0,ca|0,da|0)|0;H=Ul(D|0,I|0,ca|0,da|0)|0;D=Xl(H|0,I|0,1)|0;H=I;c=bl(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&c>>>0>F>>>0){ca=D;da=H;ba=23}else{X=D;Y=H;break}}F=bl(X|0,Y|0,R|0,v|0)|0;s=I;H=bl(X|0,Y|0,x|0,t|0)|0;D=I;c=a+20|0;E=f[c>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[c>>2]=J;J=Wl(0,0,F|0,s|0)|0;c=Ul(W|0,m|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Wl(0,0,H|0,D|0)|0;F=Ul(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Ni(c|0,s|0,O|0,M|0)|0;s=Ni(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(q)fa=n<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function Pb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)Do(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];Db(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];Db(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];Db(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Wl(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Wl(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Wl(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Wl(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Wl(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Wl(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=bl($|0,ia|0,ca|0,ba|0)|0;da=I;la=bl(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=bl(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=bl($|0,ia|0,Q|0,L|0)|0;ia=I;$=bl(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=bl(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Wl(C|0,D|0,la|0,ma|0)|0;ma=Ul(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Ul(na|0,fa|0,E|0,F|0)|0;fa=Wl(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Wl(G|0,H|0,Q|0,ba|0)|0;ba=Ul(ga|0,I|0,$|0,L|0)|0;L=I;ig(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)Do(W);else if((V|0)==28)Do(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=Wl(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=Wl(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=Wl(0,0,ua|0,ta|0)|0;i=Ul((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=Ul(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=Xl(v|0,V|0,29)|0;Z=oa&7;oa=Ni(qa|0,pa|0,Z|0,0)|0;a=Ni(sa|0,ra|0,Z|0,0)|0;i=Ni(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Xl(v|0,V|0,29)|0;V=I;v=Ni(qa|0,pa|0,i|0,V|0)|0;pa=Ni(sa|0,ra|0,i|0,V|0)|0;ra=Ni(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Na,K=Na,L=Na,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cc(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];re(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{Ug(j,m);o=f[j>>2]|0;p=f[d>>2]|0}Jf(o|0,p|0,m|0)|0;Ch(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=o;r=p;s=0}else{Ug(c,d);q=f[j>>2]|0;r=f[k>>2]|0;s=f[c>>2]|0}Jf(s|0,q|0,r-q|0)|0;q=i+11|0;r=b[q>>0]|0;s=r<<24>>24<0;c=s?f[i>>2]|0:i;d=s?f[i+4>>2]|0:r&255;if(d>>>0>3){r=c;s=d;p=d;while(1){o=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(o>>>24^o,1540483477)|0)^(X(s,1540483477)|0);p=p+-4|0;if(p>>>0<=3)break;else r=r+4|0}r=d+-4|0;p=r&-4;t=r-p|0;v=c+(p+4)|0;w=s}else{t=d;v=c;w=d}switch(t|0){case 3:{x=h[v+2>>0]<<16^w;y=12;break}case 2:{x=w;y=12;break}case 1:{z=w;y=13;break}default:A=w}if((y|0)==12){z=h[v+1>>0]<<8^x;y=13}if((y|0)==13)A=X(z^h[v>>0],1540483477)|0;v=X(A>>>13^A,1540483477)|0;A=v>>>15^v;v=a+4|0;z=f[v>>2]|0;x=(z|0)==0;a:do if(!x){w=z+-1|0;t=(w&z|0)==0;if(!t)if(A>>>0>>0)B=A;else B=(A>>>0)%(z>>>0)|0;else B=A&w;s=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((s|0)!=0?(p=f[s>>2]|0,(p|0)!=0):0){s=(d|0)==0;if(t){if(s){t=p;while(1){r=f[t+4>>2]|0;if(!((r|0)==(A|0)|(r&w|0)==(B|0))){C=B;y=54;break a}r=b[t+8+11>>0]|0;if(!((r<<24>>24<0?f[t+12>>2]|0:r&255)|0))break a;t=f[t>>2]|0;if(!t){C=B;y=54;break a}}}else D=p;while(1){t=f[D+4>>2]|0;if(!((t|0)==(A|0)|(t&w|0)==(B|0))){C=B;y=54;break a}t=D+8|0;r=b[t+11>>0]|0;o=r<<24>>24<0;l=r&255;do if(((o?f[D+12>>2]|0:l)|0)==(d|0)){r=f[t>>2]|0;if(o)if(!(dj(r,c,d)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=t;E=l;F=c;do{E=E+-1|0;r=r+1|0;if(!E)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(s){w=p;while(1){l=f[w+4>>2]|0;if((l|0)!=(A|0)){if(l>>>0>>0)G=l;else G=(l>>>0)%(z>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}l=b[w+8+11>>0]|0;if(!((l<<24>>24<0?f[w+12>>2]|0:l&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else H=p;while(1){w=f[H+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)I=w;else I=(w>>>0)%(z>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}w=H+8|0;s=b[w+11>>0]|0;l=s<<24>>24<0;t=s&255;do if(((l?f[H+12>>2]|0:t)|0)==(d|0)){s=f[w>>2]|0;if(l)if(!(dj(s,c,d)|0))break a;else break;if((b[c>>0]|0)==(s&255)<<24>>24){s=w;o=t;F=c;do{o=o+-1|0;s=s+1|0;if(!o)break a;F=F+1|0}while((b[s>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){Ag(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(z>>>0);L=$(n[a+16>>2]);do if(x|$(L*K)>>0<3|(z+-1&z|0)!=0)&1;H=~~$(W($(J/L)))>>>0;tg(a,B>>>0>>0?H:B);B=f[v>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=z;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){z=a+8|0;f[f[g>>2]>>2]=f[z>>2];f[z>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=z;z=f[g>>2]|0;N=f[z>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=z;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;lp(O)}if((b[q>>0]|0)<0)lp(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;lp(i);u=e;return}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)Do(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];Db(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];Db(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];Db(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Wl(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Wl(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Wl(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Wl(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Wl(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Wl(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=bl(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=bl(da|0,_|0,aa|0,$|0)|0;ga=I;ha=bl(ea|0,W|0,aa|0,$|0)|0;$=I;aa=bl(K|0,ca|0,S|0,L|0)|0;ca=I;K=bl(da|0,_|0,S|0,L|0)|0;L=I;S=bl(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Wl(B|0,C|0,fa|0,ga|0)|0;ga=Ul(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Ul(ha|0,$|0,D|0,E|0)|0;$=Wl(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Wl(F|0,G|0,S|0,X|0)|0;X=Ul(aa|0,I|0,K|0,L|0)|0;L=I;uf(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)Do(Q);else if((R|0)==21)Do(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=Wl(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=Wl(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=Wl(0,0,oa|0,na|0)|0;i=Ul((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=Ul(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=Xl(t|0,R|0,29)|0;U=ia&7;ia=Ni(ka|0,ja|0,U|0,0)|0;a=Ni(ma|0,la|0,U|0,0)|0;i=Ni(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Xl(t|0,R|0,29)|0;R=I;t=Ni(ka|0,ja|0,i|0,R|0)|0;ja=Ni(ma|0,la|0,i|0,R|0)|0;la=Ni(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d+20|0;g=d+8|0;i=d+4|0;j=d;k=a+4|0;do if((h[(f[k>>2]|0)+36>>0]<<8&65535)<512){l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=-1;u=d;return r|0}else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=p;m=l;f[m>>2]=q;f[m+4>>2]=o;s=p;break}}else if(Rh(e,c)|0){s=f[e>>2]|0;break}else{r=-1;u=d;return r|0}while(0);a:do if(s|0){p=f[a+8>>2]|0;if(s>>>0>(((f[p+4>>2]|0)-(f[p>>2]|0)>>2>>>0)/3|0)>>>0){r=-1;u=d;return r|0}p=f[k>>2]|0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<258){p=c+8|0;o=c+16|0;m=g+4|0;q=g+8|0;l=a+40|0;n=a+44|0;t=a+36|0;v=0;w=s;while(1){x=p;y=f[x>>2]|0;z=f[x+4>>2]|0;x=o;A=f[x>>2]|0;B=f[x+4>>2]|0;x=Ul(A|0,B|0,4,0)|0;C=I;if((z|0)<(C|0)|(z|0)==(C|0)&y>>>0>>0)break;D=f[c>>2]|0;E=D+A|0;f[g>>2]=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;E=o;f[E>>2]=x;f[E+4>>2]=C;C=Ul(A|0,B|0,8,0)|0;E=I;if((z|0)<(E|0)|(z|0)==(E|0)&y>>>0>>0)break;C=D+x|0;f[m>>2]=h[C>>0]|h[C+1>>0]<<8|h[C+2>>0]<<16|h[C+3>>0]<<24;C=Ul(A|0,B|0,8,0)|0;x=I;E=o;f[E>>2]=C;f[E+4>>2]=x;if(!((z|0)>(x|0)|(z|0)==(x|0)&y>>>0>C>>>0))break;y=b[D+C>>0]|0;C=Ul(A|0,B|0,9,0)|0;B=o;f[B>>2]=C;f[B+4>>2]=I;b[q>>0]=b[q>>0]&-2|y&1;y=f[l>>2]|0;if((y|0)==(f[n>>2]|0)){Og(t,g);F=f[e>>2]|0}else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+12;F=w}v=v+1|0;if(v>>>0>=F>>>0)break a;else w=F}r=-1;u=d;return r|0}w=g+4|0;v=a+40|0;l=a+44|0;t=a+36|0;n=0;q=0;do{Rh(i,c)|0;f[w>>2]=(f[i>>2]|0)+q;Rh(i,c)|0;o=f[i>>2]|0;q=f[w>>2]|0;if(q>>>0>>0){G=36;break}f[g>>2]=q-o;o=f[v>>2]|0;if((o|0)==(f[l>>2]|0))Og(t,g);else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[v>>2]=(f[v>>2]|0)+12}n=n+1|0}while(n>>>0<(f[e>>2]|0)>>>0);if((G|0)==36){r=-1;u=d;return r|0}Ef(c,0,0)|0;n=f[e>>2]|0;if(n|0){v=c+36|0;t=c+32|0;l=c+24|0;q=c+28|0;w=a+36|0;o=0;m=0;while(1){p=f[k>>2]|0;y=(b[v>>0]|0)==0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514)if(!y){p=f[t>>2]|0;B=f[l>>2]|0;C=f[q>>2]|0;A=B+(p>>>3)|0;if(A>>>0>>0){D=(h[A>>0]|0)>>>(p&7)&1;A=p+1|0;f[t>>2]=A;H=D;J=A}else{H=0;J=p}if((B+(J>>>3)|0)>>>0>>0){f[t>>2]=J+1;K=H}else K=H}else K=m;else if(!y){y=f[t>>2]|0;C=(f[l>>2]|0)+(y>>>3)|0;if(C>>>0<(f[q>>2]|0)>>>0){B=(h[C>>0]|0)>>>(y&7)&1;f[t>>2]=y+1;K=B}else K=0}else K=m;B=(f[w>>2]|0)+(o*12|0)+8|0;b[B>>0]=b[B>>0]&-2|K&1;o=o+1|0;if(o>>>0>=n>>>0)break;else m=K}}Zj(c)}while(0);f[g>>2]=0;K=f[k>>2]|0;H=(h[K+36>>0]<<8|h[K+37>>0])&65535;if((H&65535)<512){K=c+8|0;J=f[K>>2]|0;e=f[K+4>>2]|0;K=c+16|0;F=K;s=f[F>>2]|0;m=Ul(s|0,f[F+4>>2]|0,4,0)|0;F=I;if((e|0)<(F|0)|(e|0)==(F|0)&J>>>0>>0)L=-1;else{J=(f[c>>2]|0)+s|0;s=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=s;J=K;f[J>>2]=m;f[J+4>>2]=F;M=s;G=43}}else if(H<<16>>16==512)if(Rh(g,c)|0){M=f[g>>2]|0;G=43}else L=-1;else G=57;b:do if((G|0)==43)if(!M)G=57;else{H=f[k>>2]|0;if(((h[H+36>>0]<<8|h[H+37>>0])&65535)>=258){H=a+52|0;s=a+56|0;F=a+48|0;J=0;m=0;while(1){f[i>>2]=0;Rh(j,c)|0;m=(f[j>>2]|0)+m|0;f[i>>2]=m;K=f[H>>2]|0;if((K|0)==(f[s>>2]|0))hh(F,i);else{f[K>>2]=m;f[H>>2]=K+4}J=J+1|0;if(J>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}}J=c+8|0;H=c+16|0;m=a+52|0;F=a+56|0;s=a+48|0;K=0;while(1){f[i>>2]=0;e=J;n=f[e>>2]|0;o=f[e+4>>2]|0;e=H;w=f[e>>2]|0;t=Ul(w|0,f[e+4>>2]|0,4,0)|0;e=I;if((o|0)<(e|0)|(o|0)==(e|0)&n>>>0>>0)break;n=(f[c>>2]|0)+w|0;w=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[i>>2]=w;n=H;f[n>>2]=t;f[n+4>>2]=e;e=f[m>>2]|0;if((e|0)==(f[F>>2]|0))hh(s,i);else{f[e>>2]=w;f[m>>2]=e+4}K=K+1|0;if(K>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}L=-1}while(0);if((G|0)==57)L=f[c+16>>2]|0;r=L;u=d;return r|0}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+736|0;e=d+716|0;g=d;h=d+64|0;if((j[c+38>>1]|0)<515){i=1;u=d;return i|0}k=c+8|0;l=f[k+4>>2]|0;m=c+16|0;n=m;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((l|0)>(p|0)|((l|0)==(p|0)?(f[k>>2]|0)>>>0>o>>>0:0))){i=0;u=d;return i|0}k=b[(f[c>>2]|0)+o>>0]|0;l=Ul(o|0,p|0,1,0)|0;p=m;f[p>>2]=l;f[p+4>>2]=I;p=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[p>>2]|0)+80>>2]|0;p=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;do if(p|0)if(p>>>0>214748364)Do(e);else{o=p*20|0;n=Yk(o)|0;f[e>>2]=n;f[e+8>>2]=n+(p*20|0);Gh(n|0,0,o|0)|0;f[m>>2]=n+o;break}while(0);p=a+64|0;o=a+68|0;n=a+60|0;q=a+52|0;r=a+56|0;s=a+48|0;t=0;v=0;a:while(1){if((v|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){w=44;break}x=Qa[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;y=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[y>>2]|0)+8>>2]|0)+(x<<2)>>2]|0;Nh(z,l)|0;b[z+84>>0]=1;x=f[z+68>>2]|0;y=z+72|0;A=f[y>>2]|0;if((A|0)!=(x|0))f[y>>2]=A+(~((A+-4-x|0)>>>2)<<2);switch(f[z+28>>2]|0){case 2:case 4:case 6:{B=z;break}case 1:case 3:case 5:{x=z+24|0;A=b[x>>0]|0;if(A<<24>>24>0){y=0;C=A;while(1){f[g>>2]=0;A=f[q>>2]|0;if(A>>>0<(f[r>>2]|0)>>>0){f[A>>2]=0;f[q>>2]=A+4;D=C}else{hh(s,g);D=b[x>>0]|0}y=y+1|0;if((y|0)>=(D<<24>>24|0))break;else C=D}}B=z;break}case 9:{C=b[z+24>>0]|0;Mj(g);y=f[z+56>>2]|0;x=X(Yj(6)|0,C<<24>>24)|0;Xh(g,y,0,C,6,0,x,((x|0)<0)<<31>>31,0,0);x=Yk(96)|0;zj(x,g);f[h>>2]=x;b[x+84>>0]=1;C=f[x+68>>2]|0;y=x+72|0;A=f[y>>2]|0;if((A|0)!=(C|0))f[y>>2]=A+(~((A+-4-C|0)>>>2)<<2);Nh(x,l)|0;x=f[p>>2]|0;if(x>>>0<(f[o>>2]|0)>>>0){C=f[h>>2]|0;f[h>>2]=0;f[x>>2]=C;C=x+4|0;f[p>>2]=C;E=C}else{_d(n,h);E=f[p>>2]|0}C=f[E+-4>>2]|0;x=f[h>>2]|0;f[h>>2]=0;if(x|0){A=x+88|0;y=f[A>>2]|0;f[A>>2]=0;if(y|0){A=f[y+8>>2]|0;if(A|0){F=y+12|0;if((f[F>>2]|0)!=(A|0))f[F>>2]=A;lp(A)}lp(y)}y=f[x+68>>2]|0;if(y|0){A=x+72|0;F=f[A>>2]|0;if((F|0)!=(y|0))f[A>>2]=F+(~((F+-4-y|0)>>>2)<<2);lp(y)}y=x+64|0;F=f[y>>2]|0;f[y>>2]=0;if(F|0){y=f[F>>2]|0;if(y|0){A=F+4|0;if((f[A>>2]|0)!=(y|0))f[A>>2]=y;lp(y)}lp(F)}lp(x)}B=C;break}default:{G=0;break a}}C=B;x=f[C+28>>2]|0;F=Yj(x)|0;y=b[C+24>>0]|0;C=f[e>>2]|0;f[C+(v*20|0)>>2]=B;f[C+(v*20|0)+4>>2]=t;f[C+(v*20|0)+8>>2]=x;f[C+(v*20|0)+12>>2]=(F|0)>0?F:0;f[C+(v*20|0)+16>>2]=y;t=t+y|0;v=v+1|0}if((w|0)==44){Mf(g,e);switch(k<<24>>24){case 0:{ye(h,t);k=he(h,c,g)|0;Be(h);if(k)w=52;else H=0;break}case 1:{ye(h,t);k=ge(h,c,g)|0;Be(h);if(k)w=52;else H=0;break}case 2:{Ae(h,t);k=je(h,c,g)|0;Oe(h);if(k)w=52;else H=0;break}case 3:{Ae(h,t);k=ie(h,c,g)|0;Oe(h);if(k)w=52;else H=0;break}case 4:{se(h,t);k=ce(h,c,g)|0;Fe(h);if(k)w=52;else H=0;break}case 5:{se(h,t);k=be(h,c,g)|0;Fe(h);if(k)w=52;else H=0;break}case 6:{se(h,t);t=ae(h,c,g)|0;Fe(h);if(t)w=52;else H=0;break}default:H=0}if((w|0)==52)H=1;w=f[g+16>>2]|0;if(w|0){t=g+20|0;h=f[t>>2]|0;if((h|0)!=(w|0))f[t>>2]=h+(~(((h+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[g>>2]|0;if(w|0){h=g+4|0;if((f[h>>2]|0)!=(w|0))f[h>>2]=w;lp(w)}G=H}H=f[e>>2]|0;if(H|0){e=f[m>>2]|0;if((e|0)!=(H|0))f[m>>2]=e+(~(((e+-20-H|0)>>>0)/20|0)*20|0);lp(H)}i=G;u=d;return i|0}function Ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{dg(i,m-q|0,3564);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;ri(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{dg(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)Do(e);t=Yk(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)Do(g);else{A=Yk(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;Gh(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);lp(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);lp(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);lp(ca)}h=1;u=c;return h|0}function Vb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Na,ea=Na,fa=Na,ga=0;c=u;u=u+32|0;d=c+12|0;e=c;g=a+60|0;if((f[g>>2]|0)==(f[a+64>>2]|0)?(f[a+48>>2]|0)==(f[a+52>>2]|0):0){h=1;u=c;return h|0}if((Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)<=0){h=1;u=c;return h|0}i=d+4|0;j=d+8|0;k=e+4|0;l=e+8|0;m=e+8|0;o=d+8|0;p=a+36|0;q=d+8|0;r=d+4|0;s=d+11|0;t=d+4|0;v=0;w=0;x=0;a:while(1){y=Qa[f[(f[a>>2]|0)+20>>2]&127](a,x)|0;z=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;A=f[(f[(f[z>>2]|0)+8>>2]|0)+(y<<2)>>2]|0;y=A+28|0;b:do switch(f[y>>2]|0){case 1:case 3:case 5:{z=A+24|0;B=b[z>>0]|0;C=B<<24>>24;f[d>>2]=0;f[i>>2]=0;f[j>>2]=0;if(!(B<<24>>24))D=0;else{if(B<<24>>24<0){E=8;break a}B=C<<2;F=Yk(B)|0;f[d>>2]=F;G=F+(C<<2)|0;f[o>>2]=G;Gh(F|0,0,B|0)|0;f[i>>2]=G;D=b[z>>0]|0}G=D<<24>>24;f[e>>2]=0;f[k>>2]=0;f[l>>2]=0;if(D<<24>>24){if(D<<24>>24<0){E=12;break a}B=G<<2;F=Yk(B)|0;f[e>>2]=F;C=F+(G<<2)|0;f[m>>2]=C;Gh(F|0,0,B|0)|0;f[k>>2]=C}switch(f[y>>2]|0){case 5:{if(Kd(a,A,w)|0)E=18;else{H=1;J=w}break}case 3:{if(Jd(a,A,w)|0)E=18;else{H=1;J=w}break}case 1:{if(Ad(a,A,w)|0)E=18;else{H=1;J=w}break}default:E=18}if((E|0)==18){E=0;H=0;J=w+(b[z>>0]|0)|0}z=f[e>>2]|0;if(z|0){C=f[k>>2]|0;if((C|0)!=(z|0))f[k>>2]=C+(~((C+-4-z|0)>>>2)<<2);lp(z)}z=f[d>>2]|0;if(z|0){C=f[i>>2]|0;if((C|0)!=(z|0))f[i>>2]=C+(~((C+-4-z|0)>>>2)<<2);lp(z)}if(!H){K=v;L=J}else{h=0;E=55;break a}break}case 9:{z=f[(f[g>>2]|0)+(v<<2)>>2]|0;C=f[p>>2]|0;B=v+1|0;F=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;G=f[F>>2]|0;F=f[A+56>>2]|0;M=Yk(32)|0;f[d>>2]=M;f[q>>2]=-2147483616;f[r>>2]=24;N=M;O=11767;P=N+24|0;do{b[N>>0]=b[O>>0]|0;N=N+1|0;O=O+1|0}while((N|0)<(P|0));b[M+24>>0]=0;O=G+16|0;N=f[O>>2]|0;if(N){P=O;Q=N;c:while(1){N=Q;while(1){if((f[N+16>>2]|0)>=(F|0))break;R=f[N+4>>2]|0;if(!R){S=P;break c}else N=R}Q=f[N>>2]|0;if(!Q){S=N;break}else P=N}if(((S|0)!=(O|0)?(F|0)>=(f[S+16>>2]|0):0)?(P=S+20|0,(jg(P,d)|0)!=0):0)T=ii(P,d,0)|0;else E=37}else E=37;if((E|0)==37){E=0;T=ii(G,d,0)|0}if((b[s>>0]|0)<0)lp(f[d>>2]|0);if(T){de(A,z);K=B;L=w;break b}P=f[C+(v*24|0)+4>>2]|0;Q=b[A+24>>0]|0;M=Q<<24>>24;R=M<<2;U=ip(M>>>0>1073741823?-1:M<<2)|0;Fn(d);if(!(Sk(d,$(n[C+(v*24|0)+20>>2]),(1<>2]>>2]|0)+(f[z+48>>2]|0)|0;V=z+80|0;d:do if(f[V>>2]|0){W=A+64|0;X=C+(v*24|0)+8|0;if(Q<<24>>24>0){Y=0;Z=0;_=0}else{aa=0;ba=0;while(1){Jf((f[f[W>>2]>>2]|0)+ba|0,U|0,R|0)|0;aa=aa+1|0;if(aa>>>0>=(f[V>>2]|0)>>>0)break d;else ba=ba+R|0}}while(1){ba=f[X>>2]|0;aa=0;N=_;while(1){ca=f[P+(N<<2)>>2]|0;if((ca|0)>-1){da=$(ca|0);ea=$($(n[t>>2])*da);fa=$(ea*$(n[d>>2]))}else{ga=Wl(0,0,ca|0,((ca|0)<0)<<31>>31|0)|0;ea=$(+(ga>>>0)+4294967296.0*+(I|0));da=$($(n[t>>2])*ea);fa=$(-$(da*$(n[d>>2])))}da=$(fa+$(n[ba+(aa<<2)>>2]));n[U+(aa<<2)>>2]=da;aa=aa+1|0;if((aa|0)==(M|0))break;else N=N+1|0}Jf((f[f[W>>2]>>2]|0)+Z|0,U|0,R|0)|0;Y=Y+1|0;if(Y>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Z+R|0;_=_+M|0}}}while(0);jp(U);K=B;L=w;break}default:{K=v;L=w}}while(0);x=x+1|0;if((x|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){h=1;E=55;break}else{v=K;w=L}}if((E|0)==8)Do(d);else if((E|0)==12)Do(e);else if((E|0)==54){jp(U);h=0;u=c;return h|0}else if((E|0)==55){u=c;return h|0}return 0}function Wb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Rg(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=ip(k)|0;Gh(d|0,0,k|0)|0;i=ip(k)|0;Gh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){jp(i);jp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+12|0;w=e<<2;if(s-m>>2>>>0>1){x=1;y=u;z=m}else Do(r);while(1){m=f[z+(x<<2)>>2]|0;if(q)Gh(d|0,0,w|0)|0;if((m|0)!=-1){u=f[a>>2]|0;s=0;A=m;while(1){B=f[u+(A<<2)>>2]|0;if((B|0)!=-1){C=f[k>>2]|0;D=f[l>>2]|0;E=f[D+(f[C+(B<<2)>>2]<<2)>>2]|0;F=B+1|0;G=((F>>>0)%3|0|0)==0?B+-2|0:F;if((G|0)==-1)H=-1;else H=f[C+(G<<2)>>2]|0;G=f[D+(H<<2)>>2]|0;F=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((F|0)==-1)I=-1;else I=f[C+(F<<2)>>2]|0;F=f[D+(I<<2)>>2]|0;if((E|0)<(x|0)&(G|0)<(x|0)&(F|0)<(x|0)){D=X(E,e)|0;E=X(G,e)|0;G=X(F,e)|0;if(q){F=0;do{f[i+(F<<2)>>2]=(f[c+(F+G<<2)>>2]|0)+(f[c+(F+E<<2)>>2]|0)-(f[c+(F+D<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0));if(q){F=0;do{D=d+(F<<2)|0;f[D>>2]=(f[D>>2]|0)+(f[i+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0))}}J=s+1|0}else J=s}else J=s;F=(((A>>>0)%3|0|0)==0?2:-1)+A|0;do if((F|0)!=-1?(D=f[u+(F<<2)>>2]|0,(D|0)!=-1):0)if(!((D>>>0)%3|0)){K=D+2|0;break}else{K=D+-1|0;break}else K=-1;while(0);A=(K|0)==(m|0)?-1:K;if((A|0)==-1)break;else s=J}s=X(x,e)|0;if(J){if(q){A=0;do{m=d+(A<<2)|0;f[m>>2]=(f[m>>2]|0)/(J|0)|0;A=A+1|0}while((A|0)!=(e|0))}A=b+(s<<2)|0;m=c+(s<<2)|0;if((y|0)>0){u=0;do{F=f[d+(u<<2)>>2]|0;D=f[n>>2]|0;if((F|0)>(D|0)){E=f[o>>2]|0;f[E+(u<<2)>>2]=D;L=E}else{E=f[p>>2]|0;D=f[o>>2]|0;f[D+(u<<2)>>2]=(F|0)<(E|0)?E:F;L=D}u=u+1|0;M=f[g>>2]|0}while((u|0)<(M|0));if((M|0)>0){u=0;do{D=(f[A+(u<<2)>>2]|0)+(f[L+(u<<2)>>2]|0)|0;F=m+(u<<2)|0;f[F>>2]=D;if((D|0)<=(f[n>>2]|0)){if((D|0)<(f[p>>2]|0)){N=(f[v>>2]|0)+D|0;t=70}}else{N=D-(f[v>>2]|0)|0;t=70}if((t|0)==70){t=0;f[F>>2]=N}u=u+1|0;F=f[g>>2]|0}while((u|0)<(F|0));O=F}else O=M}else O=y}else{P=s;t=48}}else{P=X(x,e)|0;t=48}if((t|0)==48){t=0;u=c+((X(x+-1|0,e)|0)<<2)|0;m=b+(P<<2)|0;A=c+(P<<2)|0;if((y|0)>0){F=0;do{D=f[u+(F<<2)>>2]|0;E=f[n>>2]|0;if((D|0)>(E|0)){G=f[o>>2]|0;f[G+(F<<2)>>2]=E;Q=G}else{G=f[p>>2]|0;E=f[o>>2]|0;f[E+(F<<2)>>2]=(D|0)<(G|0)?G:D;Q=E}F=F+1|0;R=f[g>>2]|0}while((F|0)<(R|0));if((R|0)>0){F=0;do{u=(f[m+(F<<2)>>2]|0)+(f[Q+(F<<2)>>2]|0)|0;s=A+(F<<2)|0;f[s>>2]=u;if((u|0)<=(f[n>>2]|0)){if((u|0)<(f[p>>2]|0)){S=(f[v>>2]|0)+u|0;t=58}}else{S=u-(f[v>>2]|0)|0;t=58}if((t|0)==58){t=0;f[s>>2]=S}F=F+1|0;s=f[g>>2]|0}while((F|0)<(s|0));O=s}else O=R}else O=y}x=x+1|0;if((x|0)>=(j|0)){t=22;break}z=f[r>>2]|0;if((f[h>>2]|0)-z>>2>>>0<=x>>>0){t=23;break}else y=O}if((t|0)==22){jp(i);jp(d);return 1}else if((t|0)==23)Do(r);return 0}function Xb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Rg(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=ip(k)|0;Gh(d|0,0,k|0)|0;i=ip(k)|0;Gh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){jp(i);jp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+64|0;w=k+28|0;x=e<<2;if(s-m>>2>>>0>1){y=1;z=u;A=m}else Do(r);while(1){m=f[A+(y<<2)>>2]|0;if(q)Gh(d|0,0,x|0)|0;if((m|0)!=-1){u=f[k>>2]|0;s=0;B=m;while(1){if(((f[u+(B>>>5<<2)>>2]&1<<(B&31)|0)==0?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(B<<2)>>2]|0,(C|0)!=-1):0)?(D=f[w>>2]|0,E=f[l>>2]|0,F=f[E+(f[D+(C<<2)>>2]<<2)>>2]|0,G=C+1|0,H=f[E+(f[D+((((G>>>0)%3|0|0)==0?C+-2|0:G)<<2)>>2]<<2)>>2]|0,G=f[E+(f[D+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(F|0)<(y|0)&(H|0)<(y|0)&(G|0)<(y|0)):0){C=X(F,e)|0;F=X(H,e)|0;H=X(G,e)|0;if(q){G=0;do{f[i+(G<<2)>>2]=(f[c+(G+H<<2)>>2]|0)+(f[c+(G+F<<2)>>2]|0)-(f[c+(G+C<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0));if(q){G=0;do{C=d+(G<<2)|0;f[C>>2]=(f[C>>2]|0)+(f[i+(G<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0))}}I=s+1|0}else I=s;G=(((B>>>0)%3|0|0)==0?2:-1)+B|0;do if(((G|0)!=-1?(f[u+(G>>>5<<2)>>2]&1<<(G&31)|0)==0:0)?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(G<<2)>>2]|0,(C|0)!=-1):0)if(!((C>>>0)%3|0)){J=C+2|0;break}else{J=C+-1|0;break}else J=-1;while(0);B=(J|0)==(m|0)?-1:J;if((B|0)==-1)break;else s=I}s=X(y,e)|0;if(I){if(q){B=0;do{m=d+(B<<2)|0;f[m>>2]=(f[m>>2]|0)/(I|0)|0;B=B+1|0}while((B|0)!=(e|0))}B=b+(s<<2)|0;m=c+(s<<2)|0;if((z|0)>0){u=0;do{G=f[d+(u<<2)>>2]|0;C=f[n>>2]|0;if((G|0)>(C|0)){F=f[o>>2]|0;f[F+(u<<2)>>2]=C;K=F}else{F=f[p>>2]|0;C=f[o>>2]|0;f[C+(u<<2)>>2]=(G|0)<(F|0)?F:G;K=C}u=u+1|0;L=f[g>>2]|0}while((u|0)<(L|0));if((L|0)>0){u=0;do{C=(f[B+(u<<2)>>2]|0)+(f[K+(u<<2)>>2]|0)|0;G=m+(u<<2)|0;f[G>>2]=C;if((C|0)<=(f[n>>2]|0)){if((C|0)<(f[p>>2]|0)){M=(f[v>>2]|0)+C|0;t=68}}else{M=C-(f[v>>2]|0)|0;t=68}if((t|0)==68){t=0;f[G>>2]=M}u=u+1|0;G=f[g>>2]|0}while((u|0)<(G|0));N=G}else N=L}else N=z}else{O=s;t=46}}else{O=X(y,e)|0;t=46}if((t|0)==46){t=0;u=c+((X(y+-1|0,e)|0)<<2)|0;m=b+(O<<2)|0;B=c+(O<<2)|0;if((z|0)>0){G=0;do{C=f[u+(G<<2)>>2]|0;F=f[n>>2]|0;if((C|0)>(F|0)){H=f[o>>2]|0;f[H+(G<<2)>>2]=F;P=H}else{H=f[p>>2]|0;F=f[o>>2]|0;f[F+(G<<2)>>2]=(C|0)<(H|0)?H:C;P=F}G=G+1|0;Q=f[g>>2]|0}while((G|0)<(Q|0));if((Q|0)>0){G=0;do{u=(f[m+(G<<2)>>2]|0)+(f[P+(G<<2)>>2]|0)|0;s=B+(G<<2)|0;f[s>>2]=u;if((u|0)<=(f[n>>2]|0)){if((u|0)<(f[p>>2]|0)){R=(f[v>>2]|0)+u|0;t=56}}else{R=u-(f[v>>2]|0)|0;t=56}if((t|0)==56){t=0;f[s>>2]=R}G=G+1|0;s=f[g>>2]|0}while((G|0)<(s|0));N=s}else N=Q}else N=z}y=y+1|0;if((y|0)>=(j|0)){t=22;break}A=f[r>>2]|0;if((f[h>>2]|0)-A>>2>>>0<=y>>>0){t=23;break}else z=N}if((t|0)==22){jp(i);jp(d);return 1}else if((t|0)==23)Do(r);return 0}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Ul(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Ul(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if((((f[a+220>>2]|0)-A|0)/144|0)>>>0<=z>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=Ul(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=I;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{Kc(e,a,E);F=f[e>>2]|0;break}case 1:{Zd(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(n<<24>>24<0|(D|0)!=0){v=0;u=d;return v|0}D=Yk(88)|0;F=n<<24>>24;n=f[a+216>>2]|0;a=n+(F*144|0)+104|0;f[D+4>>2]=0;f[D>>2]=3124;E=D+12|0;f[E>>2]=3148;x=D+64|0;f[x>>2]=0;f[D+68>>2]=0;f[D+72>>2]=0;m=D+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[D+76>>2]=o;f[D+80>>2]=a;f[D+84>>2]=0;s=g+4|0;f[s>>2]=3148;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=n+(F*144|0)+4|0;f[i>>2]=3148;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[n+(F*144|0)+68>>2]|0;F=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;Of(i+8|0,F,e);Ua[f[(f[i>>2]|0)+8>>2]&127](i);Ee(j,i);Ee(e,j);f[g>>2]=f[e+4>>2];F=g+4|0;Ue(F,e)|0;f[e>>2]=3148;t=f[e+20>>2]|0;if(t|0)lp(t);t=f[e+8>>2]|0;if(t|0)lp(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=D;f[j>>2]=3148;o=f[j+20>>2]|0;if(o|0)lp(o);o=f[j+8>>2]|0;if(o|0)lp(o);f[D+8>>2]=f[g>>2];Ue(E,F)|0;F=D+44|0;E=g+36|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];f[F+8>>2]=f[E+8>>2];f[F+12>>2]=f[E+12>>2];b[F+16>>0]=b[E+16>>0]|0;Xe(x,f[w>>2]|0,f[r>>2]|0);x=D;f[i>>2]=3148;D=f[i+20>>2]|0;if(D|0)lp(D);D=f[i+8>>2]|0;if(D|0)lp(D);D=f[w>>2]|0;if(D|0){w=f[r>>2]|0;if((w|0)!=(D|0))f[r>>2]=w+(~((w+-4-D|0)>>>2)<<2);lp(D)}f[s>>2]=3148;s=f[g+24>>2]|0;if(s|0)lp(s);s=f[g+12>>2]|0;if(s|0)lp(s);G=x}x=Yk(64)|0;f[k>>2]=G;wj(x,k);G=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Ua[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Ua[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){D=c+1|0;w=s;if(D>>>0>g>>>0){jf(x,D-g|0);break}if(D>>>0>>0?(r=k+(D<<2)|0,(r|0)!=(w|0)):0){D=w;do{w=D+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);D=f[l>>2]|0}while((D|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Ua[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Zb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;e=d;g=a+144|0;i=f[g>>2]|0;k=Pa[f[(f[i>>2]|0)+32>>2]&127](i)|0;do if((((h[k+36>>0]|0)<<8|(h[k+37>>0]|0))&65535)<514){i=a+40|0;l=i;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Ef(i,1,e)|0){l=a;m=i;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=e;o=f[i>>2]|0;p=f[i+4>>2]|0;i=a+8|0;q=a+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;r=Wl(f[i>>2]|0,f[i+4>>2]|0,s|0,t|0)|0;i=I;if(!(p>>>0>i>>>0|(p|0)==(i|0)&o>>>0>r>>>0)){r=Ul(s|0,t|0,o|0,p|0)|0;p=q;f[p>>2]=r;f[p+4>>2]=I;break}}v=0;u=d;return v|0}while(0);do if((j[a+38>>1]|0)>=514){if(!(Bd(a+80|0,a)|0)){v=0;u=d;return v|0}}else{k=a+96|0;l=k;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Ef(k,1,e)|0){l=a;m=k;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=e;p=f[k>>2]|0;r=f[k+4>>2]|0;k=a+8|0;q=a+16|0;o=q;t=f[o>>2]|0;s=f[o+4>>2]|0;o=Wl(f[k>>2]|0,f[k+4>>2]|0,t|0,s|0)|0;k=I;if(!(r>>>0>k>>>0|(r|0)==(k|0)&p>>>0>o>>>0)){o=Ul(t|0,s|0,p|0,r|0)|0;r=q;f[r>>2]=o;f[r+4>>2]=I;break}}v=0;u=d;return v|0}while(0);if(!(ah(a)|0)){v=0;u=d;return v|0}l=c;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=f[g>>2]|0;l=Pa[f[(f[m>>2]|0)+32>>2]&127](m)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){m=f[g>>2]|0;n=(Pa[f[(f[m>>2]|0)+32>>2]&127](m)|0)+36|0;if(((h[n>>0]|0)<<8&65535)<512){n=c+8|0;m=f[n>>2]|0;r=f[n+4>>2]|0;n=c+16|0;o=n;q=f[o>>2]|0;p=Ul(q|0,f[o+4>>2]|0,4,0)|0;o=I;if(!((r|0)<(o|0)|(r|0)==(o|0)&m>>>0

>>0)){m=(f[c>>2]|0)+q|0;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=q;m=n;f[m>>2]=p;f[m+4>>2]=o;w=q;x=19}}else if(Rh(e,c)|0){w=f[e>>2]|0;x=19}if((((x|0)==19?(q=f[a+152>>2]|0,w>>>0>>0):0)?(o=c+8|0,m=f[o+4>>2]|0,p=c+16|0,n=p,r=f[n>>2]|0,s=f[n+4>>2]|0,(m|0)>(s|0)|((m|0)==(s|0)?(f[o>>2]|0)>>>0>r>>>0:0)):0)?(o=b[(f[c>>2]|0)+r>>0]|0,m=Ul(r|0,s|0,1,0)|0,s=p,f[s>>2]=m,f[s+4>>2]=I,o<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;y=q;break}v=0;u=d;return v|0}else{f[a+176>>2]=2;f[a+180>>2]=7;y=f[a+152>>2]|0}while(0);if((y|0)<0){v=0;u=d;return v|0}w=a+156|0;f[e>>2]=0;x=a+160|0;g=f[x>>2]|0;l=f[w>>2]|0;q=g-l>>2;o=l;l=g;if(y>>>0<=q>>>0)if(y>>>0>>0?(g=o+(y<<2)|0,(g|0)!=(l|0)):0){f[x>>2]=l+(~((l+-4-g|0)>>>2)<<2);z=2;A=7}else{z=2;A=7}else{dg(w,y-q|0,e);z=f[a+176>>2]|0;A=f[a+180>>2]|0}q=A-z+1|0;z=a+184|0;A=a+188|0;y=f[A>>2]|0;w=f[z>>2]|0;g=(y-w|0)/12|0;l=w;w=y;if(q>>>0<=g>>>0)if(q>>>0>>0?(x=l+(q*12|0)|0,(x|0)!=(w|0)):0){l=w;while(1){w=l+-12|0;f[A>>2]=w;o=f[w>>2]|0;if(!o)B=w;else{w=l+-8|0;s=f[w>>2]|0;if((s|0)!=(o|0))f[w>>2]=s+(~((s+-4-o|0)>>>2)<<2);lp(o);B=f[A>>2]|0}if((B|0)==(x|0))break;else l=B}C=B}else C=y;else{Ie(z,q-g|0);C=f[A>>2]|0}g=a+196|0;q=f[z>>2]|0;y=(C-q|0)/12|0;B=a+200|0;a=f[B>>2]|0;l=f[g>>2]|0;x=a-l>>2;o=l;l=a;if(y>>>0<=x>>>0)if(y>>>0>>0?(a=o+(y<<2)|0,(a|0)!=(l|0)):0){f[B>>2]=l+(~((l+-4-a|0)>>>2)<<2);D=C;E=q}else{D=C;E=q}else{Rg(g,y-x|0);D=f[A>>2]|0;E=f[z>>2]|0}if((D|0)==(E|0)){v=1;u=d;return v|0}E=0;do{Rh(e,c)|0;D=f[e>>2]|0;if(D|0){x=f[z>>2]|0;y=x+(E*12|0)|0;q=x+(E*12|0)+4|0;C=f[q>>2]|0;a=f[y>>2]|0;l=C-a>>2;B=a;a=C;if(D>>>0<=l>>>0)if(D>>>0>>0?(C=B+(D<<2)|0,(C|0)!=(a|0)):0){f[q>>2]=a+(~((a+-4-C|0)>>>2)<<2);F=x;G=D}else{F=x;G=D}else{Rg(y,D-l|0);F=f[z>>2]|0;G=f[e>>2]|0}Bh(G,1,c,f[F+(E*12|0)>>2]|0)|0;f[(f[g>>2]|0)+(E<<2)>>2]=f[e>>2]}E=E+1|0}while(E>>>0<(((f[A>>2]|0)-(f[z>>2]|0)|0)/12|0)>>>0);v=1;u=d;return v|0}function _b(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4118]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[4119]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4116]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4114]=f[4114]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=16760+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[4115]=f[4115]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4120]|0)==(e|0)){r=(f[4117]|0)+m|0;f[4117]=r;f[4120]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4119]|0))return;f[4119]=0;f[4116]=0;return}if((f[4119]|0)==(e|0)){r=(f[4116]|0)+m|0;f[4116]=r;f[4119]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4114]=f[4114]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=16760+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[4115]=f[4115]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4119]|0)){f[4116]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=16496+(m<<1<<2)|0;a=f[4114]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=16760+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[4115]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[4115]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[4122]|0)+-1|0;f[4122]=l;if(!l)D=16912;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[4122]=-1;return}function $b(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Na,F=Na,G=Na,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(dj(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(dj(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=Yk(24)|0;Ch(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;tg(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=a+216|0;j=a+220|0;k=a+368|0;if((f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0)!=-1){l=f[j>>2]|0;m=f[i>>2]|0;n=m;if((l|0)==(m|0)){o=g;p=d;q=d;r=n;s=n;t=h;v=l;w=l;x=k;y=i;z=j;A=i}else{l=0;do{if(Qi((f[k>>2]|0)+(l<<4)|0)|0){n=f[i>>2]|0;f[d>>2]=e;m=n+(l*144|0)+136|0;B=f[m>>2]|0;if(B>>>0<(f[n+(l*144|0)+140>>2]|0)>>>0){f[B>>2]=e;f[m>>2]=B+4}else hh(n+(l*144|0)+132|0,d)}l=l+1|0;C=f[j>>2]|0;D=f[i>>2]|0}while(l>>>0<((C-D|0)/144|0)>>>0);l=D;o=g;p=d;q=d;r=l;s=l;t=h;v=C;w=D;x=k;y=i;z=j;A=i}}else{E=d;F=d;G=i;H=k;I=g;J=h;K=j;L=i;M=5}}else{i=a+216|0;E=d;F=d;G=i;H=a+368|0;I=-1;J=-1;K=a+220|0;L=i;M=5}if((M|0)==5){M=f[K>>2]|0;i=f[L>>2]|0;a=i;if((M|0)==(i|0)){o=I;p=E;q=F;r=a;s=a;t=J;v=M;w=M;x=H;y=G;z=K;A=L}else{j=0;h=a;g=a;k=i;i=M;M=a;while(1){f[d>>2]=e;a=M+(j*144|0)+136|0;D=f[a>>2]|0;if(D>>>0<(f[M+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=e;f[a>>2]=D+4;N=h;O=g;P=k;Q=i}else{hh(M+(j*144|0)+132|0,d);D=f[L>>2]|0;a=D;N=a;O=a;P=D;Q=f[K>>2]|0}j=j+1|0;if(j>>>0>=((Q-P|0)/144|0)>>>0){o=I;p=E;q=F;r=N;s=O;t=J;v=Q;w=P;x=H;y=G;z=K;A=L;break}else{h=N;g=O;k=P;i=Q;M=P}}}}if((t|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(t<<2)>>2]|0)!=-1:0)if((v|0)==(w|0)){R=w;S=w;T=r}else{P=0;do{if(Qi((f[x>>2]|0)+(P<<4)|0)|0){M=f[y>>2]|0;f[d>>2]=t;Q=M+(P*144|0)+136|0;i=f[Q>>2]|0;if(i>>>0<(f[M+(P*144|0)+140>>2]|0)>>>0){f[i>>2]=t;f[Q>>2]=i+4}else hh(M+(P*144|0)+132|0,d)}P=P+1|0;U=f[z>>2]|0;V=f[A>>2]|0}while(P>>>0<((U-V|0)/144|0)>>>0);R=U;S=V;T=V}else if((v|0)==(w|0)){R=w;S=w;T=r}else{V=0;U=s;s=r;r=w;w=v;while(1){f[d>>2]=t;v=U+(V*144|0)+136|0;P=f[v>>2]|0;if(P>>>0<(f[U+(V*144|0)+140>>2]|0)>>>0){f[P>>2]=t;f[v>>2]=P+4;W=r;X=w;Y=s}else{hh(U+(V*144|0)+132|0,d);P=f[A>>2]|0;W=P;X=f[z>>2]|0;Y=P}V=V+1|0;if(V>>>0>=((X-W|0)/144|0)>>>0){R=X;S=W;T=Y;break}else{U=W;s=Y;r=W;w=X}}}if((o|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(o<<2)>>2]|0)!=-1:0){if((R|0)==(S|0)){u=c;return 1}else Z=0;do{if(Qi((f[x>>2]|0)+(Z<<4)|0)|0){b=f[y>>2]|0;f[d>>2]=o;X=b+(Z*144|0)+136|0;w=f[X>>2]|0;if(w>>>0<(f[b+(Z*144|0)+140>>2]|0)>>>0){f[w>>2]=o;f[X>>2]=w+4}else hh(b+(Z*144|0)+132|0,d)}Z=Z+1|0}while(Z>>>0<(((f[z>>2]|0)-(f[A>>2]|0)|0)/144|0)>>>0);u=c;return 1}if((R|0)==(S|0)){u=c;return 1}else{_=0;$=T;aa=S;ba=R}while(1){f[d>>2]=o;R=$+(_*144|0)+136|0;S=f[R>>2]|0;if(S>>>0<(f[$+(_*144|0)+140>>2]|0)>>>0){f[S>>2]=o;f[R>>2]=S+4;ca=aa;da=ba}else{hh($+(_*144|0)+132|0,d);ca=f[A>>2]|0;da=f[z>>2]|0}_=_+1|0;if(_>>>0>=((da-ca|0)/144|0)>>>0)break;else{$=ca;aa=ca;ba=da}}u=c;return 1}function bc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Rg(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=ip(i)|0;Gh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){jp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=1;p=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[o+(s<<2)>>2]|0;q=X(s,e)|0;if((v|0)!=-1?(w=f[(f[a>>2]|0)+(v<<2)>>2]|0,(w|0)!=-1):0){v=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[v+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[v+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[v+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(s|0)&(A|0)<(s|0)&(z|0)<(s|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((p|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;v=f[h>>2]|0;if((A|0)>(v|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=v;D=w}else{w=f[l>>2]|0;v=f[n>>2]|0;f[v+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=v}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{v=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+v|0;u=56}}else{F=v-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=p}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((p|0)>0){A=0;do{v=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((v|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(v|0)<(H|0)?H:v;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=p}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else p=G}if((u|0)==22){jp(j);return 1}else if((u|0)==24)Do(m);return 0}function cc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Rg(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=ip(i)|0;Gh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){jp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=1;q=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[p+(s<<2)>>2]|0;w=X(s,e)|0;if((((v|0)!=-1?(f[(f[k>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(x|0)!=-1):0)?(v=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[v+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[v+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[v+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(s|0)&(B|0)<(s|0)&(A|0)<(s|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((q|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;v=f[h>>2]|0;if((B|0)>(v|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=v;C=y}else{y=f[l>>2]|0;v=f[n>>2]|0;f[v+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=v}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{v=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+v|0;u=53}}else{E=v-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=q}else{z=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((q|0)>0){B=0;do{v=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((v|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(v|0)<(G|0)?G:v;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=q}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else q=F}if((u|0)==22){jp(j);return 1}else if((u|0)==24)Do(m);return 0}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+672|0;g=e;i=e+656|0;j=e+4|0;k=c+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;u=e;return r|0}q=(f[c>>2]|0)+p|0;p=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;b[a>>0]=p;b[a+1>>0]=p>>8;b[a+2>>0]=p>>16;b[a+3>>0]=p>>24;q=l;m=f[q>>2]|0;o=f[q+4>>2]|0;q=Ul(m|0,o|0,4,0)|0;n=l;f[n>>2]=q;f[n+4>>2]=I;if(p>>>0>31){r=0;u=e;return r|0}p=k;n=f[p>>2]|0;s=f[p+4>>2]|0;p=Ul(m|0,o|0,8,0)|0;o=I;if((s|0)<(o|0)|(s|0)==(o|0)&n>>>0

>>0){r=0;u=e;return r|0}p=a+4|0;n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;q=l;p=f[q>>2]|0;n=f[q+4>>2]|0;q=Ul(p|0,n|0,4,0)|0;o=l;f[o>>2]=q;f[o+4>>2]=I;o=a+12|0;s=k;m=f[s>>2]|0;t=f[s+4>>2]|0;s=Ul(p|0,n|0,8,0)|0;n=I;if((t|0)<(n|0)|(t|0)==(n|0)&m>>>0>>0){r=0;u=e;return r|0}s=(f[c>>2]|0)+q|0;q=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;b[o>>0]=q;b[o+1>>0]=q>>8;b[o+2>>0]=q>>16;b[o+3>>0]=q>>24;s=l;m=f[s>>2]|0;n=f[s+4>>2]|0;s=Ul(m|0,n|0,4,0)|0;t=l;f[t>>2]=s;f[t+4>>2]=I;t=a+16|0;a=k;k=f[a>>2]|0;p=f[a+4>>2]|0;a=Ul(m|0,n|0,8,0)|0;n=I;if((p|0)<(n|0)|(p|0)==(n|0)&k>>>0>>0){r=0;u=e;return r|0}a=(f[c>>2]|0)+s|0;s=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[t>>0]=s;b[t+1>>0]=s>>8;b[t+2>>0]=s>>16;b[t+3>>0]=s>>24;a=l;k=Ul(f[a>>2]|0,f[a+4>>2]|0,4,0)|0;a=l;f[a>>2]=k;f[a+4>>2]=I;if(s>>>0>6){f[g>>2]=s;Ll(13327,g)|0;r=0;u=e;return r|0}f[i>>2]=d;a:do if(!q)v=17;else{lh(d,q);switch(f[t>>2]|0){case 0:{ye(j,3);Td(j,c,i)|0;Be(j);v=17;break a;break}case 1:{ye(j,3);Sd(j,c,i)|0;Be(j);v=17;break a;break}case 2:{Ae(j,3);Vd(j,c,i)|0;Oe(j);v=17;break a;break}case 3:{Ae(j,3);Ud(j,c,i)|0;Oe(j);v=17;break a;break}case 4:{se(j,3);Qd(j,c,i)|0;Fe(j);v=17;break a;break}case 5:{se(j,3);Pd(j,c,i)|0;Fe(j);v=17;break a;break}case 6:{se(j,3);Od(j,c,i)|0;Fe(j);v=17;break a;break}default:{w=0;break a}}}while(0);if((v|0)==17)w=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[o>>2]|0);r=w;u=e;return r|0}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=(e>>>0)/3|0;j=a+216|0;k=a+220|0;l=a+368|0;m=f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;if((m|0)!=-1)if(((m>>>0)/3|0)>>>0>=i>>>0?(f[k>>2]|0)!=(f[j>>2]|0):0){m=0;do{if(Qi((f[l>>2]|0)+(m<<4)|0)|0){n=f[j>>2]|0;f[d>>2]=e;o=n+(m*144|0)+136|0;p=f[o>>2]|0;if(p>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[p>>2]=e;f[o>>2]=p+4}else hh(n+(m*144|0)+132|0,d)}m=m+1|0}while(m>>>0<(((f[k>>2]|0)-(f[j>>2]|0)|0)/144|0)>>>0);q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{A=i;B=d;C=d;D=j;E=l;F=g;G=h;H=k;I=j;J=4}}else{j=a+216|0;A=-1;B=d;C=d;D=j;E=a+368|0;F=-1;G=-1;H=a+220|0;I=j;J=4}if((J|0)==4){j=f[H>>2]|0;a=f[I>>2]|0;if((j|0)==(a|0)){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D}else{k=0;h=j;j=a;while(1){a=j;f[d>>2]=e;g=a+(k*144|0)+136|0;l=f[g>>2]|0;if(l>>>0<(f[a+(k*144|0)+140>>2]|0)>>>0){f[l>>2]=e;f[g>>2]=l+4;K=j;L=h}else{hh(a+(k*144|0)+132|0,d);K=f[I>>2]|0;L=f[H>>2]|0}k=k+1|0;if(k>>>0>=((L-K|0)/144|0)>>>0){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D;break}else{h=L;j=K}}}}if((v|0)!=-1?(K=f[(f[(f[b>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(K|0)!=-1):0){if(((K>>>0)/3|0)>>>0>=q>>>0?(f[w>>2]|0)!=(f[x>>2]|0):0){K=0;do{if(Qi((f[y>>2]|0)+(K<<4)|0)|0){j=f[z>>2]|0;f[d>>2]=v;L=j+(K*144|0)+136|0;h=f[L>>2]|0;if(h>>>0<(f[j+(K*144|0)+140>>2]|0)>>>0){f[h>>2]=v;f[L>>2]=h+4}else hh(j+(K*144|0)+132|0,d)}K=K+1|0}while(K>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0)}}else J=27;if((J|0)==27?(J=f[w>>2]|0,K=f[x>>2]|0,(J|0)!=(K|0)):0){j=0;h=K;K=J;while(1){J=h;f[d>>2]=v;L=J+(j*144|0)+136|0;D=f[L>>2]|0;if(D>>>0<(f[J+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=v;f[L>>2]=D+4;M=h;N=K}else{hh(J+(j*144|0)+132|0,d);M=f[x>>2]|0;N=f[w>>2]|0}j=j+1|0;if(j>>>0>=((N-M|0)/144|0)>>>0)break;else{h=M;K=N}}}if((r|0)!=-1?(N=f[(f[(f[b>>2]|0)+12>>2]|0)+(r<<2)>>2]|0,(N|0)!=-1):0){if(((N>>>0)/3|0)>>>0>>0){u=c;return 1}if((f[w>>2]|0)==(f[x>>2]|0)){u=c;return 1}else O=0;do{if(Qi((f[y>>2]|0)+(O<<4)|0)|0){q=f[z>>2]|0;f[d>>2]=r;N=q+(O*144|0)+136|0;b=f[N>>2]|0;if(b>>>0<(f[q+(O*144|0)+140>>2]|0)>>>0){f[b>>2]=r;f[N>>2]=b+4}else hh(q+(O*144|0)+132|0,d)}O=O+1|0}while(O>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0);u=c;return 1}O=f[w>>2]|0;z=f[x>>2]|0;if((O|0)==(z|0)){u=c;return 1}else{P=0;Q=z;R=O}while(1){O=Q;f[d>>2]=r;z=O+(P*144|0)+136|0;y=f[z>>2]|0;if(y>>>0<(f[O+(P*144|0)+140>>2]|0)>>>0){f[y>>2]=r;f[z>>2]=y+4;S=Q;T=R}else{hh(O+(P*144|0)+132|0,d);S=f[x>>2]|0;T=f[w>>2]|0}P=P+1|0;if(P>>>0>=((T-S|0)/144|0)>>>0)break;else{Q=S;R=T}}u=c;return 1}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=Yk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Ul(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(dj(d,12971,5)|0){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=12977;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Ul(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=Yk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Ul(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=Yk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Ul(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Ul(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Ul(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Ul(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=Yk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}function gc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0;d=u;u=u+80|0;e=d+76|0;g=d;i=d+72|0;j=d+64|0;k=d+68|0;l=a+28|0;do if(((h[(f[l>>2]|0)+36>>0]|0)<<8&65535)<512){m=c+8|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c+16|0;p=m;q=f[p>>2]|0;r=Ul(q|0,f[p+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&n>>>0>>0){s=0;u=d;return s|0}else{n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[e>>2]=q;n=m;f[n>>2]=r;f[n+4>>2]=p;t=q;break}}else if(Rh(e,c)|0){t=f[e>>2]|0;break}else{s=0;u=d;return s|0}while(0);if(!t){s=0;u=d;return s|0}q=a+4|0;p=a+8|0;n=f[p>>2]|0;r=f[q>>2]|0;m=n-r>>2;o=r;r=n;if(t>>>0>m>>>0){Rg(q,t-m|0);if(!(f[e>>2]|0)){s=1;u=d;return s|0}}else if(t>>>0>>0?(m=o+(t<<2)|0,(m|0)!=(r|0)):0)f[p>>2]=r+(~((r+-4-m|0)>>>2)<<2);m=f[a+32>>2]|0;r=c+8|0;p=c+16|0;t=g+60|0;o=m+8|0;n=a+16|0;v=a+20|0;a=0;while(1){w=r;x=f[w>>2]|0;y=f[w+4>>2]|0;w=p;z=f[w>>2]|0;A=f[w+4>>2]|0;if(!((y|0)>(A|0)|(y|0)==(A|0)&x>>>0>z>>>0)){s=0;B=49;break}w=f[c>>2]|0;C=b[w+z>>0]|0;D=Ul(z|0,A|0,1,0)|0;E=I;F=p;f[F>>2]=D;f[F+4>>2]=E;if(!((y|0)>(E|0)|(y|0)==(E|0)&x>>>0>D>>>0)){s=0;B=49;break}E=b[w+D>>0]|0;D=Ul(z|0,A|0,2,0)|0;F=I;G=p;f[G>>2]=D;f[G+4>>2]=F;if(!((y|0)>(F|0)|(y|0)==(F|0)&x>>>0>D>>>0)){s=0;B=49;break}F=b[w+D>>0]|0;D=Ul(z|0,A|0,3,0)|0;G=I;H=p;f[H>>2]=D;f[H+4>>2]=G;if(!((y|0)>(G|0)|(y|0)==(G|0)&x>>>0>D>>>0)){s=0;B=49;break}x=b[w+D>>0]|0;D=Ul(z|0,A|0,4,0)|0;A=p;f[A>>2]=D;f[A+4>>2]=I;A=E&255;if((E+-1&255)>10){s=0;B=49;break}Mj(g);E=X(Yj(A)|0,F&255)|0;Xh(g,C&255,0,F,A,x<<24>>24!=0,E,((E|0)<0)<<31>>31,0,0);E=f[l>>2]|0;if((((h[E+36>>0]|0)<<8|(h[E+37>>0]|0))&65535)<259){E=r;x=f[E>>2]|0;A=f[E+4>>2]|0;E=p;F=f[E>>2]|0;C=Ul(F|0,f[E+4>>2]|0,2,0)|0;E=I;if((A|0)<(E|0)|(A|0)==(E|0)&x>>>0>>0){B=47;break}x=(f[c>>2]|0)+F|0;F=h[x>>0]|h[x+1>>0]<<8;x=p;f[x>>2]=C;f[x+4>>2]=E;E=F&65535;f[i>>2]=E;J=E}else{Rh(i,c)|0;J=f[i>>2]|0}f[t>>2]=J;E=Yk(96)|0;zj(E,g);f[j>>2]=E;E=Sf(m,j)|0;F=f[j>>2]|0;f[j>>2]=0;if(F|0){x=F+88|0;C=f[x>>2]|0;f[x>>2]=0;if(C|0){x=f[C+8>>2]|0;if(x|0){A=C+12|0;if((f[A>>2]|0)!=(x|0))f[A>>2]=x;lp(x)}lp(C)}C=f[F+68>>2]|0;if(C|0){x=F+72|0;A=f[x>>2]|0;if((A|0)!=(C|0))f[x>>2]=A+(~((A+-4-C|0)>>>2)<<2);lp(C)}C=F+64|0;A=f[C>>2]|0;f[C>>2]=0;if(A|0){C=f[A>>2]|0;if(C|0){x=A+4|0;if((f[x>>2]|0)!=(C|0))f[x>>2]=C;lp(C)}lp(A)}lp(F)}f[(f[(f[o>>2]|0)+(E<<2)>>2]|0)+60>>2]=f[i>>2];f[(f[q>>2]|0)+(a<<2)>>2]=E;F=f[v>>2]|0;A=f[n>>2]|0;C=F-A>>2;x=A;if((E|0)<(C|0))K=x;else{A=E+1|0;f[k>>2]=-1;D=F;if(A>>>0<=C>>>0)if(A>>>0>>0?(F=x+(A<<2)|0,(F|0)!=(D|0)):0){f[v>>2]=D+(~((D+-4-F|0)>>>2)<<2);L=x}else L=x;else{dg(n,A-C|0,k);L=f[n>>2]|0}K=L}f[K+(E<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){s=1;B=49;break}}if((B|0)==47){s=0;u=d;return s|0}else if((B|0)==49){u=d;return s|0}return 0}function hc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=Na,w=Na,x=Na,y=Na,z=0,A=0,B=0,C=Na,D=Na,E=Na,F=Na,G=Na,H=Na,I=Na,K=Na,M=Na,N=Na,O=Na,P=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;t=-1}else{r=q;t=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;t=-1}c=f[a+52>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Do(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=t>>>0)Do(c);c=f[p+(t<<2)>>2]|0;t=(m|0)<(e|0);if(t&(c|0)<(e|0)){p=f[a+72>>2]|0;q=X(p,m)|0;v=$(f[d+(q<<2)>>2]|0);w=$(f[d+(q+1<<2)>>2]|0);q=X(p,c)|0;x=$(f[d+(q<<2)>>2]|0);y=$(f[d+(q+1<<2)>>2]|0);if(!(x!=v|y!=w)){q=f[a+68>>2]|0;f[q>>2]=~~x;f[q+4>>2]=~~y;u=g;return}q=a+64|0;p=f[(f[q>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;r=a+60|0;o=f[r>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(p<<2)>>2]|0;else z=p;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];vb(o,h,z,j)|0;z=f[(f[q>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[r>>2]|0;if(!(b[o+84>>0]|0))A=f[(f[o+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[o+24>>0]|0;f[h>>2]=f[i>>2];vb(o,h,A,k)|0;A=f[(f[q>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[r>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];vb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)?1:(f[a+88>>2]|0)<258){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;O=$(-v);x=$(H+(l?O:v));v=$(-w);O=$(y+(l?w:v));l=~~+J(+(+O+.5));k=f[a+68>>2]|0;f[k>>2]=((n[s>>2]=O,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;l=~~+J(+(+x+.5));f[k+4>>2]=((n[s>>2]=x,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;u=g;return}else{do if(t)P=m;else{if((e|0)>0){P=e+-1|0;break}l=a+72|0;if((f[l>>2]|0)<=0){u=g;return}k=f[a+68>>2]|0;j=0;do{f[k+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[l>>2]|0));u=g;return}while(0);e=a+72|0;m=f[e>>2]|0;t=X(m,P)|0;if((m|0)<=0){u=g;return}m=f[a+68>>2]|0;a=0;do{f[m+(a<<2)>>2]=f[d+(a+t<<2)>>2];a=a+1|0}while((a|0)<(f[e>>2]|0));u=g;return}}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;lp(k)}lp(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);lp(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;lp(m)}lp(n)}lp(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;lp(p)}lp(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);lp(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;lp(e)}lp(j)}lp(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){mh(g);lp(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){mh(p);lp(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{mk(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return}function jc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=Na,v=Na,w=Na,x=Na,y=0,z=0,A=0,B=0,C=Na,D=Na,E=Na,F=Na,G=Na,H=Na,I=Na,K=Na,M=Na,N=Na,O=Na,P=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Do(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)Do(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(r&(q|0)<(e|0)){p=f[a+72>>2]|0;c=X(p,o)|0;t=$(f[d+(c<<2)>>2]|0);v=$(f[d+(c+1<<2)>>2]|0);c=X(p,q)|0;w=$(f[d+(c<<2)>>2]|0);x=$(f[d+(c+1<<2)>>2]|0);if(!(w!=t|x!=v)){c=f[a+68>>2]|0;f[c>>2]=~~w;f[c+4>>2]=~~x;u=g;return}c=a+64|0;p=f[(f[c>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;m=a+60|0;y=f[m>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(p<<2)>>2]|0;else z=p;f[i>>2]=z;z=b[y+24>>0]|0;f[h>>2]=f[i>>2];vb(y,h,z,j)|0;z=f[(f[c>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;y=f[m>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[y+24>>0]|0;f[h>>2]=f[i>>2];vb(y,h,A,k)|0;A=f[(f[c>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[m>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];vb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)?1:(f[a+88>>2]|0)<258){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(w-t);w=$(x-v);x=$($(H*N)+t);t=$(H*O);H=$($(w*N)+v);v=$(w*O);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;O=$(-t);w=$(H+(l?O:t));t=$(-v);O=$(x+(l?v:t));l=~~+J(+(+O+.5));k=f[a+68>>2]|0;f[k>>2]=((n[s>>2]=O,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;l=~~+J(+(+w+.5));f[k+4>>2]=((n[s>>2]=w,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;u=g;return}else{do if(r)P=o;else{if((e|0)>0){P=e+-1|0;break}l=a+72|0;if((f[l>>2]|0)<=0){u=g;return}k=f[a+68>>2]|0;j=0;do{f[k+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[l>>2]|0));u=g;return}while(0);e=a+72|0;o=f[e>>2]|0;r=X(o,P)|0;if((o|0)<=0){u=g;return}o=f[a+68>>2]|0;a=0;do{f[o+(a<<2)>>2]=f[d+(a+r<<2)>>2];a=a+1|0}while((a|0)<(f[e>>2]|0));u=g;return}}function kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;Do(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];Rb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Ul(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Ul(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=bl(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ni(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=bl(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ni(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Qi(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)Do(z);return 0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;Do(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];Pb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Ul(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Ul(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=bl(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ni(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=bl(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ni(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Qi(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)Do(z);return 0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else hh(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))hh(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else hh(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){hh(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function nc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>340){f[e>>2]=g+-341;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=f[a>>2]|0;o=n;if(i>>>0>n>>>0){p=i;q=((p-o>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-p|0;p=s>>2;if(!p)t=i;else{mk(r|0,i|0,s|0)|0;t=f[g>>2]|0}s=r+(p<<2)|0;f[e>>2]=s;f[g>>2]=t+(q<<2);v=s;break}s=m-o>>1;o=(s|0)==0?1:s;if(o>>>0>1073741823){s=ra(8)|0;cn(s,13388);f[s>>2]=4744;va(s|0,1128,101)}s=Yk(o<<2)|0;q=s;p=s+(o>>>2<<2)|0;r=p;w=s+(o<<2)|0;if((i|0)==(j|0)){x=r;y=n}else{n=p;p=r;o=i;do{f[n>>2]=f[o>>2];n=p+4|0;p=n;o=o+4|0}while((o|0)!=(j|0));x=p;y=f[a>>2]|0}f[a>>2]=q;f[g>>2]=r;f[e>>2]=x;f[k>>2]=w;if(!y)v=x;else{lp(y);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)|0;y=a+12|0;x=f[y>>2]|0;k=x-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;cn(g,13388);f[g>>2]=4744;va(g|0,1128,101)}g=Yk(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=Yk(4092)|0;f[d>>2]=k;lf(c,d);d=f[e>>2]|0;while(1){z=f[v>>2]|0;if((d|0)==(z|0))break;k=d+-4|0;cf(c,k);d=k}k=z;z=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=z;f[v>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((d|0)!=(g|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(z|0)lp(z);u=b;return}if((x|0)!=(h|0)){h=Yk(4092)|0;f[c>>2]=h;lf(a,c);u=b;return}h=Yk(4092)|0;f[c>>2]=h;cf(a,c);c=f[v>>2]|0;h=f[c>>2]|0;x=c+4|0;f[v>>2]=x;c=f[e>>2]|0;z=f[y>>2]|0;k=z;do if((c|0)==(z|0)){g=f[a>>2]|0;j=g;if(x>>>0>g>>>0){d=x;m=((d-j>>2)+1|0)/-2|0;i=x+(m<<2)|0;t=c-d|0;d=t>>2;if(!d)A=x;else{mk(i|0,x|0,t|0)|0;A=f[v>>2]|0}t=i+(d<<2)|0;f[e>>2]=t;f[v>>2]=A+(m<<2);B=t;break}t=k-j>>1;j=(t|0)==0?1:t;if(j>>>0>1073741823){t=ra(8)|0;cn(t,13388);f[t>>2]=4744;va(t|0,1128,101)}t=Yk(j<<2)|0;m=t;d=t+(j>>>2<<2)|0;i=d;l=t+(j<<2)|0;if((x|0)==(c|0)){C=i;D=g}else{g=d;d=i;j=x;do{f[g>>2]=f[j>>2];g=d+4|0;d=g;j=j+4|0}while((j|0)!=(c|0));C=d;D=f[a>>2]|0}f[a>>2]=m;f[v>>2]=i;f[e>>2]=C;f[y>>2]=l;if(!D)B=C;else{lp(D);B=f[e>>2]|0}}else B=c;while(0);f[B>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Do(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Rb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=bl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ni(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=bl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ni(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Qi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;Ec(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Do(y);return 0}function pc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2012;i=c;f[a>>2]=i;return}case 2:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2068;i=c;f[a>>2]=i;return}case 4:{c=Yk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2124;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Yk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2180;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Yk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2236;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Yk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2292;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2348;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ym(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Do(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Pb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=bl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ni(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=bl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ni(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Qi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;Ec(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Do(y);return 0}function rc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1648;i=c;f[a>>2]=i;return}case 2:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1704;i=c;f[a>>2]=i;return}case 4:{c=Yk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1760;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Yk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1816;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Yk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1872;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Yk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1928;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1984;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ym(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function sc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Do(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Rb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=bl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ni(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=bl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ni(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Qi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B+4>>2]|0;f[d>>2]=f[B>>2];f[a>>2]=E;f[i>>2]=Q;f[v>>2]=R;ld(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Do(y);return 0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d;if((j[c+38>>1]|0)<514){i=c+8|0;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}i=b[(f[c>>2]|0)+n>>0]|0;k=Ul(n|0,o|0,1,0)|0;o=l;f[o>>2]=k;f[o+4>>2]=I;if(i<<24>>24){p=0;u=d;return p|0}}Rh(e,c)|0;i=f[e>>2]|0;if(i){o=a+60|0;wd(o,i,0);Ym(g);if(Bd(g,c)|0){if(f[e>>2]|0){i=0;do{k=Qi(g)|0;l=(f[o>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(k)q=f[l>>2]|n;else q=f[l>>2]&~n;f[l>>2]=q;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}r=13}}else r=13;do if((r|0)==13){Rh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+72|0;wd(q,i,0);Ym(g);if(!(Bd(g,c)|0))break;if(f[e>>2]|0){i=0;do{o=Qi(g)|0;l=(f[q>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(o)s=f[l>>2]|n;else s=f[l>>2]&~n;f[l>>2]=s;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}Rh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+84|0;wd(q,i,0);Ym(g);if(!(Bd(g,c)|0))break;if(f[e>>2]|0){i=0;do{l=Qi(g)|0;n=(f[q>>2]|0)+(i>>>5<<2)|0;o=1<<(i&31);if(l)t=f[n>>2]|o;else t=f[n>>2]&~o;f[n>>2]=t;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}Rh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+96|0;wd(q,i,0);Ym(g);if(!(Bd(g,c)|0))break;if(f[e>>2]|0){i=0;do{n=Qi(g)|0;o=(f[q>>2]|0)+(i>>>5<<2)|0;l=1<<(i&31);if(n)v=f[o>>2]|l;else v=f[o>>2]&~l;f[o>>2]=v;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}i=c+8|0;q=f[i>>2]|0;o=f[i+4>>2]|0;i=c+16|0;l=i;n=f[l>>2]|0;k=f[l+4>>2]|0;l=Ul(n|0,k|0,4,0)|0;m=I;if((o|0)<(m|0)|(o|0)==(m|0)&q>>>0>>0){p=0;u=d;return p|0}w=f[c>>2]|0;x=w+n|0;y=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=i;f[x>>2]=l;f[x+4>>2]=m;m=Ul(n|0,k|0,8,0)|0;k=I;if((o|0)<(k|0)|(o|0)==(k|0)&q>>>0>>0){p=0;u=d;return p|0}q=w+l|0;l=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;q=i;f[q>>2]=m;f[q+4>>2]=k;if((y|0)>(l|0)){p=0;u=d;return p|0}f[a+12>>2]=y;f[a+16>>2]=l;k=Wl(l|0,((l|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0;y=I;if(!(y>>>0<0|(y|0)==0&k>>>0<2147483647)){p=0;u=d;return p|0}y=k+1|0;f[a+20>>2]=y;k=(y|0)/2|0;l=a+24|0;f[l>>2]=k;f[a+28>>2]=0-k;if(y&1|0){p=1;u=d;return p|0}f[l>>2]=k+-1;p=1;u=d;return p|0}while(0);p=0;u=d;return p|0}function uc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Do(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Pb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=bl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ni(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=bl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ni(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Qi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B+4>>2]|0;f[d>>2]=f[B>>2];f[a>>2]=E;f[i>>2]=Q;f[v>>2]=R;ld(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Do(y);return 0}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=u;u=u+16|0;e=d+12|0;g=d;h=d+8|0;i=d+4|0;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=0;q=f[g>>2]|0;r=k;while(1){s=(f[n>>2]|0)+(q>>>5<<2)|0;t=1<<(q&31);v=f[s>>2]|0;if(t&v|0)break;f[s>>2]=v|t;t=f[l>>2]|0;if((t|0)==(f[o>>2]|0))hh(j,g);else{f[t>>2]=f[g>>2];f[l>>2]=t+4}t=p+1|0;if((p|0)>0){v=(r|0)==-1;do if(!(t&1))if(!v)if(!((r>>>0)%3|0)){w=r+2|0;break}else{w=r+-1|0;break}else w=-1;else{s=r+1|0;if(v)w=-1;else w=((s>>>0)%3|0|0)==0?r+-2|0:s}while(0);f[c>>2]=w;x=w}else x=r;f[i>>2]=x;f[e>>2]=f[i>>2];v=pf(a,e)|0;f[c>>2]=v;if((v|0)==-1)break;s=(v>>>0)/3|0;f[g>>2]=s;p=t;q=s;r=v}r=(k|0)==-1;do if(!r)if(!((k>>>0)%3|0)){y=k+2|0;break}else{y=k+-1|0;break}else y=-1;while(0);f[h>>2]=y;f[e>>2]=f[h>>2];do if((pf(a,e)|0)==-1)z=k;else{h=k+1|0;if(!r){y=((h>>>0)%3|0|0)==0?k+-2|0:h;f[c>>2]=y;h=f[m>>2]|0;q=y+1|0;if(((y|0)!=-1?(p=((q>>>0)%3|0|0)==0?y+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h+12>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0){h=((p>>>0)%3|0|0)==0?q+-2|0:p;f[c>>2]=h;if((h|0)==-1){z=k;break}else{A=h;B=0;C=k}while(1){h=(A>>>0)/3|0;f[g>>2]=h;p=(f[n>>2]|0)+(h>>>5<<2)|0;q=1<<(h&31);h=f[p>>2]|0;if(q&h|0){D=B;E=C;break}f[p>>2]=h|q;q=f[l>>2]|0;if((q|0)==(f[o>>2]|0))hh(j,g);else{f[q>>2]=f[g>>2];f[l>>2]=q+4}q=B+1|0;if((B|0)>0){h=(A|0)==-1;do if(!(q&1))if(!h)if(!((A>>>0)%3|0)){F=A+2|0;G=A;break}else{F=A+-1|0;G=A;break}else{F=-1;G=A}else{p=A+1|0;if(h){F=-1;G=C}else{F=((p>>>0)%3|0|0)==0?A+-2|0:p;G=C}}while(0);f[c>>2]=F;H=G;I=F}else{H=C;I=A}f[i>>2]=I;f[e>>2]=f[i>>2];A=pf(a,e)|0;f[c>>2]=A;if((A|0)==-1){D=q;E=H;break}else{B=q;C=H}}if(!(D&1)){z=E;break}t=f[l>>2]|0;h=f[t+-4>>2]|0;p=(f[n>>2]|0)+(h>>>5<<2)|0;f[p>>2]=f[p>>2]&~(1<<(h&31));f[l>>2]=t+-4;z=E;break}else J=k}else{f[c>>2]=-1;J=-1}f[c>>2]=-1;z=J}while(0);f[a+44+(b<<2)>>2]=z;z=f[l>>2]|0;l=f[j>>2]|0;j=l;if((z|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=z-l>>2;l=0;do{z=f[j+(l<<2)>>2]|0;a=b+(z>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(z&31));l=l+1|0}while(l>>>0>>0);u=d;return}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))hh(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))hh(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))hh(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){hh(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return} -function xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;zf(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Ul(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Ul(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(Yj(5)|0)==(w|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Ul(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{Jf(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Ul(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=20;break}}v=X(i,w)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Wl(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=0;y=z;z=x;x=B;B=C;while(1){C=Ul(y|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=y;F=z}else{Jf(k+(u<<2)|0,(f[d>>2]|0)+y|0,w|0)|0;C=l;A=Ul(f[C>>2]|0,f[C+4>>2]|0,v|0,0)|0;C=I;G=l;f[G>>2]=A;f[G+4>>2]=C;E=A;F=C}C=u+1|0;if((C|0)==(i|0)){D=20;break a}A=j;u=C;y=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0}}}else if(Bh(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Pa[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}qk(k,i,k);H=F;J=1}while(0);if((D|0)==21){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Sa[f[(f[J>>2]|0)+44>>2]&31](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)lp(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;cn(e,13388);f[e>>2]=4744;va(e|0,1128,101)}e=Yk(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)lp(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?dj(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function zc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;fc(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)lp(f[g>>2]|0);l=b[j+7>>0]|0;if((Pa[f[(f[c>>2]|0)+8>>2]&127](c)|0)!=(l&255|0)){m=Yk(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=13022;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=Yk(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=13073;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&(l<<24>>24==0?3:2)>>>0>>0){l=Yk(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=13096;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}l=((m&255)<<8|r)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Rd(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)lp(f[g>>2]|0)}if(!(Pa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=Yk(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=13119;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}if(!(Pa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=Yk(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=13153;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}if(Pa[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=Yk(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=13185;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Ch(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Nn(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];Nf(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=Yk(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Ed(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Sh(h+4|0,f[k>>2]|0);Sh(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Bc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(q|0)==(k|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(dj(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((q|0)==(a|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(dj(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(dj(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(dj(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Dc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=dj(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=dj(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=dj(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=df(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=dj(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=df(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function Ec(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;n=((l?j:0-j|0)+(k?h:0-h|0)|0)<=(m|0);if(n){o=h;p=j}else{if(k)if(!l)if((h|0)<1){q=-1;r=-1}else s=6;else{q=1;r=1}else if((j|0)<1){q=-1;r=-1}else s=6;if((s|0)==6){q=(h|0)>0?1:-1;r=(j|0)>0?1:-1}l=X(m,q)|0;k=X(m,r)|0;m=(h<<1)-l|0;f[c>>2]=m;h=(j<<1)-k|0;f[i>>2]=h;if((X(q,r)|0)>-1){r=0-h|0;f[c>>2]=r;t=0-m|0;u=r}else{f[c>>2]=h;t=m;u=h}h=(u+l|0)/2|0;f[c>>2]=h;l=(t+k|0)/2|0;f[i>>2]=l;o=h;p=l}if(!o)v=(p|0)==0;else v=(o|0)<0&(p|0)<1;if(!o)w=(p|0)==0?0:(p|0)>0?3:1;else w=(o|0)>0?(p>>31)+2|0:(p|0)<1?0:3;if(v){x=1;y=o;z=p}else{switch(w|0){case 1:{A=p;B=0-o|0;break}case 2:{A=0-o|0;B=0-p|0;break}case 3:{A=0-p|0;B=o;break}default:{A=o;B=p}}p=c;f[p>>2]=A;f[p+4>>2]=B;x=0;y=A;z=B}B=(f[d>>2]|0)+y|0;f[a>>2]=B;y=(f[d+4>>2]|0)+z|0;z=a+4|0;f[z>>2]=y;d=f[e>>2]|0;if((d|0)>=(B|0))if((B|0)<(0-d|0))C=(f[b+4>>2]|0)+B|0;else C=B;else C=B-(f[b+4>>2]|0)|0;f[a>>2]=C;if((d|0)>=(y|0))if((y|0)<(0-d|0))D=(f[b+4>>2]|0)+y|0;else D=y;else D=y-(f[b+4>>2]|0)|0;f[z>>2]=D;if(x){E=C;F=D}else{switch((4-w|0)%4|0|0){case 1:{G=D;H=0-C|0;break}case 2:{G=0-C|0;H=0-D|0;break}case 3:{G=0-D|0;H=C;break}default:{G=C;H=D}}D=a;f[D>>2]=G;f[D+4>>2]=H;E=G;F=H}if(n){I=E;J=F;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}if((E|0)>-1)if((F|0)<=-1)if((E|0)<1){Q=-1;R=-1}else s=42;else{Q=1;R=1}else if((F|0)<1){Q=-1;R=-1}else s=42;if((s|0)==42){Q=(E|0)>0?1:-1;R=(F|0)>0?1:-1}s=X(d,Q)|0;n=X(d,R)|0;d=(E<<1)-s|0;f[a>>2]=d;E=(F<<1)-n|0;f[z>>2]=E;if((X(Q,R)|0)>-1){R=0-E|0;f[a>>2]=R;S=0-d|0;T=R}else{f[a>>2]=E;S=d;T=E}E=(T+s|0)/2|0;f[a>>2]=E;s=(S+n|0)/2|0;f[z>>2]=s;I=E;J=s;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Wc(i,d)|0?vd(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}Ef(d,0,0)|0;if(!j){j=i+48|0;k=i+44|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=0;w=0;x=f[j>>2]|0;while(1){b:do if(x>>>0<16384){y=f[k>>2]|0;z=x;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[k>>2]=y;C=z<<8|h[B+y>>0];f[j>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=x;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;x=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[j>>2]=x;c:do if(p){if((y|0)>0){D=0;E=w}else{C=(b[q>>0]|0)==0;z=0;B=w;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=0;F=0;H=f[r>>2]|0;while(1){I=B+(H>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(H&7)&1;I=H+1|0;f[r>>2]=I;K=J;L=I}else{K=0;L=H}C=K<>2]=C;D=D+1|0;if((D|0)>=(c|0)){G=H;break}else E=H}}else G=w;while(0);v=v+c|0;if(v>>>0>=a>>>0)break;else w=G}}}else Ef(d,0,0)|0;Zj(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);lp(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);lp(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);u=g;return l|0}function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=sk(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((sk(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Ul(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Wl(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Wl(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Hc(a,b){a=a|0;b=b|0;var c=0;if(!(Bd(a,b)|0)){c=0;return c|0}if(!(Bd(a+16|0,b)|0)){c=0;return c|0}if(!(Bd(a+32|0,b)|0)){c=0;return c|0}if(!(Bd(a+48|0,b)|0)){c=0;return c|0}if(!(Bd(a+64|0,b)|0)){c=0;return c|0}if(!(Bd(a+80|0,b)|0)){c=0;return c|0}if(!(Bd(a+96|0,b)|0)){c=0;return c|0}if(!(Bd(a+112|0,b)|0)){c=0;return c|0}if(!(Bd(a+128|0,b)|0)){c=0;return c|0}if(!(Bd(a+144|0,b)|0)){c=0;return c|0}if(!(Bd(a+160|0,b)|0)){c=0;return c|0}if(!(Bd(a+176|0,b)|0)){c=0;return c|0}if(!(Bd(a+192|0,b)|0)){c=0;return c|0}if(!(Bd(a+208|0,b)|0)){c=0;return c|0}if(!(Bd(a+224|0,b)|0)){c=0;return c|0}if(!(Bd(a+240|0,b)|0)){c=0;return c|0}if(!(Bd(a+256|0,b)|0)){c=0;return c|0}if(!(Bd(a+272|0,b)|0)){c=0;return c|0}if(!(Bd(a+288|0,b)|0)){c=0;return c|0}if(!(Bd(a+304|0,b)|0)){c=0;return c|0}if(!(Bd(a+320|0,b)|0)){c=0;return c|0}if(!(Bd(a+336|0,b)|0)){c=0;return c|0}if(!(Bd(a+352|0,b)|0)){c=0;return c|0}if(!(Bd(a+368|0,b)|0)){c=0;return c|0}if(!(Bd(a+384|0,b)|0)){c=0;return c|0}if(!(Bd(a+400|0,b)|0)){c=0;return c|0}if(!(Bd(a+416|0,b)|0)){c=0;return c|0}if(!(Bd(a+432|0,b)|0)){c=0;return c|0}if(!(Bd(a+448|0,b)|0)){c=0;return c|0}if(!(Bd(a+464|0,b)|0)){c=0;return c|0}if(!(Bd(a+480|0,b)|0)){c=0;return c|0}if(!(Bd(a+496|0,b)|0)){c=0;return c|0}c=Bd(a+512|0,b)|0;return c|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)lp(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}d=Yk(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)lp(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function Jc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;Rh(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(Yc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;Rh(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Ul(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;Vh(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Fj(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Ul(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}Jf(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Ul(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=Yk(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(Jc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;qf(c,h,j)|0;bh(j);G=0}else G=1;bh(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)lp(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=Yk(88)|0;f[l+4>>2]=0;f[l>>2]=3216;m=l+12|0;f[m>>2]=3196;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=3196;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Of(i+8|0,c,g);Ua[f[(f[i>>2]|0)+8>>2]&127](i);Ge(j,i);Ge(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;Ue(c,g)|0;f[g>>2]=3196;p=f[g+20>>2]|0;if(p|0)lp(p);p=f[g+8>>2]|0;if(p|0)lp(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=3196;k=f[j+20>>2]|0;if(k|0)lp(k);k=f[j+8>>2]|0;if(k|0)lp(k);f[l+8>>2]=f[h>>2];Ue(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;Xe(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=3196;q=f[i+20>>2]|0;if(q|0)lp(q);q=f[i+8>>2]|0;if(q|0)lp(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);lp(q)}f[r>>2]=3196;r=f[h+24>>2]|0;if(r|0)lp(r);r=f[h+12>>2]|0;if(!r){u=e;return}lp(r);u=e;return}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{Rg(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=ip(l)|0;Gh(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){jp(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=e;k=u;while(1){u=c+(a<<2)|0;l=u+(n<<2)|0;q=b+(a<<2)|0;if((k|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=u+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=k;a=a+e|0;if((a|0)>=(d|0))break;else k=z}jp(h);return 1}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=0;o=f[a+44+(b<<2)>>2]|0;while(1){b=(o|0)==-1;p=b?-1:(o>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(n){if(b)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else hh(k,e);if(!(n&1)){p=o+1|0;if(b){s=-1;break}t=((p>>>0)%3|0|0)==0?o+-2|0:p;v=35;break}if(!b)if(!((o>>>0)%3|0)){t=o+2|0;v=35;break}else{t=o+-1|0;v=35;break}else s=-1}else{if(b)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else hh(k,e);p=o+1|0;if(!b?(q=((p>>>0)%3|0|0)==0?o+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else hh(k,e);if(!b?(q=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else hh(k,e);t=o;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}n=n+1|0;if((n|0)>=(h|0))break;else o=s}u=d;return}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);g=a+184|0;j=f[g>>2]|0;switch(j|0){case 1:case 0:{if((i|0)==-1)k=-1;else k=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(k<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1){n=1;o=-1;p=l;q=28}else{n=1;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 5:{if(b)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(r<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;m=l+(s<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1){n=2;o=-1;p=l;q=28}else{n=2;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 3:{if(b)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;m=l+(u<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((h|0)==-1){n=1;o=-1;p=l;q=28}else{n=1;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 7:{if(b)v=-1;else v=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(v<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((i|0)==-1)w=-1;else w=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=l+(w<<2)|0;f[i>>2]=(f[i>>2]|0)+2;if((h|0)==-1){n=2;o=-1;p=l;q=28}else{n=2;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}default:x=j}if((q|0)==28){q=p+(o<<2)|0;f[q>>2]=(f[q>>2]|0)+n;x=f[g>>2]|0}switch(x|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}x=f[c>>2]|0;if(!b?(b=((e>>>0)%3|0|0)==0?d+-2|0:e,(b|0)!=-1):0)y=f[(f[x>>2]|0)+(b<<2)>>2]|0;else y=-1;f[a+188>>2]=(f[(f[a+156>>2]|0)+(y<<2)>>2]|0)<6?5:0;return}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Fh(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=0;B=l;l=b;while(1){if(!(f[(f[m>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){b=A*3|0;f[g>>2]=b;f[e>>2]=f[g>>2];vc(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=b+1;f[e>>2]=f[g>>2];vc(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=b+2;f[e>>2]=f[g>>2];vc(a,2,e);b=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else hh(w,e);E=f[a+44+(b<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else hh(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else hh(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];Mc(a,b,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=B;H=l}A=A+1|0;if(A>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{B=G;l=H}}u=d;return i|0}function Pc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Tf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Qc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Wf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Rc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Xf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Sc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Zf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Tc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=_f(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((i|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=2;l=-1;m=e;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1){k=2;l=-1;m=d;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=d;n=28}break}default:{}}if((n|0)==28){n=m+(l<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((i|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(i|0)>(c|0)?c:i;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function Vc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=$f(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Wc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Rh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Rg(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Gh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Ul(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=ag(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Xc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=ip(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)jp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Rg(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;Do(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];jc(a,h,c,v);n=X(v,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){E=10;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)Do(t);return 0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Ul(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;Vh(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Fj(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Ul(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}Jf(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Ul(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(Rh(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)Do(h);s=Yk(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=x;x=s;do{b[x>>0]=0;x=(f[y>>2]|0)+1|0;f[y>>2]=x;q=q+-1|0}while((q|0)!=0);q=f[g>>2]|0;x=f[a>>2]|0;s=x+8|0;p=f[s>>2]|0;r=f[s+4>>2]|0;s=x+16|0;m=s;t=f[m>>2]|0;w=Ul(t|0,f[m+4>>2]|0,q|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{Jf(f[h>>2]|0,(f[x>>2]|0)+t|0,q|0)|0;t=s;x=Ul(f[t>>2]|0,f[t+4>>2]|0,q|0,0)|0;q=s;f[q>>2]=x;f[q+4>>2]=I;Ak(c,e,h);B=1}q=f[h>>2]|0;if(q|0){if((f[y>>2]|0)!=(q|0))f[y>>2]=q;lp(q)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}lp(f[e>>2]|0);u=d;return z|0}function Zc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=ip(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)jp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Rg(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;Do(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];hc(a,h,c,v);n=X(v,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){E=10;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)Do(t);return 0}function _c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Na,t=Na,u=Na,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=Yk(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;zg(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+8|0;e=f[d>>2]|0;switch(f[e+28>>2]|0){case 2:{g=b[e+24>>0]|0;h=g<<24>>24;i=ip((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;a:do if(c|0){if(g<<24>>24>0){l=0;m=0}else{Jf(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1)break;else{n=0;o=1}while(1){n=n+h|0;Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+n|0,i|0,h|0)|0;o=o+1|0;if((o|0)==(c|0))break a}}while(1){j=0;p=m;while(1){b[i+j>>0]=f[k+(p<<2)>>2];j=j+1|0;if((j|0)==(h|0))break;else p=p+1|0}Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+m|0,i|0,h|0)|0;l=l+1|0;if((l|0)==(c|0))break;else m=m+h|0}}while(0);jp(i);q=1;return q|0}case 1:{i=b[e+24>>0]|0;h=i<<24>>24;m=ip((h|0)>-1?h:-1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))r=0;else r=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;b:do if(c|0){if(i<<24>>24>0){s=0;t=0}else{Jf(f[f[e+64>>2]>>2]|0,m|0,h|0)|0;if((c|0)==1)break;else{u=0;v=1}while(1){u=u+h|0;Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+u|0,m|0,h|0)|0;v=v+1|0;if((v|0)==(c|0))break b}}while(1){l=0;k=t;while(1){b[m+l>>0]=f[r+(k<<2)>>2];l=l+1|0;if((l|0)==(h|0))break;else k=k+1|0}Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+t|0,m|0,h|0)|0;s=s+1|0;if((s|0)==(c|0))break;else t=t+h|0}}while(0);jp(m);q=1;return q|0}case 4:{og(a,c);q=1;return q|0}case 3:{og(a,c);q=1;return q|0}case 6:{pg(a,c);q=1;return q|0}case 5:{pg(a,c);q=1;return q|0}default:{q=0;return q|0}}return 0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+32|0;g=e+8|0;i=e;switch(d|0){case 2:{d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{m=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Pa[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Id(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);n=f[i>>2]|0;if(!n){f[i>>2]=0;break}else{o=i;p=n;break a}}while(0);n=Yk(24)|0;f[n+4>>2]=m;q=n+8|0;f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[q+12>>2]=f[g+12>>2];f[n>>2]=2436;k=n;l=8}while(0);if((l|0)==8){f[i>>2]=k;o=i;p=k}f[a>>2]=p;f[o>>2]=0;u=e;return}case 3:{o=f[b+12>>2]|0;p=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;b:do if((c|0)==-2){r=0;l=16}else{b=f[(f[(f[p+4>>2]|0)+8>>2]|0)+(o<<2)>>2]|0;do if((Pa[f[(f[p>>2]|0)+8>>2]&127](p)|0)==1){Hd(i,p,c,o,g,((h[p+36>>0]|0)<<8|(h[p+37>>0]|0))&65535);k=f[i>>2]|0;if(!k){f[i>>2]=0;break}else{s=i;t=k;break b}}while(0);m=Yk(24)|0;f[m+4>>2]=b;k=m+8|0;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[k+8>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];f[m>>2]=2492;r=m;l=16}while(0);if((l|0)==16){f[i>>2]=r;s=i;t=r}f[a>>2]=t;f[s>>2]=0;u=e;return}default:{f[a>>2]=0;u=e;return}}}function cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Rg(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;Do(v)}else{w=0;x=n}while(1){f[i>>2]=f[x+(w<<2)>>2];f[h>>2]=f[i>>2];if(!(Ob(j,h,c,w)|0)){q=0;y=24;break}n=X(w,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;x=f[n>>2]|0;if((f[n+4>>2]|0)-x>>2>>>0<=w>>>0){v=n;y=8;break}}if((y|0)==8)Do(v);else if((y|0)==24){u=d;return q|0}return 0}function dd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Rg(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;Do(v)}else{w=0;x=n}while(1){f[i>>2]=f[x+(w<<2)>>2];f[h>>2]=f[i>>2];if(!(Nb(j,h,c,w)|0)){q=0;y=24;break}n=X(w,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;x=f[n>>2]|0;if((f[n+4>>2]|0)-x>>2>>>0<=w>>>0){v=n;y=8;break}}if((y|0)==8)Do(v);else if((y|0)==24){u=d;return q|0}return 0}function ed(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Pe(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)Do(l);else{q=o<<1;e=Yk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Gh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Pe(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Fb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Fb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);lp(o)}r=t;u=i;return r|0}function fd(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Pe(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)Do(l);else{q=o<<1;e=Yk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Gh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Pe(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Gb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Gb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);lp(o)}r=t;u=i;return r|0}function gd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Qe(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)Do(k);else{p=n<<2;d=Yk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Gh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Qe(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Hb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Hb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);lp(n)}q=s;u=h;return q|0}function hd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Qe(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)Do(k);else{p=n<<2;d=Yk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Gh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Qe(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Ib(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Ib(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);lp(n)}q=s;u=h;return q|0}function id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Ul(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=qe(a,c,d)|0;return l|0}case 2:{l=qe(a,c,d)|0;return l|0}case 3:{l=qe(a,c,d)|0;return l|0}case 4:{l=qe(a,c,d)|0;return l|0}case 5:{l=qe(a,c,d)|0;return l|0}case 6:{l=qe(a,c,d)|0;return l|0}case 7:{l=qe(a,c,d)|0;return l|0}case 8:{l=qe(a,c,d)|0;return l|0}case 9:{l=pe(a,c,d)|0;return l|0}case 10:{l=oe(a,c,d)|0;return l|0}case 11:{l=ne(a,c,d)|0;return l|0}case 12:{l=me(a,c,d)|0;return l|0}case 13:{l=le(a,c,d)|0;return l|0}case 14:{l=ke(a,c,d)|0;return l|0}case 15:{l=ke(a,c,d)|0;return l|0}case 16:{l=ke(a,c,d)|0;return l|0}case 17:{l=ke(a,c,d)|0;return l|0}case 18:{l=ke(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function jd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;hf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)Do(k);p=Yk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}hf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Kb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(Kb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;lp(n)}q=s;u=h;return q|0}function kd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;hf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)Do(k);p=Yk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}hf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Lb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(Lb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;lp(n)}q=s;u=h;return q|0}function ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;if(((l?j:0-j|0)+(k?h:0-h|0)|0)>(m|0)){if(k)if(!l)if((h|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((j|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(h|0)>0?1:-1;o=(j|0)>0?1:-1}l=X(m,n)|0;k=X(m,o)|0;q=(h<<1)-l|0;f[c>>2]=q;r=(j<<1)-k|0;f[i>>2]=r;if((X(n,o)|0)>-1){o=0-r|0;f[c>>2]=o;s=0-q|0;t=o}else{f[c>>2]=r;s=q;t=r}r=(t+l|0)/2|0;f[c>>2]=r;c=(s+k|0)/2|0;f[i>>2]=c;u=0;v=r;w=c;x=f[e>>2]|0}else{u=1;v=h;w=j;x=m}m=(f[d>>2]|0)+v|0;f[a>>2]=m;v=(f[d+4>>2]|0)+w|0;w=a+4|0;f[w>>2]=v;if((x|0)>=(m|0))if((m|0)<(0-x|0))y=(f[b+4>>2]|0)+m|0;else y=m;else y=m-(f[b+4>>2]|0)|0;f[a>>2]=y;if((x|0)>=(v|0))if((v|0)<(0-x|0))z=(f[b+4>>2]|0)+v|0;else z=v;else z=v-(f[b+4>>2]|0)|0;f[w>>2]=z;if(u){A=y;B=z;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}if((y|0)>-1)if((z|0)<=-1)if((y|0)<1){I=-1;J=-1}else p=24;else{I=1;J=1}else if((z|0)<1){I=-1;J=-1}else p=24;if((p|0)==24){I=(y|0)>0?1:-1;J=(z|0)>0?1:-1}p=X(x,I)|0;u=X(x,J)|0;x=(y<<1)-p|0;f[a>>2]=x;y=(z<<1)-u|0;f[w>>2]=y;if((X(I,J)|0)>-1){J=0-y|0;f[a>>2]=J;K=0-x|0;L=J}else{f[a>>2]=y;K=x;L=y}y=(L+p|0)/2|0;f[a>>2]=y;p=(K+u|0)/2|0;f[w>>2]=p;A=y;B=p;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}function md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d>>2]=0;do if((j[b+38>>1]|0)<514){g=b+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=b+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=c;return o|0}else{i=(f[b>>2]|0)+m|0;m=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d>>2]=m;i=g;f[i>>2]=n;f[i+4>>2]=l;p=m;break}}else if(Rh(d,b)|0){p=f[d>>2]|0;break}else{o=0;u=c;return o|0}while(0);if(!p){o=0;u=c;return o|0}m=a+76|0;wd(m,p,0);Ym(e);if(Bd(e,b)|0){if(f[d>>2]|0){p=1;l=0;do{p=p^((Qi(e)|0)^1);i=(f[m>>2]|0)+(l>>>5<<2)|0;n=1<<(l&31);if(p)q=f[i>>2]|n;else q=f[i>>2]&~n;f[i>>2]=q;l=l+1|0}while(l>>>0<(f[d>>2]|0)>>>0)}d=b+8|0;l=f[d>>2]|0;q=f[d+4>>2]|0;d=b+16|0;p=d;m=f[p>>2]|0;e=f[p+4>>2]|0;p=Ul(m|0,e|0,4,0)|0;i=I;if(((!((q|0)<(i|0)|(q|0)==(i|0)&l>>>0

>>0)?(n=f[b>>2]|0,b=n+m|0,g=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=d,f[b>>2]=p,f[b+4>>2]=i,i=Ul(m|0,e|0,8,0)|0,e=I,!((q|0)<(e|0)|(q|0)==(e|0)&l>>>0>>0)):0)?(l=n+p|0,p=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,l=d,f[l>>2]=i,f[l+4>>2]=e,(g|0)<=(p|0)):0)?(f[a+12>>2]=g,f[a+16>>2]=p,e=Wl(p|0,((p|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,g=I,g>>>0<0|(g|0)==0&e>>>0<2147483647):0){g=e+1|0;f[a+20>>2]=g;e=(g|0)/2|0;p=a+24|0;f[p>>2]=e;f[a+28>>2]=0-e;if(!(g&1)){f[p>>2]=e+-1;r=1}else r=1}else r=0}else r=0;o=r;u=c;return o|0}function pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+4194304|0;f[a+48>>2]=y;o=y>>>0<1073741824;u=d;return o|0}function qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+2097152|0;f[a+48>>2]=y;o=y>>>0<536870912;u=d;return o|0}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+1048576|0;f[a+48>>2]=y;o=y>>>0<268435456;u=d;return o|0}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+262144|0;f[a+48>>2]=y;o=y>>>0<67108864;u=d;return o|0}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+131072|0;f[a+48>>2]=y;o=y>>>0<33554432;u=d;return o|0}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+32768|0;f[a+48>>2]=y;o=y>>>0<8388608;u=d;return o|0}function vd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(qh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Wl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Ul(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+16384|0;f[a+48>>2]=y;o=y>>>0<4194304;u=d;return o|0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)Do(a);p=k<<6;k=b+31&-32;Mg(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;mk(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)lp(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Gh(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Gh(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function xd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3240;b=f[a+388>>2]|0;if(b|0){c=a+392|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+368|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=d+-4|0;c=f[b>>2]|0;if(c|0){e=d+(c<<4)|0;do e=e+-16|0;while((e|0)!=(d|0))}jp(b)}Sg(a+216|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){d=b;do{b=d;d=f[d>>2]|0;lp(b)}while((d|0)!=0)}d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Yg(a);lp(a);return}function yd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Ul(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Qa[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Ra[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Qa[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Pa[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Qa[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){Rg(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(s|0)!=(q|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function zd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c;e=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[n>>2]|0){n=f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0;o=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;p=f[o>>2]|0;o=f[n+56>>2]|0;n=Yk(32)|0;f[d>>2]=n;f[j>>2]=-2147483616;f[k>>2]=24;q=n;r=11767;s=q+24|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));b[n+24>>0]=0;r=p+16|0;q=f[r>>2]|0;if(q){s=r;t=q;a:while(1){q=t;while(1){if((f[q+16>>2]|0)>=(o|0))break;v=f[q+4>>2]|0;if(!v){w=s;break a}else q=v}t=f[q>>2]|0;if(!t){w=q;break}else s=q}if(((w|0)!=(r|0)?(o|0)>=(f[w+16>>2]|0):0)?(s=w+20|0,(jg(s,d)|0)!=0):0)x=ii(s,d,0)|0;else y=13}else y=13;if((y|0)==13){y=0;x=ii(p,d,0)|0}if((b[l>>0]|0)<0)lp(f[d>>2]|0);if(x){s=f[(f[h>>2]|0)+(m<<2)>>2]|0;t=f[s+8>>2]|0;de(t,mg(s)|0)}else y=18}else y=18;if((y|0)==18?(y=0,s=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Qa[f[(f[s>>2]|0)+24>>2]&127](s,i)|0)):0){g=0;y=20;break}m=m+1|0;if((m|0)>=(e|0)){g=1;y=20;break}}if((y|0)==20){u=c;return g|0}return 0}function Ad(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+12|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;f[g>>2]=0;m=g+4|0;f[m>>2]=0;f[g+8>>2]=0;if(!(k<<24>>24))n=0;else{if(k<<24>>24<0)Do(g);k=Yk(l)|0;f[m>>2]=k;f[g>>2]=k;f[g+8>>2]=k+l;o=l;l=k;do{b[l>>0]=0;l=(f[m>>2]|0)+1|0;f[m>>2]=l;o=o+-1|0}while((o|0)!=0);n=b[j>>0]|0}o=n<<24>>24;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(n<<24>>24){if(n<<24>>24<0)Do(i);n=Yk(o)|0;f[l>>2]=n;f[i>>2]=n;f[i+8>>2]=n+o;k=o;o=n;do{b[o>>0]=0;o=(f[l>>2]|0)+1|0;f[l>>2]=o;k=k+-1|0}while((k|0)!=0)}k=c+80|0;if(!(f[k>>2]|0))p=f[i>>2]|0;else{o=c+48|0;n=c+40|0;q=c+64|0;r=a+48|0;a=0;do{s=f[g>>2]|0;t=o;v=f[t>>2]|0;w=f[t+4>>2]|0;t=n;x=f[t>>2]|0;y=bl(x|0,f[t+4>>2]|0,a|0,0)|0;t=Ul(y|0,I|0,v|0,w|0)|0;Jf(s|0,(f[f[c>>2]>>2]|0)+t|0,x|0)|0;if((b[j>>0]|0)>0?(b[f[i>>2]>>0]=(f[(f[r>>2]|0)+(d<<2)>>2]|0)+(h[s>>0]|0),(b[j>>0]|0)>1):0){s=1;do{b[(f[i>>2]|0)+s>>0]=(f[(f[r>>2]|0)+(s+d<<2)>>2]|0)+(h[(f[g>>2]|0)+s>>0]|0);s=s+1|0}while((s|0)<(b[j>>0]|0))}s=f[i>>2]|0;x=n;t=f[x>>2]|0;w=bl(t|0,f[x+4>>2]|0,a|0,0)|0;Jf((f[f[q>>2]>>2]|0)+w|0,s|0,t|0)|0;a=a+1|0}while(a>>>0<(f[k>>2]|0)>>>0);p=s}if(p|0){if((f[l>>2]|0)!=(p|0))f[l>>2]=p;lp(p)}p=f[g>>2]|0;if(!p){u=e;return 1}if((f[m>>2]|0)!=(p|0))f[m>>2]=p;lp(p);u=e;return 1}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}b[a+12>>0]=b[(f[c>>2]|0)+n>>0]|0;n=l;i=f[n>>2]|0;o=f[n+4>>2]|0;n=Ul(i|0,o|0,1,0)|0;k=l;f[k>>2]=n;f[k+4>>2]=I;if((j[c+38>>1]|0)<514){k=g;m=f[k>>2]|0;q=f[k+4>>2]|0;k=Ul(i|0,o|0,5,0)|0;o=I;if((q|0)<(o|0)|(q|0)==(o|0)&m>>>0>>0)r=0;else{i=(f[c>>2]|0)+n|0;n=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[e>>2]=n;i=l;f[i>>2]=k;f[i+4>>2]=o;s=m;t=q;v=k;w=o;x=n;y=7}}else if(Rh(e,c)|0){n=g;g=l;s=f[n>>2]|0;t=f[n+4>>2]|0;v=f[g>>2]|0;w=f[g+4>>2]|0;x=f[e>>2]|0;y=7}else r=0;a:do if((y|0)==7){e=Wl(s|0,t|0,v|0,w|0)|0;g=I;if(!((g|0)<0|(g|0)==0&e>>>0>>0)?(e=(f[c>>2]|0)+v|0,(x|0)>=1):0){f[a>>2]=e;g=x+-1|0;n=e+g|0;switch((h[n>>0]|0)>>>6&3){case 0:{f[a+4>>2]=g;z=b[n>>0]&63;break}case 1:{if((x|0)<2){r=0;break a}f[a+4>>2]=x+-2;n=e+x+-2|0;z=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((x|0)<3){r=0;break a}f[a+4>>2]=x+-3;n=e+x+-3|0;z=(h[n+1>>0]|0)<<8|(h[n>>0]|0)|(h[n+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}n=z+4096|0;f[a+8>>2]=n;if(n>>>0<1048576){n=Ul(v|0,w|0,x|0,0)|0;e=l;f[e>>2]=n;f[e+4>>2]=I;r=1}else r=0}else r=0}while(0);p=r;u=d;return p|0}function Cd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3072;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}jp(b)}Sg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Yg(a);lp(a);return}function Dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=c;l=j;do{f[l>>2]=-1;Ui(l+4|0);b[l+100>>0]=1;m=l+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));l=(f[i>>2]|0)+144|0;f[i>>2]=l;k=k+-1|0}while((k|0)!=0);u=d;return}k=f[a>>2]|0;l=(j-k|0)/144|0;j=l+c|0;if(j>>>0>29826161)Do(a);o=(h-k|0)/144|0;k=o<<1;h=o>>>0<14913080?(k>>>0>>0?j:k):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){k=ra(8)|0;cn(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{p=Yk(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;k=p+(l*144|0)|0;l=e+8|0;f[l>>2]=k;j=e+4|0;f[j>>2]=k;o=e+12|0;f[o>>2]=p+(h*144|0);h=c;c=k;do{f[c>>2]=-1;Ui(c+4|0);b[c+100>>0]=1;m=c+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c=(f[l>>2]|0)+144|0;f[l>>2]=c;h=h+-1|0}while((h|0)!=0);h=c;c=f[a>>2]|0;m=f[i>>2]|0;if((m|0)==(c|0)){q=j;r=f[j>>2]|0;s=c;t=m}else{n=m;m=f[j>>2]|0;do{m=m+-144|0;n=n+-144|0;ad(m,n)}while((n|0)!=(c|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=h;f[l>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=s;Xg(e);u=d;return}function Ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=0;k=2;l=(k|0)==2;m=l?0:j;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=0;r=h;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(f[r>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(h){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?dj(z,A,w)|0:0){B=0;C=q;D=14;break b}}else if(!y){if((b[A>>0]|0)==(x&255)<<24>>24){E=g;F=v;G=A}else{H=0;I=q;D=13;break b}while(1){F=F+-1|0;E=E+1|0;if(!F)break c;G=G+1|0;if((b[E>>0]|0)!=(b[G>>0]|0)){H=0;I=q;D=13;break b}}}while(0);H=1;I=f[r>>2]|0;D=13}else{H=0;I=q;D=13}}else{H=3;I=q;D=13}while(0);if((D|0)==13){D=0;if(s<<24>>24<0){B=H;C=I;D=14}else{J=H;K=I}}if((D|0)==14){D=0;lp(f[g>>2]|0);J=B;K=C}switch(J&3){case 3:case 0:break;default:{j=K;k=J;D=17;break a}}r=r+4|0;if((r|0)==(i|0)){j=K;k=2;D=17;break}else q=K}if((D|0)==17){l=(k|0)==2;m=l?0:j;u=e;return m|0}return 0}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Ul(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}wd(a+76|0,l,0);Ym(d);if(Bd(d,b)|0){if((l|0)>0){k=a+76|0;i=1;m=0;do{i=i^((Qi(d)|0)^1);j=(f[k>>2]|0)+(m>>>5<<2)|0;o=1<<(m&31);if(i)p=f[j>>2]|o;else p=f[j>>2]&~o;f[j>>2]=p;m=m+1|0}while((m|0)<(l|0))}l=e;e=f[l>>2]|0;m=f[l+4>>2]|0;l=g;p=f[l>>2]|0;i=f[l+4>>2]|0;l=Ul(p|0,i|0,4,0)|0;k=I;if(((!((m|0)<(k|0)|(m|0)==(k|0)&e>>>0>>0)?(d=f[b>>2]|0,b=d+p|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=k,k=Ul(p|0,i|0,8,0)|0,i=I,!((m|0)<(i|0)|(m|0)==(i|0)&e>>>0>>0)):0)?(e=d+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=k,f[e+4>>2]=i,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,i=Wl(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&i>>>0<2147483647):0){j=i+1|0;f[a+20>>2]=j;i=(j|0)/2|0;l=a+24|0;f[l>>2]=i;f[a+28>>2]=0-i;if(!(j&1)){f[l>>2]=i+-1;q=1}else q=1}else q=0}else q=0;n=q;u=c;return n|0}function Hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Yk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2632;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2688;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Yk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2548;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2604;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Yk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2800;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2856;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Yk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2716;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2772;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Jd(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+32|0;h=g+12|0;i=g;k=c+24|0;l=b[k>>0]|0;m=l<<24>>24;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;o=l<<24>>24==0;do if(!o)if(l<<24>>24<0)Do(h);else{p=m<<1;q=Yk(p)|0;f[h>>2]=q;r=q+(m<<1)|0;f[h+8>>2]=r;Gh(q|0,0,p|0)|0;f[n>>2]=r;s=q;t=r;v=q;break}else{s=0;t=0;v=0}while(0);f[i>>2]=0;h=i+4|0;f[h>>2]=0;f[i+8>>2]=0;if(o){w=0;x=0;y=0}else{o=m<<1;l=Yk(o)|0;f[i>>2]=l;q=l+(m<<1)|0;f[i+8>>2]=q;Gh(l|0,0,o|0)|0;f[h>>2]=q;w=l;x=q;y=l}l=c+80|0;if(f[l>>2]|0){q=c+48|0;o=c+40|0;i=c+64|0;m=a+48|0;a=0;r=v;p=w;while(1){z=q;A=f[z>>2]|0;B=f[z+4>>2]|0;z=o;C=f[z>>2]|0;D=bl(C|0,f[z+4>>2]|0,a|0,0)|0;z=Ul(D|0,I|0,A|0,B|0)|0;Jf(r|0,(f[f[c>>2]>>2]|0)+z|0,C|0)|0;C=b[k>>0]|0;if(C<<24>>24>0){z=f[m>>2]|0;B=C<<24>>24;C=0;do{d[p+(C<<1)>>1]=(f[z+(C+e<<2)>>2]|0)+(j[s+(C<<1)>>1]|0);C=C+1|0}while((C|0)<(B|0));E=v}else E=r;B=o;C=f[B>>2]|0;z=bl(C|0,f[B+4>>2]|0,a|0,0)|0;Jf((f[f[i>>2]>>2]|0)+z|0,y|0,C|0)|0;a=a+1|0;if(a>>>0>=(f[l>>2]|0)>>>0)break;else{r=E;p=y}}}if(w|0){if((x|0)!=(w|0))f[h>>2]=x+(~((x+-2-w|0)>>>1)<<1);lp(y)}if(!s){u=g;return 1}if((t|0)!=(s|0))f[n>>2]=t+(~((t+-2-s|0)>>>1)<<1);lp(v);u=g;return 1}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+32|0;g=e+12|0;h=e;i=c+24|0;j=b[i>>0]|0;k=j<<24>>24;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;m=j<<24>>24==0;do if(!m)if(j<<24>>24<0)Do(g);else{n=k<<2;o=Yk(n)|0;f[g>>2]=o;p=o+(k<<2)|0;f[g+8>>2]=p;Gh(o|0,0,n|0)|0;f[l>>2]=p;q=o;r=p;s=o;break}else{q=0;r=0;s=0}while(0);f[h>>2]=0;g=h+4|0;f[g>>2]=0;f[h+8>>2]=0;if(m){t=0;v=0;w=0}else{m=k<<2;j=Yk(m)|0;f[h>>2]=j;o=j+(k<<2)|0;f[h+8>>2]=o;Gh(j|0,0,m|0)|0;f[g>>2]=o;t=j;v=o;w=j}j=c+80|0;if(f[j>>2]|0){o=c+48|0;m=c+40|0;h=c+64|0;k=a+48|0;a=0;p=s;n=t;while(1){x=o;y=f[x>>2]|0;z=f[x+4>>2]|0;x=m;A=f[x>>2]|0;B=bl(A|0,f[x+4>>2]|0,a|0,0)|0;x=Ul(B|0,I|0,y|0,z|0)|0;Jf(p|0,(f[f[c>>2]>>2]|0)+x|0,A|0)|0;A=b[i>>0]|0;if(A<<24>>24>0){x=f[k>>2]|0;z=A<<24>>24;A=0;do{f[n+(A<<2)>>2]=(f[x+(A+d<<2)>>2]|0)+(f[q+(A<<2)>>2]|0);A=A+1|0}while((A|0)<(z|0));C=s}else C=p;z=m;A=f[z>>2]|0;x=bl(A|0,f[z+4>>2]|0,a|0,0)|0;Jf((f[f[h>>2]>>2]|0)+x|0,w|0,A|0)|0;a=a+1|0;if(a>>>0>=(f[j>>2]|0)>>>0)break;else{p=C;n=w}}}if(t|0){if((v|0)!=(t|0))f[g>>2]=v+(~((v+-4-t|0)>>>2)<<2);lp(w)}if(!q){u=e;return 1}if((r|0)!=(q|0))f[l>>2]=r+(~((r+-4-q|0)>>>2)<<2);lp(s);u=e;return 1}function Ld(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;qg(a+232|0);Sg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Yg(a);lp(a);return}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c;e=a+40|0;g=e;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Ef(e,1,d)|0){g=a;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=d;k=f[e>>2]|0;l=f[e+4>>2]|0;e=a+8|0;m=e;n=a+16|0;o=n;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Wl(f[m>>2]|0,f[m+4>>2]|0,p|0,q|0)|0;m=I;if(!(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>o>>>0)){o=Ul(p|0,q|0,k|0,l|0)|0;l=n;f[l>>2]=o;f[l+4>>2]=I;do if((j[a+38>>1]|0)>=514){if(!(Bd(a+80|0,a)|0)){r=0;u=c;return r|0}}else{l=a+96|0;g=l;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Ef(l,1,d)|0){g=a;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=d;o=f[l>>2]|0;k=f[l+4>>2]|0;l=e;q=n;p=f[q>>2]|0;m=f[q+4>>2]|0;q=Wl(f[l>>2]|0,f[l+4>>2]|0,p|0,m|0)|0;l=I;if(!(k>>>0>l>>>0|(k|0)==(l|0)&o>>>0>q>>>0)){q=Ul(p|0,m|0,o|0,k|0)|0;k=n;f[k>>2]=q;f[k+4>>2]=I;break}}r=0;u=c;return r|0}while(0);if(!(ah(a)|0)){r=0;u=c;return r|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));r=1;u=c;return r|0}}r=0;u=c;return r|0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(gc(a,c)|0)){g=0;u=d;return g|0}h=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else jf(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Ul(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Wa[f[(f[a>>2]|0)+48>>2]&15](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Qa[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Ra[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return qb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return sb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return rb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=Yk(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;Mo(e);if(Gf(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){mh(o);lp(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}lp(l)}mh(c);lp(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=12995;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Ch(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){mh(i);lp(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}lp(p)}mh(h);lp(h);u=d;return}}function Sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Ce(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+36|0,c)|0)){r=0;return r|0}if(!(Ce(a+56|0,c)|0)){r=0;return r|0}if(Ce(a+76|0,c)|0)return pb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Ce(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+36|0,c)|0)){r=0;return r|0}if(!(Ce(a+56|0,c)|0)){r=0;return r|0}if(Ce(a+76|0,c)|0)return ob(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Bd(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+32|0,c)|0)){r=0;return r|0}if(!(Ce(a+52|0,c)|0)){r=0;return r|0}if(Ce(a+72|0,c)|0)return wb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Bd(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+32|0,c)|0)){r=0;return r|0}if(!(Ce(a+52|0,c)|0)){r=0;return r|0}if(Ce(a+72|0,c)|0)return tb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Wd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=Na,k=0,l=0,m=0,o=0,p=0,q=Na,r=Na,s=Na,t=Na,v=Na,w=0,x=Na,y=Na,z=0,A=0,B=0,C=0;g=u;u=u+32|0;h=g+16|0;i=g;j=$(n[d+4>>2]);k=(1<>2])+-1|0;Fn(h);Sk(h,j,k)|0;d=f[a>>2]|0;if((f[c>>2]|0)==(d|0)){u=g;return}a=h+4|0;l=i+4|0;m=i+8|0;o=e+16|0;p=e+28|0;e=d;do{d=(f[e>>2]|0)-k|0;if((d|0)>-1){j=$(d|0);q=$(n[a>>2]);r=$(q*j);j=$(n[h>>2]);s=$(r*j);t=q;v=j}else{w=Wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;j=$(+(w>>>0)+4294967296.0*+(I|0));q=$(n[a>>2]);r=$(q*j);j=$(n[h>>2]);s=$(-$(r*j));t=q;v=j}w=(f[e+4>>2]|0)-k|0;if((w|0)>-1)x=$($(t*$(w|0))*v);else{d=Wl(0,0,w|0,((w|0)<0)<<31>>31|0)|0;x=$(-$($(t*$(+(d>>>0)+4294967296.0*+(I|0)))*v))}d=(f[e+8>>2]|0)-k|0;if((d|0)>-1)y=$($(t*$(d|0))*v);else{w=Wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;y=$(-$($(t*$(+(w>>>0)+4294967296.0*+(I|0)))*v))}n[i>>2]=s;n[l>>2]=x;n[m>>2]=y;w=f[o>>2]|0;d=f[w>>2]|0;z=f[p>>2]|0;if(!(b[d+84>>0]|0))A=f[(f[d+68>>2]|0)+(z<<2)>>2]|0;else A=z;z=i+(f[w+4>>2]<<2)|0;w=d+40|0;B=f[w>>2]|0;C=bl(B|0,f[w+4>>2]|0,A|0,0)|0;Jf((f[f[d+64>>2]>>2]|0)+C|0,z|0,B|0)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+12|0}while((f[c>>2]|0)!=(e|0));u=g;return}function Xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+8|0;i=e+4|0;j=e;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Ul(p|0,q|0,4,0)|0;r=I;a:do if((n|0)<(r|0)|(n|0)==(r|0)&m>>>0>>0)s=0;else{t=f[c>>2]|0;v=t+p|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=o;f[v+4>>2]=r;b:do switch(w|0){case 3:{if(!((n|0)>(r|0)|(n|0)==(r|0)&m>>>0>o>>>0)){s=0;break a}v=b[t+o>>0]|0;x=Ul(p|0,q|0,5,0)|0;y=l;f[y>>2]=x;f[y+4>>2]=I;f[a+8>>2]=v<<24>>24;if(v<<24>>24==1)if(dc(a,c,g)|0)break b;else{s=0;break a}else{nj(4992,23,1,f[906]|0)|0;s=0;break a}break}case 2:{if(!(dc(a,c,g)|0)){s=0;break a}break}default:{nj(5016,24,1,f[906]|0)|0;s=0;break a}}while(0);f[i>>2]=f[g>>2];f[j>>2]=f[k>>2];Wd(i,j,a,d);s=1}while(0);d=f[g>>2]|0;if(!d){u=e;return s|0}g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~(((g+-12-d|0)>>>0)/12|0)*12|0);lp(d);u=e;return s|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=Yk(124)|0;f[k+4>>2]=0;f[k>>2]=3172;f[k+12>>2]=3196;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=3196;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Of(i+8|0,o,g);Ua[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];Ue(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;wf(k,h);f[a>>2]=n;f[i>>2]=3196;n=f[i+20>>2]|0;if(n|0)lp(n);n=f[i+8>>2]|0;if(!n){gh(h);u=e;return}lp(n);gh(h);u=e;return}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)Do(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;cn(g,13388);f[g>>2]=4744;va(g|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=m+(l<<2)|0;l=d+12|0;f[l>>2]=k;m=f[b>>2]|0;f[b>>2]=0;f[g>>2]=m;m=g+4|0;f[h>>2]=m;b=f[a>>2]|0;n=f[e>>2]|0;if((n|0)==(b|0)){o=g;p=l;q=h;r=b;s=m;t=n;v=k;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;xg(d);u=c;return}else{y=n;z=g}do{y=y+-4|0;g=f[y>>2]|0;f[y>>2]=0;f[z+-4>>2]=g;z=(f[i>>2]|0)+-4|0;f[i>>2]=z}while((y|0)!=(b|0));o=z;p=l;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[l>>2]|0;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;xg(d);u=c;return}function $d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=uj(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)Do(e);else{n=Yk(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Gh(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);Yh(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);lp(a)}u=d;return}function ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return jb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return lb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Hc(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+544|0,c)|0)){r=0;return r|0}if(!(Ce(a+564|0,c)|0)){r=0;return r|0}if(Ce(a+584|0,c)|0)return kb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function de(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Yk(32)|0;kl(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;lp(d)}lp(g);h=f[e>>2]|0}Pi(a,h,0,0,0,0);j=a}else j=a;if(!(zh(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))Xe(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;lp(c)}lp(h);return}h=Yk(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)Do(c);l=Yk(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){Jf(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;lp(h)}lp(a);return}function ee(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ri(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else dg(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(Eb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Eb(e,c)|0)){n=0;o=15;break}i=f[l>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(o|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else Rg(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(vb(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(vb(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=0;o=w;while(1){f[k+(o<<2)>>2]=f[i+(t<<2)>>2];t=t+1|0;if((t|0)==(l|0))break;else o=o+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=w+l|0}if((v|0)==18){u=e;return s|0}return 0}function ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Ce(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+36|0,c)|0)){r=0;return r|0}if(!(Ce(a+56|0,c)|0)){r=0;return r|0}if(Ce(a+76|0,c)|0)return ib(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function he(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Ce(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+36|0,c)|0)){r=0;return r|0}if(!(Ce(a+56|0,c)|0)){r=0;return r|0}if(Ce(a+76|0,c)|0)return hb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ie(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Bd(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+32|0,c)|0)){r=0;return r|0}if(!(Ce(a+52|0,c)|0)){r=0;return r|0}if(Ce(a+72|0,c)|0)return nb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function je(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Bd(a+16|0,c)|0)){r=0;return r|0}if(!(Ce(a+32|0,c)|0)){r=0;return r|0}if(!(Ce(a+52|0,c)|0)){r=0;return r|0}if(Ce(a+72|0,c)|0)return mb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Pc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=pd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<4194304){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=4194304){r=t;break}else q=t}}else r=o;while(0);q=r&1048575;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>20)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Qc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=qd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<2097152){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=2097152){r=t;break}else q=t}}else r=o;while(0);q=r&524287;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>19)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Rc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=rd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<1048576){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=1048576){r=t;break}else q=t}}else r=o;while(0);q=r&262143;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>18)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Sc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=sd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<262144){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=262144){r=t;break}else q=t}}else r=o;while(0);q=r&65535;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>16)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Tc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=td(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<131072){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=131072){r=t;break}else q=t}}else r=o;while(0);q=r&32767;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>15)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Vc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=ud(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<32768){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=32768){r=t;break}else q=t}}else r=o;while(0);q=r&8191;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>13)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Wc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=vd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<16384){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=o;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;lp(a)}if((b[s+11>>0]|0)<0)lp(f[s>>2]|0);lp(d);return c|0}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;ng(a+16|0);Ym(a+528|0);tm(a+544|0);tm(a+564|0);tm(a+584|0);e=a+604|0;f[e>>2]=0;g=a+608|0;f[g>>2]=0;f[a+612>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Do(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+612>>2]=k;Gh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+616|0;f[g>>2]=0;e=a+620|0;f[e>>2]=0;f[a+624>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+624>>2]=g;Gh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Gh(i|0,0,k|0)|0;f[e>>2]=j}vi(a+628|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Gh(k|0,0,h|0)|0;f[j>>2]=e}vi(a+640|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)Do(d);else{i=b*12|0;j=Yk(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Gh(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(Bh(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(k<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+i|0;f[e>>2]=q;p=f[n+(k+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(k+2<<2)>>2]|0;n=q>>>1;i=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=i;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))Og(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else k=k+3|0}}else m=0;k=f[d>>2]|0;if(!k){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(k|0))f[h>>2]=d+(~((d+-4-k|0)>>>2)<<2);lp(k);u=c;return m|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){Gh(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)Do(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;cn(p,13388);f[p>>2]=4744;va(p|0,1128,101)}else{r=Yk(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;Gh(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;xg(d);u=c;return}function ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function we(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Na,x=Na,y=Na,z=0;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=ip(j>>>0>1073741823?-1:j<<2)|0;Fn(e);if(!(Sk(e,$(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;jp(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}jp(l);u=d;return m|0}while(1){a=f[p>>2]|0;i=0;t=r;while(1){v=f[o+(t<<2)>>2]|0;if((v|0)>-1){w=$(v|0);x=$($(n[g>>2])*w);y=$(x*$(n[e>>2]))}else{z=Wl(0,0,v|0,((v|0)<0)<<31>>31|0)|0;x=$(+(z>>>0)+4294967296.0*+(I|0));w=$($(n[g>>2])*x);y=$(-$(w*$(n[e>>2])))}w=$(y+$(n[a+(i<<2)>>2]));n[l+(i<<2)>>2]=w;i=i+1|0;if((i|0)==(j|0))break;else t=t+1|0}Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+s|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+j|0;s=s+k|0}}jp(l);u=d;return m|0}function xe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;tm(a+16|0);tm(a+36|0);tm(a+56|0);tm(a+76|0);e=a+96|0;f[e>>2]=0;g=a+100|0;f[g>>2]=0;f[a+104>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Do(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+104>>2]=k;Gh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+108|0;f[g>>2]=0;e=a+112|0;f[e>>2]=0;f[a+116>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+116>>2]=g;Gh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Gh(i|0,0,k|0)|0;f[e>>2]=j}vi(a+120|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Gh(k|0,0,h|0)|0;f[j>>2]=e}vi(a+132|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;i=d+8|0;j=f[i>>2]|0;k=f[i+4>>2]|0;i=d+16|0;l=i;m=f[l>>2]|0;n=f[l+4>>2]|0;if((k|0)>(n|0)|(k|0)==(n|0)&j>>>0>m>>>0){l=b[(f[d>>2]|0)+m>>0]|0;o=Ul(m|0,n|0,1,0)|0;p=I;q=i;f[q>>2]=o;f[q+4>>2]=p;if(l<<24>>24!=-2){r=l;s=p;t=o;v=3}}else{r=0;s=n;t=m;v=3}if((v|0)==3){if((k|0)>(s|0)|(k|0)==(s|0)&j>>>0>t>>>0){j=b[(f[d>>2]|0)+t>>0]|0;k=Ul(t|0,s|0,1,0)|0;s=i;f[s>>2]=k;f[s+4>>2]=I;w=j}else w=0;Xa[f[(f[a>>2]|0)+40>>2]&7](g,a,r<<24>>24,w<<24>>24);w=a+20|0;r=f[g>>2]|0;f[g>>2]=0;j=f[w>>2]|0;f[w>>2]=r;if(j){Ua[f[(f[j>>2]|0)+4>>2]&127](j);j=f[g>>2]|0;f[g>>2]=0;if(j|0)Ua[f[(f[j>>2]|0)+4>>2]&127](j)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Qa[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){x=0;u=e;return x|0}if(!(Ra[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){x=0;u=e;return x|0}d=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;c=f[a+4>>2]|0;if((c|0?((h[c+36>>0]|0)<<8&65535)<512:0)?!(Qa[f[(f[a>>2]|0)+48>>2]&127](a,d)|0):0){x=0;u=e;return x|0}x=1;u=e;return x|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;Ym(a+16|0);tm(a+32|0);tm(a+52|0);tm(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Do(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;Gh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;Gh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Gh(i|0,0,k|0)|0;f[e>>2]=j}vi(a+116|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Gh(k|0,0,h|0)|0;f[j>>2]=e}vi(a+128|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+132|0;c=f[b>>2]|0;if(c|0){d=a+136|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+120|0;b=f[g>>2]|0;if(b|0){j=a+124|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+108>>2]|0;if(l|0){g=a+112|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+96>>2]|0;if(!l){n=a+76|0;jj(n);o=a+56|0;jj(o);p=a+36|0;jj(p);q=a+16|0;jj(q);return}m=a+100|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+76|0;jj(n);o=a+56|0;jj(o);p=a+36|0;jj(p);q=a+16|0;jj(q);return}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;g=c;i=e+(~((e+-4-g|0)>>>2)<<2)|0;if((e|0)==(c|0)){j=e;k=c}else{f[d>>2]=i;j=i;k=i}i=a+16|0;f[i>>2]=0;e=a+12|0;f[e>>2]=k;k=b+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=b+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;return r|0}s=(f[b>>2]|0)+p|0;p=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;s=l;f[s>>2]=q;f[s+4>>2]=o;if(!((p|0)!=0&(p&3|0)==0)){r=0;return r|0}s=Wl(m|0,n|0,q|0,o|0)|0;t=I;if((t|0)<0|(t|0)==0&s>>>0

>>0){r=0;return r|0}s=p>>>2;t=j-g>>2;if(s>>>0<=t>>>0)if(s>>>0>>0?(g=c+(s<<2)|0,(g|0)!=(j|0)):0){f[d>>2]=j+(~((j+-4-g|0)>>>2)<<2);u=q;v=o;w=n;x=m}else{u=q;v=o;w=n;x=m}else{Rg(a,s-t|0);t=k;k=l;u=f[k>>2]|0;v=f[k+4>>2]|0;w=f[t+4>>2]|0;x=f[t>>2]|0}t=Ul(u|0,v|0,p|0,0)|0;v=I;if((w|0)<(v|0)|(w|0)==(v|0)&x>>>0>>0){r=0;return r|0}Jf(f[a>>2]|0,(f[b>>2]|0)+u|0,p|0)|0;u=l;b=Ul(f[u>>2]|0,f[u+4>>2]|0,p|0,0)|0;p=l;f[p>>2]=b;f[p+4>>2]=I;f[e>>2]=f[a>>2];f[i>>2]=0;r=1;return r|0}function De(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)Do(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{k=Yk(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1228;f[k+(e*24|0)+4>>2]=f[b+4>>2];pi(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=k;k=g;g=d;do{f[g+-24>>2]=1228;f[g+-20>>2]=f[j+-20>>2];d=g+-16|0;o=j+-16|0;f[d>>2]=0;p=g+-12|0;f[p>>2]=0;f[g+-8>>2]=0;f[d>>2]=f[o>>2];d=j+-12|0;f[p>>2]=f[d>>2];p=j+-8|0;f[g+-8>>2]=f[p>>2];f[p>>2]=0;f[d>>2]=0;f[o>>2]=0;f[g+-4>>2]=f[j+-4>>2];j=j+-24|0;g=k+-24|0;k=g}while((j|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Ua[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;lp(m);return}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3148;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Do(i);else{o=((n+-1|0)>>>5)+1|0;p=Yk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Le(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Do(i);k=((l+-1|0)>>>5)+1|0;l=Yk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Le(i,e,d);u=c;return}function Fe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+640|0;c=f[b>>2]|0;if(c|0){d=a+644|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+628|0;b=f[g>>2]|0;if(b|0){j=a+632|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+616>>2]|0;if(l|0){g=a+620|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+604>>2]|0;if(!l){n=a+584|0;jj(n);o=a+564|0;jj(o);p=a+544|0;jj(p);q=a+16|0;pp(q);return}m=a+608|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+584|0;jj(n);o=a+564|0;jj(o);p=a+544|0;jj(p);q=a+16|0;pp(q);return}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3196;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Do(i);else{o=((n+-1|0)>>>5)+1|0;p=Yk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Le(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Do(i);k=((l+-1|0)>>>5)+1|0;l=Yk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Le(i,e,d);u=c;return}function He(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));fc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)lp(f[h>>2]|0);if(b[i+7>>0]|0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=Yk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=27;k=o;l=11739;m=k+27|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+27>>0]=0;f[a>>2]=-1;Ch(h,j);if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);u=g;return}If(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;zc(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)lp(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ua[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Ch(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0);u=g;return}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Gh(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)Do(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{n=Yk(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Gh(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);lp(m)}}while((c|0)!=(g|0))}if(!p)return;lp(p);return}function Je(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=ip(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)jp(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}Jf(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Ul(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Ul(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Ul(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Ul(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function Ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));fc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)lp(f[h>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=Yk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=o;l=11718;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+20>>0]=0;f[a>>2]=-1;Ch(h,j);if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);u=g;return}rg(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;ik(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)lp(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ua[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Ch(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0);u=g;return}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];md(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;mk(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)mk(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);lp(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Do(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Do(a);h=Yk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function Ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Ul(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}r=o+i|0;i=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=d;f[r>>2]=m;f[r+4>>2]=p;if((q|0)>(i|0)){n=0;return n|0}f[a+12>>2]=q;f[a+16>>2]=i;r=Wl(i|0,((i|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=I;if(!(q>>>0<0|(q|0)==0&r>>>0<2147483647)){n=0;return n|0}q=r+1|0;f[a+20>>2]=q;r=(q|0)/2|0;i=a+24|0;f[i>>2]=r;f[a+28>>2]=0-r;if(!(q&1))f[i>>2]=r+-1;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}r=b[o+m>>0]|0;i=Ul(k|0,l|0,9,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=I;if((r&255)<2){f[a+88>>2]=r&255;break}else{n=0;return n|0}}while(0);n=Bd(a+108|0,c)|0;return n|0}function Oe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+128|0;c=f[b>>2]|0;if(c|0){d=a+132|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+116|0;b=f[g>>2]|0;if(b|0){j=a+120|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+104>>2]|0;if(l|0){g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;jj(n);o=a+52|0;jj(o);p=a+32|0;jj(p);return}m=a+96|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+72|0;jj(n);o=a+52|0;jj(o);p=a+32|0;jj(p);return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)mk(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=p;p=n;while(1){d[p>>1]=d[q>>1]|0;q=q+2|0;if((q|0)==(c|0))break;else p=p+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);lp(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)Do(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)Do(a);t=Yk(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=b;b=t;while(1){d[b>>1]=d[e>>1]|0;e=e+2|0;if((e|0)==(c|0))break;else b=b+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)mk(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);lp(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Do(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Do(a);h=Yk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);lp(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)Do(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)Do(a);j=Yk(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function Se(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;rc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;pc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)lp(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)lp(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Rg(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(Ub(a,d)|0)){s=0;u=c;return s|0}db(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{lp(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)Do(c);else{j=((k+-1|0)>>>5)+1|0;l=Yk(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);mk(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{lp(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)Do(h);else{n=((p+-1|0)>>>5)+1|0;c=Yk(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);mk(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function Ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Ri(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Ri(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Ri(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function We(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ri(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Jb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Jb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);lp(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)Do(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)Do(a);j=Yk(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;Jf(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;Jf(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function Ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function Ze(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;p=(j[c+38>>1]|0)<514;do if(p){r=Ul(k|0,l|0,8,0)|0;s=I;if((g|0)<(s|0)|(g|0)==(s|0)&e>>>0>>0){n=0;return n|0}else{t=d;f[t>>2]=r;f[t+4>>2]=s;u=s;v=r;break}}else{u=m;v=i}while(0);if(!(q&1)){n=0;return n|0}i=(_(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;do if(p){if(!((g|0)>(u|0)|(g|0)==(u|0)&e>>>0>v>>>0)){n=0;return n|0}i=b[o+v>>0]|0;q=Ul(v|0,u|0,1,0)|0;m=d;f[m>>2]=q;f[m+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=Bd(a+88|0,c)|0;return n|0}function _e(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ri(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Mb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Mb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(Oc(e,a,d)|0){d=f[g>>2]|0;Qe(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+56>>2]|0;if(d|0)lp(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}Yg(e);lp(e);u=c;return l|0}function af(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Na,f=Na,g=Na,h=Na,i=Na,j=Na,k=0.0,l=Na,m=Na,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Na,u=Na,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=$(h+g);j=$(g-h);k=-1.0;l=g;m=h}else{i=e;j=f;k=1.0;l=b;m=c}c=$(+l*2.0+-1.0);l=$(+m*2.0+-1.0);o=+i*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}else{m=$($(1.0)/$(L($(i))));i=$(m*j);n[d>>2]=i;t=$(m*l);u=$(m*c);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}}function bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{mk(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;cn(m,13388);f[m>>2]=4744;va(m|0,1128,101)}m=Yk(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{lp(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=dj(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=dj(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;nd(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;mk(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function ff(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=Yk(384)|0;bi(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ua[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}case 1:{c=Yk(424)|0;ph(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Ua[f[(f[d>>2]|0)+4>>2]&127](d);m=11}break}case 2:{d=Yk(440)|0;Vg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ua[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}default:m=11}if((m|0)==11){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Qa[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Uh(c)|0;if(i>>>0>4294967279)Do(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=Yk(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){Jf(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=Uh(d)|0;if(i>>>0>4294967279)Do(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=Yk(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){Jf(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Fd(i,g,h)|0,(o|0)!=0):0)q=cj(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)lp(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}lp(f[g>>2]|0);u=e;return q|0}function hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;lp(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Do(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Do(a);i=Yk(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)mk(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Gh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)Do(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{n=Yk(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Gh(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Ua[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;lp(p);return}function kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Do(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;cn(e,13388);f[e>>2]=4744;va(e|0,1128,101)}else{l=Yk(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;Ch(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=l;l=g;g=e;do{e=g+-12|0;j=j+-12|0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];f[e+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=l+-12|0;l=g}while((j|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;lp(n);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(j>>>0>k>>>0){m=j;n=((m-l>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-m|0;m=p>>2;if(!m)q=j;else{mk(o|0,j|0,p|0)|0;q=f[i>>2]|0}p=o+(m<<2)|0;f[c>>2]=p;f[i>>2]=q+(n<<2);r=p;break}p=h-l>>1;l=(p|0)==0?1:p;if(l>>>0>1073741823){p=ra(8)|0;cn(p,13388);f[p>>2]=4744;va(p|0,1128,101)}p=Yk(l<<2)|0;n=p;m=p+(l>>>2<<2)|0;o=m;s=p+(l<<2)|0;if((j|0)==(d|0)){t=o;u=k}else{k=m;m=o;l=j;do{f[k>>2]=f[l>>2];k=m+4|0;m=k;l=l+4|0}while((l|0)!=(d|0));t=m;u=f[a>>2]|0}f[a>>2]=n;f[i>>2]=o;f[c>>2]=t;f[e>>2]=s;if(!u)r=t;else{lp(u);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)mk(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;Jf(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);lp(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)Do(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)Do(a);j=Yk(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;Jf(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Ul(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}i=d;f[i>>2]=m;f[i+4>>2]=p;if(!(q&1)){n=0;return n|0}i=(_(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}i=b[o+m>>0]|0;q=Ul(k|0,l|0,9,0)|0;r=d;f[r>>2]=q;f[r+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=Bd(a+88|0,c)|0;return n|0}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=Yk(64)|0;g=Yk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=3416;f[g+8>>2]=h;f[d>>2]=g;wj(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){jf(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(n|0)!=(m|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Ua[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Ua[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Ua[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=-1;i=b;j=0}else{h=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;i=b;j=0}}else{h=-1;i=-1;j=1}if((g|0)!=(h|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(j){l=-1;m=-1;n=i;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(j){l=-1;m=e;n=i;break}else o=e}e=i+1|0;b=((e>>>0)%3|0|0)==0?i+-2|0:e;if((b|0)==-1){l=-1;m=o;n=i}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=i}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(Cc(e,c)|0){g=0;return g|0}a=$b(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Eg(c+8|0);lp(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)lp(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)lp(a);lp(d);g=1;return g|0}function rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))cg(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){hh(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;lp(b)}lp(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);lp(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;lp(e)}lp(h)}lp(c);u=d;return}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=lm(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=lm(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function tf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3608;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}vg(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){mh(i);lp(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g)}mh(a);lp(a);return}function uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=dj(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=dj(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Ue(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{Xe(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Xe(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Xe(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];mf(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)Do(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;cn(i,13388);f[i>>2]=4744;va(i|0,1128,101)}else{l=Yk(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)Jf(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;lp(e);return}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Do(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{k=Yk(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){mh(n);lp(n)}}while((h|0)!=(g|0))}if(!m)return;lp(m);return}function zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Mj(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(Yj(5)|0,d)|0;Xh(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=Yk(96)|0;zj(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);Nh(j,c)|0;f[h>>2]=j;uh(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;lp(h)}lp(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);lp(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;lp(j)}lp(c)}lp(a);u=e;return}function Af(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function Bf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=ip(k)|0;Gh(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;Ec(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){jp(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;Ec(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));jp(l);u=g;return 1}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;rf(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);lp(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;lp(c)}lp(h)}lp(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){hg(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function Df(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+172|0;d=f[c>>2]|0;do if((d|0)==-1){e=f[a+144>>2]|0;g=Pa[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(((h[g+36>>0]<<8|h[g+37>>0])&65535)<514)if(b[a+76>>0]|0){g=a+72|0;e=f[g>>2]|0;i=f[a+64>>2]|0;j=f[a+68>>2]|0;k=i+(e>>>3)|0;if(k>>>0>>0?(l=h[k>>0]|0,k=e+1|0,f[g>>2]=k,(1<<(e&7)&l|0)!=0):0){l=i+(k>>>3)|0;if(l>>>0>>0){m=(h[l>>0]|0)>>>(k&7)&1;l=e+2|0;f[g>>2]=l;n=m;o=l}else{n=0;o=k}k=i+(o>>>3)|0;if(k>>>0>>0){j=(h[k>>0]|0)>>>(o&7);f[g>>2]=o+1;p=j<<1&2}else p=0;q=(p|n)<<1|1}else q=0}else q=1;else q=7}else{j=(f[a+196>>2]|0)+(d<<2)|0;g=f[j>>2]|0;k=g+-1|0;f[j>>2]=k;if((g|0)<1){r=9;return r|0}else{q=f[3328+(f[(f[(f[a+184>>2]|0)+((f[c>>2]|0)*12|0)>>2]|0)+(k<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=q;r=q;return r|0}function Ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0;do if(c){if((j[a+38>>1]|0)>=514){if(qh(d,a)|0)break;else e=0;return e|0}g=a+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=a+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){e=0;return e|0}else{n=(f[a>>2]|0)+m|0;m=n;i=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=n+4|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;l=m;b[l>>0]=i;b[l+1>>0]=i>>8;b[l+2>>0]=i>>16;b[l+3>>0]=i>>24;i=m+4|0;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;n=g;i=Ul(f[n>>2]|0,f[n+4>>2]|0,8,0)|0;n=g;f[n>>2]=i;f[n+4>>2]=I;break}}while(0);b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;n=(f[a>>2]|0)+c|0;i=a+8|0;g=Wl(f[i>>2]|0,f[i+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=n;f[a+28>>2]=n+g;e=1;return e|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=ip(k)|0;Gh(l|0,0,k|0)|0;k=a+8|0;a=f[l>>2]|0;m=f[l+4>>2]|0;n=f[b+4>>2]|0;f[h>>2]=f[b>>2];f[h+4>>2]=n;f[j>>2]=a;f[j+4>>2]=m;ld(i,k,j,h);f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];if((e|0)>=(d|0)){jp(l);u=g;return 1}m=0-e|0;a=h+4|0;n=j+4|0;o=i+4|0;p=e;do{q=c+(p<<2)|0;r=q+(m<<2)|0;s=b+(p<<2)|0;t=f[r>>2]|0;v=f[r+4>>2]|0;r=f[s+4>>2]|0;f[h>>2]=f[s>>2];f[a>>2]=r;f[j>>2]=t;f[n>>2]=v;ld(i,k,j,h);f[q>>2]=f[i>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));jp(l);u=g;return 1}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;Rh(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){Rh(g,f[a>>2]|0)|0;k=Yk(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(Jc(a,k)|0))break;f[h>>2]=k;wi(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){mh(l);lp(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}mh(k);lp(k);m=0}while(0);if((j|0)==8)m=Jc(a,c)|0;i=m;u=d;return i|0}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)Do(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Tm(a,j,(e&255)+1|0)|0;lp(j);o=16}}else{j=k+1|0;p=Yk(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Tm(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Tm(n,m,(f[j>>2]|0)+1|0)|0;lp(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function If(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Yk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));lk(c);f[c>>2]=3528;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Yk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));lk(c);f[c>>2]=3484;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;j=11689;i=h+28|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Ch(c,g);f[a>>2]=f[e>>2];Ch(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=d;return}}}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function Kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Rg(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function Lf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(Gn(a,f[c+8>>2]|0,g)|0)){if(!(Gn(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Ya[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;Za[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else Pk(0,c,d,e);while(0);return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=a+16|0;ei(d,b);f[a+28>>2]=0;b=f[a+20>>2]|0;e=f[d>>2]|0;d=e;if((b|0)!=(e|0)){g=(b-e|0)/20|0;e=0;b=0;do{h=X(f[d+(e*20|0)+12>>2]|0,f[d+(e*20|0)+4>>2]|0)|0;i=X(h,f[d+(e*20|0)+16>>2]|0)|0;b=b>>>0>>0?i:b;e=e+1|0}while(e>>>0>>0);g=f[c>>2]|0;e=f[a>>2]|0;d=g-e|0;if(b>>>0>d>>>0){Ug(a,b-d|0);j=f[a>>2]|0;k=a+12|0;f[k>>2]=j;return}else{l=b;m=g;n=e;o=d}}else{d=f[c>>2]|0;e=f[a>>2]|0;l=0;m=d;n=e;o=d-e|0}if(l>>>0>=o>>>0){j=n;k=a+12|0;f[k>>2]=j;return}o=n+l|0;if((o|0)==(m|0)){j=n;k=a+12|0;f[k>>2]=j;return}f[c>>2]=o;j=n;k=a+12|0;f[k>>2]=j;return}function Nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Dc(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=Yk(40)|0;Ch(c+16|0,d);Ch(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Ed(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function Of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)Do(a);n=j<<6;j=c+31&-32;Mg(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)lp(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Gh(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Gh(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}} -function _a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4114]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=16496+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4114]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4116]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=16496+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4119]|0;h=m>>>3;l=16496+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4116]=j;f[4119]=k;o=e;u=b;return o|0}e=f[4115]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[16760+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=16760+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[4115]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[4119]|0;n=m>>>3;i=16496+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[4116]=v;f[4119]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[4115]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[16760+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[16760+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[4116]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=16760+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=16496+(j<<1<<2)|0;d=f[4114]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=16760+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4115]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[4116]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[4119]|0;if(T>>>0>15){_=$+B|0;f[4119]=_;f[4116]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[4116]=0;f[4119]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[4117]|0;if($>>>0>B>>>0){T=$-B|0;f[4117]=T;S=f[4120]|0;_=S+B|0;f[4120]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[4232]|0)){f[4234]=4096;f[4233]=4096;f[4235]=-1;f[4236]=-1;f[4237]=0;f[4225]=0;f[4232]=c&-16^1431655768;aa=4096}else aa=f[4234]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4224]|0;if(X|0?(Y=f[4222]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4225]&4)){X=f[4120]|0;c:do if(X){Z=16904;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Sj(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Sj(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[4233]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[4222]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[4224]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Sj(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[4234]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Sj(X|0)|0)==(-1|0)){Sj(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[4225]=f[4225]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Sj(aa|0)|0,aa=Sj(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[4222]|0)+da|0;f[4222]=ca;if(ca>>>0>(f[4223]|0)>>>0)f[4223]=ca;ca=f[4120]|0;do if(ca){ha=16904;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[4117]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[4120]=ga;f[4117]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[4121]=f[4236];break}if(ea>>>0<(f[4118]|0)>>>0)f[4118]=ea;fa=ea+da|0;S=16904;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=16904;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[4119]|0)==(aa|0)){ba=(f[4116]|0)+c|0;f[4116]=ba;f[4119]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[4114]=f[4114]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=16760+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[4115]=f[4115]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=16496+($<<1<<2)|0;Z=f[4114]|0;Y=1<<$;if(!(Z&Y)){f[4114]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=16760+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4115]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[4117]|0)+c|0;f[4117]=ba;f[4120]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=16904;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[4120]=fa;f[4117]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[4121]=f[4236];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[4226];f[c+4>>2]=f[4227];f[c+8>>2]=f[4228];f[c+12>>2]=f[4229];f[4226]=ea;f[4227]=da;f[4229]=0;f[4228]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=16496+(ba<<1<<2)|0;S=f[4114]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=16760+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[4115]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[4118]|0;if((c|0)==0|ea>>>0>>0)f[4118]=ea;f[4226]=ea;f[4227]=da;f[4229]=0;f[4123]=f[4232];f[4122]=-1;f[4127]=16496;f[4126]=16496;f[4129]=16504;f[4128]=16504;f[4131]=16512;f[4130]=16512;f[4133]=16520;f[4132]=16520;f[4135]=16528;f[4134]=16528;f[4137]=16536;f[4136]=16536;f[4139]=16544;f[4138]=16544;f[4141]=16552;f[4140]=16552;f[4143]=16560;f[4142]=16560;f[4145]=16568;f[4144]=16568;f[4147]=16576;f[4146]=16576;f[4149]=16584;f[4148]=16584;f[4151]=16592;f[4150]=16592;f[4153]=16600;f[4152]=16600;f[4155]=16608;f[4154]=16608;f[4157]=16616;f[4156]=16616;f[4159]=16624;f[4158]=16624;f[4161]=16632;f[4160]=16632;f[4163]=16640;f[4162]=16640;f[4165]=16648;f[4164]=16648;f[4167]=16656;f[4166]=16656;f[4169]=16664;f[4168]=16664;f[4171]=16672;f[4170]=16672;f[4173]=16680;f[4172]=16680;f[4175]=16688;f[4174]=16688;f[4177]=16696;f[4176]=16696;f[4179]=16704;f[4178]=16704;f[4181]=16712;f[4180]=16712;f[4183]=16720;f[4182]=16720;f[4185]=16728;f[4184]=16728;f[4187]=16736;f[4186]=16736;f[4189]=16744;f[4188]=16744;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[4120]=ba;f[4117]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[4121]=f[4236]}while(0);ea=f[4117]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4117]=da;ea=f[4120]|0;ca=ea+B|0;f[4120]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=sp()|0;f[ea>>2]=12;o=0;u=b;return o|0}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+232|0;v=a+420|0;w=a+308|0;x=a+416|0;y=a+304|0;z=a+296|0;A=a+300|0;B=a+8|0;C=i+4|0;D=a+388|0;E=k+8|0;F=g+8|0;G=a+36|0;H=a+40|0;I=c+-1|0;J=a+400|0;K=0;b:while(1){L=K+1|0;if((f[v>>2]|0)!=-1?Qi(J)|0:0){M=f[v>>2]|0;f[x>>2]=M;if(!M)N=17;else{O=M;N=32}}else N=6;c:do if((N|0)==6){N=0;do if(!(b[w>>0]|0))P=1;else{M=f[y>>2]|0;Q=f[z>>2]|0;R=f[A>>2]|0;S=Q+(M>>>3)|0;if(S>>>0>>0?(T=h[S>>0]|0,S=M+1|0,f[y>>2]=S,1<<(M&7)&T|0):0){T=Q+(S>>>3)|0;if(T>>>0>>0){U=(h[T>>0]|0)>>>(S&7)&1;T=M+2|0;f[y>>2]=T;V=U;W=T}else{V=0;W=S}S=Q+(W>>>3)|0;if(S>>>0>>0){R=(h[S>>0]|0)>>>(W&7);f[y>>2]=W+1;X=R<<1&2}else X=0;P=(X|V)<<1|1;break}f[x>>2]=0;N=17;break c}while(0);f[x>>2]=P;O=P;N=32}while(0);d:do if((N|0)==17){N=0;R=f[o>>2]|0;if((f[g>>2]|0)==(R|0)){Y=-1;N=193;break a}S=R+-4|0;Q=f[S>>2]|0;T=f[B>>2]|0;U=(Q|0)==-1;M=Q+1|0;if(!U?(Z=((M>>>0)%3|0|0)==0?Q+-2|0:M,(Z|0)!=-1):0)_=f[(f[T>>2]|0)+(Z<<2)>>2]|0;else _=-1;Z=f[T+24>>2]|0;M=f[Z+(_<<2)>>2]|0;aa=M+1|0;if((M|0)==-1)ba=-1;else ba=((aa>>>0)%3|0|0)==0?M+-2|0:aa;aa=K*3|0;M=aa+1|0;ca=f[T+12>>2]|0;f[ca+(Q<<2)>>2]=M;f[ca+(M<<2)>>2]=Q;da=aa+2|0;f[ca+(ba<<2)>>2]=da;f[ca+(da<<2)>>2]=ba;ca=f[T>>2]|0;f[ca+(aa<<2)>>2]=_;T=ba+1|0;if((ba|0)!=-1?(ea=((T>>>0)%3|0|0)==0?ba+-2|0:T,(ea|0)!=-1):0)fa=f[ca+(ea<<2)>>2]|0;else fa=-1;f[ca+(M<<2)>>2]=fa;if(!U?(U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(U|0)!=-1):0){Q=f[ca+(U<<2)>>2]|0;f[ca+(da<<2)>>2]=Q;if((Q|0)!=-1)f[Z+(Q<<2)>>2]=da}else f[ca+(da<<2)>>2]=-1;da=(f[r>>2]|0)+(_>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(_&31));f[S>>2]=aa;f[l>>2]=f[R+-4>>2];f[e>>2]=f[l>>2];Nc(t,e)}else if((N|0)==32){N=0;R=(O|0)==5;switch(O|0){case 3:case 5:{aa=f[o>>2]|0;if((f[g>>2]|0)==(aa|0)){Y=-1;N=193;break a}S=f[aa+-4>>2]|0;aa=K*3|0;da=R?aa:aa+2|0;ca=aa+(R&1)|0;Q=(R?2:1)+aa|0;R=f[B>>2]|0;Z=f[R+12>>2]|0;f[Z+(Q<<2)>>2]=S;f[Z+(S<<2)>>2]=Q;Z=R+24|0;U=R+28|0;M=f[U>>2]|0;if((M|0)==(f[R+32>>2]|0)){hh(Z,3112);ga=f[U>>2]|0}else{f[M>>2]=-1;R=M+4|0;f[U>>2]=R;ga=R}R=ga-(f[Z>>2]|0)>>2;Z=R+-1|0;U=f[B>>2]|0;M=f[U+24>>2]|0;ea=M;if(((f[U+28>>2]|0)-M>>2|0)>(s|0)){Y=-1;N=193;break a}M=f[U>>2]|0;f[M+(Q<<2)>>2]=Z;if(R|0)f[ea+(Z<<2)>>2]=Q;if((S|0)!=-1){Q=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((Q|0)!=-1){Z=f[M+(Q<<2)>>2]|0;f[M+(da<<2)>>2]=Z;if((Z|0)!=-1)f[ea+(Z<<2)>>2]=da}else f[M+(da<<2)>>2]=-1;Z=S+1|0;ea=((Z>>>0)%3|0|0)==0?S+-2|0:Z;if((ea|0)==-1)ha=-1;else ha=f[M+(ea<<2)>>2]|0}else{f[M+(da<<2)>>2]=-1;ha=-1}f[M+(ca<<2)>>2]=ha;ca=f[o>>2]|0;f[ca+-4>>2]=aa;ia=ca;break}case 1:{ca=f[g>>2]|0;aa=f[o>>2]|0;if((ca|0)==(aa|0)){Y=-1;N=193;break a}M=aa+-4|0;da=f[M>>2]|0;f[o>>2]=M;ea=f[C>>2]|0;e:do if(ea){Z=ea+-1|0;S=(Z&ea|0)==0;if(!S)if(K>>>0>>0)ja=K;else ja=(K>>>0)%(ea>>>0)|0;else ja=Z&K;Q=f[(f[i>>2]|0)+(ja<<2)>>2]|0;if((Q|0)!=0?(R=f[Q>>2]|0,(R|0)!=0):0){f:do if(S){Q=R;while(1){U=f[Q+4>>2]|0;T=(U|0)==(K|0);if(!(T|(U&Z|0)==(ja|0))){ka=ca;la=M;break e}if(T?(f[Q+8>>2]|0)==(K|0):0){ma=Q;break f}Q=f[Q>>2]|0;if(!Q){ka=ca;la=M;break e}}}else{Q=R;while(1){T=f[Q+4>>2]|0;if((T|0)==(K|0)){if((f[Q+8>>2]|0)==(K|0)){ma=Q;break f}}else{if(T>>>0>>0)na=T;else na=(T>>>0)%(ea>>>0)|0;if((na|0)!=(ja|0)){ka=ca;la=M;break e}}Q=f[Q>>2]|0;if(!Q){ka=ca;la=M;break e}}}while(0);R=ma+12|0;if((M|0)==(f[F>>2]|0)){hh(g,R);ka=f[g>>2]|0;la=f[o>>2]|0;break}else{f[M>>2]=f[R>>2];f[o>>2]=aa;ka=ca;la=aa;break}}else{ka=ca;la=M}}else{ka=ca;la=M}while(0);if((ka|0)==(la|0)){Y=-1;N=193;break a}M=f[la+-4>>2]|0;ca=(M|0)==-1;if(!ca?(f[(f[(f[B>>2]|0)+12>>2]|0)+(M<<2)>>2]|0)!=-1:0){Y=-1;N=193;break a}aa=(da|0)==-1;ea=f[B>>2]|0;R=f[ea+12>>2]|0;if(!aa?(f[R+(da<<2)>>2]|0)!=-1:0){Y=-1;N=193;break a}Z=K*3|0;S=Z+2|0;f[R+(M<<2)>>2]=S;f[R+(S<<2)>>2]=M;Q=Z+1|0;f[R+(da<<2)>>2]=Q;f[R+(Q<<2)>>2]=da;if(!ca){ca=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((ca|0)==-1)oa=-1;else oa=f[(f[ea>>2]|0)+(ca<<2)>>2]|0;ca=f[ea>>2]|0;f[ca+(Z<<2)>>2]=oa;T=M+1|0;U=((T>>>0)%3|0|0)==0?M+-2|0:T;if((U|0)==-1){pa=-1;qa=oa;ra=ca;sa=ea}else{pa=f[ca+(U<<2)>>2]|0;qa=oa;ra=ca;sa=ea}}else{ca=f[ea>>2]|0;f[ca+(Z<<2)>>2]=-1;pa=-1;qa=-1;ra=ca;sa=ea}f[ra+(Q<<2)>>2]=pa;if(!aa){aa=(((da>>>0)%3|0|0)==0?2:-1)+da|0;if((aa|0)!=-1){Q=f[ra+(aa<<2)>>2]|0;f[ra+(S<<2)>>2]=Q;if((Q|0)!=-1)f[(f[ea+24>>2]|0)+(Q<<2)>>2]=S}else f[ra+(S<<2)>>2]=-1;Q=da+1|0;aa=((Q>>>0)%3|0|0)==0?da+-2|0:Q;if((aa|0)==-1){ta=-1;ua=-1}else{ta=f[ra+(aa<<2)>>2]|0;ua=aa}}else{f[ra+(S<<2)>>2]=-1;ta=-1;ua=-1}f[e>>2]=ta;S=f[D>>2]|0;aa=S+(qa<<2)|0;f[aa>>2]=(f[aa>>2]|0)+(f[S+(ta<<2)>>2]|0);S=f[ea+24>>2]|0;if((qa|0)!=-1)f[S+(qa<<2)>>2]=f[S+(f[e>>2]<<2)>>2];g:do if((ua|0)!=-1){ea=f[sa>>2]|0;aa=ua;do{f[ea+(aa<<2)>>2]=qa;Q=aa+1|0;ca=((Q>>>0)%3|0|0)==0?aa+-2|0:Q;if((ca|0)==-1)break g;Q=f[R+(ca<<2)>>2]|0;ca=Q+1|0;if((Q|0)==-1)break g;aa=((ca>>>0)%3|0|0)==0?Q+-2|0:ca}while((aa|0)!=-1)}while(0);f[S+(f[e>>2]<<2)>>2]=-1;do if(q){R=f[p>>2]|0;if((R|0)==(f[E>>2]|0)){hh(k,e);va=f[o>>2]|0;break}else{f[R>>2]=f[e>>2];f[p>>2]=R+4;va=la;break}}else va=la;while(0);f[va+-4>>2]=Z;f[l>>2]=f[va+-4>>2];f[e>>2]=f[l>>2];Nc(t,e);break d;break}case 7:{f[e>>2]=K*3;S=f[B>>2]|0;R=S+24|0;da=S+28|0;aa=f[da>>2]|0;if((aa|0)==(f[S+32>>2]|0)){hh(R,3112);wa=f[da>>2]|0}else{f[aa>>2]=-1;S=aa+4|0;f[da>>2]=S;wa=S}S=wa-(f[R>>2]|0)>>2;R=S+-1|0;da=f[B>>2]|0;aa=f[e>>2]|0;ea=f[da>>2]|0;f[ea+(aa<<2)>>2]=R;ca=da+24|0;Q=da+28|0;U=f[Q>>2]|0;if((U|0)==(f[da+32>>2]|0)){hh(ca,3112);xa=f[Q>>2]|0;ya=f[da>>2]|0}else{f[U>>2]=-1;da=U+4|0;f[Q>>2]=da;xa=da;ya=ea}f[ya+(aa+1<<2)>>2]=(xa-(f[ca>>2]|0)>>2)+-1;ca=f[B>>2]|0;aa=(f[e>>2]|0)+2|0;ea=ca+24|0;da=ca+28|0;Q=f[da>>2]|0;if((Q|0)==(f[ca+32>>2]|0)){hh(ea,3112);za=f[da>>2]|0}else{f[Q>>2]=-1;U=Q+4|0;f[da>>2]=U;za=U}f[(f[ca>>2]|0)+(aa<<2)>>2]=(za-(f[ea>>2]|0)>>2)+-1;ea=f[B>>2]|0;aa=f[ea+24>>2]|0;ca=aa;if(((f[ea+28>>2]|0)-aa>>2|0)>(s|0))break b;aa=f[e>>2]|0;if(S){f[ca+(R<<2)>>2]=aa;if((S|0)!=-1){f[ca+(S<<2)>>2]=(f[e>>2]|0)+1;R=S+1|0;if((R|0)!=-1){Aa=R;N=116}}else{Aa=0;N=116}}else{f[ca+(S<<2)>>2]=aa+1;Aa=1;N=116}if((N|0)==116){N=0;f[ca+(Aa<<2)>>2]=(f[e>>2]|0)+2}ca=f[o>>2]|0;if((ca|0)==(f[F>>2]|0)){hh(g,e);Ba=f[o>>2]|0}else{f[ca>>2]=f[e>>2];aa=ca+4|0;f[o>>2]=aa;Ba=aa}ia=Ba;break}default:{Y=-1;N=193;break a}}f[l>>2]=f[ia+-4>>2];f[e>>2]=f[l>>2];Nc(t,e);aa=c-K+-1|0;ca=f[H>>2]|0;if((ca|0)!=(f[G>>2]|0)){S=ca;do{ca=S;R=f[ca+-8>>2]|0;if(R>>>0>aa>>>0){Y=-1;N=193;break a}if((R|0)!=(aa|0))break d;R=b[ca+-4>>0]|0;ea=f[ca+-12>>2]|0;f[H>>2]=ca+-12;if((ea|0)<0){Y=-1;N=193;break a}ca=f[(f[o>>2]|0)+-4>>2]|0;U=(ca|0)==-1;do if(!(R&1))if(!U)if(!((ca>>>0)%3|0)){Ca=ca+2|0;break}else{Ca=ca+-1|0;break}else Ca=-1;else{da=ca+1|0;if(U)Ca=-1;else Ca=((da>>>0)%3|0|0)==0?ca+-2|0:da}while(0);f[e>>2]=I-ea;ca=_c(i,e)|0;f[ca>>2]=Ca;S=f[H>>2]|0}while((S|0)!=(f[G>>2]|0))}}while(0);if((L|0)<(c|0))K=L;else{Da=L;Ea=B;N=135;break a}}Y=-1;N=193}else{Da=0;Ea=a+8|0;N=135}while(0);h:do if((N|0)==135){c=f[Ea>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){Ca=f[o>>2]|0;do if((Ca|0)!=(f[g>>2]|0)){l=a+270|0;ia=a+364|0;Ba=a+360|0;Aa=a+352|0;za=a+356|0;xa=a+60|0;ya=a+64|0;wa=a+68|0;va=a+76|0;la=a+80|0;q=a+72|0;qa=a+312|0;ua=Da;sa=Ca;i:while(1){ta=sa;f[e>>2]=f[ta+-4>>2];f[o>>2]=ta+-4;if((j[l>>1]|0)<514)if(b[ia>>0]|0){ta=f[Ba>>2]|0;ra=(f[Aa>>2]|0)+(ta>>>3)|0;if(ra>>>0<(f[za>>2]|0)>>>0){pa=(h[ra>>0]|0)>>>(ta&7)&1;f[Ba>>2]=ta+1;Fa=pa;N=143}else N=166}else N=144;else{Fa=(Qi(qa)|0)&1;N=143}if((N|0)==143){N=0;if(!Fa)N=166;else N=144}do if((N|0)==144){N=0;pa=f[Ea>>2]|0;ta=f[pa>>2]|0;ra=ta;if((ua|0)>=(((f[pa+4>>2]|0)-ta>>2>>>0)/3|0|0)){N=174;break i}ta=f[e>>2]|0;oa=ta+1|0;if((ta|0)!=-1?(ka=((oa>>>0)%3|0|0)==0?ta+-2|0:oa,(ka|0)!=-1):0)Ga=f[ra+(ka<<2)>>2]|0;else Ga=-1;ka=f[pa+24>>2]|0;oa=f[ka+(Ga<<2)>>2]|0;ma=oa+1|0;if((oa|0)!=-1?(ja=((ma>>>0)%3|0|0)==0?oa+-2|0:ma,ma=ja+1|0,(ja|0)!=-1):0){oa=((ma>>>0)%3|0|0)==0?ja+-2|0:ma;if((oa|0)==-1){Ha=-1;Ia=ja}else{Ha=f[ra+(oa<<2)>>2]|0;Ia=ja}}else{Ha=-1;Ia=-1}ja=f[ka+(Ha<<2)>>2]|0;ka=ja+1|0;if((ja|0)!=-1?(oa=((ka>>>0)%3|0|0)==0?ja+-2|0:ka,ka=oa+1|0,(oa|0)!=-1):0){ja=((ka>>>0)%3|0|0)==0?oa+-2|0:ka;if((ja|0)==-1){Ja=-1;Ka=oa}else{Ja=f[ra+(ja<<2)>>2]|0;Ka=oa}}else{Ja=-1;Ka=-1}oa=ua*3|0;f[m>>2]=oa;ja=f[pa+12>>2]|0;f[ja+(oa<<2)>>2]=ta;f[ja+(ta<<2)>>2]=oa;oa=(f[m>>2]|0)+1|0;f[ja+(oa<<2)>>2]=Ia;f[ja+(Ia<<2)>>2]=oa;oa=(f[m>>2]|0)+2|0;f[ja+(oa<<2)>>2]=Ka;f[ja+(Ka<<2)>>2]=oa;oa=f[m>>2]|0;ja=ra+(oa<<2)|0;f[ja>>2]=Ha;f[ra+(oa+1<<2)>>2]=Ja;f[ra+(oa+2<<2)>>2]=Ga;if((oa|0)==-1)La=-1;else La=f[ja>>2]|0;ja=f[r>>2]|0;oa=ja+(La>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(La&31));oa=(f[m>>2]|0)+1|0;if((oa|0)==-1)Ma=-1;else Ma=f[ra+(oa<<2)>>2]|0;oa=ja+(Ma>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Ma&31));oa=(f[m>>2]|0)+2|0;if((oa|0)==-1)Na=-1;else Na=f[ra+(oa<<2)>>2]|0;oa=ja+(Na>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Na&31));oa=ua+1|0;ja=f[ya>>2]|0;ra=f[wa>>2]|0;if((ja|0)==(ra<<5|0)){if((ja+1|0)<0){N=158;break i}ta=ra<<6;ra=ja+32&-32;Mg(xa,ja>>>0<1073741823?(ta>>>0>>0?ra:ta):2147483647);Oa=f[ya>>2]|0}else Oa=ja;f[ya>>2]=Oa+1;ja=(f[xa>>2]|0)+(Oa>>>5<<2)|0;f[ja>>2]=f[ja>>2]|1<<(Oa&31);ja=f[va>>2]|0;if((ja|0)==(f[la>>2]|0))hh(q,m);else{f[ja>>2]=f[m>>2];f[va>>2]=ja+4}Pa=oa}else if((N|0)==166){N=0;oa=f[ya>>2]|0;ja=f[wa>>2]|0;if((oa|0)==(ja<<5|0)){if((oa+1|0)<0){N=168;break i}ta=ja<<6;ja=oa+32&-32;Mg(xa,oa>>>0<1073741823?(ta>>>0>>0?ja:ta):2147483647);Qa=f[ya>>2]|0}else Qa=oa;f[ya>>2]=Qa+1;oa=(f[xa>>2]|0)+(Qa>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Qa&31));oa=f[va>>2]|0;if((oa|0)==(f[la>>2]|0)){hh(q,e);Pa=ua;break}else{f[oa>>2]=f[e>>2];f[va>>2]=oa+4;Pa=ua;break}}while(0);sa=f[o>>2]|0;if((sa|0)==(f[g>>2]|0)){N=175;break}else ua=Pa}if((N|0)==158)Do(xa);else if((N|0)==168)Do(xa);else if((N|0)==174){Y=-1;N=193;break h}else if((N|0)==175){Ra=Pa;Sa=f[Ea>>2]|0;break}}else{Ra=Da;Sa=c}while(0);if((Ra|0)==(((f[Sa+4>>2]|0)-(f[Sa>>2]|0)>>2>>>0)/3|0|0)){c=(f[Sa+28>>2]|0)-(f[Sa+24>>2]|0)>>2;Ca=f[k>>2]|0;ua=f[p>>2]|0;if((Ca|0)==(ua|0)){Ta=c;Ua=Ca}else{sa=e+4|0;va=e+8|0;q=e+12|0;la=c;c=Ca;Ca=Sa;while(1){ya=f[c>>2]|0;wa=la+-1|0;qa=f[Ca+24>>2]|0;if((f[qa+(wa<<2)>>2]|0)==-1){Ba=la;while(1){za=Ba+-1|0;Aa=Ba+-2|0;if((f[qa+(Aa<<2)>>2]|0)==-1)Ba=za;else{Va=za;Wa=Aa;break}}}else{Va=la;Wa=wa}if(Wa>>>0>>0){Xa=Va;Ya=Ca}else{f[e>>2]=Ca;Ba=f[qa+(Wa<<2)>>2]|0;f[sa>>2]=Ba;f[va>>2]=Ba;b[q>>0]=1;if((Ba|0)==-1){Za=qa;_a=Ca}else{xa=Ca;Aa=Ba;do{f[(f[xa>>2]|0)+(Aa<<2)>>2]=ya;ig(e);Aa=f[va>>2]|0;xa=f[Ea>>2]|0}while((Aa|0)!=-1);Za=f[xa+24>>2]|0;_a=xa}if((ya|0)==-1)$a=Za+(Wa<<2)|0;else{Aa=Za+(Wa<<2)|0;f[Za+(ya<<2)>>2]=f[Aa>>2];$a=Aa}f[$a>>2]=-1;Aa=f[r>>2]|0;qa=Aa+(Wa>>>5<<2)|0;wa=1<<(Wa&31);Ba=Aa+(ya>>>5<<2)|0;Aa=1<<(ya&31);if(!(f[qa>>2]&wa))ab=f[Ba>>2]&~Aa;else ab=f[Ba>>2]|Aa;f[Ba>>2]=ab;f[qa>>2]=f[qa>>2]&~wa;Xa=Va+-1|0;Ya=_a}c=c+4|0;if((c|0)==(ua|0)){Y=Xa;N=193;break}else{la=Xa;Ca=Ya}}}}else{Y=-1;N=193}}else{Y=-1;N=193}}while(0);if((N|0)==193){Ta=Y;Ua=f[k>>2]|0}if(Ua|0){k=f[p>>2]|0;if((k|0)!=(Ua|0))f[p>>2]=k+(~((k+-4-Ua|0)>>>2)<<2);lp(Ua)}Ua=f[i+8>>2]|0;if(Ua|0){k=Ua;do{Ua=k;k=f[k>>2]|0;lp(Ua)}while((k|0)!=0)}k=f[i>>2]|0;f[i>>2]=0;if(k|0)lp(k);k=f[g>>2]|0;if(!k){u=d;return Ta|0}g=f[o>>2]|0;if((g|0)!=(k|0))f[o>>2]=g+(~((g+-4-k|0)>>>2)<<2);lp(k);u=d;return Ta|0}function ab(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+232|0;v=a+8|0;w=a+36|0;x=a+40|0;y=c+-1|0;z=i+4|0;A=a+388|0;B=k+8|0;C=g+8|0;D=0;b:while(1){E=D+1|0;F=Df(t)|0;c:do if(F){G=(F|0)==5;switch(F|0){case 3:case 5:{H=f[o>>2]|0;if((f[g>>2]|0)==(H|0)){I=-1;J=181;break a}K=f[H+-4>>2]|0;H=D*3|0;L=G?H:H+2|0;M=H+(G&1)|0;N=(G?2:1)+H|0;G=f[v>>2]|0;O=f[G+12>>2]|0;f[O+(N<<2)>>2]=K;f[O+(K<<2)>>2]=N;O=G+24|0;P=G+28|0;Q=f[P>>2]|0;if((Q|0)==(f[G+32>>2]|0)){hh(O,3112);R=f[P>>2]|0}else{f[Q>>2]=-1;G=Q+4|0;f[P>>2]=G;R=G}G=R-(f[O>>2]|0)>>2;O=G+-1|0;P=f[v>>2]|0;Q=f[P+24>>2]|0;S=Q;if(((f[P+28>>2]|0)-Q>>2|0)>(s|0)){I=-1;J=181;break a}Q=f[P>>2]|0;f[Q+(N<<2)>>2]=O;if(G|0)f[S+(O<<2)>>2]=N;if((K|0)!=-1){N=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((N|0)!=-1){O=f[Q+(N<<2)>>2]|0;f[Q+(L<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=L}else f[Q+(L<<2)>>2]=-1;O=K+1|0;S=((O>>>0)%3|0|0)==0?K+-2|0:O;if((S|0)==-1)T=-1;else T=f[Q+(S<<2)>>2]|0}else{f[Q+(L<<2)>>2]=-1;T=-1}f[Q+(M<<2)>>2]=T;M=f[o>>2]|0;f[M+-4>>2]=H;U=M;break}case 1:{M=f[g>>2]|0;H=f[o>>2]|0;if((M|0)==(H|0)){I=-1;J=181;break a}Q=H+-4|0;L=f[Q>>2]|0;f[o>>2]=Q;S=f[z>>2]|0;d:do if(S){O=S+-1|0;K=(O&S|0)==0;if(!K)if(D>>>0>>0)V=D;else V=(D>>>0)%(S>>>0)|0;else V=O&D;N=f[(f[i>>2]|0)+(V<<2)>>2]|0;if((N|0)!=0?(G=f[N>>2]|0,(G|0)!=0):0){e:do if(K){N=G;while(1){P=f[N+4>>2]|0;W=(P|0)==(D|0);if(!(W|(P&O|0)==(V|0))){X=M;Y=Q;break d}if(W?(f[N+8>>2]|0)==(D|0):0){Z=N;break e}N=f[N>>2]|0;if(!N){X=M;Y=Q;break d}}}else{N=G;while(1){W=f[N+4>>2]|0;if((W|0)==(D|0)){if((f[N+8>>2]|0)==(D|0)){Z=N;break e}}else{if(W>>>0>>0)_=W;else _=(W>>>0)%(S>>>0)|0;if((_|0)!=(V|0)){X=M;Y=Q;break d}}N=f[N>>2]|0;if(!N){X=M;Y=Q;break d}}}while(0);G=Z+12|0;if((Q|0)==(f[C>>2]|0)){hh(g,G);X=f[g>>2]|0;Y=f[o>>2]|0;break}else{f[Q>>2]=f[G>>2];f[o>>2]=H;X=M;Y=H;break}}else{X=M;Y=Q}}else{X=M;Y=Q}while(0);if((X|0)==(Y|0)){I=-1;J=181;break a}Q=f[Y+-4>>2]|0;M=(Q|0)==-1;if(!M?(f[(f[(f[v>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0)!=-1:0){I=-1;J=181;break a}H=(L|0)==-1;S=f[v>>2]|0;G=f[S+12>>2]|0;if(!H?(f[G+(L<<2)>>2]|0)!=-1:0){I=-1;J=181;break a}O=D*3|0;K=O+2|0;f[G+(Q<<2)>>2]=K;f[G+(K<<2)>>2]=Q;N=O+1|0;f[G+(L<<2)>>2]=N;f[G+(N<<2)>>2]=L;if(!M){M=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((M|0)==-1)aa=-1;else aa=f[(f[S>>2]|0)+(M<<2)>>2]|0;M=f[S>>2]|0;f[M+(O<<2)>>2]=aa;W=Q+1|0;P=((W>>>0)%3|0|0)==0?Q+-2|0:W;if((P|0)==-1){ba=-1;ca=aa;da=M;ea=S}else{ba=f[M+(P<<2)>>2]|0;ca=aa;da=M;ea=S}}else{M=f[S>>2]|0;f[M+(O<<2)>>2]=-1;ba=-1;ca=-1;da=M;ea=S}f[da+(N<<2)>>2]=ba;if(!H){H=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((H|0)!=-1){N=f[da+(H<<2)>>2]|0;f[da+(K<<2)>>2]=N;if((N|0)!=-1)f[(f[S+24>>2]|0)+(N<<2)>>2]=K}else f[da+(K<<2)>>2]=-1;N=L+1|0;H=((N>>>0)%3|0|0)==0?L+-2|0:N;if((H|0)==-1){fa=-1;ga=-1}else{fa=f[da+(H<<2)>>2]|0;ga=H}}else{f[da+(K<<2)>>2]=-1;fa=-1;ga=-1}f[e>>2]=fa;K=f[A>>2]|0;H=K+(ca<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[K+(fa<<2)>>2]|0);K=f[S+24>>2]|0;if((ca|0)!=-1)f[K+(ca<<2)>>2]=f[K+(f[e>>2]<<2)>>2];f:do if((ga|0)!=-1){S=f[ea>>2]|0;H=ga;do{f[S+(H<<2)>>2]=ca;N=H+1|0;M=((N>>>0)%3|0|0)==0?H+-2|0:N;if((M|0)==-1)break f;N=f[G+(M<<2)>>2]|0;M=N+1|0;if((N|0)==-1)break f;H=((M>>>0)%3|0|0)==0?N+-2|0:M}while((H|0)!=-1)}while(0);f[K+(f[e>>2]<<2)>>2]=-1;do if(q){G=f[p>>2]|0;if((G|0)==(f[B>>2]|0)){hh(k,e);ha=f[o>>2]|0;break}else{f[G>>2]=f[e>>2];f[p>>2]=G+4;ha=Y;break}}else ha=Y;while(0);f[ha+-4>>2]=O;f[l>>2]=f[ha+-4>>2];f[e>>2]=f[l>>2];Uc(t,e);break c;break}case 7:{f[e>>2]=D*3;K=f[v>>2]|0;G=K+24|0;L=K+28|0;H=f[L>>2]|0;if((H|0)==(f[K+32>>2]|0)){hh(G,3112);ia=f[L>>2]|0}else{f[H>>2]=-1;K=H+4|0;f[L>>2]=K;ia=K}K=ia-(f[G>>2]|0)>>2;G=K+-1|0;L=f[v>>2]|0;H=f[e>>2]|0;S=f[L>>2]|0;f[S+(H<<2)>>2]=G;M=L+24|0;N=L+28|0;P=f[N>>2]|0;if((P|0)==(f[L+32>>2]|0)){hh(M,3112);ja=f[N>>2]|0;ka=f[L>>2]|0}else{f[P>>2]=-1;L=P+4|0;f[N>>2]=L;ja=L;ka=S}f[ka+(H+1<<2)>>2]=(ja-(f[M>>2]|0)>>2)+-1;M=f[v>>2]|0;H=(f[e>>2]|0)+2|0;S=M+24|0;L=M+28|0;N=f[L>>2]|0;if((N|0)==(f[M+32>>2]|0)){hh(S,3112);la=f[L>>2]|0}else{f[N>>2]=-1;P=N+4|0;f[L>>2]=P;la=P}f[(f[M>>2]|0)+(H<<2)>>2]=(la-(f[S>>2]|0)>>2)+-1;S=f[v>>2]|0;H=f[S+24>>2]|0;M=H;if(((f[S+28>>2]|0)-H>>2|0)>(s|0))break b;H=f[e>>2]|0;if(K){f[M+(G<<2)>>2]=H;if((K|0)!=-1){f[M+(K<<2)>>2]=(f[e>>2]|0)+1;G=K+1|0;if((G|0)!=-1){ma=G;J=104}}else{ma=0;J=104}}else{f[M+(K<<2)>>2]=H+1;ma=1;J=104}if((J|0)==104){J=0;f[M+(ma<<2)>>2]=(f[e>>2]|0)+2}M=f[o>>2]|0;if((M|0)==(f[C>>2]|0)){hh(g,e);na=f[o>>2]|0}else{f[M>>2]=f[e>>2];H=M+4|0;f[o>>2]=H;na=H}U=na;break}default:{I=-1;J=181;break a}}f[l>>2]=f[U+-4>>2];f[e>>2]=f[l>>2];Uc(t,e);H=c-D+-1|0;M=f[x>>2]|0;if((M|0)!=(f[w>>2]|0)){K=M;do{M=K;G=f[M+-8>>2]|0;if(G>>>0>H>>>0){I=-1;J=181;break a}if((G|0)!=(H|0))break c;G=b[M+-4>>0]|0;S=f[M+-12>>2]|0;f[x>>2]=M+-12;if((S|0)<0){I=-1;J=181;break a}M=f[(f[o>>2]|0)+-4>>2]|0;P=(M|0)==-1;do if(!(G&1))if(!P)if(!((M>>>0)%3|0)){oa=M+2|0;break}else{oa=M+-1|0;break}else oa=-1;else{L=M+1|0;if(P)oa=-1;else oa=((L>>>0)%3|0|0)==0?M+-2|0:L}while(0);f[e>>2]=y-S;M=_c(i,e)|0;f[M>>2]=oa;K=f[x>>2]|0}while((K|0)!=(f[w>>2]|0))}}else{K=f[o>>2]|0;if((f[g>>2]|0)==(K|0)){I=-1;J=181;break a}H=K+-4|0;O=f[H>>2]|0;M=f[v>>2]|0;P=(O|0)==-1;G=O+1|0;if(!P?(L=((G>>>0)%3|0|0)==0?O+-2|0:G,(L|0)!=-1):0)pa=f[(f[M>>2]|0)+(L<<2)>>2]|0;else pa=-1;L=f[M+24>>2]|0;G=f[L+(pa<<2)>>2]|0;N=G+1|0;if((G|0)==-1)qa=-1;else qa=((N>>>0)%3|0|0)==0?G+-2|0:N;N=D*3|0;G=N+1|0;W=f[M+12>>2]|0;f[W+(O<<2)>>2]=G;f[W+(G<<2)>>2]=O;Q=N+2|0;f[W+(qa<<2)>>2]=Q;f[W+(Q<<2)>>2]=qa;W=f[M>>2]|0;f[W+(N<<2)>>2]=pa;M=qa+1|0;if((qa|0)!=-1?(ra=((M>>>0)%3|0|0)==0?qa+-2|0:M,(ra|0)!=-1):0)sa=f[W+(ra<<2)>>2]|0;else sa=-1;f[W+(G<<2)>>2]=sa;if(!P?(P=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(P|0)!=-1):0){O=f[W+(P<<2)>>2]|0;f[W+(Q<<2)>>2]=O;if((O|0)!=-1)f[L+(O<<2)>>2]=Q}else f[W+(Q<<2)>>2]=-1;Q=(f[r>>2]|0)+(pa>>>5<<2)|0;f[Q>>2]=f[Q>>2]&~(1<<(pa&31));f[H>>2]=N;f[l>>2]=f[K+-4>>2];f[e>>2]=f[l>>2];Uc(t,e)}while(0);if((E|0)<(c|0))D=E;else{ta=E;ua=v;J=123;break a}}I=-1;J=181}else{ta=0;ua=a+8|0;J=123}while(0);g:do if((J|0)==123){c=f[ua>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){l=f[o>>2]|0;do if((l|0)!=(f[g>>2]|0)){pa=a+270|0;sa=a+364|0;qa=a+360|0;oa=a+352|0;U=a+356|0;na=a+60|0;ma=a+64|0;la=a+68|0;ja=a+76|0;ka=a+80|0;ia=a+72|0;ha=a+312|0;Y=ta;q=l;h:while(1){ca=q;f[e>>2]=f[ca+-4>>2];f[o>>2]=ca+-4;if((j[pa>>1]|0)<514)if(b[sa>>0]|0){ca=f[qa>>2]|0;ga=(f[oa>>2]|0)+(ca>>>3)|0;if(ga>>>0<(f[U>>2]|0)>>>0){ea=(h[ga>>0]|0)>>>(ca&7)&1;f[qa>>2]=ca+1;va=ea;J=131}else J=154}else J=132;else{va=(Qi(ha)|0)&1;J=131}if((J|0)==131){J=0;if(!va)J=154;else J=132}do if((J|0)==132){J=0;ea=f[ua>>2]|0;ca=f[ea>>2]|0;ga=ca;if((Y|0)>=(((f[ea+4>>2]|0)-ca>>2>>>0)/3|0|0)){J=162;break h}ca=f[e>>2]|0;fa=ca+1|0;if((ca|0)!=-1?(da=((fa>>>0)%3|0|0)==0?ca+-2|0:fa,(da|0)!=-1):0)wa=f[ga+(da<<2)>>2]|0;else wa=-1;da=f[ea+24>>2]|0;fa=f[da+(wa<<2)>>2]|0;ba=fa+1|0;if((fa|0)!=-1?(aa=((ba>>>0)%3|0|0)==0?fa+-2|0:ba,ba=aa+1|0,(aa|0)!=-1):0){fa=((ba>>>0)%3|0|0)==0?aa+-2|0:ba;if((fa|0)==-1){xa=-1;ya=aa}else{xa=f[ga+(fa<<2)>>2]|0;ya=aa}}else{xa=-1;ya=-1}aa=f[da+(xa<<2)>>2]|0;da=aa+1|0;if((aa|0)!=-1?(fa=((da>>>0)%3|0|0)==0?aa+-2|0:da,da=fa+1|0,(fa|0)!=-1):0){aa=((da>>>0)%3|0|0)==0?fa+-2|0:da;if((aa|0)==-1){za=-1;Aa=fa}else{za=f[ga+(aa<<2)>>2]|0;Aa=fa}}else{za=-1;Aa=-1}fa=Y*3|0;f[m>>2]=fa;aa=f[ea+12>>2]|0;f[aa+(fa<<2)>>2]=ca;f[aa+(ca<<2)>>2]=fa;fa=(f[m>>2]|0)+1|0;f[aa+(fa<<2)>>2]=ya;f[aa+(ya<<2)>>2]=fa;fa=(f[m>>2]|0)+2|0;f[aa+(fa<<2)>>2]=Aa;f[aa+(Aa<<2)>>2]=fa;fa=f[m>>2]|0;aa=ga+(fa<<2)|0;f[aa>>2]=xa;f[ga+(fa+1<<2)>>2]=za;f[ga+(fa+2<<2)>>2]=wa;if((fa|0)==-1)Ba=-1;else Ba=f[aa>>2]|0;aa=f[r>>2]|0;fa=aa+(Ba>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<(Ba&31));fa=(f[m>>2]|0)+1|0;if((fa|0)==-1)Ca=-1;else Ca=f[ga+(fa<<2)>>2]|0;fa=aa+(Ca>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<(Ca&31));fa=(f[m>>2]|0)+2|0;if((fa|0)==-1)Da=-1;else Da=f[ga+(fa<<2)>>2]|0;fa=aa+(Da>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<(Da&31));fa=Y+1|0;aa=f[ma>>2]|0;ga=f[la>>2]|0;if((aa|0)==(ga<<5|0)){if((aa+1|0)<0){J=146;break h}ca=ga<<6;ga=aa+32&-32;Mg(na,aa>>>0<1073741823?(ca>>>0>>0?ga:ca):2147483647);Ea=f[ma>>2]|0}else Ea=aa;f[ma>>2]=Ea+1;aa=(f[na>>2]|0)+(Ea>>>5<<2)|0;f[aa>>2]=f[aa>>2]|1<<(Ea&31);aa=f[ja>>2]|0;if((aa|0)==(f[ka>>2]|0))hh(ia,m);else{f[aa>>2]=f[m>>2];f[ja>>2]=aa+4}Fa=fa}else if((J|0)==154){J=0;fa=f[ma>>2]|0;aa=f[la>>2]|0;if((fa|0)==(aa<<5|0)){if((fa+1|0)<0){J=156;break h}ca=aa<<6;aa=fa+32&-32;Mg(na,fa>>>0<1073741823?(ca>>>0>>0?aa:ca):2147483647);Ga=f[ma>>2]|0}else Ga=fa;f[ma>>2]=Ga+1;fa=(f[na>>2]|0)+(Ga>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<(Ga&31));fa=f[ja>>2]|0;if((fa|0)==(f[ka>>2]|0)){hh(ia,e);Fa=Y;break}else{f[fa>>2]=f[e>>2];f[ja>>2]=fa+4;Fa=Y;break}}while(0);q=f[o>>2]|0;if((q|0)==(f[g>>2]|0)){J=163;break}else Y=Fa}if((J|0)==146)Do(na);else if((J|0)==156)Do(na);else if((J|0)==162){I=-1;J=181;break g}else if((J|0)==163){Ha=Fa;Ia=f[ua>>2]|0;break}}else{Ha=ta;Ia=c}while(0);if((Ha|0)==(((f[Ia+4>>2]|0)-(f[Ia>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ia+28>>2]|0)-(f[Ia+24>>2]|0)>>2;l=f[k>>2]|0;Y=f[p>>2]|0;if((l|0)==(Y|0)){Ja=c;Ka=l}else{q=e+4|0;ja=e+8|0;ia=e+12|0;ka=c;c=l;l=Ia;while(1){ma=f[c>>2]|0;la=ka+-1|0;ha=f[l+24>>2]|0;if((f[ha+(la<<2)>>2]|0)==-1){qa=ka;while(1){U=qa+-1|0;oa=qa+-2|0;if((f[ha+(oa<<2)>>2]|0)==-1)qa=U;else{La=U;Ma=oa;break}}}else{La=ka;Ma=la}if(Ma>>>0>>0){Na=La;Oa=l}else{f[e>>2]=l;qa=f[ha+(Ma<<2)>>2]|0;f[q>>2]=qa;f[ja>>2]=qa;b[ia>>0]=1;if((qa|0)==-1){Pa=ha;Qa=l}else{na=l;oa=qa;do{f[(f[na>>2]|0)+(oa<<2)>>2]=ma;ig(e);oa=f[ja>>2]|0;na=f[ua>>2]|0}while((oa|0)!=-1);Pa=f[na+24>>2]|0;Qa=na}if((ma|0)==-1)Ra=Pa+(Ma<<2)|0;else{oa=Pa+(Ma<<2)|0;f[Pa+(ma<<2)>>2]=f[oa>>2];Ra=oa}f[Ra>>2]=-1;oa=f[r>>2]|0;ha=oa+(Ma>>>5<<2)|0;la=1<<(Ma&31);qa=oa+(ma>>>5<<2)|0;oa=1<<(ma&31);if(!(f[ha>>2]&la))Sa=f[qa>>2]&~oa;else Sa=f[qa>>2]|oa;f[qa>>2]=Sa;f[ha>>2]=f[ha>>2]&~la;Na=La+-1|0;Oa=Qa}c=c+4|0;if((c|0)==(Y|0)){I=Na;J=181;break}else{ka=Na;l=Oa}}}}else{I=-1;J=181}}else{I=-1;J=181}}while(0);if((J|0)==181){Ja=I;Ka=f[k>>2]|0}if(Ka|0){k=f[p>>2]|0;if((k|0)!=(Ka|0))f[p>>2]=k+(~((k+-4-Ka|0)>>>2)<<2);lp(Ka)}Ka=f[i+8>>2]|0;if(Ka|0){k=Ka;do{Ka=k;k=f[k>>2]|0;lp(Ka)}while((k|0)!=0)}k=f[i>>2]|0;f[i>>2]=0;if(k|0)lp(k);k=f[g>>2]|0;if(!k){u=d;return Ja|0}g=f[o>>2]|0;if((g|0)!=(k|0))f[o>>2]=g+(~((g+-4-k|0)>>>2)<<2);lp(k);u=d;return Ja|0}function bb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;k=d+8|0;l=d;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;o=i+4|0;f[o>>2]=0;f[i+8>>2]=0;p=(f[a+216>>2]|0)==(f[a+220>>2]|0);q=a+120|0;r=f[a+124>>2]|0;a:do if((c|0)>0){s=a+308|0;t=g+4|0;v=a+8|0;w=i+8|0;x=e+8|0;y=a+304|0;z=a+296|0;A=a+300|0;B=a+36|0;C=a+40|0;D=c+-1|0;E=0;b:while(1){F=E+1|0;c:do if(!(b[s>>0]|0))G=43;else{H=f[y>>2]|0;I=f[z>>2]|0;J=f[A>>2]|0;K=I+(H>>>3)|0;if(K>>>0>>0?(L=h[K>>0]|0,K=H+1|0,f[y>>2]=K,1<<(H&7)&L|0):0){L=I+(K>>>3)|0;if(L>>>0>>0){M=(h[L>>0]|0)>>>(K&7)&1;L=H+2|0;f[y>>2]=L;N=M;O=L}else{N=0;O=K}K=I+(O>>>3)|0;if(K>>>0>>0){J=(h[K>>0]|0)>>>(O&7);f[y>>2]=O+1;P=J<<1&2}else P=0;J=(P|N)<<1|1;K=(J|0)==5;switch(J&7){case 1:{G=43;break c;break}case 3:case 5:{J=f[m>>2]|0;if((f[e>>2]|0)==(J|0)){Q=-1;G=188;break a}I=f[J+-4>>2]|0;J=E*3|0;L=K?J:J+2|0;M=J+(K&1)|0;H=(K?2:1)+J|0;K=f[v>>2]|0;R=f[K+12>>2]|0;f[R+(H<<2)>>2]=I;f[R+(I<<2)>>2]=H;R=K+24|0;S=K+28|0;T=f[S>>2]|0;if((T|0)==(f[K+32>>2]|0)){hh(R,3112);U=f[S>>2]|0}else{f[T>>2]=-1;K=T+4|0;f[S>>2]=K;U=K}K=U-(f[R>>2]|0)>>2;R=K+-1|0;S=f[v>>2]|0;T=f[S+24>>2]|0;V=T;if(((f[S+28>>2]|0)-T>>2|0)>(r|0)){Q=-1;G=188;break a}T=f[S>>2]|0;f[T+(H<<2)>>2]=R;if(K|0)f[V+(R<<2)>>2]=H;if((I|0)!=-1){H=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((H|0)!=-1){R=f[T+(H<<2)>>2]|0;f[T+(L<<2)>>2]=R;if((R|0)!=-1)f[V+(R<<2)>>2]=L}else f[T+(L<<2)>>2]=-1;R=I+1|0;V=((R>>>0)%3|0|0)==0?I+-2|0:R;if((V|0)==-1)W=-1;else W=f[T+(V<<2)>>2]|0}else{f[T+(L<<2)>>2]=-1;W=-1}f[T+(M<<2)>>2]=W;f[(f[m>>2]|0)+-4>>2]=J;break}case 7:{f[k>>2]=E*3;J=f[v>>2]|0;M=J+24|0;T=J+28|0;L=f[T>>2]|0;if((L|0)==(f[J+32>>2]|0)){hh(M,3112);X=f[T>>2]|0}else{f[L>>2]=-1;J=L+4|0;f[T>>2]=J;X=J}J=X-(f[M>>2]|0)>>2;M=J+-1|0;T=f[v>>2]|0;L=f[k>>2]|0;V=f[T>>2]|0;f[V+(L<<2)>>2]=M;R=T+24|0;I=T+28|0;H=f[I>>2]|0;if((H|0)==(f[T+32>>2]|0)){hh(R,3112);Y=f[I>>2]|0;Z=f[T>>2]|0}else{f[H>>2]=-1;T=H+4|0;f[I>>2]=T;Y=T;Z=V}f[Z+(L+1<<2)>>2]=(Y-(f[R>>2]|0)>>2)+-1;R=f[v>>2]|0;L=(f[k>>2]|0)+2|0;V=R+24|0;T=R+28|0;I=f[T>>2]|0;if((I|0)==(f[R+32>>2]|0)){hh(V,3112);_=f[T>>2]|0}else{f[I>>2]=-1;H=I+4|0;f[T>>2]=H;_=H}f[(f[R>>2]|0)+(L<<2)>>2]=(_-(f[V>>2]|0)>>2)+-1;V=f[v>>2]|0;L=f[V+24>>2]|0;R=L;if(((f[V+28>>2]|0)-L>>2|0)>(r|0)){G=114;break b}L=f[k>>2]|0;if(J){f[R+(M<<2)>>2]=L;if((J|0)!=-1){f[R+(J<<2)>>2]=(f[k>>2]|0)+1;M=J+1|0;if((M|0)!=-1){aa=M;G=109}}else{aa=0;G=109}}else{f[R+(J<<2)>>2]=L+1;aa=1;G=109}if((G|0)==109){G=0;f[R+(aa<<2)>>2]=(f[k>>2]|0)+2}R=f[m>>2]|0;if((R|0)==(f[x>>2]|0))hh(e,k);else{f[R>>2]=f[k>>2];f[m>>2]=R+4}break}default:{G=187;break b}}R=c-E+-1|0;L=f[C>>2]|0;if((L|0)==(f[B>>2]|0))break;else ba=L;while(1){L=ba;J=f[L+-8>>2]|0;if(J>>>0>R>>>0){Q=-1;G=188;break a}if((J|0)!=(R|0))break c;J=b[L+-4>>0]|0;M=f[L+-12>>2]|0;f[C>>2]=L+-12;if((M|0)<0){Q=-1;G=188;break a}L=f[(f[m>>2]|0)+-4>>2]|0;V=(L|0)==-1;do if(!(J&1))if(!V)if(!((L>>>0)%3|0)){ca=L+2|0;break}else{ca=L+-1|0;break}else ca=-1;else{H=L+1|0;if(V)ca=-1;else ca=((H>>>0)%3|0|0)==0?L+-2|0:H}while(0);f[k>>2]=D-M;L=_c(g,k)|0;f[L>>2]=ca;ba=f[C>>2]|0;if((ba|0)==(f[B>>2]|0))break c}}R=f[m>>2]|0;if((f[e>>2]|0)==(R|0)){Q=-1;G=188;break a}L=R+-4|0;R=f[L>>2]|0;V=f[v>>2]|0;J=(R|0)==-1;H=R+1|0;if(!J?(T=((H>>>0)%3|0|0)==0?R+-2|0:H,(T|0)!=-1):0)da=f[(f[V>>2]|0)+(T<<2)>>2]|0;else da=-1;T=f[V+24>>2]|0;H=f[T+(da<<2)>>2]|0;I=H+1|0;if((H|0)==-1)ea=-1;else ea=((I>>>0)%3|0|0)==0?H+-2|0:I;I=E*3|0;H=I+1|0;K=f[V+12>>2]|0;f[K+(R<<2)>>2]=H;f[K+(H<<2)>>2]=R;S=I+2|0;f[K+(ea<<2)>>2]=S;f[K+(S<<2)>>2]=ea;K=f[V>>2]|0;f[K+(I<<2)>>2]=da;V=ea+1|0;if((ea|0)!=-1?(fa=((V>>>0)%3|0|0)==0?ea+-2|0:V,(fa|0)!=-1):0)ga=f[K+(fa<<2)>>2]|0;else ga=-1;f[K+(H<<2)>>2]=ga;if(!J?(J=(((R>>>0)%3|0|0)==0?2:-1)+R|0,(J|0)!=-1):0){R=f[K+(J<<2)>>2]|0;f[K+(S<<2)>>2]=R;if((R|0)!=-1)f[T+(R<<2)>>2]=S}else f[K+(S<<2)>>2]=-1;S=(f[q>>2]|0)+(da>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(da&31));f[L>>2]=I}while(0);if((G|0)==43){G=0;I=f[e>>2]|0;L=f[m>>2]|0;if((I|0)==(L|0)){Q=-1;G=188;break a}S=L+-4|0;K=f[S>>2]|0;f[m>>2]=S;R=f[t>>2]|0;d:do if(R){T=R+-1|0;J=(T&R|0)==0;if(!J)if(E>>>0>>0)ha=E;else ha=(E>>>0)%(R>>>0)|0;else ha=T&E;H=f[(f[g>>2]|0)+(ha<<2)>>2]|0;if((H|0)!=0?(fa=f[H>>2]|0,(fa|0)!=0):0){e:do if(J){H=fa;while(1){V=f[H+4>>2]|0;ia=(V|0)==(E|0);if(!(ia|(V&T|0)==(ha|0))){ja=I;ka=S;break d}if(ia?(f[H+8>>2]|0)==(E|0):0){la=H;break e}H=f[H>>2]|0;if(!H){ja=I;ka=S;break d}}}else{H=fa;while(1){M=f[H+4>>2]|0;if((M|0)==(E|0)){if((f[H+8>>2]|0)==(E|0)){la=H;break e}}else{if(M>>>0>>0)ma=M;else ma=(M>>>0)%(R>>>0)|0;if((ma|0)!=(ha|0)){ja=I;ka=S;break d}}H=f[H>>2]|0;if(!H){ja=I;ka=S;break d}}}while(0);fa=la+12|0;if((S|0)==(f[x>>2]|0)){hh(e,fa);ja=f[e>>2]|0;ka=f[m>>2]|0;break}else{f[S>>2]=f[fa>>2];f[m>>2]=L;ja=I;ka=L;break}}else{ja=I;ka=S}}else{ja=I;ka=S}while(0);if((ja|0)==(ka|0)){Q=-1;G=188;break a}S=f[ka+-4>>2]|0;I=(S|0)==-1;if(!I?(f[(f[(f[v>>2]|0)+12>>2]|0)+(S<<2)>>2]|0)!=-1:0){Q=-1;G=188;break a}L=(K|0)==-1;R=f[v>>2]|0;fa=f[R+12>>2]|0;if(!L?(f[fa+(K<<2)>>2]|0)!=-1:0){Q=-1;G=188;break a}T=E*3|0;J=T+2|0;f[fa+(S<<2)>>2]=J;f[fa+(J<<2)>>2]=S;H=T+1|0;f[fa+(K<<2)>>2]=H;f[fa+(H<<2)>>2]=K;if(!I){I=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((I|0)==-1)na=-1;else na=f[(f[R>>2]|0)+(I<<2)>>2]|0;I=f[R>>2]|0;f[I+(T<<2)>>2]=na;M=S+1|0;ia=((M>>>0)%3|0|0)==0?S+-2|0:M;if((ia|0)==-1){oa=-1;pa=na;qa=I;ra=R}else{oa=f[I+(ia<<2)>>2]|0;pa=na;qa=I;ra=R}}else{I=f[R>>2]|0;f[I+(T<<2)>>2]=-1;oa=-1;pa=-1;qa=I;ra=R}f[qa+(H<<2)>>2]=oa;if(!L){L=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((L|0)!=-1){H=f[qa+(L<<2)>>2]|0;f[qa+(J<<2)>>2]=H;if((H|0)!=-1)f[(f[R+24>>2]|0)+(H<<2)>>2]=J}else f[qa+(J<<2)>>2]=-1;H=K+1|0;L=((H>>>0)%3|0|0)==0?K+-2|0:H;if((L|0)==-1){sa=-1;ta=-1}else{sa=f[qa+(L<<2)>>2]|0;ta=L}}else{f[qa+(J<<2)>>2]=-1;sa=-1;ta=-1}f[k>>2]=sa;J=f[R+24>>2]|0;if((pa|0)!=-1)f[J+(pa<<2)>>2]=f[J+(sa<<2)>>2];f:do if((ta|0)!=-1){R=f[ra>>2]|0;L=ta;do{f[R+(L<<2)>>2]=pa;H=L+1|0;I=((H>>>0)%3|0|0)==0?L+-2|0:H;if((I|0)==-1)break f;H=f[fa+(I<<2)>>2]|0;I=H+1|0;if((H|0)==-1)break f;L=((I>>>0)%3|0|0)==0?H+-2|0:I}while((L|0)!=-1)}while(0);f[J+(f[k>>2]<<2)>>2]=-1;do if(p){fa=f[o>>2]|0;if((fa|0)==(f[w>>2]|0)){hh(i,k);ua=f[m>>2]|0;break}else{f[fa>>2]=f[k>>2];f[o>>2]=fa+4;ua=ka;break}}else ua=ka;while(0);f[ua+-4>>2]=T}if((F|0)<(c|0))E=F;else{va=F;wa=v;G=129;break a}}if((G|0)==114){Q=-1;G=188;break}}else{va=0;wa=a+8|0;G=129}while(0);g:do if((G|0)==129){c=f[wa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(r|0)){ua=f[m>>2]|0;do if((ua|0)!=(f[e>>2]|0)){ka=a+270|0;p=a+364|0;pa=a+360|0;ta=a+352|0;ra=a+356|0;sa=a+60|0;qa=a+64|0;oa=a+68|0;na=a+76|0;ja=a+80|0;la=a+72|0;ha=a+312|0;ma=va;da=ua;h:while(1){ga=da;f[k>>2]=f[ga+-4>>2];f[m>>2]=ga+-4;if((j[ka>>1]|0)<514)if(b[p>>0]|0){ga=f[pa>>2]|0;ea=(f[ta>>2]|0)+(ga>>>3)|0;if(ea>>>0<(f[ra>>2]|0)>>>0){ba=(h[ea>>0]|0)>>>(ga&7)&1;f[pa>>2]=ga+1;xa=ba;G=137}else G=160}else G=138;else{xa=(Qi(ha)|0)&1;G=137}if((G|0)==137){G=0;if(!xa)G=160;else G=138}do if((G|0)==138){G=0;ba=f[wa>>2]|0;ga=f[ba>>2]|0;ea=ga;if((ma|0)>=(((f[ba+4>>2]|0)-ga>>2>>>0)/3|0|0)){G=168;break h}ga=f[k>>2]|0;ca=ga+1|0;if((ga|0)!=-1?(aa=((ca>>>0)%3|0|0)==0?ga+-2|0:ca,(aa|0)!=-1):0)ya=f[ea+(aa<<2)>>2]|0;else ya=-1;aa=f[ba+24>>2]|0;ca=f[aa+(ya<<2)>>2]|0;_=ca+1|0;if((ca|0)!=-1?(Y=((_>>>0)%3|0|0)==0?ca+-2|0:_,_=Y+1|0,(Y|0)!=-1):0){ca=((_>>>0)%3|0|0)==0?Y+-2|0:_;if((ca|0)==-1){za=-1;Aa=Y}else{za=f[ea+(ca<<2)>>2]|0;Aa=Y}}else{za=-1;Aa=-1}Y=f[aa+(za<<2)>>2]|0;aa=Y+1|0;if((Y|0)!=-1?(ca=((aa>>>0)%3|0|0)==0?Y+-2|0:aa,aa=ca+1|0,(ca|0)!=-1):0){Y=((aa>>>0)%3|0|0)==0?ca+-2|0:aa;if((Y|0)==-1){Ba=-1;Ca=ca}else{Ba=f[ea+(Y<<2)>>2]|0;Ca=ca}}else{Ba=-1;Ca=-1}ca=ma*3|0;f[l>>2]=ca;Y=f[ba+12>>2]|0;f[Y+(ca<<2)>>2]=ga;f[Y+(ga<<2)>>2]=ca;ca=(f[l>>2]|0)+1|0;f[Y+(ca<<2)>>2]=Aa;f[Y+(Aa<<2)>>2]=ca;ca=(f[l>>2]|0)+2|0;f[Y+(ca<<2)>>2]=Ca;f[Y+(Ca<<2)>>2]=ca;ca=f[l>>2]|0;Y=ea+(ca<<2)|0;f[Y>>2]=za;f[ea+(ca+1<<2)>>2]=Ba;f[ea+(ca+2<<2)>>2]=ya;if((ca|0)==-1)Da=-1;else Da=f[Y>>2]|0;Y=f[q>>2]|0;ca=Y+(Da>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Da&31));ca=(f[l>>2]|0)+1|0;if((ca|0)==-1)Ea=-1;else Ea=f[ea+(ca<<2)>>2]|0;ca=Y+(Ea>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Ea&31));ca=(f[l>>2]|0)+2|0;if((ca|0)==-1)Fa=-1;else Fa=f[ea+(ca<<2)>>2]|0;ca=Y+(Fa>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Fa&31));ca=ma+1|0;Y=f[qa>>2]|0;ea=f[oa>>2]|0;if((Y|0)==(ea<<5|0)){if((Y+1|0)<0){G=152;break h}ga=ea<<6;ea=Y+32&-32;Mg(sa,Y>>>0<1073741823?(ga>>>0>>0?ea:ga):2147483647);Ga=f[qa>>2]|0}else Ga=Y;f[qa>>2]=Ga+1;Y=(f[sa>>2]|0)+(Ga>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(Ga&31);Y=f[na>>2]|0;if((Y|0)==(f[ja>>2]|0))hh(la,l);else{f[Y>>2]=f[l>>2];f[na>>2]=Y+4}Ha=ca}else if((G|0)==160){G=0;ca=f[qa>>2]|0;Y=f[oa>>2]|0;if((ca|0)==(Y<<5|0)){if((ca+1|0)<0){G=162;break h}ga=Y<<6;Y=ca+32&-32;Mg(sa,ca>>>0<1073741823?(ga>>>0>>0?Y:ga):2147483647);Ia=f[qa>>2]|0}else Ia=ca;f[qa>>2]=Ia+1;ca=(f[sa>>2]|0)+(Ia>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Ia&31));ca=f[na>>2]|0;if((ca|0)==(f[ja>>2]|0)){hh(la,k);Ha=ma;break}else{f[ca>>2]=f[k>>2];f[na>>2]=ca+4;Ha=ma;break}}while(0);da=f[m>>2]|0;if((da|0)==(f[e>>2]|0)){G=169;break}else ma=Ha}if((G|0)==152)Do(sa);else if((G|0)==162)Do(sa);else if((G|0)==168){Q=-1;G=188;break g}else if((G|0)==169){Ja=Ha;Ka=f[wa>>2]|0;break}}else{Ja=va;Ka=c}while(0);if((Ja|0)==(((f[Ka+4>>2]|0)-(f[Ka>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ka+28>>2]|0)-(f[Ka+24>>2]|0)>>2;ua=f[i>>2]|0;ma=f[o>>2]|0;if((ua|0)==(ma|0)){La=c;Ma=ua}else{da=k+4|0;na=k+8|0;la=k+12|0;ja=c;c=ua;ua=Ka;while(1){qa=f[c>>2]|0;oa=ja+-1|0;ha=f[ua+24>>2]|0;if((f[ha+(oa<<2)>>2]|0)==-1){pa=ja;while(1){ra=pa+-1|0;ta=pa+-2|0;if((f[ha+(ta<<2)>>2]|0)==-1)pa=ra;else{Na=ra;Oa=ta;break}}}else{Na=ja;Oa=oa}if(Oa>>>0>>0){Pa=Na;Qa=ua}else{f[k>>2]=ua;pa=f[ha+(Oa<<2)>>2]|0;f[da>>2]=pa;f[na>>2]=pa;b[la>>0]=1;if((pa|0)==-1){Ra=ha;Sa=ua}else{sa=ua;ta=pa;do{f[(f[sa>>2]|0)+(ta<<2)>>2]=qa;ig(k);ta=f[na>>2]|0;sa=f[wa>>2]|0}while((ta|0)!=-1);Ra=f[sa+24>>2]|0;Sa=sa}if((qa|0)==-1)Ta=Ra+(Oa<<2)|0;else{ta=Ra+(Oa<<2)|0;f[Ra+(qa<<2)>>2]=f[ta>>2];Ta=ta}f[Ta>>2]=-1;ta=f[q>>2]|0;ha=ta+(Oa>>>5<<2)|0;oa=1<<(Oa&31);pa=ta+(qa>>>5<<2)|0;ta=1<<(qa&31);if(!(f[ha>>2]&oa))Ua=f[pa>>2]&~ta;else Ua=f[pa>>2]|ta;f[pa>>2]=Ua;f[ha>>2]=f[ha>>2]&~oa;Pa=Na+-1|0;Qa=Sa}c=c+4|0;if((c|0)==(ma|0)){Q=Pa;G=188;break}else{ja=Pa;ua=Qa}}}}else{Q=-1;G=188}}else{Q=-1;G=188}}while(0);if((G|0)==188){La=Q;Ma=f[i>>2]|0}if(Ma|0){i=f[o>>2]|0;if((i|0)!=(Ma|0))f[o>>2]=i+(~((i+-4-Ma|0)>>>2)<<2);lp(Ma)}Ma=f[g+8>>2]|0;if(Ma|0){i=Ma;do{Ma=i;i=f[i>>2]|0;lp(Ma)}while((i|0)!=0)}i=f[g>>2]|0;f[g>>2]=0;if(i|0)lp(i);i=f[e>>2]|0;if(!i){u=d;return La|0}e=f[m>>2]|0;if((e|0)!=(i|0))f[m>>2]=e+(~((e+-4-i|0)>>>2)<<2);lp(i);u=d;return La|0}function cb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Kj(4440,4632,e,c)|0)-4440>>2;k=h;a:while(1){l=(f[4440+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[4248+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Kj(4248,4440,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,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,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else dg(h,b-l|0,3564);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)Do(d);k=((b+-1|0)>>>5)+1|0;m=Yk(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Gh(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)Do(e);v=((o+-1|0)>>>5)+1|0;w=Yk(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Gh(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))hh(h,3564);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))hh(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;Mg(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)Do(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)lp(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}lp(_b);u=c;return 1}function eb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Rh(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Rh(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Rh(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Rh(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Rh(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;$j(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Yg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}dh(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;sg(T,t);if(!(sh(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Of(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Sb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Rh(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if((E|0)<0|(E|0)==0&Q>>>0>>0)break;xk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Sb(a,m)|0;if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);D=Pa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=D;f[a+384>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+372>>2]=t;xk(m);c:do if(Vf(J,m)|0){D=$a(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(ac(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(ec(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Zj(a+272|0);if((j[a+270>>1]|0)<514)Zj(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=0;O=g;do{Yf(O+(E*144|0)+4|0,f[M>>2]|0)|0;g=f[T>>2]|0;H=f[g+(E*144|0)+132>>2]|0;Q=f[g+(E*144|0)+136>>2]|0;if((H|0)==(Q|0))_=g;else{N=H;H=g;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];Af(H+(E*144|0)+4|0,e);N=N+4|0;g=f[T>>2]|0;if((N|0)==(Q|0)){_=g;break}else H=g}}Hj(_+(E*144|0)+4|0,0,0);E=E+1|0;O=f[T>>2]|0}while(E>>>0<(((f[F>>2]|0)-O|0)/144|0)>>>0)}O=f[M>>2]|0;E=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=a+196|0;H=a+200|0;Q=f[H>>2]|0;N=f[O>>2]|0;g=Q-N>>2;S=N;N=Q;do if(E>>>0>g>>>0)Rg(O,E-g|0);else{if(E>>>0>=g>>>0)break;Q=S+(E<<2)|0;if((Q|0)==(N|0))break;f[H>>2]=N+(~((N+-4-Q|0)>>>2)<<2)}while(0);ri(a+184|0,E);N=f[T>>2]|0;if((f[F>>2]|0)!=(N|0)){H=0;S=N;do{N=S;g=(f[N+(H*144|0)+60>>2]|0)-(f[N+(H*144|0)+56>>2]|0)>>2;O=f[M>>2]|0;Q=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=(g|0)<(Q|0)?Q:g;g=N+(H*144|0)+116|0;Q=N+(H*144|0)+120|0;v=f[Q>>2]|0;w=f[g>>2]|0;B=v-w>>2;A=w;w=v;do if(O>>>0>B>>>0)Rg(g,O-B|0);else{if(O>>>0>=B>>>0)break;v=A+(O<<2)|0;if((v|0)==(w|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);ri(N+(H*144|0)+104|0,O);H=H+1|0;S=f[T>>2]|0}while(H>>>0<(((f[F>>2]|0)-S|0)/144|0)>>>0)}Z=Ab(a,D)|0}else Z=0;while(0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function fb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Rh(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Rh(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Rh(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Rh(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Rh(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;$j(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Yg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}dh(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;sg(T,t);if(!(sh(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Of(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Sb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Rh(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if((E|0)<0|(E|0)==0&Q>>>0>>0)break;xk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Sb(a,m)|0;if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);D=Pa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=D;f[a+384>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+372>>2]=t;xk(m);c:do if(Zb(J,m)|0){D=ab(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(ac(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(ec(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Zj(a+272|0);if((j[a+270>>1]|0)<514)Zj(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=0;O=g;do{Yf(O+(E*144|0)+4|0,f[M>>2]|0)|0;g=f[T>>2]|0;H=f[g+(E*144|0)+132>>2]|0;Q=f[g+(E*144|0)+136>>2]|0;if((H|0)==(Q|0))_=g;else{N=H;H=g;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];Af(H+(E*144|0)+4|0,e);N=N+4|0;g=f[T>>2]|0;if((N|0)==(Q|0)){_=g;break}else H=g}}Hj(_+(E*144|0)+4|0,0,0);E=E+1|0;O=f[T>>2]|0}while(E>>>0<(((f[F>>2]|0)-O|0)/144|0)>>>0)}O=f[M>>2]|0;E=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=a+196|0;H=a+200|0;Q=f[H>>2]|0;N=f[O>>2]|0;g=Q-N>>2;S=N;N=Q;do if(E>>>0>g>>>0)Rg(O,E-g|0);else{if(E>>>0>=g>>>0)break;Q=S+(E<<2)|0;if((Q|0)==(N|0))break;f[H>>2]=N+(~((N+-4-Q|0)>>>2)<<2)}while(0);ri(a+184|0,E);N=f[T>>2]|0;if((f[F>>2]|0)!=(N|0)){H=0;S=N;do{N=S;g=(f[N+(H*144|0)+60>>2]|0)-(f[N+(H*144|0)+56>>2]|0)>>2;O=f[M>>2]|0;Q=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=(g|0)<(Q|0)?Q:g;g=N+(H*144|0)+116|0;Q=N+(H*144|0)+120|0;v=f[Q>>2]|0;w=f[g>>2]|0;B=v-w>>2;A=w;w=v;do if(O>>>0>B>>>0)Rg(g,O-B|0);else{if(O>>>0>=B>>>0)break;v=A+(O<<2)|0;if((v|0)==(w|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);ri(N+(H*144|0)+104|0,O);H=H+1|0;S=f[T>>2]|0}while(H>>>0<(((f[F>>2]|0)-S|0)/144|0)>>>0)}Z=Ab(a,D)|0}else Z=0;while(0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function gb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Rh(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Rh(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Rh(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Rh(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Rh(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;$j(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Yg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);ri(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}dh(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;sg(T,t);if(!(sh(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Of(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Sb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Rh(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if((E|0)<0|(E|0)==0&Q>>>0>>0)break;xk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Sb(a,m)|0;if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);f[a+372>>2]=t;xk(m);c:do if(Md(J,m)|0){D=bb(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(ac(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(ec(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Zj(a+272|0);if((j[a+270>>1]|0)<514)Zj(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=0;O=g;do{Yf(O+(E*144|0)+4|0,f[M>>2]|0)|0;g=f[T>>2]|0;H=f[g+(E*144|0)+132>>2]|0;Q=f[g+(E*144|0)+136>>2]|0;if((H|0)==(Q|0))_=g;else{N=H;H=g;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];Af(H+(E*144|0)+4|0,e);N=N+4|0;g=f[T>>2]|0;if((N|0)==(Q|0)){_=g;break}else H=g}}Hj(_+(E*144|0)+4|0,0,0);E=E+1|0;O=f[T>>2]|0}while(E>>>0<(((f[F>>2]|0)-O|0)/144|0)>>>0)}O=f[M>>2]|0;E=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=a+196|0;H=a+200|0;Q=f[H>>2]|0;N=f[O>>2]|0;g=Q-N>>2;S=N;N=Q;do if(E>>>0>g>>>0)Rg(O,E-g|0);else{if(E>>>0>=g>>>0)break;Q=S+(E<<2)|0;if((Q|0)==(N|0))break;f[H>>2]=N+(~((N+-4-Q|0)>>>2)<<2)}while(0);ri(a+184|0,E);N=f[T>>2]|0;if((f[F>>2]|0)!=(N|0)){H=0;S=N;do{N=S;g=(f[N+(H*144|0)+60>>2]|0)-(f[N+(H*144|0)+56>>2]|0)>>2;O=f[M>>2]|0;Q=(f[O+28>>2]|0)-(f[O+24>>2]|0)>>2;O=(g|0)<(Q|0)?Q:g;g=N+(H*144|0)+116|0;Q=N+(H*144|0)+120|0;v=f[Q>>2]|0;w=f[g>>2]|0;B=v-w>>2;A=w;w=v;do if(O>>>0>B>>>0)Rg(g,O-B|0);else{if(O>>>0>=B>>>0)break;v=A+(O<<2)|0;if((v|0)==(w|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);ri(N+(H*144|0)+104|0,O);H=H+1|0;S=f[T>>2]|0}while(H>>>0<(((f[F>>2]|0)-S|0)/144|0)>>>0)}Z=Ab(a,D)|0}else Z=0;while(0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+132|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+96|0;k=a+52|0;i=a+48|0;n=a+40|0;o=a+4|0;C=a+32|0;D=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=A;while(1){J=f[s>>2]|0;K=I+-1|0;L=J+K|0;M=f[z>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[y>>2]=K;K=f[x>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;J=(f[t>>2]|0)+(Q*12|0)|0;if(L>>>0>c>>>0){B=0;break a}M=pl(a,L,J,P)|0;if(M>>>0>=(f[h>>2]|0)>>>0){B=0;break a}P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;while(1){S=f[p>>2]|0;c:do if((f[r>>2]|0)!=(S|0)){T=0;U=S;do{V=U;W=f[V+(T*20|0)>>2]|0;X=V+(T*20|0)+12|0;Y=V+(T*20|0)+16|0;Z=(f[O>>2]|0)+(f[V+(T*20|0)+4>>2]<<2)|0;V=f[X>>2]|0;do if((V|0)==4)$=Z;else{aa=f[m>>2]|0;if(!(f[Y>>2]|0)){$=aa;break}else{ba=aa;ca=0;da=V}while(1){Jf(ba|0,Z+(ca<<2)|0,da|0)|0;ca=ca+1|0;aa=f[X>>2]|0;if(ca>>>0>=(f[Y>>2]|0)>>>0)break;else{ba=ba+aa|0;da=aa}}$=f[m>>2]|0}while(0);Y=f[v>>2]|0;if(!(b[W+84>>0]|0))ea=f[(f[W+68>>2]|0)+(Y<<2)>>2]|0;else ea=Y;if(ea>>>0>=(f[W+80>>2]|0)>>>0)break c;Y=W+40|0;X=f[Y>>2]|0;Z=bl(X|0,f[Y+4>>2]|0,ea|0,0)|0;Jf((f[f[W+64>>2]>>2]|0)+Z|0,$|0,X|0)|0;T=T+1|0;U=f[p>>2]|0}while(T>>>0<(((f[r>>2]|0)-U|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;N=N+1|0;if((N|0)==(L|0)){R=23;break}}}else if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){U=1;T=S;X=M;while(1){X=(X|0)==(T+-1|0)?0:X+1|0;f[N+(U<<2)>>2]=X;U=U+1|0;Z=f[h>>2]|0;if(U>>>0>=Z>>>0){fa=Z;break}else T=Z}}else fa=S;if(!L){R=23;break}T=0;U=fa;while(1){if(U|0){X=f[q>>2]|0;N=f[j>>2]|0;Z=f[J>>2]|0;Y=0;do{V=X+(Y<<2)|0;f[N+(f[V>>2]<<2)>>2]=0;aa=f[V>>2]|0;ga=(f[a>>2]|0)-(f[Z+(aa<<2)>>2]|0)|0;do if(ga|0){ha=N+(aa<<2)|0;ia=f[k>>2]|0;ja=32-ia|0;if((ga|0)>(ja|0)){ka=f[i>>2]|0;la=ka+4|0;if((la|0)==(f[n>>2]|0)){f[ha>>2]=0;break}else{ma=f[ka>>2]<>2]=ka;f[i>>2]=la;na=32-ka|0;f[ha>>2]=(f[la>>2]|0)>>>na|ma>>>(na-ja|0);break}}ja=f[i>>2]|0;if((ja|0)==(f[n>>2]|0)){f[ha>>2]=0;break}f[ha>>2]=f[ja>>2]<>>(32-ga|0);ia=(f[k>>2]|0)+ga|0;f[k>>2]=ia;if((ia|0)!=32)break;f[i>>2]=ja+4;f[k>>2]=0}while(0);ga=f[V>>2]|0;aa=N+(ga<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ga<<2)>>2];Y=Y+1|0}while(Y>>>0<(f[h>>2]|0)>>>0)}Y=f[p>>2]|0;d:do if((f[r>>2]|0)!=(Y|0)){N=0;Z=Y;do{X=Z;ga=f[X+(N*20|0)>>2]|0;aa=X+(N*20|0)+12|0;ja=X+(N*20|0)+16|0;ia=(f[j>>2]|0)+(f[X+(N*20|0)+4>>2]<<2)|0;X=f[aa>>2]|0;do if((X|0)==4)oa=ia;else{ha=f[m>>2]|0;if(!(f[ja>>2]|0)){oa=ha;break}else{pa=ha;qa=0;ra=X}while(1){Jf(pa|0,ia+(qa<<2)|0,ra|0)|0;qa=qa+1|0;ha=f[aa>>2]|0;if(qa>>>0>=(f[ja>>2]|0)>>>0)break;else{pa=pa+ha|0;ra=ha}}oa=f[m>>2]|0}while(0);ja=f[v>>2]|0;if(!(b[ga+84>>0]|0))sa=f[(f[ga+68>>2]|0)+(ja<<2)>>2]|0;else sa=ja;if(sa>>>0>=(f[ga+80>>2]|0)>>>0)break d;ja=ga+40|0;aa=f[ja>>2]|0;ia=bl(aa|0,f[ja+4>>2]|0,sa|0,0)|0;Jf((f[f[ga+64>>2]>>2]|0)+ia|0,oa|0,aa|0)|0;N=N+1|0;Z=f[p>>2]|0}while(N>>>0<(((f[r>>2]|0)-Z|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;Y=T+1|0;if((Y|0)==(L|0)){R=23;break b}T=Y;U=f[h>>2]|0}}else{if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}U=Q+1|0;T=f[l>>2]|0;S=T+(U*12|0)|0;if((S|0)==(O|0))ta=T;else{mf(S,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);ta=f[l>>2]|0}S=(f[ta+(U*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;Y=32-T|0;do if((S|0)>(Y|0)){Z=f[D>>2]|0;N=Z+4|0;if((N|0)==(f[E>>2]|0))ua=0;else{V=f[Z>>2]<>2]=Z;f[D>>2]=N;aa=32-Z|0;ua=(f[N>>2]|0)>>>aa|V>>>(aa-Y|0)}}else{aa=f[D>>2]|0;if((aa|0)==(f[E>>2]|0))ua=0;else{V=f[aa>>2]<>>(32-S|0);N=T+S|0;f[C>>2]=N;if((N|0)!=32){ua=V;break}f[D>>2]=aa+4;f[C>>2]=0;ua=V}}while(0);S=(L>>>1)-ua|0;T=L-S|0;e:do if((S|0)==(T|0)){va=S;wa=S}else{Y=f[F>>2]|0;V=f[H>>2]|0;do if((V|0)!=(f[G>>2]|0)){aa=(f[V>>2]&1<<31-Y|0)!=0;N=Y+1|0;f[F>>2]=N;if((N|0)==32){f[H>>2]=V+4;f[F>>2]=0;if(aa){va=S;wa=T;break e}else break}else if(aa){va=S;wa=T;break e}else break}while(0);va=T;wa=S}while(0);S=f[t>>2]|0;T=f[S+(Q*12|0)>>2]|0;V=T+(M<<2)|0;f[V>>2]=(f[V>>2]|0)+1;mf(S+(U*12|0)|0,T,f[S+(Q*12|0)+4>>2]|0);if(va|0){S=f[x>>2]|0;T=f[z>>2]|0;V=S-T>>2;Y=f[s>>2]|0;aa=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(aa+Y|0)){nc(g);xa=f[s>>2]|0;ya=f[y>>2]|0;za=f[x>>2]|0;Aa=f[z>>2]|0}else{xa=Y;ya=aa;za=S;Aa=T}T=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((T>>>0)/341|0)<<2)>>2]|0)+(((T>>>0)%341|0)*12|0)|0;f[Ba>>2]=va;f[Ba+4>>2]=M;f[Ba+8>>2]=Q;f[y>>2]=(f[y>>2]|0)+1}if(!wa){R=23;break}T=f[x>>2]|0;S=f[z>>2]|0;aa=T-S>>2;Y=f[s>>2]|0;V=f[y>>2]|0;if((((aa|0)==0?0:(aa*341|0)+-1|0)|0)==(V+Y|0)){nc(g);Ca=f[s>>2]|0;Da=f[y>>2]|0;Ea=f[x>>2]|0;Fa=f[z>>2]|0}else{Ca=Y;Da=V;Ea=T;Fa=S}S=Da+Ca|0;if((Ea|0)==(Fa|0))Ga=0;else Ga=(f[Fa+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[Ga>>2]=wa;f[Ga+4>>2]=M;f[Ga+8>>2]=U;S=(f[y>>2]|0)+1|0;f[y>>2]=S;Ha=S;break}while(0);if((R|0)==23){R=0;Ha=f[y>>2]|0}if(!Ha){B=1;break}else I=Ha}}while(0);Ha=f[z>>2]|0;Ga=f[s>>2]|0;wa=Ha+(((Ga>>>0)/341|0)<<2)|0;Fa=f[x>>2]|0;Ea=Fa;Ca=Ha;if((Fa|0)==(Ha|0)){Ia=0;Ja=0}else{Da=(f[y>>2]|0)+Ga|0;Ia=(f[Ha+(((Da>>>0)/341|0)<<2)>>2]|0)+(((Da>>>0)%341|0)*12|0)|0;Ja=(f[wa>>2]|0)+(((Ga>>>0)%341|0)*12|0)|0}Ga=wa;wa=Ja;f:while(1){Ja=wa;do{Da=Ja;if((Ia|0)==(Da|0))break f;Ja=Da+12|0}while((Ja-(f[Ga>>2]|0)|0)!=4092);Ja=Ga+4|0;Ga=Ja;wa=f[Ja>>2]|0}f[y>>2]=0;y=Ea-Ca>>2;if(y>>>0>2){Ca=Ha;do{lp(f[Ca>>2]|0);Ca=(f[z>>2]|0)+4|0;f[z>>2]=Ca;Ka=f[x>>2]|0;La=Ka-Ca>>2}while(La>>>0>2);Ma=La;Na=Ca;Oa=Ka}else{Ma=y;Na=Ha;Oa=Fa}switch(Ma|0){case 1:{Pa=170;R=109;break}case 2:{Pa=341;R=109;break}default:{}}if((R|0)==109)f[s>>2]=Pa;if((Na|0)!=(Oa|0)){Pa=Na;do{lp(f[Pa>>2]|0);Pa=Pa+4|0}while((Pa|0)!=(Oa|0));Oa=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Oa|0))f[x>>2]=z+(~((z+-4-Oa|0)>>>2)<<2)}Oa=f[g>>2]|0;if(!Oa){u=e;return B|0}lp(Oa);u=e;return B|0}function ib(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+132|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+96|0;k=a+52|0;i=a+48|0;n=a+40|0;o=a+4|0;C=a+32|0;D=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=A;while(1){J=f[s>>2]|0;K=I+-1|0;L=J+K|0;M=f[z>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[y>>2]=K;K=f[x>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;if(L>>>0>c>>>0){B=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(P|0)?0:P+1|0;if(M>>>0>=J>>>0){B=0;break a}J=(f[t>>2]|0)+(Q*12|0)|0;P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;while(1){S=f[p>>2]|0;c:do if((f[r>>2]|0)!=(S|0)){T=0;U=S;do{V=U;W=f[V+(T*20|0)>>2]|0;X=V+(T*20|0)+12|0;Y=V+(T*20|0)+16|0;Z=(f[O>>2]|0)+(f[V+(T*20|0)+4>>2]<<2)|0;V=f[X>>2]|0;do if((V|0)==4)$=Z;else{aa=f[m>>2]|0;if(!(f[Y>>2]|0)){$=aa;break}else{ba=aa;ca=0;da=V}while(1){Jf(ba|0,Z+(ca<<2)|0,da|0)|0;ca=ca+1|0;aa=f[X>>2]|0;if(ca>>>0>=(f[Y>>2]|0)>>>0)break;else{ba=ba+aa|0;da=aa}}$=f[m>>2]|0}while(0);Y=f[v>>2]|0;if(!(b[W+84>>0]|0))ea=f[(f[W+68>>2]|0)+(Y<<2)>>2]|0;else ea=Y;if(ea>>>0>=(f[W+80>>2]|0)>>>0)break c;Y=W+40|0;X=f[Y>>2]|0;Z=bl(X|0,f[Y+4>>2]|0,ea|0,0)|0;Jf((f[f[W+64>>2]>>2]|0)+Z|0,$|0,X|0)|0;T=T+1|0;U=f[p>>2]|0}while(T>>>0<(((f[r>>2]|0)-U|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;N=N+1|0;if((N|0)==(L|0)){R=23;break}}}else{if(L>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}N=Q+1|0;mf(K+(N*12|0)|0,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);S=(f[(f[l>>2]|0)+(N*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;T=32-U|0;if((S|0)>(T|0)){X=f[D>>2]|0;Z=X+4|0;if((Z|0)==(f[E>>2]|0))fa=0;else{Y=f[X>>2]<>2]=X;f[D>>2]=Z;V=32-X|0;fa=(f[Z>>2]|0)>>>V|Y>>>(V-T|0)}}else{T=f[D>>2]|0;if((T|0)!=(f[E>>2]|0)){V=f[T>>2]<>>(32-S|0);Y=U+S|0;f[C>>2]=Y;if((Y|0)==32){f[D>>2]=T+4;f[C>>2]=0;fa=V}else fa=V}else fa=0}V=(L>>>1)-fa|0;T=L-V|0;d:do if((V|0)==(T|0)){ga=V;ha=V}else{Y=f[F>>2]|0;S=f[H>>2]|0;do if((S|0)!=(f[G>>2]|0)){U=(f[S>>2]&1<<31-Y|0)!=0;Z=Y+1|0;f[F>>2]=Z;if((Z|0)==32){f[H>>2]=S+4;f[F>>2]=0;if(U){ga=V;ha=T;break d}else break}else if(U){ga=V;ha=T;break d}else break}while(0);ga=T;ha=V}while(0);V=f[t>>2]|0;T=f[V+(Q*12|0)>>2]|0;S=T+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;mf(V+(N*12|0)|0,T,f[V+(Q*12|0)+4>>2]|0);if(ga|0){V=f[x>>2]|0;T=f[z>>2]|0;S=V-T>>2;Y=f[s>>2]|0;U=f[y>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(U+Y|0)){nc(g);ia=f[s>>2]|0;ja=f[y>>2]|0;ka=f[x>>2]|0;la=f[z>>2]|0}else{ia=Y;ja=U;ka=V;la=T}T=ja+ia|0;if((ka|0)==(la|0))ma=0;else ma=(f[la+(((T>>>0)/341|0)<<2)>>2]|0)+(((T>>>0)%341|0)*12|0)|0;f[ma>>2]=ga;f[ma+4>>2]=M;f[ma+8>>2]=Q;f[y>>2]=(f[y>>2]|0)+1}if(!ha){R=23;break}T=f[x>>2]|0;V=f[z>>2]|0;U=T-V>>2;Y=f[s>>2]|0;S=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(S+Y|0)){nc(g);na=f[s>>2]|0;oa=f[y>>2]|0;pa=f[x>>2]|0;qa=f[z>>2]|0}else{na=Y;oa=S;pa=T;qa=V}V=oa+na|0;if((pa|0)==(qa|0))ra=0;else ra=(f[qa+(((V>>>0)/341|0)<<2)>>2]|0)+(((V>>>0)%341|0)*12|0)|0;f[ra>>2]=ha;f[ra+4>>2]=M;f[ra+8>>2]=N;V=(f[y>>2]|0)+1|0;f[y>>2]=V;sa=V;break}V=f[q>>2]|0;f[V>>2]=M;T=f[h>>2]|0;if(T>>>0>1){S=1;Y=T;U=M;while(1){U=(U|0)==(Y+-1|0)?0:U+1|0;f[V+(S<<2)>>2]=U;S=S+1|0;Z=f[h>>2]|0;if(S>>>0>=Z>>>0){ta=Z;break}else Y=Z}}else ta=T;if(!L)R=23;else{Y=0;S=ta;while(1){if(S|0){U=f[q>>2]|0;V=f[j>>2]|0;N=f[J>>2]|0;Z=0;do{X=U+(Z<<2)|0;f[V+(f[X>>2]<<2)>>2]=0;aa=f[X>>2]|0;ua=(f[a>>2]|0)-(f[N+(aa<<2)>>2]|0)|0;do if(ua|0){va=V+(aa<<2)|0;wa=f[k>>2]|0;xa=32-wa|0;if((ua|0)>(xa|0)){ya=f[i>>2]|0;za=ya+4|0;if((za|0)==(f[n>>2]|0)){f[va>>2]=0;break}else{Aa=f[ya>>2]<>2]=ya;f[i>>2]=za;Ba=32-ya|0;f[va>>2]=(f[za>>2]|0)>>>Ba|Aa>>>(Ba-xa|0);break}}xa=f[i>>2]|0;if((xa|0)==(f[n>>2]|0)){f[va>>2]=0;break}f[va>>2]=f[xa>>2]<>>(32-ua|0);wa=(f[k>>2]|0)+ua|0;f[k>>2]=wa;if((wa|0)!=32)break;f[i>>2]=xa+4;f[k>>2]=0}while(0);ua=f[X>>2]|0;aa=V+(ua<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ua<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0)}Z=f[p>>2]|0;e:do if((f[r>>2]|0)!=(Z|0)){V=0;N=Z;do{U=N;ua=f[U+(V*20|0)>>2]|0;aa=U+(V*20|0)+12|0;xa=U+(V*20|0)+16|0;wa=(f[j>>2]|0)+(f[U+(V*20|0)+4>>2]<<2)|0;U=f[aa>>2]|0;do if((U|0)==4)Ca=wa;else{va=f[m>>2]|0;if(!(f[xa>>2]|0)){Ca=va;break}else{Da=va;Ea=0;Fa=U}while(1){Jf(Da|0,wa+(Ea<<2)|0,Fa|0)|0;Ea=Ea+1|0;va=f[aa>>2]|0;if(Ea>>>0>=(f[xa>>2]|0)>>>0)break;else{Da=Da+va|0;Fa=va}}Ca=f[m>>2]|0}while(0);xa=f[v>>2]|0;if(!(b[ua+84>>0]|0))Ga=f[(f[ua+68>>2]|0)+(xa<<2)>>2]|0;else Ga=xa;if(Ga>>>0>=(f[ua+80>>2]|0)>>>0)break e;xa=ua+40|0;aa=f[xa>>2]|0;wa=bl(aa|0,f[xa+4>>2]|0,Ga|0,0)|0;Jf((f[f[ua+64>>2]>>2]|0)+wa|0,Ca|0,aa|0)|0;V=V+1|0;N=f[p>>2]|0}while(V>>>0<(((f[r>>2]|0)-N|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;Z=Y+1|0;if((Z|0)==(L|0)){R=23;break b}Y=Z;S=f[h>>2]|0}}}while(0);if((R|0)==23){R=0;sa=f[y>>2]|0}if(!sa){B=1;break}else I=sa}}while(0);sa=f[z>>2]|0;h=f[s>>2]|0;Ca=sa+(((h>>>0)/341|0)<<2)|0;Ga=f[x>>2]|0;Fa=Ga;Da=sa;if((Ga|0)==(sa|0)){Ha=0;Ia=0}else{Ea=(f[y>>2]|0)+h|0;Ha=(f[sa+(((Ea>>>0)/341|0)<<2)>>2]|0)+(((Ea>>>0)%341|0)*12|0)|0;Ia=(f[Ca>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Ca;Ca=Ia;f:while(1){Ia=Ca;do{Ea=Ia;if((Ha|0)==(Ea|0))break f;Ia=Ea+12|0}while((Ia-(f[h>>2]|0)|0)!=4092);Ia=h+4|0;h=Ia;Ca=f[Ia>>2]|0}f[y>>2]=0;y=Fa-Da>>2;if(y>>>0>2){Da=sa;do{lp(f[Da>>2]|0);Da=(f[z>>2]|0)+4|0;f[z>>2]=Da;Ja=f[x>>2]|0;Ka=Ja-Da>>2}while(Ka>>>0>2);La=Ka;Ma=Da;Na=Ja}else{La=y;Ma=sa;Na=Ga}switch(La|0){case 1:{Oa=170;R=107;break}case 2:{Oa=341;R=107;break}default:{}}if((R|0)==107)f[s>>2]=Oa;if((Ma|0)!=(Na|0)){Oa=Ma;do{lp(f[Oa>>2]|0);Oa=Oa+4|0}while((Oa|0)!=(Na|0));Na=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Na|0))f[x>>2]=z+(~((z+-4-Na|0)>>>2)<<2)}Na=f[g>>2]|0;if(!Na){u=e;return B|0}lp(Na);u=e;return B|0}function jb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+604|0;k=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[t>>2]|0)+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}J=Jg(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=Y;$=0;aa=S}while(1){Jf(Z|0,W+($<<2)|0,aa|0)|0;$=$+1|0;Y=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Z+Y|0;aa=Y}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=bl(U|0,f[V+4>>2]|0,ba|0,0)|0;Jf((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;Q=Q+1|0;R=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;P=f[l>>2]|0;R=P+(K*12|0)|0;if((R|0)==(L|0))ca=P;else{mf(R,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[l>>2]|0}R=(f[ca+(K*12|0)>>2]|0)+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<>>1)-da|0;R=I-Q|0;d:do if((Q|0)==(R|0)){ea=Q;fa=Q}else{P=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-P|0)!=0;V=P+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){ea=Q;fa=R;break d}else break}else if(W){ea=Q;fa=R;break d}else break}while(0);ea=R;fa=Q}while(0);Q=f[t>>2]|0;R=f[Q+(N*12|0)>>2]|0;U=R+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;mf(Q+(K*12|0)|0,R,f[Q+(N*12|0)+4>>2]|0);if(ea|0){Q=f[x>>2]|0;R=f[z>>2]|0;U=Q-R>>2;P=f[s>>2]|0;W=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+P|0)){nc(g);ga=f[s>>2]|0;ha=f[y>>2]|0;ia=f[x>>2]|0;ja=f[z>>2]|0}else{ga=P;ha=W;ia=Q;ja=R}R=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=J;f[ka+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!fa){O=23;break}R=f[x>>2]|0;Q=f[z>>2]|0;W=R-Q>>2;P=f[s>>2]|0;U=f[y>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+P|0)){nc(g);la=f[s>>2]|0;ma=f[y>>2]|0;na=f[x>>2]|0;oa=f[z>>2]|0}else{la=P;ma=U;na=R;oa=Q}Q=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=J;f[pa+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;qa=Q;break}Q=f[q>>2]|0;f[Q>>2]=J;R=f[h>>2]|0;if(R>>>0>1){U=1;P=R;W=J;while(1){W=(W|0)==(P+-1|0)?0:W+1|0;f[Q+(U<<2)>>2]=W;U=U+1|0;V=f[h>>2]|0;if(U>>>0>=V>>>0){ra=V;break}else P=V}}else ra=R;if(!I)O=23;else{P=0;U=ra;while(1){if(U|0){W=f[q>>2]|0;Q=f[j>>2]|0;K=f[G>>2]|0;V=0;do{S=W+(V<<2)|0;f[Q+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;sa=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(sa|0){ta=Q+(Y<<2)|0;ua=f[k>>2]|0;va=32-ua|0;if((sa|0)>(va|0)){wa=f[i>>2]|0;xa=wa+4|0;if((xa|0)==(f[n>>2]|0)){f[ta>>2]=0;break}else{ya=f[wa>>2]<>2]=wa;f[i>>2]=xa;za=32-wa|0;f[ta>>2]=(f[xa>>2]|0)>>>za|ya>>>(za-va|0);break}}va=f[i>>2]|0;if((va|0)==(f[n>>2]|0)){f[ta>>2]=0;break}f[ta>>2]=f[va>>2]<>>(32-sa|0);ua=(f[k>>2]|0)+sa|0;f[k>>2]=ua;if((ua|0)!=32)break;f[i>>2]=va+4;f[k>>2]=0}while(0);sa=f[S>>2]|0;Y=Q+(sa<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(sa<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;K=V;do{W=K;sa=f[W+(Q*20|0)>>2]|0;Y=W+(Q*20|0)+12|0;va=W+(Q*20|0)+16|0;ua=(f[j>>2]|0)+(f[W+(Q*20|0)+4>>2]<<2)|0;W=f[Y>>2]|0;do if((W|0)==4)Aa=ua;else{ta=f[m>>2]|0;if(!(f[va>>2]|0)){Aa=ta;break}else{Ba=ta;Ca=0;Da=W}while(1){Jf(Ba|0,ua+(Ca<<2)|0,Da|0)|0;Ca=Ca+1|0;ta=f[Y>>2]|0;if(Ca>>>0>=(f[va>>2]|0)>>>0)break;else{Ba=Ba+ta|0;Da=ta}}Aa=f[m>>2]|0}while(0);va=f[v>>2]|0;if(!(b[sa+84>>0]|0))Ea=f[(f[sa+68>>2]|0)+(va<<2)>>2]|0;else Ea=va;if(Ea>>>0>=(f[sa+80>>2]|0)>>>0)break e;va=sa+40|0;Y=f[va>>2]|0;ua=bl(Y|0,f[va+4>>2]|0,Ea|0,0)|0;Jf((f[f[sa+64>>2]>>2]|0)+ua|0,Aa|0,Y|0)|0;Q=Q+1|0;K=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-K|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=P+1|0;if((V|0)==(I|0)){O=23;break b}P=V;U=f[h>>2]|0}}}while(0);if((O|0)==23){O=0;qa=f[y>>2]|0}if(!qa){B=1;break}else F=qa}}while(0);qa=f[z>>2]|0;h=f[s>>2]|0;Aa=qa+(((h>>>0)/341|0)<<2)|0;Ea=f[x>>2]|0;Da=Ea;Ba=qa;if((Ea|0)==(qa|0)){Fa=0;Ga=0}else{Ca=(f[y>>2]|0)+h|0;Fa=(f[qa+(((Ca>>>0)/341|0)<<2)>>2]|0)+(((Ca>>>0)%341|0)*12|0)|0;Ga=(f[Aa>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Aa;Aa=Ga;f:while(1){Ga=Aa;do{Ca=Ga;if((Fa|0)==(Ca|0))break f;Ga=Ca+12|0}while((Ga-(f[h>>2]|0)|0)!=4092);Ga=h+4|0;h=Ga;Aa=f[Ga>>2]|0}f[y>>2]=0;y=Da-Ba>>2;if(y>>>0>2){Ba=qa;do{lp(f[Ba>>2]|0);Ba=(f[z>>2]|0)+4|0;f[z>>2]=Ba;Ha=f[x>>2]|0;Ia=Ha-Ba>>2}while(Ia>>>0>2);Ja=Ia;Ka=Ba;La=Ha}else{Ja=y;Ka=qa;La=Ea}switch(Ja|0){case 1:{Ma=170;O=105;break}case 2:{Ma=341;O=105;break}default:{}}if((O|0)==105)f[s>>2]=Ma;if((Ka|0)!=(La|0)){Ma=Ka;do{lp(f[Ma>>2]|0);Ma=Ma+4|0}while((Ma|0)!=(La|0));La=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(La|0))f[x>>2]=z+(~((z+-4-La|0)>>>2)<<2)}La=f[g>>2]|0;if(!La){u=e;return B|0}lp(La);u=e;return B|0}function kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+604|0;k=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[t>>2]|0)+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}J=pl(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=Y;$=0;aa=S}while(1){Jf(Z|0,W+($<<2)|0,aa|0)|0;$=$+1|0;Y=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Z+Y|0;aa=Y}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=bl(U|0,f[V+4>>2]|0,ba|0,0)|0;Jf((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;Q=Q+1|0;R=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;P=f[l>>2]|0;R=P+(K*12|0)|0;if((R|0)==(L|0))ca=P;else{mf(R,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[l>>2]|0}R=(f[ca+(K*12|0)>>2]|0)+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<>>1)-da|0;R=I-Q|0;d:do if((Q|0)==(R|0)){ea=Q;fa=Q}else{P=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-P|0)!=0;V=P+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){ea=Q;fa=R;break d}else break}else if(W){ea=Q;fa=R;break d}else break}while(0);ea=R;fa=Q}while(0);Q=f[t>>2]|0;R=f[Q+(N*12|0)>>2]|0;U=R+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;mf(Q+(K*12|0)|0,R,f[Q+(N*12|0)+4>>2]|0);if(ea|0){Q=f[x>>2]|0;R=f[z>>2]|0;U=Q-R>>2;P=f[s>>2]|0;W=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+P|0)){nc(g);ga=f[s>>2]|0;ha=f[y>>2]|0;ia=f[x>>2]|0;ja=f[z>>2]|0}else{ga=P;ha=W;ia=Q;ja=R}R=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=J;f[ka+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!fa){O=23;break}R=f[x>>2]|0;Q=f[z>>2]|0;W=R-Q>>2;P=f[s>>2]|0;U=f[y>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+P|0)){nc(g);la=f[s>>2]|0;ma=f[y>>2]|0;na=f[x>>2]|0;oa=f[z>>2]|0}else{la=P;ma=U;na=R;oa=Q}Q=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=J;f[pa+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;qa=Q;break}Q=f[q>>2]|0;f[Q>>2]=J;R=f[h>>2]|0;if(R>>>0>1){U=1;P=R;W=J;while(1){W=(W|0)==(P+-1|0)?0:W+1|0;f[Q+(U<<2)>>2]=W;U=U+1|0;V=f[h>>2]|0;if(U>>>0>=V>>>0){ra=V;break}else P=V}}else ra=R;if(!I)O=23;else{P=0;U=ra;while(1){if(U|0){W=f[q>>2]|0;Q=f[j>>2]|0;K=f[G>>2]|0;V=0;do{S=W+(V<<2)|0;f[Q+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;sa=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(sa|0){ta=Q+(Y<<2)|0;ua=f[k>>2]|0;va=32-ua|0;if((sa|0)>(va|0)){wa=f[i>>2]|0;xa=wa+4|0;if((xa|0)==(f[n>>2]|0)){f[ta>>2]=0;break}else{ya=f[wa>>2]<>2]=wa;f[i>>2]=xa;za=32-wa|0;f[ta>>2]=(f[xa>>2]|0)>>>za|ya>>>(za-va|0);break}}va=f[i>>2]|0;if((va|0)==(f[n>>2]|0)){f[ta>>2]=0;break}f[ta>>2]=f[va>>2]<>>(32-sa|0);ua=(f[k>>2]|0)+sa|0;f[k>>2]=ua;if((ua|0)!=32)break;f[i>>2]=va+4;f[k>>2]=0}while(0);sa=f[S>>2]|0;Y=Q+(sa<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(sa<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;K=V;do{W=K;sa=f[W+(Q*20|0)>>2]|0;Y=W+(Q*20|0)+12|0;va=W+(Q*20|0)+16|0;ua=(f[j>>2]|0)+(f[W+(Q*20|0)+4>>2]<<2)|0;W=f[Y>>2]|0;do if((W|0)==4)Aa=ua;else{ta=f[m>>2]|0;if(!(f[va>>2]|0)){Aa=ta;break}else{Ba=ta;Ca=0;Da=W}while(1){Jf(Ba|0,ua+(Ca<<2)|0,Da|0)|0;Ca=Ca+1|0;ta=f[Y>>2]|0;if(Ca>>>0>=(f[va>>2]|0)>>>0)break;else{Ba=Ba+ta|0;Da=ta}}Aa=f[m>>2]|0}while(0);va=f[v>>2]|0;if(!(b[sa+84>>0]|0))Ea=f[(f[sa+68>>2]|0)+(va<<2)>>2]|0;else Ea=va;if(Ea>>>0>=(f[sa+80>>2]|0)>>>0)break e;va=sa+40|0;Y=f[va>>2]|0;ua=bl(Y|0,f[va+4>>2]|0,Ea|0,0)|0;Jf((f[f[sa+64>>2]>>2]|0)+ua|0,Aa|0,Y|0)|0;Q=Q+1|0;K=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-K|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=P+1|0;if((V|0)==(I|0)){O=23;break b}P=V;U=f[h>>2]|0}}}while(0);if((O|0)==23){O=0;qa=f[y>>2]|0}if(!qa){B=1;break}else F=qa}}while(0);qa=f[z>>2]|0;h=f[s>>2]|0;Aa=qa+(((h>>>0)/341|0)<<2)|0;Ea=f[x>>2]|0;Da=Ea;Ba=qa;if((Ea|0)==(qa|0)){Fa=0;Ga=0}else{Ca=(f[y>>2]|0)+h|0;Fa=(f[qa+(((Ca>>>0)/341|0)<<2)>>2]|0)+(((Ca>>>0)%341|0)*12|0)|0;Ga=(f[Aa>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Aa;Aa=Ga;f:while(1){Ga=Aa;do{Ca=Ga;if((Fa|0)==(Ca|0))break f;Ga=Ca+12|0}while((Ga-(f[h>>2]|0)|0)!=4092);Ga=h+4|0;h=Ga;Aa=f[Ga>>2]|0}f[y>>2]=0;y=Da-Ba>>2;if(y>>>0>2){Ba=qa;do{lp(f[Ba>>2]|0);Ba=(f[z>>2]|0)+4|0;f[z>>2]=Ba;Ha=f[x>>2]|0;Ia=Ha-Ba>>2}while(Ia>>>0>2);Ja=Ia;Ka=Ba;La=Ha}else{Ja=y;Ka=qa;La=Ea}switch(Ja|0){case 1:{Ma=170;O=105;break}case 2:{Ma=341;O=105;break}default:{}}if((O|0)==105)f[s>>2]=Ma;if((Ka|0)!=(La|0)){Ma=Ka;do{lp(f[Ma>>2]|0);Ma=Ma+4|0}while((Ma|0)!=(La|0));La=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(La|0))f[x>>2]=z+(~((z+-4-La|0)>>>2)<<2)}La=f[g>>2]|0;if(!La){u=e;return B|0}lp(La);u=e;return B|0}function lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(g);else{s=t<<2;p=Yk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;r=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;j=a+604|0;k=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(M|0)?0:M+1|0;if(J>>>0>=G>>>0){B=0;break a}G=(f[t>>2]|0)+(N*12|0)|0;M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=Y;$=0;aa=S}while(1){Jf(Z|0,W+($<<2)|0,aa|0)|0;$=$+1|0;Y=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Z+Y|0;aa=Y}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=bl(U|0,f[V+4>>2]|0,ba|0,0)|0;Jf((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;Q=Q+1|0;R=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;mf(H+(K*12|0)|0,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ca|0;P=I-Q|0;d:do if((Q|0)==(P|0)){da=Q;ea=Q}else{R=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-R|0)!=0;V=R+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){da=Q;ea=P;break d}else break}else if(W){da=Q;ea=P;break d}else break}while(0);da=P;ea=Q}while(0);Q=f[t>>2]|0;P=f[Q+(N*12|0)>>2]|0;U=P+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;mf(Q+(K*12|0)|0,P,f[Q+(N*12|0)+4>>2]|0);if(da|0){Q=f[x>>2]|0;P=f[z>>2]|0;U=Q-P>>2;R=f[s>>2]|0;W=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+R|0)){nc(g);fa=f[s>>2]|0;ga=f[y>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0}else{fa=R;ga=W;ha=Q;ia=P}P=ga+fa|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=J;f[ja+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!ea){O=23;break}P=f[x>>2]|0;Q=f[z>>2]|0;W=P-Q>>2;R=f[s>>2]|0;U=f[y>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+R|0)){nc(g);ka=f[s>>2]|0;la=f[y>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0}else{ka=R;la=U;ma=P;na=Q}Q=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=J;f[oa+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;pa=Q;break}Q=f[q>>2]|0;f[Q>>2]=J;P=f[h>>2]|0;if(P>>>0>1){U=1;R=P;W=J;while(1){W=(W|0)==(R+-1|0)?0:W+1|0;f[Q+(U<<2)>>2]=W;U=U+1|0;V=f[h>>2]|0;if(U>>>0>=V>>>0){qa=V;break}else R=V}}else qa=P;if(!I)O=23;else{R=0;U=qa;while(1){if(U|0){W=f[q>>2]|0;Q=f[j>>2]|0;K=f[G>>2]|0;V=0;do{S=W+(V<<2)|0;f[Q+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;ra=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(ra|0){sa=Q+(Y<<2)|0;ta=f[k>>2]|0;ua=32-ta|0;if((ra|0)>(ua|0)){va=f[i>>2]|0;wa=va+4|0;if((wa|0)==(f[n>>2]|0)){f[sa>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[i>>2]=wa;ya=32-va|0;f[sa>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[i>>2]|0;if((ua|0)==(f[n>>2]|0)){f[sa>>2]=0;break}f[sa>>2]=f[ua>>2]<>>(32-ra|0);ta=(f[k>>2]|0)+ra|0;f[k>>2]=ta;if((ta|0)!=32)break;f[i>>2]=ua+4;f[k>>2]=0}while(0);ra=f[S>>2]|0;Y=Q+(ra<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(ra<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;K=V;do{W=K;ra=f[W+(Q*20|0)>>2]|0;Y=W+(Q*20|0)+12|0;ua=W+(Q*20|0)+16|0;ta=(f[j>>2]|0)+(f[W+(Q*20|0)+4>>2]<<2)|0;W=f[Y>>2]|0;do if((W|0)==4)za=ta;else{sa=f[m>>2]|0;if(!(f[ua>>2]|0)){za=sa;break}else{Aa=sa;Ba=0;Ca=W}while(1){Jf(Aa|0,ta+(Ba<<2)|0,Ca|0)|0;Ba=Ba+1|0;sa=f[Y>>2]|0;if(Ba>>>0>=(f[ua>>2]|0)>>>0)break;else{Aa=Aa+sa|0;Ca=sa}}za=f[m>>2]|0}while(0);ua=f[v>>2]|0;if(!(b[ra+84>>0]|0))Da=f[(f[ra+68>>2]|0)+(ua<<2)>>2]|0;else Da=ua;if(Da>>>0>=(f[ra+80>>2]|0)>>>0)break e;ua=ra+40|0;Y=f[ua>>2]|0;ta=bl(Y|0,f[ua+4>>2]|0,Da|0,0)|0;Jf((f[f[ra+64>>2]>>2]|0)+ta|0,za|0,Y|0)|0;Q=Q+1|0;K=f[p>>2]|0}while(Q>>>0<(((f[r>>2]|0)-K|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=R+1|0;if((V|0)==(I|0)){O=23;break b}R=V;U=f[h>>2]|0}}}while(0);if((O|0)==23){O=0;pa=f[y>>2]|0}if(!pa){B=1;break}else F=pa}}while(0);pa=f[z>>2]|0;h=f[s>>2]|0;za=pa+(((h>>>0)/341|0)<<2)|0;Da=f[x>>2]|0;Ca=Da;Aa=pa;if((Da|0)==(pa|0)){Ea=0;Fa=0}else{Ba=(f[y>>2]|0)+h|0;Ea=(f[pa+(((Ba>>>0)/341|0)<<2)>>2]|0)+(((Ba>>>0)%341|0)*12|0)|0;Fa=(f[za>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=za;za=Fa;f:while(1){Fa=za;do{Ba=Fa;if((Ea|0)==(Ba|0))break f;Fa=Ba+12|0}while((Fa-(f[h>>2]|0)|0)!=4092);Fa=h+4|0;h=Fa;za=f[Fa>>2]|0}f[y>>2]=0;y=Ca-Aa>>2;if(y>>>0>2){Aa=pa;do{lp(f[Aa>>2]|0);Aa=(f[z>>2]|0)+4|0;f[z>>2]=Aa;Ga=f[x>>2]|0;Ha=Ga-Aa>>2}while(Ha>>>0>2);Ia=Ha;Ja=Aa;Ka=Ga}else{Ia=y;Ja=pa;Ka=Da}switch(Ia|0){case 1:{La=170;O=103;break}case 2:{La=341;O=103;break}default:{}}if((O|0)==103)f[s>>2]=La;if((Ja|0)!=(Ka|0)){La=Ja;do{lp(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ka|0));Ka=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ka|0))f[x>>2]=z+(~((z+-4-Ka|0)>>>2)<<2)}Ka=f[g>>2]|0;if(!Ka){u=e;return B|0}lp(Ka);u=e;return B|0}function mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)Do(g);else{l=j<<2;m=Yk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Gh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);lp(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[g>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[g+8>>2];f[g>>2]=0;r=g+4|0;f[r>>2]=0;f[g+8>>2]=0;do if(v)if(v>>>0>1073741823)Do(g);else{t=v<<2;q=Yk(t)|0;f[g>>2]=q;s=q+(v<<2)|0;f[g+8>>2]=s;Gh(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+128|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[g>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;y=g+8|0;A=g+4|0;t=g+16|0;z=g+20|0;nc(g);q=f[A>>2]|0;r=(f[z>>2]|0)+(f[t>>2]|0)|0;if((f[y>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[z>>2]|0)+1|0;f[z>>2]=B;a:do if(!B)C=1;else{r=a+104|0;q=d+16|0;s=d+20|0;w=d+28|0;x=a+8|0;n=d+12|0;k=a+92|0;l=a+48|0;j=a+44|0;o=a+36|0;p=a+4|0;D=a+16|0;E=a+88|0;F=a+76|0;G=a+84|0;H=B;while(1){I=f[t>>2]|0;J=H+-1|0;K=I+J|0;L=f[A>>2]|0;M=f[L+(((K>>>0)/341|0)<<2)>>2]|0;N=(K>>>0)%341|0;K=f[M+(N*12|0)>>2]|0;O=f[M+(N*12|0)+4>>2]|0;P=f[M+(N*12|0)+8>>2]|0;f[z>>2]=J;J=f[y>>2]|0;N=J-L>>2;if((1-H-I+((N|0)==0?0:(N*341|0)+-1|0)|0)>>>0>681){lp(f[J+-4>>2]|0);f[y>>2]=(f[y>>2]|0)+-4}J=f[m>>2]|0;N=J+(P*12|0)|0;I=(f[v>>2]|0)+(P*12|0)|0;if(K>>>0>c>>>0){C=0;break a}L=pl(a,K,I,O)|0;if(L>>>0>=(f[i>>2]|0)>>>0){C=0;break a}O=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!O){if(K|0){M=0;do{Q=f[q>>2]|0;c:do if((f[s>>2]|0)!=(Q|0)){R=0;S=Q;do{T=S;U=f[T+(R*20|0)>>2]|0;V=T+(R*20|0)+12|0;W=T+(R*20|0)+16|0;X=(f[N>>2]|0)+(f[T+(R*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;do if((T|0)==4)Y=X;else{Z=f[n>>2]|0;if(!(f[W>>2]|0)){Y=Z;break}else{$=Z;aa=0;ba=T}while(1){Jf($|0,X+(aa<<2)|0,ba|0)|0;aa=aa+1|0;Z=f[V>>2]|0;if(aa>>>0>=(f[W>>2]|0)>>>0)break;else{$=$+Z|0;ba=Z}}Y=f[n>>2]|0}while(0);W=f[w>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(W<<2)>>2]|0;else ca=W;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;W=U+40|0;V=f[W>>2]|0;X=bl(V|0,f[W+4>>2]|0,ca|0,0)|0;Jf((f[f[U+64>>2]>>2]|0)+X|0,Y|0,V|0)|0;R=R+1|0;S=f[q>>2]|0}while(R>>>0<(((f[s>>2]|0)-S|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;M=M+1|0}while((M|0)!=(K|0))}}else{if(K>>>0>=3){if((f[x>>2]|0)>>>0>(f[p>>2]|0)>>>0){C=0;break a}M=P+1|0;Q=f[m>>2]|0;S=Q+(M*12|0)|0;if((S|0)==(N|0))da=Q;else{mf(S,f[N>>2]|0,f[J+(P*12|0)+4>>2]|0);da=f[m>>2]|0}S=(f[da+(M*12|0)>>2]|0)+(L<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]=0;Hh(D,S,h);S=(K>>>1)-(f[h>>2]|0)|0;Q=K-S|0;d:do if((S|0)==(Q|0)){ea=S;fa=S}else{R=f[E>>2]|0;V=f[G>>2]|0;do if((V|0)!=(f[F>>2]|0)){X=(f[V>>2]&1<<31-R|0)!=0;W=R+1|0;f[E>>2]=W;if((W|0)==32){f[G>>2]=V+4;f[E>>2]=0;if(X){ea=S;fa=Q;break d}else break}else if(X){ea=S;fa=Q;break d}else break}while(0);ea=Q;fa=S}while(0);S=f[v>>2]|0;Q=f[S+(P*12|0)>>2]|0;V=Q+(L<<2)|0;f[V>>2]=(f[V>>2]|0)+1;mf(S+(M*12|0)|0,Q,f[S+(P*12|0)+4>>2]|0);if(ea|0){S=f[y>>2]|0;Q=f[A>>2]|0;V=S-Q>>2;R=f[t>>2]|0;X=f[z>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(X+R|0)){nc(g);ga=f[t>>2]|0;ha=f[z>>2]|0;ia=f[y>>2]|0;ja=f[A>>2]|0}else{ga=R;ha=X;ia=S;ja=Q}Q=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=L;f[ka+8>>2]=P;f[z>>2]=(f[z>>2]|0)+1}if(fa|0){Q=f[y>>2]|0;S=f[A>>2]|0;X=Q-S>>2;R=f[t>>2]|0;V=f[z>>2]|0;if((((X|0)==0?0:(X*341|0)+-1|0)|0)==(V+R|0)){nc(g);la=f[t>>2]|0;ma=f[z>>2]|0;na=f[y>>2]|0;oa=f[A>>2]|0}else{la=R;ma=V;na=Q;oa=S}S=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=L;f[pa+8>>2]=M;f[z>>2]=(f[z>>2]|0)+1}break}S=f[r>>2]|0;f[S>>2]=L;Q=f[i>>2]|0;if(Q>>>0>1){V=1;R=Q;X=L;while(1){X=(X|0)==(R+-1|0)?0:X+1|0;f[S+(V<<2)>>2]=X;V=V+1|0;W=f[i>>2]|0;if(V>>>0>=W>>>0){qa=W;break}else R=W}}else qa=Q;if(K|0){R=0;V=qa;while(1){if(V|0){X=f[r>>2]|0;S=f[k>>2]|0;M=f[I>>2]|0;W=0;do{T=X+(W<<2)|0;f[S+(f[T>>2]<<2)>>2]=0;Z=f[T>>2]|0;ra=(f[a>>2]|0)-(f[M+(Z<<2)>>2]|0)|0;do if(ra|0){sa=S+(Z<<2)|0;ta=f[l>>2]|0;ua=32-ta|0;if((ra|0)>(ua|0)){va=f[j>>2]|0;wa=va+4|0;if((wa|0)==(f[o>>2]|0)){f[sa>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[j>>2]=wa;ya=32-va|0;f[sa>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[j>>2]|0;if((ua|0)==(f[o>>2]|0)){f[sa>>2]=0;break}f[sa>>2]=f[ua>>2]<>>(32-ra|0);ta=(f[l>>2]|0)+ra|0;f[l>>2]=ta;if((ta|0)!=32)break;f[j>>2]=ua+4;f[l>>2]=0}while(0);ra=f[T>>2]|0;Z=S+(ra<<2)|0;f[Z>>2]=f[Z>>2]|f[(f[N>>2]|0)+(ra<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[q>>2]|0;e:do if((f[s>>2]|0)!=(W|0)){S=0;M=W;do{X=M;ra=f[X+(S*20|0)>>2]|0;Z=X+(S*20|0)+12|0;ua=X+(S*20|0)+16|0;ta=(f[k>>2]|0)+(f[X+(S*20|0)+4>>2]<<2)|0;X=f[Z>>2]|0;do if((X|0)==4)za=ta;else{sa=f[n>>2]|0;if(!(f[ua>>2]|0)){za=sa;break}else{Aa=sa;Ba=0;Ca=X}while(1){Jf(Aa|0,ta+(Ba<<2)|0,Ca|0)|0;Ba=Ba+1|0;sa=f[Z>>2]|0;if(Ba>>>0>=(f[ua>>2]|0)>>>0)break;else{Aa=Aa+sa|0;Ca=sa}}za=f[n>>2]|0}while(0);ua=f[w>>2]|0;if(!(b[ra+84>>0]|0))Da=f[(f[ra+68>>2]|0)+(ua<<2)>>2]|0;else Da=ua;if(Da>>>0>=(f[ra+80>>2]|0)>>>0)break e;ua=ra+40|0;Z=f[ua>>2]|0;ta=bl(Z|0,f[ua+4>>2]|0,Da|0,0)|0;Jf((f[f[ra+64>>2]>>2]|0)+ta|0,za|0,Z|0)|0;S=S+1|0;M=f[q>>2]|0}while(S>>>0<(((f[s>>2]|0)-M|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;W=R+1|0;if((W|0)==(K|0))break b;R=W;V=f[i>>2]|0}}}while(0);H=f[z>>2]|0;if(!H){C=1;break}}}while(0);i=f[A>>2]|0;za=f[t>>2]|0;Da=i+(((za>>>0)/341|0)<<2)|0;Ca=f[y>>2]|0;Aa=Ca;Ba=i;if((Ca|0)==(i|0)){Ea=0;Fa=0}else{a=(f[z>>2]|0)+za|0;Ea=(f[i+(((a>>>0)/341|0)<<2)>>2]|0)+(((a>>>0)%341|0)*12|0)|0;Fa=(f[Da>>2]|0)+(((za>>>0)%341|0)*12|0)|0}za=Da;Da=Fa;f:while(1){Fa=Da;do{a=Fa;if((Ea|0)==(a|0))break f;Fa=a+12|0}while((Fa-(f[za>>2]|0)|0)!=4092);Fa=za+4|0;za=Fa;Da=f[Fa>>2]|0}f[z>>2]=0;z=Aa-Ba>>2;if(z>>>0>2){Ba=i;do{lp(f[Ba>>2]|0);Ba=(f[A>>2]|0)+4|0;f[A>>2]=Ba;Ga=f[y>>2]|0;Ha=Ga-Ba>>2}while(Ha>>>0>2);Ia=Ha;Ja=Ba;Ka=Ga}else{Ia=z;Ja=i;Ka=Ca}switch(Ia|0){case 1:{La=170;Ma=103;break}case 2:{La=341;Ma=103;break}default:{}}if((Ma|0)==103)f[t>>2]=La;if((Ja|0)!=(Ka|0)){La=Ja;do{lp(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ka|0));Ka=f[A>>2]|0;A=f[y>>2]|0;if((A|0)!=(Ka|0))f[y>>2]=A+(~((A+-4-Ka|0)>>>2)<<2)}Ka=f[g>>2]|0;if(!Ka){u=e;return C|0}lp(Ka);u=e;return C|0}function nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)Do(g);else{l=j<<2;m=Yk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Gh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);lp(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[g>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[g+8>>2];f[g>>2]=0;r=g+4|0;f[r>>2]=0;f[g+8>>2]=0;do if(v)if(v>>>0>1073741823)Do(g);else{t=v<<2;q=Yk(t)|0;f[g>>2]=q;s=q+(v<<2)|0;f[g+8>>2]=s;Gh(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+128|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[g>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;y=g+8|0;A=g+4|0;t=g+16|0;z=g+20|0;nc(g);q=f[A>>2]|0;r=(f[z>>2]|0)+(f[t>>2]|0)|0;if((f[y>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[z>>2]|0)+1|0;f[z>>2]=B;a:do if(!B)C=1;else{r=a+104|0;q=d+16|0;s=d+20|0;w=d+28|0;x=a+8|0;n=d+12|0;k=a+92|0;l=a+48|0;j=a+44|0;o=a+36|0;p=a+4|0;D=a+16|0;E=a+88|0;F=a+76|0;G=a+84|0;H=B;while(1){I=f[t>>2]|0;J=H+-1|0;K=I+J|0;L=f[A>>2]|0;M=f[L+(((K>>>0)/341|0)<<2)>>2]|0;N=(K>>>0)%341|0;K=f[M+(N*12|0)>>2]|0;O=f[M+(N*12|0)+4>>2]|0;P=f[M+(N*12|0)+8>>2]|0;f[z>>2]=J;J=f[y>>2]|0;N=J-L>>2;if((1-H-I+((N|0)==0?0:(N*341|0)+-1|0)|0)>>>0>681){lp(f[J+-4>>2]|0);f[y>>2]=(f[y>>2]|0)+-4}J=f[m>>2]|0;N=J+(P*12|0)|0;if(K>>>0>c>>>0){C=0;break a}I=f[i>>2]|0;L=(I+-1|0)==(O|0)?0:O+1|0;if(L>>>0>=I>>>0){C=0;break a}I=(f[v>>2]|0)+(P*12|0)|0;O=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!O){if(K|0){M=0;do{Q=f[q>>2]|0;c:do if((f[s>>2]|0)!=(Q|0)){R=0;S=Q;do{T=S;U=f[T+(R*20|0)>>2]|0;V=T+(R*20|0)+12|0;W=T+(R*20|0)+16|0;X=(f[N>>2]|0)+(f[T+(R*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;do if((T|0)==4)Y=X;else{Z=f[n>>2]|0;if(!(f[W>>2]|0)){Y=Z;break}else{$=Z;aa=0;ba=T}while(1){Jf($|0,X+(aa<<2)|0,ba|0)|0;aa=aa+1|0;Z=f[V>>2]|0;if(aa>>>0>=(f[W>>2]|0)>>>0)break;else{$=$+Z|0;ba=Z}}Y=f[n>>2]|0}while(0);W=f[w>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(W<<2)>>2]|0;else ca=W;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;W=U+40|0;V=f[W>>2]|0;X=bl(V|0,f[W+4>>2]|0,ca|0,0)|0;Jf((f[f[U+64>>2]>>2]|0)+X|0,Y|0,V|0)|0;R=R+1|0;S=f[q>>2]|0}while(R>>>0<(((f[s>>2]|0)-S|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;M=M+1|0}while((M|0)!=(K|0))}}else{if(K>>>0>=3){if((f[x>>2]|0)>>>0>(f[p>>2]|0)>>>0){C=0;break a}M=P+1|0;mf(J+(M*12|0)|0,f[N>>2]|0,f[J+(P*12|0)+4>>2]|0);Q=(f[(f[m>>2]|0)+(M*12|0)>>2]|0)+(L<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>2]=0;Hh(D,Q,h);Q=(K>>>1)-(f[h>>2]|0)|0;S=K-Q|0;d:do if((Q|0)==(S|0)){da=Q;ea=Q}else{R=f[E>>2]|0;V=f[G>>2]|0;do if((V|0)!=(f[F>>2]|0)){X=(f[V>>2]&1<<31-R|0)!=0;W=R+1|0;f[E>>2]=W;if((W|0)==32){f[G>>2]=V+4;f[E>>2]=0;if(X){da=Q;ea=S;break d}else break}else if(X){da=Q;ea=S;break d}else break}while(0);da=S;ea=Q}while(0);Q=f[v>>2]|0;S=f[Q+(P*12|0)>>2]|0;V=S+(L<<2)|0;f[V>>2]=(f[V>>2]|0)+1;mf(Q+(M*12|0)|0,S,f[Q+(P*12|0)+4>>2]|0);if(da|0){Q=f[y>>2]|0;S=f[A>>2]|0;V=Q-S>>2;R=f[t>>2]|0;X=f[z>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(X+R|0)){nc(g);fa=f[t>>2]|0;ga=f[z>>2]|0;ha=f[y>>2]|0;ia=f[A>>2]|0}else{fa=R;ga=X;ha=Q;ia=S}S=ga+fa|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=L;f[ja+8>>2]=P;f[z>>2]=(f[z>>2]|0)+1}if(ea|0){S=f[y>>2]|0;Q=f[A>>2]|0;X=S-Q>>2;R=f[t>>2]|0;V=f[z>>2]|0;if((((X|0)==0?0:(X*341|0)+-1|0)|0)==(V+R|0)){nc(g);ka=f[t>>2]|0;la=f[z>>2]|0;ma=f[y>>2]|0;na=f[A>>2]|0}else{ka=R;la=V;ma=S;na=Q}Q=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=L;f[oa+8>>2]=M;f[z>>2]=(f[z>>2]|0)+1}break}Q=f[r>>2]|0;f[Q>>2]=L;S=f[i>>2]|0;if(S>>>0>1){V=1;R=S;X=L;while(1){X=(X|0)==(R+-1|0)?0:X+1|0;f[Q+(V<<2)>>2]=X;V=V+1|0;W=f[i>>2]|0;if(V>>>0>=W>>>0){pa=W;break}else R=W}}else pa=S;if(K|0){R=0;V=pa;while(1){if(V|0){X=f[r>>2]|0;Q=f[k>>2]|0;M=f[I>>2]|0;W=0;do{T=X+(W<<2)|0;f[Q+(f[T>>2]<<2)>>2]=0;Z=f[T>>2]|0;qa=(f[a>>2]|0)-(f[M+(Z<<2)>>2]|0)|0;do if(qa|0){ra=Q+(Z<<2)|0;sa=f[l>>2]|0;ta=32-sa|0;if((qa|0)>(ta|0)){ua=f[j>>2]|0;va=ua+4|0;if((va|0)==(f[o>>2]|0)){f[ra>>2]=0;break}else{wa=f[ua>>2]<>2]=ua;f[j>>2]=va;xa=32-ua|0;f[ra>>2]=(f[va>>2]|0)>>>xa|wa>>>(xa-ta|0);break}}ta=f[j>>2]|0;if((ta|0)==(f[o>>2]|0)){f[ra>>2]=0;break}f[ra>>2]=f[ta>>2]<>>(32-qa|0);sa=(f[l>>2]|0)+qa|0;f[l>>2]=sa;if((sa|0)!=32)break;f[j>>2]=ta+4;f[l>>2]=0}while(0);qa=f[T>>2]|0;Z=Q+(qa<<2)|0;f[Z>>2]=f[Z>>2]|f[(f[N>>2]|0)+(qa<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[q>>2]|0;e:do if((f[s>>2]|0)!=(W|0)){Q=0;M=W;do{X=M;qa=f[X+(Q*20|0)>>2]|0;Z=X+(Q*20|0)+12|0;ta=X+(Q*20|0)+16|0;sa=(f[k>>2]|0)+(f[X+(Q*20|0)+4>>2]<<2)|0;X=f[Z>>2]|0;do if((X|0)==4)ya=sa;else{ra=f[n>>2]|0;if(!(f[ta>>2]|0)){ya=ra;break}else{za=ra;Aa=0;Ba=X}while(1){Jf(za|0,sa+(Aa<<2)|0,Ba|0)|0;Aa=Aa+1|0;ra=f[Z>>2]|0;if(Aa>>>0>=(f[ta>>2]|0)>>>0)break;else{za=za+ra|0;Ba=ra}}ya=f[n>>2]|0}while(0);ta=f[w>>2]|0;if(!(b[qa+84>>0]|0))Ca=f[(f[qa+68>>2]|0)+(ta<<2)>>2]|0;else Ca=ta;if(Ca>>>0>=(f[qa+80>>2]|0)>>>0)break e;ta=qa+40|0;Z=f[ta>>2]|0;sa=bl(Z|0,f[ta+4>>2]|0,Ca|0,0)|0;Jf((f[f[qa+64>>2]>>2]|0)+sa|0,ya|0,Z|0)|0;Q=Q+1|0;M=f[q>>2]|0}while(Q>>>0<(((f[s>>2]|0)-M|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;W=R+1|0;if((W|0)==(K|0))break b;R=W;V=f[i>>2]|0}}}while(0);H=f[z>>2]|0;if(!H){C=1;break}}}while(0);i=f[A>>2]|0;ya=f[t>>2]|0;Ca=i+(((ya>>>0)/341|0)<<2)|0;Ba=f[y>>2]|0;za=Ba;Aa=i;if((Ba|0)==(i|0)){Da=0;Ea=0}else{a=(f[z>>2]|0)+ya|0;Da=(f[i+(((a>>>0)/341|0)<<2)>>2]|0)+(((a>>>0)%341|0)*12|0)|0;Ea=(f[Ca>>2]|0)+(((ya>>>0)%341|0)*12|0)|0}ya=Ca;Ca=Ea;f:while(1){Ea=Ca;do{a=Ea;if((Da|0)==(a|0))break f;Ea=a+12|0}while((Ea-(f[ya>>2]|0)|0)!=4092);Ea=ya+4|0;ya=Ea;Ca=f[Ea>>2]|0}f[z>>2]=0;z=za-Aa>>2;if(z>>>0>2){Aa=i;do{lp(f[Aa>>2]|0);Aa=(f[A>>2]|0)+4|0;f[A>>2]=Aa;Fa=f[y>>2]|0;Ga=Fa-Aa>>2}while(Ga>>>0>2);Ha=Ga;Ia=Aa;Ja=Fa}else{Ha=z;Ia=i;Ja=Ba}switch(Ha|0){case 1:{Ka=170;La=101;break}case 2:{Ka=341;La=101;break}default:{}}if((La|0)==101)f[t>>2]=Ka;if((Ia|0)!=(Ja|0)){Ka=Ia;do{lp(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ja|0));Ja=f[A>>2]|0;A=f[y>>2]|0;if((A|0)!=(Ja|0))f[y>>2]=A+(~((A+-4-Ja|0)>>>2)<<2)}Ja=f[g>>2]|0;if(!Ja){u=e;return C|0}lp(Ja);u=e;return C|0}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+132|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+96|0;m=a+52|0;j=a+48|0;k=a+40|0;i=a+4|0;n=a+32|0;o=a+28|0;C=a+20|0;D=a+92|0;E=a+80|0;F=a+88|0;G=e+4|0;H=e+8|0;I=A;while(1){J=f[s>>2]|0;K=I+-1|0;L=J+K|0;M=f[z>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[y>>2]=K;K=f[x>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;J=(f[t>>2]|0)+(Q*12|0)|0;if(L>>>0>b>>>0){B=0;break a}M=pl(a,L,J,P)|0;if(M>>>0>=(f[h>>2]|0)>>>0){B=0;break a}P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;do{S=f[O>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[G>>2]=f[S+4>>2];f[H>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[G>>2];f[V+8>>2]=f[H>>2];f[U>>2]=V+12}else Qf(S,e);f[v>>2]=(f[v>>2]|0)+1;N=N+1|0}while(N>>>0>>0);R=23}else{if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=1;U=S;T=M;while(1){T=(T|0)==(U+-1|0)?0:T+1|0;f[N+(V<<2)>>2]=T;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){X=W;break}else U=W}}else X=S;if(!L){R=23;break}U=0;V=X;while(1){if(!V)Y=f[w>>2]|0;else{T=f[q>>2]|0;N=f[w>>2]|0;W=f[J>>2]|0;Z=0;do{$=T+(Z<<2)|0;f[N+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=N+(aa<<2)|0;da=f[m>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[j>>2]|0;ga=fa+4|0;if((ga|0)==(f[k>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[j>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[j>>2]|0;if((ea|0)==(f[k>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[m>>2]|0)+ba|0;f[m>>2]=da;if((da|0)!=32)break;f[j>>2]=ea+4;f[m>>2]=0}while(0);ba=f[$>>2]|0;aa=N+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ba<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0);Y=N}N=f[Y>>2]|0;f[e>>2]=N;f[p>>2]=f[Y+4>>2];f[r>>2]=f[Y+8>>2];Z=f[c>>2]|0;W=Z+4|0;T=f[W>>2]|0;if(T>>>0<(f[Z+8>>2]|0)>>>0){f[T>>2]=N;f[T+4>>2]=f[p>>2];f[T+8>>2]=f[r>>2];f[W>>2]=T+12}else Qf(Z,e);f[v>>2]=(f[v>>2]|0)+1;Z=U+1|0;if(Z>>>0>=L>>>0){R=23;break b}U=Z;V=f[h>>2]|0}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}V=Q+1|0;U=f[l>>2]|0;S=U+(V*12|0)|0;if((S|0)==(O|0))ja=U;else{mf(S,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);ja=f[l>>2]|0}S=(f[ja+(V*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;Z=32-U|0;if((S|0)>(Z|0)){T=f[o>>2]|0;W=T+4|0;if((W|0)==(f[C>>2]|0))ka=0;else{N=f[T>>2]<>2]=T;f[o>>2]=W;ba=32-T|0;ka=(f[W>>2]|0)>>>ba|N>>>(ba-Z|0)}}else{Z=f[o>>2]|0;if((Z|0)!=(f[C>>2]|0)){ba=f[Z>>2]<>>(32-S|0);N=U+S|0;f[n>>2]=N;if((N|0)==32){f[o>>2]=Z+4;f[n>>2]=0;ka=ba}else ka=ba}else ka=0}ba=(L>>>1)-ka|0;Z=L-ba|0;c:do if((ba|0)==(Z|0)){la=ba;ma=ba}else{N=f[D>>2]|0;S=f[F>>2]|0;do if((S|0)!=(f[E>>2]|0)){U=(f[S>>2]&1<<31-N|0)!=0;W=N+1|0;f[D>>2]=W;if((W|0)==32){f[F>>2]=S+4;f[D>>2]=0;if(U){la=ba;ma=Z;break c}else break}else if(U){la=ba;ma=Z;break c}else break}while(0);la=Z;ma=ba}while(0);ba=f[t>>2]|0;Z=f[ba+(Q*12|0)>>2]|0;S=Z+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;mf(ba+(V*12|0)|0,Z,f[ba+(Q*12|0)+4>>2]|0);if(la|0){ba=f[x>>2]|0;Z=f[z>>2]|0;S=ba-Z>>2;N=f[s>>2]|0;U=f[y>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(U+N|0)){nc(g);na=f[s>>2]|0;oa=f[y>>2]|0;pa=f[x>>2]|0;qa=f[z>>2]|0}else{na=N;oa=U;pa=ba;qa=Z}Z=oa+na|0;if((pa|0)==(qa|0))ra=0;else ra=(f[qa+(((Z>>>0)/341|0)<<2)>>2]|0)+(((Z>>>0)%341|0)*12|0)|0;f[ra>>2]=la;f[ra+4>>2]=M;f[ra+8>>2]=Q;f[y>>2]=(f[y>>2]|0)+1}if(!ma)R=23;else{Z=f[x>>2]|0;ba=f[z>>2]|0;U=Z-ba>>2;N=f[s>>2]|0;S=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(S+N|0)){nc(g);sa=f[s>>2]|0;ta=f[y>>2]|0;ua=f[x>>2]|0;va=f[z>>2]|0}else{sa=N;ta=S;ua=Z;va=ba}ba=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((ba>>>0)/341|0)<<2)>>2]|0)+(((ba>>>0)%341|0)*12|0)|0;f[wa>>2]=ma;f[wa+4>>2]=M;f[wa+8>>2]=V;ba=(f[y>>2]|0)+1|0;f[y>>2]=ba;xa=ba}}while(0);if((R|0)==23){R=0;xa=f[y>>2]|0}if(!xa){B=1;break}else I=xa}}while(0);xa=f[z>>2]|0;wa=f[s>>2]|0;ma=xa+(((wa>>>0)/341|0)<<2)|0;va=f[x>>2]|0;ua=va;sa=xa;if((va|0)==(xa|0)){ya=0;za=0}else{ta=(f[y>>2]|0)+wa|0;ya=(f[xa+(((ta>>>0)/341|0)<<2)>>2]|0)+(((ta>>>0)%341|0)*12|0)|0;za=(f[ma>>2]|0)+(((wa>>>0)%341|0)*12|0)|0}wa=ma;ma=za;d:while(1){za=ma;do{ta=za;if((ya|0)==(ta|0))break d;za=ta+12|0}while((za-(f[wa>>2]|0)|0)!=4092);za=wa+4|0;wa=za;ma=f[za>>2]|0}f[y>>2]=0;y=ua-sa>>2;if(y>>>0>2){sa=xa;do{lp(f[sa>>2]|0);sa=(f[z>>2]|0)+4|0;f[z>>2]=sa;Aa=f[x>>2]|0;Ba=Aa-sa>>2}while(Ba>>>0>2);Ca=Ba;Da=sa;Ea=Aa}else{Ca=y;Da=xa;Ea=va}switch(Ca|0){case 1:{Fa=170;R=98;break}case 2:{Fa=341;R=98;break}default:{}}if((R|0)==98)f[s>>2]=Fa;if((Da|0)!=(Ea|0)){Fa=Da;do{lp(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Ea|0));Ea=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ea|0))f[x>>2]=z+(~((z+-4-Ea|0)>>>2)<<2)}Ea=f[g>>2]|0;if(!Ea){u=d;return B|0}lp(Ea);u=d;return B|0}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+132|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+96|0;m=a+52|0;j=a+48|0;k=a+40|0;i=a+4|0;n=a+32|0;o=a+28|0;C=a+20|0;D=a+92|0;E=a+80|0;F=a+88|0;G=e+4|0;H=e+8|0;I=A;while(1){J=f[s>>2]|0;K=I+-1|0;L=J+K|0;M=f[z>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[y>>2]=K;K=f[x>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;if(L>>>0>b>>>0){B=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(P|0)?0:P+1|0;if(M>>>0>=J>>>0){B=0;break a}J=(f[t>>2]|0)+(Q*12|0)|0;P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;do{S=f[O>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[G>>2]=f[S+4>>2];f[H>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[G>>2];f[V+8>>2]=f[H>>2];f[U>>2]=V+12}else Qf(S,e);f[v>>2]=(f[v>>2]|0)+1;N=N+1|0}while(N>>>0>>0);R=23}else{if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=1;U=S;T=M;while(1){T=(T|0)==(U+-1|0)?0:T+1|0;f[N+(V<<2)>>2]=T;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){X=W;break}else U=W}}else X=S;if(!L){R=23;break}U=0;V=X;while(1){if(!V)Y=f[w>>2]|0;else{T=f[q>>2]|0;N=f[w>>2]|0;W=f[J>>2]|0;Z=0;do{$=T+(Z<<2)|0;f[N+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=N+(aa<<2)|0;da=f[m>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[j>>2]|0;ga=fa+4|0;if((ga|0)==(f[k>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[j>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[j>>2]|0;if((ea|0)==(f[k>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[m>>2]|0)+ba|0;f[m>>2]=da;if((da|0)!=32)break;f[j>>2]=ea+4;f[m>>2]=0}while(0);ba=f[$>>2]|0;aa=N+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ba<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0);Y=N}N=f[Y>>2]|0;f[e>>2]=N;f[p>>2]=f[Y+4>>2];f[r>>2]=f[Y+8>>2];Z=f[c>>2]|0;W=Z+4|0;T=f[W>>2]|0;if(T>>>0<(f[Z+8>>2]|0)>>>0){f[T>>2]=N;f[T+4>>2]=f[p>>2];f[T+8>>2]=f[r>>2];f[W>>2]=T+12}else Qf(Z,e);f[v>>2]=(f[v>>2]|0)+1;Z=U+1|0;if(Z>>>0>=L>>>0){R=23;break b}U=Z;V=f[h>>2]|0}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}V=Q+1|0;mf(K+(V*12|0)|0,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);U=(f[(f[l>>2]|0)+(V*12|0)>>2]|0)+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+(1<>2]|0;Z=32-S|0;if((U|0)>(Z|0)){T=f[o>>2]|0;W=T+4|0;if((W|0)==(f[C>>2]|0))ja=0;else{N=f[T>>2]<>2]=T;f[o>>2]=W;ba=32-T|0;ja=(f[W>>2]|0)>>>ba|N>>>(ba-Z|0)}}else{Z=f[o>>2]|0;if((Z|0)!=(f[C>>2]|0)){ba=f[Z>>2]<>>(32-U|0);N=S+U|0;f[n>>2]=N;if((N|0)==32){f[o>>2]=Z+4;f[n>>2]=0;ja=ba}else ja=ba}else ja=0}ba=(L>>>1)-ja|0;Z=L-ba|0;c:do if((ba|0)==(Z|0)){ka=ba;la=ba}else{N=f[D>>2]|0;U=f[F>>2]|0;do if((U|0)!=(f[E>>2]|0)){S=(f[U>>2]&1<<31-N|0)!=0;W=N+1|0;f[D>>2]=W;if((W|0)==32){f[F>>2]=U+4;f[D>>2]=0;if(S){ka=ba;la=Z;break c}else break}else if(S){ka=ba;la=Z;break c}else break}while(0);ka=Z;la=ba}while(0);ba=f[t>>2]|0;Z=f[ba+(Q*12|0)>>2]|0;U=Z+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+1;mf(ba+(V*12|0)|0,Z,f[ba+(Q*12|0)+4>>2]|0);if(ka|0){ba=f[x>>2]|0;Z=f[z>>2]|0;U=ba-Z>>2;N=f[s>>2]|0;S=f[y>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(S+N|0)){nc(g);ma=f[s>>2]|0;na=f[y>>2]|0;oa=f[x>>2]|0;pa=f[z>>2]|0}else{ma=N;na=S;oa=ba;pa=Z}Z=na+ma|0;if((oa|0)==(pa|0))qa=0;else qa=(f[pa+(((Z>>>0)/341|0)<<2)>>2]|0)+(((Z>>>0)%341|0)*12|0)|0;f[qa>>2]=ka;f[qa+4>>2]=M;f[qa+8>>2]=Q;f[y>>2]=(f[y>>2]|0)+1}if(!la)R=23;else{Z=f[x>>2]|0;ba=f[z>>2]|0;S=Z-ba>>2;N=f[s>>2]|0;U=f[y>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(U+N|0)){nc(g);ra=f[s>>2]|0;sa=f[y>>2]|0;ta=f[x>>2]|0;ua=f[z>>2]|0}else{ra=N;sa=U;ta=Z;ua=ba}ba=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((ba>>>0)/341|0)<<2)>>2]|0)+(((ba>>>0)%341|0)*12|0)|0;f[va>>2]=la;f[va+4>>2]=M;f[va+8>>2]=V;ba=(f[y>>2]|0)+1|0;f[y>>2]=ba;wa=ba}}while(0);if((R|0)==23){R=0;wa=f[y>>2]|0}if(!wa){B=1;break}else I=wa}}while(0);wa=f[z>>2]|0;va=f[s>>2]|0;la=wa+(((va>>>0)/341|0)<<2)|0;ua=f[x>>2]|0;ta=ua;ra=wa;if((ua|0)==(wa|0)){xa=0;ya=0}else{sa=(f[y>>2]|0)+va|0;xa=(f[wa+(((sa>>>0)/341|0)<<2)>>2]|0)+(((sa>>>0)%341|0)*12|0)|0;ya=(f[la>>2]|0)+(((va>>>0)%341|0)*12|0)|0}va=la;la=ya;d:while(1){ya=la;do{sa=ya;if((xa|0)==(sa|0))break d;ya=sa+12|0}while((ya-(f[va>>2]|0)|0)!=4092);ya=va+4|0;va=ya;la=f[ya>>2]|0}f[y>>2]=0;y=ta-ra>>2;if(y>>>0>2){ra=wa;do{lp(f[ra>>2]|0);ra=(f[z>>2]|0)+4|0;f[z>>2]=ra;za=f[x>>2]|0;Aa=za-ra>>2}while(Aa>>>0>2);Ba=Aa;Ca=ra;Da=za}else{Ba=y;Ca=wa;Da=ua}switch(Ba|0){case 1:{Ea=170;R=96;break}case 2:{Ea=341;R=96;break}default:{}}if((R|0)==96)f[s>>2]=Ea;if((Ca|0)!=(Da|0)){Ea=Ca;do{lp(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Da|0));Da=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Da|0))f[x>>2]=z+(~((z+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=d;return B|0}lp(Da);u=d;return B|0}function qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;j=a+556|0;k=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[t>>2]|0)+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}J=Jg(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0<3){K=f[q>>2]|0;f[K>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=J;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[K+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!I){O=23;break}R=0;S=U;while(1){if(!S)V=f[w>>2]|0;else{Q=f[q>>2]|0;K=f[w>>2]|0;T=f[G>>2]|0;W=0;do{X=Q+(W<<2)|0;f[K+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=K+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[j>>2]|0;da=ca+4|0;if((da|0)==(f[k>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[j>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[j>>2]|0;if((ba|0)==(f[k>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[j>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=K+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=K}K=f[V>>2]|0;f[e>>2]=K;f[p>>2]=f[V+4>>2];f[r>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=K;f[Q+4>>2]=f[p>>2];f[Q+8>>2]=f[r>>2];f[T>>2]=Q+12}else Qf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=R+1|0;if(W>>>0>=I>>>0){O=23;break b}R=W;S=f[h>>2]|0}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}S=N+1|0;R=f[l>>2]|0;P=R+(S*12|0)|0;if((P|0)==(L|0))ga=R;else{mf(P,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=I-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{R=f[n>>2]|0;Q=f[C>>2]|0;do if((Q|0)!=(f[o>>2]|0)){T=(f[Q>>2]&1<<31-R|0)!=0;K=R+1|0;f[n>>2]=K;if((K|0)==32){f[C>>2]=Q+4;f[n>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[t>>2]|0;P=f[W+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(W+(S*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[x>>2]|0;P=f[z>>2]|0;Q=W-P>>2;R=f[s>>2]|0;T=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(T+R|0)){nc(g);ka=f[s>>2]|0;la=f[y>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0}else{ka=R;la=T;ma=W;na=P}P=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[oa>>2]=ia;f[oa+4>>2]=J;f[oa+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!ja)O=23;else{P=f[x>>2]|0;W=f[z>>2]|0;T=P-W>>2;R=f[s>>2]|0;Q=f[y>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(Q+R|0)){nc(g);pa=f[s>>2]|0;qa=f[y>>2]|0;ra=f[x>>2]|0;sa=f[z>>2]|0}else{pa=R;qa=Q;ra=P;sa=W}W=qa+pa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((W>>>0)/341|0)<<2)>>2]|0)+(((W>>>0)%341|0)*12|0)|0;f[ta>>2]=ja;f[ta+4>>2]=J;f[ta+8>>2]=S;W=(f[y>>2]|0)+1|0;f[y>>2]=W;ua=W}}while(0);if((O|0)==23){O=0;ua=f[y>>2]|0}if(!ua){B=1;break}else F=ua}}while(0);ua=f[z>>2]|0;ta=f[s>>2]|0;ja=ua+(((ta>>>0)/341|0)<<2)|0;sa=f[x>>2]|0;ra=sa;pa=ua;if((sa|0)==(ua|0)){va=0;wa=0}else{qa=(f[y>>2]|0)+ta|0;va=(f[ua+(((qa>>>0)/341|0)<<2)>>2]|0)+(((qa>>>0)%341|0)*12|0)|0;wa=(f[ja>>2]|0)+(((ta>>>0)%341|0)*12|0)|0}ta=ja;ja=wa;d:while(1){wa=ja;do{qa=wa;if((va|0)==(qa|0))break d;wa=qa+12|0}while((wa-(f[ta>>2]|0)|0)!=4092);wa=ta+4|0;ta=wa;ja=f[wa>>2]|0}f[y>>2]=0;y=ra-pa>>2;if(y>>>0>2){pa=ua;do{lp(f[pa>>2]|0);pa=(f[z>>2]|0)+4|0;f[z>>2]=pa;xa=f[x>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=ya;Aa=pa;Ba=xa}else{za=y;Aa=ua;Ba=sa}switch(za|0){case 1:{Ca=170;O=94;break}case 2:{Ca=341;O=94;break}default:{}}if((O|0)==94)f[s>>2]=Ca;if((Aa|0)!=(Ba|0)){Ca=Aa;do{lp(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Ba|0));Ba=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ba|0))f[x>>2]=z+(~((z+-4-Ba|0)>>>2)<<2)}Ba=f[g>>2]|0;if(!Ba){u=d;return B|0}lp(Ba);u=d;return B|0}function rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;j=a+556|0;k=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[t>>2]|0)+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}J=pl(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0<3){K=f[q>>2]|0;f[K>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=J;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[K+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!I){O=23;break}R=0;S=U;while(1){if(!S)V=f[w>>2]|0;else{Q=f[q>>2]|0;K=f[w>>2]|0;T=f[G>>2]|0;W=0;do{X=Q+(W<<2)|0;f[K+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=K+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[j>>2]|0;da=ca+4|0;if((da|0)==(f[k>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[j>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[j>>2]|0;if((ba|0)==(f[k>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[j>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=K+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=K}K=f[V>>2]|0;f[e>>2]=K;f[p>>2]=f[V+4>>2];f[r>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=K;f[Q+4>>2]=f[p>>2];f[Q+8>>2]=f[r>>2];f[T>>2]=Q+12}else Qf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=R+1|0;if(W>>>0>=I>>>0){O=23;break b}R=W;S=f[h>>2]|0}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}S=N+1|0;R=f[l>>2]|0;P=R+(S*12|0)|0;if((P|0)==(L|0))ga=R;else{mf(P,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=I-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{R=f[n>>2]|0;Q=f[C>>2]|0;do if((Q|0)!=(f[o>>2]|0)){T=(f[Q>>2]&1<<31-R|0)!=0;K=R+1|0;f[n>>2]=K;if((K|0)==32){f[C>>2]=Q+4;f[n>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[t>>2]|0;P=f[W+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(W+(S*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[x>>2]|0;P=f[z>>2]|0;Q=W-P>>2;R=f[s>>2]|0;T=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(T+R|0)){nc(g);ka=f[s>>2]|0;la=f[y>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0}else{ka=R;la=T;ma=W;na=P}P=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[oa>>2]=ia;f[oa+4>>2]=J;f[oa+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!ja)O=23;else{P=f[x>>2]|0;W=f[z>>2]|0;T=P-W>>2;R=f[s>>2]|0;Q=f[y>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(Q+R|0)){nc(g);pa=f[s>>2]|0;qa=f[y>>2]|0;ra=f[x>>2]|0;sa=f[z>>2]|0}else{pa=R;qa=Q;ra=P;sa=W}W=qa+pa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((W>>>0)/341|0)<<2)>>2]|0)+(((W>>>0)%341|0)*12|0)|0;f[ta>>2]=ja;f[ta+4>>2]=J;f[ta+8>>2]=S;W=(f[y>>2]|0)+1|0;f[y>>2]=W;ua=W}}while(0);if((O|0)==23){O=0;ua=f[y>>2]|0}if(!ua){B=1;break}else F=ua}}while(0);ua=f[z>>2]|0;ta=f[s>>2]|0;ja=ua+(((ta>>>0)/341|0)<<2)|0;sa=f[x>>2]|0;ra=sa;pa=ua;if((sa|0)==(ua|0)){va=0;wa=0}else{qa=(f[y>>2]|0)+ta|0;va=(f[ua+(((qa>>>0)/341|0)<<2)>>2]|0)+(((qa>>>0)%341|0)*12|0)|0;wa=(f[ja>>2]|0)+(((ta>>>0)%341|0)*12|0)|0}ta=ja;ja=wa;d:while(1){wa=ja;do{qa=wa;if((va|0)==(qa|0))break d;wa=qa+12|0}while((wa-(f[ta>>2]|0)|0)!=4092);wa=ta+4|0;ta=wa;ja=f[wa>>2]|0}f[y>>2]=0;y=ra-pa>>2;if(y>>>0>2){pa=ua;do{lp(f[pa>>2]|0);pa=(f[z>>2]|0)+4|0;f[z>>2]=pa;xa=f[x>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=ya;Aa=pa;Ba=xa}else{za=y;Aa=ua;Ba=sa}switch(za|0){case 1:{Ca=170;O=94;break}case 2:{Ca=341;O=94;break}default:{}}if((O|0)==94)f[s>>2]=Ca;if((Aa|0)!=(Ba|0)){Ca=Aa;do{lp(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Ba|0));Ba=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ba|0))f[x>>2]=z+(~((z+-4-Ba|0)>>>2)<<2)}Ba=f[g>>2]|0;if(!Ba){u=d;return B|0}lp(Ba);u=d;return B|0}function sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+640|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;j=a+556|0;k=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[s>>2]|0;H=F+-1|0;I=G+H|0;J=f[z>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[y>>2]=H;H=f[x>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(M|0)?0:M+1|0;if(J>>>0>=G>>>0){B=0;break a}G=(f[t>>2]|0)+(N*12|0)|0;M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0>=3){if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}K=N+1|0;mf(H+(K*12|0)|0,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-T|0;P=I-R|0;c:do if((R|0)==(P|0)){U=R;V=R}else{S=f[n>>2]|0;Q=f[C>>2]|0;do if((Q|0)!=(f[o>>2]|0)){W=(f[Q>>2]&1<<31-S|0)!=0;X=S+1|0;f[n>>2]=X;if((X|0)==32){f[C>>2]=Q+4;f[n>>2]=0;if(W){U=R;V=P;break c}else break}else if(W){U=R;V=P;break c}else break}while(0);U=P;V=R}while(0);R=f[t>>2]|0;P=f[R+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(R+(K*12|0)|0,P,f[R+(N*12|0)+4>>2]|0);if(U|0){R=f[x>>2]|0;P=f[z>>2]|0;Q=R-P>>2;S=f[s>>2]|0;W=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(W+S|0)){nc(g);Y=f[s>>2]|0;Z=f[y>>2]|0;$=f[x>>2]|0;aa=f[z>>2]|0}else{Y=S;Z=W;$=R;aa=P}P=Z+Y|0;if(($|0)==(aa|0))ba=0;else ba=(f[aa+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[ba>>2]=U;f[ba+4>>2]=J;f[ba+8>>2]=N;f[y>>2]=(f[y>>2]|0)+1}if(!V){O=23;break}P=f[x>>2]|0;R=f[z>>2]|0;W=P-R>>2;S=f[s>>2]|0;Q=f[y>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(Q+S|0)){nc(g);ca=f[s>>2]|0;da=f[y>>2]|0;ea=f[x>>2]|0;fa=f[z>>2]|0}else{ca=S;da=Q;ea=P;fa=R}R=da+ca|0;if((ea|0)==(fa|0))ga=0;else ga=(f[fa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ga>>2]=V;f[ga+4>>2]=J;f[ga+8>>2]=K;R=(f[y>>2]|0)+1|0;f[y>>2]=R;ha=R;break}R=f[q>>2]|0;f[R>>2]=J;P=f[h>>2]|0;if(P>>>0>1){Q=1;S=P;W=J;while(1){W=(W|0)==(S+-1|0)?0:W+1|0;f[R+(Q<<2)>>2]=W;Q=Q+1|0;X=f[h>>2]|0;if(Q>>>0>=X>>>0){ia=X;break}else S=X}}else ia=P;if(!I)O=23;else{S=0;Q=ia;while(1){if(!Q)ja=f[w>>2]|0;else{W=f[q>>2]|0;R=f[w>>2]|0;K=f[G>>2]|0;X=0;do{ka=W+(X<<2)|0;f[R+(f[ka>>2]<<2)>>2]=0;la=f[ka>>2]|0;ma=(f[a>>2]|0)-(f[K+(la<<2)>>2]|0)|0;do if(ma|0){na=R+(la<<2)|0;oa=f[m>>2]|0;pa=32-oa|0;if((ma|0)>(pa|0)){qa=f[j>>2]|0;ra=qa+4|0;if((ra|0)==(f[k>>2]|0)){f[na>>2]=0;break}else{sa=f[qa>>2]<>2]=qa;f[j>>2]=ra;ta=32-qa|0;f[na>>2]=(f[ra>>2]|0)>>>ta|sa>>>(ta-pa|0);break}}pa=f[j>>2]|0;if((pa|0)==(f[k>>2]|0)){f[na>>2]=0;break}f[na>>2]=f[pa>>2]<>>(32-ma|0);oa=(f[m>>2]|0)+ma|0;f[m>>2]=oa;if((oa|0)!=32)break;f[j>>2]=pa+4;f[m>>2]=0}while(0);ma=f[ka>>2]|0;la=R+(ma<<2)|0;f[la>>2]=f[la>>2]|f[(f[L>>2]|0)+(ma<<2)>>2];X=X+1|0}while(X>>>0<(f[h>>2]|0)>>>0);ja=R}R=f[ja>>2]|0;f[e>>2]=R;f[p>>2]=f[ja+4>>2];f[r>>2]=f[ja+8>>2];X=f[c>>2]|0;K=X+4|0;W=f[K>>2]|0;if(W>>>0<(f[X+8>>2]|0)>>>0){f[W>>2]=R;f[W+4>>2]=f[p>>2];f[W+8>>2]=f[r>>2];f[K>>2]=W+12}else Qf(X,e);f[v>>2]=(f[v>>2]|0)+1;X=S+1|0;if(X>>>0>=I>>>0){O=23;break b}S=X;Q=f[h>>2]|0}}}while(0);if((O|0)==23){O=0;ha=f[y>>2]|0}if(!ha){B=1;break}else F=ha}}while(0);ha=f[z>>2]|0;h=f[s>>2]|0;e=ha+(((h>>>0)/341|0)<<2)|0;c=f[x>>2]|0;ja=c;a=ha;if((c|0)==(ha|0)){ua=0;va=0}else{ia=(f[y>>2]|0)+h|0;ua=(f[ha+(((ia>>>0)/341|0)<<2)>>2]|0)+(((ia>>>0)%341|0)*12|0)|0;va=(f[e>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=e;e=va;d:while(1){va=e;do{ia=va;if((ua|0)==(ia|0))break d;va=ia+12|0}while((va-(f[h>>2]|0)|0)!=4092);va=h+4|0;h=va;e=f[va>>2]|0}f[y>>2]=0;y=ja-a>>2;if(y>>>0>2){a=ha;do{lp(f[a>>2]|0);a=(f[z>>2]|0)+4|0;f[z>>2]=a;wa=f[x>>2]|0;xa=wa-a>>2}while(xa>>>0>2);ya=xa;za=a;Aa=wa}else{ya=y;za=ha;Aa=c}switch(ya|0){case 1:{Ba=170;O=92;break}case 2:{Ba=341;O=92;break}default:{}}if((O|0)==92)f[s>>2]=Ba;if((za|0)!=(Aa|0)){Ba=za;do{lp(f[Ba>>2]|0);Ba=Ba+4|0}while((Ba|0)!=(Aa|0));Aa=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Aa|0))f[x>>2]=z+(~((z+-4-Aa|0)>>>2)<<2)}Aa=f[g>>2]|0;if(!Aa){u=d;return B|0}lp(Aa);u=d;return B|0}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Do(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Gh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Do(e);else{s=t<<2;p=Yk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Gh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+128|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);lp(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;nc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;a:do if(!A)B=1;else{q=a+104|0;p=e+4|0;r=e+8|0;v=a+8|0;w=a+92|0;m=a+48|0;j=a+44|0;k=a+36|0;i=a+4|0;n=a+16|0;o=a+88|0;C=a+76|0;D=a+84|0;E=e+4|0;F=e+8|0;G=A;while(1){H=f[s>>2]|0;I=G+-1|0;J=H+I|0;K=f[z>>2]|0;L=f[K+(((J>>>0)/341|0)<<2)>>2]|0;M=(J>>>0)%341|0;J=f[L+(M*12|0)>>2]|0;N=f[L+(M*12|0)+4>>2]|0;O=f[L+(M*12|0)+8>>2]|0;f[y>>2]=I;I=f[x>>2]|0;M=I-K>>2;if((1-G-H+((M|0)==0?0:(M*341|0)+-1|0)|0)>>>0>681){lp(f[I+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}I=f[l>>2]|0;M=I+(O*12|0)|0;H=(f[t>>2]|0)+(O*12|0)|0;if(J>>>0>b>>>0){B=0;break a}K=pl(a,J,H,N)|0;if(K>>>0>=(f[h>>2]|0)>>>0){B=0;break a}N=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!N){if(J|0){L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[E>>2]=f[P+4>>2];f[F>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[E>>2];f[S+8>>2]=f[F>>2];f[R>>2]=S+12}else Qf(P,e);f[v>>2]=(f[v>>2]|0)+1;L=L+1|0}while(L>>>0>>0)}}else if(J>>>0<3){L=f[q>>2]|0;f[L>>2]=K;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=K;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[L+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!J)break;R=0;S=U;while(1){if(!S)V=f[w>>2]|0;else{Q=f[q>>2]|0;L=f[w>>2]|0;T=f[H>>2]|0;W=0;do{X=Q+(W<<2)|0;f[L+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=L+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[j>>2]|0;da=ca+4|0;if((da|0)==(f[k>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[j>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[j>>2]|0;if((ba|0)==(f[k>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[j>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=L+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[M>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=L}L=f[V>>2]|0;f[e>>2]=L;f[p>>2]=f[V+4>>2];f[r>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=L;f[Q+4>>2]=f[p>>2];f[Q+8>>2]=f[r>>2];f[T>>2]=Q+12}else Qf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=R+1|0;if(W>>>0>=J>>>0)break b;R=W;S=f[h>>2]|0}}else{if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}S=O+1|0;R=f[l>>2]|0;P=R+(S*12|0)|0;if((P|0)==(M|0))ga=R;else{mf(P,f[M>>2]|0,f[I+(O*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;Hh(n,P,e);P=(J>>>1)-(f[e>>2]|0)|0;R=J-P|0;c:do if((P|0)==(R|0)){ha=P;ia=P}else{W=f[o>>2]|0;Q=f[D>>2]|0;do if((Q|0)!=(f[C>>2]|0)){T=(f[Q>>2]&1<<31-W|0)!=0;L=W+1|0;f[o>>2]=L;if((L|0)==32){f[D>>2]=Q+4;f[o>>2]=0;if(T){ha=P;ia=R;break c}else break}else if(T){ha=P;ia=R;break c}else break}while(0);ha=R;ia=P}while(0);P=f[t>>2]|0;R=f[P+(O*12|0)>>2]|0;Q=R+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;mf(P+(S*12|0)|0,R,f[P+(O*12|0)+4>>2]|0);if(ha|0){P=f[x>>2]|0;R=f[z>>2]|0;Q=P-R>>2;W=f[s>>2]|0;T=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(T+W|0)){nc(g);ja=f[s>>2]|0;ka=f[y>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0}else{ja=W;ka=T;la=P;ma=R}R=ka+ja|0;if((la|0)==(ma|0))na=0;else na=(f[ma+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[na>>2]=ha;f[na+4>>2]=K;f[na+8>>2]=O;f[y>>2]=(f[y>>2]|0)+1}if(ia|0){R=f[x>>2]|0;P=f[z>>2]|0;T=R-P>>2;W=f[s>>2]|0;Q=f[y>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(Q+W|0)){nc(g);oa=f[s>>2]|0;pa=f[y>>2]|0;qa=f[x>>2]|0;ra=f[z>>2]|0}else{oa=W;pa=Q;qa=R;ra=P}P=pa+oa|0;if((qa|0)==(ra|0))sa=0;else sa=(f[ra+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[sa>>2]=ia;f[sa+4>>2]=K;f[sa+8>>2]=S;f[y>>2]=(f[y>>2]|0)+1}break}while(0);G=f[y>>2]|0;if(!G){B=1;break}}}while(0);sa=f[z>>2]|0;ia=f[s>>2]|0;ra=sa+(((ia>>>0)/341|0)<<2)|0;qa=f[x>>2]|0;oa=qa;pa=sa;if((qa|0)==(sa|0)){ta=0;ua=0}else{na=(f[y>>2]|0)+ia|0;ta=(f[sa+(((na>>>0)/341|0)<<2)>>2]|0)+(((na>>>0)%341|0)*12|0)|0;ua=(f[ra>>2]|0)+(((ia>>>0)%341|0)*12|0)|0}ia=ra;ra=ua;d:while(1){ua=ra;do{na=ua;if((ta|0)==(na|0))break d;ua=na+12|0}while((ua-(f[ia>>2]|0)|0)!=4092);ua=ia+4|0;ia=ua;ra=f[ua>>2]|0}f[y>>2]=0;y=oa-pa>>2;if(y>>>0>2){pa=sa;do{lp(f[pa>>2]|0);pa=(f[z>>2]|0)+4|0;f[z>>2]=pa;va=f[x>>2]|0;wa=va-pa>>2}while(wa>>>0>2);xa=wa;ya=pa;za=va}else{xa=y;ya=sa;za=qa}switch(xa|0){case 1:{Aa=170;Ba=92;break}case 2:{Aa=341;Ba=92;break}default:{}}if((Ba|0)==92)f[s>>2]=Aa;if((ya|0)!=(za|0)){Aa=ya;do{lp(f[Aa>>2]|0);Aa=Aa+4|0}while((Aa|0)!=(za|0));za=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(za|0))f[x>>2]=z+(~((z+-4-za|0)>>>2)<<2)}za=f[g>>2]|0;if(!za){u=d;return B|0}lp(za);u=d;return B|0}function ub(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=Na,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+720|0;e=d;g=d+688|0;i=d+656|0;k=d+4|0;if((j[c+38>>1]|0)>514){f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;m=c+8|0;o=c+16|0;p=g+4|0;q=g+8|0;r=a+36|0;t=a+40|0;v=a+60|0;w=a+44|0;x=g+8|0;y=g+12|0;z=g+20|0;A=0;a:while(1){if((A|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){B=4;break}C=Qa[f[(f[a>>2]|0)+20>>2]&127](a,A)|0;D=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;E=f[(f[(f[D>>2]|0)+8>>2]|0)+(C<<2)>>2]|0;if((f[E+28>>2]|0)==9){C=b[E+24>>0]|0;E=f[l>>2]|0;D=f[i>>2]|0;F=E-D>>2;G=D;D=E;if(F>>>0>=C>>>0){if(F>>>0>C>>>0?(E=G+(C<<2)|0,(E|0)!=(D|0)):0)f[l>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Rg(i,C-F|0);F=C<<2;E=m;D=f[E>>2]|0;G=f[E+4>>2]|0;E=o;H=f[E>>2]|0;J=Ul(H|0,f[E+4>>2]|0,F|0,0)|0;E=I;if((G|0)<(E|0)|(G|0)==(E|0)&D>>>0>>0){K=0;break}Jf(f[i>>2]|0,(f[c>>2]|0)+H|0,F|0)|0;H=o;J=Ul(f[H>>2]|0,f[H+4>>2]|0,F|0,0)|0;F=I;H=o;f[H>>2]=J;f[H+4>>2]=F;H=m;D=f[H>>2]|0;E=f[H+4>>2]|0;H=Ul(J|0,F|0,4,0)|0;G=I;if((E|0)<(G|0)|(E|0)==(G|0)&D>>>0>>0){K=0;break}L=f[c>>2]|0;M=L+J|0;b[s>>0]=b[M>>0];b[s+1>>0]=b[M+1>>0];b[s+2>>0]=b[M+2>>0];b[s+3>>0]=b[M+3>>0];N=$(n[s>>2]);M=o;f[M>>2]=H;f[M+4>>2]=G;if(!((E|0)>(G|0)|(E|0)==(G|0)&D>>>0>H>>>0)){K=0;break}D=b[L+H>>0]|0;H=Ul(J|0,F|0,5,0)|0;F=o;f[F>>2]=H;f[F+4>>2]=I;if((D&255)>31){K=0;break}f[g>>2]=1228;f[p>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Ij(g,D&255,f[i>>2]|0,C,N);do if(aj(g,f[(f[v>>2]|0)+((((f[t>>2]|0)-(f[r>>2]|0)|0)/24|0)<<2)>>2]|0)|0){C=f[t>>2]|0;if((C|0)==(f[w>>2]|0)){De(r,g);O=0;break}f[C>>2]=1228;f[C+4>>2]=f[p>>2];P=C+8|0;f[P>>2]=0;D=C+12|0;f[D>>2]=0;f[C+16>>2]=0;F=(f[y>>2]|0)-(f[x>>2]|0)|0;H=F>>2;if(H|0){if(H>>>0>1073741823){B=20;break a}J=Yk(F)|0;f[D>>2]=J;f[P>>2]=J;f[C+16>>2]=J+(H<<2);H=f[x>>2]|0;F=(f[y>>2]|0)-H|0;if((F|0)>0){Jf(J|0,H|0,F|0)|0;f[D>>2]=J+(F>>>2<<2)}}f[C+20>>2]=f[z>>2];f[t>>2]=(f[t>>2]|0)+24;O=0}else O=1;while(0);f[g>>2]=1228;C=f[q>>2]|0;if(C|0){F=f[y>>2]|0;if((F|0)!=(C|0))f[y>>2]=F+(~((F+-4-C|0)>>>2)<<2);lp(C)}if(O|0){K=0;break}}A=A+1|0}if((B|0)==20)Do(P);if((B|0)==4){P=a+48|0;A=a+52|0;if((f[A>>2]|0)==(f[P>>2]|0))K=1;else{O=0;y=0;while(1){if(Rh(g,c)|0){q=f[g>>2]|0;Q=q<<31>>31^q>>>1}else Q=y;q=f[P>>2]|0;f[q+(O<<2)>>2]=Q;O=O+1|0;if(O>>>0>=(f[A>>2]|0)-q>>2>>>0){K=1;break}else y=Q}}}Q=f[i>>2]|0;if(Q|0){y=f[l>>2]|0;if((y|0)!=(Q|0))f[l>>2]=y+(~((y+-4-Q|0)>>>2)<<2);lp(Q)}R=K;u=d;return R|0}K=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;f[g+8>>2]=0;y=(K|0)==0;if(y){S=0;T=f[(f[a>>2]|0)+20>>2]|0;U=a}else{if(K>>>0>214748364)Do(g);l=K*20|0;A=Yk(l)|0;f[g>>2]=A;f[g+8>>2]=A+(K*20|0);Gh(A|0,0,l|0)|0;f[Q>>2]=A+l;l=0;A=0;O=f[(f[a>>2]|0)+20>>2]|0;while(1){P=Qa[O&127](a,l)|0;q=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;t=f[(f[(f[q>>2]|0)+8>>2]|0)+(P<<2)>>2]|0;P=f[t+28>>2]|0;q=Yj(P)|0;z=b[t+24>>0]|0;x=f[g>>2]|0;f[x+(l*20|0)>>2]=t;f[x+(l*20|0)+4>>2]=A;f[x+(l*20|0)+8>>2]=P;f[x+(l*20|0)+12>>2]=(q|0)>0?q:0;f[x+(l*20|0)+16>>2]=z;x=A+z|0;l=l+1|0;z=f[(f[a>>2]|0)+20>>2]|0;if(l>>>0>=K>>>0){S=x;T=z;U=a;break}else{A=x;O=z}}}O=Qa[T&127](a,0)|0;T=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;A=f[(f[(f[T>>2]|0)+8>>2]|0)+(O<<2)>>2]|0;b[A+84>>0]=1;O=f[A+68>>2]|0;T=A+72|0;l=f[T>>2]|0;if((l|0)!=(O|0))f[T>>2]=l+(~((l+-4-O|0)>>>2)<<2);O=c+8|0;l=f[O>>2]|0;T=f[O+4>>2]|0;O=c+16|0;z=O;x=f[z>>2]|0;q=f[z+4>>2]|0;b:do if((T|0)>(q|0)|(T|0)==(q|0)&l>>>0>x>>>0){z=f[c>>2]|0;P=b[z+x>>0]|0;t=Ul(x|0,q|0,1,0)|0;p=I;r=O;f[r>>2]=t;f[r+4>>2]=p;switch(P<<24>>24){case 0:{if(!((T|0)>(p|0)|(T|0)==(p|0)&l>>>0>t>>>0)){V=0;break b}P=Ul(x|0,q|0,2,0)|0;r=O;f[r>>2]=P;f[r+4>>2]=I;r=Ul(x|0,q|0,6,0)|0;w=I;if((T|0)<(w|0)|(T|0)==(w|0)&l>>>0>>0){V=0;break b}v=z+P|0;P=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=O;f[v>>2]=r;f[v+4>>2]=w;Nh(A,P)|0;Em(i);Mf(k,g);P=Xd(i,c,k)|0;w=f[k+16>>2]|0;if(w|0){v=k+20|0;r=f[v>>2]|0;if((r|0)!=(w|0))f[v>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[k>>2]|0;if(w|0){r=k+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;lp(w)}if(!P){V=0;break b}break}case 1:{if(!((T|0)>(p|0)|(T|0)==(p|0)&l>>>0>t>>>0)){V=0;break b}p=b[z+t>>0]|0;t=Ul(x|0,q|0,2,0)|0;P=O;f[P>>2]=t;f[P+4>>2]=I;if((p&255)>6){f[e>>2]=p&255;Ll(4930,e)|0;V=0;break b}P=Ul(x|0,q|0,6,0)|0;w=I;if((T|0)<(w|0)|(T|0)==(w|0)&l>>>0

>>0){V=0;break b}r=z+t|0;t=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=O;f[r>>2]=P;f[r+4>>2]=w;if(!y){w=0;do{r=Qa[f[(f[U>>2]|0)+20>>2]&127](a,w)|0;P=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[P>>2]|0)+8>>2]|0)+(r<<2)>>2]|0;Nh(z,t)|0;b[z+84>>0]=1;r=f[z+68>>2]|0;P=z+72|0;z=f[P>>2]|0;if((z|0)!=(r|0))f[P>>2]=z+(~((z+-4-r|0)>>>2)<<2);w=w+1|0}while(w>>>0>>0)}Mf(i,g);switch(p<<24>>24){case 0:{ye(k,S);w=he(k,c,i)|0;Be(k);if(w)B=77;else W=1;break}case 1:{ye(k,S);w=ge(k,c,i)|0;Be(k);if(w)B=77;else W=1;break}case 2:{Ae(k,S);w=je(k,c,i)|0;Oe(k);if(w)B=77;else W=1;break}case 3:{Ae(k,S);w=ie(k,c,i)|0;Oe(k);if(w)B=77;else W=1;break}case 4:{se(k,S);w=ce(k,c,i)|0;Fe(k);if(w)B=77;else W=1;break}case 5:{se(k,S);w=be(k,c,i)|0;Fe(k);if(w)B=77;else W=1;break}case 6:{se(k,S);w=ae(k,c,i)|0;Fe(k);if(w)B=77;else W=1;break}default:W=1}if((B|0)==77)W=0;w=f[i+16>>2]|0;if(w|0){t=i+20|0;r=f[t>>2]|0;if((r|0)!=(w|0))f[t>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[i>>2]|0;if(w|0){r=i+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;lp(w)}if(W|0){V=0;break b}break}default:{V=0;break b}}V=1}else V=0;while(0);W=f[g>>2]|0;if(W|0){g=f[Q>>2]|0;if((g|0)!=(W|0))f[Q>>2]=g+(~(((g+-20-W|0)>>>0)/20|0)*20|0);lp(W)}R=V;u=d;return R|0}function vb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Na,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(bl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=bl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=bl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=Ul(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=bl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Ul(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Gh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0} -function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Ul(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Ul(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Wl(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function Qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)Do(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=ra(8)|0;cn(l,13388);f[l>>2]=4744;va(l|0,1128,101)}else{n=Yk(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=j;j=l;while(1){l=g;g=g+-12|0;f[j+-12>>2]=f[g>>2];f[j+-8>>2]=f[l+-8>>2];f[j+-4>>2]=f[l+-4>>2];l=j+-12|0;if((g|0)==(i|0)){o=l;break}else j=l}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;lp(e);return}function Rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){lp(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=j;j=g;while(1){m=l+8|0;if((j|0)==(f[i>>2]|0))kf(a,m);else{Ch(j,m);f[h>>2]=(f[h>>2]|0)+12}m=f[l>>2]|0;if(!m)break a;l=m;j=f[h>>2]|0}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Wa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;lp(d)}lp(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;lp(a)}lp(e)}lp(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==1048576;return k|0}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)Do(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;cn(h,13388);f[h>>2]=4744;va(h|0,1128,101)}else{k=Yk(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)Jf(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;lp(d);return}function Vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;if(!(Md(a,b)|0)){e=0;u=c;return e|0}g=b+8|0;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Ul(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){e=0;u=c;return e|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){e=0;u=c;return e|0}k=f[a+152>>2]|0;if((l|0)>=(k|0)){e=0;u=c;return e|0}l=a+156|0;f[d>>2]=0;i=a+160|0;m=f[i>>2]|0;g=f[l>>2]|0;j=m-g>>2;n=g;g=m;if(k>>>0<=j>>>0){if(k>>>0>>0?(m=n+(k<<2)|0,(m|0)!=(g|0)):0)f[i>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else dg(l,k-j|0,d);e=Bd(a+168|0,b)|0;u=c;return e|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==524288;return k|0}function Xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==262144;return k|0}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)lp(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)lp(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;Of(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;Of(a+12|0,k,e);Re(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,3596);ri(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);ri(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==65536;return k|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==32768;return k|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==8192;return k|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Rg(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Uf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==4096;return k|0}function bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((Bb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=qp(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=Bb(a,c,g,i,h)|0;if(!o)s=j;else{Ra[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=Bb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)pp(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){ue(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;lp(h)}lp(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);lp(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(a)}lp(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)Do(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;cn(e,13388);f[e>>2]=4744;va(e|0,1128,101)}else{e=Yk(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)Jf(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;lp(i);return}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Hn(f[a+8>>2]|0,e)|0;h=Hn(f[a+12>>2]|0,e)|0;i=Hn(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Hn(f[a+(q<<2)>>2]|0,e)|0;s=Hn(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=pj(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Hn(f[a+(m<<2)>>2]|0,e)|0;j=Hn(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function fg(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Gn(l,e,0)|0){f[i+48>>2]=1;Za[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ya[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=Na;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=0;n=0;o=0;p=j;while(1){q=$($(1.0)/$(p|0));af(g,$(q*$(f[k+(m<<2)>>2]|0)),$(q*$(f[k+((m|1)<<2)>>2]|0)),e);Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+o|0,e|0,i|0)|0;j=n+1|0;if((j|0)==(c|0)){l=1;break}m=m+2|0;n=j;o=o+i|0;p=f[a>>2]|0}u=d;return l|0}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)Do(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{d=Yk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)Jf(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;lp(h);return}function ig(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=dj(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=dj(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=Uh(c)|0;if(h>>>0>4294967279)Do(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Fd(i,g,e)|0,(j|0)!=0):0)n=cj(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)lp(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}lp(f[e>>2]|0);u=d;return n|0}function lg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Pa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Se(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=Yk(44)|0;f[d>>2]=1536;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];pi(d+32|0,e+24|0);f[d>>2]=1592;g=d}f[a>>2]=g;return}function mg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(a|0)!=(k|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{dg(h,i-l|0,1404);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function ng(a){a=a|0;Ym(a);Ym(a+16|0);Ym(a+32|0);Ym(a+48|0);Ym(a+64|0);Ym(a+80|0);Ym(a+96|0);Ym(a+112|0);Ym(a+128|0);Ym(a+144|0);Ym(a+160|0);Ym(a+176|0);Ym(a+192|0);Ym(a+208|0);Ym(a+224|0);Ym(a+240|0);Ym(a+256|0);Ym(a+272|0);Ym(a+288|0);Ym(a+304|0);Ym(a+320|0);Ym(a+336|0);Ym(a+352|0);Ym(a+368|0);Ym(a+384|0);Ym(a+400|0);Ym(a+416|0);Ym(a+432|0);Ym(a+448|0);Ym(a+464|0);Ym(a+480|0);Ym(a+496|0);return}function og(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=ip(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){jp(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=a+i|0}}jp(k);return}else{Jf(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){jp(k);return}else{p=0;q=1}do{p=p+j|0;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+p|0,k|0,j|0)|0;q=q+1|0}while((q|0)!=(c|0));jp(k);return}}function pg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=ip(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){jp(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=a+h|0}}jp(j);return}else{Jf(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){jp(j);return}else{o=0;p=1}do{o=o+i|0;Jf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+o|0,j|0,i|0)|0;p=p+1|0}while((p|0)!=(c|0));jp(j);return}}function qg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);lp(g)}g=a+136|0;a=f[g>>2]|0;f[g>>2]=0;if(!a)return;g=a+-4|0;j=f[g>>2]|0;if(j|0){b=a+(j<<4)|0;do b=b+-16|0;while((b|0)!=(a|0))}jp(g);return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Yk(48)|0;Yn(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Yk(52)|0;$m(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=11689;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Ch(c,g);f[a>>2]=f[e>>2];Ch(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=d;return}}}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Dd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);lp(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);lp(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);lp(h)}dh(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function tg(a,b){a=a|0;b=b|0;var c=0,d=Na,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){yc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;yc(a,e);return}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}lp(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);lp(g);return}function vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;lp(d)}lp(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);lp(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;lp(i)}lp(j)}lp(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}lp(e);return}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;k=f[g+4>>2]|0;g=Ul(i|0,k|0,4,0)|0;l=I;if((e|0)<(l|0)|(e|0)==(l|0)&d>>>0>>0){m=0;return m|0}n=(f[b>>2]|0)+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=l;do if((j[b+38>>1]|0)<514){l=Ul(i|0,k|0,8,0)|0;n=I;if((e|0)<(n|0)|(e|0)==(n|0)&d>>>0>>0){m=0;return m|0}else{g=c;f[g>>2]=l;f[g+4>>2]=n;break}}while(0);if(!(o&1)){m=0;return m|0}c=(_(o|0)|0)^31;if((c+-1|0)>>>0>28){m=0;return m|0}f[a+8>>2]=c+1;o=2<>2]=o+-1;c=o+-2|0;f[a+16>>2]=c;f[a+20>>2]=(c|0)/2|0;m=1;return m|0}function xg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;lp(d)}lp(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);lp(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;lp(h)}lp(i)}lp(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;lp(b);return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=Yk(72)|0;gl(c);d=c;if((b|0)<0){Ua[f[(f[c>>2]|0)+4>>2]&127](c);e=0;return e|0}c=a+8|0;g=a+12|0;a=f[g>>2]|0;h=f[c>>2]|0;i=a-h>>2;do if((i|0)<=(b|0)){j=b+1|0;k=a;if(j>>>0>i>>>0){jf(c,j-i|0);break}if(j>>>0>>0?(l=h+(j<<2)|0,(l|0)!=(k|0)):0){j=k;do{k=j+-4|0;f[g>>2]=k;m=f[k>>2]|0;f[k>>2]=0;if(m|0)Ua[f[(f[m>>2]|0)+4>>2]&127](m);j=f[g>>2]|0}while((j|0)!=(l|0))}}while(0);g=(f[c>>2]|0)+(b<<2)|0;b=f[g>>2]|0;f[g>>2]=d;if(!b){e=1;return e|0}Ua[f[(f[b>>2]|0)+4>>2]&127](b);e=1;return e|0}function zg(a,b){a=a|0;b=b|0;var c=0,d=Na,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ic(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ic(a,e);return}function Ag(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=Yk(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Ug(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}Jf(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Pa[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Qa[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Qa[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Qa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Dh(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){lp(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}lp(f[e>>2]|0);u=a;return i|0}function Dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Bj(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Ra[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Ra[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);Jf(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Eg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Eg(c+8|0);lp(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)lp(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;lp(h)}if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);lp(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)lp(e);lp(d)}if((b[a+11>>0]|0)>=0)return;lp(f[a>>2]|0);return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;c=a+4|0;if((Pa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=gk(e,Qa[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;i=9;break}e=f[c>>2]|0;if(((h[e+36>>0]|0)<<8&65535)<512){if(!(Qa[f[(f[b>>2]|0)+28>>2]&127](b,f[(f[(f[e+4>>2]|0)+8>>2]|0)+(g<<2)>>2]|0)|0)){d=0;i=9;break}}else{j=oj(e,g)|0;if(!j){d=0;i=9;break}if(!(Qa[f[(f[b>>2]|0)+28>>2]&127](b,j)|0)){d=0;i=9;break}}a=a+1|0;if((a|0)>=(Pa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;i=9;break}}if((i|0)==9)return d|0;return 0}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=ip((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;jp(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Ul(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}Jf(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+j|0,g|0,a|0)|0;k=k+1|0;if((k|0)>=(b|0)){i=1;q=5;break}else j=j+a|0}if((q|0)==5){jp(g);return i|0}return 0}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=0;j=g;a:while(1){g=f[j+(a*144|0)>>2]|0;if(((g|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(g|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(g<<2)>>2]|0,(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){g=0;do{if((Qa[f[(f[k>>2]|0)+20>>2]&127](k,g)|0)==(c|0))break a;g=g+1|0}while((g|0)<(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=a+1|0;j=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-j|0)/144|0)>>>0){h=0;m=11;break}else a=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(a*144|0)+100>>0]|0)==0?0:m+(a*144|0)+4|0;return h|0}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Ul(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Ul(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(_(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(b>>>0<64){b=f[a+12>>2]|0;if(b>>>0<=1){e=0;return e|0}d=f[c>>2]|0;c=0;g=1;while(1){h=(f[d+(c<<2)>>2]|0)>>>0>(f[d+(g<<2)>>2]|0)>>>0?g:c;g=g+1|0;if(g>>>0>=b>>>0){e=h;break}else c=h}return e|0}c=a+580|0;b=f[c>>2]|0;g=32-b|0;d=a+576|0;if((g|0)<4){h=f[d>>2]|0;i=h+4|0;if((i|0)==(f[a+568>>2]|0)){e=0;return e|0}j=f[h>>2]<>2]=h;f[d>>2]=i;k=32-h|0;e=(f[i>>2]|0)>>>k|j>>>(k-g|0);return e|0}g=f[d>>2]|0;if((g|0)==(f[a+568>>2]|0)){e=0;return e|0}a=f[g>>2]<>>28;k=b+4|0;f[c>>2]=k;if((k|0)!=32){e=a;return e|0}f[d>>2]=g+4;f[c>>2]=0;e=a;return e|0}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=0;i=e;b:while(1){j=f[i+(h*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Qa[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=h+1|0;i=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-i|0)/144|0)>>>0)break a;else h=k}m=(f[c>>2]|0)+(h*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function Lg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;vg(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Ua[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);lp(g);return}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)Do(d);k=((b+-1|0)>>>5)+1|0;b=Yk(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;ef(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)lp(g);u=c;return}function Ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Ul(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=1200;f[e+4>>2]=-1;Ln(e,n);o=aj(e,f[a+16>>2]|0)|0;u=c;return o|0}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Do(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;cn(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{m=Yk(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Jf(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;lp(d);return}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=df(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=Yk(40)|0;Ch(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Ed(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Qg(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)Do(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=Yk(p)|0;if(g|0)Tm(o,m,g)|0;if(i|0)Tm(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Tm(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)lp(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Zn(o+p|0,l);u=k;return}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Gh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Do(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;cn(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{d=Yk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;Gh(d|0,0,b<<2|0)|0;if((i|0)>0)Jf(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;lp(h);return}function Sg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}dh(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}lp(e);return}function Tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=Uh(d)|0;if(g>>>0>4294967279)Do(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=Yk(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){Jf(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(Bc(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}lp(f[e>>2]|0);u=a;return g|0}function Ug(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)Do(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=Yk(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)Jf(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;lp(e);return}function Vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Bk(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Pa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=1228;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Ij(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=aj(c,f[a+16>>2]|0)|0;f[c>>2]=1228;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}e=i;u=d;return e|0}function Xg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}dh(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;lp(b);return}function Yg(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function Zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Dh(c,g,e)|0;if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}lp(f[e>>2]|0);u=a;return h|0}function _g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=ql(l,k+1|0,15882,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Vh(c,n,0);k=n;j=b[h>>0]|0}Vh(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function $g(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Rg(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)Do(b);else if((m|0)==12)return d|0;return 0}function ah(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=ip(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Ym(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do i=i+-16|0;while((i|0)!=(c|0))}jp(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(Bd((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function bh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;bh(a+20|0);if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)lp(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;lp(g)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)lp(d);lp(c);return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Bc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;c=e;a=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e+4|0;e=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=d;d=c;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;a=c+4|0;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;g=1;return g|0}function dh(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0)lp(b);b=f[a>>2]|0;if(!b)return;lp(b);return}function eh(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=$k()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=16021;xl(15971,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Ra[f[(f[262]|0)+16>>2]&31](1048,k,g)|0){k=f[g>>2]|0;g=Pa[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=16021;f[e+4>>2]=h;f[e+8>>2]=g;xl(15885,e)}else{f[d>>2]=16021;f[d+4>>2]=h;xl(15930,d)}}xl(16009,b)}function fh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(fp()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=sp()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=sp()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function gh(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}f[a+4>>2]=3196;b=f[a+24>>2]|0;if(b|0)lp(b);b=f[a+12>>2]|0;if(!b)return;lp(b);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)Do(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;cn(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{k=Yk(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)Jf(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;lp(d);return}function ih(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;ch(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}lp(f[g>>2]|0);u=a;return +n}function jh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=4124;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=sp()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=bg(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Qh(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}lp(f[g>>2]|0);u=a;return c|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[a>>2]|0;e=d;if((((f[c>>2]|0)-d|0)/12|0)>>>0>=b>>>0)return;g=a+4|0;if(b>>>0>357913941){h=ra(8)|0;cn(h,13388);f[h>>2]=4744;va(h|0,1128,101)}h=f[g>>2]|0;i=Yk(b*12|0)|0;j=i+(((h-d|0)/12|0)*12|0)|0;k=j;l=i+(b*12|0)|0;b=h;if((b|0)==(e|0))m=k;else{h=b;b=j;do{j=h;h=h+-12|0;f[b+-12>>2]=f[h>>2];f[b+-8>>2]=f[j+-8>>2];f[b+-4>>2]=f[j+-4>>2];b=b+-12|0}while((h|0)!=(e|0));m=b}f[a>>2]=m;f[g>>2]=k;f[c>>2]=l;if(!d)return;lp(d);return}function mh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){mh(h);lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)lp(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;lp(d);return}function nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=ch(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}lp(f[g>>2]|0);u=a;return h|0}function oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uh(d)|0;if(h>>>0>4294967279)Do(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Qh(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}lp(f[g>>2]|0);u=a;return h|0}function ph(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Bk(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;Ym(a+400|0);f[a+416>>2]=-1;f[a+420>>2]=-1;return}function qh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(qh(a,c)|0){j=a;e=Rl(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function rh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){e=d+8|0;g=f[e+4>>2]|0;i=d+16|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;if((g|0)>(l|0)|((g|0)==(l|0)?(f[e>>2]|0)>>>0>k>>>0:0)){e=b[(f[d>>2]|0)+k>>0]|0;g=Ul(k|0,l|0,1,0)|0;l=i;f[l>>2]=g;f[l+4>>2]=I;f[a+24>>2]=e&255;break}else{m=0;return m|0}}while(0);m=xc(a,c,d)|0;return m|0}function sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;Re(a,e,3568);Re(a+12|0,e,3564);ri(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)lp(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}lp(b);d=1;return d|0}function th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));lg(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);lp(i)}f[a>>2]=f[h>>2];u=e;return}function uh(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;lp(a)}lp(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;lp(c)}lp(d)}lp(b);return}function vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){Lh(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;Ol(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Zn(m+d|0,g)}u=e;return a|0}function wh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Rm(l,c,d)|0;b[g>>0]=0;Zn(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Qg(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function xh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+8|0;d=f[c>>2]|0;if(!d){lp(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}lp(g);lp(a);return}function yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));fc(i,e,g);e=f[i>>2]|0;if(!e){k=i+4|0;if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);k=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=k;u=d;return}else{f[a>>2]=e;e=i+4|0;Ch(a+4|0,e);if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);u=d;return}}function zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Jh(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function Ah(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ua[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}lp(e);return}function Bh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Ul(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=Fc(a,c,d,e)|0;return g|0}case 1:{g=id(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)Do(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=Yk(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Tm(i,g,h)|0;b[e>>0]=0;Zn(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=Bc(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}Vh(c,d-a|0,0);a=Fj(c,0)|0;c=f[b>>2]|0;Jf(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Eh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function Fh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;$d(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(!i){f[e>>2]=0;j=h}else{Yg(i);lp(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){Yg(i);lp(i)}j=f[g>>2]|0}if(!j){k=0;u=d;return k|0}j=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;Of(a+56|0,j,e);k=1;u=d;return k|0}function Gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!c){e=0;f[d>>2]=e;return}g=a+8|0;i=a+4|0;j=0-(b[a+12>>0]|0)&255;k=c;c=0;l=f[g>>2]|0;while(1){m=c<<1;if(l>>>0<4096?(n=f[i>>2]|0,(n|0)>0):0){o=f[a>>2]|0;p=n+-1|0;f[i>>2]=p;n=l<<8|(h[o+p>>0]|0);f[g>>2]=n;q=n}else q=l;n=q&255;p=X(q>>>8,j)|0;o=n>>>0>>0;l=o?p+n|0:q-j-p|0;f[g>>2]=l;p=m|o&1;k=k+-1|0;if(!k){e=p;break}else c=p}f[d>>2]=e;return}function Ih(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Gn(a,f[c+8>>2]|0,g)|0)){if(Gn(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else Pk(0,c,d,e);while(0);return}function Jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){Ug(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else hf(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Ul(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Kh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1368;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}lp(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;lp(c)}lp(d)}lp(a);return}function Lh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)Do(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=Yk(m)|0;if(g|0)Tm(l,j,g)|0;k=e-h-g|0;if(k|0)Tm(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)lp(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function Mh(a,b){a=a|0;b=b|0;if(!b)return;else{Mh(a,f[b>>2]|0);Mh(a,f[b+4>>2]|0);Sh(b+20|0,f[b+24>>2]|0);lp(b);return}}function Nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=Yk(32)|0,kl(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(g)}g=Yj(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=bl(e|0,g|0,c|0,0)|0;if(!(Jh(h,0,i,I)|0)){j=0;return j|0}Pi(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(vb(a,g,j,i)|0)){k=0;u=e;return k|0}Me(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Gn(a,b,0)|0))if((b|0)!=0?(g=fg(b,1072,1056,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Xa[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Qh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Bc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function Rh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(Rh(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function Sh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Sh(a,f[c>>2]|0);Sh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)lp(f[d>>2]|0);if((b[a+11>>0]|0)<0)lp(f[a>>2]|0);lp(c);return}function Th(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;d=f[b>>2]|0;if(!d){lp(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g);lp(a);return}function Uh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Zn(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Zn(a+c|0,g);b[h>>0]=c;break}else vh(a,c-k|0,d)|0;while(0);u=e;return}function Wh(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}lp(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;lp(c)}lp(d)}lp(a);return}function Xh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=Yk(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=Te(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Yg(a);lp(a);return}function Zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(qp(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=_h(c,a)|0;pp(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=_h(c,a)|0}while(0);return j|0}function _h(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Bj(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Ra[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function $h(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=11767;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;gi(Ac(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}lp(f[g>>2]|0);u=d;return}function ai(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ua[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}lp(e);return}function bi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3072;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Bk(a+232|0);return}function ci(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=Wk(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=Mn(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function di(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(Fo(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Wo(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Wo(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=(e|0)/20|0;if(!e)return;if(g>>>0>214748364)Do(a);h=Yk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g*20|0);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Jf(h|0,g|0,b|0)|0;f[c>>2]=h+(((b>>>0)/20|0)*20|0);return}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Ul(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;if((i|0)<0){k=0;return k|0}f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function gi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;rj(g,d&1);d=Pg(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}Hf(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function hi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function ii(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=vf(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=di(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[13990+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=14078;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=14078;else{i=14078;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return Ko(k,f[c+20>>2]|0)|0}function li(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Xl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+li(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Ul(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function oi(a){a=a|0;var b=0,c=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)Do(a);h=Yk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Jf(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;cn(g,13388);f[g>>2]=4744;va(g|0,1128,101)}g=(f[e>>2]|0)-d|0;h=Yk(b<<2)|0;if((g|0)>0)Jf(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;lp(d);return}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=Yk(20)|0;gm(c);d=c;break}case 1:{c=Yk(24)|0;Im(c);d=c;break}case 2:{c=Yk(36)|0;ll(c);d=c;break}case 3:{c=Yk(28)|0;zm(c);d=c;break}default:d=0}f[a>>2]=d;return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Do(a);e=Yk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=b;b=e;do{pi(b,c);b=(f[d>>2]|0)+12|0;f[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{yf(a+40|0,b);d=1;return d|0}return 0}function xi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function yi(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function zi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Ri(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function Ai(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Bi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){lp(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c);lp(a);return}function Ci(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Di(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);Mh(a+12|0,f[a+16>>2]|0);Sh(a,f[a+4>>2]|0);lp(a);return}function Ei(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b)return;lp(b);return}function Fi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){lp(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c);lp(a);return}function Gi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){lp(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}lp(g)}lp(a);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;ic(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{mk(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Ii(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b)return;lp(b);return}function Ji(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Ki(a){a=a|0;var b=0,c=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);lp(c);return}function Li(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+84>>2]|0;if(!b){tf(a);lp(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);tf(a);lp(a);return}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Pa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){d=0;return d|0}d=xc(a,b,c)|0;return d|0}function Ni(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Wl(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Wl((Gc(i,b,Wl(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Oi(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);lp(c);return}function Pi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Qi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=b[a+12>>0]|0;d=a+8|0;e=f[d>>2]|0;if(e>>>0<4096?(g=a+4|0,i=f[g>>2]|0,(i|0)>0):0){j=f[a>>2]|0;a=i+-1|0;f[g>>2]=a;g=e<<8|(h[j+a>>0]|0);f[d>>2]=g;k=g}else k=e;e=k&255;g=0-c&255;c=X(k>>>8,g)|0;a=e>>>0>>0;f[d>>2]=a?c+e|0:k-g-c|0;return a|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else Ug(a,b-g|0);g=a+24|0;a=g;b=Ul(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Si(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;He(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;dk(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}lp(f[c>>2]|0);u=e;return d|0}function Ti(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+84>>2]|0;if(!b){tf(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);tf(a);return}function Ui(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Vi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ke(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;dk(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}lp(f[c>>2]|0);u=e;return d|0}function Wi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function Xi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Gh(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{pn(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;pn(a,g,h)}u=f;return}function Yi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Qa[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function Zi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(Nh(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Ra[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function _i(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function $i(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Gn(a,f[b+8>>2]|0,g)|0)Eh(0,b,c,d,e);else{h=f[a+8>>2]|0;Za[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function aj(a,b){a=a|0;b=b|0;var c=0;c=Yk(40)|0;f[c>>2]=-1;kl(c+8|0);Va[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;lp(c)}lp(b);return 1}function bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function dj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function ej(a){a=a|0;var b=0,c=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function fj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Kh(a);lp(a);return}Ua[f[(f[b>>2]|0)+4>>2]&127](b);Kh(a);lp(a);return}function gj(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Vh(a,d,0);return}function hj(a){a=a|0;var b=0,c=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function ij(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function jj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;e=b;g=d+(~((d+-4-e|0)>>>2)<<2)|0;if((d|0)==(b|0))h=b;else{f[c>>2]=g;h=g}f[a+16>>2]=0;f[a+12>>2]=h;if(!b)return;if((h|0)!=(b|0))f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);lp(b);return}function kj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2292;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function lj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Kh(a);return}Ua[f[(f[b>>2]|0)+4>>2]&127](b);Kh(a);return}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Gn(a,f[b+8>>2]|0,0)|0)Ji(0,b,c,d);else{e=f[a+8>>2]|0;Xa[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=X(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(qp(d)|0)==0;h=Dg(a,e,d)|0;if(c)i=h;else{pp(d);i=h}}else i=Dg(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function oj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Qa[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function pj(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function qj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function rj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;gj(d);_g(a,d,b);Nm(d);u=c;return}function sj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){d=1;return d|0}d=Qa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return d|0}function tj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((lm(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function uj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=mg(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function wj(a,b){a=a|0;b=b|0;var c=0;Fk(a);f[a>>2]=1416;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function xj(a){a=a|0;var b=0,c=0;f[a>>2]=2292;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function yj(a){a=a|0;var b=0,c=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function zj(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Aj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[13972+(c&15)>>0]|0|e;c=Xl(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Bj(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Cj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Ej(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Fj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)Do(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Gj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,Ba(54,g|0)|0):0)b[a+75>>0]=-1;g=sf(a,c,d)|0;u=e;return g|0}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){mc(a,b,c);return}else{wc(a,0,0);return}}function Ij(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Me(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Jj(a,b){a=a|0;b=b|0;var c=0;if(!(Qa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Lj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(vl(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Mj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Nj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Oj(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;yh(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}lp(f[e>>2]|0);u=a;return c|0}function Pj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Wo(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Wo(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Qj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(vl(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Sj(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Tj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=Xl(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Uj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function Vj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Gn(a,f[b+8>>2]|0,g)|0)Eh(0,b,c,d,e);return}function Wj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Of(a+20|0,g,d);u=c;return}function Xj(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function Yj(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function Zj(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Ul(f[a+32>>2]|0,0,7,0)|0;d=Xl(c|0,I|0,3)|0;c=a+16|0;a=c;e=Ul(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function _j(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Of(a+20|0,g,d);u=c;return}function $j(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;Qe(c,d,d+12|0);return 1}function bk(){var a=0,b=0;a=Yk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function ck(a){a=a|0;f[a>>2]=3172;gh(a+8|0);lp(a);return}function dk(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;wh(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Uh(b)|0;d=Yk(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=go(d)|0;Jf(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function gk(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function hk(a){a=a|0;f[a>>2]=3172;gh(a+8|0);return}function ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;zc(a,b,c,d,e);return}function jk(a){a=a|0;var b=0,c=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Gn(a,f[b+8>>2]|0,0)|0)Ji(0,b,c,d);return}function lk(a){a=a|0;var b=0;f[a>>2]=3440;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function mk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Jf(a,c,d)|0;return a|0}function nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b){lp(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Ra[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function pk(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function rk(){var a=0,b=0;a=$k()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Wm(f[b+12>>2]|0);Wm(ro()|0)}function sk(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function tk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}lp(a);return}function uk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);lp(b)}lp(a);return}function vk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function wk(a){a=a|0;var b=0,c=0;if(Qo(a)|0?(b=mo(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)lp(b);return}function xk(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function yk(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);Kh(a);lp(a);return}function zk(a){a=a|0;var b=0,c=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;Qb(a,b,c);return}function Bk(a){a=a|0;xk(a);xk(a+40|0);Ym(a+80|0);xk(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Ck(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);Kh(a);return}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;return gd(a,b,5,6,c)|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return ed(a,b,3,4,c)|0}function Fk(a){a=a|0;var b=0;f[a>>2]=1256;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return jd(a,b,1,2,c)|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,b,3,4,c)|0}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,5,6,c)|0}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;Jf(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;return kd(a,b,1,2,c)|0}function Lk(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Mk(){var a=0,b=0;a=Yk(24)|0;f[a>>2]=1228;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Nk(a){a=a|0;var c=0;Mj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Ok(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;lp(b)}lp(a);return}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Qk(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Rk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Sk(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=Na;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function Uk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;lp(b)}lp(a);return}function Vk(a){a=a|0;var b=0;Nn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Gc(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function Xk(a){a=a|0;var b=0;$l(a);f[a>>2]=3580;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Yk(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=_a(b)|0;if(a|0){c=a;break}a=oo()|0;if(!a){c=0;break}Ta[a&3]()}return c|0}function Zk(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b)return;lp(b);return}function _k(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=np(f[a+60>>2]|0)|0;f[c>>2]=d;d=lm(Ca(6,c|0)|0)|0;u=b;return d|0}function $k(){var a=0,b=0;a=u;u=u+16|0;if(!(Ja(17020,3)|0)){b=Ha(f[4256]|0)|0;u=a;return b|0}else xl(16160,a);return 0}function al(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b)return;lp(b);return}function bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=ek(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Dk(b,c,d)|0}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ek(b,c,d)|0}function el(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fe(b,c,d)|0}function fl(a){a=a|0;var b=0;b=u;u=u+16|0;_b(a);if(!(Ka(f[4256]|0,0)|0)){u=b;return}else xl(16259,b)}function gl(a){a=a|0;var b=0;Fk(a);f[a>>2]=1312;b=a+36|0;a=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gk(b,c,d)|0}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hk(b,c,d)|0}function jl(a){a=a|0;f[a>>2]=2548;lp(a);return}function kl(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function ll(a){a=a|0;Im(a);f[a>>2]=2884;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kk(b,c,d)|0}function nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ik(b,c,d)|0}function ol(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+12>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=jh(a,b,c,g)|0;u=e;return d|0}function rl(a){a=a|0;f[a>>2]=2632;lp(a);return}function sl(a){a=a|0;f[a>>2]=2716;lp(a);return}function tl(a){a=a|0;f[a>>2]=2548;return}function ul(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function vl(a,b,c){a=a|0;b=b|0;c=c|0;return Tk(a,b,c)|0}function wl(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 Sa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function xl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[906]|0;bg(b,a,d)|0;Zh(10,b)|0;Da()}function yl(a){a=a|0;f[a>>2]=2800;lp(a);return}function zl(a){a=a|0;f[a>>2]=2632;return}function Al(a){a=a|0;f[a>>2]=2716;return}function Bl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;return gk(b,c)|0}function Dl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function El(a){a=a|0;xd(a);lp(a);return}function Fl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Gl(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gf(b,c,d)|0}function Il(){var a=0;a=u;u=u+16|0;if(!(Ia(17024,104)|0)){u=a;return}else xl(16209,a)}function Jl(a){a=a|0;Ld(a);lp(a);return}function Kl(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;Za[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Ll(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=bg(f[938]|0,a,d)|0;u=c;return b|0}function Ml(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Pa[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oh(b,c,d)|0}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Gh(a|0,(Lo(c)|0)&255|0,b|0)|0;return a|0}function Pl(a){a=a|0;return 4}function Ql(a){a=a|0;f[a>>2]=2800;return}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)lp(f[c>>2]|0);lp(a);return}function Tl(){}function Ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Vl(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=eg(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;return Si(a,b,c)|0}function Zl(a){a=a|0;Cd(a);lp(a);return}function _l(a){a=a|0;return 5}function $l(a){a=a|0;var b=0;f[a>>2]=3608;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function am(a){a=a|0;return 6}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ak(b,c,d)|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function dm(a,b,c){a=a|0;b=b|0;c=c|0;return Cl(a,b,c)|0}function em(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+28>>2]&127](b)|0}function fm(a,b,c){a=a|0;b=b|0;c=c|0;return $e(b,c)|0}function gm(a){a=a|0;f[a>>2]=1368;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function hm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+24>>2]&127](b)|0}function im(a,b){a=a|0;b=b|0;$h(a,b);return}function jm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0}function km(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ya[a&3](b|0,c|0,d|0,e|0,f|0)}function lm(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=sp()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;return Vi(a,b,c)|0}function nm(a,b,c){a=a|0;b=b|0;c=c|0;return Zg(a,b,c)|0}function om(a,b,c){a=a|0;b=b|0;c=c|0;return nh(a,b,c)|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;return Cg(a,b,c)|0}function qm(a,b,c){a=a|0;b=b|0;c=c|0;return +(+ih(a,b,c))}function rm(a,b){a=a|0;b=b|0;return Qa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function sm(a,b){a=a|0;b=b|0;return Qa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function tm(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function um(a,b,c){a=a|0;b=b|0;c=c|0;return qi(a,b,c)|0}function vm(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function wm(a,b,c){a=a|0;b=b|0;c=c|0;return Pm(b,c)|0}function xm(a,b,c){a=a|0;b=b|0;c=c|0;return oh(a,b,c)|0}function ym(a,b,c){a=a|0;b=b|0;c=c|0;return kh(a,b,c)|0}function zm(a){a=a|0;Im(a);f[a>>2]=2376;f[a+24>>2]=-1;return}function Am(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;return Rf(a,b,c)|0}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;return kg(b,c)|0}function Dm(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Em(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function Fm(){var a=0;a=Yk(40)|0;f[a>>2]=-1;kl(a+8|0);return a|0}function Gm(){var a=0;a=Yk(8)|0;f[a>>2]=1200;f[a+4>>2]=-1;return a|0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Tg(a,b,c)|0}function Im(a){a=a|0;gm(a);f[a>>2]=1476;f[a+20>>2]=0;return}function Jm(a,b){a=a|0;b=b|0;im(a,b);return}function Km(a){a=a|0;var b=0;if(!a)b=0;else b=(fg(a,1072,1160,0)|0)!=0&1;return b|0}function Lm(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Mm(a,b){a=a|0;b=b|0;return Oj(a,b)|0}function Nm(a){a=a|0;if((b[a+11>>0]|0)<0)lp(f[a>>2]|0);return}function Om(a){a=a|0;if(!a)return;Ua[f[(f[a>>2]|0)+4>>2]&127](a);return}function Pm(a,b){a=a|0;b=b|0;return bj(a,b)|0}function Qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xa[a&7](b|0,c|0,d|0,e|0)}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)mk(a|0,b|0,c|0)|0;return a|0}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;return dn(b,c)|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Jf(a|0,b|0,c|0)|0;return a|0}function Um(a,b){a=a|0;b=b|0;return -1}function Vm(a){a=a|0;return 3}function Wm(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();xl(16312,b)}function Xm(a,b){a=a|0;b=b|0;return Un(a,b)|0}function Ym(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function Zm(a){a=a|0;ug(a);lp(a);return}function _m(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function $m(a){a=a|0;kn(a);f[a>>2]=3012;f[a+48>>2]=0;return}function an(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&31](b|0,c|0,d|0)|0}function bn(a,b,c){a=a|0;b=b|0;c=c|0;ol(a,b,c);return}function cn(a,b){a=a|0;b=b|0;f[a>>2]=4724;fk(a+4|0,b);return}function dn(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function en(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=fh(a,b,0)|0;return c|0}function fn(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function gn(){var a=0;a=Yk(64)|0;Mj(a);return a|0}function hn(a,b){a=a|0;b=b|0;return $(on(a,b))}function jn(a){a=a|0;return f[a+8>>2]|0}function kn(a){a=a|0;lk(a);f[a>>2]=2952;f[a+44>>2]=0;return}function ln(a){a=a|0;if(!a)return;mh(a);lp(a);return}function mn(a,b){a=a|0;b=b|0;return ao(a,b)|0}function nn(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function on(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function pn(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Dg(b,c,a)|0;return}function qn(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function rn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wa[a&15](b|0,c|0,d|0)}function sn(){var a=0;a=Yk(96)|0;Nk(a);return a|0}function tn(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function un(a){a=a|0;var b=0;b=(fp()|0)+188|0;return ki(a,f[b>>2]|0)|0}function vn(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function wn(){var a=0;a=Yk(16)|0;_m(a);return a|0}function xn(){var a=0;a=Yk(40)|0;xk(a);return a|0}function yn(a,b){a=a|0;b=b|0;return 1}function zn(a,b){a=a|0;b=b|0;return Jn(a,b)|0}function An(a,b){a=a|0;b=b|0;return Kn(a,b)|0}function Bn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Cn(a,b){a=a|0;b=b|0;return _n(a,b)|0}function Dn(){var a=0;a=Yk(12)|0;Sn(a);return a|0}function En(a){a=a|0;Kh(a);lp(a);return}function Fn(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Hn(a,b){a=a|0;b=b|0;var c=0;c=Xn(a|0)|0;return ((b|0)==0?a:c)|0}function In(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Jn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Kn(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Ln(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gc(a,b,c,d,0)|0}function Nn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function On(){var a=0;a=Yk(84)|0;$l(a);return a|0}function Pn(a){a=a|0;Lg(a);lp(a);return}function Qn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Rn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Sn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Tn(a){a=a|0;f[a>>2]=4724;wk(a+4|0);return}function Un(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;return Qa[a&127](b|0,c|0)|0}function Wn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Xn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Yn(a){a=a|0;kn(a);f[a>>2]=3356;return}function Zn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function _n(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function $n(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function ao(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function bo(a){a=a|0;return $(n[a+20>>2])}function co(a){a=a|0;return f[a+4>>2]|0}function eo(a){a=a|0;if(!a)return;lp(a);return}function fo(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function go(a){a=a|0;return a+12|0}function ho(a){a=a|0;return f[a+88>>2]|0}function io(a,b,c){a=a|0;b=b|0;c=c|0;Va[a&7](b|0,c|0)}function jo(){var a=0;a=Yk(40)|0;Vk(a);return a|0}function ko(){var a=0;a=Yk(108)|0;Xk(a);return a|0}function lo(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function mo(a){a=a|0;return a+-12|0}function no(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function oo(){var a=0;a=f[4257]|0;f[4257]=a+0;return a|0}function po(a){a=a|0;return Oo(a+4|0)|0}function qo(a){a=a|0;return f[a+56>>2]|0}function ro(){var a=0;a=f[1158]|0;f[1158]=a+0;return a|0}function so(a){a=a|0;tf(a);lp(a);return}function to(a){a=a|0;pp(a);lp(a);return}function uo(a){a=a|0;return b[a+24>>0]|0}function vo(a,b){a=a|0;b=b|0;return 0}function wo(a){a=a|0;return f[a+40>>2]|0}function xo(a){a=a|0;return f[a+48>>2]|0}function yo(a,b){a=a|0;b=b|0;return Pa[a&127](b|0)|0}function zo(a){a=a|0;return f[a+60>>2]|0}function Ao(a){a=a|0;return f[a+28>>2]|0}function Bo(a){a=a|0;sa(a|0)|0;rk()}function Co(a){a=a|0;Tn(a);lp(a);return}function Do(a){a=a|0;Da()}function Eo(a,b){a=a|0;b=b|0;u=a;v=b}function Fo(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Go(a){a=a|0;return (f[a>>2]|0)==0|0}function Ho(a){a=a|0;return f[a+80>>2]|0}function Io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Jo(a,b){a=a|0;b=b|0;Ua[a&127](b|0)}function Ko(a,b){a=a|0;b=b|0;return Vl(a,b)|0}function Lo(a){a=a|0;return a&255|0}function Mo(a){a=a|0;f[a>>2]=0;return}function No(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Oo(a){a=a|0;return f[a>>2]|0}function Po(a){a=a|0;return 2}function Qo(a){a=a|0;return 1}function Ro(a,b){a=+a;b=b|0;return +(+li(a,b))}function So(){return 3}function To(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Uo(){return -4}function Vo(){return 4}function Wo(a){a=a|0;return (a+-48|0)>>>0<10|0}function Xo(){return -3}function Yo(){return 1}function Zo(){return 2}function _o(){return -5}function $o(a,b){a=a|0;b=b|0;aa(1);return 0}function ap(a){a=a|0;Ga()}function bp(a){a=a|0;Ta[a&3]()}function cp(){return -2}function dp(){ua()}function ep(){return -1}function fp(){return vp()|0}function gp(a,b){a=a|0;b=b|0;aa(6)}function hp(){return 0}function ip(a){a=a|0;return Yk(a)|0}function jp(a){a=a|0;lp(a);return}function kp(a){a=a|0;u=a}function lp(a){a=a|0;_b(a);return}function mp(a){a=a|0;I=a}function np(a){a=a|0;return a|0}function op(a){a=a|0;aa(0);return 0}function pp(a){a=a|0;return}function qp(a){a=a|0;return 0}function rp(){return I|0}function sp(){return 16952}function tp(){return u|0}function up(a){a=a|0;aa(5)}function vp(){return 3880}function wp(){aa(4)} +function wc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(m|0)==(q|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(dj(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(a|0)==(q|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(dj(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function xc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=dj(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=dj(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=36}else r=20;if((r|0)==20?!k:0)r=36;if((r|0)==36){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=i+4|0;m=f[k>>2]|0;if(!m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=m;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){m=t+16|0;l=b[m+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=dj(n?f[g>>2]|0:g,q?f[m>>2]|0:m,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=30;if((r|0)==30?o>>>0

>>0:0)break;s=_e(a,d,g)|0;return s|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;s=k;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((i|0)==(f[a>>2]|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){k=f[h+4>>2]|0;if(!k){w=h;break}else h=k}}h=w;k=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[k+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=dj(j?f[k>>2]|0:k,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=12;if((r|0)==12?p>>>0>>0:0){v=h;break}s=_e(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{i=v;f[d>>2]=i;s=i+4|0;return s|0}return 0}function yc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Oc(i,d)|0?od(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}Af(d,0,0)|0;if(!j){j=i+44|0;k=i+48|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=f[k>>2]|0;w=0;x=0;while(1){b:do if(v>>>0<16384){y=f[j>>2]|0;z=v;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[j>>2]=y;C=h[B+y>>0]|z<<8;f[k>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=v;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;v=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[k>>2]=v;c:do if(p){if((y|0)>0){D=0;E=x}else{C=(b[q>>0]|0)==0;z=0;B=x;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=f[r>>2]|0;F=0;H=0;while(1){I=B+(C>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(C&7)&1;I=C+1|0;f[r>>2]=I;K=I;L=J}else{K=C;L=0}H=L<>2]=H;D=D+1|0;if((D|0)>=(c|0)){G=C;break}else E=C}}else G=x;while(0);w=w+c|0;if(w>>>0>=a>>>0)break;else x=G}}}else Af(d,0,0)|0;_j(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);lp(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);lp(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);u=g;return l|0}function zc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=uk(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((uk(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Ul(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Wl(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Wl(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=f[e>>2]|0;l=(((j|0)>-1?j:0-j|0)+((h|0)>-1?h:0-h|0)|0)<=(k|0);if(l){m=h;n=j}else{if((j|h|0)>-1){o=1;p=1}else{q=(h|0)<1&(j|0)<1;o=q?-1:(h|0)>0?1:-1;p=q?-1:(j|0)>0?1:-1}q=X(k,o)|0;r=X(k,p)|0;k=(h<<1)-q|0;f[c>>2]=k;h=(j<<1)-r|0;f[i>>2]=h;if((X(o,p)|0)>-1){p=0-h|0;f[c>>2]=p;s=0-k|0;t=p}else{f[c>>2]=h;s=k;t=h}h=(t+q|0)/2|0;f[c>>2]=h;q=(s+r|0)/2|0;f[i>>2]=q;m=h;n=q}if(!m)u=(n|0)==0;else u=(m|0)<0&(n|0)<1;if(!m)v=(n|0)==0?0:(n|0)>0?3:1;else v=(m|0)>0?(n>>31)+2|0:(n|0)<1?0:3;if(u){w=m;x=n;y=1}else{switch(v|0){case 1:{z=n;A=0-m|0;break}case 2:{z=0-m|0;A=0-n|0;break}case 3:{z=0-n|0;A=m;break}default:{z=m;A=n}}n=c;f[n>>2]=z;f[n+4>>2]=A;w=z;x=A;y=0}A=(f[d>>2]|0)+w|0;f[a>>2]=A;w=(f[d+4>>2]|0)+x|0;x=a+4|0;f[x>>2]=w;d=f[e>>2]|0;if((d|0)>=(A|0))if((A|0)<(0-d|0))B=(f[b+4>>2]|0)+A|0;else B=A;else B=A-(f[b+4>>2]|0)|0;f[a>>2]=B;if((d|0)>=(w|0))if((w|0)<(0-d|0))C=(f[b+4>>2]|0)+w|0;else C=w;else C=w-(f[b+4>>2]|0)|0;f[x>>2]=C;if(y){D=B;E=C}else{switch((4-v|0)%4|0|0){case 1:{F=C;G=0-B|0;break}case 2:{F=0-B|0;G=0-C|0;break}case 3:{F=0-C|0;G=B;break}default:{F=B;G=C}}C=a;f[C>>2]=F;f[C+4>>2]=G;D=F;E=G}if(l){H=D;I=E;J=H+g|0;K=I+g|0;L=a;M=L;f[M>>2]=J;N=L+4|0;O=N;f[O>>2]=K;return}if((E|D|0)>-1){P=1;Q=1}else{l=(D|0)<1&(E|0)<1;P=l?-1:(D|0)>0?1:-1;Q=l?-1:(E|0)>0?1:-1}l=X(d,P)|0;G=X(d,Q)|0;d=(D<<1)-l|0;f[a>>2]=d;D=(E<<1)-G|0;f[x>>2]=D;if((X(P,Q)|0)>-1){Q=0-D|0;f[a>>2]=Q;R=0-d|0;S=Q}else{f[a>>2]=D;R=d;S=D}D=(S+l|0)/2|0;f[a>>2]=D;l=(R+G|0)/2|0;f[x>>2]=l;H=D;I=l;J=H+g|0;K=I+g|0;L=a;M=L;f[M>>2]=J;N=L+4|0;O=N;f[O>>2]=K;return}function Bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)lp(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}d=Yk(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)lp(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){b:do if(h){e=j;i=k;c=m;while(1){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=c;r=o;s=n;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[c>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}i=f[d>>2]|0;if(!i){v=37;break a}else{e=d;c=d}}}else{c=j;e=k;i=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(l|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=i;r=w;s=x;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[i>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[c>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{c=o;i=o}}}while(0);f[r>>2]=q;k=f[p>>2]|0;if(!k){v=37;break}else{j=p;l=s;m=p}}if((v|0)==37)return}function Cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;Ph(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(Rc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;Ph(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Ul(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;Th(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Fj(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Ul(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}Ff(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Ul(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=Yk(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(Cc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;lf(c,h,j)|0;$g(j);G=0}else G=1;$g(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)lp(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function Dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=Yk(88)|0;f[l+4>>2]=0;f[l>>2]=3216;m=l+12|0;f[m>>2]=3196;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=3196;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Hf(i+8|0,c,g);Ra[f[(f[i>>2]|0)+8>>2]&127](i);Ce(j,i);Ce(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;Qe(c,g)|0;f[g>>2]=3196;p=f[g+20>>2]|0;if(p|0)lp(p);p=f[g+8>>2]|0;if(p|0)lp(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=3196;k=f[j+20>>2]|0;if(k|0)lp(k);k=f[j+8>>2]|0;if(k|0)lp(k);f[l+8>>2]=f[h>>2];Qe(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;Te(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=3196;q=f[i+20>>2]|0;if(q|0)lp(q);q=f[i+8>>2]|0;if(q|0)lp(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);lp(q)}f[r>>2]=3196;r=f[h+24>>2]|0;if(r|0)lp(r);r=f[h+12>>2]|0;if(!r){u=e;return}lp(r);u=e;return}function Ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{Og(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=ip(l)|0;Dh(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){jp(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=u;u=e;while(1){k=c+(u<<2)|0;l=k+(n<<2)|0;q=b+(u<<2)|0;if((a|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=k+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=a;u=u+e|0;if((u|0)>=(d|0))break;else a=z}jp(h);return 1}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=f[a+44+(b<<2)>>2]|0;b=0;while(1){o=(n|0)==-1;p=o?-1:(n>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(b){if(o)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else dh(k,e);if(!(b&1)){p=n+1|0;if(o){s=-1;break}t=((p>>>0)%3|0|0)==0?n+-2|0:p;v=35;break}if(!o)if(!((n>>>0)%3|0)){t=n+2|0;v=35;break}else{t=n+-1|0;v=35;break}else s=-1}else{if(o)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else dh(k,e);p=n+1|0;if(!o?(q=((p>>>0)%3|0|0)==0?n+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else dh(k,e);if(!o?(q=(((n>>>0)%3|0|0)==0?2:-1)+n|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else dh(k,e);t=n;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}b=b+1|0;if((b|0)>=(h|0))break;else n=s}u=d;return}function Gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=g;i=d+2|0;break}else{h=g;i=d+-1|0;break}}else{h=-1;i=-1}while(0);g=a+184|0;j=f[g>>2]|0;switch(j|0){case 1:case 0:{if((h|0)==-1)k=-1;else k=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(k<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1){n=1;o=l;p=-1;q=28}else{n=1;o=l;p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;q=28}break}case 5:{if(b)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(r<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=l+(s<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1){n=2;o=l;p=-1;q=28}else{n=2;o=l;p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;q=28}break}case 3:{if(b)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=l+(u<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((i|0)==-1){n=1;o=l;p=-1;q=28}else{n=1;o=l;p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;q=28}break}case 7:{if(b)v=-1;else v=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(v<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((h|0)==-1)w=-1;else w=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;h=l+(w<<2)|0;f[h>>2]=(f[h>>2]|0)+2;if((i|0)==-1){n=2;o=l;p=-1;q=28}else{n=2;o=l;p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;q=28}break}default:x=j}if((q|0)==28){q=o+(p<<2)|0;f[q>>2]=(f[q>>2]|0)+n;x=f[g>>2]|0}switch(x|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}x=f[c>>2]|0;if(!b?(b=((e>>>0)%3|0|0)==0?d+-2|0:e,(b|0)!=-1):0)y=f[(f[x>>2]|0)+(b<<2)>>2]|0;else y=-1;f[a+188>>2]=(f[(f[a+156>>2]|0)+(y<<2)>>2]|0)<6?5:0;return}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Gh(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=l;l=b;b=0;while(1){if(!(f[(f[m>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31))){B=b*3|0;f[g>>2]=B;f[e>>2]=f[g>>2];sc(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=B+1;f[e>>2]=f[g>>2];sc(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=B+2;f[e>>2]=f[g>>2];sc(a,2,e);B=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else dh(w,e);E=f[a+44+(B<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else dh(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else dh(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];Fc(a,B,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=A;H=l}b=b+1|0;if(b>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{A=G;l=H}}u=d;return i|0}function Ic(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Qf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Jc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Sf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Kc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Tf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Lc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Vf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Mc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Wf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Nc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Yf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Oc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Ul(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(o|0)!=(n|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Og(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=q;q=0;a:while(1){o=k;e=f[o>>2]|0;j=f[o+4>>2]|0;o=p;m=f[o>>2]|0;l=f[o+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}o=f[c>>2]|0;s=b[o+m>>0]|0;t=Ul(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+q|0;if(s>>>0>=n>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(q<<2)|0,0,(v<<2)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=l;l=t;t=0;m=v;while(1){if(!((j|0)>(s|0)|(j|0)==(s|0)&e>>>0>l>>>0)){g=0;r=23;break a}v=b[o+l>>0]|0;l=Ul(l|0,s|0,1,0)|0;s=I;y=p;f[y>>2]=l;f[y+4>>2]=s;y=(v&255)<<(t<<3|6)|m;t=t+1|0;if((t|0)>=(u|0)){x=y;r=20;break}else m=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(q<<2)>>2]=x;w=q}q=w+1|0;n=f[i>>2]|0;if(q>>>0>=n>>>0){r=22;break}}if((r|0)==22){g=Zf(a+16|0,f[a>>2]|0,n)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=g;i=d+2|0;break}else{h=g;i=d+-1|0;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1){k=1;l=e;m=-1;n=28}else{k=1;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1){k=2;l=e;m=-1;n=28}else{k=2;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((i|0)==-1){k=1;l=e;m=-1;n=28}else{k=1;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1){k=2;l=d;m=-1;n=28}else{k=2;l=d;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}default:{}}if((n|0)==28){n=l+(m<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((h|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;h=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((h|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(h|0)>(c|0)?c:h;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function Qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=ip(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)jp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Og(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;Eo(t)}else{v=n;w=0}while(1){f[i>>2]=f[v+(w<<2)>>2];f[h>>2]=f[i>>2];ec(a,h,c,w);n=X(w,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){E=10;break}n=f[o>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)Eo(t);return 0}function Rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Ul(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;Th(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Fj(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Ul(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}Ff(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Ul(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(Ph(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)Eo(h);s=Yk(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=s;s=x;do{b[q>>0]=0;q=(f[y>>2]|0)+1|0;f[y>>2]=q;s=s+-1|0}while((s|0)!=0);s=f[g>>2]|0;q=f[a>>2]|0;x=q+8|0;p=f[x>>2]|0;r=f[x+4>>2]|0;x=q+16|0;m=x;t=f[m>>2]|0;w=Ul(t|0,f[m+4>>2]|0,s|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{Ff(f[h>>2]|0,(f[q>>2]|0)+t|0,s|0)|0;t=x;q=Ul(f[t>>2]|0,f[t+4>>2]|0,s|0,0)|0;s=x;f[s>>2]=q;f[s+4>>2]=I;Bk(c,e,h);B=1}s=f[h>>2]|0;if(s|0){if((f[y>>2]|0)!=(s|0))f[y>>2]=s;lp(s)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}lp(f[e>>2]|0);u=d;return z|0}function Sc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=ip(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)jp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Og(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;Eo(t)}else{v=n;w=0}while(1){f[i>>2]=f[v+(w<<2)>>2];f[h>>2]=f[i>>2];dc(a,h,c,w);n=X(w,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){E=10;break}n=f[o>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)Eo(t);return 0}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Ka,t=Ka,u=Ka,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=Yk(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|s>$(t*u)){r=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;j=~~$(W($(s/u)))>>>0;xg(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function Uc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+32|0;g=e+8|0;i=e;switch(d|0){case 2:{d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{m=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Ma[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Cd(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);n=f[i>>2]|0;if(!n){f[i>>2]=0;break}else{o=n;p=i;break a}}while(0);n=Yk(24)|0;f[n+4>>2]=m;q=n+8|0;f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[q+12>>2]=f[g+12>>2];f[n>>2]=2436;k=n;l=8}while(0);if((l|0)==8){f[i>>2]=k;o=k;p=i}f[a>>2]=o;f[p>>2]=0;u=e;return}case 3:{p=f[b+12>>2]|0;o=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;b:do if((c|0)==-2){r=0;l=16}else{b=f[(f[(f[o+4>>2]|0)+8>>2]|0)+(p<<2)>>2]|0;do if((Ma[f[(f[o>>2]|0)+8>>2]&127](o)|0)==1){Bd(i,o,c,p,g,((h[o+36>>0]|0)<<8|(h[o+37>>0]|0))&65535);k=f[i>>2]|0;if(!k){f[i>>2]=0;break}else{s=k;t=i;break b}}while(0);m=Yk(24)|0;f[m+4>>2]=b;k=m+8|0;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[k+8>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];f[m>>2]=2492;r=m;l=16}while(0);if((l|0)==16){f[i>>2]=r;s=r;t=i}f[a>>2]=s;f[t>>2]=0;u=e;return}default:{f[a>>2]=0;u=e;return}}}function Wc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Og(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;Eo(v)}else{w=n;x=0}while(1){f[i>>2]=f[w+(x<<2)>>2];f[h>>2]=f[i>>2];if(!(Lb(j,h,c,x)|0)){q=0;y=24;break}n=X(x,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}x=x+1|0;if((x|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=x>>>0){v=n;y=8;break}}if((y|0)==8)Eo(v);else if((y|0)==24){u=d;return q|0}return 0}function Xc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Og(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;Eo(v)}else{w=n;x=0}while(1){f[i>>2]=f[w+(x<<2)>>2];f[h>>2]=f[i>>2];if(!(Kb(j,h,c,x)|0)){q=0;y=24;break}n=X(x,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}x=x+1|0;if((x|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=x>>>0){v=n;y=8;break}}if((y|0)==8)Eo(v);else if((y|0)==24){u=d;return q|0}return 0}function Yc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Me(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)Eo(l);else{q=o<<1;e=Yk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Dh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Me(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Cb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Cb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=v;A=0;while(1){d[e+(y<<1)>>1]=d[q+(A<<1)>>1]|0;A=A+1|0;if((A|0)==(o|0))break;else y=y+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=o+v|0}}while(0);v=f[l>>2]|0;if(v|0){l=f[g>>2]|0;if((l|0)!=(v|0))f[g>>2]=l+(~((l+-2-v|0)>>>1)<<1);lp(v)}r=t;u=i;return r|0}function Zc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Me(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)Eo(l);else{q=o<<1;e=Yk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Dh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Me(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Db(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Db(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=v;A=0;while(1){d[e+(y<<1)>>1]=d[q+(A<<1)>>1]|0;A=A+1|0;if((A|0)==(o|0))break;else y=y+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=o+v|0}}while(0);v=f[l>>2]|0;if(v|0){l=f[g>>2]|0;if((l|0)!=(v|0))f[g>>2]=l+(~((l+-2-v|0)>>>1)<<1);lp(v)}r=t;u=i;return r|0}function _c(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ne(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)Eo(k);else{p=n<<2;d=Yk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Dh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Ne(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Eb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Eb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=t;z=0;while(1){f[d+(x<<2)>>2]=f[p+(z<<2)>>2];z=z+1|0;if((z|0)==(n|0))break;else x=x+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=n+t|0}}while(0);t=f[k>>2]|0;if(t|0){k=f[e>>2]|0;if((k|0)!=(t|0))f[e>>2]=k+(~((k+-4-t|0)>>>2)<<2);lp(t)}q=s;u=h;return q|0}function $c(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ne(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)Eo(k);else{p=n<<2;d=Yk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Dh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Ne(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Fb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Fb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=t;z=0;while(1){f[d+(x<<2)>>2]=f[p+(z<<2)>>2];z=z+1|0;if((z|0)==(n|0))break;else x=x+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=n+t|0}}while(0);t=f[k>>2]|0;if(t|0){k=f[e>>2]|0;if((k|0)!=(t|0))f[e>>2]=k+(~((k+-4-t|0)>>>2)<<2);lp(t)}q=s;u=h;return q|0}function ad(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Ul(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=me(a,c,d)|0;return l|0}case 2:{l=me(a,c,d)|0;return l|0}case 3:{l=me(a,c,d)|0;return l|0}case 4:{l=me(a,c,d)|0;return l|0}case 5:{l=me(a,c,d)|0;return l|0}case 6:{l=me(a,c,d)|0;return l|0}case 7:{l=me(a,c,d)|0;return l|0}case 8:{l=me(a,c,d)|0;return l|0}case 9:{l=le(a,c,d)|0;return l|0}case 10:{l=ke(a,c,d)|0;return l|0}case 11:{l=je(a,c,d)|0;return l|0}case 12:{l=ie(a,c,d)|0;return l|0}case 13:{l=he(a,c,d)|0;return l|0}case 14:{l=ge(a,c,d)|0;return l|0}case 15:{l=ge(a,c,d)|0;return l|0}case 16:{l=ge(a,c,d)|0;return l|0}case 17:{l=ge(a,c,d)|0;return l|0}case 18:{l=ge(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function bd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;df(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)Eo(k);p=Yk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=p;p=n;do{b[d>>0]=0;d=(f[e>>2]|0)+1|0;f[e>>2]=d;p=p+-1|0}while((p|0)!=0)}df(g,0,0+a|0);a:do if(!o)r=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24>0){s=0;t=0}else{d=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(d<<2)>>2]|0;else v=d;w=f[k>>2]|0;f[j>>2]=v;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Hb(c,i,x,w)|0)){r=0;break a}d=d+1|0;if(d>>>0>=o>>>0){r=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[p>>2]|0)+(t<<2)>>2]|0;else y=t;d=f[k>>2]|0;f[j>>2]=y;w=b[l>>0]|0;f[i>>2]=f[j>>2];if(Hb(c,i,w,d)|0){z=s;A=0}else{r=0;break a}while(1){b[(f[g>>2]|0)+z>>0]=b[(f[k>>2]|0)+A>>0]|0;A=A+1|0;if((A|0)==(n|0))break;else z=z+1|0}t=t+1|0;if(t>>>0>=o>>>0){r=1;break}else s=n+s|0}}while(0);s=f[k>>2]|0;if(s|0){if((f[e>>2]|0)!=(s|0))f[e>>2]=s;lp(s)}q=r;u=h;return q|0}function cd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;df(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)Eo(k);p=Yk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=p;p=n;do{b[d>>0]=0;d=(f[e>>2]|0)+1|0;f[e>>2]=d;p=p+-1|0}while((p|0)!=0)}df(g,0,0+a|0);a:do if(!o)r=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24>0){s=0;t=0}else{d=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(d<<2)>>2]|0;else v=d;w=f[k>>2]|0;f[j>>2]=v;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Ib(c,i,x,w)|0)){r=0;break a}d=d+1|0;if(d>>>0>=o>>>0){r=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[p>>2]|0)+(t<<2)>>2]|0;else y=t;d=f[k>>2]|0;f[j>>2]=y;w=b[l>>0]|0;f[i>>2]=f[j>>2];if(Ib(c,i,w,d)|0){z=s;A=0}else{r=0;break a}while(1){b[(f[g>>2]|0)+z>>0]=b[(f[k>>2]|0)+A>>0]|0;A=A+1|0;if((A|0)==(n|0))break;else z=z+1|0}t=t+1|0;if(t>>>0>=o>>>0){r=1;break}else s=n+s|0}}while(0);s=f[k>>2]|0;if(s|0){if((f[e>>2]|0)!=(s|0))f[e>>2]=s;lp(s)}q=r;u=h;return q|0}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+32|0;e=d+16|0;g=d;if((j[c+38>>1]|0)<514){i=c+8|0;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}i=b[(f[c>>2]|0)+n>>0]|0;k=Ul(n|0,o|0,1,0)|0;o=l;f[o>>2]=k;f[o+4>>2]=I;if(i<<24>>24){p=0;u=d;return p|0}}i=0;do{Ph(e,c)|0;o=f[e>>2]|0;if(o|0){k=a+60+(i*12|0)|0;gd(k,o,0);Ym(g);if(!(ud(g,c)|0)){q=12;break}if(f[e>>2]|0){o=0;do{l=Pi(g)|0;n=(f[k>>2]|0)+(o>>>5<<2)|0;m=1<<(o&31);r=f[n>>2]|0;f[n>>2]=l?r|m:r&~m;o=o+1|0}while(o>>>0<(f[e>>2]|0)>>>0)}qp(g)}i=i+1|0}while((i|0)<4);if((q|0)==12){qp(g);p=0;u=d;return p|0}g=c+8|0;q=f[g>>2]|0;i=f[g+4>>2]|0;g=c+16|0;e=g;o=f[e>>2]|0;k=f[e+4>>2]|0;e=Ul(o|0,k|0,4,0)|0;m=I;if((i|0)<(m|0)|(i|0)==(m|0)&q>>>0>>0){p=0;u=d;return p|0}r=f[c>>2]|0;c=r+o|0;l=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=g;f[c>>2]=e;f[c+4>>2]=m;m=Ul(o|0,k|0,8,0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&q>>>0>>0){p=0;u=d;return p|0}q=r+e|0;e=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;q=g;f[q>>2]=m;f[q+4>>2]=k;if((l|0)>(e|0)){p=0;u=d;return p|0}f[a+12>>2]=l;f[a+16>>2]=e;k=Wl(e|0,((e|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=I;if(!(l>>>0<0|(l|0)==0&k>>>0<2147483647)){p=0;u=d;return p|0}l=k+1|0;f[a+20>>2]=l;k=(l|0)/2|0;e=a+24|0;f[e>>2]=k;f[a+28>>2]=0-k;if(l&1|0){p=1;u=d;return p|0}f[e>>2]=k+-1;p=1;u=d;return p|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=f[e>>2]|0;n=c;o=e;p=h}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=r>>>(g+u|0)|f[s>>2]&~(-1>>>(32-w|0));f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=x;n=v;o=e;p=h-q|0}q=32-m|0;h=-1<31){m=~h;e=f[d>>2]|0;v=p+-32|0;x=v>>>5;c=x+1|0;w=v-(x<<5)|0;x=f[e>>2]|0;v=e;s=p;u=n;while(1){g=f[u>>2]|0;r=x&m;f[v>>2]=r;f[v>>2]=g<>2]|r;v=v+4|0;x=f[v>>2]&h|g>>>q;f[v>>2]=x;s=s+-32|0;if((s|0)<=31)break;else u=u+4|0}u=n+(c<<2)|0;f[b>>2]=u;f[d>>2]=e+(c<<2);y=u;z=w}else{y=n;z=p}if((z|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[y>>2]&-1>>>(32-z|0);y=(q|0)<(z|0)?q:z;n=f[d>>2]|0;w=f[n>>2]&~(-1<>2]&-1>>>(q-y|0));f[n>>2]=w;f[n>>2]=w|p<>2];w=(f[o>>2]|0)+y|0;q=n+(w>>>5<<2)|0;f[d>>2]=q;f[o>>2]=w&31;w=z-y|0;if((w|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[q>>2]=f[q>>2]&~(-1>>>(32-w|0))|p>>>y;f[o>>2]=w;i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d>>2]=0;do if((j[b+38>>1]|0)<514){g=b+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=b+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=c;return o|0}else{i=(f[b>>2]|0)+m|0;m=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d>>2]=m;i=g;f[i>>2]=n;f[i+4>>2]=l;p=m;break}}else if(Ph(d,b)|0){p=f[d>>2]|0;break}else{o=0;u=c;return o|0}while(0);if(!p){o=0;u=c;return o|0}m=a+76|0;gd(m,p,0);Ym(e);if(ud(e,b)|0){if(f[d>>2]|0){p=0;l=1;do{l=l^((Pi(e)|0)^1);i=(f[m>>2]|0)+(p>>>5<<2)|0;n=1<<(p&31);g=f[i>>2]|0;f[i>>2]=l?g|n:g&~n;p=p+1|0}while(p>>>0<(f[d>>2]|0)>>>0)}d=b+8|0;p=f[d>>2]|0;l=f[d+4>>2]|0;d=b+16|0;m=d;n=f[m>>2]|0;g=f[m+4>>2]|0;m=Ul(n|0,g|0,4,0)|0;i=I;if(((!((l|0)<(i|0)|(l|0)==(i|0)&p>>>0>>0)?(k=f[b>>2]|0,b=k+n|0,q=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=d,f[b>>2]=m,f[b+4>>2]=i,i=Ul(n|0,g|0,8,0)|0,g=I,!((l|0)<(g|0)|(l|0)==(g|0)&p>>>0>>0)):0)?(p=k+m|0,m=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24,p=d,f[p>>2]=i,f[p+4>>2]=g,(q|0)<=(m|0)):0)?(f[a+12>>2]=q,f[a+16>>2]=m,g=Wl(m|0,((m|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,q=I,q>>>0<0|(q|0)==0&g>>>0<2147483647):0){q=g+1|0;f[a+20>>2]=q;g=(q|0)/2|0;m=a+24|0;f[m>>2]=g;f[a+28>>2]=0-g;if(!(q&1)){f[m>>2]=g+-1;r=1}else r=1}else r=0}else r=0;qp(e);o=r;u=c;return o|0}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)Eo(a);p=k<<6;k=b+31&-32;Jg(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;ok(q|0,k|0,p<<2|0)|0;k=r-(p<<5)|0;r=q+(p<<2)|0;s=r;if((k|0)>0){t=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~t|f[l+(p<<2)>>2]&t;v=s;w=k}else{v=s;w=0}}else{v=q;w=0}f[g>>2]=v;f[g+4>>2]=w;w=g;g=f[w>>2]|0;v=f[w+4>>2]|0;w=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=w;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(w|0)lp(w);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=x;A=v;B=m}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Dh(z|0,-1,b<<2|0)|0;z=B-(b<<5)|0;B=A+(b<<2)|0;if(!z){u=d;return}f[B>>2]=f[B>>2]|-1>>>(32-z|0);u=d;return}else{if(i){C=x;D=v;E=m}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Dh(C|0,0,i<<2|0)|0;C=E-(i<<5)|0;E=D+(i<<2)|0;if(!C){u=d;return}f[E>>2]=f[E>>2]&~(-1>>>(32-C|0));u=d;return}}function hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=f[e>>2]|0;o=c;p=e;q=i}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=w;o=u;p=c;q=i-r|0}r=32-n|0;i=-1<31){n=~i;c=o;u=q;do{w=f[c>>2]|0;v=f[d>>2]|0;e=f[v>>2]&n;f[v>>2]=e;f[v>>2]=w<>2]|e;e=v+4|0;f[d>>2]=e;f[e>>2]=f[e>>2]&i|w>>>r;u=u+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((u|0)>31);x=c;y=q&31}else{x=o;y=q}if((y|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}q=f[x>>2]&-1>>>(32-y|0);x=(r|0)<(y|0)?r:y;o=f[d>>2]|0;c=f[o>>2]&~(-1<>2]&-1>>>(r-x|0));f[o>>2]=c;f[o>>2]=c|q<>2];c=(f[p>>2]|0)+x|0;r=o+(c>>>5<<2)|0;f[d>>2]=r;f[p>>2]=c&31;c=y-x|0;if((c|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[r>>2]=f[r>>2]&~(-1>>>(32-c|0))|q>>>x;f[p>>2]=c;j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function id(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+4194304|0;f[a+48>>2]=x;o=x>>>0<1073741824;u=d;return o|0}function jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+2097152|0;f[a+48>>2]=x;o=x>>>0<536870912;u=d;return o|0}function kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+1048576|0;f[a+48>>2]=x;o=x>>>0<268435456;u=d;return o|0}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+262144|0;f[a+48>>2]=x;o=x>>>0<67108864;u=d;return o|0}function md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+131072|0;f[a+48>>2]=x;o=x>>>0<33554432;u=d;return o|0}function nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+32768|0;f[a+48>>2]=x;o=x>>>0<8388608;u=d;return o|0}function od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=i;s=k;t=n;v=l;w=p;x=q;y=g;break}}else if(nh(e,c)|0){g=e;q=c+8|0;p=c+16|0;l=p;r=f[q>>2]|0;s=f[q+4>>2]|0;t=f[l>>2]|0;v=f[l+4>>2]|0;w=f[g+4>>2]|0;x=f[g>>2]|0;y=p;break}else{o=0;u=d;return o|0}while(0);e=Wl(r|0,s|0,t|0,v|0)|0;s=I;if(w>>>0>s>>>0|(w|0)==(s|0)&x>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+t|0;c=Ul(t|0,v|0,x|0,w|0)|0;w=y;f[w>>2]=c;f[w+4>>2]=I;if((x|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;w=x+-1|0;c=e+w|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=w;z=b[c>>0]&63;break}case 1:{if((x|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=x+-2;y=e+x+-2|0;z=(h[y+1>>0]|0)<<8&16128|(h[y>>0]|0);break a}break}case 2:{if((x|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=x+-3;y=e+x+-3|0;z=(h[y+1>>0]|0)<<8|(h[y>>0]|0)|(h[y+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=x+-4;y=e+x+-4|0;z=(h[y+2>>0]|0)<<16|(h[y+3>>0]|0)<<24&1056964608|(h[y+1>>0]|0)<<8|(h[y>>0]|0);break}default:{}}while(0);x=z+16384|0;f[a+48>>2]=x;o=x>>>0<4194304;u=d;return o|0}function pd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Ul(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Oa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Na[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Na[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){Og(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(q|0)!=(s|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function qd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3072;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do{e=e+-16|0;qp(e)}while((e|0)!=(c|0))}jp(b)}qp(a+352|0);qp(a+312|0);qp(a+296|0);qp(a+256|0);Pg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Vg(a);lp(a);return}function rd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+16|0;d=c;e=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if((f[n>>2]|0)!=0?(n=f[(f[h>>2]|0)+(m<<2)>>2]|0,o=f[n+8>>2]|0,p=kg(n)|0,(p|0)!=0):0){n=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;q=f[n>>2]|0;n=f[o+56>>2]|0;o=Yk(32)|0;f[d>>2]=o;f[j>>2]=-2147483616;f[k>>2]=24;r=o;s=11771;t=r+24|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[o+24>>0]=0;s=q+16|0;r=f[s>>2]|0;if(r){t=s;v=r;a:while(1){r=v;while(1){if((f[r+16>>2]|0)>=(n|0))break;w=f[r+4>>2]|0;if(!w){x=t;break a}else r=w}v=f[r>>2]|0;if(!v){x=r;break}else t=r}if(((x|0)!=(s|0)?(n|0)>=(f[x+16>>2]|0):0)?(t=x+20|0,(hg(t,d)|0)!=0):0)y=hi(t,d,0)|0;else z=14}else z=14;if((z|0)==14){z=0;y=hi(q,d,0)|0}if((b[l>>0]|0)<0)lp(f[d>>2]|0);if(y)Zd(f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0,p);else z=19}else z=19;if((z|0)==19?(z=0,t=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Na[f[(f[t>>2]|0)+24>>2]&127](t,i)|0)):0){g=0;z=21;break}m=m+1|0;if((m|0)>=(e|0)){g=1;z=21;break}}if((z|0)==21){u=c;return g|0}return 0}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+12|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;f[g>>2]=0;m=g+4|0;f[m>>2]=0;f[g+8>>2]=0;if(!(k<<24>>24))n=0;else{if(k<<24>>24<0)Eo(g);k=Yk(l)|0;f[m>>2]=k;f[g>>2]=k;f[g+8>>2]=k+l;o=k;k=l;do{b[o>>0]=0;o=(f[m>>2]|0)+1|0;f[m>>2]=o;k=k+-1|0}while((k|0)!=0);n=b[j>>0]|0}k=n<<24>>24;f[i>>2]=0;o=i+4|0;f[o>>2]=0;f[i+8>>2]=0;if(n<<24>>24){if(n<<24>>24<0)Eo(i);n=Yk(k)|0;f[o>>2]=n;f[i>>2]=n;f[i+8>>2]=n+k;l=n;n=k;do{b[l>>0]=0;l=(f[o>>2]|0)+1|0;f[o>>2]=l;n=n+-1|0}while((n|0)!=0)}n=c+80|0;if(!(f[n>>2]|0))p=f[i>>2]|0;else{l=c+48|0;k=c+40|0;q=c+64|0;r=a+48|0;a=0;do{s=f[g>>2]|0;t=l;v=f[t>>2]|0;w=f[t+4>>2]|0;t=k;x=f[t>>2]|0;y=fl(x|0,f[t+4>>2]|0,a|0,0)|0;t=Ul(y|0,I|0,v|0,w|0)|0;Ff(s|0,(f[f[c>>2]>>2]|0)+t|0,x|0)|0;if((b[j>>0]|0)>0?(b[f[i>>2]>>0]=(f[(f[r>>2]|0)+(d<<2)>>2]|0)+(h[s>>0]|0),(b[j>>0]|0)>1):0){s=1;do{b[(f[i>>2]|0)+s>>0]=(f[(f[r>>2]|0)+(s+d<<2)>>2]|0)+(h[(f[g>>2]|0)+s>>0]|0);s=s+1|0}while((s|0)<(b[j>>0]|0))}s=f[i>>2]|0;x=k;t=f[x>>2]|0;w=fl(t|0,f[x+4>>2]|0,a|0,0)|0;Ff((f[f[q>>2]>>2]|0)+w|0,s|0,t|0)|0;a=a+1|0}while(a>>>0<(f[n>>2]|0)>>>0);p=s}if(p|0){if((f[o>>2]|0)!=(p|0))f[o>>2]=p;lp(p)}p=f[g>>2]|0;if(!p){u=e;return 1}if((f[m>>2]|0)!=(p|0))f[m>>2]=p;lp(p);u=e;return 1}function td(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=f[e>>2]|0;if((((j|0)>-1?j:0-j|0)+((h|0)>-1?h:0-h|0)|0)>(k|0)){if((j|h|0)>-1){l=1;m=1}else{n=(h|0)<1&(j|0)<1;l=n?-1:(h|0)>0?1:-1;m=n?-1:(j|0)>0?1:-1}n=X(k,l)|0;o=X(k,m)|0;p=(h<<1)-n|0;f[c>>2]=p;q=(j<<1)-o|0;f[i>>2]=q;if((X(l,m)|0)>-1){m=0-q|0;f[c>>2]=m;r=0-p|0;s=m}else{f[c>>2]=q;r=p;s=q}q=(s+n|0)/2|0;f[c>>2]=q;c=(r+o|0)/2|0;f[i>>2]=c;t=q;u=c;v=f[e>>2]|0;w=0}else{t=h;u=j;v=k;w=1}k=(f[d>>2]|0)+t|0;f[a>>2]=k;t=(f[d+4>>2]|0)+u|0;u=a+4|0;f[u>>2]=t;if((v|0)>=(k|0))if((k|0)<(0-v|0))x=(f[b+4>>2]|0)+k|0;else x=k;else x=k-(f[b+4>>2]|0)|0;f[a>>2]=x;if((v|0)>=(t|0))if((t|0)<(0-v|0))y=(f[b+4>>2]|0)+t|0;else y=t;else y=t-(f[b+4>>2]|0)|0;f[u>>2]=y;if(w){z=x;A=y;B=z+g|0;C=A+g|0;D=a;E=D;f[E>>2]=B;F=D+4|0;G=F;f[G>>2]=C;return}if((x|y|0)>-1){H=1;I=1}else{w=(y|0)<1&(x|0)<1;H=w?-1:(x|0)>0?1:-1;I=w?-1:(y|0)>0?1:-1}w=X(v,H)|0;b=X(v,I)|0;v=(x<<1)-w|0;f[a>>2]=v;x=(y<<1)-b|0;f[u>>2]=x;if((X(H,I)|0)>-1){I=0-x|0;f[a>>2]=I;J=0-v|0;K=I}else{f[a>>2]=x;J=v;K=x}x=(K+w|0)/2|0;f[a>>2]=x;w=(J+b|0)/2|0;f[u>>2]=w;z=x;A=w;B=z+g|0;C=A+g|0;D=a;E=D;f[E>>2]=B;F=D+4|0;G=F;f[G>>2]=C;return}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}b[a+12>>0]=b[(f[c>>2]|0)+n>>0]|0;n=l;i=f[n>>2]|0;o=f[n+4>>2]|0;n=Ul(i|0,o|0,1,0)|0;k=l;f[k>>2]=n;f[k+4>>2]=I;if((j[c+38>>1]|0)<514){k=g;m=f[k>>2]|0;q=f[k+4>>2]|0;k=Ul(i|0,o|0,5,0)|0;o=I;if((q|0)<(o|0)|(q|0)==(o|0)&m>>>0>>0)r=0;else{i=(f[c>>2]|0)+n|0;n=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[e>>2]=n;i=l;f[i>>2]=k;f[i+4>>2]=o;s=m;t=q;v=k;w=o;x=n;y=7}}else if(Ph(e,c)|0){n=g;g=l;s=f[n>>2]|0;t=f[n+4>>2]|0;v=f[g>>2]|0;w=f[g+4>>2]|0;x=f[e>>2]|0;y=7}else r=0;a:do if((y|0)==7){e=Wl(s|0,t|0,v|0,w|0)|0;g=I;if(!(0>(g|0)|0==(g|0)&x>>>0>e>>>0)?(e=(f[c>>2]|0)+v|0,(x|0)>=1):0){f[a>>2]=e;g=x+-1|0;n=e+g|0;switch((h[n>>0]|0)>>>6&3){case 0:{f[a+4>>2]=g;z=b[n>>0]&63;break}case 1:{if((x|0)<2){r=0;break a}f[a+4>>2]=x+-2;n=e+x+-2|0;z=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((x|0)<3){r=0;break a}f[a+4>>2]=x+-3;n=e+x+-3|0;z=(h[n+1>>0]|0)<<8|(h[n>>0]|0)|(h[n+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}n=z+4096|0;f[a+8>>2]=n;if(n>>>0<=1048575){n=Ul(v|0,w|0,x|0,0)|0;e=l;f[e>>2]=n;f[e+4>>2]=I;r=1}else r=0}else r=0}while(0);p=r;u=d;return p|0}function vd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=j;l=c;do{f[k>>2]=-1;Ti(k+4|0);b[k+100>>0]=1;m=k+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));k=(f[i>>2]|0)+144|0;f[i>>2]=k;l=l+-1|0}while((l|0)!=0);u=d;return}l=f[a>>2]|0;k=(j-l|0)/144|0;j=k+c|0;if(j>>>0>29826161)Eo(a);o=(h-l|0)/144|0;l=o<<1;h=o>>>0<14913080?(l>>>0>>0?j:l):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){l=ra(8)|0;cn(l,13392);f[l>>2]=4748;va(l|0,1128,101)}else{p=Yk(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;l=p+(k*144|0)|0;k=e+8|0;f[k>>2]=l;j=e+4|0;f[j>>2]=l;o=e+12|0;f[o>>2]=p+(h*144|0);h=l;l=c;do{f[h>>2]=-1;Ti(h+4|0);b[h+100>>0]=1;m=h+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));h=(f[k>>2]|0)+144|0;f[k>>2]=h;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;h=f[i>>2]|0;if((h|0)==(l|0)){q=j;r=f[j>>2]|0;s=l;t=h}else{m=f[j>>2]|0;n=h;do{m=m+-144|0;n=n+-144|0;Uc(m,n)}while((n|0)!=(l|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=f[k>>2];f[k>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=f[q>>2];Ug(e);u=d;return}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=f[e+8>>2]|0;c=g+12|0;if(b[c>>0]|0){h=23;break}i=g+8|0;j=f[i>>2]|0;d=f[j>>2]|0;if((d|0)==(g|0)){k=f[j+4>>2]|0;if(!k){h=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{h=7;break}}else{if(!d){h=16;break}l=d+12|0;if(!(b[l>>0]|0))m=l;else{h=16;break}}b[c>>0]=1;c=(j|0)==(a|0);b[j+12>>0]=c&1;b[m>>0]=1;if(c){h=23;break}else e=j}if((h|0)==7){if((f[g>>2]|0)==(e|0)){n=g;o=j}else{m=g+4|0;a=f[m>>2]|0;c=f[a>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[i>>2]|0}f[a+8>>2]=p;p=f[i>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=a;f[a>>2]=g;f[i>>2]=a;n=a;o=f[a+8>>2]|0}b[n+12>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;a=n+4|0;p=f[a>>2]|0;f[o>>2]=p;if(p|0)f[p+8>>2]=o;p=o+8|0;f[n+8>>2]=f[p>>2];c=f[p>>2]|0;f[((f[c>>2]|0)==(o|0)?c:c+4|0)>>2]=n;f[a>>2]=o;f[p>>2]=n;return}else if((h|0)==16){if((f[g>>2]|0)==(e|0)){e=f[g>>2]|0;n=e+4|0;p=f[n>>2]|0;f[g>>2]=p;if(!p)q=j;else{f[p+8>>2]=g;q=f[i>>2]|0}f[e+8>>2]=q;q=f[i>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=e;f[n>>2]=g;f[i>>2]=e;r=e;s=f[e+8>>2]|0}else{r=g;s=j}b[r+12>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;g=f[j>>2]|0;f[r>>2]=g;if(g|0)f[g+8>>2]=s;g=s+8|0;f[j+8>>2]=f[g>>2];r=f[g>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[g>>2]=j;return}else if((h|0)==23)return}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return mb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return ob(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return nb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Ul(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}gd(a+76|0,l,0);Ym(d);if(ud(d,b)|0){if((l|0)>0){k=a+76|0;i=0;m=1;do{m=m^((Pi(d)|0)^1);j=(f[k>>2]|0)+(i>>>5<<2)|0;o=1<<(i&31);p=f[j>>2]|0;f[j>>2]=m?p|o:p&~o;i=i+1|0}while((i|0)<(l|0))}l=e;e=f[l>>2]|0;i=f[l+4>>2]|0;l=g;m=f[l>>2]|0;k=f[l+4>>2]|0;l=Ul(m|0,k|0,4,0)|0;o=I;if(((!((i|0)<(o|0)|(i|0)==(o|0)&e>>>0>>0)?(p=f[b>>2]|0,b=p+m|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=o,o=Ul(m|0,k|0,8,0)|0,k=I,!((i|0)<(k|0)|(i|0)==(k|0)&e>>>0>>0)):0)?(e=p+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=o,f[e+4>>2]=k,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,k=Wl(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&k>>>0<2147483647):0){j=k+1|0;f[a+20>>2]=j;k=(j|0)/2|0;l=a+24|0;f[l>>2]=k;f[a+28>>2]=0-k;if(!(j&1)){f[l>>2]=k+-1;q=1}else q=1}else q=0}else q=0;qp(d);n=q;u=c;return n|0}function Bd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Yk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2632;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2688;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Yk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2548;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2604;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Yk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2800;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2856;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Yk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2716;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2772;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Dd(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+32|0;h=g+12|0;i=g;k=c+24|0;l=b[k>>0]|0;m=l<<24>>24;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;o=l<<24>>24==0;do if(!o)if(l<<24>>24<0)Eo(h);else{p=m<<1;q=Yk(p)|0;f[h>>2]=q;r=q+(m<<1)|0;f[h+8>>2]=r;Dh(q|0,0,p|0)|0;f[n>>2]=r;s=q;t=r;v=q;break}else{s=0;t=0;v=0}while(0);f[i>>2]=0;h=i+4|0;f[h>>2]=0;f[i+8>>2]=0;if(o){w=0;x=0;y=0}else{o=m<<1;l=Yk(o)|0;f[i>>2]=l;q=l+(m<<1)|0;f[i+8>>2]=q;Dh(l|0,0,o|0)|0;f[h>>2]=q;w=l;x=q;y=l}l=c+80|0;if(f[l>>2]|0){q=c+48|0;o=c+40|0;i=c+64|0;m=a+48|0;a=v;r=w;p=0;while(1){z=q;A=f[z>>2]|0;B=f[z+4>>2]|0;z=o;C=f[z>>2]|0;D=fl(C|0,f[z+4>>2]|0,p|0,0)|0;z=Ul(D|0,I|0,A|0,B|0)|0;Ff(a|0,(f[f[c>>2]>>2]|0)+z|0,C|0)|0;C=b[k>>0]|0;if(C<<24>>24>0){z=f[m>>2]|0;B=C<<24>>24;C=0;do{d[r+(C<<1)>>1]=(f[z+(C+e<<2)>>2]|0)+(j[s+(C<<1)>>1]|0);C=C+1|0}while((C|0)<(B|0));E=v}else E=a;B=o;C=f[B>>2]|0;z=fl(C|0,f[B+4>>2]|0,p|0,0)|0;Ff((f[f[i>>2]>>2]|0)+z|0,y|0,C|0)|0;p=p+1|0;if(p>>>0>=(f[l>>2]|0)>>>0)break;else{a=E;r=y}}}if(w|0){if((x|0)!=(w|0))f[h>>2]=x+(~((x+-2-w|0)>>>1)<<1);lp(y)}if(!s){u=g;return 1}if((t|0)!=(s|0))f[n>>2]=t+(~((t+-2-s|0)>>>1)<<1);lp(v);u=g;return 1}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+32|0;g=e+12|0;h=e;i=c+24|0;j=b[i>>0]|0;k=j<<24>>24;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;m=j<<24>>24==0;do if(!m)if(j<<24>>24<0)Eo(g);else{n=k<<2;o=Yk(n)|0;f[g>>2]=o;p=o+(k<<2)|0;f[g+8>>2]=p;Dh(o|0,0,n|0)|0;f[l>>2]=p;q=o;r=p;s=o;break}else{q=0;r=0;s=0}while(0);f[h>>2]=0;g=h+4|0;f[g>>2]=0;f[h+8>>2]=0;if(m){t=0;v=0;w=0}else{m=k<<2;j=Yk(m)|0;f[h>>2]=j;o=j+(k<<2)|0;f[h+8>>2]=o;Dh(j|0,0,m|0)|0;f[g>>2]=o;t=j;v=o;w=j}j=c+80|0;if(f[j>>2]|0){o=c+48|0;m=c+40|0;h=c+64|0;k=a+48|0;a=s;p=t;n=0;while(1){x=o;y=f[x>>2]|0;z=f[x+4>>2]|0;x=m;A=f[x>>2]|0;B=fl(A|0,f[x+4>>2]|0,n|0,0)|0;x=Ul(B|0,I|0,y|0,z|0)|0;Ff(a|0,(f[f[c>>2]>>2]|0)+x|0,A|0)|0;A=b[i>>0]|0;if(A<<24>>24>0){x=f[k>>2]|0;z=A<<24>>24;A=0;do{f[p+(A<<2)>>2]=(f[x+(A+d<<2)>>2]|0)+(f[q+(A<<2)>>2]|0);A=A+1|0}while((A|0)<(z|0));C=s}else C=a;z=m;A=f[z>>2]|0;x=fl(A|0,f[z+4>>2]|0,n|0,0)|0;Ff((f[f[h>>2]>>2]|0)+x|0,w|0,A|0)|0;n=n+1|0;if(n>>>0>=(f[j>>2]|0)>>>0)break;else{a=C;p=w}}}if(t|0){if((v|0)!=(t|0))f[g>>2]=v+(~((v+-4-t|0)>>>2)<<2);lp(w)}if(!q){u=e;return 1}if((r|0)!=(q|0))f[l>>2]=r+(~((r+-4-q|0)>>>2)<<2);lp(s);u=e;return 1}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return fb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return hb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;s=0;do{if(!(ud(a+16+(s<<4)|0,c)|0)){r=0;t=17;break}s=s+1|0}while((s|0)<32);if((t|0)==17)return r|0;if(!(ud(a+528|0,c)|0)){r=0;return r|0}if(!(ze(a+544|0,c)|0)){r=0;return r|0}if(!(ze(a+564|0,c)|0)){r=0;return r|0}if(ze(a+584|0,c)|0)return gb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Id(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;ii(a+232|0);Pg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Vg(a);lp(a);return}function Jd(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;rf(a+232|0);Pg(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;lp(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)lp(b);b=f[a+120>>2]|0;if(b|0)lp(b);b=f[a+108>>2]|0;if(b|0)lp(b);b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+60>>2]|0;if(b|0)lp(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Vg(a);lp(a);return}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c;e=a+40|0;g=e;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Af(e,1,d)|0){g=a;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=d;k=f[e>>2]|0;l=f[e+4>>2]|0;e=a+8|0;m=e;n=a+16|0;o=n;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Wl(f[m>>2]|0,f[m+4>>2]|0,p|0,q|0)|0;m=I;if(!(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>o>>>0)){o=Ul(p|0,q|0,k|0,l|0)|0;l=n;f[l>>2]=o;f[l+4>>2]=I;do if((j[a+38>>1]|0)>=514){if(!(ud(a+80|0,a)|0)){r=0;u=c;return r|0}}else{l=a+96|0;g=l;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Af(l,1,d)|0){g=a;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=d;o=f[l>>2]|0;k=f[l+4>>2]|0;l=e;q=n;p=f[q>>2]|0;m=f[q+4>>2]|0;q=Wl(f[l>>2]|0,f[l+4>>2]|0,p|0,m|0)|0;l=I;if(!(k>>>0>l>>>0|(k|0)==(l|0)&o>>>0>q>>>0)){q=Ul(p|0,m|0,o|0,k|0)|0;k=n;f[k>>2]=q;f[k+4>>2]=I;break}}r=0;u=c;return r|0}while(0);if(!(Zg(a)|0)){r=0;u=c;return r|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));r=1;u=c;return r|0}}r=0;u=c;return r|0}function Ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(bc(a,c)|0)){g=0;u=d;return g|0}h=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Ra[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else ef(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Ul(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Ta[f[(f[a>>2]|0)+48>>2]&15](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Ra[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Ra[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Na[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Oa[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=Yk(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;No(e);if(Cf(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){jh(o);lp(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}lp(l)}jh(c);lp(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=12999;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){jh(i);lp(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}lp(p)}jh(h);lp(h);u=d;return}}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=f[b>>2]|0;f[d>>2]=g;b=a+8|0;h=(g|0)==-1;i=g+1|0;do if(!h){f[d+4>>2]=((i>>>0)%3|0|0)==0?g+-2|0:i;if(!((g>>>0)%3|0)){j=g+2|0;break}else{j=g+-1|0;break}}else{f[d+4>>2]=-1;j=-1}while(0);f[d+8>>2]=j;j=h?-1:(g>>>0)/3|0;h=a+216|0;i=a+220|0;k=a+368|0;a=g;g=0;while(1){if((a|0)!=-1?(l=f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(l|0)!=-1):0){if(((l>>>0)/3|0)>>>0>=j>>>0?(f[i>>2]|0)!=(f[h>>2]|0):0){l=0;do{if(Pi((f[k>>2]|0)+(l<<4)|0)|0){m=f[h>>2]|0;f[e>>2]=a;n=m+(l*144|0)+136|0;o=f[n>>2]|0;if(o>>>0<(f[m+(l*144|0)+140>>2]|0)>>>0){f[o>>2]=a;f[n>>2]=o+4}else dh(m+(l*144|0)+132|0,e)}l=l+1|0}while(l>>>0<(((f[i>>2]|0)-(f[h>>2]|0)|0)/144|0)>>>0)}}else p=10;if((p|0)==10?(p=0,l=f[i>>2]|0,m=f[h>>2]|0,(l|0)!=(m|0)):0){o=l;l=m;m=0;while(1){n=l;f[e>>2]=a;q=n+(m*144|0)+136|0;r=f[q>>2]|0;if(r>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[r>>2]=a;f[q>>2]=r+4;s=l;t=o}else{dh(n+(m*144|0)+132|0,e);s=f[h>>2]|0;t=f[i>>2]|0}m=m+1|0;if(m>>>0>=((t-s|0)/144|0)>>>0)break;else{o=t;l=s}}}l=g+1|0;if((l|0)==3)break;a=f[d+(l<<2)>>2]|0;g=l}u=c;return 1}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ze(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+36|0,c)|0)){r=0;return r|0}if(!(ze(a+56|0,c)|0)){r=0;return r|0}if(ze(a+76|0,c)|0)return lb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ze(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+36|0,c)|0)){r=0;return r|0}if(!(ze(a+56|0,c)|0)){r=0;return r|0}if(ze(a+76|0,c)|0)return kb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ud(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+32|0,c)|0)){r=0;return r|0}if(!(ze(a+52|0,c)|0)){r=0;return r|0}if(ze(a+72|0,c)|0)return sb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ud(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+32|0,c)|0)){r=0;return r|0}if(!(ze(a+52|0,c)|0)){r=0;return r|0}if(ze(a+72|0,c)|0)return pb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+8|0;i=e+4|0;j=e;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Ul(p|0,q|0,4,0)|0;r=I;a:do if((n|0)<(r|0)|(n|0)==(r|0)&m>>>0>>0)s=0;else{t=f[c>>2]|0;v=t+p|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=o;f[v+4>>2]=r;b:do switch(w|0){case 3:{if(!((n|0)>(r|0)|(n|0)==(r|0)&m>>>0>o>>>0)){s=0;break a}v=b[t+o>>0]|0;x=Ul(p|0,q|0,5,0)|0;y=l;f[y>>2]=x;f[y+4>>2]=I;f[a+8>>2]=v<<24>>24;if(v<<24>>24==1)if($b(a,c,g)|0)break b;else{s=0;break a}else{oj(4996,23,1,f[906]|0)|0;s=0;break a}break}case 2:{if(!($b(a,c,g)|0)){s=0;break a}break}default:{oj(5020,24,1,f[906]|0)|0;s=0;break a}}while(0);f[i>>2]=f[g>>2];f[j>>2]=f[k>>2];oe(i,j,a,d);s=1}while(0);d=f[g>>2]|0;if(!d){u=e;return s|0}g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~(((g+-12-d|0)>>>0)/12|0)*12|0);lp(d);u=e;return s|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=Yk(124)|0;f[k+4>>2]=0;f[k>>2]=3172;f[k+12>>2]=3196;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=3196;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Hf(i+8|0,o,g);Ra[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];Qe(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;tf(k,h);f[a>>2]=n;f[i>>2]=3196;n=f[i+20>>2]|0;if(n|0)lp(n);n=f[i+8>>2]|0;if(!n){bh(h);u=e;return}lp(n);bh(h);u=e;return}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=2;k=0;l=(j|0)==2;m=l?0:k;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=h;h=0;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;r=Ah(f[q>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(r){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?dj(z,A,w)|0:0){B=0;C=h;break b}}else if(!y){if((x&255)<<24>>24==(b[A>>0]|0)){D=v;E=g;F=A}else{B=0;C=h;break b}while(1){D=D+-1|0;E=E+1|0;if(!D)break c;F=F+1|0;if((b[E>>0]|0)!=(b[F>>0]|0)){B=0;C=h;break b}}}while(0);B=1;C=f[q>>2]|0}else{B=0;C=h}}else{B=3;C=h}while(0);if(s<<24>>24<0)lp(f[g>>2]|0);switch(B&3){case 3:case 0:break;default:{j=B;k=C;G=17;break a}}q=q+4|0;if((q|0)==(i|0)){j=2;k=C;G=17;break}else h=C}if((G|0)==17){l=(j|0)==2;m=l?0:k;u=e;return m|0}return 0}function Wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)Eo(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;cn(g,13392);f[g>>2]=4748;va(g|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=d+12|0;f[k>>2]=m+(l<<2);l=f[b>>2]|0;f[b>>2]=0;f[g>>2]=l;f[h>>2]=g+4;g=f[a>>2]|0;l=f[e>>2]|0;if((l|0)==(g|0)){n=i;o=f[i>>2]|0;p=g;q=l;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ug(d);u=c;return}b=f[i>>2]|0;m=l;do{m=m+-4|0;l=f[m>>2]|0;f[m>>2]=0;f[b+-4>>2]=l;b=(f[i>>2]|0)+-4|0;f[i>>2]=b}while((m|0)!=(g|0));n=i;o=b;p=f[a>>2]|0;q=f[e>>2]|0;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ug(d);u=c;return}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c+4|0;e=c;g=f[b>>2]|0;f[d>>2]=g;b=a+8|0;h=g+1|0;do if((g|0)!=-1){f[d+4>>2]=((h>>>0)%3|0|0)==0?g+-2|0:h;if(!((g>>>0)%3|0)){i=g+2|0;break}else{i=g+-1|0;break}}else{f[d+4>>2]=-1;i=-1}while(0);f[d+8>>2]=i;i=a+216|0;h=a+220|0;j=a+368|0;a=g;g=0;while(1){if((a|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)!=-1:0){if((f[h>>2]|0)!=(f[i>>2]|0)){k=0;do{if(Pi((f[j>>2]|0)+(k<<4)|0)|0){l=f[i>>2]|0;f[e>>2]=a;m=l+(k*144|0)+136|0;n=f[m>>2]|0;if(n>>>0<(f[l+(k*144|0)+140>>2]|0)>>>0){f[n>>2]=a;f[m>>2]=n+4}else dh(l+(k*144|0)+132|0,e)}k=k+1|0}while(k>>>0<(((f[h>>2]|0)-(f[i>>2]|0)|0)/144|0)>>>0)}}else o=11;if((o|0)==11?(o=0,k=f[h>>2]|0,l=f[i>>2]|0,(k|0)!=(l|0)):0){n=l;l=k;k=0;while(1){m=n;f[e>>2]=a;p=m+(k*144|0)+136|0;q=f[p>>2]|0;if(q>>>0<(f[m+(k*144|0)+140>>2]|0)>>>0){f[q>>2]=a;f[p>>2]=q+4;r=n;s=l}else{dh(m+(k*144|0)+132|0,e);r=f[i>>2]|0;s=f[h>>2]|0}k=k+1|0;if(k>>>0>=((s-r|0)/144|0)>>>0)break;else{n=r;l=s}}}l=g+1|0;if((l|0)==3)break;a=f[d+(l<<2)>>2]|0;g=l}u=c;return 1}function Yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+32|0;e=d+12|0;g=d;h=wj(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)Eo(e);else{n=Yk(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Dh(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;f[c>>2]=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2];s=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=s;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=f[c>>2];f[o+(q*12|0)+8>>2]=s;q=q+1|0}while(q>>>0>>0)}while(0);Wh(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);lp(a)}u=d;return}function Zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Yk(32)|0;ql(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;lp(d)}lp(g);h=f[e>>2]|0}Oi(a,h,0,0,0,0);j=a}else j=a;if(!(vh(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))Te(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;lp(c)}lp(h);return}h=Yk(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)Eo(c);l=Yk(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){Ff(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;lp(h)}lp(a);return}function _d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;fi(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(k|0)!=(j|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else ag(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(Bb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=i;i=0;while(1){f[d>>2]=f[a+(i<<2)>>2];f[c>>2]=f[d>>2];i=i+1|0;if(!(Bb(e,c)|0)){n=0;o=15;break}g=f[l>>2]|0;a=f[g>>2]|0;if(i>>>0>=(f[g+4>>2]|0)-a>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function $d(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(p|0)!=(o|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else Og(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(rb(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(rb(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=w;o=0;while(1){f[k+(t<<2)>>2]=f[i+(o<<2)>>2];o=o+1|0;if((o|0)==(l|0))break;else t=t+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=l+w|0}if((v|0)==18){u=e;return s|0}return 0}function ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ze(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+36|0,c)|0)){r=0;return r|0}if(!(ze(a+56|0,c)|0)){r=0;return r|0}if(ze(a+76|0,c)|0)return eb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ze(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+36|0,c)|0)){r=0;return r|0}if(!(ze(a+56|0,c)|0)){r=0;return r|0}if(ze(a+76|0,c)|0)return db(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ud(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+32|0,c)|0)){r=0;return r|0}if(!(ze(a+52|0,c)|0)){r=0;return r|0}if(ze(a+72|0,c)|0)return jb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function de(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Ul(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=I;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=Ul(p|0,q|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=Ul(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=I;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(ud(a+16|0,c)|0)){r=0;return r|0}if(!(ze(a+32|0,c)|0)){r=0;return r|0}if(!(ze(a+52|0,c)|0)){r=0;return r|0}if(ze(a+72|0,c)|0)return ib(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{ag(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{ag(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Ic(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=id(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<4194304){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=4194304){r=t;break}else q=t}}else r=n;while(0);q=r&1048575;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>20)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Jc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=jd(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<2097152){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=2097152){r=t;break}else q=t}}else r=n;while(0);q=r&524287;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>19)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Kc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=kd(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<1048576){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=1048576){r=t;break}else q=t}}else r=n;while(0);q=r&262143;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>18)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Lc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=ld(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<262144){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=262144){r=t;break}else q=t}}else r=n;while(0);q=r&65535;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>16)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Mc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=md(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<131072){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=131072){r=t;break}else q=t}}else r=n;while(0);q=r&32767;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>15)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Nc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=nd(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<32768){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=32768){r=t;break}else q=t}}else r=n;while(0);q=r&8191;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>13)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Oc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=od(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<16384){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=n;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);lp(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a);u=d;return j|0}function ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;lp(a)}if((b[s+11>>0]|0)<0)lp(f[s>>2]|0);lp(d);return c|0}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=Ka,k=0,l=0,m=0,o=0,p=0,q=Ka,r=Ka,s=0,t=Ka,v=Ka,w=0,x=0,y=0,z=0;g=u;u=u+32|0;h=g+16|0;i=g;j=$(n[d+4>>2]);k=(1<>2])+-1|0;Gn(h);Sk(h,j,k)|0;d=f[a>>2]|0;if((d|0)==(f[c>>2]|0)){u=g;return}a=h+4|0;l=i+4|0;m=i+8|0;o=e+16|0;p=e+28|0;e=d;do{d=(f[e>>2]|0)-k|0;j=$(n[a>>2]);q=$(n[h>>2]);if((d|0)>-1)r=$(q*$(j*$(d|0)));else{s=Wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;r=$(-$(q*$(j*$(+(s>>>0)+4294967296.0*+(I|0)))))}s=(f[e+4>>2]|0)-k|0;if((s|0)>-1)t=$(q*$(j*$(s|0)));else{d=Wl(0,0,s|0,((s|0)<0)<<31>>31|0)|0;t=$(-$(q*$(j*$(+(d>>>0)+4294967296.0*+(I|0)))))}d=(f[e+8>>2]|0)-k|0;if((d|0)>-1)v=$(q*$(j*$(d|0)));else{s=Wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;v=$(-$(q*$(j*$(+(s>>>0)+4294967296.0*+(I|0)))))}n[i>>2]=r;n[l>>2]=t;n[m>>2]=v;s=f[o>>2]|0;d=f[s>>2]|0;w=f[p>>2]|0;if(!(b[d+84>>0]|0))x=f[(f[d+68>>2]|0)+(w<<2)>>2]|0;else x=w;w=i+(f[s+4>>2]<<2)|0;s=d+40|0;y=f[s>>2]|0;z=fl(y|0,f[s+4>>2]|0,x|0,0)|0;Ff((f[f[d+64>>2]>>2]|0)+z|0,w|0,y|0)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+12|0}while((e|0)!=(f[c>>2]|0));u=g;return}function pe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+640|0;c=f[b>>2]|0;if(c|0){d=a+644|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+628|0;b=f[g>>2]|0;if(b|0){j=a+632|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+616>>2]|0;if(l|0){g=a+620|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+604>>2]|0;if(!l){n=a+584|0;lj(n);o=a+564|0;lj(o);p=a+544|0;lj(p);q=a+528|0;qp(q);r=a+16|0;Ch(r);return}m=a+608|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+584|0;lj(n);o=a+564|0;lj(o);p=a+544|0;lj(p);q=a+528|0;qp(q);r=a+16|0;Ch(r);return}function qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));ac(a,h,i);if(f[a>>2]|0){n=h+24|0;qp(n);u=g;return}o=a+4|0;p=o+11|0;if((b[p>>0]|0)<0)lp(f[o>>2]|0);if(b[i+7>>0]|0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;q=Yk(32)|0;f[j>>2]=q;f[j+8>>2]=-2147483616;f[j+4>>2]=27;k=q;l=11743;m=k+27|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+27>>0]=0;f[a>>2]=-1;zh(o,j);if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);n=h+24|0;qp(n);u=g;return}Df(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){q=j+16|0;l=f[q>>2]|0;f[q>>2]=0;tc(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[p>>0]|0)<0)lp(f[o>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ra[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;zh(o,j+4|0)}o=j+16|0;i=f[o>>2]|0;f[o>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0);n=h+24|0;qp(n);u=g;return}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));ac(a,h,i);if(f[a>>2]|0){n=h+24|0;qp(n);u=g;return}o=a+4|0;p=o+11|0;if((b[p>>0]|0)<0)lp(f[o>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;q=Yk(32)|0;f[j>>2]=q;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=q;l=11722;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+20>>0]=0;f[a>>2]=-1;zh(o,j);if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);n=h+24|0;qp(n);u=g;return}og(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){q=j+16|0;l=f[q>>2]|0;f[q>>2]=0;kk(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[p>>0]|0)<0)lp(f[o>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ra[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;zh(o,j+4|0)}o=j+16|0;i=f[o>>2]|0;f[o>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0);n=h+24|0;qp(n);u=g;return}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;lg(a+16|0);Ym(a+528|0);tm(a+544|0);tm(a+564|0);tm(a+584|0);e=a+604|0;f[e>>2]=0;g=a+608|0;f[g>>2]=0;f[a+612>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Eo(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+612>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+616|0;f[g>>2]=0;e=a+620|0;f[e>>2]=0;f[a+624>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+624>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}ui(a+628|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}ui(a+640|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)Eo(d);else{i=b*12|0;j=Yk(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Dh(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(yh(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(i<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+k|0;f[e>>2]=q;p=f[n+(i+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(i+2<<2)>>2]|0;n=q>>>1;k=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=k;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))Lg(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else i=i+3|0}}else m=0;i=f[d>>2]|0;if(!i){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(i|0))f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);lp(i);u=c;return m|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;tm(a+16|0);tm(a+36|0);tm(a+56|0);tm(a+76|0);e=a+96|0;f[e>>2]=0;g=a+100|0;f[g>>2]=0;f[a+104>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Eo(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+104>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+108|0;f[g>>2]=0;e=a+112|0;f[e>>2]=0;f[a+116>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+116>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}ui(a+120|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}ui(a+132|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;i=d+8|0;j=f[i>>2]|0;k=f[i+4>>2]|0;i=d+16|0;l=i;m=f[l>>2]|0;n=f[l+4>>2]|0;if((k|0)>(n|0)|(k|0)==(n|0)&j>>>0>m>>>0){l=b[(f[d>>2]|0)+m>>0]|0;o=Ul(m|0,n|0,1,0)|0;p=I;q=i;f[q>>2]=o;f[q+4>>2]=p;if(l<<24>>24!=-2){r=p;s=o;t=l;v=3}}else{r=n;s=m;t=0;v=3}if((v|0)==3){if((k|0)>(r|0)|(k|0)==(r|0)&j>>>0>s>>>0){j=b[(f[d>>2]|0)+s>>0]|0;k=Ul(s|0,r|0,1,0)|0;r=i;f[r>>2]=k;f[r+4>>2]=I;w=j}else w=0;Ua[f[(f[a>>2]|0)+40>>2]&7](g,a,t<<24>>24,w<<24>>24);w=a+20|0;t=f[g>>2]|0;f[g>>2]=0;j=f[w>>2]|0;f[w>>2]=t;if(j){Ra[f[(f[j>>2]|0)+4>>2]&127](j);j=f[g>>2]|0;f[g>>2]=0;if(j|0)Ra[f[(f[j>>2]|0)+4>>2]&127](j)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Na[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){x=0;u=e;return x|0}if(!(Oa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){x=0;u=e;return x|0}d=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;c=f[a+4>>2]|0;if((c|0?((h[c+36>>0]|0)<<8&65535)<512:0)?!(Na[f[(f[a>>2]|0)+48>>2]&127](a,d)|0):0){x=0;u=e;return x|0}x=1;u=e;return x|0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;Ym(a+16|0);tm(a+32|0);tm(a+52|0);tm(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Eo(e);else{i=b<<2;j=Yk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Yk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}ui(a+116|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);lp(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Yk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}ui(a+128|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g);u=c;return}function xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+132|0;c=f[b>>2]|0;if(c|0){d=a+136|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+120|0;b=f[g>>2]|0;if(b|0){j=a+124|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+108>>2]|0;if(l|0){g=a+112|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+96>>2]|0;if(!l){n=a+76|0;lj(n);o=a+56|0;lj(o);p=a+36|0;lj(p);q=a+16|0;lj(q);return}m=a+100|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+76|0;lj(n);o=a+56|0;lj(o);p=a+36|0;lj(p);q=a+16|0;lj(q);return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{ag(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=0;while(1){h=d*3|0;i=f[o+(h<<2)>>2]|0;if((i|0)==-1){q=0;r=11;break}g=f[(f[m>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=p>>>0){q=0;r=11;break}i=f[a>>2]|0;f[i+(f[c+(d*12|0)>>2]<<2)>>2]=k;k=f[o+(h+1<<2)>>2]|0;if((k|0)==-1){q=0;r=11;break}l=f[g+(k<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+4>>2]<<2)>>2]=l;l=f[o+(h+2<<2)>>2]|0;if((l|0)==-1){q=0;r=11;break}h=f[g+(l<<2)>>2]|0;if(h>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+8>>2]<<2)>>2]=h;d=d+1|0;if(d>>>0>=e>>>0){q=1;r=11;break}}if((r|0)==11)return q|0;return 0}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;g=c;i=e+(~((e+-4-g|0)>>>2)<<2)|0;if((e|0)==(c|0)){j=e;k=c}else{f[d>>2]=i;j=i;k=i}i=a+16|0;f[i>>2]=0;e=a+12|0;f[e>>2]=k;k=b+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=b+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;return r|0}s=(f[b>>2]|0)+p|0;p=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;s=l;f[s>>2]=q;f[s+4>>2]=o;if(!((p|0)!=0&(p&3|0)==0)){r=0;return r|0}s=Wl(m|0,n|0,q|0,o|0)|0;t=I;if(0>(t|0)|0==(t|0)&p>>>0>s>>>0){r=0;return r|0}s=p>>>2;t=j-g>>2;if(s>>>0<=t>>>0)if(s>>>0>>0?(g=c+(s<<2)|0,(j|0)!=(g|0)):0){f[d>>2]=j+(~((j+-4-g|0)>>>2)<<2);u=q;v=o;w=n;x=m}else{u=q;v=o;w=n;x=m}else{Og(a,s-t|0);t=k;k=l;u=f[k>>2]|0;v=f[k+4>>2]|0;w=f[t+4>>2]|0;x=f[t>>2]|0}t=Ul(u|0,v|0,p|0,0)|0;v=I;if((w|0)<(v|0)|(w|0)==(v|0)&x>>>0>>0){r=0;return r|0}Ff(f[a>>2]|0,(f[b>>2]|0)+u|0,p|0)|0;u=l;b=Ul(f[u>>2]|0,f[u+4>>2]|0,p|0,0)|0;p=l;f[p>>2]=b;f[p+4>>2]=I;f[e>>2]=f[a>>2];f[i>>2]=0;r=1;return r|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)Eo(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{k=Yk(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1228;f[k+(e*24|0)+4>>2]=f[b+4>>2];pi(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=d;d=k;k=g;do{f[j+-24>>2]=1228;f[j+-20>>2]=f[d+-20>>2];g=j+-16|0;o=d+-16|0;f[g>>2]=0;p=j+-12|0;f[p>>2]=0;f[j+-8>>2]=0;f[g>>2]=f[o>>2];g=d+-12|0;f[p>>2]=f[g>>2];p=d+-8|0;f[j+-8>>2]=f[p>>2];f[p>>2]=0;f[g>>2]=0;f[o>>2]=0;f[j+-4>>2]=f[d+-4>>2];d=d+-24|0;j=k+-24|0;k=j}while((d|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Ra[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;lp(m);return}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3148;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Eo(i);else{o=((n+-1|0)>>>5)+1|0;p=Yk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];He(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Eo(i);k=((l+-1|0)>>>5)+1|0;l=Yk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];He(i,e,d);u=c;return}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3196;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Eo(i);else{o=((n+-1|0)>>>5)+1|0;p=Yk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];He(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Eo(i);k=((l+-1|0)>>>5)+1|0;l=Yk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];He(i,e,d);u=c;return}function De(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+128|0;c=f[b>>2]|0;if(c|0){d=a+132|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=a+116|0;b=f[g>>2]|0;if(b|0){j=a+120|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}lp(l)}l=f[a+104>>2]|0;if(l|0){g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);lp(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;lj(n);o=a+52|0;lj(o);p=a+32|0;lj(p);q=a+16|0;qp(q);return}m=a+96|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);lp(l);n=a+72|0;lj(n);o=a+52|0;lj(o);p=a+32|0;lj(p);q=a+16|0;qp(q);return}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ka,v=Ka,w=0,x=0,y=Ka,z=0,A=Ka;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=ip(j>>>0>1073741823?-1:j<<2)|0;Gn(e);if(!(Sk(e,$(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;jp(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){Ff((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}jp(l);u=d;return m|0}while(1){a=f[p>>2]|0;t=$(n[g>>2]);v=$(n[e>>2]);i=0;w=s;while(1){x=f[o+(w<<2)>>2]|0;if((x|0)>-1)y=$($($(x|0)*t)*v);else{z=Wl(0,0,x|0,((x|0)<0)<<31>>31|0)|0;y=$(-$(v*$(t*$(+(z>>>0)+4294967296.0*+(I|0)))))}A=$(y+$(n[a+(i<<2)>>2]));n[l+(i<<2)>>2]=A;i=i+1|0;if((i|0)==(j|0))break;else w=w+1|0}Ff((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+r|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+k|0;s=j+s|0}}jp(l);u=d;return m|0}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Dh(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)Eo(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{n=Yk(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Dh(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=d;d=h;h=j;do{j=i+-12|0;b=d;d=d+-12|0;f[j>>2]=0;n=i+-8|0;f[n>>2]=0;f[i+-4>>2]=0;f[j>>2]=f[d>>2];j=b+-8|0;f[n>>2]=f[j>>2];n=b+-4|0;f[i+-4>>2]=f[n>>2];f[n>>2]=0;f[j>>2]=0;f[d>>2]=0;i=h+-12|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);lp(m)}}while((c|0)!=(g|0))}if(!p)return;lp(p);return}function Ge(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=ip(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)jp(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}Ff(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Ul(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Ul(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Ul(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Ul(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((o|0)!=(a|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];ed(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=b;t=n;v=j;w=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=l+(e>>>5<<2)|0;s=b;t=b;v=j-p|0;w=e&31}e=(v|0)/32|0;ok(r|0,s|0,e<<2|0)|0;s=v-(e<<5)|0;v=r+(e<<2)|0;r=v;if((s|0)>0){p=-1>>>(32-s|0);f[v>>2]=f[v>>2]&~p|f[t+(e<<2)>>2]&p;x=r;y=s}else{x=r;y=w}}else{x=m;y=o}f[k>>2]=x;f[k+4>>2]=y;u=d;return}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;if(g-i>>2>>>0>=b>>>0){Dh(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}j=f[a>>2]|0;k=i-j>>2;i=k+b|0;if(i>>>0>1073741823)Eo(a);l=g-j|0;j=l>>1;g=l>>2>>>0<536870911?(j>>>0>>0?i:j):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(g)if(g>>>0>1073741823){j=ra(8)|0;cn(j,13392);f[j>>2]=4748;va(j|0,1128,101)}else{m=Yk(g<<2)|0;break}else m=0;while(0);f[d>>2]=m;j=m+(k<<2)|0;k=d+8|0;i=d+4|0;f[i>>2]=j;l=d+12|0;f[l>>2]=m+(g<<2);Dh(j|0,0,b<<2|0)|0;f[k>>2]=j+(b<<2);b=f[a>>2]|0;j=f[h>>2]|0;if((j|0)==(b|0)){n=i;o=f[i>>2]|0;p=b;q=j}else{g=f[i>>2]|0;m=j;do{m=m+-4|0;j=f[m>>2]|0;f[m>>2]=0;f[g+-4>>2]=j;g=(f[i>>2]|0)+-4|0;f[i>>2]=g}while((m|0)!=(b|0));n=i;o=g;p=f[a>>2]|0;q=f[h>>2]|0}f[a>>2]=o;f[n>>2]=p;f[h>>2]=f[k>>2];f[k>>2]=q;q=f[e>>2]|0;f[e>>2]=f[l>>2];f[l>>2]=q;f[d>>2]=f[n>>2];ug(d);u=c;return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)ok(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);lp(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Eo(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Eo(a);h=Yk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+(p<<2);return}function Ke(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Ul(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}r=o+i|0;i=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=d;f[r>>2]=m;f[r+4>>2]=p;if((q|0)>(i|0)){n=0;return n|0}f[a+12>>2]=q;f[a+16>>2]=i;r=Wl(i|0,((i|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=I;if(!(q>>>0<0|(q|0)==0&r>>>0<2147483647)){n=0;return n|0}q=r+1|0;f[a+20>>2]=q;r=(q|0)/2|0;i=a+24|0;f[i>>2]=r;f[a+28>>2]=0-r;if(!(q&1))f[i>>2]=r+-1;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}r=b[o+m>>0]|0;i=Ul(k|0,l|0,9,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=I;if((r&255)<2){f[a+88>>2]=r&255;break}else{n=0;return n|0}}while(0);n=ud(a+108|0,c)|0;return n|0}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){f[j>>2]=f[c>>2];o=o+-1|0;if(!o)break;else j=j+4|0}}if(!l){j=h+(b<<2)|0;if((n|0)==(j|0))return;else{p=i;q=n+(~((n+-4-j|0)>>>2)<<2)|0;break}}else{j=b-k|0;o=n;m=j;while(1){f[o>>2]=f[c>>2];m=m+-1|0;if(!m)break;else o=o+4|0}p=i;q=n+(j<<2)|0;break}}else{o=g;if(!g)r=e;else{m=a+4|0;k=f[m>>2]|0;if((k|0)!=(h|0))f[m>>2]=k+(~((k+-4-g|0)>>>2)<<2);lp(o);f[d>>2]=0;f[m>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)Eo(a);m=r>>1;o=r>>2>>>0<536870911?(m>>>0>>0?b:m):1073741823;if(o>>>0>1073741823)Eo(a);m=Yk(o<<2)|0;k=a+4|0;f[k>>2]=m;f[a>>2]=m;f[d>>2]=m+(o<<2);o=m;l=b;while(1){f[o>>2]=f[c>>2];l=l+-1|0;if(!l)break;else o=o+4|0}p=k;q=m+(b<<2)|0}while(0);f[p>>2]=q;return}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)ok(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=n;o=p;while(1){d[q>>1]=d[o>>1]|0;o=o+2|0;if((o|0)==(c|0))break;else q=q+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);lp(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)Eo(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)Eo(a);t=Yk(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=t;i=b;while(1){d[e>>1]=d[i>>1]|0;i=i+2|0;if((i|0)==(c|0))break;else e=e+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)ok(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);lp(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Eo(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Eo(a);h=Yk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function Oe(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;kc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;jc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)lp(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)lp(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(l|0)!=(o|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Og(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(Sb(a,d)|0)){s=0;u=c;return s|0}zb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{lp(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)Eo(c);else{j=((k+-1|0)>>>5)+1|0;l=Yk(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);ok(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{lp(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)Eo(h);else{n=((p+-1|0)>>>5)+1|0;c=Yk(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);ok(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function Re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Qi(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=d;d=0;do{k=j+(d<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Qi(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;d=d+1|0;j=f[i>>2]|0}while(d>>>0<(f[c>>2]|0)-j>>2>>>0)}j=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Qi(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;fi(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Gb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Gb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);lp(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)Eo(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)Eo(a);j=Yk(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;Ff(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;Ff(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((c|0)==(p|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function Ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;p=(j[c+38>>1]|0)<514;do if(p){r=Ul(k|0,l|0,8,0)|0;s=I;if((g|0)<(s|0)|(g|0)==(s|0)&e>>>0>>0){n=0;return n|0}else{t=d;f[t>>2]=r;f[t+4>>2]=s;u=s;v=r;break}}else{u=m;v=i}while(0);if(!(q&1)){n=0;return n|0}i=(_(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;do if(p){if(!((g|0)>(u|0)|(g|0)==(u|0)&e>>>0>v>>>0)){n=0;return n|0}i=b[o+v>>0]|0;q=Ul(v|0,u|0,1,0)|0;m=d;f[m>>2]=q;f[m+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=ud(a+88|0,c)|0;return n|0}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;fi(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Jb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Jb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(Hc(e,a,d)|0){d=f[g>>2]|0;Ne(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+56>>2]|0;if(d|0)lp(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}Vg(e);lp(e);u=c;return l|0}function Xe(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Ka,f=Ka,g=Ka,h=Ka,i=Ka,j=Ka,k=Ka,l=Ka,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Ka,u=Ka,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=g;j=$(g-h);k=$(h+g);l=h;m=-1.0}else{i=b;j=f;k=e;l=c;m=1.0}c=$(+i*2.0+-1.0);i=$(+l*2.0+-1.0);o=+k*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=t;w=d+8|0;n[w>>2]=u;return}else{l=$($(1.0)/$(L($(k))));k=$(j*l);n[d>>2]=k;t=$(c*l);u=$(i*l);v=d+4|0;n[v>>2]=t;w=d+8|0;n[w>>2]=u;return}}function Ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=d;j=a;while(1){if((b[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=d;r=a;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=c&255;if((b[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=X(e,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){a=f[g>>2]^q;if((a&-2139062144^-2139062144)&a+-16843009|0)break;a=g+4|0;d=s+-4|0;if(d>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((b[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=i;r=n}else{ok(p|0,d|0,o|0)|0;q=f[h>>2]|0;r=p}f[c>>2]=r;f[h>>2]=q+(m<<2);s=r;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;cn(m,13392);f[m>>2]=4748;va(m|0,1128,101)}m=Yk(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=d;u=n}else{l=o;m=d;v=n;do{f[l>>2]=f[m>>2];l=v+4|0;v=l;m=m+4|0}while((m|0)!=(i|0));t=f[a>>2]|0;u=v}f[a>>2]=p;f[c>>2]=n;f[h>>2]=u;f[j>>2]=k;if(!t)s=o;else{lp(t);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function _e(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=g;g=a+4|0;while(1){a=d+16|0;i=b[a+11>>0]|0;k=i<<24>>24<0;l=k?f[d+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=dj(e,k?f[a>>2]|0:a,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[d>>2]|0;if(!n){o=9;break}else{p=n;q=d}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=dj(k?f[a>>2]|0:a,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=d+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=i;q=r}}d=p;g=q}if((o|0)==9){f[c>>2]=d;h=d;return h|0}else if((o|0)==15){f[c>>2]=d;h=r;return h|0}else if((o|0)==16){f[c>>2]=d;h=g;return h|0}return 0}function $e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;hd(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=l;p=c;q=h;r=j;s=0}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=l;p=l;q=h-n|0;r=j+(g>>>5<<2)|0;s=g&31}g=(q|0)/32|0;ok(r|0,o|0,g<<2|0)|0;o=q-(g<<5)|0;q=r+(g<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);f[q>>2]=f[q>>2]&~j|f[p+(g<<2)>>2]&j;t=r;v=o}else{t=r;v=s}}else{t=k;v=m}f[i>>2]=t;f[i+4>>2]=v;u=d;return}function af(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=Yk(384)|0;$h(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ra[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}case 1:{c=Yk(424)|0;mh(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);m=11}break}case 2:{d=Yk(440)|0;Sg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ra[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}default:m=11}if((m|0)==11){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Na[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Rh(c)|0;if(i>>>0>4294967279)Eo(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=Yk(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){Ff(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=Rh(d)|0;if(i>>>0>4294967279)Eo(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=Yk(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){Ff(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Vd(i,g,h)|0,(o|0)!=0):0)q=cj(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)lp(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}lp(f[g>>2]|0);u=e;return q|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;i=d;do if((d|0)==(g|0)){j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=l;if(k>>>0>l>>>0){n=k;o=((n-m>>2)+1|0)/-2|0;p=k+(o<<2)|0;q=i-n|0;n=q>>2;if(!n)r=k;else{ok(p|0,k|0,q|0)|0;r=f[j>>2]|0}q=p+(n<<2)|0;f[c>>2]=q;f[j>>2]=r+(o<<2);s=q;break}q=h-m>>1;m=(q|0)==0?1:q;if(m>>>0>1073741823){q=ra(8)|0;cn(q,13392);f[q>>2]=4748;va(q|0,1128,101)}q=Yk(m<<2)|0;o=q;n=q+(m>>>2<<2)|0;p=n;t=q+(m<<2)|0;if((k|0)==(d|0)){u=l;v=p}else{l=n;n=k;k=p;do{f[l>>2]=f[n>>2];l=k+4|0;k=l;n=n+4|0}while((n|0)!=(d|0));u=f[a>>2]|0;v=k}f[a>>2]=o;f[j>>2]=p;f[c>>2]=v;f[e>>2]=t;if(!u)s=v;else{lp(u);s=f[c>>2]|0}}else s=d;while(0);f[s>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;lp(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Eo(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Eo(a);i=Yk(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}else{o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;n=a-e|0;if(n|0)ok(k|0,c|0,n|0)|0;c=k+n|0;if(!j){if((f[o>>2]|0)==(c|0))return;f[o>>2]=c;return}if((a|0)==(d|0))return;a=f[o>>2]|0;c=g;do{b[a>>0]=b[c>>0]|0;c=c+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((c|0)!=(d|0));return}}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Dh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)Eo(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{n=Yk(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Dh(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=d;d=h;h=b;do{d=d+-4|0;b=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=b;i=h+-4|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Ra[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;lp(p);return}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Eo(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;cn(e,13392);f[e>>2]=4748;va(e|0,1128,101)}else{l=Yk(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;zh(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=e;e=l;l=g;do{g=j+-12|0;e=e+-12|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=l+-12|0;l=j}while((e|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)lp(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;lp(n);return}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)ok(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;Ff(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);lp(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)Eo(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)Eo(a);j=Yk(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;Ff(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Ul(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Ul(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}i=d;f[i>>2]=m;f[i+4>>2]=p;if(!(q&1)){n=0;return n|0}i=(_(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}i=b[o+m>>0]|0;q=Ul(k|0,l|0,9,0)|0;r=d;f[r>>2]=q;f[r+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=ud(a+88|0,c)|0;return n|0}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=Yk(64)|0;g=Yk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=3416;f[g+8>>2]=h;f[d>>2]=g;yj(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){ef(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(m|0)!=(n|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Ra[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Ra[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Ra[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Ra[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=0;i=-1;j=b}else{h=0;i=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;j=b}}else{h=1;i=-1;j=-1}if((g|0)!=(i|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(h){l=-1;m=-1;n=j;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(h){l=-1;m=e;n=j;break}else o=e}e=j+1|0;b=((e>>>0)%3|0|0)==0?j+-2|0:e;if((b|0)==-1){l=-1;m=o;n=j}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=j}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function lf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(wc(e,c)|0){g=0;return g|0}a=Yb(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Bg(c+8|0);lp(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)lp(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)lp(a);lp(d);g=1;return g|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))$f(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){dh(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;lp(b)}lp(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);lp(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;lp(e)}lp(h)}lp(c);u=d;return}function nf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3608;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}sg(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){jh(i);lp(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g)}jh(a);lp(a);return}function of(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=lm(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=f[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=(q<<31>>31)+n|0;t=g-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;g=lm(Aa(146,e|0)|0)|0;if((o|0)==(g|0)){v=3;break a}else{m=r;n=s}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((n|0)==2)w=0;else w=c-(f[m+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|0}function qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=dj(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=dj(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function rf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);lp(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}lp(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);lp(g)}g=a+136|0;j=f[g>>2]|0;f[g>>2]=0;if(!j){l=a+120|0;qp(l);m=a+80|0;qp(m);n=a+64|0;qp(n);o=a+24|0;qp(o);return}g=j+-4|0;b=f[g>>2]|0;if(b|0){h=j+(b<<4)|0;do{h=h+-16|0;qp(h)}while((h|0)!=(j|0))}jp(g);l=a+120|0;qp(l);m=a+80|0;qp(m);n=a+64|0;qp(n);o=a+24|0;qp(o);return}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=h;j=b;do{f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];i=(f[g>>2]|0)+12|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/12|0;h=i+b|0;if(h>>>0>357913941)Eo(a);k=(e-j|0)/12|0;j=k<<1;e=k>>>0<178956970?(j>>>0>>0?h:j):357913941;do if(e)if(e>>>0>357913941){j=ra(8)|0;cn(j,13392);f[j>>2]=4748;va(j|0,1128,101)}else{l=Yk(e*12|0)|0;break}else l=0;while(0);j=l+(i*12|0)|0;i=l+(e*12|0)|0;e=j;l=b;b=j;do{f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];e=b+12|0;b=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;c=j+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ff(c|0,l|0,e|0)|0;f[a>>2]=c;f[g>>2]=b;f[d>>2]=i;if(!l)return;lp(l);return}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Qe(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{Te(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Te(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Te(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];gf(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Eo(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{k=Yk(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){jh(n);lp(n)}}while((h|0)!=(g|0))}if(!m)return;lp(m);return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Oj(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(Zj(5)|0,d)|0;Vh(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=Yk(96)|0;zj(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);Lh(j,c)|0;f[h>>2]=j;sh(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;lp(h)}lp(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);lp(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;lp(j)}lp(c)}lp(a);u=e;return}function wf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function xf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=ip(k)|0;Dh(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;Ac(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){jp(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;Ac(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));jp(l);u=g;return 1}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;mf(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);lp(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;lp(c)}lp(h)}lp(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){gg(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((b|0)==(e|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function zf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+172|0;d=f[c>>2]|0;do if((d|0)==-1){e=f[a+144>>2]|0;g=Ma[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(((h[g+36>>0]<<8|h[g+37>>0])&65535)<514)if(b[a+76>>0]|0){g=a+72|0;e=f[g>>2]|0;i=f[a+64>>2]|0;j=f[a+68>>2]|0;k=i+(e>>>3)|0;if(k>>>0>>0?(l=h[k>>0]|0,k=e+1|0,f[g>>2]=k,(l&1<<(e&7)|0)!=0):0){l=i+(k>>>3)|0;if(l>>>0>>0){m=(h[l>>0]|0)>>>(k&7)&1;l=e+2|0;f[g>>2]=l;n=l;o=m}else{n=k;o=0}k=i+(n>>>3)|0;if(k>>>0>>0){j=(h[k>>0]|0)>>>(n&7);f[g>>2]=n+1;p=j<<1&2}else p=0;q=(p|o)<<1|1}else q=0}else q=1;else q=7}else{j=(f[a+196>>2]|0)+(d<<2)|0;g=f[j>>2]|0;k=g+-1|0;f[j>>2]=k;if((g|0)<1){r=9;return r|0}else{q=f[3328+(f[(f[(f[a+184>>2]|0)+((f[c>>2]|0)*12|0)>>2]|0)+(k<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=q;r=q;return r|0}function Af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0;do if(c){if((j[a+38>>1]|0)>=514){if(nh(d,a)|0)break;else e=0;return e|0}g=a+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=a+16|0;l=g;m=f[l>>2]|0;n=Ul(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){e=0;return e|0}else{n=(f[a>>2]|0)+m|0;m=n;i=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=n+4|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;l=m;b[l>>0]=i;b[l+1>>0]=i>>8;b[l+2>>0]=i>>16;b[l+3>>0]=i>>24;i=m+4|0;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;n=g;i=Ul(f[n>>2]|0,f[n+4>>2]|0,8,0)|0;n=g;f[n>>2]=i;f[n+4>>2]=I;break}}while(0);b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;n=(f[a>>2]|0)+c|0;i=a+8|0;g=Wl(f[i>>2]|0,f[i+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=n;f[a+28>>2]=n+g;e=1;return e|0}function Bf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=ip(k)|0;Dh(l|0,0,k|0)|0;k=a+8|0;a=f[l>>2]|0;m=f[l+4>>2]|0;n=f[b+4>>2]|0;f[h>>2]=f[b>>2];f[h+4>>2]=n;f[j>>2]=a;f[j+4>>2]=m;td(i,k,j,h);f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];if((e|0)>=(d|0)){jp(l);u=g;return 1}m=0-e|0;a=h+4|0;n=j+4|0;o=i+4|0;p=e;do{q=c+(p<<2)|0;r=q+(m<<2)|0;s=b+(p<<2)|0;t=f[r>>2]|0;v=f[r+4>>2]|0;r=f[s+4>>2]|0;f[h>>2]=f[s>>2];f[a>>2]=r;f[j>>2]=t;f[n>>2]=v;td(i,k,j,h);f[q>>2]=f[i>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));jp(l);u=g;return 1}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;Ph(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){Ph(g,f[a>>2]|0)|0;k=Yk(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(Cc(a,k)|0))break;f[h>>2]=k;vi(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){jh(l);lp(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}jh(k);lp(k);m=0}while(0);if((j|0)==8)m=Cc(a,c)|0;i=m;u=d;return i|0}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Yk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));nk(c);f[c>>2]=3528;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Yk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));nk(c);f[c>>2]=3484;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;j=11693;i=h+28|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;zh(c,g);f[a>>2]=f[e>>2];zh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=d;return}}}function Ef(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;do if(!(Hn(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Hn(a,f[c>>2]|0,g)|0)){i=f[h>>2]|0;Va[f[(f[i>>2]|0)+24>>2]&3](i,c,d,e,g);break}i=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(j=c+20|0,(f[j>>2]|0)!=(d|0)):0){f[i>>2]=e;k=c+44|0;if((f[k>>2]|0)==4)break;l=c+52|0;b[l>>0]=0;m=c+53|0;b[m>>0]=0;n=f[h>>2]|0;Wa[f[(f[n>>2]|0)+20>>2]&3](n,c,d,d,1,g);if(b[m>>0]|0)if(!(b[l>>0]|0)){o=3;p=11}else q=3;else{o=4;p=11}if((p|0)==11){f[j>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;q=o}else q=o}f[k>>2]=q;break}if((e|0)==1)f[i>>2]=1}else Pk(0,c,d,e);while(0);return}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(k>>>0<=o>>>0)if(k>>>0>>0?(m=p+(k<<2)|0,(n|0)!=(m|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Og(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=4;o=0;k=j;while(1){f[g+(o<<2)>>2]=k;q=q+4|0;o=o+1|0;d=r+q|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((o|0)>=(i|0)){s=c;break}else k=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function Hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)Eo(a);n=j<<6;j=c+31&-32;Jg(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)lp(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Dh(h|0,0,n|0)|0;d=c-(a<<5)|0;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Dh(h|0,-1,n|0)|0;n=c-(a<<5)|0;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=xc(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=Yk(40)|0;zh(c+16|0,d);zh(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}wd(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Ul(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Ul(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Wl(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)Eo(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=ra(8)|0;cn(l,13392);f[l>>2]=4748;va(l|0,1128,101)}else{n=Yk(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=l;l=j;while(1){j=l;l=l+-12|0;f[g+-12>>2]=f[l>>2];f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];j=g+-12|0;if((l|0)==(i|0)){o=j;break}else g=j}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;lp(e);return}function Lf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Yk(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;Ff(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Rg(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;Ff(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>4294967279)Eo(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=a;m=0;n=j;o=13}else{Tm(a,j,(e&255)+1|0)|0;lp(j);o=15}}else{j=Yk(k+1|0)|0;if(g){l=j;m=1;n=f[a>>2]|0;o=13;break}else{Tm(j,a,(e&255)+1|0)|0;p=j;o=14;break}}while(0);if((o|0)==13){Tm(l,n,(f[a+4>>2]|0)+1|0)|0;lp(n);if(m){p=l;o=14}else o=15}if((o|0)==14){f[a+8>>2]=k+1|-2147483648;f[a+4>>2]=h;f[a>>2]=p;break}else if((o|0)==15){b[d>>0]=h;break}}while(0);return}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){lp(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=g;m=j;while(1){j=m+8|0;if((l|0)==(f[i>>2]|0))ff(a,j);else{zh(l,j);f[h>>2]=(f[h>>2]|0)+12}j=f[m>>2]|0;if(!j)break a;l=f[h>>2]|0;m=j}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Ta[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;lp(d)}lp(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);lp(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;lp(a)}lp(e)}lp(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=g;i=b;do{j=h;f[j>>2]=0;f[j+4>>2]=0;h=(f[e>>2]|0)+8|0;f[e>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;h=g-i>>3;g=h+b|0;if(g>>>0>536870911)Eo(a);j=d-i|0;i=j>>2;d=j>>3>>>0<268435455?(i>>>0>>0?g:i):536870911;do if(d)if(d>>>0>536870911){i=ra(8)|0;cn(i,13392);f[i>>2]=4748;va(i|0,1128,101)}else{k=Yk(d<<3)|0;break}else k=0;while(0);i=k+(h<<3)|0;h=k+(d<<3)|0;d=i;k=b;b=i;do{g=d;f[g>>2]=0;f[g+4>>2]=0;d=b+8|0;b=d;k=k+-1|0}while((k|0)!=0);k=f[a>>2]|0;d=(f[e>>2]|0)-k|0;g=i+(0-(d>>3)<<3)|0;if((d|0)>0)Ff(g|0,k|0,d|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=h;if(!k)return;lp(k);return}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==1048576;return k|0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;if(!(Kd(a,b)|0)){e=0;u=c;return e|0}g=b+8|0;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Ul(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){e=0;u=c;return e|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){e=0;u=c;return e|0}k=f[a+152>>2]|0;if((l|0)>=(k|0)){e=0;u=c;return e|0}l=a+156|0;f[d>>2]=0;i=a+160|0;m=f[i>>2]|0;g=f[l>>2]|0;j=m-g>>2;n=g;g=m;if(k>>>0<=j>>>0){if(k>>>0>>0?(m=n+(k<<2)|0,(g|0)!=(m|0)):0)f[i>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else ag(l,k-j|0,d);e=ud(a+168|0,b)|0;u=c;return e|0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==524288;return k|0}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==262144;return k|0}function Uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)lp(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)lp(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;Hf(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;Hf(a+12|0,k,e);Le(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,3596);fi(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);fi(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==65536;return k|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==32768;return k|0} +function tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(m|0)!=(l|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Og(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{ag(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else ag(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else ag(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else ag(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Yk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)Eo(h);else{l=e<<2;r=Yk(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Dh(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+64|0;x=j+28|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;if(l-p>>2>>>0>1){E=p;F=1}else{G=q;Eo(G)}while(1){H=f[E+(F<<2)>>2]|0;I=(((H>>>0)%3|0|0)==0?2:-1)+H|0;J=I>>>5;K=1<<(I&31);L=(H|0)==-1|(I|0)==-1;M=H;N=1;O=0;b:while(1){P=N^1;Q=M;R=O;while(1){if((Q|0)==-1){S=R;v=58;break b}T=f[d+(R*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0?(U=f[(f[(f[o>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0,(U|0)!=-1):0)?(V=f[x>>2]|0,W=f[t>>2]|0,Y=f[W+(f[V+(U<<2)>>2]<<2)>>2]|0,Z=U+1|0,_=f[W+(f[V+((((Z>>>0)%3|0|0)==0?U+-2|0:Z)<<2)>>2]<<2)>>2]|0,Z=f[W+(f[V+((((U>>>0)%3|0|0)==0?2:-1)+U<<2)>>2]<<2)>>2]|0,(Y|0)<(F|0)&(_|0)<(F|0)&(Z|0)<(F|0)):0){U=X(Y,e)|0;Y=X(_,e)|0;_=X(Z,e)|0;if(y){Z=0;do{f[T+(Z<<2)>>2]=(f[c+(Z+_<<2)>>2]|0)+(f[c+(Z+Y<<2)>>2]|0)-(f[c+(Z+U<<2)>>2]|0);Z=Z+1|0}while((Z|0)!=(e|0))}Z=R+1|0;if((Z|0)==4){$=4;v=38;break b}else aa=Z}else aa=R;do if(N){Z=Q+1|0;U=((Z>>>0)%3|0|0)==0?Q+-2|0:Z;if(((U|0)!=-1?(f[(f[j>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)==0:0)?(Z=f[(f[(f[o>>2]|0)+12>>2]|0)+(U<<2)>>2]|0,U=Z+1|0,(Z|0)!=-1):0)ba=((U>>>0)%3|0|0)==0?Z+-2|0:U;else ba=-1}else{U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if(((U|0)!=-1?(f[(f[j>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)==0:0)?(Z=f[(f[(f[o>>2]|0)+12>>2]|0)+(U<<2)>>2]|0,(Z|0)!=-1):0)if(!((Z>>>0)%3|0)){ba=Z+2|0;break}else{ba=Z+-1|0;break}else ba=-1}while(0);if((ba|0)==(H|0)){S=aa;v=58;break b}if((ba|0)!=-1|P){Q=ba;R=aa}else break}if(L){M=-1;N=0;O=aa;continue}if(f[(f[j>>2]|0)+(J<<2)>>2]&K|0){M=-1;N=0;O=aa;continue}R=f[(f[(f[o>>2]|0)+12>>2]|0)+(I<<2)>>2]|0;if((R|0)==-1){M=-1;N=0;O=aa;continue}if(!((R>>>0)%3|0)){M=R+2|0;N=0;O=aa;continue}else{M=R+-1|0;N=0;O=aa;continue}}if((v|0)==58){v=0;if((S|0)>0){$=S;v=38}else{ca=X(F,e)|0;v=72}}if((v|0)==38){v=0;if(y){Dh(f[h>>2]|0,0,D|0)|0;O=$+-1|0;N=s+(O<<2)|0;M=a+60+(O*12|0)+4|0;I=a+60+(O*12|0)|0;O=f[h>>2]|0;K=0;J=0;while(1){L=f[N>>2]|0;f[N>>2]=L+1;if((f[M>>2]|0)>>>0<=L>>>0){da=O;ea=0;break a}if(!(f[(f[I>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31))){L=f[d+(K*12|0)>>2]|0;H=0;do{R=O+(H<<2)|0;f[R>>2]=(f[R>>2]|0)+(f[L+(H<<2)>>2]|0);H=H+1|0}while((H|0)!=(e|0));fa=J+1|0}else fa=J;K=K+1|0;if((K|0)>=($|0)){ga=fa;break}else J=fa}}else{J=$+-1|0;K=s+(J<<2)|0;O=a+60+(J*12|0)|0;I=f[h>>2]|0;M=f[a+60+(J*12|0)+4>>2]|0;J=f[K>>2]|0;N=0;H=0;while(1){L=J;J=J+1|0;f[K>>2]=J;if(M>>>0<=L>>>0){da=I;ea=0;break a}R=H+((f[(f[O>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31)|0)==0&1)|0;N=N+1|0;if((N|0)>=($|0)){ga=R;break}else H=R}}H=X(F,e)|0;if(ga){N=f[h>>2]|0;if(y){O=0;do{I=N+(O<<2)|0;f[I>>2]=(f[I>>2]|0)/(ga|0)|0;O=O+1|0}while((O|0)!=(e|0))}O=b+(H<<2)|0;I=c+(H<<2)|0;if((f[i>>2]|0)>0){M=0;do{J=f[N+(M<<2)>>2]|0;K=f[z>>2]|0;if((J|0)>(K|0)){R=f[A>>2]|0;f[R+(M<<2)>>2]=K;ha=R}else{R=f[B>>2]|0;K=f[A>>2]|0;f[K+(M<<2)>>2]=(J|0)<(R|0)?R:J;ha=K}M=M+1|0;ia=f[i>>2]|0}while((M|0)<(ia|0));if((ia|0)>0){M=0;do{N=(f[O+(M<<2)>>2]|0)+(f[ha+(M<<2)>>2]|0)|0;K=I+(M<<2)|0;f[K>>2]=N;do if((N|0)>(f[z>>2]|0)){ja=N-(f[C>>2]|0)|0;v=94}else{if((N|0)>=(f[B>>2]|0))break;ja=(f[C>>2]|0)+N|0;v=94}while(0);if((v|0)==94){v=0;f[K>>2]=ja}M=M+1|0}while((M|0)<(f[i>>2]|0))}}}else{ca=H;v=72}}if((v|0)==72?(v=0,M=c+((X(F+-1|0,e)|0)<<2)|0,I=b+(ca<<2)|0,O=c+(ca<<2)|0,(f[i>>2]|0)>0):0){N=0;do{J=f[M+(N<<2)>>2]|0;R=f[z>>2]|0;if((J|0)>(R|0)){L=f[A>>2]|0;f[L+(N<<2)>>2]=R;ka=L}else{L=f[B>>2]|0;R=f[A>>2]|0;f[R+(N<<2)>>2]=(J|0)<(L|0)?L:J;ka=R}N=N+1|0;la=f[i>>2]|0}while((N|0)<(la|0));if((la|0)>0){N=0;do{M=(f[I+(N<<2)>>2]|0)+(f[ka+(N<<2)>>2]|0)|0;H=O+(N<<2)|0;f[H>>2]=M;if((M|0)<=(f[z>>2]|0)){if((M|0)<(f[B>>2]|0)){ma=(f[C>>2]|0)+M|0;v=82}}else{ma=M-(f[C>>2]|0)|0;v=82}if((v|0)==82){v=0;f[H>>2]=ma}N=N+1|0}while((N|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=99;break}N=f[r>>2]|0;E=f[N>>2]|0;if((f[N+4>>2]|0)-E>>2>>>0<=F>>>0){G=N;v=28;break}}if((v|0)==28)Eo(G);else if((v|0)==99){da=f[h>>2]|0;ea=1;break}}else{da=w;ea=1}while(0);if(da|0){w=f[n>>2]|0;if((w|0)!=(da|0))f[n>>2]=w+(~((w+-4-da|0)>>>2)<<2);lp(da)}lp(s);s=f[d+36>>2]|0;if(s|0){da=d+40|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;da=f[w>>2]|0;if((da|0)!=(s|0))f[w>>2]=da+(~((da+-4-s|0)>>>2)<<2);lp(s)}s=f[d+12>>2]|0;if(s|0){da=d+16|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);lp(s);u=g;return ea|0}function ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(m|0)!=(l|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Og(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{ag(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else ag(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else ag(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else ag(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Yk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)Eo(h);else{l=e<<2;r=Yk(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Dh(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+12|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;if(l-p>>2>>>0>1){D=p;E=1}else{F=q;Eo(F)}while(1){G=f[D+(E<<2)>>2]|0;H=(((G>>>0)%3|0|0)==0?2:-1)+G|0;I=(G|0)==-1|(H|0)==-1;J=G;K=1;L=0;b:while(1){M=K^1;N=J;O=L;while(1){if((N|0)==-1){P=O;v=58;break b}Q=f[d+(O*12|0)>>2]|0;R=f[o>>2]|0;S=f[R+(N<<2)>>2]|0;if((S|0)!=-1){T=f[j>>2]|0;U=f[t>>2]|0;V=f[U+(f[T+(S<<2)>>2]<<2)>>2]|0;W=S+1|0;Y=((W>>>0)%3|0|0)==0?S+-2|0:W;if((Y|0)==-1)Z=-1;else Z=f[T+(Y<<2)>>2]|0;Y=f[U+(Z<<2)>>2]|0;W=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((W|0)==-1)_=-1;else _=f[T+(W<<2)>>2]|0;W=f[U+(_<<2)>>2]|0;if((V|0)<(E|0)&(Y|0)<(E|0)&(W|0)<(E|0)){U=X(V,e)|0;V=X(Y,e)|0;Y=X(W,e)|0;if(x){W=0;do{f[Q+(W<<2)>>2]=(f[c+(W+Y<<2)>>2]|0)+(f[c+(W+V<<2)>>2]|0)-(f[c+(W+U<<2)>>2]|0);W=W+1|0}while((W|0)!=(e|0))}W=O+1|0;if((W|0)==4){$=4;v=41;break b}else aa=W}else aa=O}else aa=O;do if(K){W=N+1|0;U=((W>>>0)%3|0|0)==0?N+-2|0:W;if((U|0)!=-1?(W=f[R+(U<<2)>>2]|0,U=W+1|0,(W|0)!=-1):0)ba=((U>>>0)%3|0|0)==0?W+-2|0:U;else ba=-1}else{U=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((U|0)!=-1?(W=f[R+(U<<2)>>2]|0,(W|0)!=-1):0)if(!((W>>>0)%3|0)){ba=W+2|0;break}else{ba=W+-1|0;break}else ba=-1}while(0);if((ba|0)==(G|0)){P=aa;v=58;break b}if((ba|0)!=-1|M){N=ba;O=aa}else break}if(I){J=-1;K=0;L=aa;continue}O=f[R+(H<<2)>>2]|0;if((O|0)==-1){J=-1;K=0;L=aa;continue}if(!((O>>>0)%3|0)){J=O+2|0;K=0;L=aa;continue}else{J=O+-1|0;K=0;L=aa;continue}}if((v|0)==58){v=0;if((P|0)>0){$=P;v=41}else{ca=X(E,e)|0;v=72}}if((v|0)==41){v=0;if(x){Dh(f[h>>2]|0,0,C|0)|0;L=$+-1|0;K=s+(L<<2)|0;J=a+60+(L*12|0)+4|0;H=a+60+(L*12|0)|0;L=f[h>>2]|0;I=0;G=0;while(1){O=f[K>>2]|0;f[K>>2]=O+1;if((f[J>>2]|0)>>>0<=O>>>0){da=L;ea=0;break a}if(!(f[(f[H>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31))){O=f[d+(I*12|0)>>2]|0;N=0;do{M=L+(N<<2)|0;f[M>>2]=(f[M>>2]|0)+(f[O+(N<<2)>>2]|0);N=N+1|0}while((N|0)!=(e|0));fa=G+1|0}else fa=G;I=I+1|0;if((I|0)>=($|0)){ga=fa;break}else G=fa}}else{G=$+-1|0;I=s+(G<<2)|0;L=a+60+(G*12|0)|0;H=f[h>>2]|0;J=f[a+60+(G*12|0)+4>>2]|0;G=f[I>>2]|0;K=0;N=0;while(1){O=G;G=G+1|0;f[I>>2]=G;if(J>>>0<=O>>>0){da=H;ea=0;break a}M=N+((f[(f[L>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31)|0)==0&1)|0;K=K+1|0;if((K|0)>=($|0)){ga=M;break}else N=M}}N=X(E,e)|0;if(ga){K=f[h>>2]|0;if(x){L=0;do{H=K+(L<<2)|0;f[H>>2]=(f[H>>2]|0)/(ga|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(N<<2)|0;H=c+(N<<2)|0;if((f[i>>2]|0)>0){J=0;do{G=f[K+(J<<2)>>2]|0;I=f[y>>2]|0;if((G|0)>(I|0)){M=f[z>>2]|0;f[M+(J<<2)>>2]=I;ha=M}else{M=f[A>>2]|0;I=f[z>>2]|0;f[I+(J<<2)>>2]=(G|0)<(M|0)?M:G;ha=I}J=J+1|0;ia=f[i>>2]|0}while((J|0)<(ia|0));if((ia|0)>0){J=0;do{K=(f[L+(J<<2)>>2]|0)+(f[ha+(J<<2)>>2]|0)|0;I=H+(J<<2)|0;f[I>>2]=K;do if((K|0)>(f[y>>2]|0)){ja=K-(f[B>>2]|0)|0;v=94}else{if((K|0)>=(f[A>>2]|0))break;ja=(f[B>>2]|0)+K|0;v=94}while(0);if((v|0)==94){v=0;f[I>>2]=ja}J=J+1|0}while((J|0)<(f[i>>2]|0))}}}else{ca=N;v=72}}if((v|0)==72?(v=0,J=c+((X(E+-1|0,e)|0)<<2)|0,H=b+(ca<<2)|0,L=c+(ca<<2)|0,(f[i>>2]|0)>0):0){K=0;do{G=f[J+(K<<2)>>2]|0;M=f[y>>2]|0;if((G|0)>(M|0)){O=f[z>>2]|0;f[O+(K<<2)>>2]=M;ka=O}else{O=f[A>>2]|0;M=f[z>>2]|0;f[M+(K<<2)>>2]=(G|0)<(O|0)?O:G;ka=M}K=K+1|0;la=f[i>>2]|0}while((K|0)<(la|0));if((la|0)>0){K=0;do{J=(f[H+(K<<2)>>2]|0)+(f[ka+(K<<2)>>2]|0)|0;N=L+(K<<2)|0;f[N>>2]=J;if((J|0)<=(f[y>>2]|0)){if((J|0)<(f[A>>2]|0)){ma=(f[B>>2]|0)+J|0;v=82}}else{ma=J-(f[B>>2]|0)|0;v=82}if((v|0)==82){v=0;f[N>>2]=ma}K=K+1|0}while((K|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(m|0)){v=99;break}K=f[r>>2]|0;D=f[K>>2]|0;if((f[K+4>>2]|0)-D>>2>>>0<=E>>>0){F=K;v=28;break}}if((v|0)==28)Eo(F);else if((v|0)==99){da=f[h>>2]|0;ea=1;break}}else{da=w;ea=1}while(0);if(da|0){w=f[n>>2]|0;if((w|0)!=(da|0))f[n>>2]=w+(~((w+-4-da|0)>>>2)<<2);lp(da)}lp(s);s=f[d+36>>2]|0;if(s|0){da=d+40|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;da=f[w>>2]|0;if((da|0)!=(s|0))f[w>>2]=da+(~((da+-4-s|0)>>>2)<<2);lp(s)}s=f[d+12>>2]|0;if(s|0){da=d+16|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);lp(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);lp(s);u=g;return ea|0}function vb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Dm(c)|0;if((I|0)<0){q=1;r=13941;s=-c}else{q=(g&2049|0)!=0&1;r=(g&2048|0)==0?((g&1|0)==0?13942:13947):13944;s=c}Dm(s)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+So(s,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?r:r+9|0;z=q|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((b[y>>0]|0)==45){D=-(C+(-c-C));break}else{D=c+C-C;break}}else D=c;while(0);A=f[l>>2]|0;B=(A|0)<0?0-A|0:A;E=bi(B,((B|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){B=o+11|0;b[B>>0]=48;F=B}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;B=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[13976+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(B&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;B=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+B|0;Yi(a,32,d,x,g);qn(a,y,z);Yi(a,48,d,x,g^65536);qn(a,m,G);Yi(a,48,B-G|0,0,0);qn(a,A,E);Yi(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=E;O=c*268435456.0}else{N=f[l>>2]|0;O=c}E=(N|0)<0?k:k+288|0;H=O;G=E;do{B=~~H>>>0;f[G>>2]=B;G=G+4|0;H=(H-+(B>>>0))*1.0e9}while(H!=0.0);if((N|0)>0){v=N;A=E;z=G;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=Rl(f[J>>2]|0,0,y|0)|0;P=Ul(B|0,I|0,K|0,0)|0;B=I;Q=Wk(P|0,B|0,1e9,0)|0;f[J>>2]=Q;K=Nn(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;f[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(f[B>>2]|0))J=B;else break}K=(f[l>>2]|0)-y|0;f[l>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{S=K;T=R;U=J;break}}}else{S=N;T=E;U=G}if((S|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;K=T;B=U;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0>>0){P=(1<>>Q;W=0;Y=K;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0>>0);Y=(f[K>>2]|0)==0?K+4|0:K;if(!W){_=Y;$=B}else{f[B>>2]=W;_=Y;$=B+4|0}}else{_=(f[K>>2]|0)==0?K+4|0:K;$=B}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(f[l>>2]|0)+Q|0;f[l>>2]=v;if((v|0)>=0){aa=_;ba=V;break}else{K=_;B=V}}}else{aa=T;ba=U}B=E;if(aa>>>0>>0){K=(B-aa>>2)*9|0;v=f[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=10;V=G;while(1){G=A*10|0;V=V+1|0;if((V|0)==9){da=G;break}else A=G}}else da=10;A=f[v>>2]|0;V=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(V|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(da|0)/2|0;H=V>>>0>>0?.5:w&(V|0)==(G|0)?1.0:1.5;if(!q){ea=C;fa=H}else{G=(b[r>>0]|0)==45;ea=G?-C:C;fa=G?-H:H}G=A-V|0;f[v>>2]=G;if(ea+fa!=ea){V=G+da|0;f[v>>2]=V;if(V>>>0>999999999){V=aa;G=v;while(1){A=G+-4|0;f[G>>2]=0;if(A>>>0>>0){w=V+-4|0;f[w>>2]=0;ga=w}else ga=V;w=(f[A>>2]|0)+1|0;f[A>>2]=w;if(w>>>0>999999999){V=ga;G=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}G=(B-ha>>2)*9|0;V=f[ha>>2]|0;if(V>>>0<10){ja=ha;ka=ia;la=G}else{A=G;G=10;while(1){G=G*10|0;w=A+1|0;if(V>>>0>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}G=A+-4|0;if(!(f[G>>2]|0))A=G;else{pa=1;break}}v=0-na|0;do if(z){G=((K^1)&1)+x|0;if((G|0)>(na|0)&(na|0)>-5){qa=G+-1-na|0;ra=i+-1|0}else{qa=G+-1|0;ra=i+-2|0}G=g&8;if(!G){if(pa?(V=f[A+-4>>2]|0,(V|0)!=0):0)if(!((V>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((V>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;V=(w|0)>0?w:0;ta=0;ua=(qa|0)<(V|0)?qa:V;va=ra;break}else{V=Y+na-sa|0;Y=(V|0)>0?V:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=G;ua=qa;va=ra}}else{ta=g&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=bi(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-Y|0)<2){V=Y;while(1){w=V+-1|0;b[w>>0]=48;if((z-w|0)<2)V=w;else{ya=w;break}}}else ya=Y;b[ya+-1>>0]=(na>>31&2)+43;V=ya+-2|0;b[V>>0]=va;wa=V;xa=z-V|0}V=q+1+ua+B+xa|0;Yi(a,32,d,V,g);qn(a,r,q);Yi(a,48,d,V,g^65536);if(K){v=ma>>>0>E>>>0?E:ma;w=m+9|0;Q=w;W=m+8|0;P=v;do{J=bi(f[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){b[W>>0]=48;za=W}else za=J;else if(J>>>0>m>>>0){Dh(m|0,48,J-n|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=J;qn(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)qn(a,13992,1);if(P>>>0>>0&(ua|0)>0){E=P;Q=ua;while(1){W=bi(f[E>>2]|0,0,w)|0;if(W>>>0>m>>>0){Dh(m|0,48,W-n|0)|0;v=W;while(1){K=v+-1|0;if(K>>>0>m>>>0)v=K;else{Aa=K;break}}}else Aa=W;qn(a,Aa,(Q|0)<9?Q:9);E=E+4|0;v=Q+-9|0;if(!(E>>>0>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;Yi(a,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){E=m+9|0;w=(ta|0)==0;P=E;x=0-n|0;v=m+8|0;J=ma;K=ua;while(1){B=bi(f[J>>2]|0,0,E)|0;if((B|0)==(E|0)){b[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;qn(a,Ca,1);if(w&(K|0)<1){Da=B;break}qn(a,13992,1);Da=B}else{if(Ca>>>0<=m>>>0){Da=Ca;break}Dh(m|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>m>>>0)B=z;else{Da=z;break}}}while(0);W=P-Da|0;qn(a,Da,(K|0)>(W|0)?W:K);B=K-W|0;J=J+4|0;if(!(J>>>0>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;Yi(a,48,Ea+18|0,18,0);qn(a,wa,p-wa|0)}Yi(a,32,d,V,g^8192);M=V}else{K=(i&32|0)!=0;Q=q+3|0;Yi(a,32,d,Q,g&-65537);qn(a,r,q);qn(a,s!=s|0.0!=0.0?(K?13968:13972):K?13960:13964,3);Yi(a,32,d,Q,g^8192);M=Q}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(o|0)!=(j|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else sf(l,m-p|0,d);p=a+216|0;m=a+220|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=j;j=n;n=l;v=l;l=o;o=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;w=o*3|0;if((w|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(w<<2)>>2]|0;f[e>>2]=x;y=w+1|0;if((y|0)==-1){f[q>>2]=-1;z=x;A=0;B=92}else{C=x;D=y;B=91}}else{f[e>>2]=-1;C=-1;D=0;B=91}if((B|0)==91){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(D<<2)>>2];y=w+2|0;if((y|0)==-1){E=C;F=-1}else{z=C;A=y;B=92}}if((B|0)==92){B=0;E=z;F=f[(f[f[k>>2]>>2]|0)+(A<<2)>>2]|0}f[s>>2]=F;y=t+96|0;w=t+100|0;x=(l-j|0)/12|0;G=j;H=o;o=o+1|0;if(H>>>0>>0){I=n;J=t;K=v;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(o>>>0<=x>>>0)if(o>>>0>>0?(P=G+(o*12|0)|0,(O|0)!=(P|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[w>>2]=Q;R=G;S=v;T=t;U=Q;V=j}else{R=G;S=v;T=t;U=l;V=j}else{sf(y,o-x|0,d);x=f[i>>2]|0;G=f[x+44>>2]|0;R=f[y>>2]|0;S=x;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=E;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(o>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{t=J;j=M;n=I;v=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;W=1;u=c;return W|0}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)Eo(g);else{v=Yk(N)|0;f[g>>2]=v;I=v+(l<<2)|0;f[g+8>>2]=I;Dh(v|0,0,N|0)|0;f[K>>2]=I;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;l=e+8|0;I=r;v=0;while(1){n=f[(f[I+24>>2]|0)+(v<<2)>>2]|0;b:do if((n|0)!=-1){c:do if((f[(f[N>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0?(M=f[m>>2]|0,j=f[p>>2]|0,J=j,(M|0)!=(j|0)):0){t=(((n>>>0)%3|0|0)==0?2:-1)+n|0;o=(M-j|0)/144|0;if((t|0)==-1){j=0;while(1){M=f[(f[f[J+(j*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(M&31)&f[(f[J+(j*144|0)+16>>2]|0)+(M>>>5<<2)>>2]|0){X=0;break a}j=j+1|0;if(j>>>0>=o>>>0){Y=n;break c}}}j=I+12|0;M=0;while(1){s=f[(f[f[J+(M*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(s&31)&f[(f[J+(M*144|0)+16>>2]|0)+(s>>>5<<2)>>2]|0){s=f[J+(M*144|0)+32>>2]|0;L=f[s+(n<<2)>>2]|0;q=f[j>>2]|0;E=f[q+(t<<2)>>2]|0;do if((E|0)!=-1)if(!((E>>>0)%3|0)){Z=E+2|0;break}else{Z=E+-1|0;break}else Z=-1;while(0);if((Z|0)!=(n|0)){E=Z;while(1){if((E|0)==-1){X=0;break a}if((f[s+(E<<2)>>2]|0)!=(L|0)){Y=E;break c}U=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((U|0)!=-1){V=f[q+(U<<2)>>2]|0;if((V|0)==-1){_=-1;break}if(!((V>>>0)%3|0)){_=V+2|0;break}else{_=V+-1|0;break}}else _=-1;while(0);if((_|0)==(n|0))break;else E=_}}}M=M+1|0;if(M>>>0>=o>>>0){Y=n;break}}}else Y=n;while(0);o=f[b>>2]|0;f[(f[g>>2]|0)+(Y<<2)>>2]=o-(f[e>>2]|0)>>2;f[d>>2]=Y;M=o;if(M>>>0<(f[l>>2]|0)>>>0){f[M>>2]=Y;f[b>>2]=M+4;$=I}else{dh(e,d);$=f[k>>2]|0}if((((Y|0)!=-1?(M=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0,(M|0)!=-1):0)?(o=f[(f[$+12>>2]|0)+(M<<2)>>2]|0,(o|0)!=-1):0)?(M=o+(((o>>>0)%3|0|0)==0?2:-1)|0,(M|0)!=-1&(M|0)!=(Y|0)):0){o=$;t=M;M=Y;while(1){j=f[m>>2]|0;J=f[p>>2]|0;E=J;d:do if((j|0)==(J|0))B=66;else{q=(j-J|0)/144|0;L=0;while(1){s=f[E+(L*144|0)+32>>2]|0;L=L+1|0;if((f[s+(t<<2)>>2]|0)!=(f[s+(M<<2)>>2]|0))break;if(L>>>0>=q>>>0){B=66;break d}}q=f[b>>2]|0;f[(f[g>>2]|0)+(t<<2)>>2]=q-(f[e>>2]|0)>>2;f[d>>2]=t;L=q;if(L>>>0<(f[l>>2]|0)>>>0){f[L>>2]=t;f[b>>2]=L+4;aa=o}else{dh(e,d);aa=f[k>>2]|0}ba=aa}while(0);if((B|0)==66){B=0;E=f[g>>2]|0;f[E+(t<<2)>>2]=f[E+(M<<2)>>2];ba=o}if((t|0)==-1){ca=ba;break b}E=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((E|0)==-1){ca=ba;break b}J=f[(f[ba+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1){ca=ba;break b}E=J+(((J>>>0)%3|0|0)==0?2:-1)|0;if((E|0)!=-1&(E|0)!=(Y|0)){J=t;o=ba;t=E;M=J}else{ca=ba;break}}}else ca=$}else ca=I;while(0);v=v+1|0;if((v|0)>=((f[ca+28>>2]|0)-(f[ca+24>>2]|0)>>2|0)){B=27;break}else I=ca}}else B=27;while(0);if((B|0)==27){B=f[i>>2]|0;ca=f[B+44>>2]|0;$=f[ca+100>>2]|0;ba=f[ca+96>>2]|0;if(($|0)==(ba|0))da=B;else{Y=h+4|0;aa=h+8|0;k=B;p=B;B=ca;ca=ba;ba=$;$=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;m=(f[g>>2]|0)+($*3<<2)|0;f[h>>2]=f[m>>2];f[h+4>>2]=f[m+4>>2];f[h+8>>2]=f[m+8>>2];m=B+96|0;_=B+100|0;Z=(ba-ca|0)/12|0;r=ca;a=$;$=$+1|0;if(a>>>0>>0){ea=r;fa=ca;ga=ba;ha=k;ia=B;ja=p}else{I=ba;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if($>>>0<=Z>>>0)if($>>>0>>0?(v=r+($*12|0)|0,(I|0)!=(v|0)):0){l=I+(~(((I+-12-v|0)>>>0)/12|0)*12|0)|0;f[_>>2]=l;ka=r;la=p;ma=B;na=l;oa=ca}else{ka=r;la=p;ma=B;na=ba;oa=ca}else{sf(m,$-Z|0,d);Z=f[i>>2]|0;r=f[Z+44>>2]|0;ka=f[m>>2]|0;la=Z;ma=r;na=f[r+100>>2]|0;oa=f[r+96>>2]|0}ea=ka;fa=oa;ga=na;ha=la;ia=ma;ja=la}f[ea+(a*12|0)>>2]=f[h>>2];f[ea+(a*12|0)+4>>2]=f[Y>>2];f[ea+(a*12|0)+8>>2]=f[aa>>2];if($>>>0>=((ga-fa|0)/12|0)>>>0){da=ha;break}else{k=ha;p=ja;B=ia;ca=fa;ba=ga}}}f[(f[da+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[e>>2]|0)>>2;X=1}da=f[g>>2]|0;if(da|0){g=f[K>>2]|0;if((g|0)!=(da|0))f[K>>2]=g+(~((g+-4-da|0)>>>2)<<2);lp(da)}da=f[e>>2]|0;if(da|0){e=f[b>>2]|0;if((e|0)!=(da|0))f[b>>2]=e+(~((e+-4-da|0)>>>2)<<2);lp(da)}W=X;u=c;return W|0}function xb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=c;c=0;v=0;w=0;a:while(1){do if((c|0)>-1)if((v|0)>(2147483647-c|0)){x=_o()|0;f[x>>2]=75;y=-1;break}else{y=v+c|0;break}else y=c;while(0);x=b[t>>0]|0;if(!(x<<24>>24)){z=87;break}else{A=x;B=t}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}x=B+1|0;f[j>>2]=x;A=b[x>>0]|0;B=x}c:do if((z|0)==9)while(1){z=0;if((b[C+1>>0]|0)!=37){E=C;F=D;break c}x=D+1|0;G=C+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=G;D=x;z=9}else{E=G;F=x;break}}while(0);x=F-t|0;if(o)qn(a,t,x);if(x|0){t=E;c=y;v=x;continue}x=E+1|0;G=(b[x>>0]|0)+-48|0;if(G>>>0<10){H=(b[E+2>>0]|0)==36;J=H?G:-1;K=H?1:w;L=H?E+3|0:x}else{J=-1;K=w;L=x}f[j>>2]=L;x=b[L>>0]|0;H=(x<<24>>24)+-32|0;d:do if(H>>>0<32){G=x;M=0;N=L;O=H;while(1){P=1<>2]=P;U=b[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{G=U;M=T;N=P}}}else{Q=x;R=L;S=0}while(0);if(Q<<24>>24==42){x=R+1|0;H=(b[x>>0]|0)+-48|0;if(H>>>0<10?(b[R+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=1;W=R+3|0;X=f[g+((b[x>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);N=f[H>>2]|0;f[e>>2]=H+4;V=0;W=x;X=N}else{V=0;W=x;X=0}}f[j>>2]=W;x=(X|0)<0;Z=W;_=x?S|8192:S;$=V;aa=x?0-X|0:X}else{x=Nj(j)|0;if((x|0)<0){Y=-1;break}Z=f[j>>2]|0;_=S;$=K;aa=x}do if((b[Z>>0]|0)==46){if((b[Z+1>>0]|0)!=42){f[j>>2]=Z+1;x=Nj(j)|0;ba=f[j>>2]|0;ca=x;break}x=Z+2|0;N=(b[x>>0]|0)+-48|0;if(N>>>0<10?(b[Z+3>>0]|0)==36:0){f[h+(N<<2)>>2]=10;N=f[g+((b[x>>0]|0)+-48<<3)>>2]|0;H=Z+4|0;f[j>>2]=H;ba=H;ca=N;break}if($|0){Y=-1;break a}if(o){N=(f[e>>2]|0)+(4-1)&~(4-1);H=f[N>>2]|0;f[e>>2]=N+4;da=H}else da=0;f[j>>2]=x;ba=x;ca=da}else{ba=Z;ca=-1}while(0);x=ba;H=0;while(1){if(((b[x>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=x+1|0;f[j>>2]=ea;fa=b[(b[x>>0]|0)+-65+(13460+(H*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){x=ea;H=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;G=f[M+4>>2]|0;O=k;f[O>>2]=f[M>>2];f[O+4>>2]=G;z=49;break}if(!o){Y=0;break a}Td(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=ea;c=y;v=0;w=$;continue}N=b[x>>0]|0;G=(H|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(G|0){case 110:{switch((H&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=ea;c=y;v=0;w=$;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=ea;c=y;v=0;w=$;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}default:{t=ea;c=y;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=G;z=61;break}case 111:{M=k;P=f[M>>2]|0;T=f[M+4>>2]|0;M=Tj(P,T,q)|0;U=r-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=13924;z=67;break}case 105:case 100:{U=k;M=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=Wl(0,0,M|0,T|0)|0;P=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=P;sa=U;ta=P;ua=1;va=13924;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?13924:13926):13925;z=66;break e}break}case 117:{T=k;sa=f[T>>2]|0;ta=f[T+4>>2]|0;ua=0;va=13924;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=N;ya=1;za=0;Aa=13924;Ba=q;break}case 109:{T=_o()|0;Ca=wn(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:13934;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=m;Ea=-1;z=75;break}case 83:{T=f[k>>2]|0;if(!ca){Yi(a,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=ea;c=y;v=vb(a,+p[k>>3],aa,ca,O,G)|0;w=$;continue a;break}default:{wa=t;xa=O;ya=ca;za=0;Aa=13924;Ba=q}}while(0);f:do if((z|0)==61){z=0;G=k;H=f[G>>2]|0;x=f[G+4>>2]|0;G=Aj(H,x,q,ja&32)|0;T=(ha&8|0)==0|(H|0)==0&(x|0)==0;ka=H;la=x;ma=G;na=ha;oa=ia;pa=T?0:2;qa=T?13924:13924+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=bi(sa,ta,q)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=Ye(Ca,0,ca)|0;G=(T|0)==0;wa=Ca;xa=N;ya=G?ca:T-Ca|0;za=0;Aa=13924;Ba=G?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;G=0;x=Da;while(1){H=f[x>>2]|0;if(!H){Ga=T;Ha=G;break}M=en(n,H)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}H=M+T|0;if(Ea>>>0>H>>>0){T=H;G=M;x=x+4|0}else{Ga=H;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}Yi(a,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{x=0;G=Da;while(1){T=f[G>>2]|0;if(!T){Fa=Ga;z=84;break f}M=en(n,T)|0;x=M+x|0;if((x|0)>(Ga|0)){Fa=Ga;z=84;break f}qn(a,n,M);if(x>>>0>=Ga>>>0){Fa=Ga;z=84;break}else G=G+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;G=(oa|0)!=0|N;x=((N^1)&1)+(r-ma)|0;wa=G?ma:q;xa=(oa|0)>-1?na&-65537:na;ya=G?((oa|0)>(x|0)?oa:x):oa;za=pa;Aa=qa;Ba=q}else if((z|0)==84){z=0;Yi(a,32,aa,Fa,O^8192);t=ea;c=y;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}x=Ba-wa|0;G=(ya|0)<(x|0)?x:ya;N=G+za|0;M=(aa|0)<(N|0)?N:aa;Yi(a,32,M,N,xa);qn(a,Aa,za);Yi(a,48,M,N,xa^65536);Yi(a,48,G,x,0);qn(a,wa,x);Yi(a,32,M,N,xa^8192);t=ea;c=y;v=M;w=$}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{$=1;while(1){v=f[h+($<<2)>>2]|0;if(!v){Ia=$;break}Td(g+($<<3)|0,v,e);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function yb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+36|0;k=a+37|0;l=a+32|0;m=f[l>>2]|0;do if((((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)<514){n=m+8|0;o=f[n>>2]|0;p=f[n+4>>2]|0;n=m+16|0;q=n;r=f[q>>2]|0;s=f[q+4>>2]|0;q=Ul(r|0,s|0,4,0)|0;t=I;if((p|0)<(t|0)|(p|0)==(t|0)&o>>>0>>0){v=0;u=c;return v|0}w=(f[m>>2]|0)+r|0;x=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[d>>2]=x;w=n;f[w>>2]=q;f[w+4>>2]=t;t=Ul(r|0,s|0,8,0)|0;s=I;if((p|0)<(s|0)|(p|0)==(s|0)&o>>>0>>0){v=0;u=c;return v|0}else{o=(f[m>>2]|0)+q|0;f[e>>2]=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=n;f[o>>2]=t;f[o+4>>2]=s;y=x;break}}else{if(!(Ph(d,m)|0)){v=0;u=c;return v|0}if(Ph(e,f[l>>2]|0)|0){y=f[d>>2]|0;break}else{v=0;u=c;return v|0}}while(0);if(y>>>0>1431655765){v=0;u=c;return v|0}m=f[e>>2]|0;x=fl(y|0,0,3,0)|0;s=I;if(0>s>>>0|0==(s|0)&m>>>0>x>>>0){v=0;u=c;return v|0}x=f[l>>2]|0;s=x+8|0;o=f[s+4>>2]|0;t=x+16|0;n=t;q=f[n>>2]|0;p=f[n+4>>2]|0;if(!((o|0)>(p|0)|((o|0)==(p|0)?(f[s>>2]|0)>>>0>q>>>0:0))){v=0;u=c;return v|0}s=b[(f[x>>2]|0)+q>>0]|0;o=Ul(q|0,p|0,1,0)|0;n=I;r=t;f[r>>2]=o;f[r+4>>2]=n;a:do if(!(s<<24>>24)){if(!(te(a,y)|0)){v=0;u=c;return v|0}}else{if(m>>>0<256){if(!y)break;r=a+44|0;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=x+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;b:do if((B|0)>(n|0)|(B|0)==(n|0)&A>>>0>o>>>0){z=x;C=A;D=y;E=o;F=n;G=B;H=0;while(1){J=z+16|0;K=f[z>>2]|0;L=b[K+E>>0]|0;M=Ul(E|0,F|0,1,0)|0;N=I;O=J;f[O>>2]=M;f[O+4>>2]=N;f[g>>2]=L&255;if(!((G|0)>(N|0)|(G|0)==(N|0)&C>>>0>M>>>0))break b;N=b[K+M>>0]|0;M=Ul(E|0,F|0,2,0)|0;L=I;O=J;f[O>>2]=M;f[O+4>>2]=L;f[t>>2]=N&255;if(!((G|0)>(L|0)|(G|0)==(L|0)&C>>>0>M>>>0))break b;L=b[K+M>>0]|0;M=Ul(E|0,F|0,3,0)|0;K=J;f[K>>2]=M;f[K+4>>2]=I;f[w>>2]=L&255;L=f[r>>2]|0;K=L+100|0;M=f[K>>2]|0;if((M|0)==(f[L+104>>2]|0)){Lg(L+96|0,g);P=f[d>>2]|0}else{f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[K>>2]=(f[K>>2]|0)+12;P=D}H=H+1|0;if(H>>>0>=P>>>0)break a;z=f[l>>2]|0;K=z+16|0;E=f[K>>2]|0;F=f[K+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;K=z+8|0;C=f[K>>2]|0;G=f[K+4>>2]|0;if(!((G|0)>(F|0)|(G|0)==(F|0)&C>>>0>E>>>0))break;else D=P}}while(0);v=0;u=c;return v|0}if(m>>>0<65536){if(!y)break;r=a+44|0;w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;B=x+8|0;A=f[B>>2]|0;D=f[B+4>>2]|0;B=Ul(q|0,p|0,3,0)|0;E=I;c:do if(!((D|0)<(E|0)|(D|0)==(E|0)&A>>>0>>0)){C=x;F=o;G=B;z=E;H=n;K=D;M=A;L=y;J=0;while(1){N=C+16|0;O=f[C>>2]|0;Q=O+F|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=N;f[Q>>2]=G;f[Q+4>>2]=z;f[g>>2]=R&65535;R=Ul(F|0,H|0,4,0)|0;Q=I;if((K|0)<(Q|0)|(K|0)==(Q|0)&M>>>0>>0)break c;S=O+G|0;T=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=R;f[S+4>>2]=Q;f[w>>2]=T&65535;T=Ul(F|0,H|0,6,0)|0;Q=I;if((K|0)<(Q|0)|(K|0)==(Q|0)&M>>>0>>0)break c;S=O+R|0;R=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=T;f[S+4>>2]=Q;f[t>>2]=R&65535;R=f[r>>2]|0;Q=R+100|0;S=f[Q>>2]|0;if((S|0)==(f[R+104>>2]|0)){Lg(R+96|0,g);U=f[d>>2]|0}else{f[S>>2]=f[g>>2];f[S+4>>2]=f[g+4>>2];f[S+8>>2]=f[g+8>>2];f[Q>>2]=(f[Q>>2]|0)+12;U=L}J=J+1|0;if(J>>>0>=U>>>0)break a;C=f[l>>2]|0;Q=C+16|0;F=f[Q>>2]|0;H=f[Q+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Q=C+8|0;M=f[Q>>2]|0;K=f[Q+4>>2]|0;G=Ul(F|0,H|0,2,0)|0;z=I;if((K|0)<(z|0)|(K|0)==(z|0)&M>>>0>>0)break;else L=U}}while(0);v=0;u=c;return v|0}r=a+44|0;if((f[(f[r>>2]|0)+80>>2]|0)>>>0<2097152?(((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)>513:0){if(!y)break;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(Ph(i,x)|0){A=0;do{f[g>>2]=f[i>>2];if(!(Ph(i,f[l>>2]|0)|0))break d;f[t>>2]=f[i>>2];if(!(Ph(i,f[l>>2]|0)|0))break d;f[w>>2]=f[i>>2];D=f[r>>2]|0;E=D+100|0;B=f[E>>2]|0;if((B|0)==(f[D+104>>2]|0))Lg(D+96|0,g);else{f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[E>>2]=(f[E>>2]|0)+12}A=A+1|0;if(A>>>0>=(f[d>>2]|0)>>>0)break a;E=f[l>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(Ph(i,E)|0)}while(0);v=0;u=c;return v|0}if(y|0){w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;A=x+8|0;E=f[A>>2]|0;B=f[A+4>>2]|0;A=Ul(q|0,p|0,5,0)|0;D=I;e:do if(!((B|0)<(D|0)|(B|0)==(D|0)&E>>>0>>0)){L=x;G=o;M=A;z=D;K=n;H=B;F=E;C=y;J=0;while(1){Q=L+16|0;S=f[L>>2]|0;R=S+G|0;T=h[R>>0]|h[R+1>>0]<<8|h[R+2>>0]<<16|h[R+3>>0]<<24;R=Q;f[R>>2]=M;f[R+4>>2]=z;f[g>>2]=T;T=Ul(G|0,K|0,8,0)|0;R=I;if((H|0)<(R|0)|(H|0)==(R|0)&F>>>0>>0)break e;N=S+M|0;O=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=T;f[N+4>>2]=R;f[w>>2]=O;O=Ul(G|0,K|0,12,0)|0;R=I;if((H|0)<(R|0)|(H|0)==(R|0)&F>>>0>>0)break e;N=S+T|0;T=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=O;f[N+4>>2]=R;f[t>>2]=T;T=f[r>>2]|0;R=T+100|0;N=f[R>>2]|0;if((N|0)==(f[T+104>>2]|0)){Lg(T+96|0,g);V=f[d>>2]|0}else{f[N>>2]=f[g>>2];f[N+4>>2]=f[g+4>>2];f[N+8>>2]=f[g+8>>2];f[R>>2]=(f[R>>2]|0)+12;V=C}J=J+1|0;if(J>>>0>=V>>>0)break a;L=f[l>>2]|0;R=L+16|0;G=f[R>>2]|0;K=f[R+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;R=L+8|0;F=f[R>>2]|0;H=f[R+4>>2]|0;M=Ul(G|0,K|0,4,0)|0;z=I;if((H|0)<(z|0)|(H|0)==(z|0)&F>>>0>>0)break;else C=V}}while(0);v=0;u=c;return v|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];v=1;u=c;return v|0}function zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(k|0)!=(j|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else ag(h,b-l|0,3564);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)Eo(d);k=((b+-1|0)>>>5)+1|0;m=Yk(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Dh(m|0,0,k<<2|0)|0;n=b-(k<<5)|0;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)Eo(e);v=((o+-1|0)>>>5)+1|0;w=Yk(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Dh(w|0,0,v<<2|0)|0;x=o-(v<<5)|0;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=k;B=q;C=r;D=0;E=b;a:while(1){F=A;G=D*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=C;J=B;F=0;I=E;while(1){M=F+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[H+(N>>>5<<2)>>2]&1<<(N&31))){O=N;P=0;Q=I}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))dh(h,3564);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))dh(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=52;break a}T=R<<6;R=N+32&-32;Jg(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=I;O=I;P=1;Q=I+1|0}N=f[d>>2]|0;T=N+(O>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(O&31);T=N;b:do if(P){R=M;while(1){if((R|0)==-1){S=66;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=66;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==66){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!P){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=T;aa=N;ba=Q}else{$=J;aa=H;ba=I}F=F+1|0;if((F|0)>=3){ca=$;da=aa;ea=ba;break}else{H=aa;J=$;I=ba}}}else{ca=B;da=C;ea=E}}else{ca=B;da=C;ea=E}D=D+1|0;A=f[a>>2]|0;if(D>>>0>=(((f[m>>2]|0)-A>>2>>>0)/3|0)>>>0){S=18;break}else{B=ca;C=da;E=ea}}if((S|0)==18){fa=ca;ga=f[l>>2]|0;break}else if((S|0)==52)Eo(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0){if(!S){l=a;ca=0;ea=ga;while(1){e:do if(ea){da=ca;m=0;while(1){if(!(f[l>>2]&1<>2]=ba;ha=ba}else ha=da;if((m|0)==31){ia=ha;break}else{da=ha;m=m+1|0}}}else{m=ca;da=0;while(1){if(!(f[l>>2]&1<>2]=N;ja=N}else ja=m;if((da|0)==31){ia=ja;break e}da=da+1|0;if(!da)break d;else m=ja}}while(0);l=l+4|0;if((l|0)==(q|0))break d;else{ca=ia;ea=1}}}if(ga){ea=a;ca=0;l=0;while(1){m=l;da=ca;N=0;while(1){if(!(f[ea>>2]&1<>2]=T;ka=T;la=T}else{ka=da;la=m}if((N|0)==31)break;else{m=la;da=ka;N=N+1|0}}N=ea+4|0;if((N|0)==(q|0)){ma=N;na=ka;break}else{ea=N;ca=ka;l=la}}}else{ma=a;na=0}l=na;ca=0;while(1){if(!(f[ma>>2]&1<>2]=ea;oa=ea}else oa=l;ca=ca+1|0;if((ca|0)==(S|0))break;else l=oa}}while(0);oa=f[e>>2]|0;if(oa|0)lp(oa);oa=f[d>>2]|0;if(!oa){u=c;return 1}lp(oa);u=c;return 1}function Ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ka,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){r=b[q>>0]|0;m=g+(o<<3)|0;f[m>>2]=r;f[m+4>>2]=((r|0)<0)<<31>>31;o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Ul(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){t=g+(r<<3)|0;f[t>>2]=h[m>>0];f[t+4>>2]=0;r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Ul(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){k=d[t>>1]|0;q=g+(l<<3)|0;f[q>>2]=k;f[q+4>>2]=((k|0)<0)<<31>>31;l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){q=g+(o<<3)|0;f[q>>2]=j[k>>1];f[q+4>>2]=0;o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Ul(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){m=f[q>>2]|0;t=g+(r<<3)|0;f[t>>2]=m;f[t+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){t=g+(l<<3)|0;f[t>>2]=f[m>>2];f[t+4>>2]=0;l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){k=t;q=f[k+4>>2]|0;z=g+(o<<3)|0;f[z>>2]=f[k>>2];f[z+4>>2]=q;o=o+1|0;q=b[m>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else t=t+8|0}}else A=l;t=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;q=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;z=Ul(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=m+z|0;while(1){z=q;m=f[z+4>>2]|0;k=g+(r<<3)|0;f[k>>2]=f[z>>2];f[k+4>>2]=m;r=r+1|0;m=b[t>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+8|0}}else B=o;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 9:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=t+k|0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;t=g+(l<<3)|0;f[t>>2]=~~+C>>>0;f[t+4>>2]=k;l=l+1|0;k=b[q>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=r;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=q+t|0;while(1){E=+p[k>>3];t=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;q=g+(o<<3)|0;f[q>>2]=~~E>>>0;f[q+4>>2]=t;o=o+1|0;t=b[m>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){F=t;break}else k=k+8|0}}else F=l;k=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;t=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Ul(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=m+q|0;while(1){q=g+(r<<3)|0;f[q>>2]=h[t>>0];f[q+4>>2]=0;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){G=q;break}else t=t+1|0}}else G=o;t=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){dh(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=-1;n=l}else{m=f[(f[h>>2]|0)+(k<<2)>>2]|0;n=l}}else{m=-1;n=-1}l=a+24|0;k=f[l>>2]|0;h=k+(n>>>5<<2)|0;g=1<<(n&31);j=f[h>>2]|0;if(!(j&g)){f[h>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;h=f[o>>2]|0;if((h|0)==(f[g+8>>2]|0))dh(g,d);else{f[h>>2]=j;f[o>>2]=h+4}h=a+40|0;o=f[h>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){dh(o,e);p=f[h>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(n<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[l>>2]|0}else q=k;k=q+(m>>>5<<2)|0;q=1<<(m&31);o=f[k>>2]|0;if(!(o&q)){f[k>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;k=f[r>>2]|0;if((k|0)==(f[o+8>>2]|0))dh(o,d);else{f[k>>2]=q;f[r>>2]=k+4}k=a+40|0;r=f[k>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){dh(r,e);s=f[k>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(m<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[l>>2]|0)+(t>>>5<<2)|0;m=1<<(t&31);s=f[r>>2]|0;if(!(m&s)){f[r>>2]=s|m;m=f[i>>2]|0;f[e>>2]=m;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[a+48>>2]|0;f[d>>2]=s;r=f[m+4>>2]|0;m=r+4|0;o=f[m>>2]|0;if((o|0)==(f[r+8>>2]|0))dh(r,d);else{f[o>>2]=s;f[m>>2]=o+4}o=a+40|0;m=f[o>>2]|0;s=m+4|0;r=f[s>>2]|0;if((r|0)==(f[m+8>>2]|0)){dh(m,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=m}m=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1}m=f[b>>2]|0;a:do if((m|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=m;while(1){k=q;while(1){w=a+52+(k*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(k*12|0)>>2]|0)!=(x|0))break;n=k+1|0;if((n|0)<3)k=n;else break a}n=x+-4|0;p=f[n>>2]|0;f[w>>2]=n;f[b>>2]=k;f[i>>2]=p;if((p|0)==-1)break;n=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(n>>>5<<2)>>2]&1<<(n&31))){j=p;h=g;b:while(1){y=(j>>>0)/3|0;z=h+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[l>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))dh(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){dh(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[l>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))dh(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[l>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;h=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;h=a+52+(O*12|0)+4|0;j=f[h>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))dh(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[h>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=k;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function Cb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;o=l+q|0;while(1){d[g+(m<<1)>>1]=b[o>>0]|0;m=m+1|0;q=b[j>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){r=q;break}else o=o+1|0}}else r=k;o=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 2:{o=a+24|0;m=b[o>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){j=f[f[a>>2]>>2]|0;q=a+40|0;l=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;s=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;l=j+s|0;while(1){d[g+(q<<1)>>1]=h[l>>0]|0;q=q+1|0;s=b[o>>0]|0;if((q|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){t=s;break}else l=l+1|0}}else t=m;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;s=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;j=Ul(s|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;s=o+j|0;while(1){d[g+(k<<1)>>1]=d[s>>1]|0;k=k+1|0;j=b[l>>0]|0;if((k|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){u=j;break}else s=s+2|0}}else u=q;s=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 4:{s=a+24|0;k=b[s>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;j=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;o=Ul(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;j=l+o|0;while(1){d[g+(m<<1)>>1]=d[j>>1]|0;m=m+1|0;o=b[s>>0]|0;if((m|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else j=j+2|0}}else v=k;j=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 5:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){s=f[f[a>>2]>>2]|0;q=a+40|0;o=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;l=Ul(o|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;o=s+l|0;while(1){d[g+(q<<1)>>1]=f[o>>2];q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){w=l;break}else o=o+4|0}}else w=m;o=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 6:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;k=a+40|0;l=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;s=Ul(l|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;l=j+s|0;while(1){d[g+(k<<1)>>1]=f[l>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){x=s;break}else l=l+4|0}}else x=q;l=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 7:{l=a+24|0;k=b[l>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;j=Ul(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;s=o+j|0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;j=b[l>>0]|0;if((m|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){y=j;break}else s=s+8|0}}else y=k;s=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 8:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;j=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;o=Ul(j|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;j=l+o|0;while(1){d[g+(q<<1)>>1]=f[j>>2];q=q+1|0;o=b[s>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else j=j+8|0}}else z=m;j=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 9:{j=a+24|0;q=b[j>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){s=f[f[a>>2]>>2]|0;k=a+40|0;o=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(o|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;o=s+l|0;while(1){l=~~$(n[o>>2])&65535;d[g+(k<<1)>>1]=l;k=k+1|0;l=b[j>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else o=o+4|0}}else A=q;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 10:{o=a+24|0;k=b[o>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){j=f[f[a>>2]>>2]|0;m=a+40|0;l=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;s=Ul(l|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;l=j+s|0;while(1){d[g+(m<<1)>>1]=~~+p[l>>3];m=m+1|0;s=b[o>>0]|0;if((m|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){B=s;break}else l=l+8|0}}else B=k;l=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 11:{l=a+24|0;m=b[l>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){o=f[f[a>>2]>>2]|0;q=a+40|0;s=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(s|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;s=o+j|0;while(1){d[g+(q<<1)>>1]=h[s>>0]|0;q=q+1|0;j=b[l>>0]|0;if((q|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){C=j;break}else s=s+1|0}}else C=m;s=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Db(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Ul(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;o=l+q|0;while(1){d[g+(m<<1)>>1]=b[o>>0]|0;m=m+1|0;q=b[j>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){r=q;break}else o=o+1|0}}else r=k;o=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 2:{o=a+24|0;m=b[o>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){j=f[f[a>>2]>>2]|0;q=a+40|0;l=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;s=Ul(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;l=j+s|0;while(1){d[g+(q<<1)>>1]=h[l>>0]|0;q=q+1|0;s=b[o>>0]|0;if((q|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){t=s;break}else l=l+1|0}}else t=m;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;s=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;j=Ul(s|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;s=o+j|0;while(1){d[g+(k<<1)>>1]=d[s>>1]|0;k=k+1|0;j=b[l>>0]|0;if((k|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){u=j;break}else s=s+2|0}}else u=q;s=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 4:{s=a+24|0;k=b[s>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;j=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;o=Ul(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;j=l+o|0;while(1){d[g+(m<<1)>>1]=d[j>>1]|0;m=m+1|0;o=b[s>>0]|0;if((m|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else j=j+2|0}}else v=k;j=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 5:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){s=f[f[a>>2]>>2]|0;q=a+40|0;o=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;l=Ul(o|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;o=s+l|0;while(1){d[g+(q<<1)>>1]=f[o>>2];q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){w=l;break}else o=o+4|0}}else w=m;o=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 6:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;k=a+40|0;l=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;s=Ul(l|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;l=j+s|0;while(1){d[g+(k<<1)>>1]=f[l>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){x=s;break}else l=l+4|0}}else x=q;l=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 7:{l=a+24|0;k=b[l>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;j=Ul(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;s=o+j|0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;j=b[l>>0]|0;if((m|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){y=j;break}else s=s+8|0}}else y=k;s=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 8:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;j=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;o=Ul(j|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;j=l+o|0;while(1){d[g+(q<<1)>>1]=f[j>>2];q=q+1|0;o=b[s>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else j=j+8|0}}else z=m;j=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 9:{j=a+24|0;q=b[j>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){s=f[f[a>>2]>>2]|0;k=a+40|0;o=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Ul(o|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;o=s+l|0;while(1){l=~~$(n[o>>2]);d[g+(k<<1)>>1]=l;k=k+1|0;l=b[j>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else o=o+4|0}}else A=q;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 10:{o=a+24|0;k=b[o>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){j=f[f[a>>2]>>2]|0;m=a+40|0;l=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;s=Ul(l|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;l=j+s|0;while(1){d[g+(m<<1)>>1]=~~+p[l>>3];m=m+1|0;s=b[o>>0]|0;if((m|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){B=s;break}else l=l+8|0}}else B=k;l=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 11:{l=a+24|0;m=b[l>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){o=f[f[a>>2]>>2]|0;q=a+40|0;s=fl(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Ul(s|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;s=o+j|0;while(1){d[g+(q<<1)>>1]=h[s>>0]|0;q=q+1|0;j=b[l>>0]|0;if((q|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){C=j;break}else s=s+1|0}}else C=m;s=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Ul(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Ul(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Ul(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Ul(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Ul(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2])>>>0;f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Ul(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3]>>>0;o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Ul(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Ul(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Ul(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Ul(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Ul(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2]);f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Ul(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3];o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=fl(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Ul(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))dh(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=m;r=p;s=g+2|0;break}else{q=m;r=p;s=g+-1|0;break}}else{p=f[n+28>>2]|0;q=p;r=f[p+-4>>2]|0;s=-1}while(0);n=f[q+(s<<2)>>2]|0;if((r|0)==-1|(n|0)==-1){h=0;u=c;return h|0}s=a+24|0;q=f[s>>2]|0;g=q+(r>>>5<<2)|0;k=1<<(r&31);p=f[g>>2]|0;if(!(p&k)){f[g>>2]=p|k;k=f[b>>2]|0;p=k+1|0;if((k|0)==-1)t=-1;else t=((p>>>0)%3|0|0)==0?k+-2|0:p;f[e>>2]=t;p=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=p;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))dh(k,d);else{f[g>>2]=p;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;p=t+4|0;k=f[p>>2]|0;if((k|0)==(f[t+8>>2]|0)){dh(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(r<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[s>>2]|0}else w=q;q=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[q>>2]|0;if(!(t&w)){f[q>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;q=f[x>>2]|0;if((q|0)==(f[t+8>>2]|0))dh(t,d);else{f[q>>2]=w;f[x>>2]=q+4}q=a+40|0;x=f[q>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){dh(x,e);y=f[q>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;q=x;x=n;a:while(1){n=f[x+-4>>2]|0;f[b>>2]=n;r=(n>>>0)/3|0;if((n|0)!=-1?(n=(f[j>>2]|0)+(r>>>5<<2)|0,v=1<<(r&31),r=f[n>>2]|0,(r&v|0)==0):0){f[n>>2]=r|v;v=f[a>>2]|0;r=f[b>>2]|0;n=f[(f[v+28>>2]|0)+(r<<2)>>2]|0;if((n|0)==-1){h=0;z=79;break}else{A=r;B=v;C=n}b:while(1){n=(f[s>>2]|0)+(C>>>5<<2)|0;v=1<<(C&31);r=f[n>>2]|0;do if(!(r&v)){k=f[(f[B+40>>2]|0)+(C<<2)>>2]|0;if((k|0)==-1)D=1;else{p=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(p&31)&f[(f[B+12>>2]|0)+(p>>>5<<2)>>2]|0)!=0}f[n>>2]=r|v;p=f[b>>2]|0;f[e>>2]=p;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]|0;p=f[t>>2]|0;f[d>>2]=k;g=f[p+4>>2]|0;p=g+4|0;m=f[p>>2]|0;if((m|0)==(f[g+8>>2]|0))dh(g,d);else{f[m>>2]=k;f[p>>2]=m+4}m=f[w>>2]|0;p=m+4|0;k=f[p>>2]|0;if((k|0)==(f[m+8>>2]|0)){dh(m,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;E=m}m=E+24|0;f[(f[E+12>>2]|0)+(C<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1;m=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=m;z=59;break}p=k+1|0;do if((k|0)==-1)H=-1;else{g=((p>>>0)%3|0|0)==0?k+-2|0:p;if((g|0)==-1){H=-1;break}if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[m+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=m;J=(H>>>0)/3|0}else{F=A;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=63;break}r=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((r|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((r|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);r=(K|0)==-1;v=(K>>>0)/3|0;n=r?-1:v;p=(L|0)==-1;k=(L>>>0)/3|0;g=p?-1:k;do if(!r){M=f[j>>2]|0;if(f[M+(n>>>5<<2)>>2]&1<<(n&31)|0){z=69;break}if(p){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(p){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=G;J=O}v=(f[j>>2]|0)+(J>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(J&31);A=f[b>>2]|0;C=f[(f[I+28>>2]|0)+(A<<2)>>2]|0;if((C|0)==-1){h=0;z=79;break a}else B=I}do if((z|0)==63){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){dh(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];n=v+4|0;f[l>>2]=n;P=n;break}}while(0);if((z|0)==71){z=0;n=(f[l>>2]|0)+-4|0;f[l>>2]=n;P=n}Q=f[i>>2]|0;R=P}else{n=x+-4|0;f[l>>2]=n;Q=q;R=n}if((Q|0)==(R|0)){h=1;z=79;break}else{q=Q;x=R}}if((z|0)==79){u=c;return h|0}return 0}function Hb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+o|0;while(1){b[g+l>>0]=b[m>>0]|0;l=l+1|0;o=b[i>>0]|0;if((l|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){q=o;break}else m=m+1|0}}else q=j;m=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 2:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){i=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=i+r|0;while(1){b[g+o>>0]=b[k>>0]|0;o=o+1|0;r=b[m>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else k=k+1|0}}else s=l;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;j=a+40|0;r=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;i=Ul(r|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;r=m+i|0;while(1){b[g+j>>0]=d[r>>1];j=j+1|0;i=b[k>>0]|0;if((j|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){t=i;break}else r=r+2|0}}else t=o;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 4:{r=a+24|0;j=b[r>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;i=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Ul(i|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;i=k+m|0;while(1){b[g+l>>0]=d[i>>1];l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else i=i+2|0}}else u=j;i=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 5:{i=a+24|0;l=b[i>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;m=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=r+k|0;while(1){b[g+o>>0]=f[m>>2];o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else m=m+4|0}}else v=l;m=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 6:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;j=a+40|0;k=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;r=Ul(k|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;k=i+r|0;while(1){b[g+j>>0]=f[k>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){w=r;break}else k=k+4|0}}else w=o;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 7:{k=a+24|0;j=b[k>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;i=Ul(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;r=m+i|0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;i=b[k>>0]|0;if((l|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){x=i;break}else r=r+8|0}}else x=j;r=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 8:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;i=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;m=Ul(i|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;i=k+m|0;while(1){b[g+o>>0]=f[i>>2];o=o+1|0;m=b[r>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else i=i+8|0}}else y=l;i=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 9:{i=a+24|0;o=b[i>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;j=a+40|0;m=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Ul(m|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;m=r+k|0;while(1){k=~~$(n[m>>2])&255;b[g+j>>0]=k;j=j+1|0;k=b[i>>0]|0;if((j|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else m=m+4|0}}else z=o;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 10:{m=a+24|0;j=b[m>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){i=f[f[a>>2]>>2]|0;l=a+40|0;k=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;k=i+r|0;while(1){b[g+l>>0]=~~+p[k>>3];l=l+1|0;r=b[m>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=j;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 11:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;r=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;r=m+i|0;while(1){b[g+o>>0]=b[r>>0]|0;o=o+1|0;i=b[k>>0]|0;if((o|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){B=i;break}else r=r+1|0}}else B=l;r=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Ib(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Ul(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+o|0;while(1){b[g+l>>0]=b[m>>0]|0;l=l+1|0;o=b[i>>0]|0;if((l|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){q=o;break}else m=m+1|0}}else q=j;m=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 2:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){i=f[f[a>>2]>>2]|0;o=a+40|0;k=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=i+r|0;while(1){b[g+o>>0]=b[k>>0]|0;o=o+1|0;r=b[m>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else k=k+1|0}}else s=l;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;j=a+40|0;r=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;i=Ul(r|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;r=m+i|0;while(1){b[g+j>>0]=d[r>>1];j=j+1|0;i=b[k>>0]|0;if((j|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){t=i;break}else r=r+2|0}}else t=o;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 4:{r=a+24|0;j=b[r>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;i=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Ul(i|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;i=k+m|0;while(1){b[g+l>>0]=d[i>>1];l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else i=i+2|0}}else u=j;i=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 5:{i=a+24|0;l=b[i>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;m=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Ul(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=r+k|0;while(1){b[g+o>>0]=f[m>>2];o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else m=m+4|0}}else v=l;m=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 6:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;j=a+40|0;k=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;r=Ul(k|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;k=i+r|0;while(1){b[g+j>>0]=f[k>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){w=r;break}else k=k+4|0}}else w=o;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 7:{k=a+24|0;j=b[k>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;i=Ul(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;r=m+i|0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;i=b[k>>0]|0;if((l|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){x=i;break}else r=r+8|0}}else x=j;r=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 8:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;i=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;m=Ul(i|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;i=k+m|0;while(1){b[g+o>>0]=f[i>>2];o=o+1|0;m=b[r>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else i=i+8|0}}else y=l;i=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 9:{i=a+24|0;o=b[i>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;j=a+40|0;m=fl(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Ul(m|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;m=r+k|0;while(1){k=~~$(n[m>>2]);b[g+j>>0]=k;j=j+1|0;k=b[i>>0]|0;if((j|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else m=m+4|0}}else z=o;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 10:{m=a+24|0;j=b[m>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){i=f[f[a>>2]>>2]|0;l=a+40|0;k=fl(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Ul(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;k=i+r|0;while(1){b[g+l>>0]=~~+p[k>>3];l=l+1|0;r=b[m>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=j;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 11:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;r=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Ul(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;r=m+i|0;while(1){b[g+o>>0]=b[r>>0]|0;o=o+1|0;i=b[k>>0]|0;if((o|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){B=i;break}else r=r+1|0}}else B=l;r=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))dh(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))dh(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){dh(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))dh(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){dh(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))dh(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){dh(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=D;J=(H>>>0)/3|0}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=G;J=N}t=(f[j>>2]|0)+(J>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(J&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=I}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){dh(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Kb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)Eo(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)Eo(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Ab(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Ab(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];Ab(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Wl(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=fl(s|0,x|0,s|0,x|0)|0;N=I;O=fl(E|0,D|0,E|0,D|0)|0;P=Ul(O|0,I|0,M|0,N|0)|0;N=I;M=fl(J|0,H|0,J|0,H|0)|0;O=Ul(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=fl(P|0,C|0,s|0,x|0)|0;F=I;Q=fl(N|0,G|0,E|0,D|0)|0;R=Ul(Q|0,I|0,K|0,F|0)|0;F=I;K=fl(y|0,L|0,J|0,H|0)|0;Q=Ul(R|0,F|0,K|0,I|0)|0;K=I;F=Wl(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;R=Wl(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;S=fl(O|0,M|0,p|0,q|0)|0;q=I;p=fl(O|0,M|0,n|0,o|0)|0;o=I;n=fl(Q|0,K|0,F|0,t|0)|0;T=I;U=fl(Q|0,K|0,R|0,v|0)|0;V=I;W=Ul(n|0,T|0,S|0,q|0)|0;q=I;S=Ul(U|0,V|0,p|0,o|0)|0;o=I;p=fl(Q|0,K|0,s|0,x|0)|0;x=I;s=fl(Q|0,K|0,E|0,D|0)|0;D=I;E=fl(Q|0,K|0,J|0,H|0)|0;H=I;J=Li(p|0,x|0,O|0,M|0)|0;x=I;p=Li(s|0,D|0,O|0,M|0)|0;D=I;s=Li(E|0,H|0,O|0,M|0)|0;H=I;E=Wl(P|0,C|0,J|0,x|0)|0;x=I;J=Wl(N|0,G|0,p|0,D|0)|0;D=I;p=Wl(y|0,L|0,s|0,H|0)|0;H=I;s=fl(E|0,x|0,E|0,x|0)|0;x=I;E=fl(J|0,D|0,J|0,D|0)|0;D=Ul(E|0,I|0,s|0,x|0)|0;x=I;s=fl(p|0,H|0,p|0,H|0)|0;H=Ul(D|0,x|0,s|0,I|0)|0;s=I;x=Wl(0,0,F|0,t|0)|0;t=I;F=fl(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=23}break}case 1:{if(!s){ca=1;da=0;ba=24}else{Z=1;_=0;$=F;aa=s;ba=23}break}default:{Z=1;_=0;$=F;aa=s;ba=23}}if((ba|0)==23)while(1){ba=0;H=Rl(Z|0,_|0,1)|0;D=I;p=$;$=Xl($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&p>>>0>7)){ca=H;da=D;ba=24;break}else{Z=H;_=D;aa=I;ba=23}}if((ba|0)==24)while(1){ba=0;D=Nn(F|0,s|0,ca|0,da|0)|0;H=Ul(D|0,I|0,ca|0,da|0)|0;D=Xl(H|0,I|0,1)|0;H=I;p=fl(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&p>>>0>F>>>0){ca=D;da=H;ba=24}else{X=D;Y=H;break}}F=fl(X|0,Y|0,R|0,v|0)|0;s=I;H=fl(X|0,Y|0,x|0,t|0)|0;D=I;p=a+20|0;E=f[p>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[p>>2]=J;J=Wl(0,0,F|0,s|0)|0;p=Ul(W|0,q|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Wl(0,0,H|0,D|0)|0;F=Ul(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Li(p|0,s|0,O|0,M|0)|0;s=Li(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(r)fa=m<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function Lb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=o;q=n+2|0;break}else{p=o;q=n+-1|0;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(p<<2)>>2]|0;p=f[n+(q<<2)>>2]|0;q=f[a+36>>2]|0;n=f[q>>2]|0;c=(f[q+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)Eo(q);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=p>>>0)Eo(q);q=f[o+(p<<2)>>2]|0;p=(n|0)<(e|0);do if(p&(q|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=q<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Ab(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];Ab(y,h,x,k)|0;x=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];Ab(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Wl(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=fl(s|0,x|0,s|0,x|0)|0;N=I;O=fl(E|0,D|0,E|0,D|0)|0;P=Ul(O|0,I|0,M|0,N|0)|0;N=I;M=fl(J|0,H|0,J|0,H|0)|0;O=Ul(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=fl(P|0,C|0,s|0,x|0)|0;F=I;Q=fl(N|0,G|0,E|0,D|0)|0;R=Ul(Q|0,I|0,K|0,F|0)|0;F=I;K=fl(y|0,L|0,J|0,H|0)|0;Q=Ul(R|0,F|0,K|0,I|0)|0;K=I;F=Wl(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;R=Wl(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;S=fl(O|0,M|0,c|0,m|0)|0;m=I;c=fl(O|0,M|0,r|0,o|0)|0;o=I;r=fl(Q|0,K|0,F|0,t|0)|0;T=I;U=fl(Q|0,K|0,R|0,v|0)|0;V=I;W=Ul(r|0,T|0,S|0,m|0)|0;m=I;S=Ul(U|0,V|0,c|0,o|0)|0;o=I;c=fl(Q|0,K|0,s|0,x|0)|0;x=I;s=fl(Q|0,K|0,E|0,D|0)|0;D=I;E=fl(Q|0,K|0,J|0,H|0)|0;H=I;J=Li(c|0,x|0,O|0,M|0)|0;x=I;c=Li(s|0,D|0,O|0,M|0)|0;D=I;s=Li(E|0,H|0,O|0,M|0)|0;H=I;E=Wl(P|0,C|0,J|0,x|0)|0;x=I;J=Wl(N|0,G|0,c|0,D|0)|0;D=I;c=Wl(y|0,L|0,s|0,H|0)|0;H=I;s=fl(E|0,x|0,E|0,x|0)|0;x=I;E=fl(J|0,D|0,J|0,D|0)|0;D=Ul(E|0,I|0,s|0,x|0)|0;x=I;s=fl(c|0,H|0,c|0,H|0)|0;H=Ul(D|0,x|0,s|0,I|0)|0;s=I;x=Wl(0,0,F|0,t|0)|0;t=I;F=fl(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=22}break}case 1:{if(!s){ca=1;da=0;ba=23}else{Z=1;_=0;$=F;aa=s;ba=22}break}default:{Z=1;_=0;$=F;aa=s;ba=22}}if((ba|0)==22)while(1){ba=0;H=Rl(Z|0,_|0,1)|0;D=I;c=$;$=Xl($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&c>>>0>7)){ca=H;da=D;ba=23;break}else{Z=H;_=D;aa=I;ba=22}}if((ba|0)==23)while(1){ba=0;D=Nn(F|0,s|0,ca|0,da|0)|0;H=Ul(D|0,I|0,ca|0,da|0)|0;D=Xl(H|0,I|0,1)|0;H=I;c=fl(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&c>>>0>F>>>0){ca=D;da=H;ba=23}else{X=D;Y=H;break}}F=fl(X|0,Y|0,R|0,v|0)|0;s=I;H=fl(X|0,Y|0,x|0,t|0)|0;D=I;c=a+20|0;E=f[c>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[c>>2]=J;J=Wl(0,0,F|0,s|0)|0;c=Ul(W|0,m|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Wl(0,0,H|0,D|0)|0;F=Ul(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Li(c|0,s|0,O|0,M|0)|0;s=Li(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(p)fa=n<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)Eo(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];Ab(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=o;J=a;K=o;while(1){do if(J){L=H+1|0;if((H|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?H+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A;T=Q;U=A+2|0;V=19;break}else{R=A;S=A;T=Q;U=A+-1|0;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=K+1|0;L=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if(!((K>>>0)%3|0)){R=A;S=H;T=L;U=K+2|0;V=19;break}else{R=A;S=H;T=L;U=K+-1|0;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=S;O=U;P=-1}else{M=R;N=S;O=U;P=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=P>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(P<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];Ab(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];Ab(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Wl(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Wl(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Wl(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Wl(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Wl(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Wl(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=fl($|0,ia|0,ca|0,ba|0)|0;da=I;la=fl(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=fl(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=fl($|0,ia|0,Q|0,L|0)|0;ia=I;$=fl(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=fl(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Wl(B|0,C|0,la|0,ma|0)|0;ma=Ul(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Ul(na|0,fa|0,D|0,E|0)|0;fa=Wl(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Wl(F|0,G|0,Q|0,ba|0)|0;ba=Ul(ga|0,I|0,$|0,L|0)|0;L=I;fg(i);K=f[c>>2]|0;$=(f[v>>2]|0)==0;if((K|0)==-1){oa=da;pa=ma;qa=ia;ra=fa;sa=L;ta=ba;ua=$;break a}else{A=M;B=ma;C=da;D=fa;E=ia;F=ba;G=L;H=N;J=$}}if((V|0)==22)Eo(W);else if((V|0)==28)Eo(Z)}else{oa=0;pa=0;qa=0;ra=0;sa=0;ta=0;ua=a}while(0);a=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;Z=Wl(0,0,pa|0,oa|0)|0;V=a?oa:I;W=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;N=Wl(0,0,ra|0,qa|0)|0;M=W?qa:I;v=(sa|0)>-1|(sa|0)==-1&ta>>>0>4294967295;c=Wl(0,0,ta|0,sa|0)|0;i=Ul((W?ra:N)|0,M|0,(v?ta:c)|0,(v?sa:I)|0)|0;v=Ul(i|0,I|0,(a?pa:Z)|0,V|0)|0;V=I;if(ua){if((v|0)<=536870912){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}ua=Xl(v|0,V|0,29)|0;Z=ua&7;ua=Li(pa|0,oa|0,Z|0,0)|0;a=Li(ra|0,qa|0,Z|0,0)|0;i=Li(ta|0,sa|0,Z|0,0)|0;va=ua;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Xl(v|0,V|0,29)|0;V=I;v=Li(pa|0,oa|0,i|0,V|0)|0;oa=Li(ra|0,qa|0,i|0,V|0)|0;qa=Li(ta|0,sa|0,i|0,V|0)|0;va=v;wa=oa;xa=qa;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function Nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ka,K=Ka,L=Ka,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=wc(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];ne(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{Rg(j,m);o=f[j>>2]|0;p=f[d>>2]|0}Ff(o|0,p|0,m|0)|0;zh(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=p;r=0;s=o}else{Rg(c,d);q=f[k>>2]|0;r=f[c>>2]|0;s=f[j>>2]|0}Ff(r|0,s|0,q-s|0)|0;s=i+11|0;q=b[s>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;d=r?f[i+4>>2]|0:q&255;if(d>>>0>3){q=c;r=d;o=d;while(1){p=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(p>>>24^p,1540483477)|0)^(X(r,1540483477)|0);o=o+-4|0;if(o>>>0<=3)break;else q=q+4|0}q=d+-4|0;o=q&-4;t=c+(o+4)|0;v=r;w=q-o|0}else{t=c;v=d;w=d}switch(w|0){case 3:{x=h[t+2>>0]<<16^v;y=12;break}case 2:{x=v;y=12;break}case 1:{z=v;y=13;break}default:A=v}if((y|0)==12){z=h[t+1>>0]<<8^x;y=13}if((y|0)==13)A=X(h[t>>0]^z,1540483477)|0;z=X(A>>>13^A,1540483477)|0;A=z>>>15^z;z=a+4|0;t=f[z>>2]|0;x=(t|0)==0;a:do if(!x){v=t+-1|0;w=(v&t|0)==0;if(!w)if(A>>>0>>0)B=A;else B=(A>>>0)%(t>>>0)|0;else B=A&v;o=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((o|0)!=0?(q=f[o>>2]|0,(q|0)!=0):0){o=(d|0)==0;if(w){if(o){w=q;while(1){r=f[w+4>>2]|0;if(!((r|0)==(A|0)|(r&v|0)==(B|0))){C=B;y=54;break a}r=b[w+8+11>>0]|0;if(!((r<<24>>24<0?f[w+12>>2]|0:r&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else D=q;while(1){w=f[D+4>>2]|0;if(!((w|0)==(A|0)|(w&v|0)==(B|0))){C=B;y=54;break a}w=D+8|0;r=b[w+11>>0]|0;p=r<<24>>24<0;l=r&255;do if(((p?f[D+12>>2]|0:l)|0)==(d|0)){r=f[w>>2]|0;if(p)if(!(dj(r,c,d)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=l;E=w;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(o){v=q;while(1){w=f[v+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)G=w;else G=(w>>>0)%(t>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}w=b[v+8+11>>0]|0;if(!((w<<24>>24<0?f[v+12>>2]|0:w&255)|0))break a;v=f[v>>2]|0;if(!v){C=B;y=54;break a}}}else H=q;while(1){v=f[H+4>>2]|0;if((v|0)!=(A|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(t>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}v=H+8|0;o=b[v+11>>0]|0;w=o<<24>>24<0;l=o&255;do if(((w?f[H+12>>2]|0:l)|0)==(d|0)){o=f[v>>2]|0;if(w)if(!(dj(o,c,d)|0))break a;else break;if((o&255)<<24>>24==(b[c>>0]|0)){o=l;p=v;F=c;do{o=o+-1|0;p=p+1|0;if(!o)break a;F=F+1|0}while((b[p>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){Lf(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(t>>>0);L=$(n[a+16>>2]);do if(x|J>$(K*L)){B=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;H=~~$(W($(J/L)))>>>0;qg(a,B>>>0>>0?H:B);B=f[z>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=t;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){t=a+8|0;f[f[g>>2]>>2]=f[t>>2];f[t>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=t;t=f[g>>2]|0;N=f[t>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=t;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;lp(O)}if((b[s>>0]|0)<0)lp(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;lp(i);u=e;return}function Ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)Eo(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];Ab(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=0;B=0;C=0;D=0;E=0;F=0;G=o;H=a;J=o;while(1){do if(H){K=G+1|0;if((G|0)!=-1){L=((K>>>0)%3|0|0)==0?G+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z;O=L;P=z+2|0;break}else{M=z;N=z;O=L;P=z+-1|0;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=J+1|0;K=((L>>>0)%3|0|0)==0?J+-2|0:L;if(!((J>>>0)%3|0)){M=z;N=G;O=K;P=J+2|0;break}else{M=z;N=G;O=K;P=J+-1|0;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];Ab(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(P<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];Ab(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Wl(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Wl(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Wl(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Wl(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Wl(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Wl(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=fl(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=fl(da|0,_|0,aa|0,$|0)|0;ga=I;ha=fl(ea|0,W|0,aa|0,$|0)|0;$=I;aa=fl(K|0,ca|0,S|0,L|0)|0;ca=I;K=fl(da|0,_|0,S|0,L|0)|0;L=I;S=fl(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Wl(A|0,B|0,fa|0,ga|0)|0;ga=Ul(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Ul(ha|0,$|0,C|0,D|0)|0;$=Wl(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Wl(E|0,F|0,S|0,X|0)|0;X=Ul(aa|0,I|0,K|0,L|0)|0;L=I;of(i);J=f[c>>2]|0;K=(f[t>>2]|0)==0;if((J|0)==-1){ia=Z;ja=ga;ka=ca;la=$;ma=L;na=X;oa=K;break a}else{z=M;A=ga;B=Z;C=$;D=ca;E=X;F=L;G=N;H=K}}if((R|0)==17)Eo(Q);else if((R|0)==21)Eo(U)}else{ia=0;ja=0;ka=0;la=0;ma=0;na=0;oa=a}while(0);a=(ia|0)>-1|(ia|0)==-1&ja>>>0>4294967295;U=Wl(0,0,ja|0,ia|0)|0;R=a?ia:I;Q=(ka|0)>-1|(ka|0)==-1&la>>>0>4294967295;N=Wl(0,0,la|0,ka|0)|0;M=Q?ka:I;t=(ma|0)>-1|(ma|0)==-1&na>>>0>4294967295;c=Wl(0,0,na|0,ma|0)|0;i=Ul((Q?la:N)|0,M|0,(t?na:c)|0,(t?ma:I)|0)|0;t=Ul(i|0,I|0,(a?ja:U)|0,R|0)|0;R=I;if(oa){if((t|0)<=536870912){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}oa=Xl(t|0,R|0,29)|0;U=oa&7;oa=Li(ja|0,ia|0,U|0,0)|0;a=Li(la|0,ka|0,U|0,0)|0;i=Li(na|0,ma|0,U|0,0)|0;pa=oa;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Xl(t|0,R|0,29)|0;R=I;t=Li(ja|0,ia|0,i|0,R|0)|0;ia=Li(la|0,ka|0,i|0,R|0)|0;ka=Li(na|0,ma|0,i|0,R|0)|0;pa=t;qa=ia;ra=ka;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function Pb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d+20|0;g=d+8|0;i=d+4|0;j=d;k=a+4|0;do if((h[(f[k>>2]|0)+36>>0]<<8&65535)<512){l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=-1;u=d;return r|0}else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=p;m=l;f[m>>2]=q;f[m+4>>2]=o;s=p;break}}else if(Ph(e,c)|0){s=f[e>>2]|0;break}else{r=-1;u=d;return r|0}while(0);a:do if(s|0){p=f[a+8>>2]|0;if(s>>>0>(((f[p+4>>2]|0)-(f[p>>2]|0)>>2>>>0)/3|0)>>>0){r=-1;u=d;return r|0}p=f[k>>2]|0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<258){p=c+8|0;o=c+16|0;m=g+4|0;q=g+8|0;l=a+40|0;n=a+44|0;t=a+36|0;v=s;w=0;while(1){x=p;y=f[x>>2]|0;z=f[x+4>>2]|0;x=o;A=f[x>>2]|0;B=f[x+4>>2]|0;x=Ul(A|0,B|0,4,0)|0;C=I;if((z|0)<(C|0)|(z|0)==(C|0)&y>>>0>>0)break;D=f[c>>2]|0;E=D+A|0;f[g>>2]=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;E=o;f[E>>2]=x;f[E+4>>2]=C;C=Ul(A|0,B|0,8,0)|0;E=I;if((z|0)<(E|0)|(z|0)==(E|0)&y>>>0>>0)break;C=D+x|0;f[m>>2]=h[C>>0]|h[C+1>>0]<<8|h[C+2>>0]<<16|h[C+3>>0]<<24;C=Ul(A|0,B|0,8,0)|0;x=I;E=o;f[E>>2]=C;f[E+4>>2]=x;if(!((z|0)>(x|0)|(z|0)==(x|0)&y>>>0>C>>>0))break;y=b[D+C>>0]|0;C=Ul(A|0,B|0,9,0)|0;B=o;f[B>>2]=C;f[B+4>>2]=I;b[q>>0]=b[q>>0]&-2|y&1;y=f[l>>2]|0;if((y|0)==(f[n>>2]|0)){Lg(t,g);F=f[e>>2]|0}else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+12;F=v}w=w+1|0;if(w>>>0>=F>>>0)break a;else v=F}r=-1;u=d;return r|0}v=g+4|0;w=a+40|0;l=a+44|0;t=a+36|0;n=0;q=0;do{Ph(i,c)|0;f[v>>2]=(f[i>>2]|0)+q;Ph(i,c)|0;o=f[i>>2]|0;q=f[v>>2]|0;if(q>>>0>>0){G=36;break}f[g>>2]=q-o;o=f[w>>2]|0;if((o|0)==(f[l>>2]|0))Lg(t,g);else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[w>>2]=(f[w>>2]|0)+12}n=n+1|0}while(n>>>0<(f[e>>2]|0)>>>0);if((G|0)==36){r=-1;u=d;return r|0}Af(c,0,0)|0;n=f[e>>2]|0;if(n|0){w=c+36|0;t=c+32|0;l=c+24|0;q=c+28|0;v=a+36|0;o=0;m=0;while(1){p=f[k>>2]|0;y=(b[w>>0]|0)==0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514)if(!y){p=f[t>>2]|0;B=f[l>>2]|0;C=f[q>>2]|0;A=B+(p>>>3)|0;if(A>>>0>>0){D=(h[A>>0]|0)>>>(p&7)&1;A=p+1|0;f[t>>2]=A;H=A;J=D}else{H=p;J=0}if((B+(H>>>3)|0)>>>0>>0){f[t>>2]=H+1;K=J}else K=J}else K=o;else if(!y){y=f[t>>2]|0;C=(f[l>>2]|0)+(y>>>3)|0;if(C>>>0<(f[q>>2]|0)>>>0){B=(h[C>>0]|0)>>>(y&7)&1;f[t>>2]=y+1;K=B}else K=0}else K=o;B=(f[v>>2]|0)+(m*12|0)+8|0;b[B>>0]=b[B>>0]&-2|K&1;m=m+1|0;if(m>>>0>=n>>>0)break;else o=K}}_j(c)}while(0);f[g>>2]=0;K=f[k>>2]|0;J=(h[K+36>>0]<<8|h[K+37>>0])&65535;if((J&65535)<512){K=c+8|0;H=f[K>>2]|0;e=f[K+4>>2]|0;K=c+16|0;F=K;s=f[F>>2]|0;o=Ul(s|0,f[F+4>>2]|0,4,0)|0;F=I;if((e|0)<(F|0)|(e|0)==(F|0)&H>>>0>>0)L=-1;else{H=(f[c>>2]|0)+s|0;s=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[g>>2]=s;H=K;f[H>>2]=o;f[H+4>>2]=F;M=s;G=43}}else if(J<<16>>16==512)if(Ph(g,c)|0){M=f[g>>2]|0;G=43}else L=-1;else G=57;b:do if((G|0)==43)if(!M)G=57;else{J=f[k>>2]|0;if(((h[J+36>>0]<<8|h[J+37>>0])&65535)>=258){J=a+52|0;s=a+56|0;F=a+48|0;H=0;o=0;while(1){f[i>>2]=0;Ph(j,c)|0;o=(f[j>>2]|0)+o|0;f[i>>2]=o;K=f[J>>2]|0;if((K|0)==(f[s>>2]|0))dh(F,i);else{f[K>>2]=o;f[J>>2]=K+4}H=H+1|0;if(H>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}}H=c+8|0;J=c+16|0;o=a+52|0;F=a+56|0;s=a+48|0;K=0;while(1){f[i>>2]=0;e=H;n=f[e>>2]|0;m=f[e+4>>2]|0;e=J;v=f[e>>2]|0;t=Ul(v|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&n>>>0>>0)break;n=(f[c>>2]|0)+v|0;v=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[i>>2]=v;n=J;f[n>>2]=t;f[n+4>>2]=e;e=f[o>>2]|0;if((e|0)==(f[F>>2]|0))dh(s,i);else{f[e>>2]=v;f[o>>2]=e+4}K=K+1|0;if(K>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}L=-1}while(0);if((G|0)==57)L=f[c+16>>2]|0;r=L;u=d;return r|0}function Qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+736|0;e=d+716|0;g=d;h=d+64|0;if((j[c+38>>1]|0)<515){i=1;u=d;return i|0}k=c+8|0;l=f[k+4>>2]|0;m=c+16|0;n=m;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((l|0)>(p|0)|((l|0)==(p|0)?(f[k>>2]|0)>>>0>o>>>0:0))){i=0;u=d;return i|0}k=b[(f[c>>2]|0)+o>>0]|0;l=Ul(o|0,p|0,1,0)|0;p=m;f[p>>2]=l;f[p+4>>2]=I;p=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[p>>2]|0)+80>>2]|0;p=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;do if(p|0)if(p>>>0>214748364)Eo(e);else{o=p*20|0;n=Yk(o)|0;f[e>>2]=n;f[e+8>>2]=n+(p*20|0);Dh(n|0,0,o|0)|0;f[m>>2]=n+o;break}while(0);p=a+64|0;o=a+68|0;n=a+60|0;q=a+52|0;r=a+56|0;s=a+48|0;t=0;v=0;a:while(1){if((t|0)>=(Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0)){w=44;break}x=Na[f[(f[a>>2]|0)+20>>2]&127](a,t)|0;y=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[y>>2]|0)+8>>2]|0)+(x<<2)>>2]|0;Lh(z,l)|0;b[z+84>>0]=1;x=f[z+68>>2]|0;y=z+72|0;A=f[y>>2]|0;if((A|0)!=(x|0))f[y>>2]=A+(~((A+-4-x|0)>>>2)<<2);switch(f[z+28>>2]|0){case 2:case 4:case 6:{B=z;break}case 1:case 3:case 5:{x=z+24|0;A=b[x>>0]|0;if(A<<24>>24>0){y=A;A=0;while(1){f[g>>2]=0;C=f[q>>2]|0;if(C>>>0<(f[r>>2]|0)>>>0){f[C>>2]=0;f[q>>2]=C+4;D=y}else{dh(s,g);D=b[x>>0]|0}A=A+1|0;if((A|0)>=(D<<24>>24|0))break;else y=D}}B=z;break}case 9:{y=b[z+24>>0]|0;Oj(g);A=f[z+56>>2]|0;x=X(Zj(6)|0,y<<24>>24)|0;Vh(g,A,0,y,6,0,x,((x|0)<0)<<31>>31,0,0);x=Yk(96)|0;zj(x,g);f[h>>2]=x;b[x+84>>0]=1;y=f[x+68>>2]|0;A=x+72|0;C=f[A>>2]|0;if((C|0)!=(y|0))f[A>>2]=C+(~((C+-4-y|0)>>>2)<<2);Lh(x,l)|0;x=f[p>>2]|0;if(x>>>0<(f[o>>2]|0)>>>0){y=f[h>>2]|0;f[h>>2]=0;f[x>>2]=y;y=x+4|0;f[p>>2]=y;E=y}else{Wd(n,h);E=f[p>>2]|0}y=f[E+-4>>2]|0;x=f[h>>2]|0;f[h>>2]=0;if(x|0){C=x+88|0;A=f[C>>2]|0;f[C>>2]=0;if(A|0){C=f[A+8>>2]|0;if(C|0){F=A+12|0;if((f[F>>2]|0)!=(C|0))f[F>>2]=C;lp(C)}lp(A)}A=f[x+68>>2]|0;if(A|0){C=x+72|0;F=f[C>>2]|0;if((F|0)!=(A|0))f[C>>2]=F+(~((F+-4-A|0)>>>2)<<2);lp(A)}A=x+64|0;F=f[A>>2]|0;f[A>>2]=0;if(F|0){A=f[F>>2]|0;if(A|0){C=F+4|0;if((f[C>>2]|0)!=(A|0))f[C>>2]=A;lp(A)}lp(F)}lp(x)}B=y;break}default:{G=0;break a}}y=B;x=f[y+28>>2]|0;F=Zj(x)|0;A=b[y+24>>0]|0;y=f[e>>2]|0;f[y+(t*20|0)>>2]=B;f[y+(t*20|0)+4>>2]=v;f[y+(t*20|0)+8>>2]=x;f[y+(t*20|0)+12>>2]=(F|0)>0?F:0;f[y+(t*20|0)+16>>2]=A;t=t+1|0;v=A+v|0}if((w|0)==44){Xf(g,e);switch(k<<24>>24){case 0:{ue(h,v);k=be(h,c,g)|0;xe(h);if(k)w=52;else H=0;break}case 1:{ue(h,v);k=ae(h,c,g)|0;xe(h);if(k)w=52;else H=0;break}case 2:{we(h,v);k=de(h,c,g)|0;De(h);if(k)w=52;else H=0;break}case 3:{we(h,v);k=ce(h,c,g)|0;De(h);if(k)w=52;else H=0;break}case 4:{se(h,v);k=Hd(h,c,g)|0;pe(h);if(k)w=52;else H=0;break}case 5:{se(h,v);k=Gd(h,c,g)|0;pe(h);if(k)w=52;else H=0;break}case 6:{se(h,v);v=Fd(h,c,g)|0;pe(h);if(v)w=52;else H=0;break}default:H=0}if((w|0)==52)H=1;w=f[g+16>>2]|0;if(w|0){v=g+20|0;h=f[v>>2]|0;if((h|0)!=(w|0))f[v>>2]=h+(~(((h+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[g>>2]|0;if(w|0){h=g+4|0;if((f[h>>2]|0)!=(w|0))f[h>>2]=w;lp(w)}G=H}H=f[e>>2]|0;if(H|0){e=f[m>>2]|0;if((e|0)!=(H|0))f[m>>2]=e+(~(((e+-20-H|0)>>>0)/20|0)*20|0);lp(H)}i=G;u=d;return i|0}function Rb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Ka,ea=Ka,fa=0,ga=Ka,ha=0,ia=Ka;c=u;u=u+32|0;d=c+12|0;e=c;g=a+60|0;if((f[g>>2]|0)==(f[a+64>>2]|0)?(f[a+48>>2]|0)==(f[a+52>>2]|0):0){h=1;u=c;return h|0}a:do if((Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0)>0){i=d+4|0;j=d+8|0;k=e+4|0;l=e+8|0;m=e+8|0;o=d+8|0;p=a+36|0;q=d+8|0;r=d+4|0;s=d+11|0;t=d+4|0;v=0;w=0;x=0;b:while(1){y=Na[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;z=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;A=f[(f[(f[z>>2]|0)+8>>2]|0)+(y<<2)>>2]|0;y=A+28|0;c:do switch(f[y>>2]|0){case 1:case 3:case 5:{z=A+24|0;B=b[z>>0]|0;C=B<<24>>24;f[d>>2]=0;f[i>>2]=0;f[j>>2]=0;if(!(B<<24>>24))D=0;else{if(B<<24>>24<0){E=8;break b}B=C<<2;F=Yk(B)|0;f[d>>2]=F;G=F+(C<<2)|0;f[o>>2]=G;Dh(F|0,0,B|0)|0;f[i>>2]=G;D=b[z>>0]|0}G=D<<24>>24;f[e>>2]=0;f[k>>2]=0;f[l>>2]=0;if(D<<24>>24){if(D<<24>>24<0){E=12;break b}B=G<<2;F=Yk(B)|0;f[e>>2]=F;C=F+(G<<2)|0;f[m>>2]=C;Dh(F|0,0,B|0)|0;f[k>>2]=C}switch(f[y>>2]|0){case 5:{if(Ed(a,A,x)|0)E=18;else{H=1;J=x}break}case 3:{if(Dd(a,A,x)|0)E=18;else{H=1;J=x}break}case 1:{if(sd(a,A,x)|0)E=18;else{H=1;J=x}break}default:E=18}if((E|0)==18){E=0;H=0;J=(b[z>>0]|0)+x|0}z=f[e>>2]|0;if(z|0){C=f[k>>2]|0;if((C|0)!=(z|0))f[k>>2]=C+(~((C+-4-z|0)>>>2)<<2);lp(z)}z=f[d>>2]|0;if(z|0){C=f[i>>2]|0;if((C|0)!=(z|0))f[i>>2]=C+(~((C+-4-z|0)>>>2)<<2);lp(z)}if(!H){K=w;L=J}else{M=H;break a}break}case 9:{z=f[(f[g>>2]|0)+(w<<2)>>2]|0;C=f[p>>2]|0;B=w+1|0;F=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;G=f[F>>2]|0;F=f[A+56>>2]|0;N=Yk(32)|0;f[d>>2]=N;f[q>>2]=-2147483616;f[r>>2]=24;O=N;P=11771;Q=O+24|0;do{b[O>>0]=b[P>>0]|0;O=O+1|0;P=P+1|0}while((O|0)<(Q|0));b[N+24>>0]=0;P=G+16|0;O=f[P>>2]|0;if(O){Q=P;R=O;d:while(1){O=R;while(1){if((f[O+16>>2]|0)>=(F|0))break;S=f[O+4>>2]|0;if(!S){T=Q;break d}else O=S}R=f[O>>2]|0;if(!R){T=O;break}else Q=O}if(((T|0)!=(P|0)?(F|0)>=(f[T+16>>2]|0):0)?(Q=T+20|0,(hg(Q,d)|0)!=0):0)U=hi(Q,d,0)|0;else E=37}else E=37;if((E|0)==37){E=0;U=hi(G,d,0)|0}if((b[s>>0]|0)<0)lp(f[d>>2]|0);if(U){Zd(A,z);K=B;L=x;break c}Q=f[C+(w*24|0)+4>>2]|0;R=b[A+24>>0]|0;N=R<<24>>24;S=N<<2;V=ip(N>>>0>1073741823?-1:N<<2)|0;Gn(d);if(!(Sk(d,$(n[C+(w*24|0)+20>>2]),(1<>2]>>2]|0)+(f[z+48>>2]|0)|0;W=z+80|0;e:do if(f[W>>2]|0){X=A+64|0;Y=C+(w*24|0)+8|0;if(R<<24>>24>0){Z=0;_=0;aa=0}else{ba=0;ca=0;while(1){Ff((f[f[X>>2]>>2]|0)+ca|0,V|0,S|0)|0;ba=ba+1|0;if(ba>>>0>=(f[W>>2]|0)>>>0)break e;else ca=ca+S|0}}while(1){ca=f[Y>>2]|0;da=$(n[t>>2]);ea=$(n[d>>2]);ba=0;O=aa;while(1){fa=f[Q+(O<<2)>>2]|0;if((fa|0)>-1)ga=$($($(fa|0)*da)*ea);else{ha=Wl(0,0,fa|0,((fa|0)<0)<<31>>31|0)|0;ga=$(-$(ea*$(da*$(+(ha>>>0)+4294967296.0*+(I|0)))))}ia=$(ga+$(n[ca+(ba<<2)>>2]));n[V+(ba<<2)>>2]=ia;ba=ba+1|0;if((ba|0)==(N|0))break;else O=O+1|0}Ff((f[f[X>>2]>>2]|0)+_|0,V|0,S|0)|0;Z=Z+1|0;if(Z>>>0>=(f[W>>2]|0)>>>0)break;else{_=_+S|0;aa=N+aa|0}}}while(0);jp(V);K=B;L=x;break}default:{K=w;L=x}}while(0);v=v+1|0;if((v|0)>=(Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0)){M=2;break a}else{w=K;x=L}}if((E|0)==8)Eo(d);else if((E|0)==12)Eo(e);else if((E|0)==54){jp(V);M=1;break}}else M=2;while(0);h=(M|0)==2;u=c;return h|0}function Sb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(p|0)!=(o|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{ag(i,m-q|0,3564);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;fi(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=t;t=m;m=s;s=k;k=0;while(1){p=f[o+(k<<2)>>2]|0;n=f[q>>2]|0;if(p>>>0>2>>>0){x=l;y=s;z=o;A=m}else{r=p+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(D|0)!=(n|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=m;G=o}else{E=l;F=m;G=o}else{ag(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(p<<2)|0;f[B>>2]=(f[B>>2]|0)+1;k=k+1|0;if(k>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;o=z;t=y;m=A;s=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)Eo(e);s=Yk(y<<1)|0;f[w>>2]=s;f[e>>2]=s;f[e+8>>2]=s+(v<<3);y=s;A=v;m=s;while(1){t=y;f[t>>2]=-1;f[t+4>>2]=-1;t=m+8|0;z=A+-1|0;if(!z)break;else{y=t;A=z;m=t}}f[w>>2]=s+(v<<3);H=s;I=s}s=f[q>>2]|0;v=f[d>>2]|0;m=s-v|0;A=m>>2;f[g>>2]=0;y=g+4|0;f[y>>2]=0;f[g+8>>2]=0;t=v;do if(A)if(A>>>0>1073741823)Eo(g);else{z=Yk(m)|0;f[g>>2]=z;o=z+(A<<2)|0;f[g+8>>2]=o;Dh(z|0,0,m|0)|0;f[y>>2]=o;J=z;K=o;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(v|0)){v=0;s=0;do{f[J+(v<<2)>>2]=s;s=(f[t+(v<<2)>>2]|0)+s|0;v=v+1|0}while(v>>>0>>0)}v=f[j>>2]|0;j=f[a>>2]|0;s=j;if((v|0)!=(j|0)){m=a+40|0;a=v-j>>2;j=J;v=0;g=H;z=H;o=H;x=H;l=H;k=H;while(1){F=f[s+(v<<2)>>2]|0;G=v+1|0;E=((G>>>0)%3|0|0)==0?v+-2|0:G;if((E|0)==-1)M=-1;else M=f[s+(E<<2)>>2]|0;E=((v>>>0)%3|0|0)==0;G=(E?2:-1)+v|0;if((G|0)==-1)N=-1;else N=f[s+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[m>>2]=(f[m>>2]|0)+1;O=j;P=v+2|0;Q=g;R=z;S=o;T=x;U=l;V=k}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[j+(N<<2)>>2]|0;while(1){p=f[l+(B<<3)>>2]|0;if((p|0)==-1){X=g;Y=z;Z=x;_=l;break b}if((p|0)==(M|0)){p=f[l+(B<<3)+4>>2]|0;if((p|0)==-1)$=-1;else $=f[s+(p<<2)>>2]|0;if((F|0)!=($|0))break}p=G+1|0;if((p|0)<(E|0)){G=p;B=B+1|0}else{X=g;Y=z;Z=x;_=l;break b}}p=f[x+(B<<3)+4>>2]|0;r=G;n=B;D=z;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[g+(n<<3)>>2]|0)==-1)break;else{n=C;D=g}}f[o+(n<<3)>>2]=-1;if((p|0)==-1){X=o;Y=o;Z=o;_=o}else{D=f[i>>2]|0;f[D+(v<<2)>>2]=p;f[D+(p<<2)>>2]=v;O=j;P=v;Q=o;R=o;S=o;T=o;U=o;V=k;break a}}else{X=g;Y=z;Z=x;_=l}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=k+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=J;P=v;Q=k;R=k;S=k;T=k;U=k;V=k;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=v;O=J;P=v;Q=H;R=H;S=H;T=H;U=H;V=H}else{O=j;P=v;Q=X;R=Y;S=o;T=Z;U=_;V=k}}while(0);v=P+1|0;if(v>>>0>=a>>>0)break;else{j=O;g=Q;z=R;o=S;x=T;l=U;k=V}}}f[b>>2]=A;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[y>>2]=K+(~((K+-4-J|0)>>>2)<<2);lp(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);lp(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);lp(ca)}h=1;u=c;return h|0}function Tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Og(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=ip(k)|0;Dh(d|0,0,k|0)|0;i=ip(k)|0;Dh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){jp(i);jp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+12|0;w=e<<2;if(s-m>>2>>>0>1){x=m;y=u;z=1}else Eo(r);while(1){u=f[x+(z<<2)>>2]|0;if(q)Dh(d|0,0,w|0)|0;if((u|0)!=-1){m=f[a>>2]|0;s=u;A=0;while(1){B=f[m+(s<<2)>>2]|0;if((B|0)!=-1){C=f[k>>2]|0;D=f[l>>2]|0;E=f[D+(f[C+(B<<2)>>2]<<2)>>2]|0;F=B+1|0;G=((F>>>0)%3|0|0)==0?B+-2|0:F;if((G|0)==-1)H=-1;else H=f[C+(G<<2)>>2]|0;G=f[D+(H<<2)>>2]|0;F=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((F|0)==-1)I=-1;else I=f[C+(F<<2)>>2]|0;F=f[D+(I<<2)>>2]|0;if((E|0)<(z|0)&(G|0)<(z|0)&(F|0)<(z|0)){D=X(E,e)|0;E=X(G,e)|0;G=X(F,e)|0;if(q){F=0;do{f[i+(F<<2)>>2]=(f[c+(F+G<<2)>>2]|0)+(f[c+(F+E<<2)>>2]|0)-(f[c+(F+D<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0));if(q){F=0;do{D=d+(F<<2)|0;f[D>>2]=(f[D>>2]|0)+(f[i+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0))}}J=A+1|0}else J=A}else J=A;F=(((s>>>0)%3|0|0)==0?2:-1)+s|0;do if((F|0)!=-1?(D=f[m+(F<<2)>>2]|0,(D|0)!=-1):0)if(!((D>>>0)%3|0)){K=D+2|0;break}else{K=D+-1|0;break}else K=-1;while(0);s=(K|0)==(u|0)?-1:K;if((s|0)==-1)break;else A=J}A=X(z,e)|0;if(J){if(q){s=0;do{u=d+(s<<2)|0;f[u>>2]=(f[u>>2]|0)/(J|0)|0;s=s+1|0}while((s|0)!=(e|0))}s=b+(A<<2)|0;u=c+(A<<2)|0;if((y|0)>0){m=0;do{F=f[d+(m<<2)>>2]|0;D=f[n>>2]|0;if((F|0)>(D|0)){E=f[o>>2]|0;f[E+(m<<2)>>2]=D;L=E}else{E=f[p>>2]|0;D=f[o>>2]|0;f[D+(m<<2)>>2]=(F|0)<(E|0)?E:F;L=D}m=m+1|0;M=f[g>>2]|0}while((m|0)<(M|0));if((M|0)>0){m=0;do{D=(f[s+(m<<2)>>2]|0)+(f[L+(m<<2)>>2]|0)|0;F=u+(m<<2)|0;f[F>>2]=D;if((D|0)<=(f[n>>2]|0)){if((D|0)<(f[p>>2]|0)){N=(f[v>>2]|0)+D|0;t=70}}else{N=D-(f[v>>2]|0)|0;t=70}if((t|0)==70){t=0;f[F>>2]=N}m=m+1|0;F=f[g>>2]|0}while((m|0)<(F|0));O=F}else O=M}else O=y}else{P=A;t=48}}else{P=X(z,e)|0;t=48}if((t|0)==48){t=0;m=c+((X(z+-1|0,e)|0)<<2)|0;u=b+(P<<2)|0;s=c+(P<<2)|0;if((y|0)>0){F=0;do{D=f[m+(F<<2)>>2]|0;E=f[n>>2]|0;if((D|0)>(E|0)){G=f[o>>2]|0;f[G+(F<<2)>>2]=E;Q=G}else{G=f[p>>2]|0;E=f[o>>2]|0;f[E+(F<<2)>>2]=(D|0)<(G|0)?G:D;Q=E}F=F+1|0;R=f[g>>2]|0}while((F|0)<(R|0));if((R|0)>0){F=0;do{m=(f[u+(F<<2)>>2]|0)+(f[Q+(F<<2)>>2]|0)|0;A=s+(F<<2)|0;f[A>>2]=m;if((m|0)<=(f[n>>2]|0)){if((m|0)<(f[p>>2]|0)){S=(f[v>>2]|0)+m|0;t=58}}else{S=m-(f[v>>2]|0)|0;t=58}if((t|0)==58){t=0;f[A>>2]=S}F=F+1|0;A=f[g>>2]|0}while((F|0)<(A|0));O=A}else O=R}else O=y}z=z+1|0;if((z|0)>=(j|0)){t=22;break}x=f[r>>2]|0;if((f[h>>2]|0)-x>>2>>>0<=z>>>0){t=23;break}else y=O}if((t|0)==22){jp(i);jp(d);return 1}else if((t|0)==23)Eo(r);return 0}function Ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Og(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=ip(k)|0;Dh(d|0,0,k|0)|0;i=ip(k)|0;Dh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){jp(i);jp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+64|0;w=k+28|0;x=e<<2;if(s-m>>2>>>0>1){y=m;z=u;A=1}else Eo(r);while(1){u=f[y+(A<<2)>>2]|0;if(q)Dh(d|0,0,x|0)|0;if((u|0)!=-1){m=f[k>>2]|0;s=u;B=0;while(1){if(((f[m+(s>>>5<<2)>>2]&1<<(s&31)|0)==0?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(s<<2)>>2]|0,(C|0)!=-1):0)?(D=f[w>>2]|0,E=f[l>>2]|0,F=f[E+(f[D+(C<<2)>>2]<<2)>>2]|0,G=C+1|0,H=f[E+(f[D+((((G>>>0)%3|0|0)==0?C+-2|0:G)<<2)>>2]<<2)>>2]|0,G=f[E+(f[D+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(F|0)<(A|0)&(H|0)<(A|0)&(G|0)<(A|0)):0){C=X(F,e)|0;F=X(H,e)|0;H=X(G,e)|0;if(q){G=0;do{f[i+(G<<2)>>2]=(f[c+(G+H<<2)>>2]|0)+(f[c+(G+F<<2)>>2]|0)-(f[c+(G+C<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0));if(q){G=0;do{C=d+(G<<2)|0;f[C>>2]=(f[C>>2]|0)+(f[i+(G<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0))}}I=B+1|0}else I=B;G=(((s>>>0)%3|0|0)==0?2:-1)+s|0;do if(((G|0)!=-1?(f[m+(G>>>5<<2)>>2]&1<<(G&31)|0)==0:0)?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(G<<2)>>2]|0,(C|0)!=-1):0)if(!((C>>>0)%3|0)){J=C+2|0;break}else{J=C+-1|0;break}else J=-1;while(0);s=(J|0)==(u|0)?-1:J;if((s|0)==-1)break;else B=I}B=X(A,e)|0;if(I){if(q){s=0;do{u=d+(s<<2)|0;f[u>>2]=(f[u>>2]|0)/(I|0)|0;s=s+1|0}while((s|0)!=(e|0))}s=b+(B<<2)|0;u=c+(B<<2)|0;if((z|0)>0){m=0;do{G=f[d+(m<<2)>>2]|0;C=f[n>>2]|0;if((G|0)>(C|0)){F=f[o>>2]|0;f[F+(m<<2)>>2]=C;K=F}else{F=f[p>>2]|0;C=f[o>>2]|0;f[C+(m<<2)>>2]=(G|0)<(F|0)?F:G;K=C}m=m+1|0;L=f[g>>2]|0}while((m|0)<(L|0));if((L|0)>0){m=0;do{C=(f[s+(m<<2)>>2]|0)+(f[K+(m<<2)>>2]|0)|0;G=u+(m<<2)|0;f[G>>2]=C;if((C|0)<=(f[n>>2]|0)){if((C|0)<(f[p>>2]|0)){M=(f[v>>2]|0)+C|0;t=68}}else{M=C-(f[v>>2]|0)|0;t=68}if((t|0)==68){t=0;f[G>>2]=M}m=m+1|0;G=f[g>>2]|0}while((m|0)<(G|0));N=G}else N=L}else N=z}else{O=B;t=46}}else{O=X(A,e)|0;t=46}if((t|0)==46){t=0;m=c+((X(A+-1|0,e)|0)<<2)|0;u=b+(O<<2)|0;s=c+(O<<2)|0;if((z|0)>0){G=0;do{C=f[m+(G<<2)>>2]|0;F=f[n>>2]|0;if((C|0)>(F|0)){H=f[o>>2]|0;f[H+(G<<2)>>2]=F;P=H}else{H=f[p>>2]|0;F=f[o>>2]|0;f[F+(G<<2)>>2]=(C|0)<(H|0)?H:C;P=F}G=G+1|0;Q=f[g>>2]|0}while((G|0)<(Q|0));if((Q|0)>0){G=0;do{m=(f[u+(G<<2)>>2]|0)+(f[P+(G<<2)>>2]|0)|0;B=s+(G<<2)|0;f[B>>2]=m;if((m|0)<=(f[n>>2]|0)){if((m|0)<(f[p>>2]|0)){R=(f[v>>2]|0)+m|0;t=56}}else{R=m-(f[v>>2]|0)|0;t=56}if((t|0)==56){t=0;f[B>>2]=R}G=G+1|0;B=f[g>>2]|0}while((G|0)<(B|0));N=B}else N=Q}else N=z}A=A+1|0;if((A|0)>=(j|0)){t=22;break}y=f[r>>2]|0;if((f[h>>2]|0)-y>>2>>>0<=A>>>0){t=23;break}else z=N}if((t|0)==22){jp(i);jp(d);return 1}else if((t|0)==23)Eo(r);return 0}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Ul(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Ul(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if(z>>>0>=(((f[a+220>>2]|0)-A|0)/144|0)>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=Ul(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=I;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{Dc(e,a,E);F=f[e>>2]|0;break}case 1:{Ud(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(D|0){v=0;u=d;return v|0}D=n<<24>>24;if(n<<24>>24<0){v=0;u=d;return v|0}n=Yk(88)|0;F=f[a+216>>2]|0;a=F+(D*144|0)+104|0;f[n+4>>2]=0;f[n>>2]=3124;E=n+12|0;f[E>>2]=3148;x=n+64|0;f[x>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;m=n+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[n+76>>2]=o;f[n+80>>2]=a;f[n+84>>2]=0;s=g+4|0;f[s>>2]=3148;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=F+(D*144|0)+4|0;f[i>>2]=3148;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[F+(D*144|0)+68>>2]|0;D=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;Hf(i+8|0,D,e);Ra[f[(f[i>>2]|0)+8>>2]&127](i);Be(j,i);Be(e,j);f[g>>2]=f[e+4>>2];D=g+4|0;Qe(D,e)|0;f[e>>2]=3148;t=f[e+20>>2]|0;if(t|0)lp(t);t=f[e+8>>2]|0;if(t|0)lp(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=n;f[j>>2]=3148;o=f[j+20>>2]|0;if(o|0)lp(o);o=f[j+8>>2]|0;if(o|0)lp(o);f[n+8>>2]=f[g>>2];Qe(E,D)|0;D=n+44|0;E=g+36|0;f[D>>2]=f[E>>2];f[D+4>>2]=f[E+4>>2];f[D+8>>2]=f[E+8>>2];f[D+12>>2]=f[E+12>>2];b[D+16>>0]=b[E+16>>0]|0;Te(x,f[w>>2]|0,f[r>>2]|0);x=n;f[i>>2]=3148;n=f[i+20>>2]|0;if(n|0)lp(n);n=f[i+8>>2]|0;if(n|0)lp(n);n=f[w>>2]|0;if(n|0){w=f[r>>2]|0;if((w|0)!=(n|0))f[r>>2]=w+(~((w+-4-n|0)>>>2)<<2);lp(n)}f[s>>2]=3148;s=f[g+24>>2]|0;if(s|0)lp(s);s=f[g+12>>2]|0;if(s|0)lp(s);G=x}x=Yk(64)|0;f[k>>2]=G;yj(x,k);G=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Ra[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Ra[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){n=c+1|0;w=s;if(n>>>0>g>>>0){ef(x,n-g|0);break}if(n>>>0>>0?(r=k+(n<<2)|0,(w|0)!=(r|0)):0){n=w;do{w=n+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);n=f[l>>2]|0}while((n|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Ra[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Wb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;e=d;g=a+144|0;i=f[g>>2]|0;k=Ma[f[(f[i>>2]|0)+32>>2]&127](i)|0;do if((((h[k+36>>0]|0)<<8|(h[k+37>>0]|0))&65535)<514){i=a+40|0;l=i;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Af(i,1,e)|0){l=a;m=i;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=e;o=f[i>>2]|0;p=f[i+4>>2]|0;i=a+8|0;q=a+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;r=Wl(f[i>>2]|0,f[i+4>>2]|0,s|0,t|0)|0;i=I;if(!(p>>>0>i>>>0|(p|0)==(i|0)&o>>>0>r>>>0)){r=Ul(s|0,t|0,o|0,p|0)|0;p=q;f[p>>2]=r;f[p+4>>2]=I;break}}v=0;u=d;return v|0}while(0);do if((j[a+38>>1]|0)>=514){if(!(ud(a+80|0,a)|0)){v=0;u=d;return v|0}}else{k=a+96|0;l=k;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Af(k,1,e)|0){l=a;m=k;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=e;p=f[k>>2]|0;r=f[k+4>>2]|0;k=a+8|0;q=a+16|0;o=q;t=f[o>>2]|0;s=f[o+4>>2]|0;o=Wl(f[k>>2]|0,f[k+4>>2]|0,t|0,s|0)|0;k=I;if(!(r>>>0>k>>>0|(r|0)==(k|0)&p>>>0>o>>>0)){o=Ul(t|0,s|0,p|0,r|0)|0;r=q;f[r>>2]=o;f[r+4>>2]=I;break}}v=0;u=d;return v|0}while(0);if(!(Zg(a)|0)){v=0;u=d;return v|0}l=c;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=f[g>>2]|0;l=Ma[f[(f[m>>2]|0)+32>>2]&127](m)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){m=f[g>>2]|0;n=(Ma[f[(f[m>>2]|0)+32>>2]&127](m)|0)+36|0;if(((h[n>>0]|0)<<8&65535)<512){n=c+8|0;m=f[n>>2]|0;r=f[n+4>>2]|0;n=c+16|0;o=n;q=f[o>>2]|0;p=Ul(q|0,f[o+4>>2]|0,4,0)|0;o=I;if(!((r|0)<(o|0)|(r|0)==(o|0)&m>>>0

>>0)){m=(f[c>>2]|0)+q|0;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=q;m=n;f[m>>2]=p;f[m+4>>2]=o;w=q;x=19}}else if(Ph(e,c)|0){w=f[e>>2]|0;x=19}if((((x|0)==19?(q=f[a+152>>2]|0,w>>>0>>0):0)?(o=c+8|0,m=f[o+4>>2]|0,p=c+16|0,n=p,r=f[n>>2]|0,s=f[n+4>>2]|0,(m|0)>(s|0)|((m|0)==(s|0)?(f[o>>2]|0)>>>0>r>>>0:0)):0)?(o=b[(f[c>>2]|0)+r>>0]|0,m=Ul(r|0,s|0,1,0)|0,s=p,f[s>>2]=m,f[s+4>>2]=I,o<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;y=q;break}v=0;u=d;return v|0}else{f[a+176>>2]=2;f[a+180>>2]=7;y=f[a+152>>2]|0}while(0);if((y|0)<0){v=0;u=d;return v|0}w=a+156|0;f[e>>2]=0;x=a+160|0;g=f[x>>2]|0;l=f[w>>2]|0;q=g-l>>2;o=l;l=g;if(y>>>0<=q>>>0)if(y>>>0>>0?(g=o+(y<<2)|0,(l|0)!=(g|0)):0){f[x>>2]=l+(~((l+-4-g|0)>>>2)<<2);z=2;A=7}else{z=2;A=7}else{ag(w,y-q|0,e);z=f[a+176>>2]|0;A=f[a+180>>2]|0}q=A-z+1|0;z=a+184|0;A=a+188|0;y=f[A>>2]|0;w=f[z>>2]|0;g=(y-w|0)/12|0;l=w;w=y;if(q>>>0<=g>>>0)if(q>>>0>>0?(x=l+(q*12|0)|0,(w|0)!=(x|0)):0){l=w;while(1){w=l+-12|0;f[A>>2]=w;o=f[w>>2]|0;if(!o)B=w;else{w=l+-8|0;s=f[w>>2]|0;if((s|0)!=(o|0))f[w>>2]=s+(~((s+-4-o|0)>>>2)<<2);lp(o);B=f[A>>2]|0}if((B|0)==(x|0))break;else l=B}C=B}else C=y;else{Fe(z,q-g|0);C=f[A>>2]|0}g=a+196|0;q=f[z>>2]|0;y=(C-q|0)/12|0;B=a+200|0;a=f[B>>2]|0;l=f[g>>2]|0;x=a-l>>2;o=l;l=a;if(y>>>0<=x>>>0)if(y>>>0>>0?(a=o+(y<<2)|0,(l|0)!=(a|0)):0){f[B>>2]=l+(~((l+-4-a|0)>>>2)<<2);D=C;E=q}else{D=C;E=q}else{Og(g,y-x|0);D=f[A>>2]|0;E=f[z>>2]|0}if((D|0)==(E|0)){v=1;u=d;return v|0}E=0;do{Ph(e,c)|0;D=f[e>>2]|0;if(D|0){x=f[z>>2]|0;y=x+(E*12|0)|0;q=x+(E*12|0)+4|0;C=f[q>>2]|0;a=f[y>>2]|0;l=C-a>>2;B=a;a=C;if(D>>>0<=l>>>0)if(D>>>0>>0?(C=B+(D<<2)|0,(a|0)!=(C|0)):0){f[q>>2]=a+(~((a+-4-C|0)>>>2)<<2);F=x;G=D}else{F=x;G=D}else{Og(y,D-l|0);F=f[z>>2]|0;G=f[e>>2]|0}yh(G,1,c,f[F+(E*12|0)>>2]|0)|0;f[(f[g>>2]|0)+(E<<2)>>2]=f[e>>2]}E=E+1|0}while(E>>>0<(((f[A>>2]|0)-(f[z>>2]|0)|0)/12|0)>>>0);v=1;u=d;return v|0}function Xb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4120]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((h|0)==(f[4121]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}f[4118]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4116]=f[4116]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=h;n=i;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=16768+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[4117]=f[4117]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=h;n=i;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=e>>>0)return;a=e+4|0;b=f[a>>2]|0;if(!(b&1))return;if(!(b&2)){r=f[4121]|0;if((e|0)==(f[4122]|0)){s=(f[4119]|0)+n|0;f[4119]=s;f[4122]=m;f[m+4>>2]=s|1;if((m|0)!=(r|0))return;f[4121]=0;f[4118]=0;return}if((e|0)==(r|0)){r=(f[4118]|0)+n|0;f[4118]=r;f[4121]=l;f[m+4>>2]=r|1;f[l+r>>2]=r;return}r=(b&-8)+n|0;s=b>>>3;do if(b>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4116]=f[4116]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;i=16768+(c<<2)|0;if((e|0)==(f[i>>2]|0)){f[i>>2]=u;if(!u){f[4117]=f[4117]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;i=f[c>>2]|0;if(i|0){f[u+16>>2]=i;f[i+24>>2]=u}i=f[c+4>>2]|0;if(i|0){f[u+20>>2]=i;f[i+24>>2]=u}}}while(0);f[m+4>>2]=r|1;f[l+r>>2]=r;if((m|0)==(f[4121]|0)){f[4118]=r;return}else x=r}else{f[a>>2]=b&-2;f[m+4>>2]=n|1;f[l+n>>2]=n;x=n}n=x>>>3;if(x>>>0<256){l=16504+(n<<1<<2)|0;b=f[4116]|0;a=1<>2]|0}f[y>>2]=m;f[z+12>>2]=m;f[m+8>>2]=z;f[m+12>>2]=l;return}l=x>>>8;if(l)if(x>>>0>16777215)A=31;else{z=(l+1048320|0)>>>16&8;y=l<>>16&4;a=y<>>16&2;b=14-(l|z|y)+(a<>>15)|0;A=x>>>(b+7|0)&1|b<<1}else A=0;b=16768+(A<<2)|0;f[m+28>>2]=A;f[m+20>>2]=0;f[m+16>>2]=0;y=f[4117]|0;a=1<>>1)|0);l=f[b>>2]|0;while(1){if((f[l+4>>2]&-8|0)==(x|0)){B=73;break}C=l+16+(z>>>31<<2)|0;n=f[C>>2]|0;if(!n){B=72;break}else{z=z<<1;l=n}}if((B|0)==72){f[C>>2]=m;f[m+24>>2]=l;f[m+12>>2]=m;f[m+8>>2]=m;break}else if((B|0)==73){z=l+8|0;t=f[z>>2]|0;f[t+12>>2]=m;f[z>>2]=m;f[m+8>>2]=t;f[m+12>>2]=l;f[m+24>>2]=0;break}}else{f[4117]=y|a;f[b>>2]=m;f[m+24>>2]=b;f[m+12>>2]=m;f[m+8>>2]=m}while(0);m=(f[4124]|0)+-1|0;f[4124]=m;if(!m)D=16920;else return;while(1){m=f[D>>2]|0;if(!m)break;else D=m+8|0}f[4124]=-1;return}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ka,F=Ka,G=Ka,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=g+(j+4)|0;m=e;o=d-j|0}else{l=g;m=i;o=i}switch(o|0){case 3:{p=h[l+2>>0]<<16^m;q=6;break}case 2:{p=m;q=6;break}case 1:{r=m;q=7;break}default:s=m}if((q|0)==6){r=h[l+1>>0]<<8^p;q=7}if((q|0)==7)s=X(h[l>>0]^r,1540483477)|0;r=X(s>>>13^s,1540483477)|0;s=r>>>15^r;r=a+4|0;l=f[r>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;o=(m&l|0)==0;if(!o)if(s>>>0>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&m;j=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((j|0)!=0?(d=f[j>>2]|0,(d|0)!=0):0){j=(i|0)==0;if(o){if(j){o=d;while(1){e=f[o+4>>2]|0;if(!((e|0)==(s|0)|(e&m|0)==(t|0))){u=t;break a}e=b[o+8+11>>0]|0;if(!((e<<24>>24<0?f[o+12>>2]|0:e&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else x=d;b:while(1){o=f[x+4>>2]|0;if(!((o|0)==(s|0)|(o&m|0)==(t|0))){u=t;break a}o=x+8|0;e=b[o+11>>0]|0;k=e<<24>>24<0;y=e&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){e=f[o>>2]|0;if(k)if(!(dj(e,g,i)|0)){v=x;q=63;break b}else break;if((e&255)<<24>>24==(b[g>>0]|0)){e=y;z=o;A=g;do{e=e+-1|0;z=z+1|0;if(!e){v=x;q=63;break b}A=A+1|0}while((b[z>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(j){m=d;while(1){o=f[m+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)B=o;else B=(o>>>0)%(l>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[m+8+11>>0]|0;if(!((o<<24>>24<0?f[m+12>>2]|0:o&255)|0)){v=m;break}m=f[m>>2]|0;if(!m){u=t;break a}}w=v+20|0;return w|0}else C=d;c:while(1){m=f[C+4>>2]|0;if((m|0)!=(s|0)){if(m>>>0>>0)D=m;else D=(m>>>0)%(l>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}m=C+8|0;j=b[m+11>>0]|0;o=j<<24>>24<0;y=j&255;do if(((o?f[C+12>>2]|0:y)|0)==(i|0)){j=f[m>>2]|0;if(o)if(!(dj(j,g,i)|0)){v=C;q=63;break c}else break;if((j&255)<<24>>24==(b[g>>0]|0)){j=y;k=m;A=g;do{j=j+-1|0;k=k+1|0;if(!j){v=C;q=63;break c}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=Yk(24)|0;zh(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(l>>>0);G=$(n[a+16>>2]);do if(p|E>$(F*G)){C=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;g=~~$(W($(E/G)))>>>0;qg(a,C>>>0>>0?g:C);C=f[r>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=l;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){l=a+8|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[u>>2]=l;l=f[t>>2]|0;if(l|0){u=f[l+4>>2]|0;l=H+-1|0;if(l&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&l;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Zb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Og(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=ip(i)|0;Dh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){jp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=v;v=1;while(1){if(t>>>0<=v>>>0){u=24;break}p=f[o+(v<<2)>>2]|0;q=X(v,e)|0;if((p|0)!=-1?(w=f[(f[a>>2]|0)+(p<<2)>>2]|0,(w|0)!=-1):0){p=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[p+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[p+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[p+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(v|0)&(A|0)<(v|0)&(z|0)<(v|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((s|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;p=f[h>>2]|0;if((A|0)>(p|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=p;D=w}else{w=f[l>>2]|0;p=f[n>>2]|0;f[p+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=p}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{p=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=p;if((p|0)<=(f[h>>2]|0)){if((p|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+p|0;u=56}}else{F=p-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=s}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(v+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((s|0)>0){A=0;do{p=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((p|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(p|0)<(H|0)?H:p;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=s}v=v+1|0;if((v|0)>=(t|0)){u=22;break}else s=G}if((u|0)==22){jp(j);return 1}else if((u|0)==24)Eo(m);return 0}function _b(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Og(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=ip(i)|0;Dh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){jp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=v;v=1;while(1){if(t>>>0<=v>>>0){u=24;break}q=f[p+(v<<2)>>2]|0;w=X(v,e)|0;if((((q|0)!=-1?(f[(f[k>>2]|0)+(q>>>5<<2)>>2]&1<<(q&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(q<<2)>>2]|0,(x|0)!=-1):0)?(q=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[q+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[q+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[q+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(v|0)&(B|0)<(v|0)&(A|0)<(v|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((s|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;q=f[h>>2]|0;if((B|0)>(q|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=q;C=y}else{y=f[l>>2]|0;q=f[n>>2]|0;f[q+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=q}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{q=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=q;if((q|0)<=(f[h>>2]|0)){if((q|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+q|0;u=53}}else{E=q-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=s}else{z=c+((X(v+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((s|0)>0){B=0;do{q=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((q|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(q|0)<(G|0)?G:q;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=s}v=v+1|0;if((v|0)>=(t|0)){u=22;break}else s=F}if((u|0)==22){jp(j);return 1}else if((u|0)==24)Eo(m);return 0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+672|0;g=e;i=e+656|0;j=e+4|0;k=c+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Ul(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;u=e;return r|0}q=(f[c>>2]|0)+p|0;p=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;b[a>>0]=p;b[a+1>>0]=p>>8;b[a+2>>0]=p>>16;b[a+3>>0]=p>>24;q=l;m=f[q>>2]|0;o=f[q+4>>2]|0;q=Ul(m|0,o|0,4,0)|0;n=l;f[n>>2]=q;f[n+4>>2]=I;if(p>>>0>31){r=0;u=e;return r|0}p=k;n=f[p>>2]|0;s=f[p+4>>2]|0;p=Ul(m|0,o|0,8,0)|0;o=I;if((s|0)<(o|0)|(s|0)==(o|0)&n>>>0

>>0){r=0;u=e;return r|0}p=a+4|0;n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;q=l;p=f[q>>2]|0;n=f[q+4>>2]|0;q=Ul(p|0,n|0,4,0)|0;o=l;f[o>>2]=q;f[o+4>>2]=I;o=a+12|0;s=k;m=f[s>>2]|0;t=f[s+4>>2]|0;s=Ul(p|0,n|0,8,0)|0;n=I;if((t|0)<(n|0)|(t|0)==(n|0)&m>>>0>>0){r=0;u=e;return r|0}s=(f[c>>2]|0)+q|0;q=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;b[o>>0]=q;b[o+1>>0]=q>>8;b[o+2>>0]=q>>16;b[o+3>>0]=q>>24;s=l;m=f[s>>2]|0;n=f[s+4>>2]|0;s=Ul(m|0,n|0,4,0)|0;t=l;f[t>>2]=s;f[t+4>>2]=I;t=a+16|0;a=k;k=f[a>>2]|0;p=f[a+4>>2]|0;a=Ul(m|0,n|0,8,0)|0;n=I;if((p|0)<(n|0)|(p|0)==(n|0)&k>>>0>>0){r=0;u=e;return r|0}a=(f[c>>2]|0)+s|0;s=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[t>>0]=s;b[t+1>>0]=s>>8;b[t+2>>0]=s>>16;b[t+3>>0]=s>>24;a=l;k=Ul(f[a>>2]|0,f[a+4>>2]|0,4,0)|0;a=l;f[a>>2]=k;f[a+4>>2]=I;if(s>>>0>6){f[g>>2]=s;Ml(13331,g)|0;r=0;u=e;return r|0}f[i>>2]=d;a:do if(!q)v=17;else{ih(d,q);switch(f[t>>2]|0){case 0:{ue(j,3);Pd(j,c,i)|0;xe(j);v=17;break a;break}case 1:{ue(j,3);Od(j,c,i)|0;xe(j);v=17;break a;break}case 2:{we(j,3);Rd(j,c,i)|0;De(j);v=17;break a;break}case 3:{we(j,3);Qd(j,c,i)|0;De(j);v=17;break a;break}case 4:{se(j,3);zd(j,c,i)|0;pe(j);v=17;break a;break}case 5:{se(j,3);yd(j,c,i)|0;pe(j);v=17;break a;break}case 6:{se(j,3);xd(j,c,i)|0;pe(j);v=17;break a;break}default:{w=0;break a}}}while(0);if((v|0)==17)w=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[o>>2]|0);r=w;u=e;return r|0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Ul(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=Yk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Ul(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(dj(d,12975,5)|0){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=12981;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Ul(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=Yk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Ul(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=Yk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Ul(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Yk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Ul(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Ul(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Ul(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=Yk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12945;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=e;return}function bc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0;d=u;u=u+80|0;e=d+76|0;g=d;i=d+72|0;j=d+64|0;k=d+68|0;l=a+28|0;do if(((h[(f[l>>2]|0)+36>>0]|0)<<8&65535)<512){m=c+8|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c+16|0;p=m;q=f[p>>2]|0;r=Ul(q|0,f[p+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&n>>>0>>0){s=0;u=d;return s|0}else{n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[e>>2]=q;n=m;f[n>>2]=r;f[n+4>>2]=p;t=q;break}}else if(Ph(e,c)|0){t=f[e>>2]|0;break}else{s=0;u=d;return s|0}while(0);if(!t){s=0;u=d;return s|0}q=a+4|0;p=a+8|0;n=f[p>>2]|0;r=f[q>>2]|0;m=n-r>>2;o=r;r=n;if(t>>>0>m>>>0){Og(q,t-m|0);if(!(f[e>>2]|0)){s=1;u=d;return s|0}}else if(t>>>0>>0?(m=o+(t<<2)|0,(r|0)!=(m|0)):0)f[p>>2]=r+(~((r+-4-m|0)>>>2)<<2);m=f[a+32>>2]|0;r=c+8|0;p=c+16|0;t=g+60|0;o=m+8|0;n=a+16|0;v=a+20|0;a=0;while(1){w=r;x=f[w>>2]|0;y=f[w+4>>2]|0;w=p;z=f[w>>2]|0;A=f[w+4>>2]|0;if(!((y|0)>(A|0)|(y|0)==(A|0)&x>>>0>z>>>0)){s=0;B=49;break}w=f[c>>2]|0;C=b[w+z>>0]|0;D=Ul(z|0,A|0,1,0)|0;E=I;F=p;f[F>>2]=D;f[F+4>>2]=E;if(!((y|0)>(E|0)|(y|0)==(E|0)&x>>>0>D>>>0)){s=0;B=49;break}E=b[w+D>>0]|0;D=Ul(z|0,A|0,2,0)|0;F=I;G=p;f[G>>2]=D;f[G+4>>2]=F;if(!((y|0)>(F|0)|(y|0)==(F|0)&x>>>0>D>>>0)){s=0;B=49;break}F=b[w+D>>0]|0;D=Ul(z|0,A|0,3,0)|0;G=I;H=p;f[H>>2]=D;f[H+4>>2]=G;if(!((y|0)>(G|0)|(y|0)==(G|0)&x>>>0>D>>>0)){s=0;B=49;break}x=b[w+D>>0]|0;D=Ul(z|0,A|0,4,0)|0;A=p;f[A>>2]=D;f[A+4>>2]=I;A=E&255;if((E+-1&255)>10){s=0;B=49;break}Oj(g);E=X(Zj(A)|0,F&255)|0;Vh(g,C&255,0,F,A,x<<24>>24!=0,E,((E|0)<0)<<31>>31,0,0);E=f[l>>2]|0;if((((h[E+36>>0]|0)<<8|(h[E+37>>0]|0))&65535)<259){E=r;x=f[E>>2]|0;A=f[E+4>>2]|0;E=p;F=f[E>>2]|0;C=Ul(F|0,f[E+4>>2]|0,2,0)|0;E=I;if((A|0)<(E|0)|(A|0)==(E|0)&x>>>0>>0){B=47;break}x=(f[c>>2]|0)+F|0;F=h[x>>0]|h[x+1>>0]<<8;x=p;f[x>>2]=C;f[x+4>>2]=E;E=F&65535;f[i>>2]=E;J=E}else{Ph(i,c)|0;J=f[i>>2]|0}f[t>>2]=J;E=Yk(96)|0;zj(E,g);f[j>>2]=E;E=Of(m,j)|0;F=f[j>>2]|0;f[j>>2]=0;if(F|0){x=F+88|0;C=f[x>>2]|0;f[x>>2]=0;if(C|0){x=f[C+8>>2]|0;if(x|0){A=C+12|0;if((f[A>>2]|0)!=(x|0))f[A>>2]=x;lp(x)}lp(C)}C=f[F+68>>2]|0;if(C|0){x=F+72|0;A=f[x>>2]|0;if((A|0)!=(C|0))f[x>>2]=A+(~((A+-4-C|0)>>>2)<<2);lp(C)}C=F+64|0;A=f[C>>2]|0;f[C>>2]=0;if(A|0){C=f[A>>2]|0;if(C|0){x=A+4|0;if((f[x>>2]|0)!=(C|0))f[x>>2]=C;lp(C)}lp(A)}lp(F)}f[(f[(f[o>>2]|0)+(E<<2)>>2]|0)+60>>2]=f[i>>2];f[(f[q>>2]|0)+(a<<2)>>2]=E;F=f[v>>2]|0;A=f[n>>2]|0;C=F-A>>2;x=A;if((E|0)<(C|0))K=x;else{A=E+1|0;f[k>>2]=-1;D=F;if(A>>>0<=C>>>0)if(A>>>0>>0?(F=x+(A<<2)|0,(D|0)!=(F|0)):0){f[v>>2]=D+(~((D+-4-F|0)>>>2)<<2);L=x}else L=x;else{ag(n,A-C|0,k);L=f[n>>2]|0}K=L}f[K+(E<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){s=1;B=49;break}}if((B|0)==47){s=0;u=d;return s|0}else if((B|0)==49){u=d;return s|0}return 0}function cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;lp(k)}lp(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);lp(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;lp(m)}lp(n)}lp(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=j;p=g;q=24}}else{o=h;p=e;q=24}if((q|0)==24){q=o;do{o=q+-4|0;f[c>>2]=o;e=f[o>>2]|0;f[o>>2]=0;if(e|0){o=e+88|0;h=f[o>>2]|0;f[o>>2]=0;if(h|0){o=f[h+8>>2]|0;if(o|0){g=h+12|0;if((f[g>>2]|0)!=(o|0))f[g>>2]=o;lp(o)}lp(h)}h=f[e+68>>2]|0;if(h|0){o=e+72|0;g=f[o>>2]|0;if((g|0)!=(h|0))f[o>>2]=g+(~((g+-4-h|0)>>>2)<<2);lp(h)}h=e+64|0;g=f[h>>2]|0;f[h>>2]=0;if(g|0){h=f[g>>2]|0;if(h|0){o=g+4|0;if((f[o>>2]|0)!=(h|0))f[o>>2]=h;lp(h)}lp(g)}lp(e)}q=f[c>>2]|0}while((q|0)!=(p|0))}p=f[a+4>>2]|0;a:do if(p|0){q=p+44|0;c=f[q>>2]|0;e=f[p+40>>2]|0;while(1){if((e|0)==(c|0))break a;r=e+4|0;if((f[(f[e>>2]|0)+40>>2]|0)==(i|0))break;else e=r}if((r|0)!=(c|0)){g=r;h=e;do{o=f[g>>2]|0;f[g>>2]=0;j=f[h>>2]|0;f[h>>2]=o;if(j|0){jh(j);lp(j)}g=g+4|0;h=h+4|0}while((g|0)!=(c|0));g=f[q>>2]|0;if((g|0)==(h|0))break;else{s=g;t=h}}else{s=c;t=e}g=s;do{j=g+-4|0;f[q>>2]=j;o=f[j>>2]|0;f[j>>2]=0;if(o|0){jh(o);lp(o)}g=f[q>>2]|0}while((g|0)!=(t|0))}while(0);b:do if((d|0)<5){t=f[a+20+(d*12|0)>>2]|0;s=a+20+(d*12|0)+4|0;r=f[s>>2]|0;i=r;c:do if((t|0)==(r|0))u=t;else{p=t;while(1){if((f[p>>2]|0)==(b|0)){u=p;break c}p=p+4|0;if((p|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){t=u+4|0;p=i-t|0;g=p>>2;if(!g)v=r;else{ok(u|0,t|0,p|0)|0;v=f[s>>2]|0}p=u+(g<<2)|0;if((v|0)!=(p|0))f[s>>2]=v+(~((v+-4-p|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((p|0)!=(u|0)){g=p-u>>2;u=0;do{p=d+(u<<2)|0;v=f[p>>2]|0;if((v|0)>(b|0))f[p>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}g=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((g|0)!=(u|0)){v=g-u>>2;u=0;do{g=d+(u<<2)|0;p=f[g>>2]|0;if((p|0)>(b|0))f[g>>2]=p+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((p|0)==(u|0))return;d=p-u>>2;u=0;do{p=a+(u<<2)|0;g=f[p>>2]|0;if((g|0)>(b|0))f[p>>2]=g+-1;u=u+1|0}while(u>>>0>>0);return}function dc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=Ka,E=Ka,F=Ka,G=Ka,H=Ka,I=Ka,K=Ka,M=Ka,N=Ka,O=Ka,P=Ka,Q=0,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;t=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;t=q}}else{r=-1;t=-1}q=f[a+52>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=t>>>0)Eo(q);p=c;c=f[p+(t<<2)>>2]|0;if(m>>>0<=r>>>0)Eo(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)v=c;else{if((e|0)>0){v=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;t=0;do{f[m+(t<<2)>>2]=0;t=t+1|0}while((t|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;t=X(p,v)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;v=0;do{f[p+(v<<2)>>2]=f[d+(v+t<<2)>>2];v=v+1|0}while((v|0)<(f[r>>2]|0));u=g;return}r=f[a+72>>2]|0;v=X(r,c)|0;w=$(f[d+(v<<2)>>2]|0);x=$(f[d+(v+1<<2)>>2]|0);v=X(r,q)|0;y=$(f[d+(v<<2)>>2]|0);z=$(f[d+(v+1<<2)>>2]|0);if(!(y!=w|z!=x)){v=f[a+68>>2]|0;f[v>>2]=~~y;f[v+4>>2]=~~z;u=g;return}v=a+64|0;d=f[(f[v>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+60|0;r=f[e>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(d<<2)>>2]|0;else A=d;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];rb(r,h,A,j)|0;A=f[(f[v>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[e>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];rb(c,h,B,k)|0;B=f[(f[v>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[e>>2]|0;if(!(b[q+84>>0]|0))C=f[(f[q+68>>2]|0)+(B<<2)>>2]|0;else C=B;f[i>>2]=C;C=b[q+24>>0]|0;f[h>>2]=f[i>>2];rb(q,h,C,l)|0;D=$(n[l>>2]);E=$(n[k>>2]);F=$(D-E);D=$(n[l+4>>2]);G=$(n[k+4>>2]);H=$(D-G);D=$(n[l+8>>2]);I=$(n[k+8>>2]);K=$(D-I);D=$($(n[j>>2])-E);E=$($(n[j+4>>2])-G);G=$($(n[j+8>>2])-I);I=$($($($(F*F)+$(0.0))+$(H*H))+$(K*K));if(I>$(0.0)?1:(f[a+88>>2]|0)<258){M=$($($($($(F*D)+$(0.0))+$(H*E))+$(K*G))/I);N=$(D-$(F*M));F=$(E-$(H*M));H=$(G-$(K*M));O=M;P=$(L($($($(H*H)+$($(F*F)+$($(N*N)+$(0.0))))/I)))}else{O=$(0.0);P=$(0.0)}I=$(y-w);y=$(z-x);z=$(w+$(I*O));w=$(I*P);I=$(x+$(y*O));O=$(y*P);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;P=$(-w);y=$(I+(l?P:w));w=$(-O);P=$(z+(l?O:w));if(((n[s>>2]=P,f[s>>2]|0)&2147483647)>>>0>2139095040)Q=-2147483648;else Q=~~+J(+(+P+.5));l=f[a+68>>2]|0;f[l>>2]=Q;if(((n[s>>2]=y,f[s>>2]|0)&2147483647)>>>0>2139095040)R=-2147483648;else R=~~+J(+(+y+.5));f[l+4>>2]=R;u=g;return}function ec(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=Ka,w=Ka,x=Ka,y=Ka,z=0,A=0,B=0,C=Ka,D=Ka,E=Ka,F=Ka,G=Ka,H=Ka,I=Ka,K=Ka,M=Ka,N=Ka,O=Ka,P=0,Q=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+52>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Eo(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Eo(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)t=o;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+72|0;p=f[q>>2]|0;m=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+m<<2)>>2];t=t+1|0}while((t|0)<(f[q>>2]|0));u=g;return}q=f[a+72>>2]|0;t=X(q,o)|0;v=$(f[d+(t<<2)>>2]|0);w=$(f[d+(t+1<<2)>>2]|0);t=X(q,r)|0;x=$(f[d+(t<<2)>>2]|0);y=$(f[d+(t+1<<2)>>2]|0);if(!(x!=v|y!=w)){t=f[a+68>>2]|0;f[t>>2]=~~x;f[t+4>>2]=~~y;u=g;return}t=a+64|0;d=f[(f[t>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+60|0;q=f[e>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(d<<2)>>2]|0;else z=d;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];rb(q,h,z,j)|0;z=f[(f[t>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[e>>2]|0;if(!(b[o+84>>0]|0))A=f[(f[o+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[o+24>>0]|0;f[h>>2]=f[i>>2];rb(o,h,A,k)|0;A=f[(f[t>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[e>>2]|0;if(!(b[r+84>>0]|0))B=f[(f[r+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[r+24>>0]|0;f[h>>2]=f[i>>2];rb(r,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)?1:(f[a+88>>2]|0)<258){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;O=$(-v);x=$(H+(l?O:v));v=$(-N);O=$(y+(l?N:v));if(((n[s>>2]=O,f[s>>2]|0)&2147483647)>>>0>2139095040)P=-2147483648;else P=~~+J(+(+O+.5));l=f[a+68>>2]|0;f[l>>2]=P;if(((n[s>>2]=x,f[s>>2]|0)&2147483647)>>>0>2139095040)Q=-2147483648;else Q=~~+J(+(+x+.5));f[l+4>>2]=Q;u=g;return}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=k;k=0;w=0;while(1){x=f[(f[v+24>>2]|0)+(w<<2)>>2]|0;if((x|0)==-1){y=v;z=k}else{A=k+1|0;B=f[(f[l>>2]|0)+(((x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else dh(c,g);f[g>>2]=x;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=x;else{B=x+1|0;E=((B>>>0)%3|0|0)==0?x+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=x;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=x}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=k;x=f[s>>2]|0;if((x|0)==(f[t>>2]|0))dh(r,g);else{f[x>>2]=f[g>>2];f[s>>2]=x+4}x=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[x+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=E;E=k;H=A;while(1){I=F+1|0;J=((I>>>0)%3|0|0)==0?F+-2|0:I;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){I=H+1|0;K=f[(f[l>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else dh(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){dh(r,h);M=H;N=I;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=H;N=I;break}}else{M=E;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=M;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;I=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((I|0)==-1)break;J=f[(f[O+12>>2]|0)+(I<<2)>>2]|0;if((J|0)==-1)break;F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=F;if(!((F|0)!=-1?(F|0)!=(f[g>>2]|0):0)){P=O;Q=N;break b}else{E=M;H=N}}f[h>>2]=-1;P=O;Q=N}else{P=x;Q=A}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=x;Q=A}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2>>>0)break;else{v=y;k=z}}u=e;return}function gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;Eo(z)}else{A=a;B=0}while(1){f[j>>2]=f[A+(B<<2)>>2];f[d>>2]=f[j>>2];Ob(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Ul(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Ul(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;E=f[p>>2]|0;if((l|0)==0&(F|0)==0){G=h;H=E}else{J=((E|0)<0)<<31>>31;K=fl(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Li(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=fl(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Li(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=o;H=D?F:0-F|0}f[G>>2]=H;F=Pi(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C;N=a}else{L=D;M=f[m>>2]|0;N=f[o>>2]|0}if((L|0)<=-1){D=(N|0)>-1?N:0-N|0;if((M|0)<0)O=D;else O=(f[s>>2]|0)-D|0;D=(M|0)>-1?M:0-M|0;if((N|0)<0){P=O;Q=D}else{P=O;Q=(f[s>>2]|0)-D|0}}else{D=f[p>>2]|0;P=D+M|0;Q=D+N|0}D=(P|0)==0;a=(Q|0)==0;C=f[s>>2]|0;do if((Q|P|0)!=0?(F=(C|0)==(Q|0),E=(C|0)==(P|0),!(D&F|a&E)):0){if(D?(l=f[p>>2]|0,(l|0)<(Q|0)):0){R=0;S=(l<<1)-Q|0;break}if(E?(E=f[p>>2]|0,(E|0)>(Q|0)):0){R=P;S=(E<<1)-Q|0;break}if(F?(F=f[p>>2]|0,(F|0)>(P|0)):0){R=(F<<1)-P|0;S=Q;break}if(a){F=f[p>>2]|0;R=(F|0)<(P|0)?(F<<1)-P|0:P;S=0}else{R=P;S=Q}}else{R=C;S=C}while(0);f[i>>2]=R;f[r>>2]=S;C=B<<1;a=b+(C<<2)|0;D=c+(C<<2)|0;if((f[t>>2]|0)>0){C=R;F=0;while(1){E=f[v>>2]|0;if((C|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(C|0)<(l|0)?l:C;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;C=f[i+(E<<2)>>2]|0;F=E}if((U|0)>0){F=0;do{C=(f[a+(F<<2)>>2]|0)+(f[T+(F<<2)>>2]|0)|0;E=D+(F<<2)|0;f[E>>2]=C;if((C|0)<=(f[v>>2]|0)){if((C|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+C|0;W=40}}else{V=C-(f[y>>2]|0)|0;W=40}if((W|0)==40){W=0;f[E>>2]=V}F=F+1|0}while((F|0)<(f[t>>2]|0))}}B=B+1|0;if((B|0)>=(n|0)){W=3;break}F=f[g>>2]|0;A=f[F>>2]|0;if((f[F+4>>2]|0)-A>>2>>>0<=B>>>0){z=F;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)Eo(z);return 0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;Eo(z)}else{A=a;B=0}while(1){f[j>>2]=f[A+(B<<2)>>2];f[d>>2]=f[j>>2];Mb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Ul(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Ul(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;E=f[p>>2]|0;if((l|0)==0&(F|0)==0){G=h;H=E}else{J=((E|0)<0)<<31>>31;K=fl(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Li(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=fl(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Li(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=o;H=D?F:0-F|0}f[G>>2]=H;F=Pi(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C;N=a}else{L=D;M=f[m>>2]|0;N=f[o>>2]|0}if((L|0)<=-1){D=(N|0)>-1?N:0-N|0;if((M|0)<0)O=D;else O=(f[s>>2]|0)-D|0;D=(M|0)>-1?M:0-M|0;if((N|0)<0){P=O;Q=D}else{P=O;Q=(f[s>>2]|0)-D|0}}else{D=f[p>>2]|0;P=D+M|0;Q=D+N|0}D=(P|0)==0;a=(Q|0)==0;C=f[s>>2]|0;do if((Q|P|0)!=0?(F=(C|0)==(Q|0),E=(C|0)==(P|0),!(D&F|a&E)):0){if(D?(l=f[p>>2]|0,(l|0)<(Q|0)):0){R=0;S=(l<<1)-Q|0;break}if(E?(E=f[p>>2]|0,(E|0)>(Q|0)):0){R=P;S=(E<<1)-Q|0;break}if(F?(F=f[p>>2]|0,(F|0)>(P|0)):0){R=(F<<1)-P|0;S=Q;break}if(a){F=f[p>>2]|0;R=(F|0)<(P|0)?(F<<1)-P|0:P;S=0}else{R=P;S=Q}}else{R=C;S=C}while(0);f[i>>2]=R;f[r>>2]=S;C=B<<1;a=b+(C<<2)|0;D=c+(C<<2)|0;if((f[t>>2]|0)>0){C=R;F=0;while(1){E=f[v>>2]|0;if((C|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(C|0)<(l|0)?l:C;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;C=f[i+(E<<2)>>2]|0;F=E}if((U|0)>0){F=0;do{C=(f[a+(F<<2)>>2]|0)+(f[T+(F<<2)>>2]|0)|0;E=D+(F<<2)|0;f[E>>2]=C;if((C|0)<=(f[v>>2]|0)){if((C|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+C|0;W=40}}else{V=C-(f[y>>2]|0)|0;W=40}if((W|0)==40){W=0;f[E>>2]=V}F=F+1|0}while((F|0)<(f[t>>2]|0))}}B=B+1|0;if((B|0)>=(n|0)){W=3;break}F=f[g>>2]|0;A=f[F>>2]|0;if((f[F+4>>2]|0)-A>>2>>>0<=B>>>0){z=F;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)Eo(z);return 0}function ic(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>340){f[e>>2]=g+-341;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;n=j;do if((j|0)==(l|0)){o=f[a>>2]|0;p=o;if(i>>>0>o>>>0){q=i;r=((q-p>>2)+1|0)/-2|0;s=i+(r<<2)|0;t=n-q|0;q=t>>2;if(!q)v=i;else{ok(s|0,i|0,t|0)|0;v=f[g>>2]|0}t=s+(q<<2)|0;f[e>>2]=t;f[g>>2]=v+(r<<2);w=t;break}t=m-p>>1;p=(t|0)==0?1:t;if(p>>>0>1073741823){t=ra(8)|0;cn(t,13392);f[t>>2]=4748;va(t|0,1128,101)}t=Yk(p<<2)|0;r=t;q=t+(p>>>2<<2)|0;s=q;x=t+(p<<2)|0;if((i|0)==(j|0)){y=o;z=s}else{o=q;q=i;p=s;do{f[o>>2]=f[q>>2];o=p+4|0;p=o;q=q+4|0}while((q|0)!=(j|0));y=f[a>>2]|0;z=p}f[a>>2]=r;f[g>>2]=s;f[e>>2]=z;f[k>>2]=x;if(!y)w=z;else{lp(y);w=f[e>>2]|0}}else w=j;while(0);f[w>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;w=a+4|0;j=h-(f[w>>2]|0)|0;y=a+12|0;z=f[y>>2]|0;k=z-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;cn(g,13392);f[g>>2]=4748;va(g|0,1128,101)}g=Yk(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=Yk(4092)|0;f[d>>2]=k;cf(c,d);d=f[e>>2]|0;while(1){A=f[w>>2]|0;if((d|0)==(A|0))break;k=d+-4|0;Ze(c,k);d=k}k=A;A=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=A;f[w>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((g|0)!=(d|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(A|0)lp(A);u=b;return}if((z|0)!=(h|0)){h=Yk(4092)|0;f[c>>2]=h;cf(a,c);u=b;return}h=Yk(4092)|0;f[c>>2]=h;Ze(a,c);c=f[w>>2]|0;h=f[c>>2]|0;z=c+4|0;f[w>>2]=z;c=f[e>>2]|0;A=f[y>>2]|0;k=A;g=c;do if((c|0)==(A|0)){j=f[a>>2]|0;d=j;if(z>>>0>j>>>0){m=z;i=((m-d>>2)+1|0)/-2|0;v=z+(i<<2)|0;n=g-m|0;m=n>>2;if(!m)B=z;else{ok(v|0,z|0,n|0)|0;B=f[w>>2]|0}n=v+(m<<2)|0;f[e>>2]=n;f[w>>2]=B+(i<<2);C=n;break}n=k-d>>1;d=(n|0)==0?1:n;if(d>>>0>1073741823){n=ra(8)|0;cn(n,13392);f[n>>2]=4748;va(n|0,1128,101)}n=Yk(d<<2)|0;i=n;m=n+(d>>>2<<2)|0;v=m;l=n+(d<<2)|0;if((z|0)==(c|0)){D=j;E=v}else{j=m;m=z;d=v;do{f[j>>2]=f[m>>2];j=d+4|0;d=j;m=m+4|0}while((m|0)!=(c|0));D=f[a>>2]|0;E=d}f[a>>2]=i;f[w>>2]=v;f[e>>2]=E;f[y>>2]=l;if(!D)C=E;else{lp(D);C=f[e>>2]|0}}else C=c;while(0);f[C>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function jc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2012;i=c;f[a>>2]=i;return}case 2:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2068;i=c;f[a>>2]=i;return}case 4:{c=Yk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2124;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Yk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2180;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Yk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2236;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Yk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2292;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2348;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ym(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function kc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1648;i=c;f[a>>2]=i;return}case 2:{c=Yk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1704;i=c;f[a>>2]=i;return}case 4:{c=Yk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1760;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Yk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1816;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Yk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1872;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Yk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];pi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1928;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1984;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ym(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Eo(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=fl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Li(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=fl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Li(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Pi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x>>2]|0;E=f[x+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=B;f[v>>2]=E;Ac(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Eo(y);return 0}function mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=h;h=0;r=0;while(1){s=f[(f[q+24>>2]|0)+(r<<2)>>2]|0;if((s|0)==-1){t=q;v=h}else{w=h+1|0;f[b>>2]=h;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))dh(i,b);else{f[x>>2]=h;f[j>>2]=x+4}f[d>>2]=s;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=s;else{x=s+1|0;z=((x>>>0)%3|0|0)==0?s+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=s;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=s}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];s=f[o>>2]|0;if((s|0)==(f[p>>2]|0))dh(n,d);else{f[s>>2]=f[d>>2];f[o>>2]=s+4}s=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[s+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))dh(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){dh(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=G;I=F;break b}else A=F}f[e>>2]=-1;H=G;I=F}else{H=s;I=w}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=s;I=w}t=H;v=I}r=r+1|0;if(r>>>0>=(f[t+28>>2]|0)-(f[t+24>>2]|0)>>2>>>0)break;else{q=t;h=v}}u=c;return}function nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Eo(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];Mb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=fl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Li(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=fl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Li(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Pi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x>>2]|0;E=f[x+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=B;f[v>>2]=E;Ac(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Eo(y);return 0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Eo(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=fl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Li(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=fl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Li(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Pi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x+4>>2]|0;f[d>>2]=f[x>>2];f[a>>2]=B;f[i>>2]=Q;f[v>>2]=R;td(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Eo(y);return 0}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;Eo(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];Mb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Ul(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Ul(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=fl(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Li(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=fl(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Li(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Pi(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x+4>>2]|0;f[d>>2]=f[x>>2];f[a>>2]=B;f[i>>2]=Q;f[v>>2]=R;td(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)Eo(y);return 0}function qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;vf(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Ul(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Ul(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(w|0)==(Zj(5)|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Ul(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{Ff(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Ul(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=20;break}}v=X(w,i)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Wl(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=z;z=x;x=B;B=C;C=0;while(1){y=Ul(u|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=u;F=z}else{Ff(k+(C<<2)|0,(f[d>>2]|0)+u|0,w|0)|0;y=l;A=Ul(f[y>>2]|0,f[y+4>>2]|0,v|0,0)|0;y=I;G=l;f[G>>2]=A;f[G+4>>2]=y;E=A;F=y}y=C+1|0;if((y|0)==(i|0)){D=20;break a}A=j;u=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0;C=y}}}else if(yh(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Ma[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}sk(k,i,k);H=F;J=1}while(0);if((D|0)==21){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Pa[f[(f[J>>2]|0)+44>>2]&31](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)lp(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;cn(e,13392);f[e>>2]=4748;va(e|0,1128,101)}e=Yk(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)lp(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){o=j;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(m|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=e;x=o;while(1){y=u+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:z&255)|0)){r=x;break c}if(!w?dj(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=x;break c}y=f[u>>2]|0;if(!y){r=u;break c}else{A=u;u=y;x=A}}}if(w){x=e;u=o;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=e;x=o;while(1){w=u+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:y&255)|0)){r=x;break c}y=A?f[w>>2]|0:w;if((f[s>>2]&255)<<24>>24==(b[y>>0]|0)){B=v;C=s;D=y}else{r=x;break c}while(1){B=B+-1|0;C=C+1|0;if(!B)break;D=D+1|0;if((b[C>>0]|0)!=(b[D>>0]|0)){r=x;break c}}y=f[u>>2]|0;if(!y){r=u;break}else{w=u;u=y;x=w}}}while(0);f[d>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}j=f[o>>2]|0;if(!j){E=43;break a}else{g=o;d=o}}f[q>>2]=d;l=f[o>>2]|0;if(!l){E=43;break}else{k=o;m=p;n=o}}if((E|0)==43)return}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+16|0;e=d+12|0;g=d+4|0;h=d+8|0;i=d;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=k;q=0;r=k;while(1){k=(q|0)==1;if(k){s=(r|0)==-1;do if(!s)if(!((r>>>0)%3|0)){t=r+2|0;break}else{t=r+-1|0;break}else t=-1;while(0);f[h>>2]=t;f[e>>2]=f[h>>2];if((kf(a,e)|0)==-1){v=r;break}w=r+1|0;if(s){x=12;break}y=((w>>>0)%3|0|0)==0?r+-2|0:w;f[c>>2]=y;w=y+1|0;if((y|0)==-1){z=r;x=16;break}A=((w>>>0)%3|0|0)==0?y+-2|0:w;if((A|0)==-1){z=r;x=16;break}w=f[(f[(f[m>>2]|0)+12>>2]|0)+(A<<2)>>2]|0;A=w+1|0;if((w|0)==-1){z=r;x=16;break}y=((A>>>0)%3|0|0)==0?w+-2|0:A;f[c>>2]=y;if((y|0)==-1){v=r;break}else{B=0;C=r;D=y;x=18}}else{E=f[g>>2]|0;F=p;G=0;H=r}while(1){if((x|0)==18){x=0;y=(D>>>0)/3|0;f[g>>2]=y;E=y;F=D;G=B;H=C}y=(f[n>>2]|0)+(E>>>5<<2)|0;A=1<<(E&31);w=f[y>>2]|0;if(A&w|0){I=F;J=G;K=H;break}f[y>>2]=w|A;A=f[l>>2]|0;if((A|0)==(f[o>>2]|0))dh(j,g);else{f[A>>2]=f[g>>2];f[l>>2]=A+4}A=G+1|0;if((G|0)>0){do if(!(A&1)){w=k?F:H;if((F|0)!=-1)if(!((F>>>0)%3|0)){L=F+2|0;M=w;break}else{L=F+-1|0;M=w;break}else{L=-1;M=w}}else{w=F+1|0;if((F|0)==-1){L=-1;M=H}else{L=((w>>>0)%3|0|0)==0?F+-2|0:w;M=H}}while(0);f[c>>2]=L;N=L;O=M}else{N=F;O=H}f[i>>2]=N;f[e>>2]=f[i>>2];D=kf(a,e)|0;f[c>>2]=D;if((D|0)==-1){I=-1;J=A;K=O;break}else{B=A;C=O;x=18}}if(!((J&1|0)==0|k^1)){s=f[l>>2]|0;w=f[s+-4>>2]|0;y=(f[n>>2]|0)+(w>>>5<<2)|0;f[y>>2]=f[y>>2]&~(1<<(w&31));f[l>>2]=s+-4}q=q+1|0;if((q|0)>=2){v=K;break}else{p=I;r=K}}if((x|0)==12){f[c>>2]=-1;z=-1;x=16}if((x|0)==16){f[c>>2]=-1;v=z}f[a+44+(b<<2)>>2]=v;v=f[l>>2]|0;l=f[j>>2]|0;j=l;if((v|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=v-l>>2;l=0;do{v=f[j+(l<<2)>>2]|0;a=b+(v>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(v&31));l=l+1|0}while(l>>>0>>0);u=d;return}function tc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;ac(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)lp(f[g>>2]|0);l=b[j+7>>0]|0;if((l&255|0)!=(Ma[f[(f[c>>2]|0)+8>>2]&127](c)|0)){m=Yk(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=13026;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=Yk(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=13077;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&r>>>0>(l<<24>>24==0?3:2)>>>0){l=Yk(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=13100;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}l=(r|(m&255)<<8)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Md(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)lp(f[g>>2]|0)}if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=Yk(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=13123;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}if(!(Ma[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=Yk(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=13157;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}if(Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=Yk(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=13189;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);u=i;return}function uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}On(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];If(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=r;n=a+16|0;while(1){l=f[e+16>>2]|0;if((d|0)<(l|0)){j=f[e>>2]|0;if(!j){x=23;break}else{y=j;z=e}}else{if((l|0)>=(d|0)){x=27;break}A=e+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=l;z=A}}e=y;n=z}if((x|0)==23){B=e;C=e;break}else if((x|0)==26){B=e;C=A;break}else if((x|0)==27){B=e;C=n;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=Yk(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}wd(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Qh(h+4|0,f[k>>2]|0);Qh(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(q|0)==(m|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(dj(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(q|0)==(a|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(dj(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0} +function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4116]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=16504+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[4116]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4118]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=16504+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[4121]|0;k=m>>>3;l=16504+(k<<1<<2)|0;i=1<>2]|0}f[q>>2]=h;f[r+12>>2]=h;f[h+8>>2]=r;f[h+12>>2]=l}f[4118]=n;f[4121]=j;o=e;u=b;return o|0}e=f[4117]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[16768+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=i;v=s}else{h=k;k=i;i=s;while(1){s=(f[h+4>>2]&-8)-d|0;l=s>>>0>>0;n=l?s:k;s=l?h:i;h=f[h+16+(((f[h+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=n;v=s;break}else{k=n;i=s}}}i=v+d|0;if(v>>>0>>0){k=f[v+24>>2]|0;h=f[v+12>>2]|0;do if((h|0)==(v|0)){s=v+20|0;n=f[s>>2]|0;if(!n){l=v+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=n;y=s}while(1){s=x+20|0;n=f[s>>2]|0;if(n|0){x=n;y=s;continue}s=x+16|0;n=f[s>>2]|0;if(!n)break;else{x=n;y=s}}f[y>>2]=0;w=x}else{s=f[v+8>>2]|0;f[s+12>>2]=h;f[h+8>>2]=s;w=h}while(0);do if(k|0){h=f[v+28>>2]|0;s=16768+(h<<2)|0;if((v|0)==(f[s>>2]|0)){f[s>>2]=w;if(!w){f[4117]=e&~(1<>2]|0)!=(v|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=k;h=f[v+16>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[v+20>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}while(0);if(t>>>0<16){k=t+d|0;f[v+4>>2]=k|3;e=v+k+4|0;f[e>>2]=f[e>>2]|1}else{f[v+4>>2]=d|3;f[i+4>>2]=t|1;f[i+t>>2]=t;if(m|0){e=f[4121]|0;k=m>>>3;h=16504+(k<<1<<2)|0;s=1<>2]|0}f[z>>2]=e;f[A+12>>2]=e;f[e+8>>2]=A;f[e+12>>2]=h}f[4118]=t;f[4121]=i}o=v+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){h=a+11|0;e=h&-8;s=f[4117]|0;if(s){k=0-e|0;n=h>>>8;if(n)if(e>>>0>16777215)C=31;else{h=(n+1048320|0)>>>16&8;l=n<>>16&4;j=l<>>16&2;D=14-(n|h|l)+(j<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[16768+(C<<2)>>2]|0;a:do if(!D){E=k;F=0;G=0;H=57}else{l=k;j=0;h=e<<((C|0)==31?0:25-(C>>>1)|0);n=D;I=0;while(1){J=(f[n+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=n;M=n;H=61;break a}else{N=J;O=n}else{N=l;O=I}J=f[n+20>>2]|0;n=f[n+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(n|0)?j:J;J=(n|0)==0;if(J){E=N;F=P;G=O;H=57;break}else{l=N;j=P;h=h<<((J^1)&1);I=O}}}while(0);if((H|0)==57){if((F|0)==0&(G|0)==0){D=2<>>12&16;d=D>>>k;D=d>>>5&8;i=d>>>D;d=i>>>2&4;g=i>>>d;i=g>>>1&2;m=g>>>i;g=m>>>1&1;Q=f[16768+((D|k|d|i|g)+(m>>>g)<<2)>>2]|0;R=0}else{Q=F;R=G}if(!Q){S=E;T=R}else{K=E;L=Q;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;i=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=i;T=g;break}else{K=i;M=g;H=61}}if((T|0)!=0?S>>>0<((f[4118]|0)-e|0)>>>0:0){g=T+e|0;if(T>>>0>=g>>>0){o=0;u=b;return o|0}i=f[T+24>>2]|0;m=f[T+12>>2]|0;do if((m|0)==(T|0)){d=T+20|0;k=f[d>>2]|0;if(!k){D=T+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=k;W=d}while(1){d=V+20|0;k=f[d>>2]|0;if(k|0){V=k;W=d;continue}d=V+16|0;k=f[d>>2]|0;if(!k)break;else{V=k;W=d}}f[W>>2]=0;U=V}else{d=f[T+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(i){m=f[T+28>>2]|0;d=16768+(m<<2)|0;if((T|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=s&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=s;break}}f[U+24>>2]=i;d=f[T+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[T+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=s}else X=s}else X=s;while(0);do if(S>>>0>=16){f[T+4>>2]=e|3;f[g+4>>2]=S|1;f[g+S>>2]=S;s=S>>>3;if(S>>>0<256){i=16504+(s<<1<<2)|0;d=f[4116]|0;m=1<>2]|0}f[Y>>2]=g;f[Z+12>>2]=g;f[g+8>>2]=Z;f[g+12>>2]=i;break}i=S>>>8;if(i)if(S>>>0>16777215)_=31;else{m=(i+1048320|0)>>>16&8;d=i<>>16&4;s=d<>>16&2;k=14-(i|m|d)+(s<>>15)|0;_=S>>>(k+7|0)&1|k<<1}else _=0;k=16768+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4117]=X|d;f[k>>2]=g;f[g+24>>2]=k;f[g+12>>2]=g;f[g+8>>2]=g;break}d=S<<((_|0)==31?0:25-(_>>>1)|0);s=f[k>>2]|0;while(1){if((f[s+4>>2]&-8|0)==(S|0)){H=97;break}$=s+16+(d>>>31<<2)|0;k=f[$>>2]|0;if(!k){H=96;break}else{d=d<<1;s=k}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=s;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=s+8|0;k=f[d>>2]|0;f[k+12>>2]=g;f[d>>2]=g;f[g+8>>2]=k;f[g+12>>2]=s;f[g+24>>2]=0;break}}else{k=S+e|0;f[T+4>>2]=k|3;d=T+k+4|0;f[d>>2]=f[d>>2]|1}while(0);o=T+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);T=f[4118]|0;if(T>>>0>=B>>>0){S=T-B|0;$=f[4121]|0;if(S>>>0>15){_=$+B|0;f[4121]=_;f[4118]=S;f[_+4>>2]=S|1;f[_+S>>2]=S;f[$+4>>2]=B|3}else{f[4118]=0;f[4121]=0;f[$+4>>2]=T|3;S=$+T+4|0;f[S>>2]=f[S>>2]|1}o=$+8|0;u=b;return o|0}$=f[4119]|0;if($>>>0>B>>>0){S=$-B|0;f[4119]=S;T=f[4122]|0;_=T+B|0;f[4122]=_;f[_+4>>2]=S|1;f[T+4>>2]=B|3;o=T+8|0;u=b;return o|0}if(!(f[4234]|0)){f[4236]=4096;f[4235]=4096;f[4237]=-1;f[4238]=-1;f[4239]=0;f[4227]=0;T=c&-16^1431655768;f[c>>2]=T;f[4234]=T;aa=4096}else aa=f[4236]|0;T=B+48|0;c=B+47|0;S=aa+c|0;_=0-aa|0;aa=S&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4226]|0;if(X|0?(Z=f[4224]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4227]&4)){X=f[4122]|0;c:do if(X){Y=16912;while(1){Z=f[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=f[Y+8>>2]|0;if(!Z){H=118;break c}else Y=Z}s=S-$&_;if(s>>>0<2147483647){Z=Kj(s|0)|0;if((Z|0)==((f[Y>>2]|0)+(f[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=s;else{da=Z;ea=s;H=135;break b}else{fa=Z;ga=s;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Kj(0)|0;if((X|0)!=(-1|0)?(e=X,s=f[4235]|0,Z=s+-1|0,U=((Z&e|0)==0?0:(Z+e&0-s)-e|0)+aa|0,e=f[4224]|0,s=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Z=f[4226]|0;if(Z|0?s>>>0<=e>>>0|s>>>0>Z>>>0:0){ca=0;break}Z=Kj(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;H=135;break b}else{fa=Z;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;H=135;break b}Z=f[4236]|0;X=c-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;H=135;break b}if((Kj(X|0)|0)==(-1|0)){Kj(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;H=135;break b}}while(0);f[4227]=f[4227]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Kj(aa|0)|0,aa=Kj(0)|0,ga=aa-ca|0,fa=ga>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;H=135}if((H|0)==135){ha=(f[4224]|0)+ea|0;f[4224]=ha;if(ha>>>0>(f[4225]|0)>>>0)f[4225]=ha;ha=f[4122]|0;do if(ha){ga=16912;while(1){ia=f[ga>>2]|0;ja=ga+4|0;ka=f[ja>>2]|0;if((da|0)==(ia+ka|0)){H=145;break}fa=f[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((H|0)==145?(f[ga+12>>2]&8|0)==0:0)?ha>>>0>>0&ha>>>0>=ia>>>0:0){f[ja>>2]=ka+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(f[4119]|0)+(ea-ca)|0;f[4122]=fa;f[4119]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[4123]=f[4238];break}if(da>>>0<(f[4120]|0)>>>0)f[4120]=da;aa=da+ea|0;fa=16912;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ca=f[fa+8>>2]|0;if(!ca)break;else fa=ca}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=da;ga=fa+4|0;f[ga>>2]=(f[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;c=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+B|0;T=c-ca-B|0;f[ca+4>>2]=B|3;do if((c|0)!=(ha|0)){if((c|0)==(f[4121]|0)){ba=(f[4118]|0)+T|0;f[4118]=ba;f[4121]=ga;f[ga+4>>2]=ba|1;f[ga+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){S=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(S|0)){f[4116]=f[4116]&~(1<<$);break}else{f[S+12>>2]=X;f[X+8>>2]=S;break}}else{S=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Z=U+4|0;s=f[Z>>2]|0;if(!s){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=s;na=Z}while(1){Z=ma+20|0;s=f[Z>>2]|0;if(s|0){ma=s;na=Z;continue}Z=ma+16|0;s=f[Z>>2]|0;if(!s)break;else{ma=s;na=Z}}f[na>>2]=0;la=ma}else{Z=f[c+8>>2]|0;f[Z+12>>2]=X;f[X+8>>2]=Z;la=X}while(0);if(!S)break;X=f[c+28>>2]|0;Z=16768+(X<<2)|0;do if((c|0)!=(f[Z>>2]|0)){f[S+16+(((f[S+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Z>>2]=la;if(la|0)break;f[4117]=f[4117]&~(1<>2]=S;X=c+16|0;Z=f[X>>2]|0;if(Z|0){f[la+16>>2]=Z;f[Z+24>>2]=la}Z=f[X+4>>2]|0;if(!Z)break;f[la+20>>2]=Z;f[Z+24>>2]=la}while(0);oa=c+_|0;pa=_+T|0}else{oa=c;pa=T}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ga+4>>2]=pa|1;f[ga+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=16504+($<<1<<2)|0;Y=f[4116]|0;Z=1<<$;if(!(Y&Z)){f[4116]=Y|Z;qa=ba+8|0;ra=ba}else{Z=ba+8|0;qa=Z;ra=f[Z>>2]|0}f[qa>>2]=ga;f[ra+12>>2]=ga;f[ga+8>>2]=ra;f[ga+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Z=(ba+1048320|0)>>>16&8;Y=ba<>>16&4;X=Y<<$;Y=(X+245760|0)>>>16&2;s=14-($|Z|Y)+(X<>>15)|0;sa=pa>>>(s+7|0)&1|s<<1}while(0);ba=16768+(sa<<2)|0;f[ga+28>>2]=sa;_=ga+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4117]|0;s=1<>2]=ga;f[ga+24>>2]=ba;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}s=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(s>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{s=s<<1;_=ba}}if((H|0)==193){f[ta>>2]=ga;f[ga+24>>2]=_;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}else if((H|0)==194){s=_+8|0;ba=f[s>>2]|0;f[ba+12>>2]=ga;f[s>>2]=ga;f[ga+8>>2]=ba;f[ga+12>>2]=_;f[ga+24>>2]=0;break}}else{ba=(f[4119]|0)+T|0;f[4119]=ba;f[4122]=ga;f[ga+4>>2]=ba|1}while(0);o=ca+8|0;u=b;return o|0}ga=16912;while(1){T=f[ga>>2]|0;if(T>>>0<=ha>>>0?(ua=T+(f[ga+4>>2]|0)|0,ua>>>0>ha>>>0):0)break;ga=f[ga+8>>2]|0}ga=ua+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0>>0?ha:T;T=ga+8|0;c=da+8|0;aa=(c&7|0)==0?0:0-c&7;c=da+aa|0;fa=ea+-40-aa|0;f[4122]=c;f[4119]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[4123]=f[4238];fa=ga+4|0;f[fa>>2]=27;f[T>>2]=f[4228];f[T+4>>2]=f[4229];f[T+8>>2]=f[4230];f[T+12>>2]=f[4231];f[4228]=da;f[4229]=ea;f[4231]=0;f[4230]=T;T=ga+24|0;do{c=T;T=T+4|0;f[T>>2]=7}while((c+8|0)>>>0>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;f[fa>>2]=f[fa>>2]&-2;f[ha+4>>2]=T|1;f[ga>>2]=T;c=T>>>3;if(T>>>0<256){aa=16504+(c<<1<<2)|0;ba=f[4116]|0;s=1<>2]|0}f[va>>2]=ha;f[wa+12>>2]=ha;f[ha+8>>2]=wa;f[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)xa=31;else{s=(aa+1048320|0)>>>16&8;ba=aa<>>16&4;c=ba<>>16&2;Y=14-(aa|s|ba)+(c<>>15)|0;xa=T>>>(Y+7|0)&1|Y<<1}else xa=0;Y=16768+(xa<<2)|0;f[ha+28>>2]=xa;f[ha+20>>2]=0;f[ca>>2]=0;ba=f[4117]|0;c=1<>2]=ha;f[ha+24>>2]=Y;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}c=T<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Y>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(T|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Y=f[ya>>2]|0;if(!Y){H=215;break}else{c=c<<1;ba=Y}}if((H|0)==215){f[ya>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==216){c=ba+8|0;T=f[c>>2]|0;f[T+12>>2]=ha;f[c>>2]=ha;f[ha+8>>2]=T;f[ha+12>>2]=ba;f[ha+24>>2]=0;break}}}else{T=f[4120]|0;if((T|0)==0|da>>>0>>0)f[4120]=da;f[4228]=da;f[4229]=ea;f[4231]=0;f[4125]=f[4234];f[4124]=-1;T=0;do{c=16504+(T<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;T=T+1|0}while((T|0)!=32);T=da+8|0;ba=(T&7|0)==0?0:0-T&7;T=da+ba|0;c=ea+-40-ba|0;f[4122]=T;f[4119]=c;f[T+4>>2]=c|1;f[T+c+4>>2]=40;f[4123]=f[4238]}while(0);ea=f[4119]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4119]=da;ea=f[4122]|0;ha=ea+B|0;f[4122]=ha;f[ha+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=_o()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+232|0;v=a+420|0;w=a+308|0;x=a+416|0;y=a+304|0;z=a+296|0;A=a+300|0;B=a+8|0;C=i+4|0;D=a+388|0;E=k+8|0;F=g+8|0;G=a+36|0;H=a+40|0;I=c+-1|0;J=a+400|0;K=0;b:while(1){L=K+1|0;if((f[v>>2]|0)!=-1?Pi(J)|0:0){M=f[v>>2]|0;f[x>>2]=M;if(!M)N=17;else{O=M;N=32}}else N=6;c:do if((N|0)==6){N=0;do if(!(b[w>>0]|0))P=1;else{M=f[y>>2]|0;Q=f[z>>2]|0;R=f[A>>2]|0;S=Q+(M>>>3)|0;if(S>>>0>>0?(T=h[S>>0]|0,S=M+1|0,f[y>>2]=S,T&1<<(M&7)|0):0){T=Q+(S>>>3)|0;if(T>>>0>>0){U=(h[T>>0]|0)>>>(S&7)&1;T=M+2|0;f[y>>2]=T;V=T;W=U}else{V=S;W=0}S=Q+(V>>>3)|0;if(S>>>0>>0){R=(h[S>>0]|0)>>>(V&7);f[y>>2]=V+1;X=R<<1&2}else X=0;P=(X|W)<<1|1;break}f[x>>2]=0;N=17;break c}while(0);f[x>>2]=P;O=P;N=32}while(0);d:do if((N|0)==17){N=0;R=f[o>>2]|0;if((f[g>>2]|0)==(R|0)){Y=-1;N=189;break a}S=R+-4|0;Q=f[S>>2]|0;U=f[B>>2]|0;T=(Q|0)==-1;M=Q+1|0;if(!T?(Z=((M>>>0)%3|0|0)==0?Q+-2|0:M,(Z|0)!=-1):0)_=f[(f[U>>2]|0)+(Z<<2)>>2]|0;else _=-1;Z=f[U+24>>2]|0;M=f[Z+(_<<2)>>2]|0;aa=M+1|0;if((M|0)==-1)ba=-1;else ba=((aa>>>0)%3|0|0)==0?M+-2|0:aa;aa=K*3|0;M=aa+1|0;ca=f[U+12>>2]|0;f[ca+(Q<<2)>>2]=M;f[ca+(M<<2)>>2]=Q;da=aa+2|0;f[ca+(ba<<2)>>2]=da;f[ca+(da<<2)>>2]=ba;ca=f[U>>2]|0;f[ca+(aa<<2)>>2]=_;U=ba+1|0;if((ba|0)!=-1?(ea=((U>>>0)%3|0|0)==0?ba+-2|0:U,(ea|0)!=-1):0)fa=f[ca+(ea<<2)>>2]|0;else fa=-1;f[ca+(M<<2)>>2]=fa;if(!T?(T=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(T|0)!=-1):0){Q=f[ca+(T<<2)>>2]|0;f[ca+(da<<2)>>2]=Q;if((Q|0)!=-1)f[Z+(Q<<2)>>2]=da}else f[ca+(da<<2)>>2]=-1;da=(f[r>>2]|0)+(_>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(_&31));f[S>>2]=aa;f[l>>2]=f[R+-4>>2];f[e>>2]=f[l>>2];Gc(t,e)}else if((N|0)==32){N=0;R=(O|0)==5;switch(O|0){case 3:case 5:{aa=f[o>>2]|0;if((f[g>>2]|0)==(aa|0)){Y=-1;N=189;break a}S=f[aa+-4>>2]|0;aa=K*3|0;da=R?aa:aa+2|0;ca=(R&1)+aa|0;Q=(R?2:1)+aa|0;R=f[B>>2]|0;Z=f[R+12>>2]|0;f[Z+(Q<<2)>>2]=S;f[Z+(S<<2)>>2]=Q;Z=R+24|0;T=R+28|0;M=f[T>>2]|0;if((M|0)==(f[R+32>>2]|0)){dh(Z,3112);ga=f[T>>2]|0}else{f[M>>2]=-1;R=M+4|0;f[T>>2]=R;ga=R}R=ga-(f[Z>>2]|0)>>2;Z=R+-1|0;T=f[B>>2]|0;M=f[T+24>>2]|0;ea=M;if(((f[T+28>>2]|0)-M>>2|0)>(s|0)){Y=-1;N=189;break a}M=f[T>>2]|0;f[M+(Q<<2)>>2]=Z;if(R|0)f[ea+(Z<<2)>>2]=Q;if((S|0)!=-1){Q=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((Q|0)!=-1){Z=f[M+(Q<<2)>>2]|0;f[M+(da<<2)>>2]=Z;if((Z|0)!=-1)f[ea+(Z<<2)>>2]=da}else f[M+(da<<2)>>2]=-1;Z=S+1|0;ea=((Z>>>0)%3|0|0)==0?S+-2|0:Z;if((ea|0)==-1)ha=-1;else ha=f[M+(ea<<2)>>2]|0}else{f[M+(da<<2)>>2]=-1;ha=-1}f[M+(ca<<2)>>2]=ha;ca=f[o>>2]|0;f[ca+-4>>2]=aa;ia=ca;break}case 1:{ca=f[g>>2]|0;aa=f[o>>2]|0;if((ca|0)==(aa|0)){Y=-1;N=189;break a}M=aa+-4|0;da=f[M>>2]|0;f[o>>2]=M;ea=f[C>>2]|0;e:do if(ea){Z=ea+-1|0;S=(Z&ea|0)==0;if(!S)if(K>>>0>>0)ja=K;else ja=(K>>>0)%(ea>>>0)|0;else ja=Z&K;Q=f[(f[i>>2]|0)+(ja<<2)>>2]|0;if((Q|0)!=0?(R=f[Q>>2]|0,(R|0)!=0):0){f:do if(S){Q=R;while(1){T=f[Q+4>>2]|0;U=(T|0)==(K|0);if(!(U|(T&Z|0)==(ja|0))){ka=ca;la=M;break e}if(U?(f[Q+8>>2]|0)==(K|0):0){ma=Q;break f}Q=f[Q>>2]|0;if(!Q){ka=ca;la=M;break e}}}else{Q=R;while(1){U=f[Q+4>>2]|0;if((U|0)==(K|0)){if((f[Q+8>>2]|0)==(K|0)){ma=Q;break f}}else{if(U>>>0>>0)na=U;else na=(U>>>0)%(ea>>>0)|0;if((na|0)!=(ja|0)){ka=ca;la=M;break e}}Q=f[Q>>2]|0;if(!Q){ka=ca;la=M;break e}}}while(0);R=ma+12|0;if((M|0)==(f[F>>2]|0)){dh(g,R);ka=f[g>>2]|0;la=f[o>>2]|0;break}else{f[M>>2]=f[R>>2];f[o>>2]=aa;ka=ca;la=aa;break}}else{ka=ca;la=M}}else{ka=ca;la=M}while(0);if((ka|0)==(la|0)){Y=-1;N=189;break a}M=f[la+-4>>2]|0;ca=(M|0)==-1;if(!ca?(f[(f[(f[B>>2]|0)+12>>2]|0)+(M<<2)>>2]|0)!=-1:0){Y=-1;N=189;break a}aa=(da|0)==-1;ea=f[B>>2]|0;R=f[ea+12>>2]|0;if(!aa?(f[R+(da<<2)>>2]|0)!=-1:0){Y=-1;N=189;break a}Z=K*3|0;S=Z+2|0;f[R+(M<<2)>>2]=S;f[R+(S<<2)>>2]=M;Q=Z+1|0;f[R+(da<<2)>>2]=Q;f[R+(Q<<2)>>2]=da;if(!ca){ca=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((ca|0)==-1)oa=-1;else oa=f[(f[ea>>2]|0)+(ca<<2)>>2]|0;ca=f[ea>>2]|0;f[ca+(Z<<2)>>2]=oa;U=M+1|0;T=((U>>>0)%3|0|0)==0?M+-2|0:U;if((T|0)==-1){pa=ca;qa=ea;ra=-1;sa=oa}else{pa=ca;qa=ea;ra=f[ca+(T<<2)>>2]|0;sa=oa}}else{T=f[ea>>2]|0;f[T+(Z<<2)>>2]=-1;pa=T;qa=ea;ra=-1;sa=-1}f[pa+(Q<<2)>>2]=ra;if(!aa){aa=(((da>>>0)%3|0|0)==0?2:-1)+da|0;if((aa|0)!=-1){Q=f[pa+(aa<<2)>>2]|0;f[pa+(S<<2)>>2]=Q;if((Q|0)!=-1)f[(f[ea+24>>2]|0)+(Q<<2)>>2]=S}else f[pa+(S<<2)>>2]=-1;Q=da+1|0;aa=((Q>>>0)%3|0|0)==0?da+-2|0:Q;if((aa|0)==-1){ta=-1;ua=-1}else{ta=aa;ua=f[pa+(aa<<2)>>2]|0}}else{f[pa+(S<<2)>>2]=-1;ta=-1;ua=-1}f[e>>2]=ua;S=f[D>>2]|0;aa=S+(sa<<2)|0;f[aa>>2]=(f[aa>>2]|0)+(f[S+(ua<<2)>>2]|0);S=f[ea+24>>2]|0;if((sa|0)!=-1)f[S+(sa<<2)>>2]=f[S+(f[e>>2]<<2)>>2];g:do if((ta|0)!=-1){ea=f[qa>>2]|0;aa=ta;do{f[ea+(aa<<2)>>2]=sa;Q=aa+1|0;T=((Q>>>0)%3|0|0)==0?aa+-2|0:Q;if((T|0)==-1)break g;Q=f[R+(T<<2)>>2]|0;T=Q+1|0;if((Q|0)==-1)break g;aa=((T>>>0)%3|0|0)==0?Q+-2|0:T}while((aa|0)!=-1)}while(0);f[S+(f[e>>2]<<2)>>2]=-1;do if(q){R=f[p>>2]|0;if((R|0)==(f[E>>2]|0)){dh(k,e);va=f[o>>2]|0;break}else{f[R>>2]=f[e>>2];f[p>>2]=R+4;va=la;break}}else va=la;while(0);f[va+-4>>2]=Z;f[l>>2]=f[va+-4>>2];f[e>>2]=f[l>>2];Gc(t,e);break d;break}case 7:{f[e>>2]=K*3;S=f[B>>2]|0;R=S+24|0;da=S+28|0;aa=f[da>>2]|0;if((aa|0)==(f[S+32>>2]|0)){dh(R,3112);wa=f[da>>2]|0}else{f[aa>>2]=-1;S=aa+4|0;f[da>>2]=S;wa=S}S=wa-(f[R>>2]|0)>>2;R=S+-1|0;da=f[B>>2]|0;aa=f[e>>2]|0;ea=f[da>>2]|0;f[ea+(aa<<2)>>2]=R;T=da+24|0;Q=da+28|0;ca=f[Q>>2]|0;if((ca|0)==(f[da+32>>2]|0)){dh(T,3112);xa=f[Q>>2]|0;ya=f[da>>2]|0}else{f[ca>>2]=-1;da=ca+4|0;f[Q>>2]=da;xa=da;ya=ea}f[ya+(aa+1<<2)>>2]=(xa-(f[T>>2]|0)>>2)+-1;T=f[B>>2]|0;aa=(f[e>>2]|0)+2|0;ea=T+24|0;da=T+28|0;Q=f[da>>2]|0;if((Q|0)==(f[T+32>>2]|0)){dh(ea,3112);za=f[da>>2]|0}else{f[Q>>2]=-1;ca=Q+4|0;f[da>>2]=ca;za=ca}f[(f[T>>2]|0)+(aa<<2)>>2]=(za-(f[ea>>2]|0)>>2)+-1;ea=f[B>>2]|0;aa=f[ea+24>>2]|0;T=aa;if(((f[ea+28>>2]|0)-aa>>2|0)>(s|0))break b;aa=f[e>>2]|0;if(S){f[T+(R<<2)>>2]=aa;if((S|0)!=-1){f[T+(S<<2)>>2]=(f[e>>2]|0)+1;R=S+1|0;if((R|0)!=-1){Aa=R;N=116}}else{Aa=0;N=116}}else{f[T+(S<<2)>>2]=aa+1;Aa=1;N=116}if((N|0)==116){N=0;f[T+(Aa<<2)>>2]=(f[e>>2]|0)+2}T=f[o>>2]|0;if((T|0)==(f[F>>2]|0)){dh(g,e);Ba=f[o>>2]|0}else{f[T>>2]=f[e>>2];aa=T+4|0;f[o>>2]=aa;Ba=aa}ia=Ba;break}default:{Y=-1;N=189;break a}}f[l>>2]=f[ia+-4>>2];f[e>>2]=f[l>>2];Gc(t,e);aa=c-K+-1|0;T=f[H>>2]|0;if((T|0)!=(f[G>>2]|0)){S=T;do{T=S;R=f[T+-8>>2]|0;if(R>>>0>aa>>>0){Y=-1;N=189;break a}if((R|0)!=(aa|0))break d;R=b[T+-4>>0]|0;ea=f[T+-12>>2]|0;f[H>>2]=T+-12;if((ea|0)<0){Y=-1;N=189;break a}T=f[(f[o>>2]|0)+-4>>2]|0;ca=(T|0)==-1;do if(!(R&1))if(!ca)if(!((T>>>0)%3|0)){Ca=T+2|0;break}else{Ca=T+-1|0;break}else Ca=-1;else{da=T+1|0;if(ca)Ca=-1;else Ca=((da>>>0)%3|0|0)==0?T+-2|0:da}while(0);f[e>>2]=I-ea;T=Tc(i,e)|0;f[T>>2]=Ca;S=f[H>>2]|0}while((S|0)!=(f[G>>2]|0))}}while(0);if((L|0)<(c|0))K=L;else{Da=B;Ea=L;N=135;break a}}Y=-1;N=189}else{Da=a+8|0;Ea=0;N=135}while(0);h:do if((N|0)==135){c=f[Da>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){Ca=f[o>>2]|0;do if((Ca|0)!=(f[g>>2]|0)){l=a+270|0;ia=a+364|0;Ba=a+360|0;Aa=a+352|0;za=a+356|0;xa=a+60|0;ya=a+64|0;wa=a+68|0;va=a+76|0;la=a+80|0;q=a+72|0;sa=a+312|0;ta=Ca;qa=Ea;i:while(1){ua=ta;f[e>>2]=f[ua+-4>>2];f[o>>2]=ua+-4;if((j[l>>1]|0)<514)if(b[ia>>0]|0){ua=f[Ba>>2]|0;pa=(f[Aa>>2]|0)+(ua>>>3)|0;if(pa>>>0<(f[za>>2]|0)>>>0){ra=(h[pa>>0]|0)>>>(ua&7)&1;f[Ba>>2]=ua+1;Fa=ra;N=143}else N=166}else N=144;else{Fa=(Pi(sa)|0)&1;N=143}if((N|0)==143){N=0;if(!Fa)N=166;else N=144}do if((N|0)==144){N=0;ra=f[Da>>2]|0;ua=f[ra>>2]|0;pa=ua;if((qa|0)>=(((f[ra+4>>2]|0)-ua>>2>>>0)/3|0|0)){N=174;break i}ua=f[e>>2]|0;oa=ua+1|0;if((ua|0)!=-1?(ka=((oa>>>0)%3|0|0)==0?ua+-2|0:oa,(ka|0)!=-1):0)Ga=f[pa+(ka<<2)>>2]|0;else Ga=-1;ka=f[ra+24>>2]|0;oa=f[ka+(Ga<<2)>>2]|0;ma=oa+1|0;if((oa|0)!=-1?(ja=((ma>>>0)%3|0|0)==0?oa+-2|0:ma,ma=ja+1|0,(ja|0)!=-1):0){oa=((ma>>>0)%3|0|0)==0?ja+-2|0:ma;if((oa|0)==-1){Ha=ja;Ia=-1}else{Ha=ja;Ia=f[pa+(oa<<2)>>2]|0}}else{Ha=-1;Ia=-1}oa=f[ka+(Ia<<2)>>2]|0;ka=oa+1|0;if((oa|0)!=-1?(ja=((ka>>>0)%3|0|0)==0?oa+-2|0:ka,ka=ja+1|0,(ja|0)!=-1):0){oa=((ka>>>0)%3|0|0)==0?ja+-2|0:ka;if((oa|0)==-1){Ja=ja;Ka=-1}else{Ja=ja;Ka=f[pa+(oa<<2)>>2]|0}}else{Ja=-1;Ka=-1}oa=qa*3|0;f[m>>2]=oa;ja=f[ra+12>>2]|0;f[ja+(oa<<2)>>2]=ua;f[ja+(ua<<2)>>2]=oa;oa=(f[m>>2]|0)+1|0;f[ja+(oa<<2)>>2]=Ha;f[ja+(Ha<<2)>>2]=oa;oa=(f[m>>2]|0)+2|0;f[ja+(oa<<2)>>2]=Ja;f[ja+(Ja<<2)>>2]=oa;oa=f[m>>2]|0;ja=pa+(oa<<2)|0;f[ja>>2]=Ia;f[pa+(oa+1<<2)>>2]=Ka;f[pa+(oa+2<<2)>>2]=Ga;if((oa|0)==-1)La=-1;else La=f[ja>>2]|0;ja=f[r>>2]|0;oa=ja+(La>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(La&31));oa=(f[m>>2]|0)+1|0;if((oa|0)==-1)Ma=-1;else Ma=f[pa+(oa<<2)>>2]|0;oa=ja+(Ma>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Ma&31));oa=(f[m>>2]|0)+2|0;if((oa|0)==-1)Na=-1;else Na=f[pa+(oa<<2)>>2]|0;oa=ja+(Na>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Na&31));oa=qa+1|0;ja=f[ya>>2]|0;pa=f[wa>>2]|0;if((ja|0)==(pa<<5|0)){if((ja+1|0)<0){N=158;break i}ua=pa<<6;pa=ja+32&-32;Jg(xa,ja>>>0<1073741823?(ua>>>0>>0?pa:ua):2147483647);Oa=f[ya>>2]|0}else Oa=ja;f[ya>>2]=Oa+1;ja=(f[xa>>2]|0)+(Oa>>>5<<2)|0;f[ja>>2]=f[ja>>2]|1<<(Oa&31);ja=f[va>>2]|0;if((ja|0)==(f[la>>2]|0))dh(q,m);else{f[ja>>2]=f[m>>2];f[va>>2]=ja+4}Pa=oa}else if((N|0)==166){N=0;oa=f[ya>>2]|0;ja=f[wa>>2]|0;if((oa|0)==(ja<<5|0)){if((oa+1|0)<0){N=168;break i}ua=ja<<6;ja=oa+32&-32;Jg(xa,oa>>>0<1073741823?(ua>>>0>>0?ja:ua):2147483647);Qa=f[ya>>2]|0}else Qa=oa;f[ya>>2]=Qa+1;oa=(f[xa>>2]|0)+(Qa>>>5<<2)|0;f[oa>>2]=f[oa>>2]&~(1<<(Qa&31));oa=f[va>>2]|0;if((oa|0)==(f[la>>2]|0)){dh(q,e);Pa=qa;break}else{f[oa>>2]=f[e>>2];f[va>>2]=oa+4;Pa=qa;break}}while(0);ta=f[o>>2]|0;if((ta|0)==(f[g>>2]|0)){N=175;break}else qa=Pa}if((N|0)==158)Eo(xa);else if((N|0)==168)Eo(xa);else if((N|0)==174){Y=-1;N=189;break h}else if((N|0)==175){Ra=f[Da>>2]|0;Sa=Pa;break}}else{Ra=c;Sa=Ea}while(0);if((Sa|0)==(((f[Ra+4>>2]|0)-(f[Ra>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ra+28>>2]|0)-(f[Ra+24>>2]|0)>>2;Ca=f[k>>2]|0;qa=f[p>>2]|0;if((Ca|0)==(qa|0)){Ta=Ca;Ua=c}else{ta=e+4|0;va=e+8|0;q=e+12|0;la=Ra;ya=Ca;Ca=c;while(1){c=f[ya>>2]|0;wa=Ca+-1|0;sa=f[la+24>>2]|0;if((f[sa+(wa<<2)>>2]|0)==-1){Ba=Ca;while(1){za=Ba+-1|0;Aa=Ba+-2|0;if((f[sa+(Aa<<2)>>2]|0)==-1)Ba=za;else{Va=za;Wa=Aa;break}}}else{Va=Ca;Wa=wa}if(Wa>>>0>>0){Xa=la;Ya=Va}else{f[e>>2]=la;Ba=f[sa+(Wa<<2)>>2]|0;f[ta>>2]=Ba;f[va>>2]=Ba;b[q>>0]=1;if((Ba|0)==-1)Za=la;else{xa=la;Aa=Ba;while(1){f[(f[xa>>2]|0)+(Aa<<2)>>2]=c;fg(e);Aa=f[va>>2]|0;Ba=f[Da>>2]|0;if((Aa|0)==-1){Za=Ba;break}else xa=Ba}}xa=f[Za+24>>2]|0;if((c|0)==-1)_a=xa+(Wa<<2)|0;else{Aa=xa+(Wa<<2)|0;f[xa+(c<<2)>>2]=f[Aa>>2];_a=Aa}f[_a>>2]=-1;Aa=f[r>>2]|0;xa=Aa+(Wa>>>5<<2)|0;sa=1<<(Wa&31);wa=Aa+(c>>>5<<2)|0;Aa=1<<(c&31);Ba=f[wa>>2]|0;f[wa>>2]=f[xa>>2]&sa|0?Ba|Aa:Ba&~Aa;f[xa>>2]=f[xa>>2]&~sa;Xa=Za;Ya=Va+-1|0}ya=ya+4|0;if((ya|0)==(qa|0)){Y=Ya;N=189;break}else{la=Xa;Ca=Ya}}}}else{Y=-1;N=189}}else{Y=-1;N=189}}while(0);if((N|0)==189){Ta=f[k>>2]|0;Ua=Y}if(Ta|0){Y=f[p>>2]|0;if((Y|0)!=(Ta|0))f[p>>2]=Y+(~((Y+-4-Ta|0)>>>2)<<2);lp(Ta)}Ta=f[i+8>>2]|0;if(Ta|0){Y=Ta;do{Ta=Y;Y=f[Y>>2]|0;lp(Ta)}while((Y|0)!=0)}Y=f[i>>2]|0;f[i>>2]=0;if(Y|0)lp(Y);Y=f[g>>2]|0;if(!Y){u=d;return Ua|0}g=f[o>>2]|0;if((g|0)!=(Y|0))f[o>>2]=g+(~((g+-4-Y|0)>>>2)<<2);lp(Y);u=d;return Ua|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+232|0;v=a+8|0;w=a+36|0;x=a+40|0;y=c+-1|0;z=i+4|0;A=a+388|0;B=k+8|0;C=g+8|0;D=0;b:while(1){E=D+1|0;F=zf(t)|0;c:do if(F){G=(F|0)==5;switch(F|0){case 3:case 5:{H=f[o>>2]|0;if((f[g>>2]|0)==(H|0)){I=-1;J=177;break a}K=f[H+-4>>2]|0;H=D*3|0;L=G?H:H+2|0;M=(G&1)+H|0;N=(G?2:1)+H|0;G=f[v>>2]|0;O=f[G+12>>2]|0;f[O+(N<<2)>>2]=K;f[O+(K<<2)>>2]=N;O=G+24|0;P=G+28|0;Q=f[P>>2]|0;if((Q|0)==(f[G+32>>2]|0)){dh(O,3112);R=f[P>>2]|0}else{f[Q>>2]=-1;G=Q+4|0;f[P>>2]=G;R=G}G=R-(f[O>>2]|0)>>2;O=G+-1|0;P=f[v>>2]|0;Q=f[P+24>>2]|0;S=Q;if(((f[P+28>>2]|0)-Q>>2|0)>(s|0)){I=-1;J=177;break a}Q=f[P>>2]|0;f[Q+(N<<2)>>2]=O;if(G|0)f[S+(O<<2)>>2]=N;if((K|0)!=-1){N=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((N|0)!=-1){O=f[Q+(N<<2)>>2]|0;f[Q+(L<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=L}else f[Q+(L<<2)>>2]=-1;O=K+1|0;S=((O>>>0)%3|0|0)==0?K+-2|0:O;if((S|0)==-1)T=-1;else T=f[Q+(S<<2)>>2]|0}else{f[Q+(L<<2)>>2]=-1;T=-1}f[Q+(M<<2)>>2]=T;M=f[o>>2]|0;f[M+-4>>2]=H;U=M;break}case 1:{M=f[g>>2]|0;H=f[o>>2]|0;if((M|0)==(H|0)){I=-1;J=177;break a}Q=H+-4|0;L=f[Q>>2]|0;f[o>>2]=Q;S=f[z>>2]|0;d:do if(S){O=S+-1|0;K=(O&S|0)==0;if(!K)if(D>>>0>>0)V=D;else V=(D>>>0)%(S>>>0)|0;else V=O&D;N=f[(f[i>>2]|0)+(V<<2)>>2]|0;if((N|0)!=0?(G=f[N>>2]|0,(G|0)!=0):0){e:do if(K){N=G;while(1){P=f[N+4>>2]|0;W=(P|0)==(D|0);if(!(W|(P&O|0)==(V|0))){X=M;Y=Q;break d}if(W?(f[N+8>>2]|0)==(D|0):0){Z=N;break e}N=f[N>>2]|0;if(!N){X=M;Y=Q;break d}}}else{N=G;while(1){W=f[N+4>>2]|0;if((W|0)==(D|0)){if((f[N+8>>2]|0)==(D|0)){Z=N;break e}}else{if(W>>>0>>0)_=W;else _=(W>>>0)%(S>>>0)|0;if((_|0)!=(V|0)){X=M;Y=Q;break d}}N=f[N>>2]|0;if(!N){X=M;Y=Q;break d}}}while(0);G=Z+12|0;if((Q|0)==(f[C>>2]|0)){dh(g,G);X=f[g>>2]|0;Y=f[o>>2]|0;break}else{f[Q>>2]=f[G>>2];f[o>>2]=H;X=M;Y=H;break}}else{X=M;Y=Q}}else{X=M;Y=Q}while(0);if((X|0)==(Y|0)){I=-1;J=177;break a}Q=f[Y+-4>>2]|0;M=(Q|0)==-1;if(!M?(f[(f[(f[v>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0)!=-1:0){I=-1;J=177;break a}H=(L|0)==-1;S=f[v>>2]|0;G=f[S+12>>2]|0;if(!H?(f[G+(L<<2)>>2]|0)!=-1:0){I=-1;J=177;break a}O=D*3|0;K=O+2|0;f[G+(Q<<2)>>2]=K;f[G+(K<<2)>>2]=Q;N=O+1|0;f[G+(L<<2)>>2]=N;f[G+(N<<2)>>2]=L;if(!M){M=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((M|0)==-1)aa=-1;else aa=f[(f[S>>2]|0)+(M<<2)>>2]|0;M=f[S>>2]|0;f[M+(O<<2)>>2]=aa;W=Q+1|0;P=((W>>>0)%3|0|0)==0?Q+-2|0:W;if((P|0)==-1){ba=M;ca=S;da=-1;ea=aa}else{ba=M;ca=S;da=f[M+(P<<2)>>2]|0;ea=aa}}else{P=f[S>>2]|0;f[P+(O<<2)>>2]=-1;ba=P;ca=S;da=-1;ea=-1}f[ba+(N<<2)>>2]=da;if(!H){H=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((H|0)!=-1){N=f[ba+(H<<2)>>2]|0;f[ba+(K<<2)>>2]=N;if((N|0)!=-1)f[(f[S+24>>2]|0)+(N<<2)>>2]=K}else f[ba+(K<<2)>>2]=-1;N=L+1|0;H=((N>>>0)%3|0|0)==0?L+-2|0:N;if((H|0)==-1){fa=-1;ga=-1}else{fa=H;ga=f[ba+(H<<2)>>2]|0}}else{f[ba+(K<<2)>>2]=-1;fa=-1;ga=-1}f[e>>2]=ga;K=f[A>>2]|0;H=K+(ea<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[K+(ga<<2)>>2]|0);K=f[S+24>>2]|0;if((ea|0)!=-1)f[K+(ea<<2)>>2]=f[K+(f[e>>2]<<2)>>2];f:do if((fa|0)!=-1){S=f[ca>>2]|0;H=fa;do{f[S+(H<<2)>>2]=ea;N=H+1|0;P=((N>>>0)%3|0|0)==0?H+-2|0:N;if((P|0)==-1)break f;N=f[G+(P<<2)>>2]|0;P=N+1|0;if((N|0)==-1)break f;H=((P>>>0)%3|0|0)==0?N+-2|0:P}while((H|0)!=-1)}while(0);f[K+(f[e>>2]<<2)>>2]=-1;do if(q){G=f[p>>2]|0;if((G|0)==(f[B>>2]|0)){dh(k,e);ha=f[o>>2]|0;break}else{f[G>>2]=f[e>>2];f[p>>2]=G+4;ha=Y;break}}else ha=Y;while(0);f[ha+-4>>2]=O;f[l>>2]=f[ha+-4>>2];f[e>>2]=f[l>>2];Pc(t,e);break c;break}case 7:{f[e>>2]=D*3;K=f[v>>2]|0;G=K+24|0;L=K+28|0;H=f[L>>2]|0;if((H|0)==(f[K+32>>2]|0)){dh(G,3112);ia=f[L>>2]|0}else{f[H>>2]=-1;K=H+4|0;f[L>>2]=K;ia=K}K=ia-(f[G>>2]|0)>>2;G=K+-1|0;L=f[v>>2]|0;H=f[e>>2]|0;S=f[L>>2]|0;f[S+(H<<2)>>2]=G;P=L+24|0;N=L+28|0;M=f[N>>2]|0;if((M|0)==(f[L+32>>2]|0)){dh(P,3112);ja=f[N>>2]|0;ka=f[L>>2]|0}else{f[M>>2]=-1;L=M+4|0;f[N>>2]=L;ja=L;ka=S}f[ka+(H+1<<2)>>2]=(ja-(f[P>>2]|0)>>2)+-1;P=f[v>>2]|0;H=(f[e>>2]|0)+2|0;S=P+24|0;L=P+28|0;N=f[L>>2]|0;if((N|0)==(f[P+32>>2]|0)){dh(S,3112);la=f[L>>2]|0}else{f[N>>2]=-1;M=N+4|0;f[L>>2]=M;la=M}f[(f[P>>2]|0)+(H<<2)>>2]=(la-(f[S>>2]|0)>>2)+-1;S=f[v>>2]|0;H=f[S+24>>2]|0;P=H;if(((f[S+28>>2]|0)-H>>2|0)>(s|0))break b;H=f[e>>2]|0;if(K){f[P+(G<<2)>>2]=H;if((K|0)!=-1){f[P+(K<<2)>>2]=(f[e>>2]|0)+1;G=K+1|0;if((G|0)!=-1){ma=G;J=104}}else{ma=0;J=104}}else{f[P+(K<<2)>>2]=H+1;ma=1;J=104}if((J|0)==104){J=0;f[P+(ma<<2)>>2]=(f[e>>2]|0)+2}P=f[o>>2]|0;if((P|0)==(f[C>>2]|0)){dh(g,e);na=f[o>>2]|0}else{f[P>>2]=f[e>>2];H=P+4|0;f[o>>2]=H;na=H}U=na;break}default:{I=-1;J=177;break a}}f[l>>2]=f[U+-4>>2];f[e>>2]=f[l>>2];Pc(t,e);H=c-D+-1|0;P=f[x>>2]|0;if((P|0)!=(f[w>>2]|0)){K=P;do{P=K;G=f[P+-8>>2]|0;if(G>>>0>H>>>0){I=-1;J=177;break a}if((G|0)!=(H|0))break c;G=b[P+-4>>0]|0;S=f[P+-12>>2]|0;f[x>>2]=P+-12;if((S|0)<0){I=-1;J=177;break a}P=f[(f[o>>2]|0)+-4>>2]|0;M=(P|0)==-1;do if(!(G&1))if(!M)if(!((P>>>0)%3|0)){oa=P+2|0;break}else{oa=P+-1|0;break}else oa=-1;else{L=P+1|0;if(M)oa=-1;else oa=((L>>>0)%3|0|0)==0?P+-2|0:L}while(0);f[e>>2]=y-S;P=Tc(i,e)|0;f[P>>2]=oa;K=f[x>>2]|0}while((K|0)!=(f[w>>2]|0))}}else{K=f[o>>2]|0;if((f[g>>2]|0)==(K|0)){I=-1;J=177;break a}H=K+-4|0;O=f[H>>2]|0;P=f[v>>2]|0;M=(O|0)==-1;G=O+1|0;if(!M?(L=((G>>>0)%3|0|0)==0?O+-2|0:G,(L|0)!=-1):0)pa=f[(f[P>>2]|0)+(L<<2)>>2]|0;else pa=-1;L=f[P+24>>2]|0;G=f[L+(pa<<2)>>2]|0;N=G+1|0;if((G|0)==-1)qa=-1;else qa=((N>>>0)%3|0|0)==0?G+-2|0:N;N=D*3|0;G=N+1|0;W=f[P+12>>2]|0;f[W+(O<<2)>>2]=G;f[W+(G<<2)>>2]=O;Q=N+2|0;f[W+(qa<<2)>>2]=Q;f[W+(Q<<2)>>2]=qa;W=f[P>>2]|0;f[W+(N<<2)>>2]=pa;P=qa+1|0;if((qa|0)!=-1?(ra=((P>>>0)%3|0|0)==0?qa+-2|0:P,(ra|0)!=-1):0)sa=f[W+(ra<<2)>>2]|0;else sa=-1;f[W+(G<<2)>>2]=sa;if(!M?(M=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(M|0)!=-1):0){O=f[W+(M<<2)>>2]|0;f[W+(Q<<2)>>2]=O;if((O|0)!=-1)f[L+(O<<2)>>2]=Q}else f[W+(Q<<2)>>2]=-1;Q=(f[r>>2]|0)+(pa>>>5<<2)|0;f[Q>>2]=f[Q>>2]&~(1<<(pa&31));f[H>>2]=N;f[l>>2]=f[K+-4>>2];f[e>>2]=f[l>>2];Pc(t,e)}while(0);if((E|0)<(c|0))D=E;else{ta=v;ua=E;J=123;break a}}I=-1;J=177}else{ta=a+8|0;ua=0;J=123}while(0);g:do if((J|0)==123){c=f[ta>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){l=f[o>>2]|0;do if((l|0)!=(f[g>>2]|0)){pa=a+270|0;sa=a+364|0;qa=a+360|0;oa=a+352|0;U=a+356|0;na=a+60|0;ma=a+64|0;la=a+68|0;ja=a+76|0;ka=a+80|0;ia=a+72|0;ha=a+312|0;Y=l;q=ua;h:while(1){ea=Y;f[e>>2]=f[ea+-4>>2];f[o>>2]=ea+-4;if((j[pa>>1]|0)<514)if(b[sa>>0]|0){ea=f[qa>>2]|0;fa=(f[oa>>2]|0)+(ea>>>3)|0;if(fa>>>0<(f[U>>2]|0)>>>0){ca=(h[fa>>0]|0)>>>(ea&7)&1;f[qa>>2]=ea+1;va=ca;J=131}else J=154}else J=132;else{va=(Pi(ha)|0)&1;J=131}if((J|0)==131){J=0;if(!va)J=154;else J=132}do if((J|0)==132){J=0;ca=f[ta>>2]|0;ea=f[ca>>2]|0;fa=ea;if((q|0)>=(((f[ca+4>>2]|0)-ea>>2>>>0)/3|0|0)){J=162;break h}ea=f[e>>2]|0;ga=ea+1|0;if((ea|0)!=-1?(ba=((ga>>>0)%3|0|0)==0?ea+-2|0:ga,(ba|0)!=-1):0)wa=f[fa+(ba<<2)>>2]|0;else wa=-1;ba=f[ca+24>>2]|0;ga=f[ba+(wa<<2)>>2]|0;da=ga+1|0;if((ga|0)!=-1?(aa=((da>>>0)%3|0|0)==0?ga+-2|0:da,da=aa+1|0,(aa|0)!=-1):0){ga=((da>>>0)%3|0|0)==0?aa+-2|0:da;if((ga|0)==-1){xa=aa;ya=-1}else{xa=aa;ya=f[fa+(ga<<2)>>2]|0}}else{xa=-1;ya=-1}ga=f[ba+(ya<<2)>>2]|0;ba=ga+1|0;if((ga|0)!=-1?(aa=((ba>>>0)%3|0|0)==0?ga+-2|0:ba,ba=aa+1|0,(aa|0)!=-1):0){ga=((ba>>>0)%3|0|0)==0?aa+-2|0:ba;if((ga|0)==-1){za=aa;Aa=-1}else{za=aa;Aa=f[fa+(ga<<2)>>2]|0}}else{za=-1;Aa=-1}ga=q*3|0;f[m>>2]=ga;aa=f[ca+12>>2]|0;f[aa+(ga<<2)>>2]=ea;f[aa+(ea<<2)>>2]=ga;ga=(f[m>>2]|0)+1|0;f[aa+(ga<<2)>>2]=xa;f[aa+(xa<<2)>>2]=ga;ga=(f[m>>2]|0)+2|0;f[aa+(ga<<2)>>2]=za;f[aa+(za<<2)>>2]=ga;ga=f[m>>2]|0;aa=fa+(ga<<2)|0;f[aa>>2]=ya;f[fa+(ga+1<<2)>>2]=Aa;f[fa+(ga+2<<2)>>2]=wa;if((ga|0)==-1)Ba=-1;else Ba=f[aa>>2]|0;aa=f[r>>2]|0;ga=aa+(Ba>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Ba&31));ga=(f[m>>2]|0)+1|0;if((ga|0)==-1)Ca=-1;else Ca=f[fa+(ga<<2)>>2]|0;ga=aa+(Ca>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Ca&31));ga=(f[m>>2]|0)+2|0;if((ga|0)==-1)Da=-1;else Da=f[fa+(ga<<2)>>2]|0;ga=aa+(Da>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Da&31));ga=q+1|0;aa=f[ma>>2]|0;fa=f[la>>2]|0;if((aa|0)==(fa<<5|0)){if((aa+1|0)<0){J=146;break h}ea=fa<<6;fa=aa+32&-32;Jg(na,aa>>>0<1073741823?(ea>>>0>>0?fa:ea):2147483647);Ea=f[ma>>2]|0}else Ea=aa;f[ma>>2]=Ea+1;aa=(f[na>>2]|0)+(Ea>>>5<<2)|0;f[aa>>2]=f[aa>>2]|1<<(Ea&31);aa=f[ja>>2]|0;if((aa|0)==(f[ka>>2]|0))dh(ia,m);else{f[aa>>2]=f[m>>2];f[ja>>2]=aa+4}Fa=ga}else if((J|0)==154){J=0;ga=f[ma>>2]|0;aa=f[la>>2]|0;if((ga|0)==(aa<<5|0)){if((ga+1|0)<0){J=156;break h}ea=aa<<6;aa=ga+32&-32;Jg(na,ga>>>0<1073741823?(ea>>>0>>0?aa:ea):2147483647);Ga=f[ma>>2]|0}else Ga=ga;f[ma>>2]=Ga+1;ga=(f[na>>2]|0)+(Ga>>>5<<2)|0;f[ga>>2]=f[ga>>2]&~(1<<(Ga&31));ga=f[ja>>2]|0;if((ga|0)==(f[ka>>2]|0)){dh(ia,e);Fa=q;break}else{f[ga>>2]=f[e>>2];f[ja>>2]=ga+4;Fa=q;break}}while(0);Y=f[o>>2]|0;if((Y|0)==(f[g>>2]|0)){J=163;break}else q=Fa}if((J|0)==146)Eo(na);else if((J|0)==156)Eo(na);else if((J|0)==162){I=-1;J=177;break g}else if((J|0)==163){Ha=f[ta>>2]|0;Ia=Fa;break}}else{Ha=c;Ia=ua}while(0);if((Ia|0)==(((f[Ha+4>>2]|0)-(f[Ha>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ha+28>>2]|0)-(f[Ha+24>>2]|0)>>2;l=f[k>>2]|0;q=f[p>>2]|0;if((l|0)==(q|0)){Ja=l;Ka=c}else{Y=e+4|0;ja=e+8|0;ia=e+12|0;ka=Ha;ma=l;l=c;while(1){c=f[ma>>2]|0;la=l+-1|0;ha=f[ka+24>>2]|0;if((f[ha+(la<<2)>>2]|0)==-1){qa=l;while(1){U=qa+-1|0;oa=qa+-2|0;if((f[ha+(oa<<2)>>2]|0)==-1)qa=U;else{La=U;Ma=oa;break}}}else{La=l;Ma=la}if(Ma>>>0>>0){Na=ka;Oa=La}else{f[e>>2]=ka;qa=f[ha+(Ma<<2)>>2]|0;f[Y>>2]=qa;f[ja>>2]=qa;b[ia>>0]=1;if((qa|0)==-1)Pa=ka;else{na=ka;oa=qa;while(1){f[(f[na>>2]|0)+(oa<<2)>>2]=c;fg(e);oa=f[ja>>2]|0;qa=f[ta>>2]|0;if((oa|0)==-1){Pa=qa;break}else na=qa}}na=f[Pa+24>>2]|0;if((c|0)==-1)Qa=na+(Ma<<2)|0;else{oa=na+(Ma<<2)|0;f[na+(c<<2)>>2]=f[oa>>2];Qa=oa}f[Qa>>2]=-1;oa=f[r>>2]|0;na=oa+(Ma>>>5<<2)|0;ha=1<<(Ma&31);la=oa+(c>>>5<<2)|0;oa=1<<(c&31);qa=f[la>>2]|0;f[la>>2]=f[na>>2]&ha|0?qa|oa:qa&~oa;f[na>>2]=f[na>>2]&~ha;Na=Pa;Oa=La+-1|0}ma=ma+4|0;if((ma|0)==(q|0)){I=Oa;J=177;break}else{ka=Na;l=Oa}}}}else{I=-1;J=177}}else{I=-1;J=177}}while(0);if((J|0)==177){Ja=f[k>>2]|0;Ka=I}if(Ja|0){I=f[p>>2]|0;if((I|0)!=(Ja|0))f[p>>2]=I+(~((I+-4-Ja|0)>>>2)<<2);lp(Ja)}Ja=f[i+8>>2]|0;if(Ja|0){I=Ja;do{Ja=I;I=f[I>>2]|0;lp(Ja)}while((I|0)!=0)}I=f[i>>2]|0;f[i>>2]=0;if(I|0)lp(I);I=f[g>>2]|0;if(!I){u=d;return Ka|0}g=f[o>>2]|0;if((g|0)!=(I|0))f[o>>2]=g+(~((g+-4-I|0)>>>2)<<2);lp(I);u=d;return Ka|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;k=d+8|0;l=d;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;o=i+4|0;f[o>>2]=0;f[i+8>>2]=0;p=(f[a+216>>2]|0)==(f[a+220>>2]|0);q=a+120|0;r=f[a+124>>2]|0;a:do if((c|0)>0){s=a+308|0;t=g+4|0;v=a+8|0;w=i+8|0;x=e+8|0;y=a+304|0;z=a+296|0;A=a+300|0;B=a+36|0;C=a+40|0;D=c+-1|0;E=0;b:while(1){F=E+1|0;c:do if(!(b[s>>0]|0))G=43;else{H=f[y>>2]|0;I=f[z>>2]|0;J=f[A>>2]|0;K=I+(H>>>3)|0;if(K>>>0>>0?(L=h[K>>0]|0,K=H+1|0,f[y>>2]=K,L&1<<(H&7)|0):0){L=I+(K>>>3)|0;if(L>>>0>>0){M=(h[L>>0]|0)>>>(K&7)&1;L=H+2|0;f[y>>2]=L;N=L;O=M}else{N=K;O=0}K=I+(N>>>3)|0;if(K>>>0>>0){J=(h[K>>0]|0)>>>(N&7);f[y>>2]=N+1;P=J<<1&2}else P=0;J=(P|O)<<1|1;K=(J|0)==5;switch(J&7){case 1:{G=43;break c;break}case 3:case 5:{J=f[m>>2]|0;if((f[e>>2]|0)==(J|0)){Q=-1;G=184;break a}I=f[J+-4>>2]|0;J=E*3|0;M=K?J:J+2|0;L=(K&1)+J|0;H=(K?2:1)+J|0;K=f[v>>2]|0;R=f[K+12>>2]|0;f[R+(H<<2)>>2]=I;f[R+(I<<2)>>2]=H;R=K+24|0;S=K+28|0;T=f[S>>2]|0;if((T|0)==(f[K+32>>2]|0)){dh(R,3112);U=f[S>>2]|0}else{f[T>>2]=-1;K=T+4|0;f[S>>2]=K;U=K}K=U-(f[R>>2]|0)>>2;R=K+-1|0;S=f[v>>2]|0;T=f[S+24>>2]|0;V=T;if(((f[S+28>>2]|0)-T>>2|0)>(r|0)){Q=-1;G=184;break a}T=f[S>>2]|0;f[T+(H<<2)>>2]=R;if(K|0)f[V+(R<<2)>>2]=H;if((I|0)!=-1){H=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((H|0)!=-1){R=f[T+(H<<2)>>2]|0;f[T+(M<<2)>>2]=R;if((R|0)!=-1)f[V+(R<<2)>>2]=M}else f[T+(M<<2)>>2]=-1;R=I+1|0;V=((R>>>0)%3|0|0)==0?I+-2|0:R;if((V|0)==-1)W=-1;else W=f[T+(V<<2)>>2]|0}else{f[T+(M<<2)>>2]=-1;W=-1}f[T+(L<<2)>>2]=W;f[(f[m>>2]|0)+-4>>2]=J;break}case 7:{f[k>>2]=E*3;J=f[v>>2]|0;L=J+24|0;T=J+28|0;M=f[T>>2]|0;if((M|0)==(f[J+32>>2]|0)){dh(L,3112);X=f[T>>2]|0}else{f[M>>2]=-1;J=M+4|0;f[T>>2]=J;X=J}J=X-(f[L>>2]|0)>>2;L=J+-1|0;T=f[v>>2]|0;M=f[k>>2]|0;V=f[T>>2]|0;f[V+(M<<2)>>2]=L;R=T+24|0;I=T+28|0;H=f[I>>2]|0;if((H|0)==(f[T+32>>2]|0)){dh(R,3112);Y=f[I>>2]|0;Z=f[T>>2]|0}else{f[H>>2]=-1;T=H+4|0;f[I>>2]=T;Y=T;Z=V}f[Z+(M+1<<2)>>2]=(Y-(f[R>>2]|0)>>2)+-1;R=f[v>>2]|0;M=(f[k>>2]|0)+2|0;V=R+24|0;T=R+28|0;I=f[T>>2]|0;if((I|0)==(f[R+32>>2]|0)){dh(V,3112);_=f[T>>2]|0}else{f[I>>2]=-1;H=I+4|0;f[T>>2]=H;_=H}f[(f[R>>2]|0)+(M<<2)>>2]=(_-(f[V>>2]|0)>>2)+-1;V=f[v>>2]|0;M=f[V+24>>2]|0;R=M;if(((f[V+28>>2]|0)-M>>2|0)>(r|0)){G=114;break b}M=f[k>>2]|0;if(J){f[R+(L<<2)>>2]=M;if((J|0)!=-1){f[R+(J<<2)>>2]=(f[k>>2]|0)+1;L=J+1|0;if((L|0)!=-1){aa=L;G=109}}else{aa=0;G=109}}else{f[R+(J<<2)>>2]=M+1;aa=1;G=109}if((G|0)==109){G=0;f[R+(aa<<2)>>2]=(f[k>>2]|0)+2}R=f[m>>2]|0;if((R|0)==(f[x>>2]|0))dh(e,k);else{f[R>>2]=f[k>>2];f[m>>2]=R+4}break}default:{G=183;break b}}R=c-E+-1|0;M=f[C>>2]|0;if((M|0)==(f[B>>2]|0))break;else ba=M;while(1){M=ba;J=f[M+-8>>2]|0;if(J>>>0>R>>>0){Q=-1;G=184;break a}if((J|0)!=(R|0))break c;J=b[M+-4>>0]|0;L=f[M+-12>>2]|0;f[C>>2]=M+-12;if((L|0)<0){Q=-1;G=184;break a}M=f[(f[m>>2]|0)+-4>>2]|0;V=(M|0)==-1;do if(!(J&1))if(!V)if(!((M>>>0)%3|0)){ca=M+2|0;break}else{ca=M+-1|0;break}else ca=-1;else{H=M+1|0;if(V)ca=-1;else ca=((H>>>0)%3|0|0)==0?M+-2|0:H}while(0);f[k>>2]=D-L;M=Tc(g,k)|0;f[M>>2]=ca;ba=f[C>>2]|0;if((ba|0)==(f[B>>2]|0))break c}}R=f[m>>2]|0;if((f[e>>2]|0)==(R|0)){Q=-1;G=184;break a}M=R+-4|0;R=f[M>>2]|0;V=f[v>>2]|0;J=(R|0)==-1;H=R+1|0;if(!J?(T=((H>>>0)%3|0|0)==0?R+-2|0:H,(T|0)!=-1):0)da=f[(f[V>>2]|0)+(T<<2)>>2]|0;else da=-1;T=f[V+24>>2]|0;H=f[T+(da<<2)>>2]|0;I=H+1|0;if((H|0)==-1)ea=-1;else ea=((I>>>0)%3|0|0)==0?H+-2|0:I;I=E*3|0;H=I+1|0;K=f[V+12>>2]|0;f[K+(R<<2)>>2]=H;f[K+(H<<2)>>2]=R;S=I+2|0;f[K+(ea<<2)>>2]=S;f[K+(S<<2)>>2]=ea;K=f[V>>2]|0;f[K+(I<<2)>>2]=da;V=ea+1|0;if((ea|0)!=-1?(fa=((V>>>0)%3|0|0)==0?ea+-2|0:V,(fa|0)!=-1):0)ga=f[K+(fa<<2)>>2]|0;else ga=-1;f[K+(H<<2)>>2]=ga;if(!J?(J=(((R>>>0)%3|0|0)==0?2:-1)+R|0,(J|0)!=-1):0){R=f[K+(J<<2)>>2]|0;f[K+(S<<2)>>2]=R;if((R|0)!=-1)f[T+(R<<2)>>2]=S}else f[K+(S<<2)>>2]=-1;S=(f[q>>2]|0)+(da>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(da&31));f[M>>2]=I}while(0);if((G|0)==43){G=0;I=f[e>>2]|0;M=f[m>>2]|0;if((I|0)==(M|0)){Q=-1;G=184;break a}S=M+-4|0;K=f[S>>2]|0;f[m>>2]=S;R=f[t>>2]|0;d:do if(R){T=R+-1|0;J=(T&R|0)==0;if(!J)if(E>>>0>>0)ha=E;else ha=(E>>>0)%(R>>>0)|0;else ha=T&E;H=f[(f[g>>2]|0)+(ha<<2)>>2]|0;if((H|0)!=0?(fa=f[H>>2]|0,(fa|0)!=0):0){e:do if(J){H=fa;while(1){V=f[H+4>>2]|0;ia=(V|0)==(E|0);if(!(ia|(V&T|0)==(ha|0))){ja=I;ka=S;break d}if(ia?(f[H+8>>2]|0)==(E|0):0){la=H;break e}H=f[H>>2]|0;if(!H){ja=I;ka=S;break d}}}else{H=fa;while(1){L=f[H+4>>2]|0;if((L|0)==(E|0)){if((f[H+8>>2]|0)==(E|0)){la=H;break e}}else{if(L>>>0>>0)ma=L;else ma=(L>>>0)%(R>>>0)|0;if((ma|0)!=(ha|0)){ja=I;ka=S;break d}}H=f[H>>2]|0;if(!H){ja=I;ka=S;break d}}}while(0);fa=la+12|0;if((S|0)==(f[x>>2]|0)){dh(e,fa);ja=f[e>>2]|0;ka=f[m>>2]|0;break}else{f[S>>2]=f[fa>>2];f[m>>2]=M;ja=I;ka=M;break}}else{ja=I;ka=S}}else{ja=I;ka=S}while(0);if((ja|0)==(ka|0)){Q=-1;G=184;break a}S=f[ka+-4>>2]|0;I=(S|0)==-1;if(!I?(f[(f[(f[v>>2]|0)+12>>2]|0)+(S<<2)>>2]|0)!=-1:0){Q=-1;G=184;break a}M=(K|0)==-1;R=f[v>>2]|0;fa=f[R+12>>2]|0;if(!M?(f[fa+(K<<2)>>2]|0)!=-1:0){Q=-1;G=184;break a}T=E*3|0;J=T+2|0;f[fa+(S<<2)>>2]=J;f[fa+(J<<2)>>2]=S;H=T+1|0;f[fa+(K<<2)>>2]=H;f[fa+(H<<2)>>2]=K;if(!I){I=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((I|0)==-1)na=-1;else na=f[(f[R>>2]|0)+(I<<2)>>2]|0;I=f[R>>2]|0;f[I+(T<<2)>>2]=na;L=S+1|0;ia=((L>>>0)%3|0|0)==0?S+-2|0:L;if((ia|0)==-1){oa=I;pa=R;qa=-1;ra=na}else{oa=I;pa=R;qa=f[I+(ia<<2)>>2]|0;ra=na}}else{ia=f[R>>2]|0;f[ia+(T<<2)>>2]=-1;oa=ia;pa=R;qa=-1;ra=-1}f[oa+(H<<2)>>2]=qa;if(!M){M=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((M|0)!=-1){H=f[oa+(M<<2)>>2]|0;f[oa+(J<<2)>>2]=H;if((H|0)!=-1)f[(f[R+24>>2]|0)+(H<<2)>>2]=J}else f[oa+(J<<2)>>2]=-1;H=K+1|0;M=((H>>>0)%3|0|0)==0?K+-2|0:H;if((M|0)==-1){sa=-1;ta=-1}else{sa=M;ta=f[oa+(M<<2)>>2]|0}}else{f[oa+(J<<2)>>2]=-1;sa=-1;ta=-1}f[k>>2]=ta;J=f[R+24>>2]|0;if((ra|0)!=-1)f[J+(ra<<2)>>2]=f[J+(ta<<2)>>2];f:do if((sa|0)!=-1){R=f[pa>>2]|0;M=sa;do{f[R+(M<<2)>>2]=ra;H=M+1|0;ia=((H>>>0)%3|0|0)==0?M+-2|0:H;if((ia|0)==-1)break f;H=f[fa+(ia<<2)>>2]|0;ia=H+1|0;if((H|0)==-1)break f;M=((ia>>>0)%3|0|0)==0?H+-2|0:ia}while((M|0)!=-1)}while(0);f[J+(f[k>>2]<<2)>>2]=-1;do if(p){fa=f[o>>2]|0;if((fa|0)==(f[w>>2]|0)){dh(i,k);ua=f[m>>2]|0;break}else{f[fa>>2]=f[k>>2];f[o>>2]=fa+4;ua=ka;break}}else ua=ka;while(0);f[ua+-4>>2]=T}if((F|0)<(c|0))E=F;else{va=v;wa=F;G=129;break a}}if((G|0)==114){Q=-1;G=184;break}}else{va=a+8|0;wa=0;G=129}while(0);g:do if((G|0)==129){c=f[va>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(r|0)){ua=f[m>>2]|0;do if((ua|0)!=(f[e>>2]|0)){ka=a+270|0;p=a+364|0;ra=a+360|0;sa=a+352|0;pa=a+356|0;ta=a+60|0;oa=a+64|0;qa=a+68|0;na=a+76|0;ja=a+80|0;la=a+72|0;ha=a+312|0;ma=ua;da=wa;h:while(1){ga=ma;f[k>>2]=f[ga+-4>>2];f[m>>2]=ga+-4;if((j[ka>>1]|0)<514)if(b[p>>0]|0){ga=f[ra>>2]|0;ea=(f[sa>>2]|0)+(ga>>>3)|0;if(ea>>>0<(f[pa>>2]|0)>>>0){ba=(h[ea>>0]|0)>>>(ga&7)&1;f[ra>>2]=ga+1;xa=ba;G=137}else G=160}else G=138;else{xa=(Pi(ha)|0)&1;G=137}if((G|0)==137){G=0;if(!xa)G=160;else G=138}do if((G|0)==138){G=0;ba=f[va>>2]|0;ga=f[ba>>2]|0;ea=ga;if((da|0)>=(((f[ba+4>>2]|0)-ga>>2>>>0)/3|0|0)){G=168;break h}ga=f[k>>2]|0;ca=ga+1|0;if((ga|0)!=-1?(aa=((ca>>>0)%3|0|0)==0?ga+-2|0:ca,(aa|0)!=-1):0)ya=f[ea+(aa<<2)>>2]|0;else ya=-1;aa=f[ba+24>>2]|0;ca=f[aa+(ya<<2)>>2]|0;_=ca+1|0;if((ca|0)!=-1?(Y=((_>>>0)%3|0|0)==0?ca+-2|0:_,_=Y+1|0,(Y|0)!=-1):0){ca=((_>>>0)%3|0|0)==0?Y+-2|0:_;if((ca|0)==-1){za=Y;Aa=-1}else{za=Y;Aa=f[ea+(ca<<2)>>2]|0}}else{za=-1;Aa=-1}ca=f[aa+(Aa<<2)>>2]|0;aa=ca+1|0;if((ca|0)!=-1?(Y=((aa>>>0)%3|0|0)==0?ca+-2|0:aa,aa=Y+1|0,(Y|0)!=-1):0){ca=((aa>>>0)%3|0|0)==0?Y+-2|0:aa;if((ca|0)==-1){Ba=Y;Ca=-1}else{Ba=Y;Ca=f[ea+(ca<<2)>>2]|0}}else{Ba=-1;Ca=-1}ca=da*3|0;f[l>>2]=ca;Y=f[ba+12>>2]|0;f[Y+(ca<<2)>>2]=ga;f[Y+(ga<<2)>>2]=ca;ca=(f[l>>2]|0)+1|0;f[Y+(ca<<2)>>2]=za;f[Y+(za<<2)>>2]=ca;ca=(f[l>>2]|0)+2|0;f[Y+(ca<<2)>>2]=Ba;f[Y+(Ba<<2)>>2]=ca;ca=f[l>>2]|0;Y=ea+(ca<<2)|0;f[Y>>2]=Aa;f[ea+(ca+1<<2)>>2]=Ca;f[ea+(ca+2<<2)>>2]=ya;if((ca|0)==-1)Da=-1;else Da=f[Y>>2]|0;Y=f[q>>2]|0;ca=Y+(Da>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Da&31));ca=(f[l>>2]|0)+1|0;if((ca|0)==-1)Ea=-1;else Ea=f[ea+(ca<<2)>>2]|0;ca=Y+(Ea>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Ea&31));ca=(f[l>>2]|0)+2|0;if((ca|0)==-1)Fa=-1;else Fa=f[ea+(ca<<2)>>2]|0;ca=Y+(Fa>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Fa&31));ca=da+1|0;Y=f[oa>>2]|0;ea=f[qa>>2]|0;if((Y|0)==(ea<<5|0)){if((Y+1|0)<0){G=152;break h}ga=ea<<6;ea=Y+32&-32;Jg(ta,Y>>>0<1073741823?(ga>>>0>>0?ea:ga):2147483647);Ga=f[oa>>2]|0}else Ga=Y;f[oa>>2]=Ga+1;Y=(f[ta>>2]|0)+(Ga>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(Ga&31);Y=f[na>>2]|0;if((Y|0)==(f[ja>>2]|0))dh(la,l);else{f[Y>>2]=f[l>>2];f[na>>2]=Y+4}Ha=ca}else if((G|0)==160){G=0;ca=f[oa>>2]|0;Y=f[qa>>2]|0;if((ca|0)==(Y<<5|0)){if((ca+1|0)<0){G=162;break h}ga=Y<<6;Y=ca+32&-32;Jg(ta,ca>>>0<1073741823?(ga>>>0>>0?Y:ga):2147483647);Ia=f[oa>>2]|0}else Ia=ca;f[oa>>2]=Ia+1;ca=(f[ta>>2]|0)+(Ia>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(Ia&31));ca=f[na>>2]|0;if((ca|0)==(f[ja>>2]|0)){dh(la,k);Ha=da;break}else{f[ca>>2]=f[k>>2];f[na>>2]=ca+4;Ha=da;break}}while(0);ma=f[m>>2]|0;if((ma|0)==(f[e>>2]|0)){G=169;break}else da=Ha}if((G|0)==152)Eo(ta);else if((G|0)==162)Eo(ta);else if((G|0)==168){Q=-1;G=184;break g}else if((G|0)==169){Ja=f[va>>2]|0;Ka=Ha;break}}else{Ja=c;Ka=wa}while(0);if((Ka|0)==(((f[Ja+4>>2]|0)-(f[Ja>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ja+28>>2]|0)-(f[Ja+24>>2]|0)>>2;ua=f[i>>2]|0;da=f[o>>2]|0;if((ua|0)==(da|0)){La=ua;Ma=c}else{ma=k+4|0;na=k+8|0;la=k+12|0;ja=Ja;oa=ua;ua=c;while(1){c=f[oa>>2]|0;qa=ua+-1|0;ha=f[ja+24>>2]|0;if((f[ha+(qa<<2)>>2]|0)==-1){ra=ua;while(1){pa=ra+-1|0;sa=ra+-2|0;if((f[ha+(sa<<2)>>2]|0)==-1)ra=pa;else{Na=pa;Oa=sa;break}}}else{Na=ua;Oa=qa}if(Oa>>>0>>0){Pa=ja;Qa=Na}else{f[k>>2]=ja;ra=f[ha+(Oa<<2)>>2]|0;f[ma>>2]=ra;f[na>>2]=ra;b[la>>0]=1;if((ra|0)==-1)Ra=ja;else{ta=ja;sa=ra;while(1){f[(f[ta>>2]|0)+(sa<<2)>>2]=c;fg(k);sa=f[na>>2]|0;ra=f[va>>2]|0;if((sa|0)==-1){Ra=ra;break}else ta=ra}}ta=f[Ra+24>>2]|0;if((c|0)==-1)Sa=ta+(Oa<<2)|0;else{sa=ta+(Oa<<2)|0;f[ta+(c<<2)>>2]=f[sa>>2];Sa=sa}f[Sa>>2]=-1;sa=f[q>>2]|0;ta=sa+(Oa>>>5<<2)|0;ha=1<<(Oa&31);qa=sa+(c>>>5<<2)|0;sa=1<<(c&31);ra=f[qa>>2]|0;f[qa>>2]=f[ta>>2]&ha|0?ra|sa:ra&~sa;f[ta>>2]=f[ta>>2]&~ha;Pa=Ra;Qa=Na+-1|0}oa=oa+4|0;if((oa|0)==(da|0)){Q=Qa;G=184;break}else{ja=Pa;ua=Qa}}}}else{Q=-1;G=184}}else{Q=-1;G=184}}while(0);if((G|0)==184){La=f[i>>2]|0;Ma=Q}if(La|0){Q=f[o>>2]|0;if((Q|0)!=(La|0))f[o>>2]=Q+(~((Q+-4-La|0)>>>2)<<2);lp(La)}La=f[g+8>>2]|0;if(La|0){Q=La;do{La=Q;Q=f[Q>>2]|0;lp(La)}while((Q|0)!=0)}Q=f[g>>2]|0;f[g>>2]=0;if(Q|0)lp(Q);Q=f[e>>2]|0;if(!Q){u=d;return Ma|0}e=f[m>>2]|0;if((e|0)!=(Q|0))f[m>>2]=e+(~((e+-4-Q|0)>>>2)<<2);lp(Q);u=d;return Ma|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=(Lj(4440,4632,e,c)|0)-4440>>2;j=g;g=h;h=0;a:while(1){k=(f[4440+(i<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=211;n=h;o=8;break}p=f[4248+(l<<2)>>2]|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((k|0)==(X(q,p)|0)){r=h;break}else l=l+1|0}b:do if((o|0)==8){c:while(1){o=0;l=(k>>>0)/(m>>>0)|0;do if(l>>>0>=m>>>0)if((k|0)!=(X(l,m)|0)){p=m+10|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((k|0)!=(X(q,p)|0)){q=m+12|0;s=(k>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((k|0)!=(X(s,q)|0)){s=m+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(X(t,s)|0)){t=m+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(X(v,t)|0)){v=m+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(X(w,v)|0)){w=m+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(X(x,w)|0)){y=9;z=w;A=n}else{x=m+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(k|0)==(X(B,x)|0);y=C?1:D?9:0;z=C|D?x:m+210|0;A=C?k:n}else{y=1;z=w;A=k}}else{y=9;z=v;A=n}else{y=1;z=v;A=k}}else{y=9;z=t;A=n}else{y=1;z=t;A=k}}else{y=9;z=s;A=n}else{y=1;z=s;A=k}}else{y=9;z=q;A=n}else{y=1;z=q;A=k}}else{y=9;z=p;A=n}else{y=1;z=p;A=k}}else{y=9;z=m;A=n}else{y=1;z=m;A=k}while(0);switch(y&15){case 9:{r=A;break b;break}case 0:{m=z;n=A;o=8;break}default:break c}}if(!y)r=A;else{o=107;break a}}while(0);l=i+1|0;p=(l|0)==48;q=(p&1)+j|0;i=p?0:l;j=q;g=q*210|0;h=r}if((o|0)==106){f[d>>2]=k;E=k;break}else if((o|0)==107){f[d>>2]=k;E=A;break}}else{h=Lj(4248,4440,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function ab(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Ph(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Ph(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;ak(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Vg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}ah(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;pg(T,t);if(!(ph(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Hf(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Pb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Ph(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if(0>(E|0)|0==(E|0)&Y>>>0>Q>>>0)break;zk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Pb(a,m)|0;qp(m+24|0);if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);D=Ma[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=D;f[a+384>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+372>>2]=t;zk(m);c:do if(Rf(J,m)|0){D=Ya(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(Xd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(Nd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)_j(a+272|0);if((j[a+270>>1]|0)<514)_j(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=g;g=0;do{Uf(E+(g*144|0)+4|0,f[M>>2]|0)|0;O=f[T>>2]|0;H=f[O+(g*144|0)+132>>2]|0;Q=f[O+(g*144|0)+136>>2]|0;if((H|0)==(Q|0))_=O;else{N=O;O=H;while(1){f[p>>2]=f[O>>2];f[e>>2]=f[p>>2];wf(N+(g*144|0)+4|0,e);O=O+4|0;H=f[T>>2]|0;if((O|0)==(Q|0)){_=H;break}else N=H}}Hj(_+(g*144|0)+4|0,0,0);g=g+1|0;E=f[T>>2]|0}while(g>>>0<(((f[F>>2]|0)-E|0)/144|0)>>>0)}E=f[M>>2]|0;g=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=a+196|0;N=a+200|0;Q=f[N>>2]|0;O=f[E>>2]|0;H=Q-O>>2;S=O;O=Q;do if(g>>>0>H>>>0)Og(E,g-H|0);else{if(g>>>0>=H>>>0)break;Q=S+(g<<2)|0;if((O|0)==(Q|0))break;f[N>>2]=O+(~((O+-4-Q|0)>>>2)<<2)}while(0);fi(a+184|0,g);O=f[T>>2]|0;if((f[F>>2]|0)!=(O|0)){N=O;O=0;do{S=N;H=(f[S+(O*144|0)+60>>2]|0)-(f[S+(O*144|0)+56>>2]|0)>>2;E=f[M>>2]|0;Q=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=(H|0)<(Q|0)?Q:H;H=S+(O*144|0)+116|0;Q=S+(O*144|0)+120|0;v=f[Q>>2]|0;w=f[H>>2]|0;B=v-w>>2;A=w;w=v;do if(E>>>0>B>>>0)Og(H,E-B|0);else{if(E>>>0>=B>>>0)break;v=A+(E<<2)|0;if((w|0)==(v|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);fi(S+(O*144|0)+104|0,E);O=O+1|0;N=f[T>>2]|0}while(O>>>0<(((f[F>>2]|0)-N|0)/144|0)>>>0)}Z=wb(a,D)|0}else Z=0;while(0);qp(m+24|0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function bb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Ph(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Ph(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;ak(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Vg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}ah(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;pg(T,t);if(!(ph(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Hf(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Pb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Ph(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if(0>(E|0)|0==(E|0)&Y>>>0>Q>>>0)break;zk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Pb(a,m)|0;qp(m+24|0);if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);D=Ma[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=D;f[a+384>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+372>>2]=t;zk(m);c:do if(Wb(J,m)|0){D=Za(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(Xd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(Nd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)_j(a+272|0);if((j[a+270>>1]|0)<514)_j(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=g;g=0;do{Uf(E+(g*144|0)+4|0,f[M>>2]|0)|0;O=f[T>>2]|0;H=f[O+(g*144|0)+132>>2]|0;Q=f[O+(g*144|0)+136>>2]|0;if((H|0)==(Q|0))_=O;else{N=O;O=H;while(1){f[p>>2]=f[O>>2];f[e>>2]=f[p>>2];wf(N+(g*144|0)+4|0,e);O=O+4|0;H=f[T>>2]|0;if((O|0)==(Q|0)){_=H;break}else N=H}}Hj(_+(g*144|0)+4|0,0,0);g=g+1|0;E=f[T>>2]|0}while(g>>>0<(((f[F>>2]|0)-E|0)/144|0)>>>0)}E=f[M>>2]|0;g=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=a+196|0;N=a+200|0;Q=f[N>>2]|0;O=f[E>>2]|0;H=Q-O>>2;S=O;O=Q;do if(g>>>0>H>>>0)Og(E,g-H|0);else{if(g>>>0>=H>>>0)break;Q=S+(g<<2)|0;if((O|0)==(Q|0))break;f[N>>2]=O+(~((O+-4-Q|0)>>>2)<<2)}while(0);fi(a+184|0,g);O=f[T>>2]|0;if((f[F>>2]|0)!=(O|0)){N=O;O=0;do{S=N;H=(f[S+(O*144|0)+60>>2]|0)-(f[S+(O*144|0)+56>>2]|0)>>2;E=f[M>>2]|0;Q=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=(H|0)<(Q|0)?Q:H;H=S+(O*144|0)+116|0;Q=S+(O*144|0)+120|0;v=f[Q>>2]|0;w=f[H>>2]|0;B=v-w>>2;A=w;w=v;do if(E>>>0>B>>>0)Og(H,E-B|0);else{if(E>>>0>=B>>>0)break;v=A+(E<<2)|0;if((w|0)==(v|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);fi(S+(O*144|0)+104|0,E);O=O+1|0;N=f[T>>2]|0}while(O>>>0<(((f[F>>2]|0)-N|0)/144|0)>>>0)}Z=wb(a,D)|0}else Z=0;while(0);qp(m+24|0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function cb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,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;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;lp(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Ul(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Ul(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Ul(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;if((G|0)==26)if((Q>>>0<=1431655765?(f[s>>2]|0)>>>0<=(Q*3|0)>>>0:0)?(O=f[r>>2]|0,F=f[O+32>>2]|0,H=F+8|0,M=f[H>>2]|0,E=f[H+4>>2]|0,H=F+16|0,N=H,g=f[N>>2]|0,t=f[N+4>>2]|0,(E|0)>(t|0)|(E|0)==(t|0)&M>>>0>g>>>0):0){N=f[F>>2]|0;q=b[N+g>>0]|0;J=Ul(g|0,t|0,1,0)|0;D=H;f[D>>2]=J;f[D+4>>2]=I;if((h[O+36>>0]<<8&65535)<512){O=Ul(g|0,t|0,5,0)|0;t=I;if((E|0)<(t|0)|(E|0)==(t|0)&M>>>0>>0)R=0;else{M=N+J|0;J=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[k>>2]=J;M=H;f[M>>2]=O;f[M+4>>2]=t;S=Q;T=J;G=34}}else if(Ph(k,F)|0){S=f[i>>2]|0;T=f[k>>2]|0;G=34}else R=0;if((G|0)==34)if(S>>>0>=T>>>0?S>>>0<=(((T>>>0)/3|0)+T|0)>>>0:0){S=f[r>>2]|0;F=f[S+32>>2]|0;if((h[S+36>>0]<<8&65535)<512){S=F+8|0;J=f[S>>2]|0;Q=f[S+4>>2]|0;S=F+16|0;t=S;M=f[t>>2]|0;O=Ul(M|0,f[t+4>>2]|0,4,0)|0;t=I;if((Q|0)<(t|0)|(Q|0)==(t|0)&J>>>0>>0)U=0;else{J=(f[F>>2]|0)+M|0;M=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[l>>2]=M;J=S;f[J>>2]=O;f[J+4>>2]=t;V=M;W=T;G=41}}else if(Ph(l,F)|0){V=f[l>>2]|0;W=f[k>>2]|0;G=41}else U=0;a:do if((G|0)==41)if(V>>>0>W>>>0)U=0;else{F=f[a+24>>2]|0;T=a+28|0;M=f[T>>2]|0;if((M|0)!=(F|0))f[T>>2]=M+(~((M+-4-F|0)>>>2)<<2);F=Yk(88)|0;ak(F);M=a+8|0;T=f[M>>2]|0;f[M>>2]=F;if(T|0?(Vg(T),lp(T),(f[M>>2]|0)==0):0){U=0;break}T=a+160|0;F=f[T>>2]|0;t=a+164|0;J=f[t>>2]|0;if((J|0)!=(F|0))f[t>>2]=J+(~((J+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=a+172|0;F=f[T>>2]|0;J=a+176|0;t=f[J>>2]|0;if((t|0)!=(F|0))f[J>>2]=t+(~((t+-4-F|0)>>>2)<<2);fi(T,f[i>>2]|0);T=f[a+36>>2]|0;F=a+40|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~(((t+-12-T|0)>>>0)/12|0)*12|0);T=f[a+48>>2]|0;t=a+52|0;F=f[t>>2]|0;if((F|0)!=(T|0))f[t>>2]=F+(~((F+-4-T|0)>>>2)<<2);f[a+64>>2]=0;T=f[a+72>>2]|0;F=a+76|0;t=f[F>>2]|0;if((t|0)!=(T|0))f[F>>2]=t+(~((t+-4-T|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;T=a+216|0;t=f[T>>2]|0;F=a+220|0;J=f[F>>2]|0;if((J|0)!=(t|0)){O=J;do{f[F>>2]=O+-144;J=f[O+-12>>2]|0;if(J|0){S=O+-8|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-28>>2]|0;if(J|0){Q=O+-24|0;S=f[Q>>2]|0;if((S|0)!=(J|0))f[Q>>2]=S+(~((S+-4-J|0)>>>2)<<2);lp(J)}J=f[O+-40>>2]|0;if(J|0){S=O+-36|0;Q=f[S>>2]|0;if((Q|0)!=(J|0))f[S>>2]=Q+(~((Q+-4-J|0)>>>2)<<2);lp(J)}ah(O+-140|0);O=f[F>>2]|0}while((O|0)!=(t|0))}t=q&255;pg(T,t);if(!(ph(f[M>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[s>>2]|0)|0)|0)){U=0;break}O=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Hf(a+120|0,O,e);O=f[r>>2]|0;J=h[O+36>>0]<<8;b:do if(((J|h[O+37>>0])&65535)>=514)if((Pb(a,f[O+32>>2]|0)|0)==-1){U=0;break a}else X=-1;else{Q=f[O+32>>2]|0;do if((J&65535)<512){S=Q+8|0;H=f[S>>2]|0;N=f[S+4>>2]|0;S=Q+16|0;E=S;g=f[E>>2]|0;D=Ul(g|0,f[E+4>>2]|0,4,0)|0;E=I;if((N|0)<(E|0)|(N|0)==(E|0)&H>>>0>>0)break;H=(f[Q>>2]|0)+g|0;g=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[e>>2]=g;H=S;f[H>>2]=D;f[H+4>>2]=E;Y=g;G=77}else{if(!(Ph(e,Q)|0))break;Y=f[e>>2]|0;G=77}while(0);do if((G|0)==77){if(!Y)break;Q=f[(f[r>>2]|0)+32>>2]|0;g=Q+8|0;E=Q+16|0;Q=Wl(f[g>>2]|0,f[g+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=I;if(0>(E|0)|0==(E|0)&Y>>>0>Q>>>0)break;zk(m);Q=f[(f[r>>2]|0)+32>>2]|0;E=Q+16|0;g=f[E>>2]|0;H=f[e>>2]|0;D=(f[Q>>2]|0)+g+H|0;S=Q+8|0;N=Wl(f[S>>2]|0,f[S+4>>2]|0,g|0,f[E+4>>2]|0)|0;E=Wl(N|0,I|0,H|0,0)|0;Rk(m,D,E,d[Q+38>>1]|0);Q=Pb(a,m)|0;qp(m+24|0);if((Q|0)==-1)break;X=Q;break b}while(0);U=0;break a}while(0);J=a+232|0;f[a+376>>2]=a;O=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Q=f[O>>2]|0;O=(f[Q>>2]|0)+(f[Q+16>>2]|0)|0;Q=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;E=f[Q>>2]|0;Q=E+8|0;D=E+16|0;E=Wl(f[Q>>2]|0,f[Q+4>>2]|0,f[D>>2]|0,f[D+4>>2]|0)|0;D=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Rk(J,O,E,d[(f[D>>2]|0)+38>>1]|0);f[a+372>>2]=t;zk(m);c:do if(Kd(J,m)|0){D=_a(a,f[k>>2]|0)|0;if((D|0)==-1){Z=0;break}E=f[(f[r>>2]|0)+32>>2]|0;O=m+16|0;Q=f[O>>2]|0;H=(f[m>>2]|0)+Q|0;N=m+8|0;g=Wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,f[O+4>>2]|0)|0;Rk(E,H,g,d[E+38>>1]|0);E=f[r>>2]|0;g=(h[E+36>>0]<<8|h[E+37>>0])&65535;if((g&65535)<514){H=(f[E+32>>2]|0)+16|0;E=H;O=Ul(f[E>>2]|0,f[E+4>>2]|0,X|0,((X|0)<0)<<31>>31|0)|0;E=H;f[E>>2]=O;f[E+4>>2]=I}do if((f[F>>2]|0)!=(f[T>>2]|0)){E=f[M>>2]|0;O=(f[E+4>>2]|0)!=(f[E>>2]|0);if((g&65535)<513){if(!O)break;E=0;do{f[n>>2]=E;f[e>>2]=f[n>>2];E=E+3|0;if(!(Xd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}else{if(!O)break;E=0;do{f[o>>2]=E;f[e>>2]=f[o>>2];E=E+3|0;if(!(Nd(a,e)|0)){Z=0;break c}H=f[M>>2]|0}while(E>>>0<(f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)_j(a+272|0);if((j[a+270>>1]|0)<514)_j(a+328|0);g=f[T>>2]|0;if((f[F>>2]|0)!=(g|0)){E=g;g=0;do{Uf(E+(g*144|0)+4|0,f[M>>2]|0)|0;O=f[T>>2]|0;H=f[O+(g*144|0)+132>>2]|0;Q=f[O+(g*144|0)+136>>2]|0;if((H|0)==(Q|0))_=O;else{N=O;O=H;while(1){f[p>>2]=f[O>>2];f[e>>2]=f[p>>2];wf(N+(g*144|0)+4|0,e);O=O+4|0;H=f[T>>2]|0;if((O|0)==(Q|0)){_=H;break}else N=H}}Hj(_+(g*144|0)+4|0,0,0);g=g+1|0;E=f[T>>2]|0}while(g>>>0<(((f[F>>2]|0)-E|0)/144|0)>>>0)}E=f[M>>2]|0;g=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=a+196|0;N=a+200|0;Q=f[N>>2]|0;O=f[E>>2]|0;H=Q-O>>2;S=O;O=Q;do if(g>>>0>H>>>0)Og(E,g-H|0);else{if(g>>>0>=H>>>0)break;Q=S+(g<<2)|0;if((O|0)==(Q|0))break;f[N>>2]=O+(~((O+-4-Q|0)>>>2)<<2)}while(0);fi(a+184|0,g);O=f[T>>2]|0;if((f[F>>2]|0)!=(O|0)){N=O;O=0;do{S=N;H=(f[S+(O*144|0)+60>>2]|0)-(f[S+(O*144|0)+56>>2]|0)>>2;E=f[M>>2]|0;Q=(f[E+28>>2]|0)-(f[E+24>>2]|0)>>2;E=(H|0)<(Q|0)?Q:H;H=S+(O*144|0)+116|0;Q=S+(O*144|0)+120|0;v=f[Q>>2]|0;w=f[H>>2]|0;B=v-w>>2;A=w;w=v;do if(E>>>0>B>>>0)Og(H,E-B|0);else{if(E>>>0>=B>>>0)break;v=A+(E<<2)|0;if((w|0)==(v|0))break;f[Q>>2]=w+(~((w+-4-v|0)>>>2)<<2)}while(0);fi(S+(O*144|0)+104|0,E);O=O+1|0;N=f[T>>2]|0}while(O>>>0<(((f[F>>2]|0)-N|0)/144|0)>>>0)}Z=wb(a,D)|0}else Z=0;while(0);qp(m+24|0);U=Z}while(0);R=U}else R=0;P=R}else P=0;L=P}K=L;u=c;return K|0}function db(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+132|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+96|0;j=a+52|0;i=a+48|0;n=a+40|0;o=a+4|0;C=a+32|0;D=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=A;while(1){J=f[r>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[x>>2]=K;K=f[z>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;J=(f[s>>2]|0)+(Q*12|0)|0;if(L>>>0>c>>>0){B=0;break a}M=vl(a,L,J,P)|0;if(M>>>0>=(f[h>>2]|0)>>>0){B=0;break a}P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;while(1){S=f[p>>2]|0;c:do if((f[t>>2]|0)!=(S|0)){T=S;U=0;do{V=T;W=f[V+(U*20|0)>>2]|0;X=V+(U*20|0)+12|0;Y=V+(U*20|0)+16|0;Z=(f[O>>2]|0)+(f[V+(U*20|0)+4>>2]<<2)|0;V=f[X>>2]|0;do if((V|0)==4)$=Z;else{aa=f[m>>2]|0;if(!(f[Y>>2]|0)){$=aa;break}else{ba=V;ca=aa;da=0}while(1){Ff(ca|0,Z+(da<<2)|0,ba|0)|0;da=da+1|0;aa=f[X>>2]|0;if(da>>>0>=(f[Y>>2]|0)>>>0)break;else{ba=aa;ca=ca+aa|0}}$=f[m>>2]|0}while(0);Y=f[v>>2]|0;if(!(b[W+84>>0]|0))ea=f[(f[W+68>>2]|0)+(Y<<2)>>2]|0;else ea=Y;if(ea>>>0>=(f[W+80>>2]|0)>>>0)break c;Y=W+40|0;X=f[Y>>2]|0;Z=fl(X|0,f[Y+4>>2]|0,ea|0,0)|0;Ff((f[f[W+64>>2]>>2]|0)+Z|0,$|0,X|0)|0;U=U+1|0;T=f[p>>2]|0}while(U>>>0<(((f[t>>2]|0)-T|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;N=N+1|0;if((N|0)==(L|0)){R=23;break}}}else if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){T=S;U=M;X=1;while(1){U=(U|0)==(T+-1|0)?0:U+1|0;f[N+(X<<2)>>2]=U;X=X+1|0;Z=f[h>>2]|0;if(X>>>0>=Z>>>0){fa=Z;break}else T=Z}}else fa=S;if(!L){R=23;break}T=fa;X=0;while(1){if(T|0){U=f[q>>2]|0;N=f[k>>2]|0;Z=f[J>>2]|0;Y=0;do{V=U+(Y<<2)|0;f[N+(f[V>>2]<<2)>>2]=0;aa=f[V>>2]|0;ga=(f[a>>2]|0)-(f[Z+(aa<<2)>>2]|0)|0;do if(ga|0){ha=N+(aa<<2)|0;ia=f[j>>2]|0;ja=32-ia|0;if((ga|0)>(ja|0)){ka=f[i>>2]|0;la=ka+4|0;if((la|0)==(f[n>>2]|0)){f[ha>>2]=0;break}else{ma=f[ka>>2]<>2]=ka;f[i>>2]=la;na=32-ka|0;f[ha>>2]=(f[la>>2]|0)>>>na|ma>>>(na-ja|0);break}}ja=f[i>>2]|0;if((ja|0)==(f[n>>2]|0)){f[ha>>2]=0;break}f[ha>>2]=f[ja>>2]<>>(32-ga|0);ia=(f[j>>2]|0)+ga|0;f[j>>2]=ia;if((ia|0)!=32)break;f[i>>2]=ja+4;f[j>>2]=0}while(0);ga=f[V>>2]|0;aa=N+(ga<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ga<<2)>>2];Y=Y+1|0}while(Y>>>0<(f[h>>2]|0)>>>0)}Y=f[p>>2]|0;d:do if((f[t>>2]|0)!=(Y|0)){N=Y;Z=0;do{U=N;ga=f[U+(Z*20|0)>>2]|0;aa=U+(Z*20|0)+12|0;ja=U+(Z*20|0)+16|0;ia=(f[k>>2]|0)+(f[U+(Z*20|0)+4>>2]<<2)|0;U=f[aa>>2]|0;do if((U|0)==4)oa=ia;else{ha=f[m>>2]|0;if(!(f[ja>>2]|0)){oa=ha;break}else{pa=U;qa=ha;ra=0}while(1){Ff(qa|0,ia+(ra<<2)|0,pa|0)|0;ra=ra+1|0;ha=f[aa>>2]|0;if(ra>>>0>=(f[ja>>2]|0)>>>0)break;else{pa=ha;qa=qa+ha|0}}oa=f[m>>2]|0}while(0);ja=f[v>>2]|0;if(!(b[ga+84>>0]|0))sa=f[(f[ga+68>>2]|0)+(ja<<2)>>2]|0;else sa=ja;if(sa>>>0>=(f[ga+80>>2]|0)>>>0)break d;ja=ga+40|0;aa=f[ja>>2]|0;ia=fl(aa|0,f[ja+4>>2]|0,sa|0,0)|0;Ff((f[f[ga+64>>2]>>2]|0)+ia|0,oa|0,aa|0)|0;Z=Z+1|0;N=f[p>>2]|0}while(Z>>>0<(((f[t>>2]|0)-N|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;Y=X+1|0;if((Y|0)==(L|0)){R=23;break b}T=f[h>>2]|0;X=Y}}else{if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}X=Q+1|0;T=f[l>>2]|0;S=T+(X*12|0)|0;if((S|0)==(O|0))ta=T;else{gf(S,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);ta=f[l>>2]|0}S=(f[ta+(X*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;Y=32-T|0;do if((S|0)>(Y|0)){N=f[D>>2]|0;Z=N+4|0;if((Z|0)==(f[E>>2]|0))ua=0;else{V=f[N>>2]<>2]=N;f[D>>2]=Z;aa=32-N|0;ua=(f[Z>>2]|0)>>>aa|V>>>(aa-Y|0)}}else{aa=f[D>>2]|0;if((aa|0)==(f[E>>2]|0))ua=0;else{V=f[aa>>2]<>>(32-S|0);Z=T+S|0;f[C>>2]=Z;if((Z|0)!=32){ua=V;break}f[D>>2]=aa+4;f[C>>2]=0;ua=V}}while(0);S=(L>>>1)-ua|0;T=L-S|0;e:do if((S|0)==(T|0)){va=S;wa=S}else{Y=f[F>>2]|0;V=f[H>>2]|0;do if((V|0)!=(f[G>>2]|0)){aa=(f[V>>2]&1<<31-Y|0)!=0;Z=Y+1|0;f[F>>2]=Z;if((Z|0)==32){f[H>>2]=V+4;f[F>>2]=0;if(aa){va=S;wa=T;break e}else break}else if(aa){va=S;wa=T;break e}else break}while(0);va=T;wa=S}while(0);S=f[s>>2]|0;T=f[S+(Q*12|0)>>2]|0;V=T+(M<<2)|0;f[V>>2]=(f[V>>2]|0)+1;gf(S+(X*12|0)|0,T,f[S+(Q*12|0)+4>>2]|0);if(va|0){S=f[z>>2]|0;T=f[y>>2]|0;V=S-T>>2;Y=f[r>>2]|0;aa=f[x>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(aa+Y|0)){ic(g);xa=f[r>>2]|0;ya=f[x>>2]|0;za=f[z>>2]|0;Aa=f[y>>2]|0}else{xa=Y;ya=aa;za=S;Aa=T}T=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((T>>>0)/341|0)<<2)>>2]|0)+(((T>>>0)%341|0)*12|0)|0;f[Ba>>2]=va;f[Ba+4>>2]=M;f[Ba+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}if(!wa){R=23;break}T=f[z>>2]|0;S=f[y>>2]|0;aa=T-S>>2;Y=f[r>>2]|0;V=f[x>>2]|0;if((((aa|0)==0?0:(aa*341|0)+-1|0)|0)==(V+Y|0)){ic(g);Ca=f[r>>2]|0;Da=f[x>>2]|0;Ea=f[z>>2]|0;Fa=f[y>>2]|0}else{Ca=Y;Da=V;Ea=T;Fa=S}S=Da+Ca|0;if((Ea|0)==(Fa|0))Ga=0;else Ga=(f[Fa+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[Ga>>2]=wa;f[Ga+4>>2]=M;f[Ga+8>>2]=X;S=(f[x>>2]|0)+1|0;f[x>>2]=S;Ha=S;break}while(0);if((R|0)==23){R=0;Ha=f[x>>2]|0}if(!Ha){B=1;break}else I=Ha}}while(0);Ha=f[y>>2]|0;Ga=f[r>>2]|0;wa=Ha+(((Ga>>>0)/341|0)<<2)|0;Fa=f[z>>2]|0;Ea=Fa;Ca=Ha;if((Fa|0)==(Ha|0)){Ia=0;Ja=0}else{Da=(f[x>>2]|0)+Ga|0;Ia=(f[Ha+(((Da>>>0)/341|0)<<2)>>2]|0)+(((Da>>>0)%341|0)*12|0)|0;Ja=(f[wa>>2]|0)+(((Ga>>>0)%341|0)*12|0)|0}Ga=wa;wa=Ja;f:while(1){Ja=wa;do{Da=Ja;if((Da|0)==(Ia|0))break f;Ja=Da+12|0}while((Ja-(f[Ga>>2]|0)|0)!=4092);Ja=Ga+4|0;Ga=Ja;wa=f[Ja>>2]|0}f[x>>2]=0;x=Ea-Ca>>2;if(x>>>0>2){Ca=Ha;do{lp(f[Ca>>2]|0);Ca=(f[y>>2]|0)+4|0;f[y>>2]=Ca;Ka=f[z>>2]|0;La=Ka-Ca>>2}while(La>>>0>2);Ma=Ca;Na=Ka;Oa=La}else{Ma=Ha;Na=Fa;Oa=x}switch(Oa|0){case 1:{Pa=170;R=109;break}case 2:{Pa=341;R=109;break}default:{}}if((R|0)==109)f[r>>2]=Pa;if((Ma|0)!=(Na|0)){Pa=Ma;do{lp(f[Pa>>2]|0);Pa=Pa+4|0}while((Pa|0)!=(Na|0));Na=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Na|0))f[z>>2]=y+(~((y+-4-Na|0)>>>2)<<2)}Na=f[g>>2]|0;if(!Na){u=e;return B|0}lp(Na);u=e;return B|0}function eb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+132|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+96|0;j=a+52|0;i=a+48|0;n=a+40|0;o=a+4|0;C=a+32|0;D=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=A;while(1){J=f[r>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[x>>2]=K;K=f[z>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;if(L>>>0>c>>>0){B=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(P|0)?0:P+1|0;if(M>>>0>=J>>>0){B=0;break a}J=(f[s>>2]|0)+(Q*12|0)|0;P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;while(1){S=f[p>>2]|0;c:do if((f[t>>2]|0)!=(S|0)){T=S;U=0;do{V=T;W=f[V+(U*20|0)>>2]|0;X=V+(U*20|0)+12|0;Y=V+(U*20|0)+16|0;Z=(f[O>>2]|0)+(f[V+(U*20|0)+4>>2]<<2)|0;V=f[X>>2]|0;do if((V|0)==4)$=Z;else{aa=f[m>>2]|0;if(!(f[Y>>2]|0)){$=aa;break}else{ba=V;ca=aa;da=0}while(1){Ff(ca|0,Z+(da<<2)|0,ba|0)|0;da=da+1|0;aa=f[X>>2]|0;if(da>>>0>=(f[Y>>2]|0)>>>0)break;else{ba=aa;ca=ca+aa|0}}$=f[m>>2]|0}while(0);Y=f[v>>2]|0;if(!(b[W+84>>0]|0))ea=f[(f[W+68>>2]|0)+(Y<<2)>>2]|0;else ea=Y;if(ea>>>0>=(f[W+80>>2]|0)>>>0)break c;Y=W+40|0;X=f[Y>>2]|0;Z=fl(X|0,f[Y+4>>2]|0,ea|0,0)|0;Ff((f[f[W+64>>2]>>2]|0)+Z|0,$|0,X|0)|0;U=U+1|0;T=f[p>>2]|0}while(U>>>0<(((f[t>>2]|0)-T|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;N=N+1|0;if((N|0)==(L|0)){R=23;break}}}else{if(L>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}N=Q+1|0;gf(K+(N*12|0)|0,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);S=(f[(f[l>>2]|0)+(N*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;U=32-T|0;if((S|0)>(U|0)){X=f[D>>2]|0;Z=X+4|0;if((Z|0)==(f[E>>2]|0))fa=0;else{Y=f[X>>2]<>2]=X;f[D>>2]=Z;V=32-X|0;fa=(f[Z>>2]|0)>>>V|Y>>>(V-U|0)}}else{U=f[D>>2]|0;if((U|0)!=(f[E>>2]|0)){V=f[U>>2]<>>(32-S|0);Y=T+S|0;f[C>>2]=Y;if((Y|0)==32){f[D>>2]=U+4;f[C>>2]=0;fa=V}else fa=V}else fa=0}V=(L>>>1)-fa|0;U=L-V|0;d:do if((V|0)==(U|0)){ga=V;ha=V}else{Y=f[F>>2]|0;S=f[H>>2]|0;do if((S|0)!=(f[G>>2]|0)){T=(f[S>>2]&1<<31-Y|0)!=0;Z=Y+1|0;f[F>>2]=Z;if((Z|0)==32){f[H>>2]=S+4;f[F>>2]=0;if(T){ga=V;ha=U;break d}else break}else if(T){ga=V;ha=U;break d}else break}while(0);ga=U;ha=V}while(0);V=f[s>>2]|0;U=f[V+(Q*12|0)>>2]|0;S=U+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;gf(V+(N*12|0)|0,U,f[V+(Q*12|0)+4>>2]|0);if(ga|0){V=f[z>>2]|0;U=f[y>>2]|0;S=V-U>>2;Y=f[r>>2]|0;T=f[x>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(T+Y|0)){ic(g);ia=f[r>>2]|0;ja=f[x>>2]|0;ka=f[z>>2]|0;la=f[y>>2]|0}else{ia=Y;ja=T;ka=V;la=U}U=ja+ia|0;if((ka|0)==(la|0))ma=0;else ma=(f[la+(((U>>>0)/341|0)<<2)>>2]|0)+(((U>>>0)%341|0)*12|0)|0;f[ma>>2]=ga;f[ma+4>>2]=M;f[ma+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}if(!ha){R=23;break}U=f[z>>2]|0;V=f[y>>2]|0;T=U-V>>2;Y=f[r>>2]|0;S=f[x>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(S+Y|0)){ic(g);na=f[r>>2]|0;oa=f[x>>2]|0;pa=f[z>>2]|0;qa=f[y>>2]|0}else{na=Y;oa=S;pa=U;qa=V}V=oa+na|0;if((pa|0)==(qa|0))ra=0;else ra=(f[qa+(((V>>>0)/341|0)<<2)>>2]|0)+(((V>>>0)%341|0)*12|0)|0;f[ra>>2]=ha;f[ra+4>>2]=M;f[ra+8>>2]=N;V=(f[x>>2]|0)+1|0;f[x>>2]=V;sa=V;break}V=f[q>>2]|0;f[V>>2]=M;U=f[h>>2]|0;if(U>>>0>1){S=U;Y=M;T=1;while(1){Y=(Y|0)==(S+-1|0)?0:Y+1|0;f[V+(T<<2)>>2]=Y;T=T+1|0;Z=f[h>>2]|0;if(T>>>0>=Z>>>0){ta=Z;break}else S=Z}}else ta=U;if(!L)R=23;else{S=ta;T=0;while(1){if(S|0){Y=f[q>>2]|0;V=f[k>>2]|0;N=f[J>>2]|0;Z=0;do{X=Y+(Z<<2)|0;f[V+(f[X>>2]<<2)>>2]=0;aa=f[X>>2]|0;ua=(f[a>>2]|0)-(f[N+(aa<<2)>>2]|0)|0;do if(ua|0){va=V+(aa<<2)|0;wa=f[j>>2]|0;xa=32-wa|0;if((ua|0)>(xa|0)){ya=f[i>>2]|0;za=ya+4|0;if((za|0)==(f[n>>2]|0)){f[va>>2]=0;break}else{Aa=f[ya>>2]<>2]=ya;f[i>>2]=za;Ba=32-ya|0;f[va>>2]=(f[za>>2]|0)>>>Ba|Aa>>>(Ba-xa|0);break}}xa=f[i>>2]|0;if((xa|0)==(f[n>>2]|0)){f[va>>2]=0;break}f[va>>2]=f[xa>>2]<>>(32-ua|0);wa=(f[j>>2]|0)+ua|0;f[j>>2]=wa;if((wa|0)!=32)break;f[i>>2]=xa+4;f[j>>2]=0}while(0);ua=f[X>>2]|0;aa=V+(ua<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ua<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0)}Z=f[p>>2]|0;e:do if((f[t>>2]|0)!=(Z|0)){V=Z;N=0;do{Y=V;ua=f[Y+(N*20|0)>>2]|0;aa=Y+(N*20|0)+12|0;xa=Y+(N*20|0)+16|0;wa=(f[k>>2]|0)+(f[Y+(N*20|0)+4>>2]<<2)|0;Y=f[aa>>2]|0;do if((Y|0)==4)Ca=wa;else{va=f[m>>2]|0;if(!(f[xa>>2]|0)){Ca=va;break}else{Da=Y;Ea=va;Fa=0}while(1){Ff(Ea|0,wa+(Fa<<2)|0,Da|0)|0;Fa=Fa+1|0;va=f[aa>>2]|0;if(Fa>>>0>=(f[xa>>2]|0)>>>0)break;else{Da=va;Ea=Ea+va|0}}Ca=f[m>>2]|0}while(0);xa=f[v>>2]|0;if(!(b[ua+84>>0]|0))Ga=f[(f[ua+68>>2]|0)+(xa<<2)>>2]|0;else Ga=xa;if(Ga>>>0>=(f[ua+80>>2]|0)>>>0)break e;xa=ua+40|0;aa=f[xa>>2]|0;wa=fl(aa|0,f[xa+4>>2]|0,Ga|0,0)|0;Ff((f[f[ua+64>>2]>>2]|0)+wa|0,Ca|0,aa|0)|0;N=N+1|0;V=f[p>>2]|0}while(N>>>0<(((f[t>>2]|0)-V|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;Z=T+1|0;if((Z|0)==(L|0)){R=23;break b}S=f[h>>2]|0;T=Z}}}while(0);if((R|0)==23){R=0;sa=f[x>>2]|0}if(!sa){B=1;break}else I=sa}}while(0);sa=f[y>>2]|0;h=f[r>>2]|0;Ca=sa+(((h>>>0)/341|0)<<2)|0;Ga=f[z>>2]|0;Ea=Ga;Da=sa;if((Ga|0)==(sa|0)){Ha=0;Ia=0}else{Fa=(f[x>>2]|0)+h|0;Ha=(f[sa+(((Fa>>>0)/341|0)<<2)>>2]|0)+(((Fa>>>0)%341|0)*12|0)|0;Ia=(f[Ca>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Ca;Ca=Ia;f:while(1){Ia=Ca;do{Fa=Ia;if((Fa|0)==(Ha|0))break f;Ia=Fa+12|0}while((Ia-(f[h>>2]|0)|0)!=4092);Ia=h+4|0;h=Ia;Ca=f[Ia>>2]|0}f[x>>2]=0;x=Ea-Da>>2;if(x>>>0>2){Da=sa;do{lp(f[Da>>2]|0);Da=(f[y>>2]|0)+4|0;f[y>>2]=Da;Ja=f[z>>2]|0;Ka=Ja-Da>>2}while(Ka>>>0>2);La=Da;Ma=Ja;Na=Ka}else{La=sa;Ma=Ga;Na=x}switch(Na|0){case 1:{Oa=170;R=107;break}case 2:{Oa=341;R=107;break}default:{}}if((R|0)==107)f[r>>2]=Oa;if((La|0)!=(Ma|0)){Oa=La;do{lp(f[Oa>>2]|0);Oa=Oa+4|0}while((Oa|0)!=(Ma|0));Ma=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ma|0))f[z>>2]=y+(~((y+-4-Ma|0)>>>2)<<2)}Ma=f[g>>2]|0;if(!Ma){u=e;return B|0}lp(Ma);u=e;return B|0}function fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+604|0;j=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[s>>2]|0)+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}J=Gg(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[t>>2]|0)!=(P|0)){Q=P;R=0;do{S=Q;T=f[S+(R*20|0)>>2]|0;U=S+(R*20|0)+12|0;V=S+(R*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(R*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=S;$=Y;aa=0}while(1){Ff($|0,W+(aa<<2)|0,Z|0)|0;aa=aa+1|0;Y=f[U>>2]|0;if(aa>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Y;$=$+Y|0}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=fl(U|0,f[V+4>>2]|0,ba|0,0)|0;Ff((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;R=R+1|0;Q=f[p>>2]|0}while(R>>>0<(((f[t>>2]|0)-Q|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;P=f[l>>2]|0;Q=P+(K*12|0)|0;if((Q|0)==(L|0))ca=P;else{gf(Q,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[l>>2]|0}Q=(f[ca+(K*12|0)>>2]|0)+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>>1)-da|0;Q=I-R|0;d:do if((R|0)==(Q|0)){ea=R;fa=R}else{P=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-P|0)!=0;V=P+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){ea=R;fa=Q;break d}else break}else if(W){ea=R;fa=Q;break d}else break}while(0);ea=Q;fa=R}while(0);R=f[s>>2]|0;Q=f[R+(N*12|0)>>2]|0;U=Q+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;gf(R+(K*12|0)|0,Q,f[R+(N*12|0)+4>>2]|0);if(ea|0){R=f[z>>2]|0;Q=f[y>>2]|0;U=R-Q>>2;P=f[r>>2]|0;W=f[x>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+P|0)){ic(g);ga=f[r>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0;ja=f[y>>2]|0}else{ga=P;ha=W;ia=R;ja=Q}Q=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=J;f[ka+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!fa){O=23;break}Q=f[z>>2]|0;R=f[y>>2]|0;W=Q-R>>2;P=f[r>>2]|0;U=f[x>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+P|0)){ic(g);la=f[r>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0;oa=f[y>>2]|0}else{la=P;ma=U;na=Q;oa=R}R=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=J;f[pa+8>>2]=K;R=(f[x>>2]|0)+1|0;f[x>>2]=R;qa=R;break}R=f[q>>2]|0;f[R>>2]=J;Q=f[h>>2]|0;if(Q>>>0>1){U=Q;P=J;W=1;while(1){P=(P|0)==(U+-1|0)?0:P+1|0;f[R+(W<<2)>>2]=P;W=W+1|0;V=f[h>>2]|0;if(W>>>0>=V>>>0){ra=V;break}else U=V}}else ra=Q;if(!I)O=23;else{U=ra;W=0;while(1){if(U|0){P=f[q>>2]|0;R=f[k>>2]|0;K=f[G>>2]|0;V=0;do{S=P+(V<<2)|0;f[R+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;sa=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(sa|0){ta=R+(Y<<2)|0;ua=f[j>>2]|0;va=32-ua|0;if((sa|0)>(va|0)){wa=f[i>>2]|0;xa=wa+4|0;if((xa|0)==(f[n>>2]|0)){f[ta>>2]=0;break}else{ya=f[wa>>2]<>2]=wa;f[i>>2]=xa;za=32-wa|0;f[ta>>2]=(f[xa>>2]|0)>>>za|ya>>>(za-va|0);break}}va=f[i>>2]|0;if((va|0)==(f[n>>2]|0)){f[ta>>2]=0;break}f[ta>>2]=f[va>>2]<>>(32-sa|0);ua=(f[j>>2]|0)+sa|0;f[j>>2]=ua;if((ua|0)!=32)break;f[i>>2]=va+4;f[j>>2]=0}while(0);sa=f[S>>2]|0;Y=R+(sa<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(sa<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[t>>2]|0)!=(V|0)){R=V;K=0;do{P=R;sa=f[P+(K*20|0)>>2]|0;Y=P+(K*20|0)+12|0;va=P+(K*20|0)+16|0;ua=(f[k>>2]|0)+(f[P+(K*20|0)+4>>2]<<2)|0;P=f[Y>>2]|0;do if((P|0)==4)Aa=ua;else{ta=f[m>>2]|0;if(!(f[va>>2]|0)){Aa=ta;break}else{Ba=P;Ca=ta;Da=0}while(1){Ff(Ca|0,ua+(Da<<2)|0,Ba|0)|0;Da=Da+1|0;ta=f[Y>>2]|0;if(Da>>>0>=(f[va>>2]|0)>>>0)break;else{Ba=ta;Ca=Ca+ta|0}}Aa=f[m>>2]|0}while(0);va=f[v>>2]|0;if(!(b[sa+84>>0]|0))Ea=f[(f[sa+68>>2]|0)+(va<<2)>>2]|0;else Ea=va;if(Ea>>>0>=(f[sa+80>>2]|0)>>>0)break e;va=sa+40|0;Y=f[va>>2]|0;ua=fl(Y|0,f[va+4>>2]|0,Ea|0,0)|0;Ff((f[f[sa+64>>2]>>2]|0)+ua|0,Aa|0,Y|0)|0;K=K+1|0;R=f[p>>2]|0}while(K>>>0<(((f[t>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=W+1|0;if((V|0)==(I|0)){O=23;break b}U=f[h>>2]|0;W=V}}}while(0);if((O|0)==23){O=0;qa=f[x>>2]|0}if(!qa){B=1;break}else F=qa}}while(0);qa=f[y>>2]|0;h=f[r>>2]|0;Aa=qa+(((h>>>0)/341|0)<<2)|0;Ea=f[z>>2]|0;Ca=Ea;Ba=qa;if((Ea|0)==(qa|0)){Fa=0;Ga=0}else{Da=(f[x>>2]|0)+h|0;Fa=(f[qa+(((Da>>>0)/341|0)<<2)>>2]|0)+(((Da>>>0)%341|0)*12|0)|0;Ga=(f[Aa>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Aa;Aa=Ga;f:while(1){Ga=Aa;do{Da=Ga;if((Da|0)==(Fa|0))break f;Ga=Da+12|0}while((Ga-(f[h>>2]|0)|0)!=4092);Ga=h+4|0;h=Ga;Aa=f[Ga>>2]|0}f[x>>2]=0;x=Ca-Ba>>2;if(x>>>0>2){Ba=qa;do{lp(f[Ba>>2]|0);Ba=(f[y>>2]|0)+4|0;f[y>>2]=Ba;Ha=f[z>>2]|0;Ia=Ha-Ba>>2}while(Ia>>>0>2);Ja=Ba;Ka=Ha;La=Ia}else{Ja=qa;Ka=Ea;La=x}switch(La|0){case 1:{Ma=170;O=105;break}case 2:{Ma=341;O=105;break}default:{}}if((O|0)==105)f[r>>2]=Ma;if((Ja|0)!=(Ka|0)){Ma=Ja;do{lp(f[Ma>>2]|0);Ma=Ma+4|0}while((Ma|0)!=(Ka|0));Ka=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ka|0))f[z>>2]=y+(~((y+-4-Ka|0)>>>2)<<2)}Ka=f[g>>2]|0;if(!Ka){u=e;return B|0}lp(Ka);u=e;return B|0}function gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+604|0;j=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[s>>2]|0)+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}J=vl(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[t>>2]|0)!=(P|0)){Q=P;R=0;do{S=Q;T=f[S+(R*20|0)>>2]|0;U=S+(R*20|0)+12|0;V=S+(R*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(R*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=S;$=Y;aa=0}while(1){Ff($|0,W+(aa<<2)|0,Z|0)|0;aa=aa+1|0;Y=f[U>>2]|0;if(aa>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Y;$=$+Y|0}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=fl(U|0,f[V+4>>2]|0,ba|0,0)|0;Ff((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;R=R+1|0;Q=f[p>>2]|0}while(R>>>0<(((f[t>>2]|0)-Q|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;P=f[l>>2]|0;Q=P+(K*12|0)|0;if((Q|0)==(L|0))ca=P;else{gf(Q,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[l>>2]|0}Q=(f[ca+(K*12|0)>>2]|0)+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>>1)-da|0;Q=I-R|0;d:do if((R|0)==(Q|0)){ea=R;fa=R}else{P=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-P|0)!=0;V=P+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){ea=R;fa=Q;break d}else break}else if(W){ea=R;fa=Q;break d}else break}while(0);ea=Q;fa=R}while(0);R=f[s>>2]|0;Q=f[R+(N*12|0)>>2]|0;U=Q+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;gf(R+(K*12|0)|0,Q,f[R+(N*12|0)+4>>2]|0);if(ea|0){R=f[z>>2]|0;Q=f[y>>2]|0;U=R-Q>>2;P=f[r>>2]|0;W=f[x>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+P|0)){ic(g);ga=f[r>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0;ja=f[y>>2]|0}else{ga=P;ha=W;ia=R;ja=Q}Q=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=J;f[ka+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!fa){O=23;break}Q=f[z>>2]|0;R=f[y>>2]|0;W=Q-R>>2;P=f[r>>2]|0;U=f[x>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+P|0)){ic(g);la=f[r>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0;oa=f[y>>2]|0}else{la=P;ma=U;na=Q;oa=R}R=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=J;f[pa+8>>2]=K;R=(f[x>>2]|0)+1|0;f[x>>2]=R;qa=R;break}R=f[q>>2]|0;f[R>>2]=J;Q=f[h>>2]|0;if(Q>>>0>1){U=Q;P=J;W=1;while(1){P=(P|0)==(U+-1|0)?0:P+1|0;f[R+(W<<2)>>2]=P;W=W+1|0;V=f[h>>2]|0;if(W>>>0>=V>>>0){ra=V;break}else U=V}}else ra=Q;if(!I)O=23;else{U=ra;W=0;while(1){if(U|0){P=f[q>>2]|0;R=f[k>>2]|0;K=f[G>>2]|0;V=0;do{S=P+(V<<2)|0;f[R+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;sa=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(sa|0){ta=R+(Y<<2)|0;ua=f[j>>2]|0;va=32-ua|0;if((sa|0)>(va|0)){wa=f[i>>2]|0;xa=wa+4|0;if((xa|0)==(f[n>>2]|0)){f[ta>>2]=0;break}else{ya=f[wa>>2]<>2]=wa;f[i>>2]=xa;za=32-wa|0;f[ta>>2]=(f[xa>>2]|0)>>>za|ya>>>(za-va|0);break}}va=f[i>>2]|0;if((va|0)==(f[n>>2]|0)){f[ta>>2]=0;break}f[ta>>2]=f[va>>2]<>>(32-sa|0);ua=(f[j>>2]|0)+sa|0;f[j>>2]=ua;if((ua|0)!=32)break;f[i>>2]=va+4;f[j>>2]=0}while(0);sa=f[S>>2]|0;Y=R+(sa<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(sa<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[t>>2]|0)!=(V|0)){R=V;K=0;do{P=R;sa=f[P+(K*20|0)>>2]|0;Y=P+(K*20|0)+12|0;va=P+(K*20|0)+16|0;ua=(f[k>>2]|0)+(f[P+(K*20|0)+4>>2]<<2)|0;P=f[Y>>2]|0;do if((P|0)==4)Aa=ua;else{ta=f[m>>2]|0;if(!(f[va>>2]|0)){Aa=ta;break}else{Ba=P;Ca=ta;Da=0}while(1){Ff(Ca|0,ua+(Da<<2)|0,Ba|0)|0;Da=Da+1|0;ta=f[Y>>2]|0;if(Da>>>0>=(f[va>>2]|0)>>>0)break;else{Ba=ta;Ca=Ca+ta|0}}Aa=f[m>>2]|0}while(0);va=f[v>>2]|0;if(!(b[sa+84>>0]|0))Ea=f[(f[sa+68>>2]|0)+(va<<2)>>2]|0;else Ea=va;if(Ea>>>0>=(f[sa+80>>2]|0)>>>0)break e;va=sa+40|0;Y=f[va>>2]|0;ua=fl(Y|0,f[va+4>>2]|0,Ea|0,0)|0;Ff((f[f[sa+64>>2]>>2]|0)+ua|0,Aa|0,Y|0)|0;K=K+1|0;R=f[p>>2]|0}while(K>>>0<(((f[t>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=W+1|0;if((V|0)==(I|0)){O=23;break b}U=f[h>>2]|0;W=V}}}while(0);if((O|0)==23){O=0;qa=f[x>>2]|0}if(!qa){B=1;break}else F=qa}}while(0);qa=f[y>>2]|0;h=f[r>>2]|0;Aa=qa+(((h>>>0)/341|0)<<2)|0;Ea=f[z>>2]|0;Ca=Ea;Ba=qa;if((Ea|0)==(qa|0)){Fa=0;Ga=0}else{Da=(f[x>>2]|0)+h|0;Fa=(f[qa+(((Da>>>0)/341|0)<<2)>>2]|0)+(((Da>>>0)%341|0)*12|0)|0;Ga=(f[Aa>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=Aa;Aa=Ga;f:while(1){Ga=Aa;do{Da=Ga;if((Da|0)==(Fa|0))break f;Ga=Da+12|0}while((Ga-(f[h>>2]|0)|0)!=4092);Ga=h+4|0;h=Ga;Aa=f[Ga>>2]|0}f[x>>2]=0;x=Ca-Ba>>2;if(x>>>0>2){Ba=qa;do{lp(f[Ba>>2]|0);Ba=(f[y>>2]|0)+4|0;f[y>>2]=Ba;Ha=f[z>>2]|0;Ia=Ha-Ba>>2}while(Ia>>>0>2);Ja=Ba;Ka=Ha;La=Ia}else{Ja=qa;Ka=Ea;La=x}switch(La|0){case 1:{Ma=170;O=105;break}case 2:{Ma=341;O=105;break}default:{}}if((O|0)==105)f[r>>2]=Ma;if((Ja|0)!=(Ka|0)){Ma=Ja;do{lp(f[Ma>>2]|0);Ma=Ma+4|0}while((Ma|0)!=(Ka|0));Ka=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ka|0))f[z>>2]=y+(~((y+-4-Ka|0)>>>2)<<2)}Ka=f[g>>2]|0;if(!Ka){u=e;return B|0}lp(Ka);u=e;return B|0}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(g);else{k=i<<2;l=Yk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[g>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[g+8>>2];f[g>>2]=0;t=g+4|0;f[t>>2]=0;f[g+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(g);else{r=s<<2;p=Yk(r)|0;f[g>>2]=p;q=p+(s<<2)|0;f[g+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[g>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=d+16|0;t=d+20|0;v=d+28|0;w=a+8|0;m=d+12|0;k=a+604|0;j=a+560|0;i=a+556|0;n=a+548|0;o=a+4|0;C=a+600|0;D=a+588|0;E=a+596|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;if(I>>>0>c>>>0){B=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(M|0)?0:M+1|0;if(J>>>0>=G>>>0){B=0;break a}G=(f[s>>2]|0)+(N*12|0)|0;M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;while(1){P=f[p>>2]|0;c:do if((f[t>>2]|0)!=(P|0)){Q=P;R=0;do{S=Q;T=f[S+(R*20|0)>>2]|0;U=S+(R*20|0)+12|0;V=S+(R*20|0)+16|0;W=(f[L>>2]|0)+(f[S+(R*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;do if((S|0)==4)X=W;else{Y=f[m>>2]|0;if(!(f[V>>2]|0)){X=Y;break}else{Z=S;$=Y;aa=0}while(1){Ff($|0,W+(aa<<2)|0,Z|0)|0;aa=aa+1|0;Y=f[U>>2]|0;if(aa>>>0>=(f[V>>2]|0)>>>0)break;else{Z=Y;$=$+Y|0}}X=f[m>>2]|0}while(0);V=f[v>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(V<<2)>>2]|0;else ba=V;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;V=T+40|0;U=f[V>>2]|0;W=fl(U|0,f[V+4>>2]|0,ba|0,0)|0;Ff((f[f[T+64>>2]>>2]|0)+W|0,X|0,U|0)|0;R=R+1|0;Q=f[p>>2]|0}while(R>>>0<(((f[t>>2]|0)-Q|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;K=K+1|0;if((K|0)==(I|0)){O=23;break}}}else{if(I>>>0>=3){if((f[w>>2]|0)>>>0>(f[o>>2]|0)>>>0){B=0;break a}K=N+1|0;gf(H+(K*12|0)|0,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ca|0;P=I-R|0;d:do if((R|0)==(P|0)){da=R;ea=R}else{Q=f[C>>2]|0;U=f[E>>2]|0;do if((U|0)!=(f[D>>2]|0)){W=(f[U>>2]&1<<31-Q|0)!=0;V=Q+1|0;f[C>>2]=V;if((V|0)==32){f[E>>2]=U+4;f[C>>2]=0;if(W){da=R;ea=P;break d}else break}else if(W){da=R;ea=P;break d}else break}while(0);da=P;ea=R}while(0);R=f[s>>2]|0;P=f[R+(N*12|0)>>2]|0;U=P+(J<<2)|0;f[U>>2]=(f[U>>2]|0)+1;gf(R+(K*12|0)|0,P,f[R+(N*12|0)+4>>2]|0);if(da|0){R=f[z>>2]|0;P=f[y>>2]|0;U=R-P>>2;Q=f[r>>2]|0;W=f[x>>2]|0;if((((U|0)==0?0:(U*341|0)+-1|0)|0)==(W+Q|0)){ic(g);fa=f[r>>2]|0;ga=f[x>>2]|0;ha=f[z>>2]|0;ia=f[y>>2]|0}else{fa=Q;ga=W;ha=R;ia=P}P=ga+fa|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=J;f[ja+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!ea){O=23;break}P=f[z>>2]|0;R=f[y>>2]|0;W=P-R>>2;Q=f[r>>2]|0;U=f[x>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(U+Q|0)){ic(g);ka=f[r>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0;na=f[y>>2]|0}else{ka=Q;la=U;ma=P;na=R}R=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=J;f[oa+8>>2]=K;R=(f[x>>2]|0)+1|0;f[x>>2]=R;pa=R;break}R=f[q>>2]|0;f[R>>2]=J;P=f[h>>2]|0;if(P>>>0>1){U=P;Q=J;W=1;while(1){Q=(Q|0)==(U+-1|0)?0:Q+1|0;f[R+(W<<2)>>2]=Q;W=W+1|0;V=f[h>>2]|0;if(W>>>0>=V>>>0){qa=V;break}else U=V}}else qa=P;if(!I)O=23;else{U=qa;W=0;while(1){if(U|0){Q=f[q>>2]|0;R=f[k>>2]|0;K=f[G>>2]|0;V=0;do{S=Q+(V<<2)|0;f[R+(f[S>>2]<<2)>>2]=0;Y=f[S>>2]|0;ra=(f[a>>2]|0)-(f[K+(Y<<2)>>2]|0)|0;do if(ra|0){sa=R+(Y<<2)|0;ta=f[j>>2]|0;ua=32-ta|0;if((ra|0)>(ua|0)){va=f[i>>2]|0;wa=va+4|0;if((wa|0)==(f[n>>2]|0)){f[sa>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[i>>2]=wa;ya=32-va|0;f[sa>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[i>>2]|0;if((ua|0)==(f[n>>2]|0)){f[sa>>2]=0;break}f[sa>>2]=f[ua>>2]<>>(32-ra|0);ta=(f[j>>2]|0)+ra|0;f[j>>2]=ta;if((ta|0)!=32)break;f[i>>2]=ua+4;f[j>>2]=0}while(0);ra=f[S>>2]|0;Y=R+(ra<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(ra<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[p>>2]|0;e:do if((f[t>>2]|0)!=(V|0)){R=V;K=0;do{Q=R;ra=f[Q+(K*20|0)>>2]|0;Y=Q+(K*20|0)+12|0;ua=Q+(K*20|0)+16|0;ta=(f[k>>2]|0)+(f[Q+(K*20|0)+4>>2]<<2)|0;Q=f[Y>>2]|0;do if((Q|0)==4)za=ta;else{sa=f[m>>2]|0;if(!(f[ua>>2]|0)){za=sa;break}else{Aa=Q;Ba=sa;Ca=0}while(1){Ff(Ba|0,ta+(Ca<<2)|0,Aa|0)|0;Ca=Ca+1|0;sa=f[Y>>2]|0;if(Ca>>>0>=(f[ua>>2]|0)>>>0)break;else{Aa=sa;Ba=Ba+sa|0}}za=f[m>>2]|0}while(0);ua=f[v>>2]|0;if(!(b[ra+84>>0]|0))Da=f[(f[ra+68>>2]|0)+(ua<<2)>>2]|0;else Da=ua;if(Da>>>0>=(f[ra+80>>2]|0)>>>0)break e;ua=ra+40|0;Y=f[ua>>2]|0;ta=fl(Y|0,f[ua+4>>2]|0,Da|0,0)|0;Ff((f[f[ra+64>>2]>>2]|0)+ta|0,za|0,Y|0)|0;K=K+1|0;R=f[p>>2]|0}while(K>>>0<(((f[t>>2]|0)-R|0)/20|0)>>>0)}while(0);f[v>>2]=(f[v>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=W+1|0;if((V|0)==(I|0)){O=23;break b}U=f[h>>2]|0;W=V}}}while(0);if((O|0)==23){O=0;pa=f[x>>2]|0}if(!pa){B=1;break}else F=pa}}while(0);pa=f[y>>2]|0;h=f[r>>2]|0;za=pa+(((h>>>0)/341|0)<<2)|0;Da=f[z>>2]|0;Ba=Da;Aa=pa;if((Da|0)==(pa|0)){Ea=0;Fa=0}else{Ca=(f[x>>2]|0)+h|0;Ea=(f[pa+(((Ca>>>0)/341|0)<<2)>>2]|0)+(((Ca>>>0)%341|0)*12|0)|0;Fa=(f[za>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=za;za=Fa;f:while(1){Fa=za;do{Ca=Fa;if((Ca|0)==(Ea|0))break f;Fa=Ca+12|0}while((Fa-(f[h>>2]|0)|0)!=4092);Fa=h+4|0;h=Fa;za=f[Fa>>2]|0}f[x>>2]=0;x=Ba-Aa>>2;if(x>>>0>2){Aa=pa;do{lp(f[Aa>>2]|0);Aa=(f[y>>2]|0)+4|0;f[y>>2]=Aa;Ga=f[z>>2]|0;Ha=Ga-Aa>>2}while(Ha>>>0>2);Ia=Aa;Ja=Ga;Ka=Ha}else{Ia=pa;Ja=Da;Ka=x}switch(Ka|0){case 1:{La=170;O=103;break}case 2:{La=341;O=103;break}default:{}}if((O|0)==103)f[r>>2]=La;if((Ia|0)!=(Ja|0)){La=Ia;do{lp(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ja|0));Ja=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ja|0))f[z>>2]=y+(~((y+-4-Ja|0)>>>2)<<2)}Ja=f[g>>2]|0;if(!Ja){u=e;return B|0}lp(Ja);u=e;return B|0}function ib(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)Eo(g);else{l=j<<2;m=Yk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Dh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=p;s=o;t=j;v=n+8|0}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);lp(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=f[g>>2]|0;s=f[k>>2]|0;t=f[i>>2]|0;v=l}f[n>>2]=r;f[q>>2]=s;f[v>>2]=f[g+8>>2];f[g>>2]=0;v=g+4|0;f[v>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Eo(g);else{s=t<<2;q=Yk(s)|0;f[g>>2]=q;r=q+(t<<2)|0;f[g+8>>2]=r;Dh(q|0,0,s|0)|0;f[v>>2]=r;w=r;x=q;break}else{w=0;x=0}while(0);t=a+128|0;q=f[t>>2]|0;r=f[q>>2]|0;s=q+4|0;if(!r){y=x;z=w;A=q+8|0}else{w=f[s>>2]|0;if((w|0)!=(r|0))f[s>>2]=w+(~((w+-4-r|0)>>>2)<<2);lp(r);r=q+8|0;f[r>>2]=0;f[s>>2]=0;f[q>>2]=0;y=f[g>>2]|0;z=f[v>>2]|0;A=r}f[q>>2]=y;f[s>>2]=z;f[A>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;A=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;ic(g);q=f[z>>2]|0;r=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[A>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[y>>2]|0)+1|0;f[y>>2]=B;a:do if(!B)C=1;else{r=a+104|0;q=d+16|0;v=d+20|0;w=d+28|0;x=a+8|0;n=d+12|0;l=a+92|0;k=a+48|0;j=a+44|0;o=a+36|0;p=a+4|0;D=a+16|0;E=a+88|0;F=a+76|0;G=a+84|0;H=B;while(1){I=f[s>>2]|0;J=H+-1|0;K=I+J|0;L=f[z>>2]|0;M=f[L+(((K>>>0)/341|0)<<2)>>2]|0;N=(K>>>0)%341|0;K=f[M+(N*12|0)>>2]|0;O=f[M+(N*12|0)+4>>2]|0;P=f[M+(N*12|0)+8>>2]|0;f[y>>2]=J;J=f[A>>2]|0;N=J-L>>2;if((1-H-I+((N|0)==0?0:(N*341|0)+-1|0)|0)>>>0>681){lp(f[J+-4>>2]|0);f[A>>2]=(f[A>>2]|0)+-4}J=f[m>>2]|0;N=J+(P*12|0)|0;I=(f[t>>2]|0)+(P*12|0)|0;if(K>>>0>c>>>0){C=0;break a}L=vl(a,K,I,O)|0;if(L>>>0>=(f[i>>2]|0)>>>0){C=0;break a}O=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!O){if(K|0){M=0;do{Q=f[q>>2]|0;c:do if((f[v>>2]|0)!=(Q|0)){R=Q;S=0;do{T=R;U=f[T+(S*20|0)>>2]|0;V=T+(S*20|0)+12|0;W=T+(S*20|0)+16|0;X=(f[N>>2]|0)+(f[T+(S*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;do if((T|0)==4)Y=X;else{Z=f[n>>2]|0;if(!(f[W>>2]|0)){Y=Z;break}else{$=T;aa=Z;ba=0}while(1){Ff(aa|0,X+(ba<<2)|0,$|0)|0;ba=ba+1|0;Z=f[V>>2]|0;if(ba>>>0>=(f[W>>2]|0)>>>0)break;else{$=Z;aa=aa+Z|0}}Y=f[n>>2]|0}while(0);W=f[w>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(W<<2)>>2]|0;else ca=W;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;W=U+40|0;V=f[W>>2]|0;X=fl(V|0,f[W+4>>2]|0,ca|0,0)|0;Ff((f[f[U+64>>2]>>2]|0)+X|0,Y|0,V|0)|0;S=S+1|0;R=f[q>>2]|0}while(S>>>0<(((f[v>>2]|0)-R|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;M=M+1|0}while((M|0)!=(K|0))}}else{if(K>>>0>=3){if((f[x>>2]|0)>>>0>(f[p>>2]|0)>>>0){C=0;break a}M=P+1|0;Q=f[m>>2]|0;R=Q+(M*12|0)|0;if((R|0)==(N|0))da=Q;else{gf(R,f[N>>2]|0,f[J+(P*12|0)+4>>2]|0);da=f[m>>2]|0}R=(f[da+(M*12|0)>>2]|0)+(L<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<>2]=0;Eh(D,R,h);R=(K>>>1)-(f[h>>2]|0)|0;Q=K-R|0;d:do if((R|0)==(Q|0)){ea=R;fa=R}else{S=f[E>>2]|0;V=f[G>>2]|0;do if((V|0)!=(f[F>>2]|0)){X=(f[V>>2]&1<<31-S|0)!=0;W=S+1|0;f[E>>2]=W;if((W|0)==32){f[G>>2]=V+4;f[E>>2]=0;if(X){ea=R;fa=Q;break d}else break}else if(X){ea=R;fa=Q;break d}else break}while(0);ea=Q;fa=R}while(0);R=f[t>>2]|0;Q=f[R+(P*12|0)>>2]|0;V=Q+(L<<2)|0;f[V>>2]=(f[V>>2]|0)+1;gf(R+(M*12|0)|0,Q,f[R+(P*12|0)+4>>2]|0);if(ea|0){R=f[A>>2]|0;Q=f[z>>2]|0;V=R-Q>>2;S=f[s>>2]|0;X=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(X+S|0)){ic(g);ga=f[s>>2]|0;ha=f[y>>2]|0;ia=f[A>>2]|0;ja=f[z>>2]|0}else{ga=S;ha=X;ia=R;ja=Q}Q=ha+ga|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=L;f[ka+8>>2]=P;f[y>>2]=(f[y>>2]|0)+1}if(fa|0){Q=f[A>>2]|0;R=f[z>>2]|0;X=Q-R>>2;S=f[s>>2]|0;V=f[y>>2]|0;if((((X|0)==0?0:(X*341|0)+-1|0)|0)==(V+S|0)){ic(g);la=f[s>>2]|0;ma=f[y>>2]|0;na=f[A>>2]|0;oa=f[z>>2]|0}else{la=S;ma=V;na=Q;oa=R}R=ma+la|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=L;f[pa+8>>2]=M;f[y>>2]=(f[y>>2]|0)+1}break}R=f[r>>2]|0;f[R>>2]=L;Q=f[i>>2]|0;if(Q>>>0>1){V=Q;S=L;X=1;while(1){S=(S|0)==(V+-1|0)?0:S+1|0;f[R+(X<<2)>>2]=S;X=X+1|0;W=f[i>>2]|0;if(X>>>0>=W>>>0){qa=W;break}else V=W}}else qa=Q;if(K|0){V=qa;X=0;while(1){if(V|0){S=f[r>>2]|0;R=f[l>>2]|0;M=f[I>>2]|0;W=0;do{T=S+(W<<2)|0;f[R+(f[T>>2]<<2)>>2]=0;Z=f[T>>2]|0;ra=(f[a>>2]|0)-(f[M+(Z<<2)>>2]|0)|0;do if(ra|0){sa=R+(Z<<2)|0;ta=f[k>>2]|0;ua=32-ta|0;if((ra|0)>(ua|0)){va=f[j>>2]|0;wa=va+4|0;if((wa|0)==(f[o>>2]|0)){f[sa>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[j>>2]=wa;ya=32-va|0;f[sa>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[j>>2]|0;if((ua|0)==(f[o>>2]|0)){f[sa>>2]=0;break}f[sa>>2]=f[ua>>2]<>>(32-ra|0);ta=(f[k>>2]|0)+ra|0;f[k>>2]=ta;if((ta|0)!=32)break;f[j>>2]=ua+4;f[k>>2]=0}while(0);ra=f[T>>2]|0;Z=R+(ra<<2)|0;f[Z>>2]=f[Z>>2]|f[(f[N>>2]|0)+(ra<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[q>>2]|0;e:do if((f[v>>2]|0)!=(W|0)){R=W;M=0;do{S=R;ra=f[S+(M*20|0)>>2]|0;Z=S+(M*20|0)+12|0;ua=S+(M*20|0)+16|0;ta=(f[l>>2]|0)+(f[S+(M*20|0)+4>>2]<<2)|0;S=f[Z>>2]|0;do if((S|0)==4)za=ta;else{sa=f[n>>2]|0;if(!(f[ua>>2]|0)){za=sa;break}else{Aa=S;Ba=sa;Ca=0}while(1){Ff(Ba|0,ta+(Ca<<2)|0,Aa|0)|0;Ca=Ca+1|0;sa=f[Z>>2]|0;if(Ca>>>0>=(f[ua>>2]|0)>>>0)break;else{Aa=sa;Ba=Ba+sa|0}}za=f[n>>2]|0}while(0);ua=f[w>>2]|0;if(!(b[ra+84>>0]|0))Da=f[(f[ra+68>>2]|0)+(ua<<2)>>2]|0;else Da=ua;if(Da>>>0>=(f[ra+80>>2]|0)>>>0)break e;ua=ra+40|0;Z=f[ua>>2]|0;ta=fl(Z|0,f[ua+4>>2]|0,Da|0,0)|0;Ff((f[f[ra+64>>2]>>2]|0)+ta|0,za|0,Z|0)|0;M=M+1|0;R=f[q>>2]|0}while(M>>>0<(((f[v>>2]|0)-R|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;W=X+1|0;if((W|0)==(K|0))break b;V=f[i>>2]|0;X=W}}}while(0);H=f[y>>2]|0;if(!H){C=1;break}}}while(0);i=f[z>>2]|0;za=f[s>>2]|0;Da=i+(((za>>>0)/341|0)<<2)|0;Ba=f[A>>2]|0;Aa=Ba;Ca=i;if((Ba|0)==(i|0)){Ea=0;Fa=0}else{a=(f[y>>2]|0)+za|0;Ea=(f[i+(((a>>>0)/341|0)<<2)>>2]|0)+(((a>>>0)%341|0)*12|0)|0;Fa=(f[Da>>2]|0)+(((za>>>0)%341|0)*12|0)|0}za=Da;Da=Fa;f:while(1){Fa=Da;do{a=Fa;if((a|0)==(Ea|0))break f;Fa=a+12|0}while((Fa-(f[za>>2]|0)|0)!=4092);Fa=za+4|0;za=Fa;Da=f[Fa>>2]|0}f[y>>2]=0;y=Aa-Ca>>2;if(y>>>0>2){Ca=i;do{lp(f[Ca>>2]|0);Ca=(f[z>>2]|0)+4|0;f[z>>2]=Ca;Ga=f[A>>2]|0;Ha=Ga-Ca>>2}while(Ha>>>0>2);Ia=Ca;Ja=Ga;Ka=Ha}else{Ia=i;Ja=Ba;Ka=y}switch(Ka|0){case 1:{La=170;Ma=103;break}case 2:{La=341;Ma=103;break}default:{}}if((Ma|0)==103)f[s>>2]=La;if((Ia|0)!=(Ja|0)){La=Ia;do{lp(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ja|0));Ja=f[z>>2]|0;z=f[A>>2]|0;if((z|0)!=(Ja|0))f[A>>2]=z+(~((z+-4-Ja|0)>>>2)<<2)}Ja=f[g>>2]|0;if(!Ja){u=e;return C|0}lp(Ja);u=e;return C|0}function jb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)Eo(g);else{l=j<<2;m=Yk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Dh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=p;s=o;t=j;v=n+8|0}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);lp(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=f[g>>2]|0;s=f[k>>2]|0;t=f[i>>2]|0;v=l}f[n>>2]=r;f[q>>2]=s;f[v>>2]=f[g+8>>2];f[g>>2]=0;v=g+4|0;f[v>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)Eo(g);else{s=t<<2;q=Yk(s)|0;f[g>>2]=q;r=q+(t<<2)|0;f[g+8>>2]=r;Dh(q|0,0,s|0)|0;f[v>>2]=r;w=r;x=q;break}else{w=0;x=0}while(0);t=a+128|0;q=f[t>>2]|0;r=f[q>>2]|0;s=q+4|0;if(!r){y=x;z=w;A=q+8|0}else{w=f[s>>2]|0;if((w|0)!=(r|0))f[s>>2]=w+(~((w+-4-r|0)>>>2)<<2);lp(r);r=q+8|0;f[r>>2]=0;f[s>>2]=0;f[q>>2]=0;y=f[g>>2]|0;z=f[v>>2]|0;A=r}f[q>>2]=y;f[s>>2]=z;f[A>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;A=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;ic(g);q=f[z>>2]|0;r=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[A>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[y>>2]|0)+1|0;f[y>>2]=B;a:do if(!B)C=1;else{r=a+104|0;q=d+16|0;v=d+20|0;w=d+28|0;x=a+8|0;n=d+12|0;l=a+92|0;k=a+48|0;j=a+44|0;o=a+36|0;p=a+4|0;D=a+16|0;E=a+88|0;F=a+76|0;G=a+84|0;H=B;while(1){I=f[s>>2]|0;J=H+-1|0;K=I+J|0;L=f[z>>2]|0;M=f[L+(((K>>>0)/341|0)<<2)>>2]|0;N=(K>>>0)%341|0;K=f[M+(N*12|0)>>2]|0;O=f[M+(N*12|0)+4>>2]|0;P=f[M+(N*12|0)+8>>2]|0;f[y>>2]=J;J=f[A>>2]|0;N=J-L>>2;if((1-H-I+((N|0)==0?0:(N*341|0)+-1|0)|0)>>>0>681){lp(f[J+-4>>2]|0);f[A>>2]=(f[A>>2]|0)+-4}J=f[m>>2]|0;N=J+(P*12|0)|0;if(K>>>0>c>>>0){C=0;break a}I=f[i>>2]|0;L=(I+-1|0)==(O|0)?0:O+1|0;if(L>>>0>=I>>>0){C=0;break a}I=(f[t>>2]|0)+(P*12|0)|0;O=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!O){if(K|0){M=0;do{Q=f[q>>2]|0;c:do if((f[v>>2]|0)!=(Q|0)){R=Q;S=0;do{T=R;U=f[T+(S*20|0)>>2]|0;V=T+(S*20|0)+12|0;W=T+(S*20|0)+16|0;X=(f[N>>2]|0)+(f[T+(S*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;do if((T|0)==4)Y=X;else{Z=f[n>>2]|0;if(!(f[W>>2]|0)){Y=Z;break}else{$=T;aa=Z;ba=0}while(1){Ff(aa|0,X+(ba<<2)|0,$|0)|0;ba=ba+1|0;Z=f[V>>2]|0;if(ba>>>0>=(f[W>>2]|0)>>>0)break;else{$=Z;aa=aa+Z|0}}Y=f[n>>2]|0}while(0);W=f[w>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(W<<2)>>2]|0;else ca=W;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;W=U+40|0;V=f[W>>2]|0;X=fl(V|0,f[W+4>>2]|0,ca|0,0)|0;Ff((f[f[U+64>>2]>>2]|0)+X|0,Y|0,V|0)|0;S=S+1|0;R=f[q>>2]|0}while(S>>>0<(((f[v>>2]|0)-R|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;M=M+1|0}while((M|0)!=(K|0))}}else{if(K>>>0>=3){if((f[x>>2]|0)>>>0>(f[p>>2]|0)>>>0){C=0;break a}M=P+1|0;gf(J+(M*12|0)|0,f[N>>2]|0,f[J+(P*12|0)+4>>2]|0);Q=(f[(f[m>>2]|0)+(M*12|0)>>2]|0)+(L<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>2]=0;Eh(D,Q,h);Q=(K>>>1)-(f[h>>2]|0)|0;R=K-Q|0;d:do if((Q|0)==(R|0)){da=Q;ea=Q}else{S=f[E>>2]|0;V=f[G>>2]|0;do if((V|0)!=(f[F>>2]|0)){X=(f[V>>2]&1<<31-S|0)!=0;W=S+1|0;f[E>>2]=W;if((W|0)==32){f[G>>2]=V+4;f[E>>2]=0;if(X){da=Q;ea=R;break d}else break}else if(X){da=Q;ea=R;break d}else break}while(0);da=R;ea=Q}while(0);Q=f[t>>2]|0;R=f[Q+(P*12|0)>>2]|0;V=R+(L<<2)|0;f[V>>2]=(f[V>>2]|0)+1;gf(Q+(M*12|0)|0,R,f[Q+(P*12|0)+4>>2]|0);if(da|0){Q=f[A>>2]|0;R=f[z>>2]|0;V=Q-R>>2;S=f[s>>2]|0;X=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(X+S|0)){ic(g);fa=f[s>>2]|0;ga=f[y>>2]|0;ha=f[A>>2]|0;ia=f[z>>2]|0}else{fa=S;ga=X;ha=Q;ia=R}R=ga+fa|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=L;f[ja+8>>2]=P;f[y>>2]=(f[y>>2]|0)+1}if(ea|0){R=f[A>>2]|0;Q=f[z>>2]|0;X=R-Q>>2;S=f[s>>2]|0;V=f[y>>2]|0;if((((X|0)==0?0:(X*341|0)+-1|0)|0)==(V+S|0)){ic(g);ka=f[s>>2]|0;la=f[y>>2]|0;ma=f[A>>2]|0;na=f[z>>2]|0}else{ka=S;la=V;ma=R;na=Q}Q=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=L;f[oa+8>>2]=M;f[y>>2]=(f[y>>2]|0)+1}break}Q=f[r>>2]|0;f[Q>>2]=L;R=f[i>>2]|0;if(R>>>0>1){V=R;S=L;X=1;while(1){S=(S|0)==(V+-1|0)?0:S+1|0;f[Q+(X<<2)>>2]=S;X=X+1|0;W=f[i>>2]|0;if(X>>>0>=W>>>0){pa=W;break}else V=W}}else pa=R;if(K|0){V=pa;X=0;while(1){if(V|0){S=f[r>>2]|0;Q=f[l>>2]|0;M=f[I>>2]|0;W=0;do{T=S+(W<<2)|0;f[Q+(f[T>>2]<<2)>>2]=0;Z=f[T>>2]|0;qa=(f[a>>2]|0)-(f[M+(Z<<2)>>2]|0)|0;do if(qa|0){ra=Q+(Z<<2)|0;sa=f[k>>2]|0;ta=32-sa|0;if((qa|0)>(ta|0)){ua=f[j>>2]|0;va=ua+4|0;if((va|0)==(f[o>>2]|0)){f[ra>>2]=0;break}else{wa=f[ua>>2]<>2]=ua;f[j>>2]=va;xa=32-ua|0;f[ra>>2]=(f[va>>2]|0)>>>xa|wa>>>(xa-ta|0);break}}ta=f[j>>2]|0;if((ta|0)==(f[o>>2]|0)){f[ra>>2]=0;break}f[ra>>2]=f[ta>>2]<>>(32-qa|0);sa=(f[k>>2]|0)+qa|0;f[k>>2]=sa;if((sa|0)!=32)break;f[j>>2]=ta+4;f[k>>2]=0}while(0);qa=f[T>>2]|0;Z=Q+(qa<<2)|0;f[Z>>2]=f[Z>>2]|f[(f[N>>2]|0)+(qa<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[q>>2]|0;e:do if((f[v>>2]|0)!=(W|0)){Q=W;M=0;do{S=Q;qa=f[S+(M*20|0)>>2]|0;Z=S+(M*20|0)+12|0;ta=S+(M*20|0)+16|0;sa=(f[l>>2]|0)+(f[S+(M*20|0)+4>>2]<<2)|0;S=f[Z>>2]|0;do if((S|0)==4)ya=sa;else{ra=f[n>>2]|0;if(!(f[ta>>2]|0)){ya=ra;break}else{za=S;Aa=ra;Ba=0}while(1){Ff(Aa|0,sa+(Ba<<2)|0,za|0)|0;Ba=Ba+1|0;ra=f[Z>>2]|0;if(Ba>>>0>=(f[ta>>2]|0)>>>0)break;else{za=ra;Aa=Aa+ra|0}}ya=f[n>>2]|0}while(0);ta=f[w>>2]|0;if(!(b[qa+84>>0]|0))Ca=f[(f[qa+68>>2]|0)+(ta<<2)>>2]|0;else Ca=ta;if(Ca>>>0>=(f[qa+80>>2]|0)>>>0)break e;ta=qa+40|0;Z=f[ta>>2]|0;sa=fl(Z|0,f[ta+4>>2]|0,Ca|0,0)|0;Ff((f[f[qa+64>>2]>>2]|0)+sa|0,ya|0,Z|0)|0;M=M+1|0;Q=f[q>>2]|0}while(M>>>0<(((f[v>>2]|0)-Q|0)/20|0)>>>0)}while(0);f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;W=X+1|0;if((W|0)==(K|0))break b;V=f[i>>2]|0;X=W}}}while(0);H=f[y>>2]|0;if(!H){C=1;break}}}while(0);i=f[z>>2]|0;ya=f[s>>2]|0;Ca=i+(((ya>>>0)/341|0)<<2)|0;Aa=f[A>>2]|0;za=Aa;Ba=i;if((Aa|0)==(i|0)){Da=0;Ea=0}else{a=(f[y>>2]|0)+ya|0;Da=(f[i+(((a>>>0)/341|0)<<2)>>2]|0)+(((a>>>0)%341|0)*12|0)|0;Ea=(f[Ca>>2]|0)+(((ya>>>0)%341|0)*12|0)|0}ya=Ca;Ca=Ea;f:while(1){Ea=Ca;do{a=Ea;if((a|0)==(Da|0))break f;Ea=a+12|0}while((Ea-(f[ya>>2]|0)|0)!=4092);Ea=ya+4|0;ya=Ea;Ca=f[Ea>>2]|0}f[y>>2]=0;y=za-Ba>>2;if(y>>>0>2){Ba=i;do{lp(f[Ba>>2]|0);Ba=(f[z>>2]|0)+4|0;f[z>>2]=Ba;Fa=f[A>>2]|0;Ga=Fa-Ba>>2}while(Ga>>>0>2);Ha=Ba;Ia=Fa;Ja=Ga}else{Ha=i;Ia=Aa;Ja=y}switch(Ja|0){case 1:{Ka=170;La=101;break}case 2:{Ka=341;La=101;break}default:{}}if((La|0)==101)f[s>>2]=Ka;if((Ha|0)!=(Ia|0)){Ka=Ha;do{lp(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ia|0));Ia=f[z>>2]|0;z=f[A>>2]|0;if((z|0)!=(Ia|0))f[A>>2]=z+(~((z+-4-Ia|0)>>>2)<<2)}Ia=f[g>>2]|0;if(!Ia){u=e;return C|0}lp(Ia);u=e;return C|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+132|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+96|0;m=a+52|0;k=a+48|0;j=a+40|0;i=a+4|0;n=a+32|0;o=a+28|0;C=a+20|0;D=a+92|0;E=a+80|0;F=a+88|0;G=e+4|0;H=e+8|0;I=A;while(1){J=f[r>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[x>>2]=K;K=f[z>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;J=(f[s>>2]|0)+(Q*12|0)|0;if(L>>>0>b>>>0){B=0;break a}M=vl(a,L,J,P)|0;if(M>>>0>=(f[h>>2]|0)>>>0){B=0;break a}P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;do{S=f[O>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[G>>2]=f[S+4>>2];f[H>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[G>>2];f[V+8>>2]=f[H>>2];f[U>>2]=V+12}else Kf(S,e);f[v>>2]=(f[v>>2]|0)+1;N=N+1|0}while(N>>>0>>0);R=23}else{if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=S;U=M;T=1;while(1){U=(U|0)==(V+-1|0)?0:U+1|0;f[N+(T<<2)>>2]=U;T=T+1|0;W=f[h>>2]|0;if(T>>>0>=W>>>0){X=W;break}else V=W}}else X=S;if(!L){R=23;break}V=X;T=0;while(1){if(!V)Y=f[w>>2]|0;else{U=f[q>>2]|0;N=f[w>>2]|0;W=f[J>>2]|0;Z=0;do{$=U+(Z<<2)|0;f[N+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=N+(aa<<2)|0;da=f[m>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[k>>2]|0;ga=fa+4|0;if((ga|0)==(f[j>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[k>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[k>>2]|0;if((ea|0)==(f[j>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[m>>2]|0)+ba|0;f[m>>2]=da;if((da|0)!=32)break;f[k>>2]=ea+4;f[m>>2]=0}while(0);ba=f[$>>2]|0;aa=N+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ba<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0);Y=N}N=f[Y>>2]|0;f[e>>2]=N;f[p>>2]=f[Y+4>>2];f[t>>2]=f[Y+8>>2];Z=f[c>>2]|0;W=Z+4|0;U=f[W>>2]|0;if(U>>>0<(f[Z+8>>2]|0)>>>0){f[U>>2]=N;f[U+4>>2]=f[p>>2];f[U+8>>2]=f[t>>2];f[W>>2]=U+12}else Kf(Z,e);f[v>>2]=(f[v>>2]|0)+1;Z=T+1|0;if(Z>>>0>=L>>>0){R=23;break b}V=f[h>>2]|0;T=Z}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}T=Q+1|0;V=f[l>>2]|0;S=V+(T*12|0)|0;if((S|0)==(O|0))ja=V;else{gf(S,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);ja=f[l>>2]|0}S=(f[ja+(T*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;Z=32-V|0;if((S|0)>(Z|0)){U=f[o>>2]|0;W=U+4|0;if((W|0)==(f[C>>2]|0))ka=0;else{N=f[U>>2]<>2]=U;f[o>>2]=W;ba=32-U|0;ka=(f[W>>2]|0)>>>ba|N>>>(ba-Z|0)}}else{Z=f[o>>2]|0;if((Z|0)!=(f[C>>2]|0)){ba=f[Z>>2]<>>(32-S|0);N=V+S|0;f[n>>2]=N;if((N|0)==32){f[o>>2]=Z+4;f[n>>2]=0;ka=ba}else ka=ba}else ka=0}ba=(L>>>1)-ka|0;Z=L-ba|0;c:do if((ba|0)==(Z|0)){la=ba;ma=ba}else{N=f[D>>2]|0;S=f[F>>2]|0;do if((S|0)!=(f[E>>2]|0)){V=(f[S>>2]&1<<31-N|0)!=0;W=N+1|0;f[D>>2]=W;if((W|0)==32){f[F>>2]=S+4;f[D>>2]=0;if(V){la=ba;ma=Z;break c}else break}else if(V){la=ba;ma=Z;break c}else break}while(0);la=Z;ma=ba}while(0);ba=f[s>>2]|0;Z=f[ba+(Q*12|0)>>2]|0;S=Z+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;gf(ba+(T*12|0)|0,Z,f[ba+(Q*12|0)+4>>2]|0);if(la|0){ba=f[z>>2]|0;Z=f[y>>2]|0;S=ba-Z>>2;N=f[r>>2]|0;V=f[x>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(V+N|0)){ic(g);na=f[r>>2]|0;oa=f[x>>2]|0;pa=f[z>>2]|0;qa=f[y>>2]|0}else{na=N;oa=V;pa=ba;qa=Z}Z=oa+na|0;if((pa|0)==(qa|0))ra=0;else ra=(f[qa+(((Z>>>0)/341|0)<<2)>>2]|0)+(((Z>>>0)%341|0)*12|0)|0;f[ra>>2]=la;f[ra+4>>2]=M;f[ra+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}if(!ma)R=23;else{Z=f[z>>2]|0;ba=f[y>>2]|0;V=Z-ba>>2;N=f[r>>2]|0;S=f[x>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(S+N|0)){ic(g);sa=f[r>>2]|0;ta=f[x>>2]|0;ua=f[z>>2]|0;va=f[y>>2]|0}else{sa=N;ta=S;ua=Z;va=ba}ba=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((ba>>>0)/341|0)<<2)>>2]|0)+(((ba>>>0)%341|0)*12|0)|0;f[wa>>2]=ma;f[wa+4>>2]=M;f[wa+8>>2]=T;ba=(f[x>>2]|0)+1|0;f[x>>2]=ba;xa=ba}}while(0);if((R|0)==23){R=0;xa=f[x>>2]|0}if(!xa){B=1;break}else I=xa}}while(0);xa=f[y>>2]|0;wa=f[r>>2]|0;ma=xa+(((wa>>>0)/341|0)<<2)|0;va=f[z>>2]|0;ua=va;sa=xa;if((va|0)==(xa|0)){ya=0;za=0}else{ta=(f[x>>2]|0)+wa|0;ya=(f[xa+(((ta>>>0)/341|0)<<2)>>2]|0)+(((ta>>>0)%341|0)*12|0)|0;za=(f[ma>>2]|0)+(((wa>>>0)%341|0)*12|0)|0}wa=ma;ma=za;d:while(1){za=ma;do{ta=za;if((ta|0)==(ya|0))break d;za=ta+12|0}while((za-(f[wa>>2]|0)|0)!=4092);za=wa+4|0;wa=za;ma=f[za>>2]|0}f[x>>2]=0;x=ua-sa>>2;if(x>>>0>2){sa=xa;do{lp(f[sa>>2]|0);sa=(f[y>>2]|0)+4|0;f[y>>2]=sa;Aa=f[z>>2]|0;Ba=Aa-sa>>2}while(Ba>>>0>2);Ca=sa;Da=Aa;Ea=Ba}else{Ca=xa;Da=va;Ea=x}switch(Ea|0){case 1:{Fa=170;R=98;break}case 2:{Fa=341;R=98;break}default:{}}if((R|0)==98)f[r>>2]=Fa;if((Ca|0)!=(Da|0)){Fa=Ca;do{lp(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Da|0));Da=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Da|0))f[z>>2]=y+(~((y+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=d;return B|0}lp(Da);u=d;return B|0}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+120|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+132|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+108|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+96|0;m=a+52|0;k=a+48|0;j=a+40|0;i=a+4|0;n=a+32|0;o=a+28|0;C=a+20|0;D=a+92|0;E=a+80|0;F=a+88|0;G=e+4|0;H=e+8|0;I=A;while(1){J=f[r>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=f[M+(((L>>>0)/341|0)<<2)>>2]|0;O=(L>>>0)%341|0;L=f[N+(O*12|0)>>2]|0;P=f[N+(O*12|0)+4>>2]|0;Q=f[N+(O*12|0)+8>>2]|0;f[x>>2]=K;K=f[z>>2]|0;O=K-M>>2;if((1-I-J+((O|0)==0?0:(O*341|0)+-1|0)|0)>>>0>681){lp(f[K+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}K=f[l>>2]|0;O=K+(Q*12|0)|0;if(L>>>0>b>>>0){B=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(P|0)?0:P+1|0;if(M>>>0>=J>>>0){B=0;break a}J=(f[s>>2]|0)+(Q*12|0)|0;P=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!P)if(!L)R=23;else{N=0;do{S=f[O>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[G>>2]=f[S+4>>2];f[H>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[G>>2];f[V+8>>2]=f[H>>2];f[U>>2]=V+12}else Kf(S,e);f[v>>2]=(f[v>>2]|0)+1;N=N+1|0}while(N>>>0>>0);R=23}else{if(L>>>0<3){N=f[q>>2]|0;f[N>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=S;U=M;T=1;while(1){U=(U|0)==(V+-1|0)?0:U+1|0;f[N+(T<<2)>>2]=U;T=T+1|0;W=f[h>>2]|0;if(T>>>0>=W>>>0){X=W;break}else V=W}}else X=S;if(!L){R=23;break}V=X;T=0;while(1){if(!V)Y=f[w>>2]|0;else{U=f[q>>2]|0;N=f[w>>2]|0;W=f[J>>2]|0;Z=0;do{$=U+(Z<<2)|0;f[N+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=N+(aa<<2)|0;da=f[m>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[k>>2]|0;ga=fa+4|0;if((ga|0)==(f[j>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[k>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[k>>2]|0;if((ea|0)==(f[j>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[m>>2]|0)+ba|0;f[m>>2]=da;if((da|0)!=32)break;f[k>>2]=ea+4;f[m>>2]=0}while(0);ba=f[$>>2]|0;aa=N+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[O>>2]|0)+(ba<<2)>>2];Z=Z+1|0}while(Z>>>0<(f[h>>2]|0)>>>0);Y=N}N=f[Y>>2]|0;f[e>>2]=N;f[p>>2]=f[Y+4>>2];f[t>>2]=f[Y+8>>2];Z=f[c>>2]|0;W=Z+4|0;U=f[W>>2]|0;if(U>>>0<(f[Z+8>>2]|0)>>>0){f[U>>2]=N;f[U+4>>2]=f[p>>2];f[U+8>>2]=f[t>>2];f[W>>2]=U+12}else Kf(Z,e);f[v>>2]=(f[v>>2]|0)+1;Z=T+1|0;if(Z>>>0>=L>>>0){R=23;break b}V=f[h>>2]|0;T=Z}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}T=Q+1|0;gf(K+(T*12|0)|0,f[O>>2]|0,f[K+(Q*12|0)+4>>2]|0);V=(f[(f[l>>2]|0)+(T*12|0)>>2]|0)+(M<<2)|0;f[V>>2]=(f[V>>2]|0)+(1<>2]|0;Z=32-S|0;if((V|0)>(Z|0)){U=f[o>>2]|0;W=U+4|0;if((W|0)==(f[C>>2]|0))ja=0;else{N=f[U>>2]<>2]=U;f[o>>2]=W;ba=32-U|0;ja=(f[W>>2]|0)>>>ba|N>>>(ba-Z|0)}}else{Z=f[o>>2]|0;if((Z|0)!=(f[C>>2]|0)){ba=f[Z>>2]<>>(32-V|0);N=S+V|0;f[n>>2]=N;if((N|0)==32){f[o>>2]=Z+4;f[n>>2]=0;ja=ba}else ja=ba}else ja=0}ba=(L>>>1)-ja|0;Z=L-ba|0;c:do if((ba|0)==(Z|0)){ka=ba;la=ba}else{N=f[D>>2]|0;V=f[F>>2]|0;do if((V|0)!=(f[E>>2]|0)){S=(f[V>>2]&1<<31-N|0)!=0;W=N+1|0;f[D>>2]=W;if((W|0)==32){f[F>>2]=V+4;f[D>>2]=0;if(S){ka=ba;la=Z;break c}else break}else if(S){ka=ba;la=Z;break c}else break}while(0);ka=Z;la=ba}while(0);ba=f[s>>2]|0;Z=f[ba+(Q*12|0)>>2]|0;V=Z+(M<<2)|0;f[V>>2]=(f[V>>2]|0)+1;gf(ba+(T*12|0)|0,Z,f[ba+(Q*12|0)+4>>2]|0);if(ka|0){ba=f[z>>2]|0;Z=f[y>>2]|0;V=ba-Z>>2;N=f[r>>2]|0;S=f[x>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(S+N|0)){ic(g);ma=f[r>>2]|0;na=f[x>>2]|0;oa=f[z>>2]|0;pa=f[y>>2]|0}else{ma=N;na=S;oa=ba;pa=Z}Z=na+ma|0;if((oa|0)==(pa|0))qa=0;else qa=(f[pa+(((Z>>>0)/341|0)<<2)>>2]|0)+(((Z>>>0)%341|0)*12|0)|0;f[qa>>2]=ka;f[qa+4>>2]=M;f[qa+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}if(!la)R=23;else{Z=f[z>>2]|0;ba=f[y>>2]|0;S=Z-ba>>2;N=f[r>>2]|0;V=f[x>>2]|0;if((((S|0)==0?0:(S*341|0)+-1|0)|0)==(V+N|0)){ic(g);ra=f[r>>2]|0;sa=f[x>>2]|0;ta=f[z>>2]|0;ua=f[y>>2]|0}else{ra=N;sa=V;ta=Z;ua=ba}ba=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((ba>>>0)/341|0)<<2)>>2]|0)+(((ba>>>0)%341|0)*12|0)|0;f[va>>2]=la;f[va+4>>2]=M;f[va+8>>2]=T;ba=(f[x>>2]|0)+1|0;f[x>>2]=ba;wa=ba}}while(0);if((R|0)==23){R=0;wa=f[x>>2]|0}if(!wa){B=1;break}else I=wa}}while(0);wa=f[y>>2]|0;va=f[r>>2]|0;la=wa+(((va>>>0)/341|0)<<2)|0;ua=f[z>>2]|0;ta=ua;ra=wa;if((ua|0)==(wa|0)){xa=0;ya=0}else{sa=(f[x>>2]|0)+va|0;xa=(f[wa+(((sa>>>0)/341|0)<<2)>>2]|0)+(((sa>>>0)%341|0)*12|0)|0;ya=(f[la>>2]|0)+(((va>>>0)%341|0)*12|0)|0}va=la;la=ya;d:while(1){ya=la;do{sa=ya;if((sa|0)==(xa|0))break d;ya=sa+12|0}while((ya-(f[va>>2]|0)|0)!=4092);ya=va+4|0;va=ya;la=f[ya>>2]|0}f[x>>2]=0;x=ta-ra>>2;if(x>>>0>2){ra=wa;do{lp(f[ra>>2]|0);ra=(f[y>>2]|0)+4|0;f[y>>2]=ra;za=f[z>>2]|0;Aa=za-ra>>2}while(Aa>>>0>2);Ba=ra;Ca=za;Da=Aa}else{Ba=wa;Ca=ua;Da=x}switch(Da|0){case 1:{Ea=170;R=96;break}case 2:{Ea=341;R=96;break}default:{}}if((R|0)==96)f[r>>2]=Ea;if((Ba|0)!=(Ca|0)){Ea=Ba;do{lp(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Ca|0));Ca=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Ca|0))f[z>>2]=y+(~((y+-4-Ca|0)>>>2)<<2)}Ca=f[g>>2]|0;if(!Ca){u=d;return B|0}lp(Ca);u=d;return B|0}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;k=a+556|0;j=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[s>>2]|0)+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}J=Gg(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0<3){K=f[q>>2]|0;f[K>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=P;R=J;Q=1;while(1){R=(R|0)==(S+-1|0)?0:R+1|0;f[K+(Q<<2)>>2]=R;Q=Q+1|0;T=f[h>>2]|0;if(Q>>>0>=T>>>0){U=T;break}else S=T}}else U=P;if(!I){O=23;break}S=U;Q=0;while(1){if(!S)V=f[w>>2]|0;else{R=f[q>>2]|0;K=f[w>>2]|0;T=f[G>>2]|0;W=0;do{X=R+(W<<2)|0;f[K+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=K+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[k>>2]|0;da=ca+4|0;if((da|0)==(f[j>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[k>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[k>>2]|0;if((ba|0)==(f[j>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[k>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=K+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=K}K=f[V>>2]|0;f[e>>2]=K;f[p>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;R=f[T>>2]|0;if(R>>>0<(f[W+8>>2]|0)>>>0){f[R>>2]=K;f[R+4>>2]=f[p>>2];f[R+8>>2]=f[t>>2];f[T>>2]=R+12}else Kf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=Q+1|0;if(W>>>0>=I>>>0){O=23;break b}S=f[h>>2]|0;Q=W}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}Q=N+1|0;S=f[l>>2]|0;P=S+(Q*12|0)|0;if((P|0)==(L|0))ga=S;else{gf(P,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(Q*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=I-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{S=f[n>>2]|0;R=f[C>>2]|0;do if((R|0)!=(f[o>>2]|0)){T=(f[R>>2]&1<<31-S|0)!=0;K=S+1|0;f[n>>2]=K;if((K|0)==32){f[C>>2]=R+4;f[n>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[s>>2]|0;P=f[W+(N*12|0)>>2]|0;R=P+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+1;gf(W+(Q*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[z>>2]|0;P=f[y>>2]|0;R=W-P>>2;S=f[r>>2]|0;T=f[x>>2]|0;if((((R|0)==0?0:(R*341|0)+-1|0)|0)==(T+S|0)){ic(g);ka=f[r>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0;na=f[y>>2]|0}else{ka=S;la=T;ma=W;na=P}P=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[oa>>2]=ia;f[oa+4>>2]=J;f[oa+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!ja)O=23;else{P=f[z>>2]|0;W=f[y>>2]|0;T=P-W>>2;S=f[r>>2]|0;R=f[x>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(R+S|0)){ic(g);pa=f[r>>2]|0;qa=f[x>>2]|0;ra=f[z>>2]|0;sa=f[y>>2]|0}else{pa=S;qa=R;ra=P;sa=W}W=qa+pa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((W>>>0)/341|0)<<2)>>2]|0)+(((W>>>0)%341|0)*12|0)|0;f[ta>>2]=ja;f[ta+4>>2]=J;f[ta+8>>2]=Q;W=(f[x>>2]|0)+1|0;f[x>>2]=W;ua=W}}while(0);if((O|0)==23){O=0;ua=f[x>>2]|0}if(!ua){B=1;break}else F=ua}}while(0);ua=f[y>>2]|0;ta=f[r>>2]|0;ja=ua+(((ta>>>0)/341|0)<<2)|0;sa=f[z>>2]|0;ra=sa;pa=ua;if((sa|0)==(ua|0)){va=0;wa=0}else{qa=(f[x>>2]|0)+ta|0;va=(f[ua+(((qa>>>0)/341|0)<<2)>>2]|0)+(((qa>>>0)%341|0)*12|0)|0;wa=(f[ja>>2]|0)+(((ta>>>0)%341|0)*12|0)|0}ta=ja;ja=wa;d:while(1){wa=ja;do{qa=wa;if((qa|0)==(va|0))break d;wa=qa+12|0}while((wa-(f[ta>>2]|0)|0)!=4092);wa=ta+4|0;ta=wa;ja=f[wa>>2]|0}f[x>>2]=0;x=ra-pa>>2;if(x>>>0>2){pa=ua;do{lp(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;xa=f[z>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=pa;Aa=xa;Ba=ya}else{za=ua;Aa=sa;Ba=x}switch(Ba|0){case 1:{Ca=170;O=94;break}case 2:{Ca=341;O=94;break}default:{}}if((O|0)==94)f[r>>2]=Ca;if((za|0)!=(Aa|0)){Ca=za;do{lp(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Aa|0));Aa=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Aa|0))f[z>>2]=y+(~((y+-4-Aa|0)>>>2)<<2)}Aa=f[g>>2]|0;if(!Aa){u=d;return B|0}lp(Aa);u=d;return B|0}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;k=a+556|0;j=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;G=(f[s>>2]|0)+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}J=vl(a,I,G,M)|0;if(J>>>0>=(f[h>>2]|0)>>>0){B=0;break a}M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0<3){K=f[q>>2]|0;f[K>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=P;R=J;Q=1;while(1){R=(R|0)==(S+-1|0)?0:R+1|0;f[K+(Q<<2)>>2]=R;Q=Q+1|0;T=f[h>>2]|0;if(Q>>>0>=T>>>0){U=T;break}else S=T}}else U=P;if(!I){O=23;break}S=U;Q=0;while(1){if(!S)V=f[w>>2]|0;else{R=f[q>>2]|0;K=f[w>>2]|0;T=f[G>>2]|0;W=0;do{X=R+(W<<2)|0;f[K+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=K+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[k>>2]|0;da=ca+4|0;if((da|0)==(f[j>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[k>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[k>>2]|0;if((ba|0)==(f[j>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[k>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=K+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[L>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=K}K=f[V>>2]|0;f[e>>2]=K;f[p>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;R=f[T>>2]|0;if(R>>>0<(f[W+8>>2]|0)>>>0){f[R>>2]=K;f[R+4>>2]=f[p>>2];f[R+8>>2]=f[t>>2];f[T>>2]=R+12}else Kf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=Q+1|0;if(W>>>0>=I>>>0){O=23;break b}S=f[h>>2]|0;Q=W}}if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}Q=N+1|0;S=f[l>>2]|0;P=S+(Q*12|0)|0;if((P|0)==(L|0))ga=S;else{gf(P,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(Q*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=I-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{S=f[n>>2]|0;R=f[C>>2]|0;do if((R|0)!=(f[o>>2]|0)){T=(f[R>>2]&1<<31-S|0)!=0;K=S+1|0;f[n>>2]=K;if((K|0)==32){f[C>>2]=R+4;f[n>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[s>>2]|0;P=f[W+(N*12|0)>>2]|0;R=P+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+1;gf(W+(Q*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[z>>2]|0;P=f[y>>2]|0;R=W-P>>2;S=f[r>>2]|0;T=f[x>>2]|0;if((((R|0)==0?0:(R*341|0)+-1|0)|0)==(T+S|0)){ic(g);ka=f[r>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0;na=f[y>>2]|0}else{ka=S;la=T;ma=W;na=P}P=la+ka|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[oa>>2]=ia;f[oa+4>>2]=J;f[oa+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!ja)O=23;else{P=f[z>>2]|0;W=f[y>>2]|0;T=P-W>>2;S=f[r>>2]|0;R=f[x>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(R+S|0)){ic(g);pa=f[r>>2]|0;qa=f[x>>2]|0;ra=f[z>>2]|0;sa=f[y>>2]|0}else{pa=S;qa=R;ra=P;sa=W}W=qa+pa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((W>>>0)/341|0)<<2)>>2]|0)+(((W>>>0)%341|0)*12|0)|0;f[ta>>2]=ja;f[ta+4>>2]=J;f[ta+8>>2]=Q;W=(f[x>>2]|0)+1|0;f[x>>2]=W;ua=W}}while(0);if((O|0)==23){O=0;ua=f[x>>2]|0}if(!ua){B=1;break}else F=ua}}while(0);ua=f[y>>2]|0;ta=f[r>>2]|0;ja=ua+(((ta>>>0)/341|0)<<2)|0;sa=f[z>>2]|0;ra=sa;pa=ua;if((sa|0)==(ua|0)){va=0;wa=0}else{qa=(f[x>>2]|0)+ta|0;va=(f[ua+(((qa>>>0)/341|0)<<2)>>2]|0)+(((qa>>>0)%341|0)*12|0)|0;wa=(f[ja>>2]|0)+(((ta>>>0)%341|0)*12|0)|0}ta=ja;ja=wa;d:while(1){wa=ja;do{qa=wa;if((qa|0)==(va|0))break d;wa=qa+12|0}while((wa-(f[ta>>2]|0)|0)!=4092);wa=ta+4|0;ta=wa;ja=f[wa>>2]|0}f[x>>2]=0;x=ra-pa>>2;if(x>>>0>2){pa=ua;do{lp(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;xa=f[z>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=pa;Aa=xa;Ba=ya}else{za=ua;Aa=sa;Ba=x}switch(Ba|0){case 1:{Ca=170;O=94;break}case 2:{Ca=341;O=94;break}default:{}}if((O|0)==94)f[r>>2]=Ca;if((za|0)!=(Aa|0)){Ca=za;do{lp(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Aa|0));Aa=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(Aa|0))f[z>>2]=y+(~((y+-4-Aa|0)>>>2)<<2)}Aa=f[g>>2]|0;if(!Aa){u=d;return B|0}lp(Aa);u=d;return B|0}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+628|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+640|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+616|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+604|0;m=a+560|0;k=a+556|0;j=a+548|0;i=a+4|0;n=a+600|0;o=a+588|0;C=a+596|0;D=e+4|0;E=e+8|0;F=A;while(1){G=f[r>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=f[J+(((I>>>0)/341|0)<<2)>>2]|0;L=(I>>>0)%341|0;I=f[K+(L*12|0)>>2]|0;M=f[K+(L*12|0)+4>>2]|0;N=f[K+(L*12|0)+8>>2]|0;f[x>>2]=H;H=f[z>>2]|0;L=H-J>>2;if((1-F-G+((L|0)==0?0:(L*341|0)+-1|0)|0)>>>0>681){lp(f[H+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}H=f[l>>2]|0;L=H+(N*12|0)|0;if(I>>>0>b>>>0){B=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(M|0)?0:M+1|0;if(J>>>0>=G>>>0){B=0;break a}G=(f[s>>2]|0)+(N*12|0)|0;M=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!M)if(!I)O=23;else{K=0;do{P=f[L>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[D>>2]=f[P+4>>2];f[E>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[D>>2];f[S+8>>2]=f[E>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;K=K+1|0}while(K>>>0>>0);O=23}else{if(I>>>0>=3){if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}K=N+1|0;gf(H+(K*12|0)|0,f[L>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-T|0;P=I-R|0;c:do if((R|0)==(P|0)){U=R;V=R}else{S=f[n>>2]|0;Q=f[C>>2]|0;do if((Q|0)!=(f[o>>2]|0)){W=(f[Q>>2]&1<<31-S|0)!=0;X=S+1|0;f[n>>2]=X;if((X|0)==32){f[C>>2]=Q+4;f[n>>2]=0;if(W){U=R;V=P;break c}else break}else if(W){U=R;V=P;break c}else break}while(0);U=P;V=R}while(0);R=f[s>>2]|0;P=f[R+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;gf(R+(K*12|0)|0,P,f[R+(N*12|0)+4>>2]|0);if(U|0){R=f[z>>2]|0;P=f[y>>2]|0;Q=R-P>>2;S=f[r>>2]|0;W=f[x>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(W+S|0)){ic(g);Y=f[r>>2]|0;Z=f[x>>2]|0;$=f[z>>2]|0;aa=f[y>>2]|0}else{Y=S;Z=W;$=R;aa=P}P=Z+Y|0;if(($|0)==(aa|0))ba=0;else ba=(f[aa+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[ba>>2]=U;f[ba+4>>2]=J;f[ba+8>>2]=N;f[x>>2]=(f[x>>2]|0)+1}if(!V){O=23;break}P=f[z>>2]|0;R=f[y>>2]|0;W=P-R>>2;S=f[r>>2]|0;Q=f[x>>2]|0;if((((W|0)==0?0:(W*341|0)+-1|0)|0)==(Q+S|0)){ic(g);ca=f[r>>2]|0;da=f[x>>2]|0;ea=f[z>>2]|0;fa=f[y>>2]|0}else{ca=S;da=Q;ea=P;fa=R}R=da+ca|0;if((ea|0)==(fa|0))ga=0;else ga=(f[fa+(((R>>>0)/341|0)<<2)>>2]|0)+(((R>>>0)%341|0)*12|0)|0;f[ga>>2]=V;f[ga+4>>2]=J;f[ga+8>>2]=K;R=(f[x>>2]|0)+1|0;f[x>>2]=R;ha=R;break}R=f[q>>2]|0;f[R>>2]=J;P=f[h>>2]|0;if(P>>>0>1){Q=P;S=J;W=1;while(1){S=(S|0)==(Q+-1|0)?0:S+1|0;f[R+(W<<2)>>2]=S;W=W+1|0;X=f[h>>2]|0;if(W>>>0>=X>>>0){ia=X;break}else Q=X}}else ia=P;if(!I)O=23;else{Q=ia;W=0;while(1){if(!Q)ja=f[w>>2]|0;else{S=f[q>>2]|0;R=f[w>>2]|0;K=f[G>>2]|0;X=0;do{ka=S+(X<<2)|0;f[R+(f[ka>>2]<<2)>>2]=0;la=f[ka>>2]|0;ma=(f[a>>2]|0)-(f[K+(la<<2)>>2]|0)|0;do if(ma|0){na=R+(la<<2)|0;oa=f[m>>2]|0;pa=32-oa|0;if((ma|0)>(pa|0)){qa=f[k>>2]|0;ra=qa+4|0;if((ra|0)==(f[j>>2]|0)){f[na>>2]=0;break}else{sa=f[qa>>2]<>2]=qa;f[k>>2]=ra;ta=32-qa|0;f[na>>2]=(f[ra>>2]|0)>>>ta|sa>>>(ta-pa|0);break}}pa=f[k>>2]|0;if((pa|0)==(f[j>>2]|0)){f[na>>2]=0;break}f[na>>2]=f[pa>>2]<>>(32-ma|0);oa=(f[m>>2]|0)+ma|0;f[m>>2]=oa;if((oa|0)!=32)break;f[k>>2]=pa+4;f[m>>2]=0}while(0);ma=f[ka>>2]|0;la=R+(ma<<2)|0;f[la>>2]=f[la>>2]|f[(f[L>>2]|0)+(ma<<2)>>2];X=X+1|0}while(X>>>0<(f[h>>2]|0)>>>0);ja=R}R=f[ja>>2]|0;f[e>>2]=R;f[p>>2]=f[ja+4>>2];f[t>>2]=f[ja+8>>2];X=f[c>>2]|0;K=X+4|0;S=f[K>>2]|0;if(S>>>0<(f[X+8>>2]|0)>>>0){f[S>>2]=R;f[S+4>>2]=f[p>>2];f[S+8>>2]=f[t>>2];f[K>>2]=S+12}else Kf(X,e);f[v>>2]=(f[v>>2]|0)+1;X=W+1|0;if(X>>>0>=I>>>0){O=23;break b}Q=f[h>>2]|0;W=X}}}while(0);if((O|0)==23){O=0;ha=f[x>>2]|0}if(!ha){B=1;break}else F=ha}}while(0);ha=f[y>>2]|0;h=f[r>>2]|0;e=ha+(((h>>>0)/341|0)<<2)|0;c=f[z>>2]|0;ja=c;a=ha;if((c|0)==(ha|0)){ua=0;va=0}else{ia=(f[x>>2]|0)+h|0;ua=(f[ha+(((ia>>>0)/341|0)<<2)>>2]|0)+(((ia>>>0)%341|0)*12|0)|0;va=(f[e>>2]|0)+(((h>>>0)%341|0)*12|0)|0}h=e;e=va;d:while(1){va=e;do{ia=va;if((ia|0)==(ua|0))break d;va=ia+12|0}while((va-(f[h>>2]|0)|0)!=4092);va=h+4|0;h=va;e=f[va>>2]|0}f[x>>2]=0;x=ja-a>>2;if(x>>>0>2){a=ha;do{lp(f[a>>2]|0);a=(f[y>>2]|0)+4|0;f[y>>2]=a;wa=f[z>>2]|0;xa=wa-a>>2}while(xa>>>0>2);ya=a;za=wa;Aa=xa}else{ya=ha;za=c;Aa=x}switch(Aa|0){case 1:{Ba=170;O=92;break}case 2:{Ba=341;O=92;break}default:{}}if((O|0)==92)f[r>>2]=Ba;if((ya|0)!=(za|0)){Ba=ya;do{lp(f[Ba>>2]|0);Ba=Ba+4|0}while((Ba|0)!=(za|0));za=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(za|0))f[z>>2]=y+(~((y+-4-za|0)>>>2)<<2)}za=f[g>>2]|0;if(!za){u=d;return B|0}lp(za);u=d;return B|0}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+128|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+104|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+92|0;m=a+48|0;k=a+44|0;j=a+36|0;i=a+4|0;n=a+16|0;o=a+88|0;C=a+76|0;D=a+84|0;E=e+4|0;F=e+8|0;G=A;while(1){H=f[r>>2]|0;I=G+-1|0;J=H+I|0;K=f[y>>2]|0;L=f[K+(((J>>>0)/341|0)<<2)>>2]|0;M=(J>>>0)%341|0;J=f[L+(M*12|0)>>2]|0;N=f[L+(M*12|0)+4>>2]|0;O=f[L+(M*12|0)+8>>2]|0;f[x>>2]=I;I=f[z>>2]|0;M=I-K>>2;if((1-G-H+((M|0)==0?0:(M*341|0)+-1|0)|0)>>>0>681){lp(f[I+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}I=f[l>>2]|0;M=I+(O*12|0)|0;H=(f[s>>2]|0)+(O*12|0)|0;if(J>>>0>b>>>0){B=0;break a}K=vl(a,J,H,N)|0;if(K>>>0>=(f[h>>2]|0)>>>0){B=0;break a}N=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!N){if(J|0){L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[E>>2]=f[P+4>>2];f[F>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[E>>2];f[S+8>>2]=f[F>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;L=L+1|0}while(L>>>0>>0)}}else if(J>>>0<3){L=f[q>>2]|0;f[L>>2]=K;P=f[h>>2]|0;if(P>>>0>1){S=P;R=K;Q=1;while(1){R=(R|0)==(S+-1|0)?0:R+1|0;f[L+(Q<<2)>>2]=R;Q=Q+1|0;T=f[h>>2]|0;if(Q>>>0>=T>>>0){U=T;break}else S=T}}else U=P;if(!J)break;S=U;Q=0;while(1){if(!S)V=f[w>>2]|0;else{R=f[q>>2]|0;L=f[w>>2]|0;T=f[H>>2]|0;W=0;do{X=R+(W<<2)|0;f[L+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;Z=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(Z|0){$=L+(Y<<2)|0;aa=f[m>>2]|0;ba=32-aa|0;if((Z|0)>(ba|0)){ca=f[k>>2]|0;da=ca+4|0;if((da|0)==(f[j>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[k>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[k>>2]|0;if((ba|0)==(f[j>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-Z|0);aa=(f[m>>2]|0)+Z|0;f[m>>2]=aa;if((aa|0)!=32)break;f[k>>2]=ba+4;f[m>>2]=0}while(0);Z=f[X>>2]|0;Y=L+(Z<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[M>>2]|0)+(Z<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=L}L=f[V>>2]|0;f[e>>2]=L;f[p>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;R=f[T>>2]|0;if(R>>>0<(f[W+8>>2]|0)>>>0){f[R>>2]=L;f[R+4>>2]=f[p>>2];f[R+8>>2]=f[t>>2];f[T>>2]=R+12}else Kf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=Q+1|0;if(W>>>0>=J>>>0)break b;S=f[h>>2]|0;Q=W}}else{if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}Q=O+1|0;S=f[l>>2]|0;P=S+(Q*12|0)|0;if((P|0)==(M|0))ga=S;else{gf(P,f[M>>2]|0,f[I+(O*12|0)+4>>2]|0);ga=f[l>>2]|0}P=(f[ga+(Q*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;Eh(n,P,e);P=(J>>>1)-(f[e>>2]|0)|0;S=J-P|0;c:do if((P|0)==(S|0)){ha=P;ia=P}else{W=f[o>>2]|0;R=f[D>>2]|0;do if((R|0)!=(f[C>>2]|0)){T=(f[R>>2]&1<<31-W|0)!=0;L=W+1|0;f[o>>2]=L;if((L|0)==32){f[D>>2]=R+4;f[o>>2]=0;if(T){ha=P;ia=S;break c}else break}else if(T){ha=P;ia=S;break c}else break}while(0);ha=S;ia=P}while(0);P=f[s>>2]|0;S=f[P+(O*12|0)>>2]|0;R=S+(K<<2)|0;f[R>>2]=(f[R>>2]|0)+1;gf(P+(Q*12|0)|0,S,f[P+(O*12|0)+4>>2]|0);if(ha|0){P=f[z>>2]|0;S=f[y>>2]|0;R=P-S>>2;W=f[r>>2]|0;T=f[x>>2]|0;if((((R|0)==0?0:(R*341|0)+-1|0)|0)==(T+W|0)){ic(g);ja=f[r>>2]|0;ka=f[x>>2]|0;la=f[z>>2]|0;ma=f[y>>2]|0}else{ja=W;ka=T;la=P;ma=S}S=ka+ja|0;if((la|0)==(ma|0))na=0;else na=(f[ma+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[na>>2]=ha;f[na+4>>2]=K;f[na+8>>2]=O;f[x>>2]=(f[x>>2]|0)+1}if(ia|0){S=f[z>>2]|0;P=f[y>>2]|0;T=S-P>>2;W=f[r>>2]|0;R=f[x>>2]|0;if((((T|0)==0?0:(T*341|0)+-1|0)|0)==(R+W|0)){ic(g);oa=f[r>>2]|0;pa=f[x>>2]|0;qa=f[z>>2]|0;ra=f[y>>2]|0}else{oa=W;pa=R;qa=S;ra=P}P=pa+oa|0;if((qa|0)==(ra|0))sa=0;else sa=(f[ra+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[sa>>2]=ia;f[sa+4>>2]=K;f[sa+8>>2]=Q;f[x>>2]=(f[x>>2]|0)+1}break}while(0);G=f[x>>2]|0;if(!G){B=1;break}}}while(0);sa=f[y>>2]|0;ia=f[r>>2]|0;ra=sa+(((ia>>>0)/341|0)<<2)|0;qa=f[z>>2]|0;oa=qa;pa=sa;if((qa|0)==(sa|0)){ta=0;ua=0}else{na=(f[x>>2]|0)+ia|0;ta=(f[sa+(((na>>>0)/341|0)<<2)>>2]|0)+(((na>>>0)%341|0)*12|0)|0;ua=(f[ra>>2]|0)+(((ia>>>0)%341|0)*12|0)|0}ia=ra;ra=ua;d:while(1){ua=ra;do{na=ua;if((na|0)==(ta|0))break d;ua=na+12|0}while((ua-(f[ia>>2]|0)|0)!=4092);ua=ia+4|0;ia=ua;ra=f[ua>>2]|0}f[x>>2]=0;x=oa-pa>>2;if(x>>>0>2){pa=sa;do{lp(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;va=f[z>>2]|0;wa=va-pa>>2}while(wa>>>0>2);xa=pa;ya=va;za=wa}else{xa=sa;ya=qa;za=x}switch(za|0){case 1:{Aa=170;Ba=92;break}case 2:{Aa=341;Ba=92;break}default:{}}if((Ba|0)==92)f[r>>2]=Aa;if((xa|0)!=(ya|0)){Aa=xa;do{lp(f[Aa>>2]|0);Aa=Aa+4|0}while((Aa|0)!=(ya|0));ya=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(ya|0))f[z>>2]=y+(~((y+-4-ya|0)>>>2)<<2)}ya=f[g>>2]|0;if(!ya){u=d;return B|0}lp(ya);u=d;return B|0}function qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=Ka,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+720|0;e=d;g=d+688|0;i=d+656|0;k=d+4|0;if((j[c+38>>1]|0)>514){f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;m=c+8|0;o=c+16|0;p=g+4|0;q=g+8|0;r=a+36|0;t=a+40|0;v=a+60|0;w=a+44|0;x=g+8|0;y=g+12|0;z=g+20|0;A=0;a:while(1){if((A|0)>=(Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0)){B=4;break}C=Na[f[(f[a>>2]|0)+20>>2]&127](a,A)|0;D=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;E=f[(f[(f[D>>2]|0)+8>>2]|0)+(C<<2)>>2]|0;if((f[E+28>>2]|0)==9){C=b[E+24>>0]|0;E=f[l>>2]|0;D=f[i>>2]|0;F=E-D>>2;G=D;D=E;if(C>>>0<=F>>>0){if(C>>>0>>0?(E=G+(C<<2)|0,(D|0)!=(E|0)):0)f[l>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Og(i,C-F|0);F=C<<2;E=m;D=f[E>>2]|0;G=f[E+4>>2]|0;E=o;H=f[E>>2]|0;J=Ul(H|0,f[E+4>>2]|0,F|0,0)|0;E=I;if((G|0)<(E|0)|(G|0)==(E|0)&D>>>0>>0){K=0;break}Ff(f[i>>2]|0,(f[c>>2]|0)+H|0,F|0)|0;H=o;J=Ul(f[H>>2]|0,f[H+4>>2]|0,F|0,0)|0;F=I;H=o;f[H>>2]=J;f[H+4>>2]=F;H=m;D=f[H>>2]|0;E=f[H+4>>2]|0;H=Ul(J|0,F|0,4,0)|0;G=I;if((E|0)<(G|0)|(E|0)==(G|0)&D>>>0>>0){K=0;break}L=f[c>>2]|0;M=L+J|0;b[s>>0]=b[M>>0];b[s+1>>0]=b[M+1>>0];b[s+2>>0]=b[M+2>>0];b[s+3>>0]=b[M+3>>0];N=$(n[s>>2]);M=o;f[M>>2]=H;f[M+4>>2]=G;if(!((E|0)>(G|0)|(E|0)==(G|0)&D>>>0>H>>>0)){K=0;break}D=b[L+H>>0]|0;H=Ul(J|0,F|0,5,0)|0;F=o;f[F>>2]=H;f[F+4>>2]=I;if((D&255)>31){K=0;break}f[g>>2]=1228;f[p>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Ij(g,D&255,f[i>>2]|0,C,N);do if($i(g,f[(f[v>>2]|0)+((((f[t>>2]|0)-(f[r>>2]|0)|0)/24|0)<<2)>>2]|0)|0){C=f[t>>2]|0;if((C|0)==(f[w>>2]|0)){Ae(r,g);O=0;break}f[C>>2]=1228;f[C+4>>2]=f[p>>2];P=C+8|0;f[P>>2]=0;D=C+12|0;f[D>>2]=0;f[C+16>>2]=0;F=(f[y>>2]|0)-(f[x>>2]|0)|0;H=F>>2;if(H|0){if(H>>>0>1073741823){B=20;break a}J=Yk(F)|0;f[D>>2]=J;f[P>>2]=J;f[C+16>>2]=J+(H<<2);H=f[x>>2]|0;F=(f[y>>2]|0)-H|0;if((F|0)>0){Ff(J|0,H|0,F|0)|0;f[D>>2]=J+(F>>>2<<2)}}f[C+20>>2]=f[z>>2];f[t>>2]=(f[t>>2]|0)+24;O=0}else O=1;while(0);f[g>>2]=1228;C=f[q>>2]|0;if(C|0){F=f[y>>2]|0;if((F|0)!=(C|0))f[y>>2]=F+(~((F+-4-C|0)>>>2)<<2);lp(C)}if(O|0){K=0;break}}A=A+1|0}if((B|0)==20)Eo(P);if((B|0)==4){P=a+48|0;A=a+52|0;if((f[A>>2]|0)==(f[P>>2]|0))K=1;else{O=0;y=0;while(1){if(Ph(g,c)|0){q=f[g>>2]|0;Q=q<<31>>31^q>>>1}else Q=y;q=f[P>>2]|0;f[q+(O<<2)>>2]=Q;O=O+1|0;if(O>>>0>=(f[A>>2]|0)-q>>2>>>0){K=1;break}else y=Q}}}Q=f[i>>2]|0;if(Q|0){y=f[l>>2]|0;if((y|0)!=(Q|0))f[l>>2]=y+(~((y+-4-Q|0)>>>2)<<2);lp(Q)}R=K;u=d;return R|0}K=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;f[g+8>>2]=0;y=(K|0)==0;if(y){S=f[(f[a>>2]|0)+20>>2]|0;T=a;U=0}else{if(K>>>0>214748364)Eo(g);l=K*20|0;A=Yk(l)|0;f[g>>2]=A;f[g+8>>2]=A+(K*20|0);Dh(A|0,0,l|0)|0;f[Q>>2]=A+l;l=f[(f[a>>2]|0)+20>>2]|0;A=0;O=0;while(1){P=Na[l&127](a,A)|0;q=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;t=f[(f[(f[q>>2]|0)+8>>2]|0)+(P<<2)>>2]|0;P=f[t+28>>2]|0;q=Zj(P)|0;z=b[t+24>>0]|0;x=f[g>>2]|0;f[x+(A*20|0)>>2]=t;f[x+(A*20|0)+4>>2]=O;f[x+(A*20|0)+8>>2]=P;f[x+(A*20|0)+12>>2]=(q|0)>0?q:0;f[x+(A*20|0)+16>>2]=z;x=z+O|0;A=A+1|0;z=f[(f[a>>2]|0)+20>>2]|0;if(A>>>0>=K>>>0){S=z;T=a;U=x;break}else{l=z;O=x}}}O=Na[S&127](a,0)|0;S=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[(f[S>>2]|0)+8>>2]|0)+(O<<2)>>2]|0;b[l+84>>0]=1;O=f[l+68>>2]|0;S=l+72|0;A=f[S>>2]|0;if((A|0)!=(O|0))f[S>>2]=A+(~((A+-4-O|0)>>>2)<<2);O=c+8|0;A=f[O>>2]|0;S=f[O+4>>2]|0;O=c+16|0;x=O;z=f[x>>2]|0;q=f[x+4>>2]|0;b:do if((S|0)>(q|0)|(S|0)==(q|0)&A>>>0>z>>>0){x=f[c>>2]|0;P=b[x+z>>0]|0;t=Ul(z|0,q|0,1,0)|0;p=I;r=O;f[r>>2]=t;f[r+4>>2]=p;switch(P<<24>>24){case 0:{if(!((S|0)>(p|0)|(S|0)==(p|0)&A>>>0>t>>>0)){V=0;break b}P=Ul(z|0,q|0,2,0)|0;r=O;f[r>>2]=P;f[r+4>>2]=I;r=Ul(z|0,q|0,6,0)|0;w=I;if((S|0)<(w|0)|(S|0)==(w|0)&A>>>0>>0){V=0;break b}v=x+P|0;P=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=O;f[v>>2]=r;f[v+4>>2]=w;Lh(l,P)|0;Em(i);Xf(k,g);P=Sd(i,c,k)|0;w=f[k+16>>2]|0;if(w|0){v=k+20|0;r=f[v>>2]|0;if((r|0)!=(w|0))f[v>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[k>>2]|0;if(w|0){r=k+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;lp(w)}if(!P){V=0;break b}break}case 1:{if(!((S|0)>(p|0)|(S|0)==(p|0)&A>>>0>t>>>0)){V=0;break b}p=b[x+t>>0]|0;t=Ul(z|0,q|0,2,0)|0;P=O;f[P>>2]=t;f[P+4>>2]=I;if((p&255)>6){f[e>>2]=p&255;Ml(4934,e)|0;V=0;break b}P=Ul(z|0,q|0,6,0)|0;w=I;if((S|0)<(w|0)|(S|0)==(w|0)&A>>>0

>>0){V=0;break b}r=x+t|0;t=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=O;f[r>>2]=P;f[r+4>>2]=w;if(!y){w=0;do{r=Na[f[(f[T>>2]|0)+20>>2]&127](a,w)|0;P=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;x=f[(f[(f[P>>2]|0)+8>>2]|0)+(r<<2)>>2]|0;Lh(x,t)|0;b[x+84>>0]=1;r=f[x+68>>2]|0;P=x+72|0;x=f[P>>2]|0;if((x|0)!=(r|0))f[P>>2]=x+(~((x+-4-r|0)>>>2)<<2);w=w+1|0}while(w>>>0>>0)}Xf(i,g);switch(p<<24>>24){case 0:{ue(k,U);w=be(k,c,i)|0;xe(k);if(w)B=77;else W=1;break}case 1:{ue(k,U);w=ae(k,c,i)|0;xe(k);if(w)B=77;else W=1;break}case 2:{we(k,U);w=de(k,c,i)|0;De(k);if(w)B=77;else W=1;break}case 3:{we(k,U);w=ce(k,c,i)|0;De(k);if(w)B=77;else W=1;break}case 4:{se(k,U);w=Hd(k,c,i)|0;pe(k);if(w)B=77;else W=1;break}case 5:{se(k,U);w=Gd(k,c,i)|0;pe(k);if(w)B=77;else W=1;break}case 6:{se(k,U);w=Fd(k,c,i)|0;pe(k);if(w)B=77;else W=1;break}default:W=1}if((B|0)==77)W=0;w=f[i+16>>2]|0;if(w|0){t=i+20|0;r=f[t>>2]|0;if((r|0)!=(w|0))f[t>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);lp(w)}w=f[i>>2]|0;if(w|0){r=i+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;lp(w)}if(W|0){V=0;break b}break}default:{V=0;break b}}V=1}else V=0;while(0);W=f[g>>2]|0;if(W|0){g=f[Q>>2]|0;if((g|0)!=(W|0))f[Q>>2]=g+(~(((g+-20-W|0)>>>0)/20|0)*20|0);lp(W)}R=V;u=d;return R|0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ka,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=0;m=o;while(1){s=$(b[m>>0]|0);n[g+(r<<2)>>2]=s;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else m=m+1|0}}else{m=0;r=o;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Ul(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(h[k>>0]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else k=k+1|0}}else{k=0;u=o;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$(d[l>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else l=l+2|0}}else{l=0;u=o;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){s=$(j[m>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else m=m+2|0}}else{m=0;u=o;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(f[k>>2]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else k=k+4|0}}else{k=0;u=o;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$((f[l>>2]|0)>>>0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else l=l+4|0}}else{l=0;u=o;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){q=m;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else m=m+8|0}}else{m=0;u=o;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Ul(fl(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){q=k;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else k=k+8|0}}else{k=0;u=o;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=fl(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Ul(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;l=r+q|0;while(1){f[g+(o<<2)>>2]=f[l>>2];o=o+1|0;q=b[u>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){C=q;break}else l=l+4|0}}else C=k;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 10:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;q=fl(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;r=Ul(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;q=u+r|0;while(1){s=$(+p[q>>3]);n[g+(m<<2)>>2]=s;m=m+1|0;r=b[l>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){D=r;break}else q=q+8|0}}else D=o;q=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 11:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;k=a+40|0;r=fl(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;u=Ul(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;r=l+u|0;while(1){s=$((b[r>>0]|0)!=0&1);n[g+(k<<2)>>2]=s;k=k+1|0;u=b[q>>0]|0;if((k|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){E=u;break}else r=r+1|0}}else E=m;r=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)Eo(e);else{k=i<<2;l=Yk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=o;r=n;s=i;t=m+8|0}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);lp(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=f[e>>2]|0;r=f[j>>2]|0;s=f[h>>2]|0;t=k}f[m>>2]=q;f[p>>2]=r;f[t>>2]=f[e+8>>2];f[e>>2]=0;t=e+4|0;f[t>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)Eo(e);else{r=s<<2;p=Yk(r)|0;f[e>>2]=p;q=p+(s<<2)|0;f[e+8>>2]=q;Dh(p|0,0,r|0)|0;f[t>>2]=q;v=q;w=p;break}else{v=0;w=0}while(0);s=a+128|0;p=f[s>>2]|0;q=f[p>>2]|0;r=p+4|0;if(!q){x=w;y=v;z=p+8|0}else{v=f[r>>2]|0;if((v|0)!=(q|0))f[r>>2]=v+(~((v+-4-q|0)>>>2)<<2);lp(q);q=p+8|0;f[q>>2]=0;f[r>>2]=0;f[p>>2]=0;x=f[e>>2]|0;y=f[t>>2]|0;z=q}f[p>>2]=x;f[r>>2]=y;f[z>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;z=g+8|0;y=g+4|0;r=g+16|0;x=g+20|0;ic(g);p=f[y>>2]|0;q=(f[x>>2]|0)+(f[r>>2]|0)|0;if((f[z>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[x>>2]|0)+1|0;f[x>>2]=A;a:do if(!A)B=1;else{q=a+104|0;p=e+4|0;t=e+8|0;v=a+8|0;w=a+92|0;m=a+48|0;k=a+44|0;j=a+36|0;i=a+4|0;n=a+16|0;o=a+88|0;C=a+76|0;D=a+84|0;E=e+4|0;F=e+8|0;G=A;while(1){H=f[r>>2]|0;I=G+-1|0;J=H+I|0;K=f[y>>2]|0;L=f[K+(((J>>>0)/341|0)<<2)>>2]|0;M=(J>>>0)%341|0;J=f[L+(M*12|0)>>2]|0;N=f[L+(M*12|0)+4>>2]|0;O=f[L+(M*12|0)+8>>2]|0;f[x>>2]=I;I=f[z>>2]|0;M=I-K>>2;if((1-G-H+((M|0)==0?0:(M*341|0)+-1|0)|0)>>>0>681){lp(f[I+-4>>2]|0);f[z>>2]=(f[z>>2]|0)+-4}I=f[l>>2]|0;M=I+(O*12|0)|0;if(J>>>0>b>>>0){B=0;break a}H=f[h>>2]|0;K=(H+-1|0)==(N|0)?0:N+1|0;if(K>>>0>=H>>>0){B=0;break a}H=(f[s>>2]|0)+(O*12|0)|0;N=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!N){if(J|0){L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[E>>2]=f[P+4>>2];f[F>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[E>>2];f[S+8>>2]=f[F>>2];f[R>>2]=S+12}else Kf(P,e);f[v>>2]=(f[v>>2]|0)+1;L=L+1|0}while(L>>>0>>0)}}else{if(J>>>0>=3){if((f[v>>2]|0)>>>0>(f[i>>2]|0)>>>0){B=0;break a}L=O+1|0;gf(I+(L*12|0)|0,f[M>>2]|0,f[I+(O*12|0)+4>>2]|0);P=(f[(f[l>>2]|0)+(L*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;Eh(n,P,e);P=(J>>>1)-(f[e>>2]|0)|0;S=J-P|0;c:do if((P|0)==(S|0)){T=P;U=P}else{R=f[o>>2]|0;Q=f[D>>2]|0;do if((Q|0)!=(f[C>>2]|0)){V=(f[Q>>2]&1<<31-R|0)!=0;W=R+1|0;f[o>>2]=W;if((W|0)==32){f[D>>2]=Q+4;f[o>>2]=0;if(V){T=P;U=S;break c}else break}else if(V){T=P;U=S;break c}else break}while(0);T=S;U=P}while(0);P=f[s>>2]|0;S=f[P+(O*12|0)>>2]|0;Q=S+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;gf(P+(L*12|0)|0,S,f[P+(O*12|0)+4>>2]|0);if(T|0){P=f[z>>2]|0;S=f[y>>2]|0;Q=P-S>>2;R=f[r>>2]|0;V=f[x>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(V+R|0)){ic(g);X=f[r>>2]|0;Y=f[x>>2]|0;Z=f[z>>2]|0;$=f[y>>2]|0}else{X=R;Y=V;Z=P;$=S}S=Y+X|0;if((Z|0)==($|0))aa=0;else aa=(f[$+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[aa>>2]=T;f[aa+4>>2]=K;f[aa+8>>2]=O;f[x>>2]=(f[x>>2]|0)+1}if(U|0){S=f[z>>2]|0;P=f[y>>2]|0;V=S-P>>2;R=f[r>>2]|0;Q=f[x>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(Q+R|0)){ic(g);ba=f[r>>2]|0;ca=f[x>>2]|0;da=f[z>>2]|0;ea=f[y>>2]|0}else{ba=R;ca=Q;da=S;ea=P}P=ca+ba|0;if((da|0)==(ea|0))fa=0;else fa=(f[ea+(((P>>>0)/341|0)<<2)>>2]|0)+(((P>>>0)%341|0)*12|0)|0;f[fa>>2]=U;f[fa+4>>2]=K;f[fa+8>>2]=L;f[x>>2]=(f[x>>2]|0)+1}break}P=f[q>>2]|0;f[P>>2]=K;S=f[h>>2]|0;if(S>>>0>1){Q=S;R=K;V=1;while(1){R=(R|0)==(Q+-1|0)?0:R+1|0;f[P+(V<<2)>>2]=R;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){ga=W;break}else Q=W}}else ga=S;if(J|0){Q=ga;V=0;while(1){if(!Q)ha=f[w>>2]|0;else{R=f[q>>2]|0;P=f[w>>2]|0;L=f[H>>2]|0;W=0;do{ia=R+(W<<2)|0;f[P+(f[ia>>2]<<2)>>2]=0;ja=f[ia>>2]|0;ka=(f[a>>2]|0)-(f[L+(ja<<2)>>2]|0)|0;do if(ka|0){la=P+(ja<<2)|0;ma=f[m>>2]|0;na=32-ma|0;if((ka|0)>(na|0)){oa=f[k>>2]|0;pa=oa+4|0;if((pa|0)==(f[j>>2]|0)){f[la>>2]=0;break}else{qa=f[oa>>2]<>2]=oa;f[k>>2]=pa;ra=32-oa|0;f[la>>2]=(f[pa>>2]|0)>>>ra|qa>>>(ra-na|0);break}}na=f[k>>2]|0;if((na|0)==(f[j>>2]|0)){f[la>>2]=0;break}f[la>>2]=f[na>>2]<>>(32-ka|0);ma=(f[m>>2]|0)+ka|0;f[m>>2]=ma;if((ma|0)!=32)break;f[k>>2]=na+4;f[m>>2]=0}while(0);ka=f[ia>>2]|0;ja=P+(ka<<2)|0;f[ja>>2]=f[ja>>2]|f[(f[M>>2]|0)+(ka<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);ha=P}P=f[ha>>2]|0;f[e>>2]=P;f[p>>2]=f[ha+4>>2];f[t>>2]=f[ha+8>>2];W=f[c>>2]|0;L=W+4|0;R=f[L>>2]|0;if(R>>>0<(f[W+8>>2]|0)>>>0){f[R>>2]=P;f[R+4>>2]=f[p>>2];f[R+8>>2]=f[t>>2];f[L>>2]=R+12}else Kf(W,e);f[v>>2]=(f[v>>2]|0)+1;W=V+1|0;if(W>>>0>=J>>>0)break b;Q=f[h>>2]|0;V=W}}}while(0);G=f[x>>2]|0;if(!G){B=1;break}}}while(0);h=f[y>>2]|0;e=f[r>>2]|0;c=h+(((e>>>0)/341|0)<<2)|0;ha=f[z>>2]|0;a=ha;ga=h;if((ha|0)==(h|0)){sa=0;ta=0}else{fa=(f[x>>2]|0)+e|0;sa=(f[h+(((fa>>>0)/341|0)<<2)>>2]|0)+(((fa>>>0)%341|0)*12|0)|0;ta=(f[c>>2]|0)+(((e>>>0)%341|0)*12|0)|0}e=c;c=ta;d:while(1){ta=c;do{fa=ta;if((fa|0)==(sa|0))break d;ta=fa+12|0}while((ta-(f[e>>2]|0)|0)!=4092);ta=e+4|0;e=ta;c=f[ta>>2]|0}f[x>>2]=0;x=a-ga>>2;if(x>>>0>2){ga=h;do{lp(f[ga>>2]|0);ga=(f[y>>2]|0)+4|0;f[y>>2]=ga;ua=f[z>>2]|0;va=ua-ga>>2}while(va>>>0>2);wa=ga;xa=ua;ya=va}else{wa=h;xa=ha;ya=x}switch(ya|0){case 1:{za=170;Aa=90;break}case 2:{za=341;Aa=90;break}default:{}}if((Aa|0)==90)f[r>>2]=za;if((wa|0)!=(xa|0)){za=wa;do{lp(f[za>>2]|0);za=za+4|0}while((za|0)!=(xa|0));xa=f[y>>2]|0;y=f[z>>2]|0;if((y|0)!=(xa|0))f[z>>2]=y+(~((y+-4-xa|0)>>>2)<<2)}xa=f[g>>2]|0;if(!xa){u=d;return B|0}lp(xa);u=d;return B|0} +function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=a+16|0;ci(d,b);f[a+28>>2]=0;b=f[a+20>>2]|0;e=f[d>>2]|0;d=e;if((b|0)!=(e|0)){g=(b-e|0)/20|0;e=0;b=0;do{h=X(f[d+(e*20|0)+16>>2]|0,f[d+(e*20|0)+12>>2]|0)|0;b=b>>>0>>0?h:b;e=e+1|0}while(e>>>0>>0);g=f[c>>2]|0;e=f[a>>2]|0;d=g-e|0;if(b>>>0>d>>>0){Rg(a,b-d|0);i=f[a>>2]|0;j=a+12|0;f[j>>2]=i;return}else{k=g;l=e;m=b;n=d}}else{d=f[c>>2]|0;b=f[a>>2]|0;k=d;l=b;m=0;n=d-b|0}if(m>>>0>=n>>>0){i=l;j=a+12|0;f[j>>2]=i;return}n=l+m|0;if((k|0)==(n|0)){i=l;j=a+12|0;f[j>>2]=i;return}f[c>>2]=n;i=l;j=a+12|0;f[j>>2]=i;return}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==8192;return k|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Og(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Pf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==4096;return k|0}function _f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((xb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=rp(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=xb(a,c,g,i,h)|0;if(!o)s=j;else{Oa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=xb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)qp(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){Ie(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((h|0)==(g|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;lp(h)}lp(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);lp(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(a)}lp(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=i;k=b;while(1){f[j>>2]=f[c>>2];k=k+-1|0;if(!k)break;else j=j+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;j=h-i|0;h=j>>2;k=h+b|0;if(k>>>0>1073741823)Eo(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?k:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;cn(e,13392);f[e>>2]=4748;va(e|0,1128,101)}else{n=Yk(m<<2)|0;break}else n=0;while(0);e=n+(h<<2)|0;k=n+(m<<2)|0;m=e;n=b;while(1){f[m>>2]=f[c>>2];n=n+-1|0;if(!n)break;else m=m+4|0}m=e+(0-h<<2)|0;if((j|0)>0)Ff(m|0,i|0,j|0)|0;f[a>>2]=m;f[g>>2]=e+(b<<2);f[d>>2]=k;if(!i)return;lp(i);return}function bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=In(f[a+8>>2]|0,e)|0;h=In(f[a+12>>2]|0,e)|0;i=In(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=In(f[a+(q<<2)>>2]|0,e)|0;s=In(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=qj(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=In(f[a+(m<<2)>>2]|0,e)|0;j=In(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function cg(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Hn(l,e,0)|0){f[i+48>>2]=1;Wa[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Va[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=Ka,q=0;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=j;j=0;n=0;o=0;while(1){p=$($(1.0)/$(m|0));Xe(g,$($(f[k+(o<<2)>>2]|0)*p),$($(f[k+((o|1)<<2)>>2]|0)*p),e);Ff((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+n|0,e|0,i|0)|0;q=j+1|0;if((q|0)==(c|0)){l=1;break}m=f[a>>2]|0;j=q;n=n+i|0;o=o+2|0}u=d;return l|0}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=vc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;b[s>>0]=b[e>>0];b[s+1>>0]=b[e+1>>0];b[s+2>>0]=b[e+2>>0];b[s+3>>0]=b[e+3>>0];b[s+4>>0]=b[e+4>>0];b[s+5>>0]=b[e+5>>0];b[s+6>>0]=b[e+6>>0];b[s+7>>0]=b[e+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];g=1;return g|0}function fg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=h;j=b;while(1){f[i>>2]=1;j=j+-1|0;if(!j)break;else i=i+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Eo(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;j=m+(l<<2)|0;l=d;m=b;while(1){f[l>>2]=1;m=m+-1|0;if(!m)break;else l=l+4|0}l=d+(0-g<<2)|0;if((i|0)>0)Ff(l|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=d+(b<<2);f[c>>2]=j;if(!h)return;lp(h);return}function hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=dj(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=dj(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=Rh(c)|0;if(h>>>0>4294967279)Eo(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Vd(i,g,e)|0,(j|0)!=0):0)n=cj(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)lp(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}lp(f[e>>2]|0);u=d;return n|0}function jg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Oe(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=Yk(44)|0;f[d>>2]=1536;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];pi(d+32|0,e+24|0);f[d>>2]=1592;g=d}f[a>>2]=g;return}function kg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(k|0)!=(a|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{ag(h,i-l|0,1404);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function lg(a){a=a|0;Ym(a);Ym(a+16|0);Ym(a+32|0);Ym(a+48|0);Ym(a+64|0);Ym(a+80|0);Ym(a+96|0);Ym(a+112|0);Ym(a+128|0);Ym(a+144|0);Ym(a+160|0);Ym(a+176|0);Ym(a+192|0);Ym(a+208|0);Ym(a+224|0);Ym(a+240|0);Ym(a+256|0);Ym(a+272|0);Ym(a+288|0);Ym(a+304|0);Ym(a+320|0);Ym(a+336|0);Ym(a+352|0);Ym(a+368|0);Ym(a+384|0);Ym(a+400|0);Ym(a+416|0);Ym(a+432|0);Ym(a+448|0);Ym(a+464|0);Ym(a+480|0);Ym(a+496|0);return}function mg(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=ip(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){jp(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}Ff((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=i+a|0}}jp(k);return}else{Ff(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){jp(k);return}else{p=1;q=0}do{q=q+j|0;Ff((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+q|0,k|0,j|0)|0;p=p+1|0}while((p|0)!=(c|0));jp(k);return}}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=ip(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){jp(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}Ff((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=h+a|0}}jp(j);return}else{Ff(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){jp(j);return}else{o=1;p=0}do{p=p+i|0;Ff((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+p|0,j|0,i|0)|0;o=o+1|0}while((o|0)!=(c|0));jp(j);return}}function og(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Yk(48)|0;Zn(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Yk(52)|0;$m(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=11693;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;zh(c,g);f[a>>2]=f[e>>2];zh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);u=d;return}}}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){vd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((h|0)==(g|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);lp(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);lp(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);lp(h)}ah(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function qg(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rc(a,e);return}function rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}lp(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);lp(g);return}function sg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;lp(d)}lp(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);lp(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;lp(i)}lp(j)}lp(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}lp(e);return}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;k=f[g+4>>2]|0;g=Ul(i|0,k|0,4,0)|0;l=I;if((e|0)<(l|0)|(e|0)==(l|0)&d>>>0>>0){m=0;return m|0}n=(f[b>>2]|0)+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=l;do if((j[b+38>>1]|0)<514){l=Ul(i|0,k|0,8,0)|0;n=I;if((e|0)<(n|0)|(e|0)==(n|0)&d>>>0>>0){m=0;return m|0}else{g=c;f[g>>2]=l;f[g+4>>2]=n;break}}while(0);if(!(o&1)){m=0;return m|0}c=(_(o|0)|0)^31;if((c+-1|0)>>>0>28){m=0;return m|0}f[a+8>>2]=c+1;o=2<>2]=o+-1;c=o+-2|0;f[a+16>>2]=c;f[a+20>>2]=(c|0)/2|0;m=1;return m|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;lp(d)}lp(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);lp(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;lp(h)}lp(i)}lp(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;lp(b);return}function vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=ip((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){jp(i);return}if(g<<24>>24>0){g=0;j=0;while(1){a=0;l=j;while(1){b[i+a>>0]=f[k+(l<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else l=l+1|0}Ff((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+j|0,i|0,h|0)|0;g=g+1|0;if((g|0)==(c|0))break;else j=j+h|0}jp(i);return}else{Ff(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1){jp(i);return}else{m=1;n=0}do{n=n+h|0;Ff((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+n|0,i|0,h|0)|0;m=m+1|0}while((m|0)!=(c|0));jp(i);return}}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=Yk(72)|0;nl(c);d=c;if((b|0)<0){Ra[f[(f[c>>2]|0)+4>>2]&127](c);e=0;return e|0}c=a+8|0;g=a+12|0;a=f[g>>2]|0;h=f[c>>2]|0;i=a-h>>2;do if((i|0)<=(b|0)){j=b+1|0;k=a;if(j>>>0>i>>>0){ef(c,j-i|0);break}if(j>>>0>>0?(l=h+(j<<2)|0,(k|0)!=(l|0)):0){j=k;do{k=j+-4|0;f[g>>2]=k;m=f[k>>2]|0;f[k>>2]=0;if(m|0)Ra[f[(f[m>>2]|0)+4>>2]&127](m);j=f[g>>2]|0}while((j|0)!=(l|0))}}while(0);g=(f[c>>2]|0)+(b<<2)|0;b=f[g>>2]|0;f[g>>2]=d;if(!b){e=1;return e|0}Ra[f[(f[b>>2]|0)+4>>2]&127](b);e=1;return e|0}function xg(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Bc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Bc(a,e);return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Ma[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Na[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Na[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Ah(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){lp(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}lp(f[e>>2]|0);u=a;return i|0}function Ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Bj(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Oa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=k;m=0;n=c;o=a;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Oa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=f[g>>2]|0;m=e;n=c-e|0;o=a+e|0}else{l=k;m=0;n=c;o=a}while(0);Ff(l|0,o|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function Bg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Bg(c+8|0);lp(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)lp(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;lp(h)}if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);lp(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)lp(e);lp(d)}if((b[a+11>>0]|0)>=0)return;lp(f[a>>2]|0);return}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;c=a+4|0;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=ik(e,Na[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;i=9;break}e=f[c>>2]|0;if(((h[e+36>>0]|0)<<8&65535)<512){if(!(Na[f[(f[b>>2]|0)+28>>2]&127](b,f[(f[(f[e+4>>2]|0)+8>>2]|0)+(g<<2)>>2]|0)|0)){d=0;i=9;break}}else{j=pj(e,g)|0;if(!j){d=0;i=9;break}if(!(Na[f[(f[b>>2]|0)+28>>2]&127](b,j)|0)){d=0;i=9;break}}a=a+1|0;if((a|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;i=9;break}}if((i|0)==9)return d|0;return 0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=ip((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;jp(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Ul(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}Ff(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;Ff((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+k|0,g|0,a|0)|0;j=j+1|0;if((j|0)>=(b|0)){i=1;q=5;break}else k=k+a|0}if((q|0)==5){jp(g);return i|0}return 0}function Eg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=g;g=0;a:while(1){j=f[a+(g*144|0)>>2]|0;if(((j|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Ma[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Na[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(c|0))break a;j=j+1|0}while((j|0)<(Ma[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=g+1|0;a=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-a|0)/144|0)>>>0){h=0;m=11;break}else g=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(g*144|0)+100>>0]|0)==0?0:m+(g*144|0)+4|0;return h|0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Ul(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Ul(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(_(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(b>>>0<64){b=f[a+12>>2]|0;if(b>>>0<=1){e=0;return e|0}d=f[c>>2]|0;c=1;g=0;while(1){h=(f[d+(g<<2)>>2]|0)>>>0>(f[d+(c<<2)>>2]|0)>>>0?c:g;c=c+1|0;if(c>>>0>=b>>>0){e=h;break}else g=h}return e|0}g=a+580|0;b=f[g>>2]|0;c=32-b|0;d=a+576|0;if((c|0)<4){h=f[d>>2]|0;i=h+4|0;if((i|0)==(f[a+568>>2]|0)){e=0;return e|0}j=f[h>>2]<>2]=h;f[d>>2]=i;k=32-h|0;e=(f[i>>2]|0)>>>k|j>>>(k-c|0);return e|0}c=f[d>>2]|0;if((c|0)==(f[a+568>>2]|0)){e=0;return e|0}a=f[c>>2]<>>28;k=b+4|0;f[g>>2]=k;if((k|0)!=32){e=a;return e|0}f[d>>2]=c+4;f[g>>2]=0;e=a;return e|0}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=e;i=0;b:while(1){j=f[h+(i*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Ma[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Na[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Ma[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=i+1|0;h=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-h|0)/144|0)>>>0)break a;else i=k}m=(f[c>>2]|0)+(i*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function Ig(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;sg(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Ra[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);lp(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);lp(g);return}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)Eo(d);k=((b+-1|0)>>>5)+1|0;b=Yk(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;$e(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)lp(g);u=c;return}function Kg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Ul(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=1200;f[e+4>>2]=-1;Mn(e,n);o=$i(e,f[a+16>>2]|0)|0;u=c;return o|0}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Eo(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;cn(k,13392);f[k>>2]=4748;va(k|0,1128,101)}else{m=Yk(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ff(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;lp(d);return}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=_e(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=Yk(40)|0;zh(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}wd(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Ng(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)Eo(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=Yk(p)|0;if(g|0)Tm(o,m,g)|0;if(i|0)Tm(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Tm(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)lp(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;_n(o+p|0,l);u=k;return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Dh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Eo(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;cn(d,13392);f[d>>2]=4748;va(d|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;Dh(d|0,0,b<<2|0)|0;j=d+(0-g<<2)|0;if((i|0)>0)Ff(j|0,h|0,i|0)|0;f[a>>2]=j;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;lp(h);return}function Pg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);lp(d)}ah(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}lp(e);return}function Qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=Rh(d)|0;if(g>>>0>4294967279)Eo(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=Yk(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){Ff(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(vc(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}lp(f[e>>2]|0);u=a;return g|0}function Rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=h;j=c;do{b[i>>0]=0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=h-j|0;h=i+c|0;if((h|0)<0)Eo(a);k=e-j|0;j=k<<1;e=k>>>0<1073741823?(j>>>0>>0?h:j):2147483647;if(!e)l=0;else l=Yk(e)|0;j=l+i|0;i=l+e|0;e=j;l=c;c=j;do{b[e>>0]=0;e=c+1|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;h=j+(0-e)|0;if((e|0)>0)Ff(h|0,l|0,e|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=i;if(!l)return;lp(l);return}function Sg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ck(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=1228;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Ij(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=$i(c,f[a+16>>2]|0)|0;f[c>>2]=1228;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);lp(a)}e=i;u=d;return e|0}function Ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);lp(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);lp(d)}ah(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;lp(b);return}function Vg(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Ah(c,g,e)|0;if((b[g+11>>0]|0)<0)lp(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}lp(f[e>>2]|0);u=a;return h|0}function Xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=wl(l,i+1|0,15886,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;Th(c,n,0);k=b[h>>0]|0;i=n}Th(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(i|0)!=(h|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Og(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)Eo(b);else if((m|0)==12)return d|0;return 0}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=ip(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Ym(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do{i=i+-16|0;qp(i)}while((i|0)!=(c|0))}jp(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(ud((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function _g(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=dl()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=f[1159];Bl(15975,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;j=Oa[f[(f[262]|0)+16>>2]&31](1048,k,g)|0;k=f[1159]|0;if(j){j=f[g>>2]|0;g=Ma[f[(f[j>>2]|0)+8>>2]&127](j)|0;f[e>>2]=k;f[e+4>>2]=h;f[e+8>>2]=g;Bl(15889,e)}else{f[d>>2]=k;f[d+4>>2]=h;Bl(15934,d)}}Bl(16013,b)}function $g(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;$g(a+20|0);if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)lp(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;lp(g)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)lp(d);lp(c);return}function ah(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+12>>2]|0;if(b|0)lp(b);b=f[a>>2]|0;if(!b)return;lp(b);return}function bh(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b)}f[a+4>>2]=3196;b=f[a+24>>2]|0;if(b|0)lp(b);b=f[a+12>>2]|0;if(!b)return;lp(b);return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(hp()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=_o()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=_o()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)Eo(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;cn(k,13392);f[k>>2]=4748;va(k|0,1128,101)}else{m=Yk(l<<2)|0;break}else m=0;while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];b=k+(0-g<<2)|0;if((e|0)>0)Ff(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;lp(d);return}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;eg(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}lp(f[g>>2]|0);u=a;return +n}function fh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=4124;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=1;n=h;o=4}else{h=_o()|0;f[h>>2]=75;p=-1}else{m=c;n=a;o=4}if((o|0)==4){o=-2-n|0;a=m>>>0>o>>>0?o:m;f[i+48>>2]=a;m=i+20|0;f[m>>2]=n;f[i+44>>2]=n;o=n+a|0;n=i+16|0;f[n>>2]=o;f[i+28>>2]=o;o=_f(i,d,e)|0;if(!a)p=o;else{a=f[m>>2]|0;b[a+(((a|0)==(f[n>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));ac(i,e,g);k=f[i>>2]|0;if(!k){j=i+4|0;if((b[j+11>>0]|0)<0)lp(f[j>>2]|0);j=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=j;l=e+24|0;qp(l);u=d;return}else{f[a>>2]=k;k=i+4|0;zh(a+4|0,k);if((b[k+11>>0]|0)<0)lp(f[k>>2]|0);l=e+24|0;qp(l);u=d;return}}function hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Oh(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}lp(f[g>>2]|0);u=a;return c|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[a>>2]|0;e=d;if((((f[c>>2]|0)-d|0)/12|0)>>>0>=b>>>0)return;g=a+4|0;if(b>>>0>357913941){h=ra(8)|0;cn(h,13392);f[h>>2]=4748;va(h|0,1128,101)}h=f[g>>2]|0;i=Yk(b*12|0)|0;j=i+(((h-d|0)/12|0)*12|0)|0;k=j;l=i+(b*12|0)|0;b=h;if((b|0)==(e|0))m=k;else{h=j;j=b;do{b=j;j=j+-12|0;f[h+-12>>2]=f[j>>2];f[h+-8>>2]=f[b+-8>>2];f[h+-4>>2]=f[b+-4>>2];h=h+-12|0}while((j|0)!=(e|0));m=h}f[a>>2]=m;f[g>>2]=k;f[c>>2]=l;if(!d)return;lp(d);return}function jh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){jh(h);lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)lp(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;lp(h)}if((b[e+11>>0]|0)<0)lp(f[e>>2]|0);lp(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;lp(d);return}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=eg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}lp(f[g>>2]|0);u=a;return h|0}function lh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Rh(d)|0;if(h>>>0>4294967279)Eo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Yk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Ff(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Oh(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}lp(f[g>>2]|0);u=a;return h|0}function mh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ck(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;Ym(a+400|0);f[a+416>>2]=-1;f[a+420>>2]=-1;return}function nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(nh(a,c)|0){j=a;e=Rl(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){e=d+8|0;g=f[e+4>>2]|0;i=d+16|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;if((g|0)>(l|0)|((g|0)==(l|0)?(f[e>>2]|0)>>>0>k>>>0:0)){e=b[(f[d>>2]|0)+k>>0]|0;g=Ul(k|0,l|0,1,0)|0;l=i;f[l>>2]=g;f[l+4>>2]=I;f[a+24>>2]=e&255;break}else{m=0;return m|0}}while(0);m=qc(a,c,d)|0;return m|0}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;Le(a,e,3568);Le(a+12|0,e,3564);fi(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)lp(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}lp(b);d=1;return d|0}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));jg(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);lp(i)}f[a>>2]=f[h>>2];u=e;return}function rh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}l=j+c|0;if((k-j|0)>>>0>>0){Jh(a,k,l-k|0,j,j,0,0);m=b[h>>0]|0}else m=i;if(m<<24>>24<0)n=f[a>>2]|0;else n=a;Pl(n+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=l;else b[h>>0]=l;b[g>>0]=0;_n(n+l|0,g)}u=e;return a|0}function sh(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;lp(a)}lp(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;lp(c)}lp(d)}lp(b);return}function th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Rm(l,c,d)|0;b[g>>0]=0;_n(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Ng(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function uh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+8|0;d=f[c>>2]|0;if(!d){lp(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}lp(g);lp(a);return}function vh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Hh(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function wh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;i=c+54|0;j=c+48|0;k=c+24|0;l=c+36|0;if(!h){f[a>>2]=d;f[k>>2]=g;f[l>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[i>>0]=1;break}if((h|0)!=(d|0)){f[l>>2]=(f[l>>2]|0)+1;b[i>>0]=1;break}l=f[k>>2]|0;if((l|0)==2){f[k>>2]=g;m=g}else m=l;if((f[j>>2]|0)==1&(m|0)==1)b[i>>0]=1}while(0);return}function xh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ra[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}lp(e);return}function yh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Ul(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=yc(a,c,d,e)|0;return g|0}case 1:{g=ad(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)Eo(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=Yk(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Tm(i,g,h)|0;b[e>>0]=0;_n(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=vc(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}Th(c,d-a|0,0);a=Fj(c,0)|0;c=f[b>>2]|0;Ff(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Bh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;do if(!(Hn(a,f[c+8>>2]|0,g)|0)){if(Hn(a,f[c>>2]|0,g)|0){h=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[h>>2]=e;f[i>>2]=d;i=c+40|0;f[i>>2]=(f[i>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[h>>2]=1}}else Pk(0,c,d,e);while(0);return}function Ch(a){a=a|0;qp(a+496|0);qp(a+480|0);qp(a+464|0);qp(a+448|0);qp(a+432|0);qp(a+416|0);qp(a+400|0);qp(a+384|0);qp(a+368|0);qp(a+352|0);qp(a+336|0);qp(a+320|0);qp(a+304|0);qp(a+288|0);qp(a+272|0);qp(a+256|0);qp(a+240|0);qp(a+224|0);qp(a+208|0);qp(a+192|0);qp(a+176|0);qp(a+160|0);qp(a+144|0);qp(a+128|0);qp(a+112|0);qp(a+96|0);qp(a+80|0);qp(a+64|0);qp(a+48|0);qp(a+32|0);qp(a+16|0);qp(a);return}function Dh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b){d=0;f[c>>2]=d;return}e=a+8|0;g=a+4|0;i=0-(h[a+12>>0]|0)&255;j=f[e>>2]|0;k=b;b=0;while(1){l=b<<1;if(j>>>0<4096?(m=f[g>>2]|0,(m|0)>0):0){n=f[a>>2]|0;o=m+-1|0;f[g>>2]=o;m=h[n+o>>0]|0|j<<8;f[e>>2]=m;p=m}else p=j;m=p&255;o=X(p>>>8,i)|0;n=m>>>0>>0;j=n?o+m|0:p-i-o|0;f[e>>2]=j;o=n&1|l;k=k+-1|0;if(!k){d=o;break}else b=o}f[c>>2]=d;return}function Fh(a,b){a=a|0;b=b|0;var c=0;switch(f[(f[a+8>>2]|0)+28>>2]|0){case 2:{vg(a,b);c=1;return c|0}case 1:{vg(a,b);c=1;return c|0}case 4:{mg(a,b);c=1;return c|0}case 3:{mg(a,b);c=1;return c|0}case 6:{ng(a,b);c=1;return c|0}case 5:{ng(a,b);c=1;return c|0}default:{c=0;return c|0}}return 0}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Yd(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(i){Vg(i);lp(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){Vg(i);lp(i)}}else f[e>>2]=0;if(!(f[g>>2]|0)){j=0;u=d;return j|0}g=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;Hf(a+56|0,g,e);j=1;u=d;return j|0}function Hh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(c>>>0>i>>>0){Rg(a,c-i|0);break}if(c>>>0>>0?(i=h+c|0,(g|0)!=(i|0)):0)f[d>>2]=i}else df(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Ul(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Ih(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1368;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}lp(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;lp(c)}lp(d)}lp(a);return}function Jh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)Eo(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=Yk(m)|0;if(g|0)Tm(l,j,g)|0;k=e-h-g|0;if(k|0)Tm(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)lp(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function Kh(a,b){a=a|0;b=b|0;if(!b)return;else{Kh(a,f[b>>2]|0);Kh(a,f[b+4>>2]|0);Qh(b+20|0,f[b+24>>2]|0);lp(b);return}}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=Yk(32)|0,ql(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;lp(e)}lp(g)}g=Zj(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,g)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=fl(e|0,g|0,c|0,0)|0;if(!(Hh(h,0,i,I)|0)){j=0;return j|0}Oi(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(rb(a,g,j,i)|0)){k=0;u=e;return k|0}Je(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Hn(a,b,0)|0))if((b|0)!=0?(g=cg(b,1072,1056,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ua[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=vc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function Ph(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Ul(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(Ph(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function Qh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Qh(a,f[c>>2]|0);Qh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)lp(f[d>>2]|0);if((b[a+11>>0]|0)<0)lp(f[a>>2]|0);lp(c);return}function Rh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=c;h=a;while(1){if(!(b[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){d=j;e=4;break}else h=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Sh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;d=f[b>>2]|0;if(!d){lp(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ra[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}lp(g);lp(a);return}function Th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;_n(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;_n(a+c|0,g);b[h>>0]=c;break}else rh(a,c-k|0,d)|0;while(0);u=e;return}function Uh(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;lp(b)}lp(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;lp(c)}lp(d)}lp(a);return}function Vh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=Yk(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=Pe(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Vg(a);lp(a);return}function Xh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Bj(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Oa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=Yk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=11771;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;ei(uc(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}lp(f[g>>2]|0);u=d;return}function Zh(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;while(1){d=b[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Go(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=d;j=0;k=c}}if((h|0)==5){i=b[f>>0]|0;j=g;k=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=f;f=0;g=k;while(1){g=g+1|0;k=(f*10|0)-i|0;i=(b[g>>0]|0)+-48|0;if(i>>>0>=10){l=k;break}else f=k}}else l=0;return (j|0?l:0-l|0)|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ra[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}lp(e);return}function $h(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3072;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ck(a+232|0);return}function ai(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a&255;e=a&255;if((f[c+76>>2]|0)>=0?(rp(c)|0)!=0:0){if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Xh(c,a)|0;qp(c);j=i}else k=3;do if((k|0)==3){if((e|0)!=(b[c+75>>0]|0)?(i=c+20|0,h=f[i>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=h+1;b[h>>0]=d;j=e;break}j=Xh(c,a)|0}while(0);return j|0}function bi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=a;f=c;c=d;while(1){g=Wk(e|0,f|0,10,0)|0;c=c+-1|0;b[c>>0]=g&255|48;g=e;e=Nn(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=I}h=c;i=e}else{h=d;i=a}if(!i)j=h;else{a=h;h=i;while(1){i=a+-1|0;b[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{a=i;h=(h>>>0)/10|0}}}return j|0}function ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=(e|0)/20|0;if(!e)return;if(g>>>0>214748364)Eo(a);h=Yk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g*20|0);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Ff(h|0,g|0,b|0)|0;f[c>>2]=h+(((b>>>0)/20|0)*20|0);return}function di(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Ul(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;if((i|0)<0){k=0;return k|0}f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function ei(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;sj(g,d&1);d=Mg(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}Mf(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;cn(g,13392);f[g>>2]=4748;va(g|0,1128,101)}g=(f[e>>2]|0)-d|0;h=g>>2;i=Yk(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;if((g|0)>0)Ff(k|0,d|0,g|0)|0;f[a>>2]=k;f[e>>2]=j;f[c>>2]=i+(b<<2);if(!d)return;lp(d);return}function gi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function hi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=qf(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Zh(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function ii(a){a=a|0;var b=0,c=0,d=0,e=0;qp(a+168|0);b=f[a+156>>2]|0;if(b|0){c=a+160|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=a+136|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=d+-4|0;c=f[b>>2]|0;if(c|0){e=d+(c<<4)|0;do{e=e+-16|0;qp(e)}while((e|0)!=(d|0))}jp(b)}qp(a+120|0);qp(a+80|0);qp(a+64|0);qp(a+24|0);return}function ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[13994+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=87;j=14082;e=5;break}else d=g}if((e|0)==2)if(!d)k=14082;else{i=d;j=14082;e=5}if((e|0)==5)while(1){e=0;d=j;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);i=i+-1|0;if(!i){k=d;break}else{j=d;e=5}}return Lo(k,f[c+20>>2]|0)|0}function li(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Xl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+li(a*18446744073709551616.0,b);h=(f[b>>2]|0)+-64|0;i=g}else{h=0;i=a}f[b>>2]=h;j=i;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Ul(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function oi(a){a=a|0;var b=0,c=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)lp(b);b=f[a+84>>2]|0;if(b|0)lp(b);b=f[a+72>>2]|0;if(b|0)lp(b);b=f[a+60>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)Eo(a);h=Yk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Ff(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Oa[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=Yk(20)|0;gm(c);d=c;break}case 1:{c=Yk(24)|0;Im(c);d=c;break}case 2:{c=Yk(36)|0;rl(c);d=c;break}case 3:{c=Yk(28)|0;zm(c);d=c;break}default:d=0}f[a>>2]=d;return}function ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Oa[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Eo(a);e=Yk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;e=b;do{pi(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;e=e+-1|0}while((e|0)!=0);return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{uf(a+40|0,b);d=1;return d|0}return 0}function wi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function xi(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function yi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Qi(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function zi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Ai(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){lp(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c);lp(a);return}function Bi(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Ci(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)lp(f[c>>2]|0);Kh(a+12|0,f[a+16>>2]|0);Qh(a,f[a+4>>2]|0);lp(a);return}function Di(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b)return;lp(b);return}function Ei(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){lp(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);lp(c);lp(a);return}function Fi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){lp(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}lp(g)}lp(a);return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;cc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{ok(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Hi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)lp(b);b=f[a+20>>2]|0;if(!b)return;lp(b);return}function Ii(a){a=a|0;var b=0,c=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);lp(c);return}function Ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+84>>2]|0;if(!b){nf(a);lp(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);nf(a);lp(a);return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){d=0;return d|0}d=qc(a,b,c)|0;return d|0}function Li(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Wl(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Wl((zc(i,b,Wl(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Mi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=c+16|0;g=f[a>>2]|0;h=c+36|0;i=c+24|0;do if(g){if((g|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[a>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Ni(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)lp(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);lp(c);return}function Oi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=h[a+12>>0]|0;c=a+8|0;d=f[c>>2]|0;if(d>>>0<4096?(e=a+4|0,g=f[e>>2]|0,(g|0)>0):0){i=f[a>>2]|0;a=g+-1|0;f[e>>2]=a;e=h[i+a>>0]|0|d<<8;f[c>>2]=e;j=e}else j=d;d=j&255;e=0-b&255;b=X(j>>>8,e)|0;a=d>>>0>>0;f[c>>2]=a?b+d|0:j-e-b|0;return a|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(b>>>0<=g>>>0){if(b>>>0>>0?(d=h+b|0,(e|0)!=(d|0)):0)f[c>>2]=d}else Rg(a,b-g|0);g=a+24|0;a=g;b=Ul(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Ri(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;qe(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ek(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}lp(f[c>>2]|0);u=e;return d|0}function Si(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);lp(b)}b=f[a+84>>2]|0;if(!b){nf(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);nf(a);return}function Ti(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;re(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ek(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}lp(f[c>>2]|0);u=e;return d|0}function Vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function Wi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Na[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function Xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(Lh(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Oa[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function Yi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Dh(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{qn(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;qn(a,g,h)}u=f;return}function Zi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function _i(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Hn(a,f[b+8>>2]|0,g)|0)wh(0,b,c,d,e);else{h=f[a+8>>2]|0;Wa[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function $i(a,b){a=a|0;b=b|0;var c=0;c=Yk(40)|0;f[c>>2]=-1;ql(c+8|0);Sa[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;lp(c)}lp(b);return 1}function aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function bj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+4>>2]|0;if(!b){lp(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function dj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function ej(a){a=a|0;var b=0,c=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function fj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2292;qp(a+108|0);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function gj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ih(a);lp(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Ih(a);lp(a);return}function hj(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Th(a,d,0);return}function ij(a){a=a|0;var b=0,c=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)lp(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function jj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1928;qp(a+108|0);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function kj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function lj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;e=b;g=d+(~((d+-4-e|0)>>>2)<<2)|0;if((d|0)==(b|0))h=b;else{f[c>>2]=g;h=g}f[a+16>>2]=0;f[a+12>>2]=h;if(!b)return;if((h|0)!=(b|0))f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);lp(b);return}function mj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)jp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ih(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Ih(a);return}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Hn(a,f[b+8>>2]|0,0)|0)Mi(0,b,c,d);else{e=f[a+8>>2]|0;Ua[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=X(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(rp(d)|0)==0;h=Ag(a,e,d)|0;if(c)i=h;else{qp(d);i=h}}else i=Ag(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function pj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function qj(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=a;a=c;do{d=d+1|0;a=a+1|0;c=b[d>>0]|0;e=b[a>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function rj(a){a=a|0;var b=0,c=0;f[a>>2]=2292;qp(a+108|0);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function sj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;hj(d);Xg(a,d,b);Nm(d);u=c;return}function tj(a){a=a|0;var b=0,c=0;f[a>>2]=1928;qp(a+108|0);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function uj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){d=1;return d|0}d=Na[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return d|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((lm(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function wj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=kg(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function yj(a,b){a=a|0;b=b|0;var c=0;Fk(a);f[a>>2]=1416;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function zj(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Aj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=h[13976+(g&15)>>0]|0|e;g=Xl(g|0,a|0,4)|0;a=I;if((g|0)==0&(a|0)==0){f=d;break}else c=d}}return f|0}function Bj(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Cj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Ej(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Fj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)Eo(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Gj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,Ba(54,g|0)|0):0)b[a+75>>0]=-1;g=pf(a,c,d)|0;u=e;return g|0}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){fc(a,b,c);return}else{mc(a,0,0);return}}function Ij(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Je(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Jj(a,b){a=a|0;b=b|0;var c=0;if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Kj(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Mj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(zl(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Nj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;g=d;while(1){d=g+(c*10|0)|0;e=e+1|0;f[a>>2]=e;g=(b[e>>0]|0)+-48|0;if(g>>>0>=10){h=d;break}else c=d}}else h=0;return h|0}function Oj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Pj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Qj(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;gh(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}lp(f[e>>2]|0);u=a;return c|0}function Rj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(zl(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Tj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=f&7|48;f=Xl(f|0,a|0,3)|0;a=I;if((f|0)==0&(a|0)==0){e=d;break}else c=d}}return e|0}function Uj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Hn(a,f[b+8>>2]|0,g)|0)wh(0,b,c,d,e);return}function Vj(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Ih(a);lp(a);return}Ra[f[(f[c>>2]|0)+4>>2]&127](c);Ih(a);lp(a);return}function Wj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Hf(a+20|0,g,d);u=c;return}function Xj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){lp(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function Yj(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function Zj(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function _j(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Ul(f[a+32>>2]|0,0,7,0)|0;d=Xl(c|0,I|0,3)|0;c=a+16|0;a=c;e=Ul(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function $j(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Hf(a+20|0,g,d);u=c;return}function ak(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;Ne(c,d,d+12|0);return 1}function ck(){var a=0,b=0;a=Yk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function dk(a){a=a|0;f[a>>2]=3172;bh(a+8|0);lp(a);return}function ek(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;th(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Rh(b)|0;d=Yk(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=ho(d)|0;Ff(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function hk(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Ih(a);return}Ra[f[(f[c>>2]|0)+4>>2]&127](c);Ih(a);return}function ik(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function jk(a){a=a|0;f[a>>2]=3172;bh(a+8|0);return}function kk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;tc(a,b,c,d,e);return}function lk(a){a=a|0;var b=0,c=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Hn(a,f[b+8>>2]|0,0)|0)Mi(0,b,c,d);return}function nk(a){a=a|0;var b=0;f[a>>2]=3440;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Ff(a,c,d)|0;return a|0}function pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b){lp(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b);lp(a);return}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Oa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function rk(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function tk(){var a=0,b=0;a=dl()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Wm(f[b+12>>2]|0);Wm(so()|0)}function uk(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function vk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);lp(b)}lp(a);return}function wk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);lp(b)}lp(a);return}function xk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function yk(a){a=a|0;var b=0,c=0;if(Ro(a)|0?(b=no(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)lp(b);return}function zk(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function Ak(a){a=a|0;var b=0,c=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);lp(b);return}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;Nb(a,b,c);return}function Ck(a){a=a|0;zk(a);zk(a+40|0);Ym(a+80|0);zk(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,5,6,c)|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return Yc(a,b,3,4,c)|0}function Fk(a){a=a|0;var b=0;f[a>>2]=1256;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return bd(a,b,1,2,c)|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;return Zc(a,b,3,4,c)|0}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;return $c(a,b,5,6,c)|0}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;Ff(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;return cd(a,b,1,2,c)|0}function Lk(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Mk(){var a=0,b=0;a=Yk(24)|0;f[a>>2]=1228;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Nk(a){a=a|0;var c=0;Oj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Ok(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;lp(b)}lp(a);return}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Qk(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b){lp(a);return}lp(b);lp(a);return}function Rk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Sk(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=Ka;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function Uk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;lp(b)}lp(a);return}function Vk(a){a=a|0;var b=0;On(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;zc(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function Xk(a){a=a|0;var b=0;$l(a);f[a>>2]=3580;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Yk(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0){c=a;break}a=po()|0;if(!a){c=0;break}Qa[a&3]()}return c|0}function Zk(a){a=a|0;f[a>>2]=2548;qp(a+88|0);lp(a);return}function _k(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b)return;lp(b);return}function $k(a){a=a|0;f[a>>2]=2632;qp(a+88|0);lp(a);return}function al(a){a=a|0;f[a>>2]=2716;qp(a+88|0);lp(a);return}function bl(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=op(f[a+60>>2]|0)|0;f[c>>2]=d;d=lm(Ca(6,c|0)|0)|0;u=b;return d|0}function cl(a){a=a|0;f[a>>2]=2548;qp(a+88|0);return}function dl(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(17024,3)|0)){b=Fa(f[4257]|0)|0;u=a;return b|0}else Bl(16164,a);return 0}function el(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)lp(b);b=f[a+8>>2]|0;if(!b)return;lp(b);return}function fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=fk(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Dk(b,c,d)|0}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ek(b,c,d)|0}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $d(b,c,d)|0}function jl(a){a=a|0;f[a>>2]=2800;qp(a+88|0);lp(a);return}function kl(a){a=a|0;var b=0;b=u;u=u+16|0;Xb(a);if(!(Ia(f[4257]|0,0)|0)){u=b;return}else Bl(16263,b)}function ll(a){a=a|0;f[a>>2]=2632;qp(a+88|0);return}function ml(a){a=a|0;f[a>>2]=2716;qp(a+88|0);return}function nl(a){a=a|0;var b=0;Fk(a);f[a>>2]=1312;b=a+36|0;a=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gk(b,c,d)|0}function pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hk(b,c,d)|0}function ql(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function rl(a){a=a|0;Im(a);f[a>>2]=2884;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kk(b,c,d)|0}function tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ik(b,c,d)|0}function ul(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+12>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=fh(a,b,c,g)|0;u=e;return d|0}function xl(a){a=a|0;f[a>>2]=2800;qp(a+88|0);return}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function zl(a,b,c){a=a|0;b=b|0;c=c|0;return Tk(a,b,c)|0}function Al(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 Pa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[906]|0;_f(b,a,d)|0;ai(10,b)|0;Da()}function Cl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Na[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return ik(b,c)|0}function El(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Na[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Fl(a){a=a|0;Id(a);lp(a);return}function Gl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Na[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Hl(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bf(b,c,d)|0}function Jl(){var a=0;a=u;u=u+16|0;if(!(Ga(17028,104)|0)){u=a;return}else Bl(16213,a)}function Kl(a){a=a|0;Jd(a);lp(a);return}function Ll(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;Wa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Ml(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=_f(f[999]|0,a,d)|0;u=c;return b|0}function Nl(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ma[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mh(b,c,d)|0}function Pl(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Dh(a|0,(Mo(c)|0)&255|0,b|0)|0;return a|0}function Ql(a){a=a|0;return 4}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)lp(f[c>>2]|0);lp(a);return}function Tl(){}function Ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Vl(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=bg(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;return Ri(a,b,c)|0}function Zl(a){a=a|0;qd(a);lp(a);return}function _l(a){a=a|0;return 5}function $l(a){a=a|0;var b=0;f[a>>2]=3608;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function am(a){a=a|0;return 6}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bk(b,c,d)|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function dm(a,b,c){a=a|0;b=b|0;c=c|0;return Dl(a,b,c)|0}function em(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ma[f[(f[b>>2]|0)+28>>2]&127](b)|0}function fm(a,b,c){a=a|0;b=b|0;c=c|0;return We(b,c)|0}function gm(a){a=a|0;f[a>>2]=1368;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function hm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ma[f[(f[b>>2]|0)+24>>2]&127](b)|0}function im(a,b){a=a|0;b=b|0;Yh(a,b);return}function jm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0}function km(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function lm(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=_o()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;return Ui(a,b,c)|0}function nm(a,b,c){a=a|0;b=b|0;c=c|0;return Wg(a,b,c)|0}function om(a,b,c){a=a|0;b=b|0;c=c|0;return kh(a,b,c)|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;return zg(a,b,c)|0}function qm(a,b,c){a=a|0;b=b|0;c=c|0;return +(+eh(a,b,c))}function rm(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function sm(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function tm(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function um(a,b,c){a=a|0;b=b|0;c=c|0;return qi(a,b,c)|0}function vm(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function wm(a,b,c){a=a|0;b=b|0;c=c|0;return Pm(b,c)|0}function xm(a,b,c){a=a|0;b=b|0;c=c|0;return lh(a,b,c)|0}function ym(a,b,c){a=a|0;b=b|0;c=c|0;return hh(a,b,c)|0}function zm(a){a=a|0;Im(a);f[a>>2]=2376;f[a+24>>2]=-1;return}function Am(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;return Nf(a,b,c)|0}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;return ig(b,c)|0}function Dm(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Em(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function Fm(){var a=0;a=Yk(40)|0;f[a>>2]=-1;ql(a+8|0);return a|0}function Gm(){var a=0;a=Yk(8)|0;f[a>>2]=1200;f[a+4>>2]=-1;return a|0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Qg(a,b,c)|0}function Im(a){a=a|0;gm(a);f[a>>2]=1476;f[a+20>>2]=0;return}function Jm(a,b){a=a|0;b=b|0;im(a,b);return}function Km(a){a=a|0;var b=0;if(!a)b=0;else b=(cg(a,1072,1160,0)|0)!=0;return b&1|0}function Lm(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Mm(a,b){a=a|0;b=b|0;return Qj(a,b)|0}function Nm(a){a=a|0;if((b[a+11>>0]|0)<0)lp(f[a>>2]|0);return}function Om(a){a=a|0;if(!a)return;Ra[f[(f[a>>2]|0)+4>>2]&127](a);return}function Pm(a,b){a=a|0;b=b|0;return aj(a,b)|0}function Qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ua[a&7](b|0,c|0,d|0,e|0)}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ok(a|0,b|0,c|0)|0;return a|0}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;return dn(b,c)|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Ff(a|0,b|0,c|0)|0;return a|0}function Um(a,b){a=a|0;b=b|0;return -1}function Vm(a){a=a|0;return 3}function Wm(a){a=a|0;var b=0;b=u;u=u+16|0;Qa[a&3]();Bl(16316,b)}function Xm(a,b){a=a|0;b=b|0;return Vn(a,b)|0}function Ym(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function Zm(a){a=a|0;rg(a);lp(a);return}function _m(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function $m(a){a=a|0;ln(a);f[a>>2]=3012;f[a+48>>2]=0;return}function an(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&31](b|0,c|0,d|0)|0}function bn(a,b,c){a=a|0;b=b|0;c=c|0;ul(a,b,c);return}function cn(a,b){a=a|0;b=b|0;f[a>>2]=4728;gk(a+4|0,b);return}function dn(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function en(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=ch(a,b,0)|0;return c|0}function fn(a){a=a|0;if(!a)return;qp(a+24|0);lp(a);return}function gn(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function hn(){var a=0;a=Yk(64)|0;Oj(a);return a|0}function jn(a,b){a=a|0;b=b|0;return $(pn(a,b))}function kn(a){a=a|0;return f[a+8>>2]|0}function ln(a){a=a|0;nk(a);f[a>>2]=2952;f[a+44>>2]=0;return}function mn(a){a=a|0;if(!a)return;jh(a);lp(a);return}function nn(a,b){a=a|0;b=b|0;return bo(a,b)|0}function on(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function pn(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function qn(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Ag(b,c,a)|0;return}function rn(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function tn(){var a=0;a=Yk(96)|0;Nk(a);return a|0}function un(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function vn(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function wn(a){a=a|0;var b=0;b=(hp()|0)+188|0;return ki(a,f[b>>2]|0)|0}function xn(){var a=0;a=Yk(16)|0;_m(a);return a|0}function yn(){var a=0;a=Yk(40)|0;zk(a);return a|0}function zn(a,b){a=a|0;b=b|0;return 1}function An(a,b){a=a|0;b=b|0;return Kn(a,b)|0}function Bn(a,b){a=a|0;b=b|0;return Ln(a,b)|0}function Cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Dn(a,b){a=a|0;b=b|0;return $n(a,b)|0}function En(){var a=0;a=Yk(12)|0;Tn(a);return a|0}function Fn(a){a=a|0;Ih(a);lp(a);return}function Gn(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function In(a,b){a=a|0;b=b|0;var c=0;c=Yn(a|0)|0;return ((b|0)==0?a:c)|0}function Jn(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Kn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Ln(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Mn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zc(a,b,c,d,0)|0}function On(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Pn(){var a=0;a=Yk(84)|0;$l(a);return a|0}function Qn(a){a=a|0;Ig(a);lp(a);return}function Rn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Sn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Tn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Un(a){a=a|0;f[a>>2]=4728;yk(a+4|0);return}function Vn(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&127](b|0,c|0)|0}function Xn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Yn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Zn(a){a=a|0;ln(a);f[a>>2]=3356;return}function _n(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function $n(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function ao(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function bo(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function co(a){a=a|0;return $(n[a+20>>2])}function eo(a){a=a|0;return f[a+4>>2]|0}function fo(a){a=a|0;if(!a)return;lp(a);return}function go(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function ho(a){a=a|0;return a+12|0}function io(a){a=a|0;return f[a+88>>2]|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function ko(){var a=0;a=Yk(40)|0;Vk(a);return a|0}function lo(){var a=0;a=Yk(108)|0;Xk(a);return a|0}function mo(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function no(a){a=a|0;return a+-12|0}function oo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function po(){var a=0;a=f[4258]|0;f[4258]=a+0;return a|0}function qo(a){a=a|0;return Po(a+4|0)|0}function ro(a){a=a|0;return f[a+56>>2]|0}function so(){var a=0;a=f[1158]|0;f[1158]=a+0;return a|0}function to(a){a=a|0;nf(a);lp(a);return}function uo(a){a=a|0;qp(a);lp(a);return}function vo(a){a=a|0;return b[a+24>>0]|0}function wo(a,b){a=a|0;b=b|0;return 0}function xo(a){a=a|0;return f[a+40>>2]|0}function yo(a){a=a|0;return f[a+48>>2]|0}function zo(a,b){a=a|0;b=b|0;return Ma[a&127](b|0)|0}function Ao(a){a=a|0;return f[a+60>>2]|0}function Bo(a){a=a|0;return f[a+28>>2]|0}function Co(a){a=a|0;sa(a|0)|0;tk()}function Do(a){a=a|0;Un(a);lp(a);return}function Eo(a){a=a|0;Da()}function Fo(a,b){a=a|0;b=b|0;u=a;v=b}function Go(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ho(a){a=a|0;return (f[a>>2]|0)==0|0}function Io(a){a=a|0;return f[a+80>>2]|0}function Jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Ko(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function Lo(a,b){a=a|0;b=b|0;return Vl(a,b)|0}function Mo(a){a=a|0;return a&255|0}function No(a){a=a|0;f[a>>2]=0;return}function Oo(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Po(a){a=a|0;return f[a>>2]|0}function Qo(a){a=a|0;return 2}function Ro(a){a=a|0;return 1}function So(a,b){a=+a;b=b|0;return +(+li(a,b))}function To(){return 3}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Vo(){return -4}function Wo(){return 4}function Xo(){return -3}function Yo(){return 1}function Zo(){return 2}function _o(){return (hp()|0)+64|0}function $o(){return -5}function ap(a,b){a=a|0;b=b|0;aa(1);return 0}function bp(a){a=a|0;Qa[a&3]()}function cp(){return -2}function dp(){ua()}function ep(){return -1}function fp(a,b){a=a|0;b=b|0;aa(6)}function gp(){return 0}function hp(){return vp()|0}function ip(a){a=a|0;return Yk(a)|0}function jp(a){a=a|0;lp(a);return}function kp(a){a=a|0;u=a}function lp(a){a=a|0;Xb(a);return}function mp(a){a=a|0;I=a}function np(){return 16960}function op(a){a=a|0;return a|0}function pp(a){a=a|0;aa(0);return 0}function qp(a){a=a|0;return}function rp(a){a=a|0;return 0}function sp(){return I|0}function tp(){return u|0}function up(a){a=a|0;aa(5)}function vp(){return 3752}function wp(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Pa=[op,Po,Qo,qn,Ao,Qo,Vb,zd,nn,co,qp,qp,Qo,qp,Qo,Qo,Ej,Po,Ej,Pl,Ej,Vm,Cj,Qo,_l,Cj,Qo,am,Ci,Qo,Ao,Qo,Ej,Po,Ej,Pl,Ej,Vm,Cj,Qo,_l,Cj,Qo,am,Ci,Qo,Ao,Po,qp,co,Qo,qp,Qo,Po,qp,co,Qo,qp,Qo,Vm,am,yi,Qo,Ao,am,yi,Qo,Ao,am,yi,Qo,Ao,am,yi,Qo,Ao,Je,Qo,Qo,Ml,yd,Yi,Qo,qp,ff,em,jm,hm,gb,Qo,co,jn,We,ee,_e,eb,Qo,co,jn,fb,Qo,co,jn,Cb,$g,qp,Qo,fi,mi,_k,po,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op];var Qa=[$o,Dj,Kf,gc,Jj,fn,vo,yn,Tb,ub,Am,yn,Fg,Nd,Bg,vj,ui,si,sj,$c,Um,vo,Pf,tc,vo,Xj,od,vo,Xj,Gd,vo,Qj,Ne,pk,tc,vo,Xj,od,vo,Xj,Gd,vo,Qj,Ne,pk,gg,Um,vo,wg,Um,vo,Ig,vo,Nj,nf,pk,vo,Nj,nf,pk,vo,Nj,Ze,pk,vo,Nj,Ze,pk,sm,we,vo,vo,Fl,Dl,Bl,vm,Hg,Kg,Yb,Ye,xe,ve,vm,Hg,Kg,Yb,vm,Hg,Kg,Yb,of,vk,yg,of,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o];var Ra=[No,cm,Tk,Zi,ul,Gg,vl,ze,xc,Lj,Ng,rh,Rj,Wg,Mi,sf,tj,Gj,Jk,Ph,No,No,No,No,No,No,No,No,No,No,No,No];var Sa=[Bn,Lc,bc,Wb,yb,Zc,dd,lc,cc,Xb,xb,Xc,cd,kc,Ff,Bf,oc,qc,sc,uc,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn,Bn];var Ta=[wp,dp,eh,Il];var Ua=[up,pp,jp,zk,nk,ij,ap,Lg,Pn,Kh,En,ug,Zm,Ck,yk,jk,ap,Uj,Uj,Uj,oi,ji,Oi,Fi,hj,_i,yj,qj,pp,jp,Uj,Uj,ni,hi,Ki,Bi,ej,Wi,xj,kj,pp,jp,yk,pp,jp,jp,tl,jl,pp,jp,zl,rl,pp,jp,Al,sl,pp,jp,Ql,yl,pp,jp,lj,fj,ai,ap,Ah,xh,Cd,Zl,Ei,xi,Zk,Lk,Wj,hk,ck,al,Qk,_j,Ii,Ai,xd,El,Ld,Jl,Th,pp,jp,ap,Th,Th,Ti,Li,tf,so,pp,to,pp,pp,to,Tn,Co,Co,fl,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up];var Va=[gp,zi,Ve,Hi,ic,gp,gp,gp];var Wa=[To,ti,Pb,Rb,Rb,Pb,Rb,Pb,Cf,rf,To,To,To,To,To,To];var Xa=[Io,th,bd,kk,mj,Io,Io,Io];var Ya=[no,Ih,Lf,no];var Za=[Wn,Vj,$i,Wn];return{___cxa_can_catch:ok,___cxa_is_pointer_type:Km,___divdi3:Ni,___muldi3:bl,___udivdi3:Mn,___uremdi3:Wk,_bitshift64Lshr:Xl,_bitshift64Shl:Rl,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Gm,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:rm,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Om,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:co,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Mk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:rm,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Om,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Lm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:co,_emscripten_bind_AttributeQuantizationTransform_range_0:bo,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Fm,_emscripten_bind_AttributeTransformData___destroy___0:Ok,_emscripten_bind_AttributeTransformData_transform_type_0:Oo,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:xn,_emscripten_bind_DecoderBuffer_Init_2:bn,_emscripten_bind_DecoderBuffer___destroy___0:eo,_emscripten_bind_Decoder_DecodeBufferToMesh_2:mm,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Yl,_emscripten_bind_Decoder_Decoder_0:jo,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:wm,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:el,_emscripten_bind_Decoder_GetAttributeFloat_3:Nl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Hl,_emscripten_bind_Decoder_GetAttributeIdByName_2:Cm,_emscripten_bind_Decoder_GetAttributeId_2:dm,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:il,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:nl,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:ml,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:nl,_emscripten_bind_Decoder_GetAttributeMetadata_2:um,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:dl,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:cl,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:hl,_emscripten_bind_Decoder_GetAttribute_2:Sm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Mm,_emscripten_bind_Decoder_GetFaceFromMesh_3:bm,_emscripten_bind_Decoder_GetMetadata_1:mn,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:fm,_emscripten_bind_Decoder_SkipAttributeTransform_1:Jm,_emscripten_bind_Decoder___destroy___0:Di,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Dn,_emscripten_bind_DracoFloat32Array_GetValue_1:hn,_emscripten_bind_DracoFloat32Array___destroy___0:tk,_emscripten_bind_DracoFloat32Array_size_0:Qn,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:Dn,_emscripten_bind_DracoInt16Array_GetValue_1:An,_emscripten_bind_DracoInt16Array___destroy___0:uk,_emscripten_bind_DracoInt16Array_size_0:Rn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Dn,_emscripten_bind_DracoInt32Array_GetValue_1:zn,_emscripten_bind_DracoInt32Array___destroy___0:tk,_emscripten_bind_DracoInt32Array_size_0:Qn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Dn,_emscripten_bind_DracoInt8Array_GetValue_1:Cn,_emscripten_bind_DracoInt8Array___destroy___0:Uk,_emscripten_bind_DracoInt8Array_size_0:$n,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:Dn,_emscripten_bind_DracoUInt16Array_GetValue_1:An,_emscripten_bind_DracoUInt16Array___destroy___0:uk,_emscripten_bind_DracoUInt16Array_size_0:Rn,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:Dn,_emscripten_bind_DracoUInt32Array_GetValue_1:zn,_emscripten_bind_DracoUInt32Array___destroy___0:tk,_emscripten_bind_DracoUInt32Array_size_0:Qn,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:Dn,_emscripten_bind_DracoUInt8Array_GetValue_1:Cn,_emscripten_bind_DracoUInt8Array___destroy___0:Uk,_emscripten_bind_DracoUInt8Array_size_0:$n,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:gn,_emscripten_bind_GeometryAttribute___destroy___0:eo,_emscripten_bind_Mesh_Mesh_0:ko,_emscripten_bind_Mesh___destroy___0:Om,_emscripten_bind_Mesh_num_attributes_0:In,_emscripten_bind_Mesh_num_faces_0:vn,_emscripten_bind_Mesh_num_points_0:Ho,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:qm,_emscripten_bind_MetadataQuerier_GetEntryName_2:Bm,_emscripten_bind_MetadataQuerier_GetIntEntry_2:ym,_emscripten_bind_MetadataQuerier_GetStringEntry_2:pm,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:om,_emscripten_bind_MetadataQuerier_HasEntry_2:Hm,_emscripten_bind_MetadataQuerier_HasIntEntry_2:xm,_emscripten_bind_MetadataQuerier_HasStringEntry_2:nm,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:wn,_emscripten_bind_MetadataQuerier_NumEntries_1:Xm,_emscripten_bind_MetadataQuerier___destroy___0:Gi,_emscripten_bind_Metadata_Metadata_0:bk,_emscripten_bind_Metadata___destroy___0:ln,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:ho,_emscripten_bind_PointAttribute_PointAttribute_0:sn,_emscripten_bind_PointAttribute___destroy___0:Wh,_emscripten_bind_PointAttribute_attribute_type_0:qo,_emscripten_bind_PointAttribute_byte_offset_0:xo,_emscripten_bind_PointAttribute_byte_stride_0:wo,_emscripten_bind_PointAttribute_data_type_0:Ao,_emscripten_bind_PointAttribute_normalized_0:lo,_emscripten_bind_PointAttribute_num_components_0:uo,_emscripten_bind_PointAttribute_size_0:Ho,_emscripten_bind_PointAttribute_unique_id_0:zo,_emscripten_bind_PointCloud_PointCloud_0:On,_emscripten_bind_PointCloud___destroy___0:Om,_emscripten_bind_PointCloud_num_attributes_0:In,_emscripten_bind_PointCloud_num_points_0:Ho,_emscripten_bind_Status___destroy___0:Sl,_emscripten_bind_Status_code_0:Oo,_emscripten_bind_Status_error_msg_0:Gl,_emscripten_bind_Status_ok_0:Go,_emscripten_bind_VoidPtr___destroy___0:eo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:ep,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:hp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Zo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Yo,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ep,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:hp,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Yo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Zo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Vo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ep,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Yo,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:hp,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:So,_emscripten_enum_draco_StatusCode_ERROR:ep,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Xo,_emscripten_enum_draco_StatusCode_IO_ERROR:cp,_emscripten_enum_draco_StatusCode_OK:hp,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:_o,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Uo,_emscripten_replace_memory:Oa,_free:_b,_i64Add:Ul,_i64Subtract:Wl,_llvm_bswap_i32:Xn,_malloc:_a,_memcpy:Jf,_memmove:mk,_memset:Gh,_sbrk:Sj,dynCall_ii:yo,dynCall_iii:Vn,dynCall_iiii:an,dynCall_iiiiiii:wl,dynCall_v:bp,dynCall_vi:Jo,dynCall_vii:io,dynCall_viii:rn,dynCall_viiii:Qm,dynCall_viiiii:km,dynCall_viiiiii:Kl,establishStackSpace:Eo,getTempRet0:rp,runPostSets:Tl,setTempRet0:mp,setThrew:fo,stackAlloc:tn,stackRestore:kp,stackSave:tp}}) +var Ma=[pp,Qo,Ro,rn,Bo,Ro,Rb,rd,on,eo,rp,rp,Ro,rp,Ro,Ro,Ej,Qo,Ej,Ql,Ej,Vm,Cj,Ro,_l,Cj,Ro,am,Bi,Ro,Bo,Ro,Ej,Qo,Ej,Ql,Ej,Vm,Cj,Ro,_l,Cj,Ro,am,Bi,Ro,Bo,Qo,rp,eo,Ro,rp,Ro,Qo,rp,eo,Ro,rp,Ro,Vm,am,xi,Ro,Bo,am,xi,Ro,Bo,am,xi,Ro,Bo,am,xi,Ro,Bo,Ge,Ro,Ro,Nl,pd,Wi,Ro,rp,af,em,jm,hm,cb,Ro,eo,kn,Se,_d,Ve,ab,Ro,eo,kn,bb,Ro,eo,kn,yb,Yg,rp,Ro,di,mi,bl,qo,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp];var Na=[ap,Dj,Gf,bc,Jj,gn,wo,zn,Qb,qb,Am,zn,Cg,Ld,yg,xj,ti,ri,uj,Fh,Um,wo,Jf,dd,wo,Yj,fd,wo,Yj,Ad,wo,Rj,Ke,rk,dd,wo,Yj,fd,wo,Yj,Ad,wo,Rj,Ke,rk,dg,Um,wo,tg,Um,wo,Fg,wo,Pj,hf,rk,wo,Pj,hf,rk,wo,Pj,Ue,rk,wo,Pj,Ue,rk,sm,Ee,wo,wo,Gl,El,Cl,vm,Eg,Hg,Vb,ye,fe,ee,vm,Eg,Hg,Vb,vm,Eg,Hg,Vb,jf,xk,wg,jf,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap,ap];var Oa=[Oo,cm,Tk,Xi,yl,Dg,zl,ve,qc,Mj,Kg,oh,Sj,Tg,Ki,pf,vj,Gj,Jk,Nh,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo,Oo];var Pa=[Cn,Ec,Zb,Tb,ub,Sc,Xc,hc,_b,Ub,tb,Qc,Wc,gc,Bf,xf,lc,nc,oc,pc,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn];var Qa=[wp,dp,_g,Jl];var Ra=[up,qp,jp,Ak,pk,kj,bj,Ig,Qn,Ih,Fn,rg,Zm,hk,Vj,lk,Xj,Xj,Xj,Xj,oi,ji,Ni,Ei,ij,Zi,tj,jj,qp,jp,Xj,Xj,ni,gi,Ii,Ai,ej,Vi,rj,fj,qp,jp,Vj,qp,jp,jp,cl,Zk,qp,jp,ll,$k,qp,jp,ml,al,qp,jp,xl,jl,qp,jp,mj,gj,_h,Sh,xh,uh,qd,Zl,Di,wi,_k,Lk,Wj,jk,dk,el,Qk,$j,Hi,zi,Id,Fl,Jd,Kl,Sh,qp,jp,Sh,Sh,Sh,Si,Ji,nf,to,qp,uo,qp,qp,uo,Un,Do,Do,kl,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up,up];var Sa=[fp,yi,Re,Gi,cc,fp,fp,fp];var Ta=[Uo,si,Mb,Ob,Ob,Mb,Ob,Mb,yf,mf,Uo,Uo,Uo,Uo,Uo,Uo];var Ua=[Jo,qh,Vc,mk,nj,Jo,Jo,Jo];var Va=[oo,Bh,Ef,oo];var Wa=[Xn,Uj,_i,Xn];return{___cxa_can_catch:qk,___cxa_is_pointer_type:Km,___divdi3:Li,___muldi3:fl,___udivdi3:Nn,___uremdi3:Wk,_bitshift64Lshr:Xl,_bitshift64Shl:Rl,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Gm,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:rm,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Om,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:eo,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Mk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:rm,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Om,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Lm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:eo,_emscripten_bind_AttributeQuantizationTransform_range_0:co,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Fm,_emscripten_bind_AttributeTransformData___destroy___0:Ok,_emscripten_bind_AttributeTransformData_transform_type_0:Po,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:yn,_emscripten_bind_DecoderBuffer_Init_2:bn,_emscripten_bind_DecoderBuffer___destroy___0:fn,_emscripten_bind_Decoder_DecodeBufferToMesh_2:mm,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Yl,_emscripten_bind_Decoder_Decoder_0:ko,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:wm,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:il,_emscripten_bind_Decoder_GetAttributeFloat_3:Ol,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Il,_emscripten_bind_Decoder_GetAttributeIdByName_2:Cm,_emscripten_bind_Decoder_GetAttributeId_2:dm,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:pl,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:tl,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:sl,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:tl,_emscripten_bind_Decoder_GetAttributeMetadata_2:um,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:hl,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:gl,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:ol,_emscripten_bind_Decoder_GetAttribute_2:Sm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Mm,_emscripten_bind_Decoder_GetFaceFromMesh_3:bm,_emscripten_bind_Decoder_GetMetadata_1:nn,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:fm,_emscripten_bind_Decoder_SkipAttributeTransform_1:Jm,_emscripten_bind_Decoder___destroy___0:Ci,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:En,_emscripten_bind_DracoFloat32Array_GetValue_1:jn,_emscripten_bind_DracoFloat32Array___destroy___0:vk,_emscripten_bind_DracoFloat32Array_size_0:Rn,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:En,_emscripten_bind_DracoInt16Array_GetValue_1:Bn,_emscripten_bind_DracoInt16Array___destroy___0:wk,_emscripten_bind_DracoInt16Array_size_0:Sn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:En,_emscripten_bind_DracoInt32Array_GetValue_1:An,_emscripten_bind_DracoInt32Array___destroy___0:vk,_emscripten_bind_DracoInt32Array_size_0:Rn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:En,_emscripten_bind_DracoInt8Array_GetValue_1:Dn,_emscripten_bind_DracoInt8Array___destroy___0:Uk,_emscripten_bind_DracoInt8Array_size_0:ao,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:En,_emscripten_bind_DracoUInt16Array_GetValue_1:Bn,_emscripten_bind_DracoUInt16Array___destroy___0:wk,_emscripten_bind_DracoUInt16Array_size_0:Sn,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:En,_emscripten_bind_DracoUInt32Array_GetValue_1:An,_emscripten_bind_DracoUInt32Array___destroy___0:vk,_emscripten_bind_DracoUInt32Array_size_0:Rn,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:En,_emscripten_bind_DracoUInt8Array_GetValue_1:Dn,_emscripten_bind_DracoUInt8Array___destroy___0:Uk,_emscripten_bind_DracoUInt8Array_size_0:ao,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:hn,_emscripten_bind_GeometryAttribute___destroy___0:fo,_emscripten_bind_Mesh_Mesh_0:lo,_emscripten_bind_Mesh___destroy___0:Om,_emscripten_bind_Mesh_num_attributes_0:Jn,_emscripten_bind_Mesh_num_faces_0:vn,_emscripten_bind_Mesh_num_points_0:Io,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:qm,_emscripten_bind_MetadataQuerier_GetEntryName_2:Bm,_emscripten_bind_MetadataQuerier_GetIntEntry_2:ym,_emscripten_bind_MetadataQuerier_GetStringEntry_2:pm,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:om,_emscripten_bind_MetadataQuerier_HasEntry_2:Hm,_emscripten_bind_MetadataQuerier_HasIntEntry_2:xm,_emscripten_bind_MetadataQuerier_HasStringEntry_2:nm,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:xn,_emscripten_bind_MetadataQuerier_NumEntries_1:Xm,_emscripten_bind_MetadataQuerier___destroy___0:Fi,_emscripten_bind_Metadata_Metadata_0:ck,_emscripten_bind_Metadata___destroy___0:mn,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:io,_emscripten_bind_PointAttribute_PointAttribute_0:tn,_emscripten_bind_PointAttribute___destroy___0:Uh,_emscripten_bind_PointAttribute_attribute_type_0:ro,_emscripten_bind_PointAttribute_byte_offset_0:yo,_emscripten_bind_PointAttribute_byte_stride_0:xo,_emscripten_bind_PointAttribute_data_type_0:Bo,_emscripten_bind_PointAttribute_normalized_0:mo,_emscripten_bind_PointAttribute_num_components_0:vo,_emscripten_bind_PointAttribute_size_0:Io,_emscripten_bind_PointAttribute_unique_id_0:Ao,_emscripten_bind_PointCloud_PointCloud_0:Pn,_emscripten_bind_PointCloud___destroy___0:Om,_emscripten_bind_PointCloud_num_attributes_0:Jn,_emscripten_bind_PointCloud_num_points_0:Io,_emscripten_bind_Status___destroy___0:Sl,_emscripten_bind_Status_code_0:Po,_emscripten_bind_Status_error_msg_0:Hl,_emscripten_bind_Status_ok_0:Ho,_emscripten_bind_VoidPtr___destroy___0:fo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:ep,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:gp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Zo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Yo,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ep,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:gp,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Yo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Zo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Wo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ep,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Yo,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:gp,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:To,_emscripten_enum_draco_StatusCode_ERROR:ep,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Xo,_emscripten_enum_draco_StatusCode_IO_ERROR:cp,_emscripten_enum_draco_StatusCode_OK:gp,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:$o,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Vo,_emscripten_get_global_libc:np,_emscripten_replace_memory:La,_free:Xb,_i64Add:Ul,_i64Subtract:Wl,_llvm_bswap_i32:Yn,_malloc:Xa,_memcpy:Ff,_memmove:ok,_memset:Dh,_sbrk:Kj,dynCall_ii:zo,dynCall_iii:Wn,dynCall_iiii:an,dynCall_iiiiiii:Al,dynCall_v:bp,dynCall_vi:Ko,dynCall_vii:jo,dynCall_viii:sn,dynCall_viiii:Qm,dynCall_viiiii:km,dynCall_viiiiii:Ll,establishStackSpace:Fo,getTempRet0:sp,runPostSets:Tl,setTempRet0:mp,setThrew:go,stackAlloc:un,stackRestore:kp,stackSave:tp}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=asm["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"];var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoInt16Array_GetValue_1"];var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=asm["_emscripten_bind_DracoInt16Array___destroy___0"];var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=asm["_emscripten_bind_DracoInt16Array_size_0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=asm["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"];var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt16Array_GetValue_1"];var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=asm["_emscripten_bind_DracoUInt16Array___destroy___0"];var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=asm["_emscripten_bind_DracoUInt16Array_size_0"];var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=asm["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"];var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt32Array_GetValue_1"];var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=asm["_emscripten_bind_DracoUInt32Array___destroy___0"];var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=asm["_emscripten_bind_DracoUInt32Array_size_0"];var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=asm["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"];var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt8Array_GetValue_1"];var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=asm["_emscripten_bind_DracoUInt8Array___destroy___0"];var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=asm["_emscripten_bind_DracoUInt8Array_size_0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=asm["_emscripten_bind_MetadataQuerier_GetEntryName_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasEntry_2"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=asm["_emscripten_bind_MetadataQuerier_NumEntries_1"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;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"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+20112;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,kBwAAAAdAAC4HAAATh0AACAAAAAAAAAAkBwAAHUdAAC4HAAAkh0AACAAAAAAAAAAkBwAALsdAAC4HAAA1x0AADgAAAAAAAAAkBwAAPkdAAC4HAAAHh4AADgAAAAAAAAAuBwAANYqAABQAAAAAAAAALgcAABOHgAAiAAAAAAAAAC4HAAApx4AAJgAAAAAAAAAuBwAAPseAACoAAAAAAAAALgcAAAvHwAAuAAAAAAAAACQHAAAWh8AALgcAAB+HwAA0AAAAAAAAACQHAAAHCAAALgcAAC6IAAA6AAAAAAAAAC4HAAAUiEAAIgAAAAAAAAAuBwAANshAADoAAAAAAAAALgcAAB1IgAA6AAAAAAAAAC4HAAAByMAAOgAAAAAAAAAuBwAAK0jAADoAAAAAAAAALgcAABIJAAA6AAAAAAAAAC4HAAA3iQAAFgBAAAAAAAAkBwAAIklAAC4HAAANCYAAHABAAAAAAAAuBwAANkmAACIAAAAAAAAALgcAABvJwAAcAEAAAAAAAC4HAAAFigAAHABAAAAAAAAuBwAALUoAABwAQAAAAAAALgcAABoKQAAcAEAAAAAAAC4HAAAECoAAHABAAAAAAAAuBwAAMQ4AABoAAAAAAAAALgcAAACKwAA8AEAAAAAAAC4HAAAcysAAJgAAAAAAAAAuBwAAN8rAAAQAgAAAAAAAJAcAACVLAAAuBwAAEstAAAoAgAAAAAAALgcAAD7LQAA8AEAAAAAAAC4HAAAnC4AACgCAAAAAAAAuBwAAE4vAAAoAgAAAAAAALgcAAD4LwAAKAIAAAAAAAC4HAAAtjAAACgCAAAAAAAAuBwAAGkxAAAoAgAAAAAAALgcAAAXMgAAmAIAAAAAAACQHAAA2jIAALgcAACdMwAAsAIAAAAAAAC4HAAAWjQAAPABAAAAAAAAuBwAAAg1AACwAgAAAAAAALgcAADHNQAAsAIAAAAAAAC4HAAAfjYAALACAAAAAAAAuBwAAEk3AACwAgAAAAAAALgcAAAJOAAAsAIAAAAAAAC4HAAA7zgAAGgAAAAAAAAAuBwAAGU5AAAIAAAAAAAAAJAcAAAyOQAAuBwAAL05AAAwAwAAAAAAALgcAABPOgAAyAMAAAAAAAC4HAAAUT0AALADAAAAAAAAkBwAAHA6AAC4HAAAuDoAAIADAAAAAAAAkBwAAII7AACQHAAAnDsAALgcAADXOwAAgAMAAAAAAAC4HAAAlDwAAIADAAAAAAAAkBwAAJ09AAC4HAAAyz0AALADAAAAAAAAuBwAADw+AAD4AwAAAAAAALgcAACCPgAAyAMAAAAAAAC4HAAAaD4AAIADAAAAAAAAkBwAAKI+AAC4HAAAlz8AAPgDAAAAAAAAuBwAALk/AAD4AwAAAAAAALgcAAAYQAAAMAQAAAAAAACQHAAAakAAAJAcAACZSgAAuBwAAPlKAABQBAAAAAAAALgcAACmSgAAYAQAAAAAAACQHAAAx0oAALgcAADUSgAAQAQAAAAAAAC4HAAA20sAADgEAAAAAAAAuBwAAOtLAAB4BAAAAAAAALgcAAAgTAAAUAQAAAAAAAC4HAAA/EsAAJgEAAAAAAAAAAAAAAgAAAABAAAAAgAAAAAAAAAQAAAAAwAAAAQAAAABAAAAAQAAAAEAAAAAAAAAKAAAAAUAAAAGAAAAAgAAAAIAAAACAAAA//////////8AAAAAOAAAAAcAAAAIAAAAAQAAAAMAAAABAAAABAAAAAUAAAACAAAABgAAAAcAAAADAAAAAQAAAAgAAAAAAAAAQAAAAAkAAAAKAAAAAQAAAAMAAAAEAAAABAAAAAUAAAACAAAABgAAAAcAAAAFAAAACQAAAAoAAAAAAAAAUAAAAAsAAAAMAAAAAwAAAAsAAAAMAAAABAAAAA0AAAAGAAAABwAAAA4AAAAPAAAABQAAAAAAAABYAAAADQAAAA4AAAAGAAAAEAAAAAgAAAARAAAAEgAAAAcAAAATAAAAFAAAAAkAAAAVAAAAFgAAAAoAAAABAAAAAAAAAGgAAAAPAAAAEAAAAAgAAAALAAAAFwAAAAQAAAANAAAABgAAAAsAAAAOAAAADwAAAAkAAAACAAAACgAAAP////8AAAAAiAAAABEAAAASAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAB4AAAAEQAAABMAAAAQAAAADAAAABEAAAANAAAAGAAAABkAAAAOAAAADwAAABoAAAABAAAAAAAAADgBAAARAAAAFAAAABIAAAAMAAAAEwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAIAAAAAAAAAKAEAABEAAAAVAAAAFAAAAAwAAAAVAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAwAAAAAAAAAIAQAAFgAAABcAAAAWAAAADAAAABcAAAAYAAAAGwAAABwAAAAOAAAADwAAAB0AAAAEAAAAAAAAAPgAAAAYAAAAGQAAABkAAAAMAAAAGgAAABsAAAAeAAAAHwAAAA4AAAAPAAAAIAAAAAUAAAAAAAAA2AAAABoAAAAbAAAAHAAAAAwAAAAdAAAAHgAAACEAAAAiAAAADgAAAA8AAAAjAAAABgAAAAAAAADAAAAAHAAAAB0AAAAkAAAAHwAAAAMAAAAAAAAA6AAAABEAAAAeAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAAYAQAAHwAAACAAAAAgAAAADAAAACEAAAANAAAAGAAAABkAAAAOAAAADwAAACUAAAAHAAAAAAAAAMABAAARAAAAIQAAACIAAAAMAAAAIwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAgAAAAAAAAAsAEAABEAAAAiAAAAJAAAAAwAAAAlAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAACQAAAAAAAACQAQAAIwAAACQAAAAmAAAADAAAACcAAAAoAAAAJgAAACcAAAAOAAAADwAAACgAAAAKAAAAAAAAAIABAAAlAAAAJgAAACkAAAAMAAAAKgAAACsAAAApAAAAKgAAAA4AAAAPAAAAKwAAAAsAAAAAAAAAYAEAACcAAAAoAAAALAAAAAwAAAAtAAAALgAAACwAAAAtAAAADgAAAA8AAAAuAAAADAAAAAAAAABIAQAAKQAAACoAAAAvAAAALwAAAAQAAAAAAAAAcAEAABEAAAArAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAACgAQAALAAAAC0AAAAwAAAADAAAADEAAAANAAAAGAAAABkAAAAOAAAADwAAADAAAAANAAAAAAAAANABAAAuAAAALwAAAAsAAAALAAAAFwAAAAQAAAAxAAAAMgAAADMAAAAOAAAADwAAAAkAAAAFAAAADAAAAAAAAADgAQAAMAAAADEAAAA0AAAANQAAADYAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAOAAAAAAAAAHgCAAAwAAAAMgAAADoAAAA1AAAAOwAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAAA8AAAAAAAAAaAIAADAAAAAzAAAAPAAAADUAAAA9AAAANwAAADIAAAAzAAAAOAAAADkAAAA0AAAAEAAAAAAAAABYAgAANAAAADUAAAA+AAAANQAAAD8AAAA3AAAAMgAAADMAAAA4AAAAOQAAADUAAAARAAAAAAAAAEgCAAA2AAAANwAAAEAAAAA1AAAAQQAAAEIAAAA2AAAANwAAADgAAAA5AAAAOAAAABIAAAAAAAAAOAIAADgAAAA5AAAAQwAAADUAAABEAAAARQAAADkAAAA6AAAAOAAAADkAAAA7AAAAEwAAAAAAAAAYAgAAOgAAADsAAABGAAAANQAAAEcAAABIAAAAPAAAAD0AAAA4AAAAOQAAAD4AAAAUAAAAAAAAAAACAAA8AAAAPQAAAD8AAABJAAAABgAAAAAAAAAAAwAAMAAAAD4AAABKAAAANQAAAEsAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAVAAAAAAAAAPACAAAwAAAAPwAAAEwAAAA1AAAATQAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAABYAAAAAAAAA4AIAAEAAAABBAAAATgAAADUAAABPAAAANwAAADIAAAAzAAAAOAAAADkAAABAAAAAFwAAAAAAAADQAgAAQgAAAEMAAABQAAAANQAAAFEAAABSAAAAQQAAAEIAAAA4AAAAOQAAAEMAAAAYAAAAAAAAAMACAABEAAAARQAAAFMAAAA1AAAAVAAAAFUAAABEAAAARQAAADgAAAA5AAAARgAAABkAAAAAAAAAoAIAAEYAAABHAAAAVgAAADUAAABXAAAAWAAAAEcAAABIAAAAOAAAADkAAABJAAAAGgAAAAAAAACIAgAASAAAAEkAAABKAAAAWQAAAAcAAAAAAAAAEAMAAEoAAABLAAAADQAAAAsAAAAXAAAABAAAAEsAAABaAAAAWwAAAA4AAAAPAAAACQAAAAIAAAAOAAAAAAAAACADAAABAAAATAAAAAEAAAACAAAAAAAAADADAABNAAAATgAAAAAAAAA4AwAATQAAAE8AAAAAAAAASAMAAFAAAABRAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAEwAAABNAAAAYwAAAFIAAABkAAAATgAAAE8AAABlAAAAUwAAAAAAAABYAwAAVAAAAFUAAABQAAAAUQAAAFIAAABTAAAAVAAAAGYAAABnAAAAVQAAAGgAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABwAwAAVgAAAFcAAABWAAAAaQAAAAAAAABoAwAAWAAAAFkAAABaAAAA/////wAAAACQAwAAWwAAAFwAAABXAAAAagAAAAAAAACIAwAAXQAAAF4AAABfAAAAAAAAAKADAABgAAAAYQAAAFgAAABrAAAAAAAAALgDAABiAAAAYwAAAFkAAABaAAAAWwAAAFwAAABdAAAAbAAAAG0AAABeAAAAbgAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAMgDAABkAAAAZQAAAFwAAAABAAAAbwAAAF8AAABgAAAAYQAAAGIAAAABAAAAXwAAAGMAAAABAAAAcAAAAGAAAABhAAAAAQAAAAEAAAAAAAAA2AMAAGQAAABmAAAAXAAAAHEAAABvAAAAXwAAAGAAAABhAAAAYgAAAGIAAABfAAAAYwAAAGcAAABwAAAAYAAAAGEAAAByAAAAaAAAAAAAAADoAwAAaQAAAGoAAABjAAAAcwAAAAAAAAD4AwAAZAAAAGsAAAB0AAAAAQAAAG8AAABfAAAAdQAAAGEAAABiAAAAAQAAAF8AAABjAAAAAQAAAAAAAAAABAAAZAAAAGwAAAB0AAAAdgAAAG8AAABfAAAAdwAAAGEAAABiAAAAZAAAAF8AAABjAAAAbQAAAAAAAAAQBAAAZAAAAG4AAAB0AAAAeAAAAG8AAABfAAAAeQAAAGEAAABiAAAAZQAAAF8AAABjAAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFZVVVUCAAAAAAAAAAIAAACamZmZAwAAAFZVVVUDAAAAJUmSJAMAAAAAAAAAAwAAAMhxHMcEAAAAmpmZmQQAAABGF110BAAAAFZVVVUEAAAAPLETOwQAAAAlSZIkBAAAABIREREEAAAAAAAAAAQAAADi4eHhBQAAAMhxHMcFAAAAy2sorwUAAACamZmZBQAAAIdhGIYFAAAARhdddAUAAACRhSxkBQAAAFZVVVUFAAAAexSuRwUAAAA8sRM7BQAAANtLaC8FAAAAJUmSJAUAAAASlnsaBQAAABIREREFAAAAhRBCCAUAAAAAAAAABQAAAAgffPAGAAAA4uHh4QYAAADVQR3UBgAAAMhxHMcGAAAATZHPugYAAADLayivBgAAAKVBGqQGAAAAmpmZmQYAAAD6GJyPBgAAAIdhGIYGAAAAGPQFfQYAAABGF110BgAAAG3BFmwGAAAAkYUsZAYAAAC6gphcBgAAAFZVVVUGAAAAcwpeTgYAAAB7FK5HBgAAAEJBQUEGAAAAPLETOwYAAACzzyE1BgAAANtLaC8GAAAAnxLkKQYAAAAlSZIkBgAAAN1HcB8GAAAAEpZ7GgYAAAD45bEVBgAAABIREREGAAAA/BSXDAYAAACFEEIIBgAAAAVBEAQGAAAAAAAAAAYAAAD5gR/4BwAAAAgffPAHAAAAwBoT6QcAAADi4eHhBwAAAGwH5toHAAAA1UEd1AcAAACRaIXNBwAAAMhxHMcHAAAAOXDgwAcAAABNkc+6BwAAAE8b6LQHAAAAy2sorwcAAAAH9o6pBwAAAKVBGqQHAAAAUunIngcAAACamZmZBwAAAM4Pi5QHAAAA+hicjwcAAAD3kMuKBwAAAIdhGIYHAAAAgoGBgQcAAAAY9AV9BwAAABjIpHgHAAAARhdddAcAAADBBS5wBwAAAG3BFmwHAAAAaYEWaAcAAACRhSxkBwAAAAYWWGAHAAAAuoKYXAcAAAAJI+1YBwAAAFZVVVUHAAAAr37QUQcAAABzCl5OBwAAAAZq/UoHAAAAexSuRwcAAABXhm9EBwAAAEJBQUEHAAAAz8siPgcAAAA8sRM7BwAAADmBEzgHAAAAs88hNQcAAACjND4yBwAAANtLaC8HAAAA2bSfLAcAAACfEuQpBwAAAIkLNScHAAAAJUmSJAcAAAATePshBwAAAN1HcB8HAAAA22rwHAcAAAASlnsaBwAAABmBERgHAAAA+OWxFQcAAAAUgVwTBwAAABIREREHAAAAv1bPDgcAAAD8FJcMBwAAAKcQaAoHAAAAhRBCCAcAAAAw3SQGBwAAAAVBEAQHAAAAEQgEAgcAAAAAAAAABwAAACDwB/wIAAAA+YEf+AgAAADlWUb0CAAAAAgffPAIAAAAMXvA7AgAAADAGhPpCAAAAJGsc+UIAAAA4uHh4QgAAABAbl3eCAAAAGwH5toIAAAATGV71wgAAADVQR3UCAAAAPdYy9AIAAAAkWiFzQgAAABWMEvKCAAAAMhxHMcIAAAAHfD4wwgAAAA5cODACAAAAJq40r0IAAAATZHPuggAAADew9a3CAAAAE8b6LQIAAAAB2QDsggAAADLayivCAAAAK0BV6wIAAAAB/aOqQgAAABuGtCmCAAAAKVBGqQIAAAAmD9toQgAAABS6cieCAAAAO8ULZwIAAAAmpmZmQgAAACBTw6XCAAAAM4Pi5QIAAAAnrQPkggAAAD6GJyPCAAAANQYMI0IAAAA95DLiggAAAALX26ICAAAAIdhGIYIAAAArHfJgwgAAACCgYGBCAAAANFfQH8IAAAAGPQFfQgAAACPINJ6CAAAABjIpHgIAAAARM59dggAAABGF110CAAAAPWHQnIIAAAAwQUucAgAAAC1dh9uCAAAAG3BFmwIAAAAFs0TaggAAABpgRZoCAAAAKbGHmYIAAAAkYUsZAgAAABxpz9iCAAAAAYWWGAIAAAAjrt1XggAAAC6gphcCAAAALFWwFoIAAAACSPtWAgAAADG0x5XCAAAAFZVVVUIAAAAkJSQUwgAAACvftBRCAAAAFEBFVAIAAAAcwpeTggAAABziKtMCAAAAAZq/UoIAAAAPJ5TSQgAAAB7FK5HCAAAAIC8DEYIAAAAV4ZvRAgAAABeYtZCCAAAAEJBQUEIAAAA/BOwPwgAAADPyyI+CAAAAEhamTwIAAAAPLETOwgAAADCwpE5CAAAADmBEzgIAAAAPt+YNggAAACzzyE1CAAAALZFrjMIAAAAozQ+MggAAAAUkNEwCAAAANtLaC8IAAAABVwCLggAAADZtJ8sCAAAANFKQCsIAAAAnxLkKQgAAAApAYsoCAAAAIkLNScIAAAACSfiJQgAAAAlSZIkCAAAAIpnRSMIAAAAE3j7IQgAAADHcLQgCAAAAN1HcB8IAAAAtPMuHggAAADbavAcCAAAAAWktBsIAAAAEpZ7GggAAAAJOEUZCAAAABmBERgIAAAAlWjgFggAAAD45bEVCAAAAOHwhRQIAAAAFIFcEwgAAAB2jjUSCAAAABIREREIAAAAEAHvDwgAAAC/Vs8OCAAAAIkKsg0IAAAA/BSXDAgAAADDbn4LCAAAAKcQaAoIAAAAkfNTCQgAAACFEEIICAAAAKVgMgcIAAAAMN0kBggAAAB+fxkFCAAAAAVBEAQIAAAAUhsJAwgAAAARCAQCCAAAAAIBAQEIAAAA/////wAAAAAgBAAAcAAAAHEAAAAIAAAAAwAAAHoAAAByAAAACQAAAP////8AAAAAMAQAAHMAAAB0AAAACgAAAAQAAAB6AAAAcgAAAAsAAAD/////8BgAAAUAAAAAAAAAAAAAAHsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAAkE4AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGROAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAAAAAAEAEAAB1AAAAdgAAAHcAAAB4AAAAEgAAAAEAAAABAAAAAwAAAAAAAABoBAAAdQAAAHkAAAB3AAAAeAAAABIAAAACAAAAAgAAAAQAAAAAAAAAeAQAAHoAAAB7AAAAfAAAAAAAAACIBAAAegAAAHwAAAB8AAAATjVkcmFjbzExRW5jb2RlckJhc2VJTlNfMThFbmNvZGVyT3B0aW9uc0Jhc2VJTlNfMTdHZW9tZXRyeUF0dHJpYnV0ZTRUeXBlRUVFRUUATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRW5jb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVFbmNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAdXNlX2J1aWx0X2luX2F0dHJpYnV0ZV9jb21wcmVzc2lvbgBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzhTZXF1ZW50aWFsUXVhbnRpemF0aW9uQXR0cmlidXRlRW5jb2RlckUAcHJlZGljdGlvbl9zY2hlbWUATjVkcmFjbzExRW5jb2RlckJhc2VJTlNfMThFbmNvZGVyT3B0aW9uc0Jhc2VJaUVFRUUATjVkcmFjbzdFbmNvZGVyRQBlbmNvZGluZ19zcGVlZABkZWNvZGluZ19zcGVlZABxdWFudGl6YXRpb25fb3JpZ2luAHF1YW50aXphdGlvbl9yYW5nZQAgAE41ZHJhY28xM0V4cGVydEVuY29kZXJFAGVuY29kaW5nX21ldGhvZABxdWFudGl6YXRpb25fYml0cwBJbnZhbGlkIGVuY29kaW5nIG1ldGhvZC4Ac3RhbmRhcmRfZWRnZWJyZWFrZXIAcHJlZGljdGl2ZV9lZGdlYnJlYWtlcgBlZGdlYnJlYWtlcl9tZXRob2QATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRW5jb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUAc3BsaXRfbWVzaF9vbl9zZWFtcwBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbEVuY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZUVuY29kZXJFRUUAc3RvcmVfbnVtYmVyX29mX2VuY29kZWRfZmFjZXMATjVkcmFjbzExTWVzaEVuY29kZXJFAGNvbXByZXNzX2Nvbm5lY3Rpdml0eQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRW5jb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZEVuY29kZXJFAEludmFsaWQgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBpbml0aWFsaXplIGVuY29kZXIuAEZhaWxlZCB0byBlbmNvZGUgaW50ZXJuYWwgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZW5jb2RlIHBvaW50IGF0dHJpYnV0ZXMuAHN0b3JlX251bWJlcl9vZl9lbmNvZGVkX3BvaW50cwBGYWlsZWQgdG8gZW5jb2RlIG1ldGFkYXRhLgBEUkFDTwBONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRW5jb2RlckUATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxFbmNvZGVyRQBzeW1ib2xfZW5jb2RpbmdfbWV0aG9kAHN5bWJvbF9lbmNvZGluZ19jb21wcmVzc2lvbl9sZXZlbABONWRyYWNvNE1lc2hFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATjVkcmFjbzEwUG9pbnRDbG91ZEUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAGluZmluaXR5AG5hbgAlZAAlZgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function 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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+20112;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,lBwAAAQdAAC8HAAAUh0AACAAAAAAAAAAlBwAAHkdAAC8HAAAlh0AACAAAAAAAAAAlBwAAL8dAAC8HAAA2x0AADgAAAAAAAAAlBwAAP0dAAC8HAAAIh4AADgAAAAAAAAAvBwAANoqAABQAAAAAAAAALwcAABSHgAAiAAAAAAAAAC8HAAAqx4AAJgAAAAAAAAAvBwAAP8eAACoAAAAAAAAALwcAAAzHwAAuAAAAAAAAACUHAAAXh8AALwcAACCHwAA0AAAAAAAAACUHAAAICAAALwcAAC+IAAA6AAAAAAAAAC8HAAAViEAAIgAAAAAAAAAvBwAAN8hAADoAAAAAAAAALwcAAB5IgAA6AAAAAAAAAC8HAAACyMAAOgAAAAAAAAAvBwAALEjAADoAAAAAAAAALwcAABMJAAA6AAAAAAAAAC8HAAA4iQAAFgBAAAAAAAAlBwAAI0lAAC8HAAAOCYAAHABAAAAAAAAvBwAAN0mAACIAAAAAAAAALwcAABzJwAAcAEAAAAAAAC8HAAAGigAAHABAAAAAAAAvBwAALkoAABwAQAAAAAAALwcAABsKQAAcAEAAAAAAAC8HAAAFCoAAHABAAAAAAAAvBwAAMg4AABoAAAAAAAAALwcAAAGKwAA8AEAAAAAAAC8HAAAdysAAJgAAAAAAAAAvBwAAOMrAAAQAgAAAAAAAJQcAACZLAAAvBwAAE8tAAAoAgAAAAAAALwcAAD/LQAA8AEAAAAAAAC8HAAAoC4AACgCAAAAAAAAvBwAAFIvAAAoAgAAAAAAALwcAAD8LwAAKAIAAAAAAAC8HAAAujAAACgCAAAAAAAAvBwAAG0xAAAoAgAAAAAAALwcAAAbMgAAmAIAAAAAAACUHAAA3jIAALwcAAChMwAAsAIAAAAAAAC8HAAAXjQAAPABAAAAAAAAvBwAAAw1AACwAgAAAAAAALwcAADLNQAAsAIAAAAAAAC8HAAAgjYAALACAAAAAAAAvBwAAE03AACwAgAAAAAAALwcAAANOAAAsAIAAAAAAAC8HAAA8zgAAGgAAAAAAAAAvBwAAGk5AAAIAAAAAAAAAJQcAAA2OQAAvBwAAHw5AAAwAwAAAAAAALwcAABTOgAAyAMAAAAAAAC8HAAAVT0AALADAAAAAAAAlBwAAHQ6AAC8HAAAvDoAAIADAAAAAAAAlBwAAIY7AACUHAAAoDsAALwcAADbOwAAgAMAAAAAAAC8HAAAmDwAAIADAAAAAAAAlBwAAKE9AAC8HAAAzz0AALADAAAAAAAAvBwAAEA+AAD4AwAAAAAAALwcAACGPgAAyAMAAAAAAAC8HAAAbD4AAIADAAAAAAAAlBwAAKY+AAC8HAAAmz8AAPgDAAAAAAAAvBwAAL0/AAD4AwAAAAAAALwcAAAcQAAAMAQAAAAAAACUHAAAbkAAAJQcAACdSgAAvBwAAP1KAABQBAAAAAAAALwcAACqSgAAYAQAAAAAAACUHAAAy0oAALwcAADYSgAAQAQAAAAAAAC8HAAA30sAADgEAAAAAAAAvBwAAO9LAAB4BAAAAAAAALwcAAAkTAAAUAQAAAAAAAC8HAAAAEwAAJgEAAAAAAAAAAAAAAgAAAABAAAAAgAAAAAAAAAQAAAAAwAAAAQAAAABAAAAAQAAAAEAAAAAAAAAKAAAAAUAAAAGAAAAAgAAAAIAAAACAAAA//////////8AAAAAOAAAAAcAAAAIAAAAAQAAAAMAAAABAAAABAAAAAUAAAACAAAABgAAAAcAAAADAAAAAQAAAAgAAAAAAAAAQAAAAAkAAAAKAAAAAQAAAAMAAAAEAAAABAAAAAUAAAACAAAABgAAAAcAAAAFAAAACQAAAAoAAAAAAAAAUAAAAAsAAAAMAAAAAwAAAAsAAAAMAAAABAAAAA0AAAAGAAAABwAAAA4AAAAPAAAABQAAAAAAAABYAAAADQAAAA4AAAAGAAAAEAAAAAgAAAARAAAAEgAAAAcAAAATAAAAFAAAAAkAAAAVAAAAFgAAAAoAAAABAAAAAAAAAGgAAAAPAAAAEAAAAAgAAAALAAAAFwAAAAQAAAANAAAABgAAAAsAAAAOAAAADwAAAAkAAAACAAAACgAAAP////8AAAAAiAAAABEAAAASAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAB4AAAAEQAAABMAAAAQAAAADAAAABEAAAANAAAAGAAAABkAAAAOAAAADwAAABoAAAABAAAAAAAAADgBAAARAAAAFAAAABIAAAAMAAAAEwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAIAAAAAAAAAKAEAABEAAAAVAAAAFAAAAAwAAAAVAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAwAAAAAAAAAIAQAAFgAAABcAAAAWAAAADAAAABcAAAAYAAAAGwAAABwAAAAOAAAADwAAAB0AAAAEAAAAAAAAAPgAAAAYAAAAGQAAABkAAAAMAAAAGgAAABsAAAAeAAAAHwAAAA4AAAAPAAAAIAAAAAUAAAAAAAAA2AAAABoAAAAbAAAAHAAAAAwAAAAdAAAAHgAAACEAAAAiAAAADgAAAA8AAAAjAAAABgAAAAAAAADAAAAAHAAAAB0AAAAkAAAAHwAAAAMAAAAAAAAA6AAAABEAAAAeAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAAYAQAAHwAAACAAAAAgAAAADAAAACEAAAANAAAAGAAAABkAAAAOAAAADwAAACUAAAAHAAAAAAAAAMABAAARAAAAIQAAACIAAAAMAAAAIwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAgAAAAAAAAAsAEAABEAAAAiAAAAJAAAAAwAAAAlAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAACQAAAAAAAACQAQAAIwAAACQAAAAmAAAADAAAACcAAAAoAAAAJgAAACcAAAAOAAAADwAAACgAAAAKAAAAAAAAAIABAAAlAAAAJgAAACkAAAAMAAAAKgAAACsAAAApAAAAKgAAAA4AAAAPAAAAKwAAAAsAAAAAAAAAYAEAACcAAAAoAAAALAAAAAwAAAAtAAAALgAAACwAAAAtAAAADgAAAA8AAAAuAAAADAAAAAAAAABIAQAAKQAAACoAAAAvAAAALwAAAAQAAAAAAAAAcAEAABEAAAArAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAACgAQAALAAAAC0AAAAwAAAADAAAADEAAAANAAAAGAAAABkAAAAOAAAADwAAADAAAAANAAAAAAAAANABAAAuAAAALwAAAAsAAAALAAAAFwAAAAQAAAAxAAAAMgAAADMAAAAOAAAADwAAAAkAAAAFAAAADAAAAAAAAADgAQAAMAAAADEAAAA0AAAANQAAADYAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAOAAAAAAAAAHgCAAAwAAAAMgAAADoAAAA1AAAAOwAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAAA8AAAAAAAAAaAIAADAAAAAzAAAAPAAAADUAAAA9AAAANwAAADIAAAAzAAAAOAAAADkAAAA0AAAAEAAAAAAAAABYAgAANAAAADUAAAA+AAAANQAAAD8AAAA3AAAAMgAAADMAAAA4AAAAOQAAADUAAAARAAAAAAAAAEgCAAA2AAAANwAAAEAAAAA1AAAAQQAAAEIAAAA2AAAANwAAADgAAAA5AAAAOAAAABIAAAAAAAAAOAIAADgAAAA5AAAAQwAAADUAAABEAAAARQAAADkAAAA6AAAAOAAAADkAAAA7AAAAEwAAAAAAAAAYAgAAOgAAADsAAABGAAAANQAAAEcAAABIAAAAPAAAAD0AAAA4AAAAOQAAAD4AAAAUAAAAAAAAAAACAAA8AAAAPQAAAD8AAABJAAAABgAAAAAAAAAAAwAAMAAAAD4AAABKAAAANQAAAEsAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAVAAAAAAAAAPACAAAwAAAAPwAAAEwAAAA1AAAATQAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAABYAAAAAAAAA4AIAAEAAAABBAAAATgAAADUAAABPAAAANwAAADIAAAAzAAAAOAAAADkAAABAAAAAFwAAAAAAAADQAgAAQgAAAEMAAABQAAAANQAAAFEAAABSAAAAQQAAAEIAAAA4AAAAOQAAAEMAAAAYAAAAAAAAAMACAABEAAAARQAAAFMAAAA1AAAAVAAAAFUAAABEAAAARQAAADgAAAA5AAAARgAAABkAAAAAAAAAoAIAAEYAAABHAAAAVgAAADUAAABXAAAAWAAAAEcAAABIAAAAOAAAADkAAABJAAAAGgAAAAAAAACIAgAASAAAAEkAAABKAAAAWQAAAAcAAAAAAAAAEAMAAEoAAABLAAAADQAAAAsAAAAXAAAABAAAAEsAAABaAAAAWwAAAA4AAAAPAAAACQAAAAIAAAAOAAAAAAAAACADAAABAAAATAAAAAEAAAACAAAAAAAAADADAABNAAAATgAAAAAAAAA4AwAATQAAAE8AAAAAAAAASAMAAFAAAABRAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAEwAAABNAAAAYwAAAFIAAABkAAAATgAAAE8AAABlAAAAUwAAAAAAAABYAwAAVAAAAFUAAABQAAAAUQAAAFIAAABTAAAAVAAAAGYAAABnAAAAVQAAAGgAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABwAwAAVgAAAFcAAABWAAAAaQAAAAAAAABoAwAAWAAAAFkAAABaAAAA/////wAAAACQAwAAWwAAAFwAAABXAAAAagAAAAAAAACIAwAAXQAAAF4AAABfAAAAAAAAAKADAABgAAAAYQAAAFgAAABrAAAAAAAAALgDAABiAAAAYwAAAFkAAABaAAAAWwAAAFwAAABdAAAAbAAAAG0AAABeAAAAbgAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAMgDAABkAAAAZQAAAFwAAAABAAAAbwAAAF8AAABgAAAAYQAAAGIAAAABAAAAXwAAAGMAAAABAAAAcAAAAGAAAABhAAAAAQAAAAEAAAAAAAAA2AMAAGQAAABmAAAAXAAAAHEAAABvAAAAXwAAAGAAAABhAAAAYgAAAGIAAABfAAAAYwAAAGcAAABwAAAAYAAAAGEAAAByAAAAaAAAAAAAAADoAwAAaQAAAGoAAABjAAAAcwAAAAAAAAD4AwAAZAAAAGsAAAB0AAAAAQAAAG8AAABfAAAAdQAAAGEAAABiAAAAAQAAAF8AAABjAAAAAQAAAAAAAAAABAAAZAAAAGwAAAB0AAAAdgAAAG8AAABfAAAAdwAAAGEAAABiAAAAZAAAAF8AAABjAAAAbQAAAAAAAAAQBAAAZAAAAG4AAAB0AAAAeAAAAG8AAABfAAAAeQAAAGEAAABiAAAAZQAAAF8AAABjAAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFZVVVUCAAAAAAAAAAIAAACamZmZAwAAAFZVVVUDAAAAJUmSJAMAAAAAAAAAAwAAAMhxHMcEAAAAmpmZmQQAAABGF110BAAAAFZVVVUEAAAAPLETOwQAAAAlSZIkBAAAABIREREEAAAAAAAAAAQAAADi4eHhBQAAAMhxHMcFAAAAy2sorwUAAACamZmZBQAAAIdhGIYFAAAARhdddAUAAACRhSxkBQAAAFZVVVUFAAAAexSuRwUAAAA8sRM7BQAAANtLaC8FAAAAJUmSJAUAAAASlnsaBQAAABIREREFAAAAhRBCCAUAAAAAAAAABQAAAAgffPAGAAAA4uHh4QYAAADVQR3UBgAAAMhxHMcGAAAATZHPugYAAADLayivBgAAAKVBGqQGAAAAmpmZmQYAAAD6GJyPBgAAAIdhGIYGAAAAGPQFfQYAAABGF110BgAAAG3BFmwGAAAAkYUsZAYAAAC6gphcBgAAAFZVVVUGAAAAcwpeTgYAAAB7FK5HBgAAAEJBQUEGAAAAPLETOwYAAACzzyE1BgAAANtLaC8GAAAAnxLkKQYAAAAlSZIkBgAAAN1HcB8GAAAAEpZ7GgYAAAD45bEVBgAAABIREREGAAAA/BSXDAYAAACFEEIIBgAAAAVBEAQGAAAAAAAAAAYAAAD5gR/4BwAAAAgffPAHAAAAwBoT6QcAAADi4eHhBwAAAGwH5toHAAAA1UEd1AcAAACRaIXNBwAAAMhxHMcHAAAAOXDgwAcAAABNkc+6BwAAAE8b6LQHAAAAy2sorwcAAAAH9o6pBwAAAKVBGqQHAAAAUunIngcAAACamZmZBwAAAM4Pi5QHAAAA+hicjwcAAAD3kMuKBwAAAIdhGIYHAAAAgoGBgQcAAAAY9AV9BwAAABjIpHgHAAAARhdddAcAAADBBS5wBwAAAG3BFmwHAAAAaYEWaAcAAACRhSxkBwAAAAYWWGAHAAAAuoKYXAcAAAAJI+1YBwAAAFZVVVUHAAAAr37QUQcAAABzCl5OBwAAAAZq/UoHAAAAexSuRwcAAABXhm9EBwAAAEJBQUEHAAAAz8siPgcAAAA8sRM7BwAAADmBEzgHAAAAs88hNQcAAACjND4yBwAAANtLaC8HAAAA2bSfLAcAAACfEuQpBwAAAIkLNScHAAAAJUmSJAcAAAATePshBwAAAN1HcB8HAAAA22rwHAcAAAASlnsaBwAAABmBERgHAAAA+OWxFQcAAAAUgVwTBwAAABIREREHAAAAv1bPDgcAAAD8FJcMBwAAAKcQaAoHAAAAhRBCCAcAAAAw3SQGBwAAAAVBEAQHAAAAEQgEAgcAAAAAAAAABwAAACDwB/wIAAAA+YEf+AgAAADlWUb0CAAAAAgffPAIAAAAMXvA7AgAAADAGhPpCAAAAJGsc+UIAAAA4uHh4QgAAABAbl3eCAAAAGwH5toIAAAATGV71wgAAADVQR3UCAAAAPdYy9AIAAAAkWiFzQgAAABWMEvKCAAAAMhxHMcIAAAAHfD4wwgAAAA5cODACAAAAJq40r0IAAAATZHPuggAAADew9a3CAAAAE8b6LQIAAAAB2QDsggAAADLayivCAAAAK0BV6wIAAAAB/aOqQgAAABuGtCmCAAAAKVBGqQIAAAAmD9toQgAAABS6cieCAAAAO8ULZwIAAAAmpmZmQgAAACBTw6XCAAAAM4Pi5QIAAAAnrQPkggAAAD6GJyPCAAAANQYMI0IAAAA95DLiggAAAALX26ICAAAAIdhGIYIAAAArHfJgwgAAACCgYGBCAAAANFfQH8IAAAAGPQFfQgAAACPINJ6CAAAABjIpHgIAAAARM59dggAAABGF110CAAAAPWHQnIIAAAAwQUucAgAAAC1dh9uCAAAAG3BFmwIAAAAFs0TaggAAABpgRZoCAAAAKbGHmYIAAAAkYUsZAgAAABxpz9iCAAAAAYWWGAIAAAAjrt1XggAAAC6gphcCAAAALFWwFoIAAAACSPtWAgAAADG0x5XCAAAAFZVVVUIAAAAkJSQUwgAAACvftBRCAAAAFEBFVAIAAAAcwpeTggAAABziKtMCAAAAAZq/UoIAAAAPJ5TSQgAAAB7FK5HCAAAAIC8DEYIAAAAV4ZvRAgAAABeYtZCCAAAAEJBQUEIAAAA/BOwPwgAAADPyyI+CAAAAEhamTwIAAAAPLETOwgAAADCwpE5CAAAADmBEzgIAAAAPt+YNggAAACzzyE1CAAAALZFrjMIAAAAozQ+MggAAAAUkNEwCAAAANtLaC8IAAAABVwCLggAAADZtJ8sCAAAANFKQCsIAAAAnxLkKQgAAAApAYsoCAAAAIkLNScIAAAACSfiJQgAAAAlSZIkCAAAAIpnRSMIAAAAE3j7IQgAAADHcLQgCAAAAN1HcB8IAAAAtPMuHggAAADbavAcCAAAAAWktBsIAAAAEpZ7GggAAAAJOEUZCAAAABmBERgIAAAAlWjgFggAAAD45bEVCAAAAOHwhRQIAAAAFIFcEwgAAAB2jjUSCAAAABIREREIAAAAEAHvDwgAAAC/Vs8OCAAAAIkKsg0IAAAA/BSXDAgAAADDbn4LCAAAAKcQaAoIAAAAkfNTCQgAAACFEEIICAAAAKVgMgcIAAAAMN0kBggAAAB+fxkFCAAAAAVBEAQIAAAAUhsJAwgAAAARCAQCCAAAAAIBAQEIAAAA/////wAAAAAgBAAAcAAAAHEAAAAIAAAAAwAAAHoAAAByAAAACQAAAP////8AAAAAMAQAAHMAAAB0AAAACgAAAAQAAAB6AAAAcgAAAAsAAAD/////8BgAAAUAAAAAAAAAAAAAAHsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAAjE4AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAlEoAAAAAAABABAAAdQAAAHYAAAB3AAAAeAAAABIAAAABAAAAAQAAAAMAAAAAAAAAaAQAAHUAAAB5AAAAdwAAAHgAAAASAAAAAgAAAAIAAAAEAAAAAAAAAHgEAAB6AAAAewAAAHwAAAAAAAAAiAQAAHoAAAB8AAAAfAAAAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSU5TXzE3R2VvbWV0cnlBdHRyaWJ1dGU0VHlwZUVFRUVFAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzIzS2RUcmVlQXR0cmlidXRlc0VuY29kZXJFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRW5jb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZEVuY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRW5jb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAHVzZV9idWlsdF9pbl9hdHRyaWJ1dGVfY29tcHJlc3Npb24ATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRW5jb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZUVuY29kZXJFAHByZWRpY3Rpb25fc2NoZW1lAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSWlFRUVFAE41ZHJhY283RW5jb2RlckUAIABONWRyYWNvMTNFeHBlcnRFbmNvZGVyRQBlbmNvZGluZ19tZXRob2QAcXVhbnRpemF0aW9uX2JpdHMASW52YWxpZCBlbmNvZGluZyBtZXRob2QuAGVuY29kaW5nX3NwZWVkAGRlY29kaW5nX3NwZWVkAHF1YW50aXphdGlvbl9vcmlnaW4AcXVhbnRpemF0aW9uX3JhbmdlAHN0YW5kYXJkX2VkZ2VicmVha2VyAHByZWRpY3RpdmVfZWRnZWJyZWFrZXIAZWRnZWJyZWFrZXJfbWV0aG9kAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckVuY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAHNwbGl0X21lc2hfb25fc2VhbXMATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxFbmNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VFbmNvZGVyRUVFAHN0b3JlX251bWJlcl9vZl9lbmNvZGVkX2ZhY2VzAE41ZHJhY28xMU1lc2hFbmNvZGVyRQBjb21wcmVzc19jb25uZWN0aXZpdHkATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbEVuY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWRFbmNvZGVyRQBJbnZhbGlkIGlucHV0IGdlb21ldHJ5LgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBlbmNvZGVyLgBGYWlsZWQgdG8gZW5jb2RlIGludGVybmFsIGRhdGEuAEZhaWxlZCB0byBlbmNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBzdG9yZV9udW1iZXJfb2ZfZW5jb2RlZF9wb2ludHMARmFpbGVkIHRvIGVuY29kZSBtZXRhZGF0YS4ARFJBQ08ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZUVuY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRW5jb2RlckUAc3ltYm9sX2VuY29kaW5nX21ldGhvZABzeW1ib2xfZW5jb2RpbmdfY29tcHJlc3Npb25fbGV2ZWwATjVkcmFjbzRNZXNoRQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAE41ZHJhY28xMFBvaW50Q2xvdWRFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABpbmZpbml0eQBuYW4AJWQAJWYAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=Runtime.staticAlloc(4);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_ii;var ga=env.invoke_iii;var ha=env.invoke_iiii;var ia=env.invoke_iiiiiii;var ja=env.invoke_v;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viii;var na=env.invoke_viiii;var oa=env.invoke_viiiii;var pa=env.invoke_viiiiii;var qa=env.__ZSt18uncaught_exceptionv;var ra=env.___cxa_allocate_exception;var sa=env.___cxa_begin_catch;var ta=env.___cxa_find_matching_catch;var ua=env.___cxa_pure_virtual;var va=env.___cxa_throw;var wa=env.___gxx_personality_v0;var xa=env.___resumeException;var ya=env.___setErrNo;var za=env.___syscall140;var Aa=env.___syscall146;var Ba=env.___syscall6;var Ca=env._abort;var Da=env._emscripten_memcpy_big;var Ea=env._pthread_getspecific;var Fa=env._pthread_key_create;var Ga=env._pthread_once;var Ha=env._pthread_setspecific;var Ia=$(0);const Ja=$(0);function Ka(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function be(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)$q(l);l=a+8|0;Ph(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;nq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Cc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)nq(y);return 0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Oa,t=Oa,u=Oa,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=vn(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;Ii(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0>>0?(q=o+(k<<2)|0,(q|0)!=(p|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{Di(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=hh(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0>>0?(r=m+(d<<2)|0,(r|0)!=(n|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{Di(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Mf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((i|0)==(v|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);br(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Uc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Vc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Wc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Xc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Yc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Zc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=2097152;if(d){d=c;c=2097152;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Of(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));_c(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=1048576;if(d){d=c;c=1048576;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Pf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));$c(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=262144;if(d){d=c;c=262144;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Sf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));ad(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=131072;if(d){d=c;c=131072;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Tf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));bd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=32768;if(d){d=c;c=32768;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Vf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));cd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));dd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));ed(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));fd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));gd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function te(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));hd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));id(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ve(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));jd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Me(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Me(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,i,i+1|0)|0;u=d;return 1}function ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Ph(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;nq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];ub(k,i,b,x)|0;l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)nq(z);return 0}function Ae(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Ph(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;nq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];tb(k,i,b,x)|0;l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)nq(z);return 0}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=0;m=g;while(1){f[d>>2]=(a>>>0)/3|0;f[c>>2]=f[d>>2];if(!(dk(m,c)|0)?(g=f[e>>2]|0,(f[(f[g+12>>2]|0)+(a<<2)>>2]|0)==-1):0){n=a+1|0;o=((n>>>0)%3|0|0)==0?a+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[g>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){g=f[k>>2]|0;n=f[l>>2]|0;if((g|0)==(n<<5|0)){if((g+1|0)<0){q=11;break}r=n<<6;n=g+32&-32;wi(j,g>>>0<1073741823?(r>>>0>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=g;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=a;n=o;while(1){f[n>>2]=g;o=r+1|0;a:do if((r|0)!=-1?(v=((o>>>0)%3|0|0)==0?r+-2|0:o,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=y;C=-1}else{B=y;C=f[(f[w>>2]|0)+(A<<2)>>2]|0}}else{B=-1;C=-1}while(0);n=t+(C<<2)|0;if((f[n>>2]|0)!=-1)break;else r=B}}}}r=a+1|0;if(r>>>0>=h>>>0){q=3;break}a=r;m=f[e>>2]|0}if((q|0)==3){u=b;return 1}else if((q|0)==11)nq(j);return 0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)nq(a);p=k<<6;k=b+31&-32;wi(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;qm(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)br(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;uj(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;uj(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function De(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Jj(d)|0;if(l>>>0>4294967279)nq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=vn(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){kh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Jj(e)|0;if(l>>>0>4294967279)nq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=vn(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){kh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Jj(d)|0;if(l>>>0>4294967279)nq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=vn(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){kh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Jj(e)|0;if(l>>>0>4294967279)nq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=vn(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){kh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;wn(c,i,j);if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if((b[i+11>>0]|0)<0)br(f[i>>2]|0);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);k=1;u=a;return k|0}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];f[a+132>>2]=f[c+132>>2];return}function Fe(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Th(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0<=28){f[k>>2]=p;c=1<>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))q=g;else{c=d+84|0;r=d+68|0;s=d+48|0;t=d+40|0;v=0;w=0;x=p;while(1){p=f[x+(v<<2)>>2]|0;if(!(b[c>>0]|0))y=f[(f[r>>2]|0)+(p<<2)>>2]|0;else y=p;p=s;z=f[p>>2]|0;A=f[p+4>>2]|0;p=t;B=f[p>>2]|0;C=En(B|0,f[p+4>>2]|0,y|0,0)|0;p=ho(C|0,I|0,z|0,A|0)|0;kh(j|0,(f[f[d>>2]>>2]|0)+p|0,B|0)|0;tf(k,j,l,m);f[o+(w<<2)>>2]=f[l>>2];f[o+((w|1)<<2)>>2]=f[m>>2];v=v+1|0;x=f[e>>2]|0;if(v>>>0>=(f[n>>2]|0)-x>>2>>>0)break;else w=w+2|0}q=f[i>>2]|0}f[a>>2]=q;f[i>>2]=0;u=h;return}f[a>>2]=0;f[i>>2]=0;if(!g){u=h;return}i=g+88|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){q=a+12|0;if((f[q>>2]|0)!=(i|0))f[q>>2]=i;br(i)}br(a)}a=f[g+68>>2]|0;if(a|0){i=g+72|0;q=f[i>>2]|0;if((q|0)!=(a|0))f[i>>2]=q+(~((q+-4-a|0)>>>2)<<2);br(a)}a=g+64|0;q=f[a>>2]|0;f[a>>2]=0;if(q|0){a=f[q>>2]|0;if(a|0){i=q+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;br(a)}br(q)}br(g);u=h;return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=c;j=h;do{f[j>>2]=-1;Vk(j+4|0);b[j+100>>0]=1;k=j+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;j=(f[g>>2]|0)+136|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/136|0;h=j+c|0;if(h>>>0>31580641)nq(a);k=(e-i|0)/136|0;i=k<<1;e=k>>>0<15790320?(i>>>0>>0?h:i):31580641;do if(e)if(e>>>0>31580641){i=ra(8)|0;ap(i,16422);f[i>>2]=7412;va(i|0,1160,122)}else{l=vn(e*136|0)|0;break}else l=0;while(0);i=l+(j*136|0)|0;j=i;h=l+(e*136|0)|0;e=c;c=j;l=i;do{f[l>>2]=-1;Vk(l+4|0);b[l+100>>0]=1;k=l+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;l=c+136|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=f[g>>2]|0;if((l|0)==(e|0)){m=j;n=e;o=e}else{k=l;l=j;j=i;do{k=k+-136|0;Ee(j+-136|0,k);j=l+-136|0;l=j}while((k|0)!=(e|0));m=l;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);br(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);br(o)}Oi(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;br(n);return}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[b>>2]|0;b=a+12|0;d=(c|0)==-1;e=c+1|0;do if(!d){g=((e>>>0)%3|0|0)==0?c+-2|0:e;if(!((c>>>0)%3|0)){h=g;i=c+2|0;break}else{h=g;i=c+-1|0;break}}else{h=-1;i=-1}while(0);e=d?-1:(c>>>0)/3|0;g=a+28|0;j=(f[g>>2]|0)+(e>>>5<<2)|0;f[j>>2]=1<<(e&31)|f[j>>2];j=a+172|0;e=a+176|0;k=a+280|0;if(((!d?(d=f[(f[(f[b>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(d|0)!=-1):0)?(a=(d>>>0)/3|0,(f[(f[g>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0):0)?(a=f[j>>2]|0,(f[e>>2]|0)!=(a|0)):0){d=c>>>5;l=1<<(c&31);c=0;m=a;do{a=(f[k>>2]|0)+(c<<5)|0;if(!(l&f[(f[m+(c*136|0)+4>>2]|0)+(d<<2)>>2]))hj(a,0);else hj(a,1);c=c+1|0;m=f[j>>2]|0}while(c>>>0<(((f[e>>2]|0)-m|0)/136|0)>>>0)}if((((h|0)!=-1?(m=f[(f[(f[b>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0)?(c=(m>>>0)/3|0,(f[(f[g>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31)|0)==0):0)?(c=f[j>>2]|0,(f[e>>2]|0)!=(c|0)):0){m=h>>>5;d=1<<(h&31);h=0;l=c;do{c=(f[k>>2]|0)+(h<<5)|0;if(!(d&f[(f[l+(h*136|0)+4>>2]|0)+(m<<2)>>2]))hj(c,0);else hj(c,1);h=h+1|0;l=f[j>>2]|0}while(h>>>0<(((f[e>>2]|0)-l|0)/136|0)>>>0)}if((i|0)==-1)return 1;l=f[(f[(f[b>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((l|0)==-1)return 1;b=(l>>>0)/3|0;if(f[(f[g>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31)|0)return 1;b=f[j>>2]|0;if((f[e>>2]|0)==(b|0))return 1;g=i>>>5;l=1<<(i&31);i=0;h=b;do{b=(f[k>>2]|0)+(i<<5)|0;if(!(l&f[(f[h+(i*136|0)+4>>2]|0)+(g<<2)>>2]))hj(b,0);else hj(b,1);i=i+1|0;h=f[j>>2]|0}while(i>>>0<(((f[e>>2]|0)-h|0)/136|0)>>>0);return 1}function Ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;di((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=0;s=k;do{k=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[s+(r<<2)>>2]<<2)>>2]|0;b[h>>0]=f[k+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[k+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[k+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[k+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}di(f[k+60>>2]|0,c)|0;r=r+1|0;s=f[i>>2]|0}while(r>>>0<(f[j>>2]|0)-s>>2>>>0);u=d;return 1}function Je(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Th(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;Pp(i);Yo(i,$(n[c+20>>2]),(1<>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){$q(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=En(z|0,f[j+4>>2]|0,x|0,0)|0;j=ho(A|0,I|0,m|0,y|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0>>0);$q(g);u=h;return}while(1){k=f[e+(v<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=En(j|0,f[k+4>>2]|0,B|0,0)|0;k=ho(y|0,I|0,x|0,z|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=w;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($(F*$(f[c>>2]|0))+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=t>>>0)break;else w=w+l|0}$q(g);u=h;return}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;yp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;yp(k);l=b+4|0;if((a|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+8;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(a,g,e)}l=b+28|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+32;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+20|0;b=m;m=c;c=0;while(1){o=f[(f[b+(c<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Id(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=c;w=b;x=m}}else{v=c;w=b;x=m}c=v+1|0;f[j>>2]=c;if((c|0)>=(x-w>>2|0))break;else{b=w;m=x}}u=d;return}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;di(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}function Me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=r;u=o;while(1){b[u>>0]=b[t>>0]|0;t=t+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((t|0)==(e|0)){s=v;break}else u=v}}if((q|0)>0){w=r;x=s}else{k=c;return k|0}}else{w=e;x=o}s=x-(c+j)|0;r=c+s|0;if(r>>>0>>0){q=r;r=x;do{b[r>>0]=b[q>>0]|0;q=q+1|0;r=(f[n>>2]|0)+1|0;f[n>>2]=r}while((q|0)!=(o|0))}if(s|0)qm(x+(0-s)|0,c|0,s|0)|0;if((w|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(w|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)nq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0>>0?z:h):2147483647;h=c;if(!m)A=0;else A=vn(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=i;C=g}else{g=d;d=i;i=z;do{b[i>>0]=b[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(e|0));B=d;C=f[a>>2]|0}d=h-C|0;e=z+(0-d)|0;if((d|0)>0)kh(e|0,C|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=B;kh(h|0,c|0,d|0)|0;D=h+d|0;E=f[a>>2]|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=D;f[l>>2]=j;if(!E){k=z;return k|0}br(E);k=z;return k|0}function Ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=vn(40)|0;Ko(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=vn(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14821;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Lh(h,g)|0)!=0):0)t=Ok(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Ok(i,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=vn(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));Ko(c);f[c>>2]=2560;f[c+40>>2]=1232;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=vn(64)|0;Gm(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=vn(36)|0;Pm(c);j=c;k=j;f[a>>2]=k;u=e;return}function Oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=-1;i=n;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0;i=q}while(0);if(c){c=(f[a+84>>2]|0)+(h>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(h&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(h<<2)>>2]|0;q=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(c&31);if(!g){g=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((g|0)==-1){s=-1;t=i}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=i}}else{s=-1;t=-1}if((s|0)==(h|0)){u=r;return u|0}i=f[a+84>>2]|0;a=r;r=s;s=t;while(1){t=i+(r>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(r&31);t=a+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){q=f[b>>2]|0;d=f[q+12>>2]|0;p=c;while(1){c=f[d+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)==-1){v=-1;w=p}else{v=f[(f[q>>2]|0)+(d<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(h|0)){u=t;break}else{a=t;r=v;s=w}}return u|0}function Qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Th(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;Pp(h);Yo(h,$(n[c+20>>2]),(1<>>0>1073741823?-1:j<<2)|0;if(!e){$q(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=En(y|0,f[v+4>>2]|0,t|0,0)|0;v=ho(z|0,I|0,w|0,x|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));$q(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=En(v|0,f[i+4>>2]|0,A|0,0)|0;i=ho(x|0,I|0,t|0,y|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($(E*$(f[c>>2]|0))+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=r+j|0}$q(k);u=g;return}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Ui(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Ui(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=d;l=j}else{k=d;l=j}break}default:{k=0;l=g}}if((l+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=0;j=l;while(1){g=j+-48+(g*10|0)|0;l=f[c>>2]|0;if(l>>>0<(f[e>>2]|0)>>>0){f[c>>2]=l+1;o=h[l>>0]|0}else o=Ui(a)|0;if(!((o+-48|0)>>>0<10&(g|0)<214748364))break;else j=o}j=((g|0)<0)<<31>>31;if((o+-48|0)>>>0<10){l=o;d=g;b=j;while(1){i=En(d|0,b|0,10,0)|0;p=I;q=ho(l|0,((l|0)<0)<<31>>31|0,-48,-1)|0;r=ho(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Ui(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){l=s;d=r;b=p}else{t=s;u=r;v=p;break}}}else{t=o;u=g;v=j}if((t+-48|0)>>>0<10)do{t=f[c>>2]|0;if(t>>>0<(f[e>>2]|0)>>>0){f[c>>2]=t+1;w=h[t>>0]|0}else w=Ui(a)|0}while((w+-48|0)>>>0<10);if(f[e>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;c=(k|0)!=0;k=jo(0,0,u|0,v|0)|0;m=c?I:v;n=c?k:u}I=m;return n|0}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;ql(n);o=a+1088|0;ql(o);p=a+1068|0;ql(p);q=a+1036|0;Ij(q);r=a+12|0;Qh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+1108|0;ql(n);o=a+1088|0;ql(o);p=a+1068|0;ql(p);q=a+1036|0;Ij(q);r=a+12|0;Qh(r);return}function Te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Sa[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Sa[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)nq(e);else{l=a<<2;m=vn(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;uj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);br(q)}j=1;u=d;return j|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Rh(a+12|0);Gn(a+1036|0);Go(a+1068|0);Go(a+1088|0);Go(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+1164|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+1176|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function Ve(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=0;r=o;s=n;n=o;while(1){o=f[c+(q<<2)>>2]|0;t=f[k>>2]|0;if(t-s>>2>>>0>o>>>0){v=r;w=n}else{x=o+1|0;f[h>>2]=0;y=t-s>>2;z=s;A=t;if(x>>>0<=y>>>0)if(x>>>0>>0?(t=z+(x<<2)|0,(t|0)!=(A|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=r}else B=r;else{Eh(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(o<<2)|0;x=f[y>>2]|0;s=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,o>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=o;C=0.0}else C=0.0;else{D=+(x|0);C=+_g(D)*D}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=+_g(D)*D-C;p[a>>3]=+p[a>>3]+E;q=q+1|0;if((q|0)==(d|0))break;else{r=v;n=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Xe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=n;s=m}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0;q=k;r=f[k>>2]|0;s=f[l>>2]|0}a:do if((r|0)!=(s|0)){l=a+4|0;k=r;while(1){g=f[k>>2]|0;k=k+4|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,a,f[l>>2]|0)|0)){h=0;break}if((k|0)==(s|0))break a}u=c;return h|0}while(0);if(!(xc(a)|0)){h=0;u=c;return h|0}s=a+32|0;r=f[s>>2]|0;k=a+36|0;l=f[k>>2]|0;b:do if((r|0)!=(l|0)){g=r;do{if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(l|0));if((t|0)==18){u=c;return h|0}g=f[s>>2]|0;d=f[k>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[q>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ra[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=Qa[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}function Ye(a,b){a=a|0;b=b|0;ld(a,b);ld(a+32|0,b);ld(a+64|0,b);ld(a+96|0,b);ld(a+128|0,b);ld(a+160|0,b);ld(a+192|0,b);ld(a+224|0,b);ld(a+256|0,b);ld(a+288|0,b);ld(a+320|0,b);ld(a+352|0,b);ld(a+384|0,b);ld(a+416|0,b);ld(a+448|0,b);ld(a+480|0,b);ld(a+512|0,b);ld(a+544|0,b);ld(a+576|0,b);ld(a+608|0,b);ld(a+640|0,b);ld(a+672|0,b);ld(a+704|0,b);ld(a+736|0,b);ld(a+768|0,b);ld(a+800|0,b);ld(a+832|0,b);ld(a+864|0,b);ld(a+896|0,b);ld(a+928|0,b);ld(a+960|0,b);ld(a+992|0,b);ld(a+1024|0,b);return}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)nq(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}else{m=vn(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=m+(l<<2)|0;l=d+12|0;f[l>>2]=k;m=f[b>>2]|0;f[b>>2]=0;f[g>>2]=m;m=g+4|0;f[h>>2]=m;b=f[a>>2]|0;n=f[e>>2]|0;if((n|0)==(b|0)){o=g;p=l;q=h;r=b;s=m;t=n;v=k;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;li(d);u=c;return}else{y=n;z=g}do{y=y+-4|0;g=f[y>>2]|0;f[y>>2]=0;f[z+-4>>2]=g;z=(f[i>>2]|0)+-4|0;f[i>>2]=z}while((y|0)!=(b|0));o=z;p=l;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[l>>2]|0;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;li(d);u=c;return}function _e(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=f[a+64>>2]|0;if(!b)return;c=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;b=f[c+28>>2]|0;d=f[c+24>>2]|0;e=b-d>>2;g=e-(f[c+44>>2]|0)|0;h=f[a+56>>2]|0;i=d;if((b|0)==(d|0)?1:((f[h+12>>2]|0)-(f[h+8>>2]|0)|0)<5)j=g;else{d=c+12|0;c=h+96|0;h=g;g=0;while(1){b=f[i+(g<<2)>>2]|0;if((b|0)==-1)k=h;else{l=f[c>>2]|0;m=f[l+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;n=(((b>>>0)%3|0|0)==0?2:-1)+b|0;a:do if(((n|0)!=-1?(o=f[(f[d>>2]|0)+(n<<2)>>2]|0,(o|0)!=-1):0)?(p=o+(((o>>>0)%3|0|0)==0?2:-1)|0,(p|0)!=-1&(p|0)!=(b|0)):0){o=0;q=p;p=m;while(1){r=f[l+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;s=o+((r|0)!=(p|0)&1)|0;t=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((t|0)==-1){u=s;v=r;break a}w=f[(f[d>>2]|0)+(t<<2)>>2]|0;if((w|0)==-1){u=s;v=r;break a}q=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if(!((q|0)!=-1&(q|0)!=(b|0))){u=s;v=r;break}else{o=s;p=r}}}else{u=0;v=m}while(0);l=b+1|0;n=((l>>>0)%3|0|0)==0?b+-2|0:l;if((n|0)!=-1?(l=f[(f[d>>2]|0)+(n<<2)>>2]|0,n=l+1|0,(l|0)!=-1):0)x=u+(((v|0)==(m|0)&(u|0?((((n>>>0)%3|0|0)==0?l+-2|0:n)|0)!=-1:0))<<31>>31)|0;else x=u;k=x+h|0}g=g+1|0;if(g>>>0>=e>>>0){j=k;break}else h=k}}f[a+52>>2]=j;return}function $e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=ul(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)nq(e);else{n=vn(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);uj(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);Oj(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);br(a)}u=d;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Gn(a+12|0);Go(a+44|0);Go(a+64|0);Go(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+140|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+152|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Go(a+12|0);Go(a+32|0);Go(a+52|0);Go(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+128|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+140|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=vn(40)|0;e=d+16|0;rj(e,c);rj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0>>0?n:j;if((l|0)!=0?(o=al(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function df(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3808;xi(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}mj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+140>>2]|0;if(b|0)br(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;br(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)br(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0)br(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ji(a);br(a);return}function ef(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+140|0;c=f[b>>2]|0;if(c|0){d=a+144|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;ql(n);o=a+52|0;ql(o);p=a+32|0;ql(p);q=a+12|0;ql(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+72|0;ql(n);o=a+52|0;ql(o);p=a+32|0;ql(p);q=a+12|0;ql(q);return}function ff(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Eh(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(wb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(wb(e,c)|0)){n=0;o=15;break}i=f[l>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+152|0;c=f[b>>2]|0;if(c|0){d=a+156|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;ql(n);o=a+64|0;ql(o);p=a+44|0;ql(p);q=a+12|0;Ij(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+84|0;ql(n);o=a+64|0;ql(o);p=a+44|0;ql(p);q=a+12|0;Ij(q);return}function hf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3608;xj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}mj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+140>>2]|0;if(b|0)br(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;br(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)br(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0)br(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ji(a);br(a);return}function jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=vn(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3784;f[j+12>>2]=3764;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3764;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3764;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,m,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];gg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Ug(j,i);f[a>>2]=o;Si(i);f[h>>2]=3764;i=f[h+20>>2]|0;if(i|0)br(i);i=f[h+8>>2]|0;if(!i){u=e;return}br(i);u=e;return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}Gn(i);Ak(i);if((f[h>>2]|0)>0){k=a+56|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;hj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Ij(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(i);u=c;return 1}function lf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=vn(96)|0;Al(j,c);f[h>>2]=j;j=vh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;br(h)}br(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);br(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;br(k)}br(l)}br(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){Eh(m,h-q|0,6376);break}if(h>>>0>>0?(q=p+(h<<2)|0,(q|0)!=(r|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}Ej(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function mf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)$q(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;nq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Bc(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)nq(x);return 0}function nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;br(a)}if((b[s+11>>0]|0)<0)br(f[s>>2]|0);br(d);return c|0}function of(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+56|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(n*12|0)>>2]|0;s=r-m|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((h|0)==(p|0)){Ti(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[h>>2]=t;t=h+4|0;f[e>>2]=t;v=t;w=p}t=f[q+(n*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ti(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(n*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ti(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=n+1|0;if(t>>>0>=j>>>0)break;m=r;n=t;o=f[g>>2]|0;h=f[e>>2]|0;p=f[i>>2]|0}k=f[c>>2]|0;l=f[e>>2]|0}Mc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);br(a);u=b;return 1}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}Gn(i);Ak(i);if((f[h>>2]|0)>0){k=a+76|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;hj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Ij(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(i);u=c;return 1}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=vn(76)|0;j=vn(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=4052;f[j+8>>2]=k;f[h>>2]=j;yl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Sg(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Va[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ti(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0>>0?(g=m+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{Eh(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function rf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)$q(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;nq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Ac(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)nq(x);return 0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){o=c;p=f[o+4>>2]|0;q=m;f[q>>2]=f[o>>2];f[q+4>>2]=p;j=j+-1|0;if(!j)break;else m=m+8|0}}if(!l){m=h+(b<<3)|0;if((m|0)==(n|0))return;else{r=i;s=n+(~((n+-8-m|0)>>>3)<<3)|0;break}}else{m=b-k|0;j=m;p=n;while(1){q=c;o=f[q+4>>2]|0;t=p;f[t>>2]=f[q>>2];f[t+4>>2]=o;j=j+-1|0;if(!j)break;else p=p+8|0}r=i;s=n+(m<<3)|0;break}}else{p=g;if(!g)u=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-8-g|0)>>>3)<<3);br(p);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)nq(a);j=u>>2;p=u>>3>>>0<268435455?(j>>>0>>0?b:j):536870911;if(p>>>0>536870911)nq(a);j=vn(p<<3)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(p<<3);p=b;l=j;while(1){o=c;t=f[o+4>>2]|0;q=l;f[q>>2]=f[o>>2];f[q+4>>2]=t;p=p+-1|0;if(!p)break;else l=l+8|0}r=k;s=j+(b<<3)|0}while(0);f[r>>2]=s;return}function tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=+$(n[b>>2]);g=+K(+e);h=+$(n[b+4>>2]);i=g+ +K(+h);g=+$(n[b+8>>2]);j=i+ +K(+g);b=j>1.0e-06;i=1.0/j;k=f[a+12>>2]|0;j=+(k|0);l=~~+J(+((b?i*e:1.0)*j+.5));m=~~+J(+((b?i*h:0.0)*j+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?i*g:0.0)<0.0?0-m|0:m;do if(!o){if((q|0)<0)r=(p|0)>-1?p:0-p|0;else r=(f[a+8>>2]|0)-((p|0)>-1?p:0-p|0)|0;if((p|0)<0){s=(q|0)>-1?q:0-q|0;t=r;break}else{s=(f[a+8>>2]|0)-((q|0)>-1?q:0-q|0)|0;t=r;break}}else{s=k+p|0;t=k+q|0}while(0);q=(t|0)==0;p=(s|0)==0;r=f[a+8>>2]|0;if(!(s|t)){u=r;v=r;f[c>>2]=u;f[d>>2]=v;return}a=(r|0)==(s|0);if(q&a){u=s;v=s;f[c>>2]=u;f[d>>2]=v;return}o=(r|0)==(t|0);if(p&o){u=t;v=t;f[c>>2]=u;f[d>>2]=v;return}if(q&(k|0)<(s|0)){u=0;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(o&(k|0)>(s|0)){u=t;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(t|0)){u=(k<<1)-t|0;v=s;f[c>>2]=u;f[d>>2]=v;return}if(!p){u=t;v=s;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(t|0)?(k<<1)-t|0:t;v=0;f[c>>2]=u;f[d>>2]=v;return}function uf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Kg(d);m=a+1068|0;Vm(m);k=a+1088|0;Vm(k);l=a+1108|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];ib(a,i,h);Ye(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Kg(d);m=a+1068|0;Vm(m);k=a+1088|0;Vm(k);l=a+1108|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];kb(a,i,h);Ye(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){uj(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)nq(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;ap(p,16422);f[p>>2]=7412;va(p|0,1160,122)}else{r=vn(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;uj(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;li(d);u=c;return}function xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function zf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))zi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}function Af(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(b|0)){l=q+8|0;if((((d[l>>1]|0)==c<<16>>16?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function Bf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Vm(d);m=a+32|0;Vm(m);k=a+52|0;Vm(k);l=a+72|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];hb(a,i,h);Gg(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function Cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Ak(d);m=a+44|0;Vm(m);k=a+64|0;Vm(k);l=a+84|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];lb(a,i,h);ld(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)nq(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1260;f[k+(e*24|0)+4>>2]=f[b+4>>2];mk(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=k;k=g;g=d;do{f[g+-24>>2]=1260;f[g+-20>>2]=f[j+-20>>2];d=g+-16|0;o=j+-16|0;f[d>>2]=0;p=g+-12|0;f[p>>2]=0;f[g+-8>>2]=0;f[d>>2]=f[o>>2];d=j+-12|0;f[p>>2]=f[d>>2];p=j+-8|0;f[g+-8>>2]=f[p>>2];f[p>>2]=0;f[d>>2]=0;f[o>>2]=0;f[g+-4>>2]=f[j+-4>>2];j=j+-24|0;g=k+-24|0;k=g}while((j|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Va[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;br(m);return}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3716;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)nq(i);else{o=((n+-1|0)>>>5)+1|0;p=vn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)nq(i);k=((l+-1|0)>>>5)+1|0;l=vn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);u=c;return}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(c|0)){l=q+8|0;if((((b[l>>0]|0)==d<<24>>24?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function Hf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;nq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];ub(l,h,b,w)|0;m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)nq(y);return 0}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3764;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)nq(i);else{o=((n+-1|0)>>>5)+1|0;p=vn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)nq(i);k=((l+-1|0)>>>5)+1|0;l=vn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);u=c;return}function Jf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;Dd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;Bd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Kf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;nq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];tb(l,h,b,w)|0;m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)nq(y);return 0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)qm(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((b|0)==(c|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);br(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)nq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(m>>>0>1073741823)nq(a);h=vn(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((k|0)==(m|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){uj(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)nq(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{n=vn(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;uj(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);br(m)}}while((c|0)!=(g|0))}if(!p)return;br(p);return}function Nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-4177920|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+4194304|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1077936128|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Of(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-2080768|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+6291456|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1075838976|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1032192|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+7340032|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074790400|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Qf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g<<1,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Rf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g<<2,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Sf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-245760|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8126464|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074003968|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-114688|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8257536|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073872896|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];we(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;qm(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function Vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-16384|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8355840|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073774592|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=25;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=25;break}k=f[k>>2]|0;if(!k){i=0;o=25;break}}if((o|0)==25)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){if((((f[p+8>>2]|0)==(c|0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=25;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=25;break}}p=f[p>>2]|0;if(!p){i=0;o=25;break}}if((o|0)==25)return i|0;return 0}function Xf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Yf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;qd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;pd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=0;i=a+12|0;j=a+8|0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=0;l=e;while(1){e=f[l>>2]|0;m=f[d+(e<<2)>>2]|0;if(m>>>0>>0)n=a;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(e<<2)>>2]|0;else t=e;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}l=l+4|0;if((l|0)==(g|0)){h=n;i=k;j=c;break}else a=n}}n=f[i>>2]|0;a=f[j>>2]|0;if((n-a|0)>0){u=0;v=a;w=n}else return;while(1){n=f[v+(u<<2)>>2]|0;b[n+84>>0]=0;a=n+68|0;c=n+72|0;n=f[c>>2]|0;k=f[a>>2]|0;g=n-k>>2;l=k;k=n;if(h>>>0<=g>>>0)if(h>>>0>>0?(n=l+(h<<2)|0,(n|0)!=(k|0)):0){f[c>>2]=k+(~((k+-4-n|0)>>>2)<<2);x=v;y=w}else{x=v;y=w}else{Eh(a,h-g|0,6376);x=f[j>>2]|0;y=f[i>>2]|0}u=u+1|0;if((u|0)>=(y-x>>2|0))break;else{v=x;w=y}}return}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);br(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)nq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)nq(a);h=vn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function $f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;b[m>>0]=j;b[m+1>>0]=j>>>8;n=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;o=j+8372224|0;b[m>>0]=o;b[m+1>>0]=o>>>8;b[m+2>>0]=o>>>16;n=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;o=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+-1073758208|0;b[o>>0]=m;b[o+1>>0]=m>>>8;b[o+2>>0]=m>>>16;b[o+3>>0]=m>>>24;n=(f[l>>2]|0)+4|0;break}else{n=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;n=(f[l>>2]|0)+1|0}while(0);k=((n|0)<0)<<31>>31;Rn(e);Ah(n,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,n|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,n|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);br(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)nq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)nq(a);h=vn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function bg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+80|0;h=g;i=g+64|0;Pl(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X(bm(5)|0,d)|0;Mj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=vn(96)|0;Al(k,h);Ej(k,c)|0;f[i>>2]=k;ij(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;br(i)}br(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);br(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c)}br(h)}br(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0>>0){Eh(a,e-i|0,1596);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((i|0)==(d|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=m;m=k;k=n;while(1){n=f[a>>2]|0;f[d>>2]=n;if((m|0)==(f[b>>2]|0)){Ti(g,d);o=f[l>>2]|0}else{f[m>>2]=n;f[i>>2]=m+4;o=k}n=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((n|0)<(q|0)){s=r;t=n;v=o}else{w=n+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0>>0?(p=r+(w<<2)|0,(p|0)!=(x|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=n;z=r;A=o}else{y=n;z=r;A=o}else{Eh(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}m=f[i>>2]|0;f[s+(t<<2)>>2]=(m-(f[g>>2]|0)>>2)+-1;a=a+4|0;if((a|0)==(h|0))break;else k=v}u=c;return}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)br(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)br(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Di(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(rc(a,d)|0)){s=0;u=c;return s|0}fb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function eg(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){k=p+8|0;if(((d[k>>1]|0)==c<<16>>16?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function fg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=ho(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=ko(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=k;n=h;o=i}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=ho(h|0,i|0,8,0)|0;i=q+(0-k)|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;Ah(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;qm(i+q|0,i+8|0,j|0)|0;kh(i|0,f[d>>2]|0,q|0)|0;i=e;h=ho(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)br(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;br(h)}h=e;l=p;m=p;n=f[h>>2]|0;o=f[h+4>>2]|0}h=f[l>>2]|0;l=f[a>>2]|0;p=h-l|0;k=jo(j|0,g|0,n|0,o|0)|0;o=ho(k|0,I|0,p|0,0)|0;k=l;l=h;if(p>>>0>=o>>>0){if(p>>>0>o>>>0?(h=k+o|0,(h|0)!=(l|0)):0)f[m>>2]=h}else Gi(a,o-p|0);p=e;f[p>>2]=0;f[p+4>>2]=0;u=c;return}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{br(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)nq(c);else{j=((k+-1|0)>>>5)+1|0;l=vn(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);qm(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{br(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)nq(h);else{n=((p+-1|0)>>>5)+1|0;c=vn(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);qm(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Sk(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Sk(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Sk(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);br(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)nq(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)nq(a);j=vn(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function jg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=jh(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=i>>>0)nq(k);m=g;if(l>>>0<=j>>>0)nq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)nq(k);if(l>>>0<=e>>>0)nq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)nq(k);if(l>>>0<=d>>>0)nq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)nq(k);if(l>>>0<=c>>>0)nq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|0}function kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(c|0)){k=p+8|0;if(((b[k>>0]|0)==d<<24>>24?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function lg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Jg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Xa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)Qp(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;di(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(Df(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;di(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Me(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);di(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(Df(0,b,e+8|0)|0)){m=0;r=10;break}mg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 0}function ng(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Tb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Tb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=vn(76)|0;Fn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Sg(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ti(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0>>0?(g=a+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{Eh(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);br(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)nq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)nq(a);j=vn(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;kh(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;kh(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function qg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+96|0;h=g+40|0;i=g;Ym(h,d);Ke(i,c,d);Mh(h,i);Hj(i+24|0,f[i+28>>2]|0);Sj(i+12|0,f[i+16>>2]|0);Hj(i,f[i+4>>2]|0);ej(a,h,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[h+40>>2];f[c+44>>2]=f[h+44>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}f[h>>2]=3496;Hj(h+28|0,f[h+32>>2]|0);Sj(h+16|0,f[h+20>>2]|0);Hj(h+4|0,f[h+8>>2]|0);u=g;return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;if(!(zh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=vn(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14821;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Lh(d,g)|0)!=0):0)o=Ok(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Ok(i,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}vp(a+40|0,o);h=1;u=e;return h|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=23;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=23;break}j=f[j>>2]|0;if(!j){h=0;n=23;break}}if((n|0)==23)return h|0}else o=a;while(1){a=f[o+4>>2]|0;if((a|0)==(b|0)){if(((f[o+8>>2]|0)==(c|0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=23;break}}else{if(a>>>0>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=23;break}}o=f[o>>2]|0;if(!o){h=0;n=23;break}}if((n|0)==23)return h|0;return 0}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;br(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)nq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)nq(a);i=vn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{o=c;c=k;while(1){b[c>>0]=b[o>>0]|0;o=o+1|0;if((o|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[n>>2]|0)==(p|0))return;f[n>>2]=p;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=ho(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=ho(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<>2]&~i|i&e<>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ti(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<>2]&~l|l&e<>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ti(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function wg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Wb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Wb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{qm(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;ap(m,16422);f[m>>2]=7412;va(m|0,1160,122)}m=vn(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{br(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;p=c+4|0;f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;q=f[m+4>>2]|0;m=a+20|0;if((q|0)>0|(q|0)==0&k>>>0>0){r=q;s=k;t=g}else{f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,m,m+4|0)|0;m=l;r=f[m+4>>2]|0;s=f[m>>2]|0;t=g}}else{r=o;s=n;t=g}b[h>>0]=f[i>>2];if(!((r|0)>0|(r|0)==0&s>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=_q((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){$q(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=0;r=n;n=a;s=a;a=m;while(1){m=f[r+(j<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(m<<2)>>2]|0;else t=m;m=s+48|0;v=f[m>>2]|0;w=f[m+4>>2]|0;m=s+40|0;x=f[m>>2]|0;y=En(x|0,f[m+4>>2]|0,t|0,0)|0;m=ho(y|0,I|0,v|0,w|0)|0;kh(k|0,(f[f[s>>2]>>2]|0)+m|0,x|0)|0;x=o;m=f[x+4>>2]|0;if((m|0)>0|(m|0)==0&(f[x>>2]|0)>>>0>0){z=r;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Me(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=j+1|0;if(x>>>0>=A-z>>2>>>0)break;m=f[i>>2]|0;j=x;r=z;n=m;s=m;a=A}$q(k);u=e;return 1}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1)break;d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1)break;else l=d}e=0;g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;f[c>>2]=g;return e|0}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=al(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=al(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;xe(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;qm(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Eg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=vn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14805;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ok(i,h,-1)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);switch(j|0){case -1:{if((ni(i)|0)==10)n=6;else n=5;break}case 1:{n=5;break}default:n=6}if((n|0)==5){j=vn(68)|0;Zo(j);o=j}else if((n|0)==6){n=vn(64)|0;Ip(n);o=n}Io(o,d);zd(a,o,i,e);if(f[a>>2]|0){p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Va[r&127](o);u=g;return}e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[o+52>>2];f[c+44>>2]=f[o+60>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Va[r&127](o);u=g;return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(j>>>0>k>>>0){m=j;n=((m-l>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-m|0;m=p>>2;if(!m)q=j;else{qm(o|0,j|0,p|0)|0;q=f[i>>2]|0}p=o+(m<<2)|0;f[c>>2]=p;f[i>>2]=q+(n<<2);r=p;break}p=h-l>>1;l=(p|0)==0?1:p;if(l>>>0>1073741823){p=ra(8)|0;ap(p,16422);f[p>>2]=7412;va(p|0,1160,122)}p=vn(l<<2)|0;n=p;m=p+(l>>>2<<2)|0;o=m;s=p+(l<<2)|0;if((j|0)==(d|0)){t=o;u=k}else{k=m;m=o;l=j;do{f[k>>2]=f[l>>2];k=m+4|0;m=k;l=l+4|0}while((l|0)!=(d|0));t=m;u=f[a>>2]|0}f[a>>2]=n;f[i>>2]=o;f[c>>2]=t;f[e>>2]=s;if(!u)r=t;else{br(u);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ti(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}function Hg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=a+4|0;a=vn(32)|0;f[k>>2]=a;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=a;m=14821;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[a+17>>0]=0;$j(Id(c,j)|0,k,d);if((b[k+11>>0]|0)<0)br(f[k>>2]|0);d=vn(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14740;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;ti(Id(c,j)|0,k,g,e);if((b[k+11>>0]|0)<0)br(f[k>>2]|0);e=vn(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14760;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Yj(Id(c,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}br(f[k>>2]|0);u=i;return}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;br(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)nq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)nq(a);i=vn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)qm(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){uj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)nq(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{n=vn(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;uj(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Va[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;br(p);return}function Kg(a){a=a|0;Ak(a);Ak(a+32|0);Ak(a+64|0);Ak(a+96|0);Ak(a+128|0);Ak(a+160|0);Ak(a+192|0);Ak(a+224|0);Ak(a+256|0);Ak(a+288|0);Ak(a+320|0);Ak(a+352|0);Ak(a+384|0);Ak(a+416|0);Ak(a+448|0);Ak(a+480|0);Ak(a+512|0);Ak(a+544|0);Ak(a+576|0);Ak(a+608|0);Ak(a+640|0);Ak(a+672|0);Ak(a+704|0);Ak(a+736|0);Ak(a+768|0);Ak(a+800|0);Ak(a+832|0);Ak(a+864|0);Ak(a+896|0);Ak(a+928|0);Ak(a+960|0);Ak(a+992|0);Ak(a+1024|0);return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)qm(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;kh(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);br(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)nq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)nq(a);j=vn(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;kh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(g);else{j=vn(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;uj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=k;n=j;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{j=l+(f[a+(g<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;r=0.0;b=0;while(1){g=f[l+(b<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=c+1|0;v=r+ +_g(s/o)*s}else{t=c;v=r}b=b+1|0;if((b|0)==(h|0)){p=t;q=v;break}else{c=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!l){I=d;u=e;return p|0}if((m|0)!=(l|0))f[i>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(n);I=d;u=e;return p|0}function Ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e+4|0;h=e;i=vn(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ph(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))Dh(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ti(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;br(b)}br(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);br(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(h)}br(c);u=d;return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Fo(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=Fo(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6348;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}ii(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){dj(i);br(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}br(g)}dj(a);br(a);return}function Rg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)nq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;br(m);return}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=al(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=al(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];gg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{pg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);pg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);pg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Lg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)nq(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;ap(i,16422);f[i>>2]=7412;va(i|0,1160,122)}else{l=vn(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)kh(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;br(e);return}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)nq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){dj(n);br(n)}}while((h|0)!=(g|0))}if(!m)return;br(m);return}function Xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)nq(h);j=d;if(i>>>0<=g>>>0)nq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)nq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)nq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)nq(h);if(i>>>0<=c>>>0)nq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+96|0;g=e+40|0;h=e;Um(g,c);Ke(h,b,c);Mh(g,h);Hj(h+24|0,f[h+28>>2]|0);Sj(h+12|0,f[h+16>>2]|0);Hj(h,f[h+4>>2]|0);ej(a,g,d);f[g>>2]=3496;Hj(g+28|0,f[g+32>>2]|0);Sj(g+16|0,f[g+20>>2]|0);Hj(g+4|0,f[g+8>>2]|0);u=e;return}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(b|0)!=(j|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Vg(h,c-k|0,e);k=0;b=f[h>>2]|0;while(1){j=k*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=((f[i>>2]|0)-b|0)/12|0;o=k;k=k+1|0;if(o>>>0>>0){p=b;q=b}else{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Vg(h,k-j|0,e);j=f[h>>2]|0;p=j;q=j}f[p+(o*12|0)>>2]=l;f[p+(o*12|0)+4>>2]=m;f[p+(o*12|0)+8>>2]=n;if((k|0)==(c|0)){g=1;break}else b=q}u=a;return g|0}function _g(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=-1077;i=g;j=f[s>>2]|0;k=g;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=-1023;i=c;j=b;k=c;l=9}else e=a;while(0);if((l|0)==9){l=i+614242|0;f[s>>2]=j;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;j=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=j;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(h+(l>>>20)|0);m=q+o;e=m+(q+(o-m)+(t*1.4426950407214463+(t+r)*1.6751713164886512e-10))}return +e}function $g(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14624;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Lh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Ok(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}br(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Og(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);br(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(h)}br(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Hh(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function bh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Lh(h,e)|0)==0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ni(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(ak(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);u=d;return 1}function ch(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;di(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;di((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;di((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}Ai(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(1<>0]|0);i=(f[j>>2]|0)+l|0;b[i>>0]=k<>0]|0);f[d>>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0>>0);fg(f[(f[g>>2]|0)+44>>2]|0);return 1}function dh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Lh(h,e)|0)==0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ni(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(ak(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);u=d;return 1}function eh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Od(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=_q(o)|0;uj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Od(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];$q(e);u=g;return 1}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)nq(d);else{l=vn(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);uj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0>>0)}Oj(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);br(a);u=c;return}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)nq(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Ro(a,j,(e&255)+1|0)|0;br(j);o=16}}else{j=k+1|0;p=vn(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Ro(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Ro(n,m,(f[j>>2]|0)+1|0)|0;br(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=k+2|0;m=h;break}else{l=k+-1|0;m=h;break}}else{h=a;k=g;while(1){i=h+1|0;n=k+1|0;o=((n>>>0)%3|0|0)==0?k+-2|0:n;if((o|0)==-1){l=b;m=i;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=b;m=i;break b}k=((o>>>0)%3|0|0)==0?n+-2|0:o;if((k|0)==-1){l=b;m=i;break b}if((k|0)==(b|0)){d=i;j=15;break a}else h=i}}while(0);if((l|0)==-1){d=m;j=15;break}else{a=m;e=1;g=l}}if((j|0)==15)return d|0;return 0}function ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;Xg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=e;n=c;o=j;while(1){f[n>>2]=o;if((m|0)==(a|0)){p=a;break}j=m+-4|0;o=f[j>>2]|0;if(h>>>0<=o>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(o<<3)>>2]|0)>>>0){p=m;break}else{q=m;m=j;n=q}}f[p>>2]=d}n=c+4|0;if((n|0)==(b|0)){k=3;break}else{m=c;c=n;e=m}}if((k|0)==3)return;else if((k|0)==5)nq(g);else if((k|0)==7)nq(g);else if((k|0)==11)nq(g)}function jh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Xg(a,b,c,e)|0;h=f[d>>2]|0;i=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=h>>>0)nq(j);l=e;if(k>>>0<=i>>>0)nq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)nq(j);if(k>>>0<=d>>>0)nq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)nq(j);if(k>>>0<=c>>>0)nq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1296;g=a+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ti(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0>>0?(j=m+(a<<2)|0,(j|0)!=(w|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{Eh(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function mh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ra[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0>>0?(d=h+(j<<2)|0,(d|0)!=(e|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else Di(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)?(h=f[c>>2]|0,k=e-b>>2,f[h+(f[i>>2]<<2)>>2]=j,k>>>0>1):0){b=1;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0>>0)}j=j+1|0}while(j>>>0>>0);g=1;return g|0}function nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Di(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function oh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(sp(a,f[c+8>>2]|0,g)|0)){if(!(sp(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Za[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;_a[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else dn(0,c,d,e);while(0);return}function ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Ld(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=vn(40)|0;rj(c+16|0,d);rj(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Oe(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function qh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)nq(a);n=j<<6;j=c+31&-32;wi(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)br(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){uj(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{uj(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+88|0;ld(n,b);u=c;return 1}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+108|0;ld(n,b);u=c;return 1}function th(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+32|0;d=f[a+64>>2]|0;e=(Qa[f[(f[d>>2]|0)+40>>2]&127](d)|0)+56|0;d=f[e>>2]|0;Ai(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){fg(c);return}i=a+48|0;j=a+44|0;a=(g>>>2)+-1|0;g=e;while(1){e=f[g+(a<<2)>>2]|0;k=f[3652+(e<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>e&1|0):0){m=l+4|0;n=0;o=f[m>>2]|0;do{p=o>>>3;q=o&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(1<>0]|0);r=(f[l>>2]|0)+p|0;b[r>>0]=(e>>>n&1)<>0]|0);o=(f[m>>2]|0)+1|0;f[m>>2]=o;n=n+1|0}while((n|0)!=(k|0))}k=a+-1|0;if((k|0)<=-1)break;a=k;g=f[d>>2]|0}fg(c);return}function uh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Rn(h);do if((lm(c,0)|0)!=-1){if(d){if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Va[f[(f[c>>2]|0)+20>>2]&127](c)}Yg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)br(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;ug(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)br(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}j=k;u=g;return j|0}function vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Xa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;br(d)}br(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);br(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;br(a)}br(e)}br(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function wh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+352>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Hi(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[i+56>>2]|0))j=h;else{k=f[g>>2]|0;f[k+(h*136|0)>>2]=a;l=f[k+(h*136|0)+104>>2]|0;m=k+(h*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;nk(k+(h*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(h*136|0)+128>>2]=0;Gc(l+(h*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=h+1|0}a=a+1|0;if((a|0)>=(d|0))break;else h=j}return 1}function xh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+288>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Hi(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[i+56>>2]|0))j=h;else{k=f[g>>2]|0;f[k+(h*136|0)>>2]=a;l=f[k+(h*136|0)+104>>2]|0;m=k+(h*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;nk(k+(h*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(h*136|0)+128>>2]=0;Gc(l+(h*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=h+1|0}a=a+1|0;if((a|0)>=(d|0))break;else h=j}return 1}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)nq(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;ap(h,16422);f[h>>2]=7412;va(h|0,1160,122)}else{k=vn(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)kh(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;br(d);return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;if(!(mn(a,b,c)|0)){g=0;u=d;return g|0}if((Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){g=0;u=d;return g|0}h=$g(c,f[b+48>>2]|0)|0;Xa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(!c){f[e>>2]=0;i=b}else{Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);i=f[h>>2]|0}if(!i){g=1;u=d;return g|0}if(Ra[f[(f[a>>2]|0)+36>>2]&127](a,i)|0){g=1;u=d;return g|0}i=f[h>>2]|0;f[h>>2]=0;if(!i){g=1;u=d;return g|0}Va[f[(f[i>>2]|0)+4>>2]&127](i);g=1;u=d;return g|0}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;k=ko(a|0,c|0,7)|0;m=Ah(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function Bh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Zi(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((Qa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Yf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=vn(44)|0;f[c>>2]=1608;f[c+4>>2]=g;g=c+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);f[c>>2]=1664;i=c}f[a>>2]=i;return}function Ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((qb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=gr(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=qb(a,c,g,i,h)|0;if(!o)s=j;else{Sa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=qb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)fr(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){wf(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;br(h)}br(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);br(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(a)}br(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)nq(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}else{e=vn(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)kh(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;br(i);return}function Fh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=tp(f[a+8>>2]|0,e)|0;h=tp(f[a+12>>2]|0,e)|0;i=tp(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=tp(f[a+(q<<2)>>2]|0,e)|0;s=tp(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=ol(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=tp(f[a+(m<<2)>>2]|0,e)|0;j=tp(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Gh(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(sp(l,e,0)|0){f[i+48>>2]=1;_a[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Za[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)nq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{d=vn(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)kh(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;br(h);return}function Ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)br(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)br(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;qh(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;qh(a+12|0,k,e);ig(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6336);nk(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);nk(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Jh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Td(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Td(a,e);return}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=al(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=al(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function Mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=a+4|0;j=(i|0)==(b|0);if(!j){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(i,e,d)}if(!j){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Hc(a+16|0,e,d)}if(j){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(a+28|0,e,d);u=c;return}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;bg(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=0;p=d;while(1){d=f[p>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(d<<2)>>2]|0;else q=d;f[h>>2]=q;d=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Qb(i,g,d,a+(o<<2)|0)|0)){m=0;r=7;break}p=p+4|0;if((p|0)==(c|0)){m=1;r=7;break}else o=o+k|0}if((r|0)==7){u=e;return m|0}return 0}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1472;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=f[a+48>>2]|0;if(c|0)br(c);c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Va[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}br(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);br(g);return}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(h|0)!=(i|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else Di(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=j;e=j;h=1;while(1){i=f[b+(h<<2)>>2]|0;g=(i|0)<(e|0);k=g?i:e;l=g?d:(i|0)>(d|0)?i:d;h=h+1|0;if((h|0)==(c|0)){m=l;n=k;break}else{d=l;e=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=jo(m|0,((m|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Qh(a){a=a|0;Ij(a+992|0);Ij(a+960|0);Ij(a+928|0);Ij(a+896|0);Ij(a+864|0);Ij(a+832|0);Ij(a+800|0);Ij(a+768|0);Ij(a+736|0);Ij(a+704|0);Ij(a+672|0);Ij(a+640|0);Ij(a+608|0);Ij(a+576|0);Ij(a+544|0);Ij(a+512|0);Ij(a+480|0);Ij(a+448|0);Ij(a+416|0);Ij(a+384|0);Ij(a+352|0);Ij(a+320|0);Ij(a+288|0);Ij(a+256|0);Ij(a+224|0);Ij(a+192|0);Ij(a+160|0);Ij(a+128|0);Ij(a+96|0);Ij(a+64|0);Ij(a+32|0);Ij(a);return}function Rh(a){a=a|0;Gn(a);Gn(a+32|0);Gn(a+64|0);Gn(a+96|0);Gn(a+128|0);Gn(a+160|0);Gn(a+192|0);Gn(a+224|0);Gn(a+256|0);Gn(a+288|0);Gn(a+320|0);Gn(a+352|0);Gn(a+384|0);Gn(a+416|0);Gn(a+448|0);Gn(a+480|0);Gn(a+512|0);Gn(a+544|0);Gn(a+576|0);Gn(a+608|0);Gn(a+640|0);Gn(a+672|0);Gn(a+704|0);Gn(a+736|0);Gn(a+768|0);Gn(a+800|0);Gn(a+832|0);Gn(a+864|0);Gn(a+896|0);Gn(a+928|0);Gn(a+960|0);Gn(a+992|0);return}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=vn(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=vn(44)|0;Vb(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;tk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}dj(j);br(j);g=1;u=a;return g|0}function Th(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;c=u;u=u+64|0;j=c;k=i?6:5;Pl(j);i=f[h+56>>2]|0;h=X(bm(k)|0,e)|0;Mj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=vn(96)|0;Al(h,j);f[a>>2]=h;Ej(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0>>0){Eh(d,g-j|0,1280);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((j|0)==(e|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rd(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){vd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;vd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Gd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Gd(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Pd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Pd(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){td(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;td(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ad(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ad(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Kd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Kd(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;sd(a,e);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){wd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;wd(a,e);return}function bi(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Hd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Hd(a,e);return} -function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=hc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=_b(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=uc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=mc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=gc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=$b(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=sc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=lc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=gc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=$b(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=sc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=lc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=ec(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Xb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=nc(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=jc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=ec(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Xb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=nc(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=jc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=hc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=_b(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=uc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=mc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=hc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=_b(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=uc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=mc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ra[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(Qa[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(Qa[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(f[n+80>>2]|0,i)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)nq(j);else{v=r<<2;w=vn(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;uj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Ta[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=s;A=f[j>>2]|0;p=20;break}if(!(Qa[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=f[m>>2]|0?x:s;A=x;p=20}}else{z=s;A=y;p=20}while(0);if((p|0)==20)Fm(z,r,A);A=a+4|0;a=f[A>>2]|0;do if(a){z=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=vn(48)|0;f[g>>2]=y;f[g+8>>2]=-2147483600;f[g+4>>2]=34;s=y;w=10931;x=s+34|0;do{b[s>>0]=b[w>>0]|0;s=s+1|0;w=w+1|0}while((s|0)<(x|0));b[y+34>>0]=0;w=ak(z,g,1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;s=0;x=0;do{x=f[w+(s<<2)>>2]|x;s=s+1|0}while((s|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;s=o;w=f[s>>2]|0;z=f[s+4>>2]|0;if((z|0)>0|(z|0)==0&w>>>0>0){C=z;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}if((B|0)==(bm(5)|0)){w=f[j>>2]|0;z=o;s=f[z+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[z>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;z=0;do{s=(f[j>>2]|0)+(z<<2)|0;y=o;v=f[y+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[y>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Me(d,g,s,s+B|0)|0}z=z+1|0}while(z>>>0>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}yp(g);k=f[A>>2]|0;if(k|0)bk(g,10-(ni(f[k+48>>2]|0)|0)|0)|0;k=Mc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Hj(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ra[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);br(d)}q=E}l=q;u=e;return l|0}function xc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0

>>0?(r=q+(l<<2)|0,(r|0)!=(o|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=n;t=k;v=j}else{s=n;t=k;v=j}else{Di(g,l-p|0);p=f[h>>2]|0;s=p;t=p;v=f[i>>2]|0}p=v-t|0;l=p>>2;f[c>>2]=0;j=c+4|0;f[j>>2]=0;k=c+8|0;f[k>>2]=0;if(l|0){if((p|0)<0)nq(c);p=((l+-1|0)>>>5)+1|0;n=vn(p<<2)|0;f[c>>2]=n;f[k>>2]=p;f[j>>2]=l;j=l>>>5;uj(n|0,0,j<<2|0)|0;p=l&31;l=n+(j<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=0;j=s;s=t;t=v;while(1){if(l>>>0>2>>>0){w=0;x=0;y=l;z=s;A=j}else{B=25;break}while(1){v=x>>>5;n=1<<(x&31);do if(!(f[(f[c>>2]|0)+(v<<2)>>2]&n)){k=f[A+(x<<2)>>2]|0;if((f[k+8>>2]|0)!=(f[k+4>>2]|0)){r=0;o=1;m=A;q=k;while(1){k=f[(f[q+4>>2]|0)+(r<<2)>>2]|0;C=0;D=m;while(1){E=f[D+(x<<2)>>2]|0;if((C|0)>=(Ra[f[(f[E>>2]|0)+24>>2]&127](E,k)|0)){F=o;break}E=f[(f[h>>2]|0)+(x<<2)>>2]|0;G=Sa[f[(f[E>>2]|0)+28>>2]&31](E,k,C)|0;if((G|0)!=(x|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=C+1|0;D=f[h>>2]|0}r=r+1|0;m=f[h>>2]|0;q=f[m+(x<<2)>>2]|0;if(r>>>0>=(f[q+8>>2]|0)-(f[q+4>>2]|0)>>2>>>0)break;else o=F}o=m;if(F)H=o;else{I=w;J=y;K=o;break}}else H=z;f[(f[g>>2]|0)+(y<<2)>>2]=x;o=(f[c>>2]|0)+(v<<2)|0;f[o>>2]=f[o>>2]|n;I=1;J=y+1|0;K=H}else{I=w;J=y;K=z}while(0);x=x+1|0;L=f[i>>2]|0;M=L-K>>2;A=K;if(x>>>0>=M>>>0)break;else{w=I;y=J;z=K}}if(J>>>0>>0&(I^1)){N=0;break}else{l=J;j=A;s=K;t=L}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;L=f[a+4>>2]|0;a=(f[L+12>>2]|0)-(f[L+8>>2]|0)|0;L=a>>2;f[e>>2]=0;K=e+4|0;f[K>>2]=0;A=e+8|0;f[A>>2]=0;if(L|0){if((a|0)<0)nq(e);a=((L+-1|0)>>>5)+1|0;J=vn(a<<2)|0;f[e>>2]=J;f[A>>2]=a;f[K>>2]=L;K=L>>>5;uj(J|0,0,K<<2|0)|0;a=L&31;L=J+(K<<2)|0;if(a|0)f[L>>2]=f[L>>2]&~(-1>>>(32-a|0))}a:do if((t|0)==(s|0))O=1;else{a=0;L=j;K=s;J=t;while(1){A=f[(f[g>>2]|0)+(a<<2)>>2]|0;l=f[L+(A<<2)>>2]|0;I=(f[l+8>>2]|0)-(f[l+4>>2]|0)|0;l=I>>2;if((I|0)<8){P=K;Q=J}else{I=f[B>>2]|0;M=f[d>>2]|0;z=I-M>>2;y=M;M=I;if(l>>>0<=z>>>0)if(l>>>0>>0?(I=y+(l<<2)|0,(I|0)!=(M|0)):0){f[B>>2]=M+(~((M+-4-I|0)>>>2)<<2);R=0}else R=0;else{Di(d,l-z|0);R=0}while(1){if((R|0)<(l|0)){S=0;T=0;U=R}else break;while(1){z=f[(f[h>>2]|0)+(A<<2)>>2]|0;I=f[(f[z+4>>2]|0)+(S<<2)>>2]|0;M=S>>>5;y=1<<(S&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){w=0;x=1;H=z;while(1){if((w|0)>=(Ra[f[(f[H>>2]|0)+24>>2]&127](H,I)|0)){V=x;break}z=f[(f[h>>2]|0)+(A<<2)>>2]|0;F=Sa[f[(f[z>>2]|0)+28>>2]&31](z,I,w)|0;z=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=x&z;if(!z){V=F;break}w=w+1|0;x=F;H=f[(f[h>>2]|0)+(A<<2)>>2]|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=S;H=(f[e>>2]|0)+(M<<2)|0;f[H>>2]=f[H>>2]|y;W=1;X=U+1|0}else{W=T;X=U}}else{W=T;X=U}S=S+1|0;if((S|0)>=(l|0))break;else{T=W;U=X}}if(W|(X|0)>=(l|0))R=X;else{O=0;break a}}cg(f[(f[h>>2]|0)+(A<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}a=a+1|0;if(a>>>0>=Q-P>>2>>>0){O=1;break}else{L=P;K=P;J=Q}}}while(0);Q=f[e>>2]|0;if(Q|0)br(Q);Q=f[d>>2]|0;if(Q|0){d=f[B>>2]|0;if((d|0)!=(Q|0))f[B>>2]=d+(~((d+-4-Q|0)>>>2)<<2);br(Q)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}br(O);u=b;return N|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4886]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[4887]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4884]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4882]=f[4882]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=19832+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[4883]=f[4883]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4888]|0)==(e|0)){r=(f[4885]|0)+m|0;f[4885]=r;f[4888]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4887]|0))return;f[4887]=0;f[4884]=0;return}if((f[4887]|0)==(e|0)){r=(f[4884]|0)+m|0;f[4884]=r;f[4887]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4882]=f[4882]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=19832+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[4883]=f[4883]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4887]|0)){f[4884]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=19568+(m<<1<<2)|0;a=f[4882]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=19832+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[4883]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[4883]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[4890]|0)+-1|0;f[4890]=l;if(!l)D=19984;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[4890]=-1;return}function zc(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+56|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;di(j,f[l>>2]|0)|0;di(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=vn(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15954;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=ak(m,e,0)|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}of(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=0;r=m;while(1){s=f[r+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(q*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=w;z=t;A=x}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Me(t,e,h,o)|0;t=f[l>>2]|0;x=t+16|0;y=f[x>>2]|0;z=t;A=f[x+4>>2]|0}b[h>>0]=f[s+(q*12|0)+4>>2];if((A|0)>0|(A|0)==0&y>>>0>0){B=A;C=y;D=z}else{f[g>>2]=f[z+4>>2];f[e>>2]=f[g>>2];Me(z,e,h,p)|0;x=f[l>>2]|0;t=x+16|0;B=f[t+4>>2]|0;C=f[t>>2]|0;D=x}b[h>>0]=f[s+(q*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Me(D,e,h,n)|0}s=q+1|0;if(s>>>0>=j>>>0)break;q=s;r=f[i>>2]|0}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=0;C=m;while(1){B=f[C+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(D*12|0)>>2];z=p+16|0;y=f[z>>2]|0;A=f[z+4>>2]|0;if((A|0)>0|(A|0)==0&y>>>0>0){E=A;F=y;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,h,n)|0;p=f[l>>2]|0;y=p+16|0;E=f[y+4>>2]|0;F=f[y>>2]|0;G=p}d[h>>1]=f[B+(D*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Me(G,e,h,q)|0;p=f[l>>2]|0;y=p+16|0;H=f[y+4>>2]|0;I=f[y>>2]|0;J=p}d[h>>1]=f[B+(D*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Me(J,e,h,r)|0}B=D+1|0;if(B>>>0>=j>>>0)break;D=B;C=f[i>>2]|0}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=0;L=m}else{u=c;return 1}while(1){a=f[L+96>>2]|0;di(f[a+(K*12|0)>>2]|0,f[l>>2]|0)|0;di(f[a+(K*12|0)+4>>2]|0,f[l>>2]|0)|0;di(f[a+(K*12|0)+8>>2]|0,f[l>>2]|0)|0;a=K+1|0;if(a>>>0>=j>>>0)break;K=a;L=f[i>>2]|0}u=c;return 1}if(!C){u=c;return 1}C=0;L=m;while(1){m=(f[L+96>>2]|0)+(C*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Me(K,e,m,m+12|0)|0}m=C+1|0;if(m>>>0>=j>>>0)break;C=m;L=f[i>>2]|0}u=c;return 1}function Ac(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+32>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)nq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+48>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+52|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+48>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+44|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;B=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)nq(d);else{P=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+32>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)nq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+52|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;A=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)nq(d);else{O=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Cc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+52>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)nq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+72|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+68>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+64|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;B=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)nq(d);else{P=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Dc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)nq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+72|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;A=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)nq(d);else{O=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Ec(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Oa,F=Oa,G=Oa,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(al(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(al(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=vn(24)|0;rj(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;fi(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Fc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0.0,R=0.0,S=0,T=0.0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Ui(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=1.0;q=0.0;r=0;s=k;t=l;u=0;v=0;w=0;x=0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Ui(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Ui(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Ui(a)|0;z=ho(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=1;o=0;p=1.0;q=0.0;r=0;s=A;t=1;u=0;v=0;w=z;x=B;break}}}else{n=1;o=0;p=1.0;q=0.0;r=0;s=y;t=l;u=0;v=0;w=0;x=0}}while(1){l=s+-48|0;y=s|32;if(l>>>0>=10){A=(s|0)==46;if(!(A|(y+-97|0)>>>0<6)){C=s;break}if(A)if(!n){D=1;E=o;F=p;G=q;H=r;J=t;K=v;L=u;M=v;N=u}else{C=46;break}else m=20}else m=20;if((m|0)==20){m=0;A=(s|0)>57?y+-87|0:l;do if(!((u|0)<0|(u|0)==0&v>>>0<8))if((u|0)<0|(u|0)==0&v>>>0<14){O=p*.0625;P=o;Q=O;R=q+O*+(A|0);S=r;break}else{l=(o|0)!=0|(A|0)==0;P=l?o:1;Q=p;R=l?q:q+p*.5;S=r;break}else{P=o;Q=p;R=q;S=A+(r<<4)|0}while(0);A=ho(v|0,u|0,1,0)|0;D=n;E=P;F=Q;G=R;H=S;J=1;K=w;L=x;M=A;N=I}A=f[g>>2]|0;if(A>>>0<(f[j>>2]|0)>>>0){f[g>>2]=A+1;n=D;o=E;p=F;q=G;r=H;s=h[A>>0]|0;t=J;u=N;v=M;w=K;x=L;continue}else{n=D;o=E;p=F;q=G;r=H;s=Ui(a)|0;t=J;u=N;v=M;w=K;x=L;continue}}do if(!t){L=(f[j>>2]|0)==0;if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(!((n|0)==0|L))f[g>>2]=(f[g>>2]|0)+-1}else gn(a,0);T=+(d|0)*0.0}else{L=(n|0)==0;K=L?v:w;M=L?u:x;if((u|0)<0|(u|0)==0&v>>>0<8){L=r;N=v;J=u;while(1){s=L<<4;H=N;N=ho(N|0,J|0,1,0)|0;if(!((J|0)<0|(J|0)==0&H>>>0<7)){U=s;break}else{L=s;J=I}}}else U=r;if((C|32|0)==112){J=Re(a,e)|0;L=I;if((J|0)==0&(L|0)==-2147483648){if(!e){gn(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=J;W=L}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}L=fo(K|0,M|0,2)|0;J=ho(L|0,I|0,-32,-1)|0;L=ho(J|0,I|0,V|0,W|0)|0;J=I;if(!U){T=+(d|0)*0.0;break}N=0-c|0;s=((N|0)<0)<<31>>31;if((J|0)>(s|0)|(J|0)==(s|0)&L>>>0>N>>>0){N=ir()|0;f[N>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}N=c+-106|0;s=((N|0)<0)<<31>>31;if((J|0)<(s|0)|(J|0)==(s|0)&L>>>0>>0){N=ir()|0;f[N>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){G=q;N=U;s=L;H=J;while(1){E=!(G>=.5);o=N<<1|(E^1)&1;F=G+(E?G:G+-1.0);E=ho(s|0,H|0,-1,-1)|0;D=I;if((o|0)>-1){G=F;N=o;s=E;H=D}else{X=F;Y=o;Z=E;_=D;break}}}else{X=q;Y=U;Z=L;_=J}H=((b|0)<0)<<31>>31;s=jo(32,0,c|0,((c|0)<0)<<31>>31|0)|0;N=ho(s|0,I|0,Z|0,_|0)|0;s=I;if((s|0)<(H|0)|(s|0)==(H|0)&N>>>0>>0)if((N|0)>0){$=N;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){G=+(d|0);ca=+Gq(+ik(1.0,ba),G);da=aa;ea=G}N=(Y&1|0)==0&(X!=0.0&(da|0)<32);G=(N?0.0:X)*ea+(ca+ea*+((Y+(N&1)|0)>>>0))-ca;if(!(G!=0.0)){N=ir()|0;f[N>>2]=34}T=+Hq(G,Z)}while(0);return +T}function Gc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Ih(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)br(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)br(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=0;r=d;do{f[i>>2]=(q>>>0)/3|0;f[h>>2]=f[i>>2];d=dk(r,h)|0;r=f[l>>2]|0;do if(!d){s=f[(f[r+12>>2]|0)+(q<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(q>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(q&31);t=q+1|0;v=((t>>>0)%3|0|0)==0?q+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((v|0)==-1)x=-1;else x=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=q>>>0){v=q+1|0;t=((v>>>0)%3|0|0)==0?q+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(q&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?q+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((B|0)==-1)Q=-1;else Q=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);q=q+1|0}while(q>>>0<(f[r+4>>2]|0)-(f[r>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Rc(a,c,e);j=1;u=g;return j|0}else{md(a,0,0);j=1;u=g;return j|0}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=n;n=f[b>>2]|0;while(1){if((n|0)==(f[c>>2]|0))break;o=k+16|0;f[o>>2]=f[n+16>>2];if((k|0)!=(n|0)){f[h>>2]=f[n+20>>2];f[i>>2]=n+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k+20|0,g,e)}p=k+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(k|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[o>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=22;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=25;break}else z=x}s=z}if((y|0)==22){y=0;B=s;C=s;break}else if((y|0)==25){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[k>>2]=0;f[k+4>>2]=0;f[p>>2]=B;f[C>>2]=k;q=f[f[a>>2]>>2]|0;if(!q)D=k;else{f[a>>2]=q;D=f[C>>2]|0}Oe(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[n+4>>2]|0;if(!q){o=n+8|0;r=f[o>>2]|0;if((f[r>>2]|0)==(n|0))E=r;else{r=o;do{o=f[r>>2]|0;r=o+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(o|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=t;n=E}}n=f[k+8>>2]|0;if(!n)F=k;else{m=n;while(1){n=f[m+8>>2]|0;if(!n)break;else m=n}F=m}Sj(a,F)}while(0);F=f[b>>2]|0;E=f[c>>2]|0;if((F|0)==(E|0)){u=d;return}c=a+4|0;t=a+4|0;D=F;while(1){Ng(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=43;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=46;break}else G=z}A=G}if((y|0)==43){y=0;I=A;J=A;K=C;break}else if((y|0)==46){y=0;I=A;J=H;K=C;break}}else{I=c;J=c;K=f[e>>2]|0}while(0);f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=I;f[J>>2]=K;F=f[f[a>>2]>>2]|0;if(!F)L=K;else{f[a>>2]=F;L=f[J>>2]|0}Oe(f[t>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(E|0))break;else D=M}u=d;return}function Ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=_q(l)|0;uj(m|0,0,l|0)|0;n=_q(l)|0;uj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=s;H=F;I=q}else{J=o;nq(J)}while(1){F=f[I+(H<<2)>>2]|0;if(t)uj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=0;L=F;while(1){M=f[s+(L<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(H|0)&(R|0)<(H|0)&(Q|0)<(H|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=K+1|0}else U=K}else U=K;Q=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);L=(V|0)==(F|0)?-1:V;if((L|0)==-1)break;else K=U}K=X(H,e)|0;if(!U){W=K;Y=30}else{if(t){L=0;do{F=m+(L<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(K<<2)|0;F=c+(K<<2)|0;s=f[L+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Od(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(H,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(G+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;L=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=P;Od(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((G|0)<=2)break a;Q=f[l>>2]|0;I=f[Q>>2]|0;P=H+-1|0;if((f[Q+4>>2]|0)-I>>2>>>0<=P>>>0){J=Q;break}else{Q=H;H=P;G=Q}}nq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;$q(n);$q(m);u=g;return 1}uj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;$q(n);$q(m);u=g;return 1}function Jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Ph(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=_q(d)|0;uj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=0;y=h;A=C;while(1){if((A|0)>0){C=0;do{H=f[y+(C<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(C<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(C<<2)>>2]=(H|0)<(J|0)?J:H;K=I}C=C+1|0}while((C|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;C=(f[D+(E<<2)>>2]|0)-(f[L+(E<<2)>>2]|0)|0;I=B+(E<<2)|0;f[I>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){M=C-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+C|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}E=E+1|0;A=f[g>>2]|0;if((E|0)>=(A|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,A=c+(z<<2)|0,E=f[g>>2]|0,(E|0)>0):0){B=0;D=b+((X(x+-2|0,e)|0)<<2)|0;I=E;while(1){if((I|0)>0){E=0;do{C=f[D+(E<<2)>>2]|0;H=f[n>>2]|0;if((C|0)>(H|0)){J=f[o>>2]|0;f[J+(E<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(E<<2)>>2]=(C|0)<(J|0)?J:C;O=H}E=E+1|0}while((E|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;E=(f[y+(B<<2)>>2]|0)-(f[P+(B<<2)>>2]|0)|0;H=A+(B<<2)|0;f[H>>2]=E;if((E|0)>=(f[q>>2]|0)){if((E|0)>(f[s>>2]|0)){Q=E-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+E|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}B=B+1|0;I=f[g>>2]|0;if((B|0)>=(I|0))break;else D=P}}if((x|0)<=2)break a}nq(i)}while(0);if((e|0)>0)uj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=0;K=h;G=e;while(1){if((G|0)>0){e=0;do{F=f[K+(e<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(e<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(e<<2)>>2]=(F|0)<(l|0)?l:F;R=d}e=e+1|0}while((e|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[S+(a<<2)>>2]|0)|0;d=c+(a<<2)|0;f[d>>2]=e;if((e|0)>=(f[O>>2]|0)){if((e|0)>(f[M>>2]|0)){T=e-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+e|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}a=a+1|0;G=f[g>>2]|0;if((a|0)>=(G|0))break;else K=S}$q(h);return 1}function Kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=_q(l)|0;uj(m|0,0,l|0)|0;n=_q(l)|0;uj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=s;I=G;J=q}else{K=o;nq(K)}while(1){G=f[J+(I<<2)>>2]|0;if(t)uj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=0;M=G;while(1){if(((f[s+(M>>>5<<2)>>2]&1<<(M&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(M<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(I|0)&(S|0)<(I|0)&(R|0)<(I|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=L+1|0}else T=L;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);M=(U|0)==(G|0)?-1:U;if((M|0)==-1)break;else L=T}L=X(I,e)|0;if(!T){V=L;W=28}else{if(t){M=0;do{G=m+(M<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;G=c+(L<<2)|0;s=f[M+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[M>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Od(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(I,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(H+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;M=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=M;f[x>>2]=Q;Od(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((H|0)<=2)break a;R=f[l>>2]|0;J=f[R>>2]|0;Q=I+-1|0;if((f[R+4>>2]|0)-J>>2>>>0<=Q>>>0){K=R;break}else{R=I;I=Q;H=R}}nq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;$q(n);$q(m);u=g;return 1}uj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;$q(n);$q(m);u=g;return 1}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Ph(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=_q(d)|0;uj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=0;z=h;C=D;while(1){if((C|0)>0){D=0;do{G=f[z+(D<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(D<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(D<<2)>>2]=(G|0)<(I|0)?I:G;J=H}D=D+1|0}while((D|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;D=(f[E+(F<<2)>>2]|0)-(f[K+(F<<2)>>2]|0)|0;H=B+(F<<2)|0;f[H>>2]=D;if((D|0)>=(f[q>>2]|0)){if((D|0)>(f[s>>2]|0)){L=D-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+D|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}F=F+1|0;C=f[g>>2]|0;if((F|0)>=(C|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,C=c+(A<<2)|0,F=f[g>>2]|0,(F|0)>0):0){B=0;E=b+((X(y+-2|0,e)|0)<<2)|0;H=F;while(1){if((H|0)>0){F=0;do{D=f[E+(F<<2)>>2]|0;G=f[n>>2]|0;if((D|0)>(G|0)){I=f[o>>2]|0;f[I+(F<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(F<<2)>>2]=(D|0)<(I|0)?I:D;N=G}F=F+1|0}while((F|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;F=(f[z+(B<<2)>>2]|0)-(f[O+(B<<2)>>2]|0)|0;G=C+(B<<2)|0;f[G>>2]=F;if((F|0)>=(f[q>>2]|0)){if((F|0)>(f[s>>2]|0)){P=F-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+F|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}B=B+1|0;H=f[g>>2]|0;if((B|0)>=(H|0))break;else E=O}}if((y|0)<=2)break a}nq(i)}while(0);if((e|0)>0)uj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=0;J=h;d=e;while(1){if((d|0)>0){e=0;do{l=f[J+(e<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(e<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(e<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}e=e+1|0}while((e|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[R+(a<<2)>>2]|0)|0;j=c+(a<<2)|0;f[j>>2]=e;if((e|0)>=(f[N>>2]|0)){if((e|0)>(f[L>>2]|0)){S=e-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+e|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}a=a+1|0;d=f[g>>2]|0;if((a|0)>=(d|0))break;else J=R}$q(h);return 1}function Mc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;nk(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(r<<2)>>2]|0;do{v=f[a+(s+r<<2)>>2]|0;t=t>>>0>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>o>>>0?t:o;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ti(k,i);r=r+p|0;if((r|0)>=(c|0)){x=v;break}else o=v}}else{o=0;r=0;while(1){v=f[a+(o<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>r>>>0?v:r;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ti(k,i);o=o+p|0;if((o|0)>=(c|0)){x=w;break}else r=w}}f[l>>2]=0;r=l+4|0;f[r>>2]=0;f[l+8>>2]=0;o=f[k>>2]|0;q=(f[d>>2]|0)-o|0;w=q>>2;if(w){if(w>>>0>1073741823)nq(l);s=vn(q)|0;f[r>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;kh(s|0,o|0,q|0)|0;f[r>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;o=0;v=0;while(1){D=ho(o|0,v|0,f[s+(y<<2)>>2]|0,0)|0;E=I;y=y+1|0;if(y>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{o=D;v=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Mg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=fo(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;v=En(B|0,C|0,p|0,0)|0;C=ho(F|0,z|0,v|0,I|0)|0;v=ho(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[r>>2]|0;if((l|0)!=(w|0))f[r>>2]=l+(~((l+-4-w|0)>>>2)<<2);br(w)}w=Mg(a,c,x,i)|0;l=f[i>>2]|0;r=((x-l|0)/64|0)+l<<3;C=l<<3;z=ho(w|0,I|0,C|0,((C|0)<0)<<31>>31|0)|0;C=ho(z|0,I|0,r|0,((r|0)<0)<<31>>31|0)|0;r=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=vn(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=16351;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=(Lh(e,i)|0)==0;if((b[i+11>>0]|0)<0)br(f[i>>2]|0);if(!w){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=vn(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=16351;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=Tk(e,i)|0;if((b[i+11>>0]|0)<0)br(f[i>>2]|0);H=w}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(r|0)|(A|0)==(r|0)&v>>>0>=C>>>0)&1;b[m>>0]=H;C=g+16|0;v=f[C+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[C>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Me(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=ud(a,c,p,k,g)|0;break}case 1:{J=Tc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);br(g)}n=J;u=h;return n|0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;br(k)}br(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);br(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;br(m)}br(n)}br(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;br(p)}br(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);br(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;br(e)}br(j)}br(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){dj(g);br(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){dj(p);br(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{qm(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return}function Oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=j;j=f[c>>2]|0;while(1){if((j|0)==(f[d>>2]|0))break;k=g+16|0;im(k,j+16|0)|0;im(g+28|0,j+28|0)|0;l=g+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(g|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[k+11>>0]|0;o=n<<24>>24<0;s=o?f[g+20>>2]|0:n&255;n=o?f[k>>2]|0:k;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0>>0?w:s;if((u|0)!=0?(x=al(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=22;else y=24;else if(s>>>0>>0)y=22;else y=24;if((y|0)==22){y=0;w=f[o>>2]|0;if(!w){y=23;break}else z=w}else if((y|0)==24){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=26;break}else z=w}o=z}if((y|0)==23){y=0;B=o;C=o;break}else if((y|0)==26){y=0;B=A;C=o;break}}else{B=h;C=h}while(0);f[g>>2]=0;f[g+4>>2]=0;f[l>>2]=C;f[B>>2]=g;m=f[f[a>>2]>>2]|0;if(!m)D=g;else{f[a>>2]=m;D=f[B>>2]|0}Oe(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[j+4>>2]|0;if(!m){k=j+8|0;s=f[k>>2]|0;if((f[s>>2]|0)==(j|0))E=s;else{s=k;do{k=f[s>>2]|0;s=k+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(k|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=p;j=E}}j=f[g+8>>2]|0;if(!j)F=g;else{i=j;while(1){j=f[i+8>>2]|0;if(!j)break;else i=j}F=i}Hj(a,F)}while(0);F=f[c>>2]|0;E=f[d>>2]|0;if((F|0)==(E|0))return;else G=F;while(1){cf(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;p=f[d>>2]|0;if((f[p>>2]|0)==(G|0))H=p;else{p=d;do{d=f[p>>2]|0;p=d+8|0;e=f[p>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{p=F;while(1){i=f[p>>2]|0;if(!i)break;else p=i}H=p}f[c>>2]=H;if((H|0)==(E|0))break;else G=H}return}function Pc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=vn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14805;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ok(i,h,-1)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);switch(j|0){case 0:{n=vn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n;break}case -1:{if((ni(i)|0)==10){n=vn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n}else q=6;break}default:q=6}a:do if((q|0)==6){n=d+8|0;r=d+12|0;s=f[r>>2]|0;t=f[n>>2]|0;b:do if((s-t|0)>0){v=h+8|0;w=h+4|0;x=c+20|0;y=h+11|0;z=0;A=t;B=s;c:while(1){C=f[(f[A+(z<<2)>>2]|0)+28>>2]|0;switch(C|0){case 9:{q=12;break}case 6:case 5:case 4:case 2:{D=A;E=B;break}default:{if((C|2|0)!=3)break c;if((C|0)==9)q=12;else{D=A;E=B}}}if((q|0)==12){q=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=vn(32)|0;f[h>>2]=C;f[v>>2]=-2147483616;f[w>>2]=17;k=C;l=14821;m=k+17|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[C+17>>0]=0;F=f[x>>2]|0;if(F){G=x;H=F;d:while(1){F=H;while(1){if((f[F+16>>2]|0)>=0)break;I=f[F+4>>2]|0;if(!I){J=G;break d}else F=I}H=f[F>>2]|0;if(!H){J=F;break}else G=F}if(((J|0)!=(x|0)?(f[J+16>>2]|0)<=0:0)?(G=J+20|0,(Lh(G,h)|0)!=0):0)K=Ok(G,h,-1)|0;else q=21}else q=21;if((q|0)==21){q=0;K=Ok(i,h,-1)|0}if((b[y>>0]|0)<0)br(f[h>>2]|0);if((K|0)<1)break;D=f[n>>2]|0;E=f[r>>2]|0}z=z+1|0;if((z|0)>=(E-D>>2|0))break b;else{A=D;B=E}}if((j|0)!=1){B=vn(56)|0;k=B;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(B);o=4196;p=B;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=vn(32)|0;f[h>>2]=A;f[h+8>>2]=-2147483616;f[h+4>>2]=24;k=A;l=14839;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[A+24>>0]=0;f[a>>2]=-1;rj(a+4|0,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}while(0);r=vn(56)|0;k=r;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(r);o=4136;p=r}while(0);f[p>>2]=o;vp(p,d);zd(a,p,i,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[p+52>>2];f[c+44>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}Va[f[(f[p>>2]|0)+4>>2]&127](p);u=g;return}function Qc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>112){f[e>>2]=g+-113;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=f[a>>2]|0;o=n;if(i>>>0>n>>>0){p=i;q=((p-o>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-p|0;p=s>>2;if(!p)t=i;else{qm(r|0,i|0,s|0)|0;t=f[g>>2]|0}s=r+(p<<2)|0;f[e>>2]=s;f[g>>2]=t+(q<<2);v=s;break}s=m-o>>1;o=(s|0)==0?1:s;if(o>>>0>1073741823){s=ra(8)|0;ap(s,16422);f[s>>2]=7412;va(s|0,1160,122)}s=vn(o<<2)|0;q=s;p=s+(o>>>2<<2)|0;r=p;w=s+(o<<2)|0;if((i|0)==(j|0)){x=r;y=n}else{n=p;p=r;o=i;do{f[n>>2]=f[o>>2];n=p+4|0;p=n;o=o+4|0}while((o|0)!=(j|0));x=p;y=f[a>>2]|0}f[a>>2]=q;f[g>>2]=r;f[e>>2]=x;f[k>>2]=w;if(!y)v=x;else{br(y);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)|0;y=a+12|0;x=f[y>>2]|0;k=x-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}g=vn(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=vn(4068)|0;f[d>>2]=k;Fg(c,d);d=f[e>>2]|0;while(1){z=f[v>>2]|0;if((d|0)==(z|0))break;k=d+-4|0;yg(c,k);d=k}k=z;z=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=z;f[v>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((d|0)!=(g|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(z|0)br(z);u=b;return}if((x|0)!=(h|0)){h=vn(4068)|0;f[c>>2]=h;Fg(a,c);u=b;return}h=vn(4068)|0;f[c>>2]=h;yg(a,c);c=f[v>>2]|0;h=f[c>>2]|0;x=c+4|0;f[v>>2]=x;c=f[e>>2]|0;z=f[y>>2]|0;k=z;do if((c|0)==(z|0)){g=f[a>>2]|0;j=g;if(x>>>0>g>>>0){d=x;m=((d-j>>2)+1|0)/-2|0;i=x+(m<<2)|0;t=c-d|0;d=t>>2;if(!d)A=x;else{qm(i|0,x|0,t|0)|0;A=f[v>>2]|0}t=i+(d<<2)|0;f[e>>2]=t;f[v>>2]=A+(m<<2);B=t;break}t=k-j>>1;j=(t|0)==0?1:t;if(j>>>0>1073741823){t=ra(8)|0;ap(t,16422);f[t>>2]=7412;va(t|0,1160,122)}t=vn(j<<2)|0;m=t;d=t+(j>>>2<<2)|0;i=d;l=t+(j<<2)|0;if((x|0)==(c|0)){C=i;D=g}else{g=d;d=i;j=x;do{f[g>>2]=f[j>>2];g=d+4|0;d=g;j=j+4|0}while((j|0)!=(c|0));C=d;D=f[a>>2]|0}f[a>>2]=m;f[v>>2]=i;f[e>>2]=C;f[y>>2]=l;if(!D)B=C;else{br(D);B=f[e>>2]|0}}else B=c;while(0);f[B>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Ti(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))Ti(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Ti(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ti(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function Sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=-149;g=24;i=4;break}case 1:{e=-1074;g=53;i=4;break}case 2:{e=-1074;g=53;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Ui(a)|0}while((tq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Ui(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(b[18933+l>>0]|0)){q=l;r=n;break}do if(l>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Ui(a)|0;break}}else t=n;while(0);s=l+1|0;if(s>>>0<8){l=s;n=t}else{q=s;r=t;break}}c:do switch(q|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&q>>>0>3)if((q|0)==8)break c;else{i=23;break c}d:do if(!q){l=0;s=r;while(1){if((s|32|0)!=(b[18942+l>>0]|0)){u=l;v=s;break d}do if(l>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Ui(a)|0;break}}else x=s;while(0);w=l+1|0;if(w>>>0<3){l=w;s=x}else{u=w;v=x;break}}}else{u=q;v=r}while(0);switch(u|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Ui(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Ui(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=ir()|0;f[l>>2]=22;gn(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((v|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Ui(a)|0;if((E|32|0)==120){j=+Fc(a,g,e,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=v;j=+nb(a,F,g,e,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=ir()|0;f[s>>2]=22;gn(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&q>>>0>3){n=q;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Tc(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=vn(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=16374;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Lh(g,j)|0)==0;if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if(!r){r=vn(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=16374;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Tk(g,j)|0;if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Me(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=ve(a,c,d,h)|0;u=i;return n|0}case 2:{n=ue(a,c,d,h)|0;u=i;return n|0}case 3:{n=te(a,c,d,h)|0;u=i;return n|0}case 4:{n=se(a,c,d,h)|0;u=i;return n|0}case 5:{n=re(a,c,d,h)|0;u=i;return n|0}case 6:{n=qe(a,c,d,h)|0;u=i;return n|0}case 7:{n=pe(a,c,d,h)|0;u=i;return n|0}case 8:{n=oe(a,c,d,h)|0;u=i;return n|0}case 9:{n=ne(a,c,d,h)|0;u=i;return n|0}case 10:{n=me(a,c,d,h)|0;u=i;return n|0}case 11:{n=le(a,c,d,h)|0;u=i;return n|0}case 12:{n=ke(a,c,d,h)|0;u=i;return n|0}case 13:{n=je(a,c,d,h)|0;u=i;return n|0}case 14:{n=ie(a,c,d,h)|0;u=i;return n|0}case 15:{n=he(a,c,d,h)|0;u=i;return n|0}case 16:{n=ge(a,c,d,h)|0;u=i;return n|0}case 17:{n=fe(a,c,d,h)|0;u=i;return n|0}case 18:{n=ee(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*524288.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==524288){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;m=x;while(1){v=524288.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==524288){C=p;D=524288;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*1.9073486328125e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*262144.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==262144){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;m=x;while(1){v=262144.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==262144){C=p;D=262144;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*3.814697265625e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*65536.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==65536){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;m=x;while(1){v=65536.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==65536){C=p;D=65536;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.0000152587890625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*32768.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==32768){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;m=x;while(1){v=32768.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==32768){C=p;D=32768;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000030517578125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*8192.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==8192){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;m=x;while(1){v=8192.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==8192){C=p;D=8192;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.0001220703125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Lb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Mb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Nb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ob(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=_q(j)|0;uj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=q;F=D;G=o}else{H=m;nq(H)}while(1){D=f[G+(F<<2)>>2]|0;q=X(F,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(F|0)&(M|0)<(F|0)&(L|0)<(F|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(E+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Od(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((E|0)<=2)break a;M=f[l>>2]|0;G=f[M>>2]|0;I=F+-1|0;if((f[M+4>>2]|0)-G>>2>>>0<=I>>>0){H=M;break}else{M=F;F=I;E=M}}nq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;$q(k);u=g;return 1}uj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;$q(k);u=g;return 1}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=ho(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=ho(l|0,k|0,(l|0)==0&(k|0)==0&1|0,0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=n+((n|0)==0&1)&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)nq(i);p=vn(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=j;j=p;do{b[j>>0]=0;j=(f[l>>2]|0)+1|0;f[l>>2]=j;q=q+-1|0}while((q|0)!=0);o=f[i>>2]|0}q=a+28|0;j=(f[q>>2]|0)+-1|0;a:do if((j|0)>-1){p=a+24|0;r=j;s=0;t=4096;v=k;while(1){w=(f[p>>2]&1<>>0>>0){y=s;z=t}else{b[o+s>>0]=t;y=s+1|0;z=t>>>8}En(f[4248+(x<<3)>>2]|0,0,z|0,0)|0;A=z+(w?0:0-v&255)+(X((z+I|0)>>>(f[4248+(x<<3)+4>>2]|0),256-x|0)|0)|0;x=r+-1|0;if((x|0)<=-1){B=y;C=A;break a}r=x;s=y;t=A;v=b[h>>0]|0}}else{B=0;C=4096}while(0);y=f[m>>2]|0;if((f[n>>2]|0)==(y|0)){D=B;E=C}else{z=B;B=C;C=y;while(1){C=C+-4|0;y=f[C>>2]|0;k=31;j=z;v=B;while(1){t=b[h>>0]|0;s=(1<>>0>>0){F=j;G=v}else{b[o+j>>0]=v;F=j+1|0;G=v>>>8}En(f[4248+(r<<3)>>2]|0,0,G|0,0)|0;v=G+(s?0:0-t&255)+(X((G+I|0)>>>(f[4248+(r<<3)+4>>2]|0),256-r|0)|0)|0;if((k|0)<=0)break;else{k=k+-1|0;j=F}}if((f[n>>2]|0)==(C|0)){D=F;E=v;break}else{z=F;B=v}}}B=E+-4096|0;do if(B>>>0>=64){if(B>>>0<16384){F=o+D|0;z=E+12288|0;b[F>>0]=z;H=2;J=z>>>8;K=F+1|0;L=25;break}if(B>>>0<4194304){F=o+D|0;z=E+8384512|0;b[F>>0]=z;b[F+1>>0]=z>>>8;H=3;J=z>>>16;K=F+2|0;L=25}else M=D}else{H=1;J=B;K=o+D|0;L=25}while(0);if((L|0)==25){b[K>>0]=J;M=H+D|0}D=c+16|0;H=D;J=f[H+4>>2]|0;if(!((J|0)>0|(J|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}di(M,c)|0;h=f[i>>2]|0;H=D;D=f[H+4>>2]|0;if(!((D|0)>0|(D|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+M|0)|0}M=e;f[M>>2]=0;f[M+4>>2]=0;sf(a,2,e);e=f[a+12>>2]|0;M=f[m>>2]|0;if((M|0)!=(e|0))f[m>>2]=M+(~((M+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[q>>2]=0;q=f[i>>2]|0;if(!q){u=d;return}if((f[l>>2]|0)!=(q|0))f[l>>2]=q;br(q);u=d;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ti(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))Ti(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ti(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ti(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){l=((k>>>0)%3|0|0)==0?j+-2|0:k;if(!((j>>>0)%3|0)){m=j+2|0;n=l;break}else{m=j+-1|0;n=l;break}}else{m=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(n<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(m<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((m|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=1;w=r;while(1){r=f[t>>2]|0;x=f[(f[r>>2]|0)+36>>2]|0;f[e>>2]=(w>>>0)/3|0;f[d>>2]=f[e>>2];if(Ra[x&127](r,d)|0){y=v;break}r=w+1|0;x=((r>>>0)%3|0|0)==0?w+-2|0:r;if((x|0)==-1){z=12;break}w=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=v+1|0;if((w|0)==-1){y=x;break}else v=x}if((z|0)==12)y=v+1|0;A=y;B=f[k>>2]|0;C=f[l>>2]|0}else{A=1;B=q;C=o}f[B+(f[C+(f[i>>2]<<2)>>2]<<2)>>2]=A;A=a+108|0;i=f[A>>2]|0;C=i-B>>2;B=i;if((n|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(i|0)!=-1):0){n=a+64|0;y=1;v=i;while(1){i=f[n>>2]|0;w=f[(f[i>>2]|0)+36>>2]|0;f[g>>2]=(v>>>0)/3|0;f[d>>2]=f[g>>2];if(Ra[w&127](i,d)|0){D=y;break}i=v+1|0;f[(f[l>>2]|0)+((((i>>>0)%3|0|0)==0?v+-2|0:i)<<2)>>2]=C;i=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((i|0)==-1){z=20;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;i=y+1|0;if((v|0)==-1){D=i;break}else y=i}if((z|0)==20)D=y+1|0;E=D;F=f[A>>2]|0}else{E=1;F=B}f[d>>2]=E;if(F>>>0<(f[a+112>>2]|0)>>>0){f[F>>2]=E;f[A>>2]=F+4}else Ti(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;m=f[k>>2]|0;if((m|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3852+(m<<2)>>2]|0;f[d>>2]=a;m=o+(s*12|0)+4|0;G=f[m>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[m>>2]=G+4}else Ti(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function od(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=_q(j)|0;uj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=q;G=E;H=o}else{I=m;nq(I)}while(1){E=f[H+(G<<2)>>2]|0;q=X(G,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(G|0)&(N|0)<(G|0)&(M|0)<(G|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(F+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Od(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((F|0)<=2)break a;N=f[l>>2]|0;H=f[N>>2]|0;K=G+-1|0;if((f[N+4>>2]|0)-H>>2>>>0<=K>>>0){I=N;break}else{N=G;G=K;F=N}}nq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;$q(k);u=g;return 1}uj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;$q(k);u=g;return 1}function pd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2140;i=c;f[a>>2]=i;return}case 2:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2196;i=c;f[a>>2]=i;return}case 4:{c=vn(168)|0;Vi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=vn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2252;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2308;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2364;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2420;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function qd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1720;i=c;f[a>>2]=i;return}case 2:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1776;i=c;f[a>>2]=i;return}case 4:{c=vn(168)|0;Wi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=vn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1832;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1888;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1944;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2e3;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function rd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=e;B=x;while(1){C=B+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=A;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=A;break d}if((d[v>>1]|0)!=(d[B+12>>1]|0)){y=A;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=c;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=d[w>>1]|0;B=e;z=q;while(1){D=z+8|0;if(A<<16>>16!=(d[D>>1]|0)){G=B;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=B;break e}if((d[u>>1]|0)!=(d[z+12>>1]|0)){G=B;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);c=f[p>>2]|0;if(!c){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=e;B=x;while(1){C=B+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=A;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=A;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=A;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=d;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=b[w>>0]|0;B=e;z=q;while(1){D=z+8|0;if(A<<24>>24!=(b[D>>0]|0)){G=B;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=B;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=B;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);d=f[p>>2]|0;if(!d){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=d;z=v;while(1){if((x|0)!=(f[z+8>>2]|0)){w=y;break d}if((f[p>>2]|0)!=(f[z+12>>2]|0)){w=y;break d}if((f[t>>2]|0)!=(f[z+16>>2]|0)){w=y;break d}if((f[u>>2]|0)!=(f[z+20>>2]|0)){w=y;break d}A=f[z>>2]|0;if(!A){w=z;break}else{B=z;z=A;y=B}}}while(0);f[i>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=c;while(1){u=f[d+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(j|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=D;s=u;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{y=f[d+8>>2]|0;z=d;x=v;while(1){if((y|0)!=(f[x+8>>2]|0)){E=z;break e}if((f[u>>2]|0)!=(f[x+12>>2]|0)){E=z;break e}if((f[t>>2]|0)!=(f[x+16>>2]|0)){E=z;break e}if((f[p>>2]|0)!=(f[x+20>>2]|0)){E=z;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;z=A}}}while(0);f[i>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);c=f[o>>2]|0;if(!c){C=43;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){C=43;break}else{j=r;k=q;m=q}}if((C|0)==43)return}function ud(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;uj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=ho(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0>>0)}Rn(m);r=fo(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;s=n;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));fd(n,l,32,g)|0;l=n+16|0;s=fo(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=ho(s|0,I|0,39,0)|0;s=ko(o|0,I|0,3)|0;o=ho(s|0,I|0,8,0)|0;s=ho(o|0,I|0,t|0,0)|0;Jl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;Ai(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=0;K=f[H>>2]|0;do{L=K>>>3;M=K&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(1<>0]|0);N=(f[G>>2]|0)+L|0;b[N>>0]=(F>>>J&1)<>0]|0);K=(f[H>>2]|0)+1|0;f[H>>2]=K;J=J+1|0}while((J|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}$f(n,g);fg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Me(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);br(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)br(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;br(n);u=i;return 1}function vd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=e;A=v;while(1){B=A+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=z;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=z;break d}if((d[u>>1]|0)!=(d[A+12>>1]|0)){w=z;break d}B=f[A>>2]|0;if(!B){w=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=E;t=u;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=d[u>>1]|0;A=u+2|0;y=e;x=q;while(1){C=x+8|0;if(z<<16>>16!=(d[C>>1]|0)){F=y;break e}if((d[A>>1]|0)!=(d[C+2>>1]|0)){F=y;break e}if((d[v>>1]|0)!=(d[x+12>>1]|0)){F=y;break e}C=f[x>>2]|0;if(!C){F=x;break}else{B=x;x=C;y=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);c=f[p>>2]|0;if(!c){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=e;A=w;while(1){B=A+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=z;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=z;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=z;break d}B=f[A>>2]|0;if(!B){x=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=d;while(1){v=f[e+4>>2]|0;if(v>>>0>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(k|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=E;t=v;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=b[v>>0]|0;A=e;y=q;while(1){C=y+8|0;if(z<<24>>24!=(b[C>>0]|0)){F=A;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=A;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=A;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;A=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);d=f[p>>2]|0;if(!d){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function xd(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=ko(c|0,d|0,52)|0;i=h&2047;h=ko(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=fo(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=Jo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=fo(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=fo(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=0;q=n;n=m;while(1){m=o+-1|0;q=fo(q|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&q>>>0>4294967295)){r=m;break}else o=m}}else r=0;o=fo(c|0,d|0,1-r|0)|0;t=r;u=o;v=I}else{t=i;u=c;v=d&1048575|1048576}if(!j){o=fo(e|0,g|0,12)|0;q=I;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){n=0;m=o;o=q;while(1){q=n+-1|0;m=fo(m|0,o|0,1)|0;o=I;if(!((o|0)>-1|(o|0)==-1&m>>>0>4294967295)){w=q;break}else n=q}}else w=0;n=fo(e|0,g|0,1-w|0)|0;x=w;y=n;z=I}else{x=j;y=e;z=g&1048575|1048576}n=jo(u|0,v|0,y|0,z|0)|0;m=I;o=(m|0)>-1|(m|0)==-1&n>>>0>4294967295;b:do if((t|0)>(x|0)){q=t;A=m;B=o;C=u;D=v;E=n;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;G=A}else{F=C;G=D}H=fo(F|0,G|0,1)|0;J=I;K=q+-1|0;L=jo(H|0,J|0,y|0,z|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){q=K;A=M;B=N;C=H;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=H;T=J;break b}}U=a*0.0;break a}else{O=t;P=o;Q=n;R=m;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=O;n=W;o=V;while(1){E=fo(n|0,o|0,1)|0;D=I;C=m+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=C;n=E;o=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){o=ho(Y|0,Z|0,0,-1048576)|0;n=I;m=fo(X|0,0,52)|0;_=n|I;$=o|m}else{m=ko(Y|0,Z|0,1-X|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=vn(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14821;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Lh(c,e)|0)!=0):0)q=Ok(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Ok(i,e,-1)|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);i=(1<>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;if(i&1|0?(q=(_(i|0)|0)^31,(q+-1|0)>>>0<=28):0){f[e>>2]=q+1;i=2<>2]=i+-1;q=i+-2|0;f[e+8>>2]=q;f[e+12>>2]=(q|0)/2|0}switch(Zi(f[j>>2]|0,f[h>>2]|0)|0){case 6:{q=f[j>>2]|0;i=f[h>>2]|0;c=f[(f[(f[i+4>>2]|0)+8>>2]|0)+(q<<2)>>2]|0;do if((Qa[f[(f[i>>2]|0)+8>>2]&127](i)|0)==1){Jf(g,i,6,q,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=22;break}else{t=g;v=p;break}}else{s=g;r=22}while(0);if((r|0)==22){q=vn(24)|0;f[q+4>>2]=c;c=q+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[q>>2]=2624;c=q;f[g>>2]=c;t=s;v=c}f[a>>2]=v;f[t>>2]=0;u=d;return}case 0:{t=f[j>>2]|0;j=f[h>>2]|0;h=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(t<<2)>>2]|0;do if((Qa[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Jf(g,j,0,t,e,514);v=f[g>>2]|0;if(!v){f[g>>2]=0;w=g;r=29;break}else{x=g;y=v;break}}else{w=g;r=29}while(0);if((r|0)==29){r=vn(24)|0;f[r+4>>2]=h;h=r+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[r>>2]=2624;e=r;f[g>>2]=e;x=w;y=e}f[a>>2]=y;f[x>>2]=0;u=d;return}default:{f[a>>2]=0;u=d;return}}}function zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;i=c+12|0;j=f[i>>2]|0;if((j|0)!=(e|0)){k=j;do{j=k+-4|0;f[i>>2]=j;l=f[j>>2]|0;f[j>>2]=0;if(l|0)Va[f[(f[l>>2]|0)+4>>2]&127](l);k=f[i>>2]|0}while((k|0)!=(e|0))}e=f[c+20>>2]|0;k=c+24|0;i=f[k>>2]|0;if((i|0)!=(e|0))f[k>>2]=i+(~((i+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;i=c+36|0;k=f[i>>2]|0;if((k|0)!=(e|0))f[i>>2]=k+(~((k+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=vn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;m=e;n=16062;o=m+23|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+23>>0]=0;f[a>>2]=-1;rj(a+4|0,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}Ud(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;k=e+11|0;if((b[k>>0]|0)<0)br(f[e>>2]|0);Yi(a,c);if(f[a>>2]|0){u=g;return}if((b[k>>0]|0)<0)br(f[e>>2]|0);if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=29;m=k;n=16086;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+29>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16116;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+24>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16148;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+28>>2]&127](c)|0)){k=vn(48)|0;f[h>>2]=k;f[h+8>>2]=-2147483600;f[h+4>>2]=34;m=k;n=16180;o=m+34|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+34>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}e=vn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=30;m=e;n=16215;o=m+30|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+30>>0]=0;e=ak(d,h,0)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);if(e)Va[f[(f[c>>2]|0)+48>>2]&127](c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;return}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=d;y=u;while(1){if((w|0)!=(f[y+8>>2]|0)){v=x;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){v=x;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){v=x;break d}z=f[y>>2]|0;if(!z){v=y;break}else{A=y;y=z;x=A}}}while(0);f[i>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=c;while(1){t=f[d+4>>2]|0;if(t>>>0>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(j|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=C;s=t;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{x=f[d+8>>2]|0;y=d;w=u;while(1){if((x|0)!=(f[w+8>>2]|0)){D=y;break e}if((f[t>>2]|0)!=(f[w+12>>2]|0)){D=y;break e}if((f[p>>2]|0)!=(f[w+16>>2]|0)){D=y;break e}A=f[w>>2]|0;if(!A){D=w;break}else{z=w;w=A;y=z}}}while(0);f[i>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);c=f[o>>2]|0;if(!c){B=41;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){B=41;break}else{j=r;k=q;m=q}}if((B|0)==41)return}function Bd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3044;i=c;f[a>>2]=i;return}case 2:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3100;i=c;f[a>>2]=i;return}case 4:{c=vn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3156;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));hn(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=vn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3212;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3268;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=3324;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3380;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?al(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function Dd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2680;i=c;f[a>>2]=i;return}case 2:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2736;i=c;f[a>>2]=i;return}case 4:{c=vn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2792;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));hn(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=vn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2848;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2904;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2960;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3016;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+44|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+40|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Ij(d)}j=a+56|0;di(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);Ak(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+52|0;i=h;do{hj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;hj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Ij(d)}i=a+68|0;di(f[i>>2]|0,b)|0;if(f[i>>2]|0){Gn(d);Ak(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+64|0;h=j;do{hj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Ij(d)}h=a+80|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+76|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Ij(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+64|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+60|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Ij(d)}j=a+76|0;di(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);Ak(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+72|0;i=h;do{hj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;hj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Ij(d)}i=a+88|0;di(f[i>>2]|0,b)|0;if(f[i>>2]|0){Gn(d);Ak(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+84|0;h=j;do{hj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Ij(d)}h=a+100|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+96|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Ij(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Gd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=e;z=u;while(1){A=z+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=y;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=d[u>>1]|0;z=u+2|0;x=e;w=q;while(1){B=w+8|0;if(y<<16>>16!=(d[B>>1]|0)){E=x;break e}if((d[z>>1]|0)!=(d[B+2>>1]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);c=f[p>>2]|0;if(!c){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=e;z=u;while(1){A=z+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=y;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=d;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=b[u>>0]|0;z=u+1|0;x=e;w=q;while(1){B=w+8|0;if(y<<24>>24!=(b[B>>0]|0)){E=x;break e}if((b[z>>0]|0)!=(b[B+1>>0]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);d=f[p>>2]|0;if(!d){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}yp(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ph(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=vn(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Oe(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Hj(h+4|0,f[k>>2]|0);Hj(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(al(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(al(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=d;x=t;while(1){if((v|0)!=(f[x+8>>2]|0)){u=w;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){u=w;break d}y=f[x>>2]|0;if(!y){u=x;break}else{z=x;x=y;w=z}}}while(0);f[i>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=c;while(1){p=f[d+4>>2]|0;if(p>>>0>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=B;s=p;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{w=f[d+8>>2]|0;x=d;v=t;while(1){if((w|0)!=(f[v+8>>2]|0)){C=x;break e}if((f[p>>2]|0)!=(f[v+12>>2]|0)){C=x;break e}z=f[v>>2]|0;if(!z){C=v;break}else{y=v;v=z;x=y}}}while(0);f[i>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);c=f[o>>2]|0;if(!c){A=39;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){A=39;break}else{j=r;k=q;m=q}}if((A|0)==39)return}function Ld(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=al(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=al(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=al(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=Cg(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=al(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=Cg(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function Md(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Dm(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Dm(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=ho(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;jo(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=jo(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Nd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=vn(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14864;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+20>>0]=0;j=Mk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);i=f[h>>2]|0;n=vn(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14885;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Mk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);i=a+64|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Va[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+56>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=vn(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14908;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Ok(o,d,-1)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((ni(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0}j=vn(296)|0;aj(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Va[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Me(n,d,g,g+1|0)|0}g=vn(360)|0;yi(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Va[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ra[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((l|0)>-1)if((m|0)<=-1)if((l|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((m|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(l|0)>0?1:-1;o=(m|0)>0?1:-1}q=X(g,n)|0;r=X(g,o)|0;g=(l<<1)-q|0;f[c>>2]=g;l=(m<<1)-r|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;s=0-g|0;t=o}else{f[c>>2]=l;s=g;t=l}f[c>>2]=(t+q|0)/2|0;f[h>>2]=(s+r|0)/2|0;r=f[d>>2]|0;s=f[j>>2]|0;if((r|0)>-1)if((s|0)<=-1)if((r|0)<1){u=-1;v=-1}else p=14;else{u=1;v=1}else if((s|0)<1){u=-1;v=-1}else p=14;if((p|0)==14){u=(r|0)>0?1:-1;v=(s|0)>0?1:-1}q=f[e>>2]|0;e=X(q,u)|0;t=X(q,v)|0;q=(r<<1)-e|0;f[d>>2]=q;r=(s<<1)-t|0;f[j>>2]=r;if((X(u,v)|0)>-1){v=0-r|0;f[d>>2]=v;w=0-q|0;x=v}else{f[d>>2]=r;w=q;x=r}r=(x+e|0)/2|0;f[d>>2]=r;e=(w+t|0)/2|0;f[j>>2]=e;y=r;z=e}else{y=i;z=k}if(!y)if(!z){A=y;B=z}else p=22;else if((y|0)<0&(z|0)<1){A=y;B=z}else p=22;if((p|0)==22){if(!y)C=(z|0)==0?0:(z|0)>0?3:1;else C=(y|0)>0?(z>>31)+2|0:(z|0)<1?0:3;z=f[c>>2]|0;y=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=y;f[C+4>>2]=0-z;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-z;f[C+4>>2]=0-y;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-y;f[C+4>>2]=z;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=z;f[C+4>>2]=y;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;A=D;B=E}E=(f[c>>2]|0)-A|0;f[a>>2]=E;A=(f[h>>2]|0)-B|0;B=a+4|0;f[B>>2]=A;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((A|0)>=0){G=A;f[B>>2]=G;return}G=(f[b+4>>2]|0)+A|0;f[B>>2]=G;return}function Pd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){b:do if(i){g=l;c=m;j=n;while(1){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}c=f[e>>2]|0;if(!c){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;c=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=c;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[c>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;c=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){b:do if(i){g=l;d=m;j=n;while(1){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}d=f[e>>2]|0;if(!d){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;d=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=d;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[d>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;d=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Rd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=0;n=1;while(1){o=(f[l+(m<<2)>>2]|0)>>>0>(f[l+(n<<2)>>2]|0)>>>0?n:m;n=n+1|0;if(n>>>0>=j>>>0){k=o;break}else m=o}return k|0}if(j){j=f[a+1128>>2]|0;m=f[e>>2]|0;e=f[a+1140>>2]|0;n=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0

>>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[n+(b<<2)>>2]|0)+(1<>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=c;u=f[q>>2]|0;do{v=s+((X(t,p)|0)<<2)+(b<<2)|0;u=u+((f[v>>2]|0)>>>0>>0&1)|0;f[q>>2]=u;t=t+1|0}while((t|0)!=(g|0));t=h-u|0;f[q>>2]=t>>>0>>0?u:t}b=b+1|0;t=f[i>>2]|0}while(b>>>0>>0);r=t}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=h>>>0>>0;w=l?d:h;x=l?g:c}g=g+1|0;if(g>>>0>=r>>>0){y=x;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;if((h|0)<4){r=y&15;g=4-h|0;f[c>>2]=g;h=a+1100|0;i=f[h>>2]|r>>>g;f[h>>2]=i;g=a+1092|0;b=f[g>>2]|0;if((b|0)==(f[a+1096>>2]|0))Ti(x,h);else{f[b>>2]=i;f[g>>2]=b+4}f[h>>2]=r<<32-(f[c>>2]|0);k=y;return k|0}r=a+1100|0;h=f[r>>2]|y<<28>>>w;f[r>>2]=h;b=w+4|0;f[c>>2]=b;if((b|0)!=32){k=y;return k|0}b=a+1092|0;w=f[b>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[w>>2]=h;f[b>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function Td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=a+24|0;k=j;j=g;l=d;d=g;a:while(1){g=j;m=l;n=d;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(k|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=o;y=p}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[y+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=x;break c}}while((z|0)<(v|0));z=f[y>>2]|0;if(!z){s=y;break}else{w=y;y=z;x=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=q;j=o;d=o}}if((E|0)==38)return}function Ud(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,16273,16278)|0}n=Qa[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Me(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=h;r=k}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Me(k,g,i,i+1|0)|0;q=h;r=f[m>>2]|0}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=h;r=t}t=Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=t;t=r+16|0;q=f[t+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[t>>2]|0)>>>0>0)){f[h>>2]=f[r+4>>2];f[g>>2]=f[h>>2];Me(r,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;r=f[m+4>>2]|0;if((r|0)>0|(r|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Me(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=vn(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3740;m=k+12|0;f[m>>2]=3764;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3764;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3764;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,s,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);If(j,h);If(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;gg(s,g)|0;f[g>>2]=3764;o=f[g+20>>2]|0;if(o|0)br(o);o=f[g+8>>2]|0;if(o|0)br(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3764;l=f[j+20>>2]|0;if(l|0)br(l);l=f[j+8>>2]|0;if(l|0)br(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];gg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;pg(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);br(r)}f[v>>2]=3764;v=f[i+24>>2]|0;if(v|0)br(v);v=f[i+12>>2]|0;if(v|0)br(v);f[h>>2]=3764;v=f[h+20>>2]|0;if(v|0)br(v);v=f[h+8>>2]|0;if(!v){u=e;return}br(v);u=e;return}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Oa,x=0,y=Oa,z=Oa,A=Oa;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)nq(g);else{l=h<<2;m=vn(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;uj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);br(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=_q(r)|0;q=_q(r)|0;r=c+48|0;o=f[r>>2]|0;g=c+40|0;a=f[g>>2]|0;l=f[c>>2]|0;kh(q|0,(f[l>>2]|0)+o|0,a|0)|0;kh(p|0,(f[l>>2]|0)+o|0,a|0)|0;a=r;r=f[a>>2]|0;o=f[a+4>>2]|0;a=g;g=f[a>>2]|0;l=f[a+4>>2]|0;a=f[c>>2]|0;kh(s|0,(f[a>>2]|0)+r|0,g|0)|0;p=f[c+80>>2]|0;a:do if(p>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=En(g|0,l|0,c|0,0)|0;t=ho(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+t|0,g|0)|0;c=c+1|0;if(c>>>0>=p>>>0)break a}}c=f[k>>2]|0;t=1;do{m=En(g|0,l|0,t|0,0)|0;v=ho(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+v|0,g|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0

>>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;k=0;z=$(n[j>>2]);while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}$q(q);$q(s);i=1;u=e;return i|0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a+8|0;Ph(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=h;h=f[g>>2]|0;while(1){p=b+(o<<2)|0;q=c+(o<<2)|0;if((h|0)>0){r=0;s=p+(d<<2)|0;t=h;while(1){if((t|0)>0){u=0;do{v=f[s+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[p+(r<<2)>>2]|0)-(f[z+(r<<2)>>2]|0)|0;w=q+(r<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}r=r+1|0;w=f[g>>2]|0;if((r|0)>=(w|0)){C=w;break}else{s=z;t=w}}}else C=h;o=o-e|0;if((o|0)<=0){D=C;break}else h=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=_q(C)|0;uj(e|0,0,C|0)|0;if((D|0)<=0){$q(e);return 1}C=a+16|0;h=a+32|0;o=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=0;n=e;l=D;while(1){if((l|0)>0){D=0;do{j=f[n+(D<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[h>>2]|0;f[k+(D<<2)>>2]=y;E=k}else{k=f[o>>2]|0;y=f[h>>2]|0;f[y+(D<<2)>>2]=(j|0)<(k|0)?k:j;E=y}D=D+1|0}while((D|0)<(f[g>>2]|0));F=E}else F=f[h>>2]|0;D=(f[b+(a<<2)>>2]|0)-(f[F+(a<<2)>>2]|0)|0;y=c+(a<<2)|0;f[y>>2]=D;if((D|0)>=(f[z>>2]|0)){if((D|0)>(f[m>>2]|0)){G=D-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+D|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}a=a+1|0;l=f[g>>2]|0;if((a|0)>=(l|0))break;else n=F}$q(e);return 1}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=t;z=v}else{m=b;return m|0}}else{y=c;z=p}c=z-(b+(j<<2))>>2;v=b+(c<<2)|0;if(v>>>0

>>0){t=(p+(0-c<<2)+~r|0)>>>2;r=v;s=z;while(1){f[s>>2]=f[r>>2];r=r+4|0;if(r>>>0>=p>>>0)break;else s=s+4|0}f[o>>2]=z+(t+1<<2)}if(c|0){c=v;v=z;do{c=c+-4|0;v=v+-4|0;f[v>>2]=f[c>>2]}while((c|0)!=(b|0))}c=y;if((k|0)==(c|0)){m=b;return m|0}else{A=b;B=k}while(1){f[A>>2]=f[B>>2];B=B+4|0;if((B|0)==(c|0)){m=b;break}else A=A+4|0}return m|0}A=(q-g>>2)+j|0;if(A>>>0>1073741823)nq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0>>0?A:g):1073741823;g=b;A=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;ap(j,16422);f[j>>2]=7412;va(j|0,1160,122)}else{j=vn(n<<2)|0;C=j;D=j;break}else{C=0;D=0}while(0);j=D+(A<<2)|0;A=D+(n<<2)|0;if((l|0)==(k|0))E=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}E=j+(n<<2)|0}if((h|0)>0)kh(C|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){kh(E|0,b|0,h|0)|0;F=E+(h>>>2<<2)|0}else F=E;f[a>>2]=D;f[o>>2]=F;f[d>>2]=A;if(!e){m=j;return m|0}br(e);m=j;return m|0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;di(f[i>>2]|0,b)|0;Gn(h);Ak(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Ij(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(h);u=c;return 1}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)nq(h);k=i;if(j>>>0<=g>>>0)nq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Xg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{jh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{jg(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Xg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=d;i=0;m=g;b:while(1){n=f[k>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=m;s=k;t=o;while(1){f[s>>2]=t;if((r|0)==(a|0)){u=a;break}o=r+-4|0;t=f[o>>2]|0;if(h>>>0<=t>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(t<<3)>>2]|0)>>>0){u=r;break}else{v=r;r=o;s=v}}f[u>>2]=n;s=i+1|0;if((s|0)==8){w=0;x=(k+4|0)==(b|0);break a}else y=s}else y=i;s=k+4|0;if((s|0)==(b|0)){w=1;x=0;break a}else{r=k;k=s;i=y;m=r}}if((p|0)==14)nq(e);else if((p|0)==16)nq(e);else if((p|0)==20)nq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;di(f[i>>2]|0,b)|0;Gn(h);Ak(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Ij(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(h);u=c;return 1}function ae(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)$q(l);l=a+8|0;Ph(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;nq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Dc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)nq(y);return 0} -function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4882]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19568+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4882]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4884]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=19568+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4887]|0;h=m>>>3;l=19568+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4884]=j;f[4887]=k;o=e;u=b;return o|0}e=f[4883]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[19832+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=19832+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[4883]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[4887]|0;n=m>>>3;i=19568+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[4884]=v;f[4887]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[4883]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[19832+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[19832+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[4884]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=19832+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=19568+(j<<1<<2)|0;d=f[4882]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=19832+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4883]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[4884]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[4887]|0;if(T>>>0>15){_=$+B|0;f[4887]=_;f[4884]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[4884]=0;f[4887]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[4885]|0;if($>>>0>B>>>0){T=$-B|0;f[4885]=T;S=f[4888]|0;_=S+B|0;f[4888]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[5e3]|0)){f[5002]=4096;f[5001]=4096;f[5003]=-1;f[5004]=-1;f[5005]=0;f[4993]=0;f[5e3]=c&-16^1431655768;aa=4096}else aa=f[5002]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4992]|0;if(X|0?(Y=f[4990]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4993]&4)){X=f[4888]|0;c:do if(X){Z=19976;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Ul(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Ul(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[5001]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[4990]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[4992]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Ul(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[5002]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Ul(X|0)|0)==(-1|0)){Ul(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[4993]=f[4993]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Ul(aa|0)|0,aa=Ul(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[4990]|0)+da|0;f[4990]=ca;if(ca>>>0>(f[4991]|0)>>>0)f[4991]=ca;ca=f[4888]|0;do if(ca){ha=19976;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[4885]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[4888]=ga;f[4885]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[4889]=f[5004];break}if(ea>>>0<(f[4886]|0)>>>0)f[4886]=ea;fa=ea+da|0;S=19976;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=19976;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[4887]|0)==(aa|0)){ba=(f[4884]|0)+c|0;f[4884]=ba;f[4887]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[4882]=f[4882]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=19832+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[4883]=f[4883]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=19568+($<<1<<2)|0;Z=f[4882]|0;Y=1<<$;if(!(Z&Y)){f[4882]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=19832+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4883]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[4885]|0)+c|0;f[4885]=ba;f[4888]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=19976;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[4888]=fa;f[4885]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[4889]=f[5004];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[4994];f[c+4>>2]=f[4995];f[c+8>>2]=f[4996];f[c+12>>2]=f[4997];f[4994]=ea;f[4995]=da;f[4997]=0;f[4996]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=19568+(ba<<1<<2)|0;S=f[4882]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=19832+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[4883]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[4886]|0;if((c|0)==0|ea>>>0>>0)f[4886]=ea;f[4994]=ea;f[4995]=da;f[4997]=0;f[4891]=f[5e3];f[4890]=-1;f[4895]=19568;f[4894]=19568;f[4897]=19576;f[4896]=19576;f[4899]=19584;f[4898]=19584;f[4901]=19592;f[4900]=19592;f[4903]=19600;f[4902]=19600;f[4905]=19608;f[4904]=19608;f[4907]=19616;f[4906]=19616;f[4909]=19624;f[4908]=19624;f[4911]=19632;f[4910]=19632;f[4913]=19640;f[4912]=19640;f[4915]=19648;f[4914]=19648;f[4917]=19656;f[4916]=19656;f[4919]=19664;f[4918]=19664;f[4921]=19672;f[4920]=19672;f[4923]=19680;f[4922]=19680;f[4925]=19688;f[4924]=19688;f[4927]=19696;f[4926]=19696;f[4929]=19704;f[4928]=19704;f[4931]=19712;f[4930]=19712;f[4933]=19720;f[4932]=19720;f[4935]=19728;f[4934]=19728;f[4937]=19736;f[4936]=19736;f[4939]=19744;f[4938]=19744;f[4941]=19752;f[4940]=19752;f[4943]=19760;f[4942]=19760;f[4945]=19768;f[4944]=19768;f[4947]=19776;f[4946]=19776;f[4949]=19784;f[4948]=19784;f[4951]=19792;f[4950]=19792;f[4953]=19800;f[4952]=19800;f[4955]=19808;f[4954]=19808;f[4957]=19816;f[4956]=19816;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[4888]=ba;f[4885]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[4889]=f[5004]}while(0);ea=f[4885]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4885]=da;ea=f[4888]|0;ca=ea+B|0;f[4888]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=ir()|0;f[ea>>2]=12;o=0;u=b;return o|0}function ab(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Ph(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=(g|0)==1;pa=Q+-1|0;if(F-D>>2>>>0>pa>>>0){qa=Q;ra=pa;sa=D;ta=M;ua=P;va=O;wa=M;xa=N;ya=M;za=N}else{Aa=G;nq(Aa)}b:while(1){pa=f[sa+(ra<<2)>>2]|0;Q=(((pa>>>0)%3|0|0)==0?2:-1)+pa|0;Ba=Q>>>5;Ca=1<<(Q&31);Da=(pa|0)==-1|(Q|0)==-1;Ea=1;Fa=0;Ga=pa;c:while(1){Ha=Ea^1;Ia=Fa;Ja=Ga;while(1){if((Ja|0)==-1){Ka=Ia;break c}La=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0?(Ma=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Ma|0)!=-1):0)?(Na=f[S>>2]|0,Oa=f[A>>2]|0,Pa=f[Oa+(f[Na+(Ma<<2)>>2]<<2)>>2]|0,Qa=Ma+1|0,Ra=f[Oa+(f[Na+((((Qa>>>0)%3|0|0)==0?Ma+-2|0:Qa)<<2)>>2]<<2)>>2]|0,Qa=f[Oa+(f[Na+((((Ma>>>0)%3|0|0)==0?2:-1)+Ma<<2)>>2]<<2)>>2]|0,(Pa|0)<(ra|0)&(Ra|0)<(ra|0)&(Qa|0)<(ra|0)):0){Ma=X(Pa,g)|0;Pa=X(Ra,g)|0;Ra=X(Qa,g)|0;if(T){Qa=0;do{f[La+(Qa<<2)>>2]=(f[c+(Qa+Ra<<2)>>2]|0)+(f[c+(Qa+Pa<<2)>>2]|0)-(f[c+(Qa+Ma<<2)>>2]|0);Qa=Qa+1|0}while((Qa|0)!=(g|0))}Qa=Ia+1|0;if((Qa|0)==4){Ka=4;break c}else Sa=Qa}else Sa=Ia;do if(Ea){Qa=Ja+1|0;Ma=((Qa>>>0)%3|0|0)==0?Ja+-2|0:Qa;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,Ma=Qa+1|0,(Qa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Qa+-2|0:Ma;else Ta=-1}else{Ma=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,(Qa|0)!=-1):0)if(!((Qa>>>0)%3|0)){Ta=Qa+2|0;break}else{Ta=Qa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(pa|0)){Ka=Sa;break c}if((Ta|0)!=-1|Ha){Ia=Sa;Ja=Ta}else break}if(Da){Ea=0;Fa=Sa;Ga=-1;continue}if(f[(f[e>>2]|0)+(Ba<<2)>>2]&Ca|0){Ea=0;Fa=Sa;Ga=-1;continue}Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ja|0)==-1){Ea=0;Fa=Sa;Ga=-1;continue}if(!((Ja>>>0)%3|0)){Ea=0;Fa=Sa;Ga=Ja+2|0;continue}else{Ea=0;Fa=Sa;Ga=Ja+-1|0;continue}}Ga=X(ra,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Fa=c+((X(qa+-2|0,g)|0)<<2)|0;Ea=c+(Ga<<2)|0;Q=f[_>>2]|0;if(T){Ca=0;Ba=0;while(1){Da=(f[Fa+(Ca<<2)>>2]|0)-(f[Ea+(Ca<<2)>>2]|0)|0;pa=((Da|0)>-1?Da:0-Da|0)+Ba|0;f[ta+(Ca<<2)>>2]=Da;f[Q+(Ca<<2)>>2]=Da<<1^Da>>31;Ca=Ca+1|0;if((Ca|0)==(g|0)){Ua=pa;break}else Ba=pa}}else Ua=0;xo(j,$,Q,g);Ba=el(j)|0;Ca=I;pa=Jm(j)|0;Da=ho(pa|0,I|0,Ba|0,Ca|0)|0;Ca=I;Ba=(Ka|0)>0;if(Ba){pa=Ka+-1|0;Ja=p+(pa<<3)|0;Ia=Ja;Ha=ho(f[Ia>>2]|0,f[Ia+4>>2]|0,Ka|0,((Ka|0)<0)<<31>>31|0)|0;Ia=I;Qa=Ja;f[Qa>>2]=Ha;f[Qa+4>>2]=Ia;Va=+W(+(+Em(Ha,f[o+(pa<<3)>>2]|0)*(+(Ha>>>0)+4294967296.0*+(Ia|0))));Ia=ho(Da|0,Ca|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Wa=Ia}else Wa=Da;Da=r;f[Da>>2]=Wa;f[Da+4>>2]=Ua;b[V>>0]=0;f[Z>>2]=0;ag(aa,Fa,Fa+(g<<2)|0);f[s>>2]=ua;f[t>>2]=va;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Lf(ba,k,j);if((Ka|0)<1){Xa=za;Ya=ya;Za=xa;_a=wa;$a=va;ab=ua;bb=ua}else{Da=n+Ka|0;Ia=f[q>>2]|0;Ca=Ka+-1|0;Ha=o+(Ca<<3)|0;pa=p+(Ca<<3)|0;Ca=Ia;Qa=f[H>>2]|0;Ja=Da+-1|0;Ma=(Ja|0)==(n|0);Pa=Da+-2|0;Ra=ma>>>0>>0;La=~Ka;Na=Ka+2+((La|0)>-2?La:-2)|0;La=Qa;Oa=Ja>>>0>n>>>0;cb=0;db=1;while(1){cb=cb+1|0;uj(n|0,1,Na|0)|0;uj(n|0,0,cb|0)|0;d:while(1){if(T){uj(f[m>>2]|0,0,na|0)|0;eb=f[m>>2]|0;fb=0;gb=0;while(1){if(!(b[n+fb>>0]|0)){hb=f[l+(fb*12|0)>>2]|0;ib=0;do{jb=eb+(ib<<2)|0;f[jb>>2]=(f[jb>>2]|0)+(f[hb+(ib<<2)>>2]|0);ib=ib+1|0}while((ib|0)!=(g|0));kb=(1<>0]|0))mb=(1<>2]|0;do if(T){f[fb>>2]=(f[fb>>2]|0)/(db|0)|0;if(!oa){gb=1;do{eb=fb+(gb<<2)|0;f[eb>>2]=(f[eb>>2]|0)/(db|0)|0;gb=gb+1|0}while((gb|0)!=(g|0));gb=f[_>>2]|0;if(T)nb=gb;else{ob=0;pb=gb;break}}else nb=f[_>>2]|0;gb=0;eb=0;while(1){ib=(f[fb+(gb<<2)>>2]|0)-(f[Ea+(gb<<2)>>2]|0)|0;hb=((ib|0)>-1?ib:0-ib|0)+eb|0;f[Ia+(gb<<2)>>2]=ib;f[nb+(gb<<2)>>2]=ib<<1^ib>>31;gb=gb+1|0;if((gb|0)==(g|0)){ob=hb;pb=nb;break}else eb=hb}}else{ob=0;pb=f[_>>2]|0}while(0);xo(j,$,pb,g);fb=el(j)|0;eb=I;gb=Jm(j)|0;hb=ho(gb|0,I|0,fb|0,eb|0)|0;eb=I;if(Ba){fb=Ha;gb=ho(f[fb>>2]|0,f[fb+4>>2]|0,db|0,0)|0;fb=pa;ib=f[fb>>2]|0;jb=f[fb+4>>2]|0;Va=+W(+(+Em(ib,gb)*(+(ib>>>0)+4294967296.0*+(jb|0))));jb=ho(hb|0,eb|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;qb=jb}else qb=hb;hb=f[r>>2]|0;if(!((qb|0)>=(hb|0)?!((qb|0)<=(hb|0)?(ob|0)<(f[U>>2]|0):0):0)){hb=r;f[hb>>2]=qb;f[hb+4>>2]=ob;b[V>>0]=lb;f[Z>>2]=db;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Lf(aa,k,j);f[x>>2]=Ca;f[y>>2]=Qa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Lf(ba,k,j)}if(Ma)break;rb=b[Ja>>0]|0;hb=-1;jb=rb;while(1){eb=hb+-1|0;sb=Da+eb|0;ib=jb;jb=b[sb>>0]|0;if((jb&255)<(ib&255))break;if((sb|0)==(n|0)){tb=86;break d}else hb=eb}eb=Da+hb|0;if((jb&255)<(rb&255)){ub=Ja;vb=rb}else{ib=Da;gb=Ja;while(1){fb=gb+-1|0;if((jb&255)<(h[ib+-2>>0]|0)){ub=fb;vb=1;break}else{wb=gb;gb=fb;ib=wb}}}b[sb>>0]=vb;b[ub>>0]=jb;if((hb|0)<-1){xb=eb;yb=Ja}else continue;while(1){ib=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=ib;ib=xb+1|0;gb=yb+-1|0;if(ib>>>0>>0){xb=ib;yb=gb}else continue d}}if(((tb|0)==86?(tb=0,Oa):0)?(eb=b[n>>0]|0,b[n>>0]=rb,b[Ja>>0]=eb,Ra):0){eb=Pa;hb=ma;do{jb=b[hb>>0]|0;b[hb>>0]=b[eb>>0]|0;b[eb>>0]=jb;hb=hb+1|0;eb=eb+-1|0}while(hb>>>0>>0)}if((db|0)>=(Ka|0)){Xa=La;Ya=Ia;Za=La;_a=Ia;$a=Qa;ab=Ca;bb=Ia;break}else db=db+1|0}}if(Ba){db=f[Z>>2]|0;Ia=o+(Ka+-1<<3)|0;Ca=Ia;Qa=ho(f[Ca>>2]|0,f[Ca+4>>2]|0,db|0,((db|0)<0)<<31>>31|0)|0;db=Ia;f[db>>2]=Qa;f[db+4>>2]=I}if(T){db=f[ba>>2]|0;Qa=f[C>>2]|0;Ia=0;do{Ca=f[db+(Ia<<2)>>2]|0;f[Qa+(Ia<<2)>>2]=Ca<<1^Ca>>31;Ia=Ia+1|0}while((Ia|0)!=(g|0));zb=Qa}else zb=f[C>>2]|0;wo(j,$,zb,g);if(Ba){Qa=Ka+-1|0;Ab=a+60+(Qa*12|0)|0;Ia=a+60+(Qa*12|0)+4|0;db=a+60+(Qa*12|0)+8|0;Qa=0;do{Ca=f[Ia>>2]|0;La=f[db>>2]|0;Pa=(Ca|0)==(La<<5|0);if(!(1<>0])){if(Pa){if((Ca+1|0)<0){tb=114;break b}Ra=La<<6;Ja=Ca+32&-32;wi(Ab,Ca>>>0<1073741823?(Ra>>>0>>0?Ja:Ra):2147483647);Bb=f[Ia>>2]|0}else Bb=Ca;f[Ia>>2]=Bb+1;Ra=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ra>>2]=f[Ra>>2]|1<<(Bb&31)}else{if(Pa){if((Ca+1|0)<0){tb=119;break b}Pa=La<<6;La=Ca+32&-32;wi(Ab,Ca>>>0<1073741823?(Pa>>>0>>0?La:Pa):2147483647);Cb=f[Ia>>2]|0}else Cb=Ca;f[Ia>>2]=Cb+1;Ca=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[Ca>>2]=f[Ca>>2]&~(1<<(Cb&31))}Qa=Qa+1|0}while((Qa|0)<(Ka|0))}Qa=d+(Ga<<2)|0;Ia=f[z>>2]|0;if((Ia|0)>0){db=0;Ba=f[aa>>2]|0;Ca=Ia;while(1){if((Ca|0)>0){Ia=0;do{Pa=f[Ba+(Ia<<2)>>2]|0;La=f[ca>>2]|0;if((Pa|0)>(La|0)){Ra=f[da>>2]|0;f[Ra+(Ia<<2)>>2]=La;Db=Ra}else{Ra=f[ea>>2]|0;La=f[da>>2]|0;f[La+(Ia<<2)>>2]=(Pa|0)<(Ra|0)?Ra:Pa;Db=La}Ia=Ia+1|0}while((Ia|0)<(f[z>>2]|0));Eb=Db}else Eb=f[da>>2]|0;Ia=(f[Ea+(db<<2)>>2]|0)-(f[Eb+(db<<2)>>2]|0)|0;La=Qa+(db<<2)|0;f[La>>2]=Ia;do if((Ia|0)<(f[fa>>2]|0)){Fb=(f[ga>>2]|0)+Ia|0;tb=109}else{if((Ia|0)<=(f[ha>>2]|0))break;Fb=Ia-(f[ga>>2]|0)|0;tb=109}while(0);if((tb|0)==109){tb=0;f[La>>2]=Fb}db=db+1|0;Ca=f[z>>2]|0;if((db|0)>=(Ca|0))break;else Ba=Eb}}Ba=f[ia>>2]|0;if(Ba|0){Ca=f[la>>2]|0;if((Ca|0)!=(Ba|0))f[la>>2]=Ca+(~((Ca+-4-Ba|0)>>>2)<<2);br(Ba)}Ba=f[ja>>2]|0;if(Ba|0){Ca=f[ka>>2]|0;if((Ca|0)!=(Ba|0))f[ka>>2]=Ca+(~((Ca+-4-Ba|0)>>>2)<<2);br(Ba)}if((qa|0)<=2){Gb=_a;Hb=Za;break a}Ba=f[B>>2]|0;sa=f[Ba>>2]|0;Ca=ra+-1|0;if((f[Ba+4>>2]|0)-sa>>2>>>0<=Ca>>>0){Aa=Ba;tb=18;break}else{Ba=ra;ra=Ca;ta=bb;ua=ab;va=$a;wa=_a;xa=Za;ya=Ya;za=Xa;qa=Ba}}if((tb|0)==18)nq(Aa);else if((tb|0)==114)nq(Ab);else if((tb|0)==119)nq(Ab)}else{Gb=M;Hb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Ab=a+32|0;Aa=a+12|0;qa=a+28|0;Xa=a+20|0;za=a+24|0;a=0;Ya=N;N=g;while(1){if((N|0)>0){g=0;do{ya=f[Ya+(g<<2)>>2]|0;Za=f[M>>2]|0;if((ya|0)>(Za|0)){xa=f[Ab>>2]|0;f[xa+(g<<2)>>2]=Za;Ib=xa}else{xa=f[Aa>>2]|0;Za=f[Ab>>2]|0;f[Za+(g<<2)>>2]=(ya|0)<(xa|0)?xa:ya;Ib=Za}g=g+1|0}while((g|0)<(f[z>>2]|0));Jb=Ib}else Jb=f[Ab>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Jb+(a<<2)>>2]|0)|0;Za=d+(a<<2)|0;f[Za>>2]=g;if((g|0)>=(f[qa>>2]|0)){if((g|0)>(f[za>>2]|0)){Kb=g-(f[Xa>>2]|0)|0;tb=145}}else{Kb=(f[Xa>>2]|0)+g|0;tb=145}if((tb|0)==145){tb=0;f[Za>>2]=Kb}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Ya=Jb}}if(Gb|0){if((Hb|0)!=(Gb|0))f[H>>2]=Hb+(~((Hb+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[m>>2]|0;if(Gb|0){m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+36>>2]|0;if(Gb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+24>>2]|0;if(Gb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+12>>2]|0;if(Gb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l>>2]|0;if(!Gb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Gb|0))f[E>>2]=l+(~((l+-4-Gb|0)>>>2)<<2);br(Gb);u=i;return 1}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Ph(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=(g|0)==1;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=Q;qa=oa;ra=D;sa=M;ta=P;ua=O;va=M;wa=N;xa=M;ya=N}else{za=G;nq(za)}b:while(1){oa=f[ra+(qa<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=(oa|0)==-1|(Q|0)==-1;Ba=1;Ca=0;Da=oa;c:while(1){Ea=Ba^1;Fa=Ca;Ga=Da;while(1){if((Ga|0)==-1){Ha=Fa;break c}Ia=f[l+(Fa*12|0)>>2]|0;Ja=f[R>>2]|0;Ka=f[Ja+(Ga<<2)>>2]|0;if((Ka|0)!=-1){La=f[e>>2]|0;Ma=f[A>>2]|0;Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0;Oa=Ka+1|0;Pa=((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa;if((Pa|0)==-1)Qa=-1;else Qa=f[La+(Pa<<2)>>2]|0;Pa=f[Ma+(Qa<<2)>>2]|0;Oa=(((Ka>>>0)%3|0|0)==0?2:-1)+Ka|0;if((Oa|0)==-1)Ra=-1;else Ra=f[La+(Oa<<2)>>2]|0;Oa=f[Ma+(Ra<<2)>>2]|0;if((Na|0)<(qa|0)&(Pa|0)<(qa|0)&(Oa|0)<(qa|0)){Ma=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(S){Oa=0;do{f[Ia+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ma<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Fa+1|0;if((Oa|0)==4){Ha=4;break c}else Sa=Oa}else Sa=Fa}else Sa=Fa;do if(Ba){Oa=Ga+1|0;Ma=((Oa>>>0)%3|0|0)==0?Ga+-2|0:Oa;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,Ma=Oa+1|0,(Oa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Oa+-2|0:Ma;else Ta=-1}else{Ma=(((Ga>>>0)%3|0|0)==0?2:-1)+Ga|0;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ta=Oa+2|0;break}else{Ta=Oa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(oa|0)){Ha=Sa;break c}if((Ta|0)!=-1|Ea){Fa=Sa;Ga=Ta}else break}if(Aa){Ba=0;Ca=Sa;Da=-1;continue}Ga=f[Ja+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=0;Ca=Sa;Da=-1;continue}if(!((Ga>>>0)%3|0)){Ba=0;Ca=Sa;Da=Ga+2|0;continue}else{Ba=0;Ca=Sa;Da=Ga+-1|0;continue}}Da=X(qa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ca=c+((X(pa+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Q=f[Z>>2]|0;if(S){Aa=0;oa=0;while(1){Ga=(f[Ca+(Aa<<2)>>2]|0)-(f[Ba+(Aa<<2)>>2]|0)|0;Fa=((Ga|0)>-1?Ga:0-Ga|0)+oa|0;f[sa+(Aa<<2)>>2]=Ga;f[Q+(Aa<<2)>>2]=Ga<<1^Ga>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Ua=Fa;break}else oa=Fa}}else Ua=0;xo(j,_,Q,g);oa=el(j)|0;Aa=I;Fa=Jm(j)|0;Ga=ho(Fa|0,I|0,oa|0,Aa|0)|0;Aa=I;oa=(Ha|0)>0;if(oa){Fa=Ha+-1|0;Ea=p+(Fa<<3)|0;Oa=Ea;Ma=ho(f[Oa>>2]|0,f[Oa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Oa=I;Na=Ea;f[Na>>2]=Ma;f[Na+4>>2]=Oa;Va=+W(+(+Em(Ma,f[o+(Fa<<3)>>2]|0)*(+(Ma>>>0)+4294967296.0*+(Oa|0))));Oa=ho(Ga|0,Aa|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Wa=Oa}else Wa=Ga;Ga=r;f[Ga>>2]=Wa;f[Ga+4>>2]=Ua;b[U>>0]=0;f[V>>2]=0;ag($,Ca,Ca+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Lf(aa,k,j);if((Ha|0)<1){Xa=ya;Ya=xa;Za=wa;_a=va;$a=ua;ab=ta;bb=ta}else{Ga=n+Ha|0;Oa=f[q>>2]|0;Aa=Ha+-1|0;Ma=o+(Aa<<3)|0;Fa=p+(Aa<<3)|0;Aa=Oa;Na=f[H>>2]|0;Ea=Ga+-1|0;Pa=(Ea|0)==(n|0);Ia=Ga+-2|0;La=la>>>0>>0;Ka=~Ha;cb=Ha+2+((Ka|0)>-2?Ka:-2)|0;Ka=Na;db=Ea>>>0>n>>>0;eb=0;fb=1;while(1){eb=eb+1|0;uj(n|0,1,cb|0)|0;uj(n|0,0,eb|0)|0;d:while(1){if(S){uj(f[m>>2]|0,0,ma|0)|0;gb=f[m>>2]|0;hb=0;ib=0;while(1){if(!(b[n+hb>>0]|0)){jb=f[l+(hb*12|0)>>2]|0;kb=0;do{lb=gb+(kb<<2)|0;f[lb>>2]=(f[lb>>2]|0)+(f[jb+(kb<<2)>>2]|0);kb=kb+1|0}while((kb|0)!=(g|0));mb=(1<>0]|0))ob=(1<>2]|0;do if(S){f[hb>>2]=(f[hb>>2]|0)/(fb|0)|0;if(!na){ib=1;do{gb=hb+(ib<<2)|0;f[gb>>2]=(f[gb>>2]|0)/(fb|0)|0;ib=ib+1|0}while((ib|0)!=(g|0));ib=f[Z>>2]|0;if(S)pb=ib;else{qb=0;rb=ib;break}}else pb=f[Z>>2]|0;ib=0;gb=0;while(1){kb=(f[hb+(ib<<2)>>2]|0)-(f[Ba+(ib<<2)>>2]|0)|0;jb=((kb|0)>-1?kb:0-kb|0)+gb|0;f[Oa+(ib<<2)>>2]=kb;f[pb+(ib<<2)>>2]=kb<<1^kb>>31;ib=ib+1|0;if((ib|0)==(g|0)){qb=jb;rb=pb;break}else gb=jb}}else{qb=0;rb=f[Z>>2]|0}while(0);xo(j,_,rb,g);hb=el(j)|0;gb=I;ib=Jm(j)|0;jb=ho(ib|0,I|0,hb|0,gb|0)|0;gb=I;if(oa){hb=Ma;ib=ho(f[hb>>2]|0,f[hb+4>>2]|0,fb|0,0)|0;hb=Fa;kb=f[hb>>2]|0;lb=f[hb+4>>2]|0;Va=+W(+(+Em(kb,ib)*(+(kb>>>0)+4294967296.0*+(lb|0))));lb=ho(jb|0,gb|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;sb=lb}else sb=jb;jb=f[r>>2]|0;if(!((sb|0)>=(jb|0)?!((sb|0)<=(jb|0)?(qb|0)<(f[T>>2]|0):0):0)){jb=r;f[jb>>2]=sb;f[jb+4>>2]=qb;b[U>>0]=nb;f[V>>2]=fb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Lf($,k,j);f[x>>2]=Aa;f[y>>2]=Na;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Lf(aa,k,j)}if(Pa)break;tb=b[Ea>>0]|0;jb=-1;lb=tb;while(1){gb=jb+-1|0;ub=Ga+gb|0;kb=lb;lb=b[ub>>0]|0;if((lb&255)<(kb&255))break;if((ub|0)==(n|0)){vb=86;break d}else jb=gb}gb=Ga+jb|0;if((lb&255)<(tb&255)){wb=Ea;xb=tb}else{kb=Ga;ib=Ea;while(1){hb=ib+-1|0;if((lb&255)<(h[kb+-2>>0]|0)){wb=hb;xb=1;break}else{yb=ib;ib=hb;kb=yb}}}b[ub>>0]=xb;b[wb>>0]=lb;if((jb|0)<-1){zb=gb;Ab=Ea}else continue;while(1){kb=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=kb;kb=zb+1|0;ib=Ab+-1|0;if(kb>>>0>>0){zb=kb;Ab=ib}else continue d}}if(((vb|0)==86?(vb=0,db):0)?(gb=b[n>>0]|0,b[n>>0]=tb,b[Ea>>0]=gb,La):0){gb=Ia;jb=la;do{lb=b[jb>>0]|0;b[jb>>0]=b[gb>>0]|0;b[gb>>0]=lb;jb=jb+1|0;gb=gb+-1|0}while(jb>>>0>>0)}if((fb|0)>=(Ha|0)){Xa=Ka;Ya=Oa;Za=Ka;_a=Oa;$a=Na;ab=Aa;bb=Oa;break}else fb=fb+1|0}}if(oa){fb=f[V>>2]|0;Oa=o+(Ha+-1<<3)|0;Aa=Oa;Na=ho(f[Aa>>2]|0,f[Aa+4>>2]|0,fb|0,((fb|0)<0)<<31>>31|0)|0;fb=Oa;f[fb>>2]=Na;f[fb+4>>2]=I}if(S){fb=f[aa>>2]|0;Na=f[C>>2]|0;Oa=0;do{Aa=f[fb+(Oa<<2)>>2]|0;f[Na+(Oa<<2)>>2]=Aa<<1^Aa>>31;Oa=Oa+1|0}while((Oa|0)!=(g|0));Bb=Na}else Bb=f[C>>2]|0;wo(j,_,Bb,g);if(oa){Na=Ha+-1|0;Cb=a+60+(Na*12|0)|0;Oa=a+60+(Na*12|0)+4|0;fb=a+60+(Na*12|0)+8|0;Na=0;do{Aa=f[Oa>>2]|0;Ka=f[fb>>2]|0;Ia=(Aa|0)==(Ka<<5|0);if(!(1<>0])){if(Ia){if((Aa+1|0)<0){vb=114;break b}La=Ka<<6;Ea=Aa+32&-32;wi(Cb,Aa>>>0<1073741823?(La>>>0>>0?Ea:La):2147483647);Db=f[Oa>>2]|0}else Db=Aa;f[Oa>>2]=Db+1;La=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[La>>2]=f[La>>2]|1<<(Db&31)}else{if(Ia){if((Aa+1|0)<0){vb=119;break b}Ia=Ka<<6;Ka=Aa+32&-32;wi(Cb,Aa>>>0<1073741823?(Ia>>>0>>0?Ka:Ia):2147483647);Eb=f[Oa>>2]|0}else Eb=Aa;f[Oa>>2]=Eb+1;Aa=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Eb&31))}Na=Na+1|0}while((Na|0)<(Ha|0))}Na=d+(Da<<2)|0;Oa=f[z>>2]|0;if((Oa|0)>0){fb=0;oa=f[$>>2]|0;Aa=Oa;while(1){if((Aa|0)>0){Oa=0;do{Ia=f[oa+(Oa<<2)>>2]|0;Ka=f[ba>>2]|0;if((Ia|0)>(Ka|0)){La=f[ca>>2]|0;f[La+(Oa<<2)>>2]=Ka;Fb=La}else{La=f[da>>2]|0;Ka=f[ca>>2]|0;f[Ka+(Oa<<2)>>2]=(Ia|0)<(La|0)?La:Ia;Fb=Ka}Oa=Oa+1|0}while((Oa|0)<(f[z>>2]|0));Gb=Fb}else Gb=f[ca>>2]|0;Oa=(f[Ba+(fb<<2)>>2]|0)-(f[Gb+(fb<<2)>>2]|0)|0;Ka=Na+(fb<<2)|0;f[Ka>>2]=Oa;do if((Oa|0)<(f[ea>>2]|0)){Hb=(f[fa>>2]|0)+Oa|0;vb=109}else{if((Oa|0)<=(f[ga>>2]|0))break;Hb=Oa-(f[fa>>2]|0)|0;vb=109}while(0);if((vb|0)==109){vb=0;f[Ka>>2]=Hb}fb=fb+1|0;Aa=f[z>>2]|0;if((fb|0)>=(Aa|0))break;else oa=Gb}}oa=f[ha>>2]|0;if(oa|0){Aa=f[ka>>2]|0;if((Aa|0)!=(oa|0))f[ka>>2]=Aa+(~((Aa+-4-oa|0)>>>2)<<2);br(oa)}oa=f[ia>>2]|0;if(oa|0){Aa=f[ja>>2]|0;if((Aa|0)!=(oa|0))f[ja>>2]=Aa+(~((Aa+-4-oa|0)>>>2)<<2);br(oa)}if((pa|0)<=2){Ib=_a;Jb=Za;break a}oa=f[B>>2]|0;ra=f[oa>>2]|0;Aa=qa+-1|0;if((f[oa+4>>2]|0)-ra>>2>>>0<=Aa>>>0){za=oa;vb=18;break}else{oa=qa;qa=Aa;sa=bb;ta=ab;ua=$a;va=_a;wa=Za;xa=Ya;ya=Xa;pa=oa}}if((vb|0)==18)nq(za);else if((vb|0)==114)nq(Cb);else if((vb|0)==119)nq(Cb)}else{Ib=M;Jb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Cb=a+32|0;za=a+12|0;pa=a+28|0;Xa=a+20|0;ya=a+24|0;a=0;Ya=N;N=g;while(1){if((N|0)>0){g=0;do{xa=f[Ya+(g<<2)>>2]|0;Za=f[M>>2]|0;if((xa|0)>(Za|0)){wa=f[Cb>>2]|0;f[wa+(g<<2)>>2]=Za;Kb=wa}else{wa=f[za>>2]|0;Za=f[Cb>>2]|0;f[Za+(g<<2)>>2]=(xa|0)<(wa|0)?wa:xa;Kb=Za}g=g+1|0}while((g|0)<(f[z>>2]|0));Lb=Kb}else Lb=f[Cb>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Lb+(a<<2)>>2]|0)|0;Za=d+(a<<2)|0;f[Za>>2]=g;if((g|0)>=(f[pa>>2]|0)){if((g|0)>(f[ya>>2]|0)){Mb=g-(f[Xa>>2]|0)|0;vb=145}}else{Mb=(f[Xa>>2]|0)+g|0;vb=145}if((vb|0)==145){vb=0;f[Za>>2]=Mb}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Ya=Lb}}if(Ib|0){if((Jb|0)!=(Ib|0))f[H>>2]=Jb+(~((Jb+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[m>>2]|0;if(Ib|0){m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+36>>2]|0;if(Ib|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+24>>2]|0;if(Ib|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+12>>2]|0;if(Ib|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l>>2]|0;if(!Ib){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Ib|0))f[E>>2]=l+(~((l+-4-Ib|0)>>>2)<<2);br(Ib);u=i;return 1}function cb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Ol(7108,7300,e,c)|0)-7108>>2;k=h;a:while(1){l=(f[7108+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[6916+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Ol(6916,7108,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function db(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=(g|0)==1;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=Q;pa=na;qa=D;ra=M;sa=P;ta=O;ua=M;va=N;wa=M;xa=N}else{ya=G;nq(ya)}b:while(1){na=f[qa+(pa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=Q>>>5;Aa=1<<(Q&31);Ba=(na|0)==-1|(Q|0)==-1;Ca=1;Da=0;Ea=na;c:while(1){Fa=Ca^1;Ga=Da;Ha=Ea;while(1){if((Ha|0)==-1){Ia=Ga;break c}Ja=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(Ka=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(Ka|0)!=-1):0)?(La=f[S>>2]|0,Ma=f[A>>2]|0,Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0,Oa=Ka+1|0,Pa=f[Ma+(f[La+((((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa)<<2)>>2]<<2)>>2]|0,Oa=f[Ma+(f[La+((((Ka>>>0)%3|0|0)==0?2:-1)+Ka<<2)>>2]<<2)>>2]|0,(Na|0)<(pa|0)&(Pa|0)<(pa|0)&(Oa|0)<(pa|0)):0){Ka=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(T){Oa=0;do{f[Ja+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ka<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Ga+1|0;if((Oa|0)==4){Ia=4;break c}else Qa=Oa}else Qa=Ga;do if(Ca){Oa=Ha+1|0;Ka=((Oa>>>0)%3|0|0)==0?Ha+-2|0:Oa;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,Ka=Oa+1|0,(Oa|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Oa+-2|0:Ka;else Ra=-1}else{Ka=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ra=Oa+2|0;break}else{Ra=Oa+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(na|0)){Ia=Qa;break c}if((Ra|0)!=-1|Fa){Ga=Qa;Ha=Ra}else break}if(Ba){Ca=0;Da=Qa;Ea=-1;continue}if(f[(f[z>>2]|0)+(za<<2)>>2]&Aa|0){Ca=0;Da=Qa;Ea=-1;continue}Ha=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ha|0)==-1){Ca=0;Da=Qa;Ea=-1;continue}if(!((Ha>>>0)%3|0)){Ca=0;Da=Qa;Ea=Ha+2|0;continue}else{Ca=0;Da=Qa;Ea=Ha+-1|0;continue}}Ea=X(pa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Da=c+((X(oa+-2|0,g)|0)<<2)|0;Ca=c+(Ea<<2)|0;Q=f[_>>2]|0;if(T){Aa=0;za=0;while(1){Ba=(f[Da+(Aa<<2)>>2]|0)-(f[Ca+(Aa<<2)>>2]|0)|0;na=((Ba|0)>-1?Ba:0-Ba|0)+za|0;f[ra+(Aa<<2)>>2]=Ba;f[Q+(Aa<<2)>>2]=Ba<<1^Ba>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Sa=na;break}else za=na}}else Sa=0;xo(e,$,Q,g);za=el(e)|0;Aa=I;na=Jm(e)|0;Ba=ho(na|0,I|0,za|0,Aa|0)|0;Aa=I;za=(Ia|0)>0;if(za){na=Ia+-1|0;Ha=p+(na<<3)|0;Ga=Ha;Fa=ho(f[Ga>>2]|0,f[Ga+4>>2]|0,Ia|0,((Ia|0)<0)<<31>>31|0)|0;Ga=I;Oa=Ha;f[Oa>>2]=Fa;f[Oa+4>>2]=Ga;Ta=+W(+(+Em(Fa,f[o+(na<<3)>>2]|0)*(+(Fa>>>0)+4294967296.0*+(Ga|0))));Ga=ho(Ba|0,Aa|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;Ua=Ga}else Ua=Ba;Ba=r;f[Ba>>2]=Ua;f[Ba+4>>2]=Sa;b[V>>0]=0;f[Z>>2]=0;ag(aa,Da,Da+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Lf(ba,j,e);if((Ia|0)<1){Va=xa;Wa=wa;Xa=va;Ya=ua;Za=ta;_a=sa;$a=sa}else{Ba=n+Ia|0;Ga=f[q>>2]|0;Aa=Ia+-1|0;Fa=o+(Aa<<3)|0;na=p+(Aa<<3)|0;Aa=Ga;Oa=f[H>>2]|0;Ha=Ba+-1|0;Ka=(Ha|0)==(n|0);Na=Ba+-2|0;Pa=ka>>>0>>0;Ja=~Ia;La=Ia+2+((Ja|0)>-2?Ja:-2)|0;Ja=Oa;Ma=Ha>>>0>n>>>0;ab=0;bb=1;while(1){ab=ab+1|0;uj(n|0,1,La|0)|0;uj(n|0,0,ab|0)|0;d:while(1){if(T){uj(f[m>>2]|0,0,la|0)|0;cb=f[m>>2]|0;db=0;eb=0;while(1){if(!(b[n+db>>0]|0)){fb=f[l+(db*12|0)>>2]|0;gb=0;do{hb=cb+(gb<<2)|0;f[hb>>2]=(f[hb>>2]|0)+(f[fb+(gb<<2)>>2]|0);gb=gb+1|0}while((gb|0)!=(g|0));ib=(1<>0]|0))kb=(1<>2]|0;do if(T){f[db>>2]=(f[db>>2]|0)/(bb|0)|0;if(!ma){eb=1;do{cb=db+(eb<<2)|0;f[cb>>2]=(f[cb>>2]|0)/(bb|0)|0;eb=eb+1|0}while((eb|0)!=(g|0));eb=f[_>>2]|0;if(T)lb=eb;else{mb=0;nb=eb;break}}else lb=f[_>>2]|0;eb=0;cb=0;while(1){gb=(f[db+(eb<<2)>>2]|0)-(f[Ca+(eb<<2)>>2]|0)|0;fb=((gb|0)>-1?gb:0-gb|0)+cb|0;f[Ga+(eb<<2)>>2]=gb;f[lb+(eb<<2)>>2]=gb<<1^gb>>31;eb=eb+1|0;if((eb|0)==(g|0)){mb=fb;nb=lb;break}else cb=fb}}else{mb=0;nb=f[_>>2]|0}while(0);xo(e,$,nb,g);db=el(e)|0;cb=I;eb=Jm(e)|0;fb=ho(eb|0,I|0,db|0,cb|0)|0;cb=I;if(za){db=Fa;eb=ho(f[db>>2]|0,f[db+4>>2]|0,bb|0,0)|0;db=na;gb=f[db>>2]|0;hb=f[db+4>>2]|0;Ta=+W(+(+Em(gb,eb)*(+(gb>>>0)+4294967296.0*+(hb|0))));hb=ho(fb|0,cb|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;ob=hb}else ob=fb;fb=f[r>>2]|0;if(!((ob|0)>=(fb|0)?!((ob|0)<=(fb|0)?(mb|0)<(f[U>>2]|0):0):0)){fb=r;f[fb>>2]=ob;f[fb+4>>2]=mb;b[V>>0]=jb;f[Z>>2]=bb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Lf(aa,j,e);f[x>>2]=Aa;f[y>>2]=Oa;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Lf(ba,j,e)}if(Ka)break;pb=b[Ha>>0]|0;fb=-1;hb=pb;while(1){cb=fb+-1|0;qb=Ba+cb|0;gb=hb;hb=b[qb>>0]|0;if((hb&255)<(gb&255))break;if((qb|0)==(n|0)){rb=86;break d}else fb=cb}cb=Ba+fb|0;if((hb&255)<(pb&255)){sb=Ha;tb=pb}else{gb=Ba;eb=Ha;while(1){db=eb+-1|0;if((hb&255)<(h[gb+-2>>0]|0)){sb=db;tb=1;break}else{ub=eb;eb=db;gb=ub}}}b[qb>>0]=tb;b[sb>>0]=hb;if((fb|0)<-1){vb=cb;wb=Ha}else continue;while(1){gb=b[vb>>0]|0;b[vb>>0]=b[wb>>0]|0;b[wb>>0]=gb;gb=vb+1|0;eb=wb+-1|0;if(gb>>>0>>0){vb=gb;wb=eb}else continue d}}if(((rb|0)==86?(rb=0,Ma):0)?(cb=b[n>>0]|0,b[n>>0]=pb,b[Ha>>0]=cb,Pa):0){cb=Na;fb=ka;do{hb=b[fb>>0]|0;b[fb>>0]=b[cb>>0]|0;b[cb>>0]=hb;fb=fb+1|0;cb=cb+-1|0}while(fb>>>0>>0)}if((bb|0)>=(Ia|0)){Va=Ja;Wa=Ga;Xa=Ja;Ya=Ga;Za=Oa;_a=Aa;$a=Ga;break}else bb=bb+1|0}}if(za){bb=f[Z>>2]|0;Ga=o+(Ia+-1<<3)|0;Aa=Ga;Oa=ho(f[Aa>>2]|0,f[Aa+4>>2]|0,bb|0,((bb|0)<0)<<31>>31|0)|0;bb=Ga;f[bb>>2]=Oa;f[bb+4>>2]=I}if(T){bb=f[ba>>2]|0;Oa=f[C>>2]|0;Ga=0;do{Aa=f[bb+(Ga<<2)>>2]|0;f[Oa+(Ga<<2)>>2]=Aa<<1^Aa>>31;Ga=Ga+1|0}while((Ga|0)!=(g|0));xb=Oa}else xb=f[C>>2]|0;wo(e,$,xb,g);if(za){Oa=Ia+-1|0;yb=a+40+(Oa*12|0)|0;Ga=a+40+(Oa*12|0)+4|0;bb=a+40+(Oa*12|0)+8|0;Oa=0;do{Aa=f[Ga>>2]|0;Ja=f[bb>>2]|0;Na=(Aa|0)==(Ja<<5|0);if(!(1<>0])){if(Na){if((Aa+1|0)<0){rb=101;break b}Pa=Ja<<6;Ha=Aa+32&-32;wi(yb,Aa>>>0<1073741823?(Pa>>>0>>0?Ha:Pa):2147483647);zb=f[Ga>>2]|0}else zb=Aa;f[Ga>>2]=zb+1;Pa=(f[yb>>2]|0)+(zb>>>5<<2)|0;f[Pa>>2]=f[Pa>>2]|1<<(zb&31)}else{if(Na){if((Aa+1|0)<0){rb=106;break b}Na=Ja<<6;Ja=Aa+32&-32;wi(yb,Aa>>>0<1073741823?(Na>>>0>>0?Ja:Na):2147483647);Ab=f[Ga>>2]|0}else Ab=Aa;f[Ga>>2]=Ab+1;Aa=(f[yb>>2]|0)+(Ab>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Ab&31))}Oa=Oa+1|0}while((Oa|0)<(Ia|0))}Oa=f[aa>>2]|0;Ga=d+(Ea<<2)|0;bb=f[Ca+4>>2]|0;za=f[Oa>>2]|0;Aa=f[Oa+4>>2]|0;f[j>>2]=f[Ca>>2];f[da>>2]=bb;f[k>>2]=za;f[ea>>2]=Aa;Od(e,ca,j,k);f[Ga>>2]=f[e>>2];f[Ga+4>>2]=f[fa>>2];Ga=f[ga>>2]|0;if(Ga|0){Aa=f[ja>>2]|0;if((Aa|0)!=(Ga|0))f[ja>>2]=Aa+(~((Aa+-4-Ga|0)>>>2)<<2);br(Ga)}Ga=f[ha>>2]|0;if(Ga|0){Aa=f[ia>>2]|0;if((Aa|0)!=(Ga|0))f[ia>>2]=Aa+(~((Aa+-4-Ga|0)>>>2)<<2);br(Ga)}if((oa|0)<=2){Bb=Ya;Cb=Xa;break a}Ga=f[B>>2]|0;qa=f[Ga>>2]|0;Aa=pa+-1|0;if((f[Ga+4>>2]|0)-qa>>2>>>0<=Aa>>>0){ya=Ga;rb=18;break}else{Ga=pa;pa=Aa;ra=$a;sa=_a;ta=Za;ua=Ya;va=Xa;wa=Wa;xa=Va;oa=Ga}}if((rb|0)==18)nq(ya);else if((rb|0)==101)nq(yb);else if((rb|0)==106)nq(yb)}else{Bb=M;Cb=N}while(0);if((g|0)>0)uj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;yb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=yb;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Bb|0){if((Cb|0)!=(Bb|0))f[H>>2]=Cb+(~((Cb+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[m>>2]|0;if(Bb|0){m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+36>>2]|0;if(Bb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+24>>2]|0;if(Bb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+12>>2]|0;if(Bb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l>>2]|0;if(!Bb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Bb|0))f[E>>2]=l+(~((l+-4-Bb|0)>>>2)<<2);br(Bb);u=i;return 1}function eb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=(g|0)==1;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=Q;oa=ma;pa=M;qa=P;ra=O;sa=M;ta=N;ua=M;va=N;wa=D}else{xa=G;nq(xa)}b:while(1){ma=f[wa+(oa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=(ma|0)==-1|(Q|0)==-1;za=1;Aa=0;Ba=ma;c:while(1){Ca=za^1;Da=Aa;Ea=Ba;while(1){if((Ea|0)==-1){Fa=Da;break c}Ga=f[l+(Da*12|0)>>2]|0;Ha=f[R>>2]|0;Ia=f[Ha+(Ea<<2)>>2]|0;if((Ia|0)!=-1){Ja=f[z>>2]|0;Ka=f[A>>2]|0;La=f[Ka+(f[Ja+(Ia<<2)>>2]<<2)>>2]|0;Ma=Ia+1|0;Na=((Ma>>>0)%3|0|0)==0?Ia+-2|0:Ma;if((Na|0)==-1)Oa=-1;else Oa=f[Ja+(Na<<2)>>2]|0;Na=f[Ka+(Oa<<2)>>2]|0;Ma=(((Ia>>>0)%3|0|0)==0?2:-1)+Ia|0;if((Ma|0)==-1)Pa=-1;else Pa=f[Ja+(Ma<<2)>>2]|0;Ma=f[Ka+(Pa<<2)>>2]|0;if((La|0)<(oa|0)&(Na|0)<(oa|0)&(Ma|0)<(oa|0)){Ka=X(La,g)|0;La=X(Na,g)|0;Na=X(Ma,g)|0;if(S){Ma=0;do{f[Ga+(Ma<<2)>>2]=(f[c+(Ma+Na<<2)>>2]|0)+(f[c+(Ma+La<<2)>>2]|0)-(f[c+(Ma+Ka<<2)>>2]|0);Ma=Ma+1|0}while((Ma|0)!=(g|0))}Ma=Da+1|0;if((Ma|0)==4){Fa=4;break c}else Qa=Ma}else Qa=Da}else Qa=Da;do if(za){Ma=Ea+1|0;Ka=((Ma>>>0)%3|0|0)==0?Ea+-2|0:Ma;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,Ka=Ma+1|0,(Ma|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Ma+-2|0:Ka;else Ra=-1}else{Ka=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,(Ma|0)!=-1):0)if(!((Ma>>>0)%3|0)){Ra=Ma+2|0;break}else{Ra=Ma+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(ma|0)){Fa=Qa;break c}if((Ra|0)!=-1|Ca){Da=Qa;Ea=Ra}else break}if(ya){za=0;Aa=Qa;Ba=-1;continue}Ea=f[Ha+(Q<<2)>>2]|0;if((Ea|0)==-1){za=0;Aa=Qa;Ba=-1;continue}if(!((Ea>>>0)%3|0)){za=0;Aa=Qa;Ba=Ea+2|0;continue}else{za=0;Aa=Qa;Ba=Ea+-1|0;continue}}Ba=X(oa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Aa=c+((X(na+-2|0,g)|0)<<2)|0;za=c+(Ba<<2)|0;Q=f[Z>>2]|0;if(S){ya=0;ma=0;while(1){Ea=(f[Aa+(ya<<2)>>2]|0)-(f[za+(ya<<2)>>2]|0)|0;Da=((Ea|0)>-1?Ea:0-Ea|0)+ma|0;f[pa+(ya<<2)>>2]=Ea;f[Q+(ya<<2)>>2]=Ea<<1^Ea>>31;ya=ya+1|0;if((ya|0)==(g|0)){Sa=Da;break}else ma=Da}}else Sa=0;xo(e,_,Q,g);ma=el(e)|0;ya=I;Da=Jm(e)|0;Ea=ho(Da|0,I|0,ma|0,ya|0)|0;ya=I;ma=(Fa|0)>0;if(ma){Da=Fa+-1|0;Ca=p+(Da<<3)|0;Ma=Ca;Ka=ho(f[Ma>>2]|0,f[Ma+4>>2]|0,Fa|0,((Fa|0)<0)<<31>>31|0)|0;Ma=I;La=Ca;f[La>>2]=Ka;f[La+4>>2]=Ma;Ta=+W(+(+Em(Ka,f[o+(Da<<3)>>2]|0)*(+(Ka>>>0)+4294967296.0*+(Ma|0))));Ma=ho(Ea|0,ya|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;Ua=Ma}else Ua=Ea;Ea=r;f[Ea>>2]=Ua;f[Ea+4>>2]=Sa;b[U>>0]=0;f[V>>2]=0;ag($,Aa,Aa+(g<<2)|0);f[s>>2]=qa;f[t>>2]=ra;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Lf(aa,j,e);if((Fa|0)<1){Va=va;Wa=ua;Xa=ta;Ya=sa;Za=ra;_a=qa;$a=qa}else{Ea=n+Fa|0;Ma=f[q>>2]|0;ya=Fa+-1|0;Ka=o+(ya<<3)|0;Da=p+(ya<<3)|0;ya=Ma;La=f[H>>2]|0;Ca=Ea+-1|0;Na=(Ca|0)==(n|0);Ga=Ea+-2|0;Ja=ja>>>0>>0;Ia=~Fa;ab=Fa+2+((Ia|0)>-2?Ia:-2)|0;Ia=La;bb=Ca>>>0>n>>>0;cb=0;db=1;while(1){cb=cb+1|0;uj(n|0,1,ab|0)|0;uj(n|0,0,cb|0)|0;d:while(1){if(S){uj(f[m>>2]|0,0,ka|0)|0;eb=f[m>>2]|0;fb=0;gb=0;while(1){if(!(b[n+fb>>0]|0)){hb=f[l+(fb*12|0)>>2]|0;ib=0;do{jb=eb+(ib<<2)|0;f[jb>>2]=(f[jb>>2]|0)+(f[hb+(ib<<2)>>2]|0);ib=ib+1|0}while((ib|0)!=(g|0));kb=(1<>0]|0))mb=(1<>2]|0;do if(S){f[fb>>2]=(f[fb>>2]|0)/(db|0)|0;if(!la){gb=1;do{eb=fb+(gb<<2)|0;f[eb>>2]=(f[eb>>2]|0)/(db|0)|0;gb=gb+1|0}while((gb|0)!=(g|0));gb=f[Z>>2]|0;if(S)nb=gb;else{ob=0;pb=gb;break}}else nb=f[Z>>2]|0;gb=0;eb=0;while(1){ib=(f[fb+(gb<<2)>>2]|0)-(f[za+(gb<<2)>>2]|0)|0;hb=((ib|0)>-1?ib:0-ib|0)+eb|0;f[Ma+(gb<<2)>>2]=ib;f[nb+(gb<<2)>>2]=ib<<1^ib>>31;gb=gb+1|0;if((gb|0)==(g|0)){ob=hb;pb=nb;break}else eb=hb}}else{ob=0;pb=f[Z>>2]|0}while(0);xo(e,_,pb,g);fb=el(e)|0;eb=I;gb=Jm(e)|0;hb=ho(gb|0,I|0,fb|0,eb|0)|0;eb=I;if(ma){fb=Ka;gb=ho(f[fb>>2]|0,f[fb+4>>2]|0,db|0,0)|0;fb=Da;ib=f[fb>>2]|0;jb=f[fb+4>>2]|0;Ta=+W(+(+Em(ib,gb)*(+(ib>>>0)+4294967296.0*+(jb|0))));jb=ho(hb|0,eb|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;qb=jb}else qb=hb;hb=f[r>>2]|0;if(!((qb|0)>=(hb|0)?!((qb|0)<=(hb|0)?(ob|0)<(f[T>>2]|0):0):0)){hb=r;f[hb>>2]=qb;f[hb+4>>2]=ob;b[U>>0]=lb;f[V>>2]=db;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Lf($,j,e);f[x>>2]=ya;f[y>>2]=La;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Lf(aa,j,e)}if(Na)break;rb=b[Ca>>0]|0;hb=-1;jb=rb;while(1){eb=hb+-1|0;sb=Ea+eb|0;ib=jb;jb=b[sb>>0]|0;if((jb&255)<(ib&255))break;if((sb|0)==(n|0)){tb=86;break d}else hb=eb}eb=Ea+hb|0;if((jb&255)<(rb&255)){ub=Ca;vb=rb}else{ib=Ea;gb=Ca;while(1){fb=gb+-1|0;if((jb&255)<(h[ib+-2>>0]|0)){ub=fb;vb=1;break}else{wb=gb;gb=fb;ib=wb}}}b[sb>>0]=vb;b[ub>>0]=jb;if((hb|0)<-1){xb=eb;yb=Ca}else continue;while(1){ib=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=ib;ib=xb+1|0;gb=yb+-1|0;if(ib>>>0>>0){xb=ib;yb=gb}else continue d}}if(((tb|0)==86?(tb=0,bb):0)?(eb=b[n>>0]|0,b[n>>0]=rb,b[Ca>>0]=eb,Ja):0){eb=Ga;hb=ja;do{jb=b[hb>>0]|0;b[hb>>0]=b[eb>>0]|0;b[eb>>0]=jb;hb=hb+1|0;eb=eb+-1|0}while(hb>>>0>>0)}if((db|0)>=(Fa|0)){Va=Ia;Wa=Ma;Xa=Ia;Ya=Ma;Za=La;_a=ya;$a=Ma;break}else db=db+1|0}}if(ma){db=f[V>>2]|0;Ma=o+(Fa+-1<<3)|0;ya=Ma;La=ho(f[ya>>2]|0,f[ya+4>>2]|0,db|0,((db|0)<0)<<31>>31|0)|0;db=Ma;f[db>>2]=La;f[db+4>>2]=I}if(S){db=f[aa>>2]|0;La=f[C>>2]|0;Ma=0;do{ya=f[db+(Ma<<2)>>2]|0;f[La+(Ma<<2)>>2]=ya<<1^ya>>31;Ma=Ma+1|0}while((Ma|0)!=(g|0));zb=La}else zb=f[C>>2]|0;wo(e,_,zb,g);if(ma){La=Fa+-1|0;Ab=a+40+(La*12|0)|0;Ma=a+40+(La*12|0)+4|0;db=a+40+(La*12|0)+8|0;La=0;do{ya=f[Ma>>2]|0;Ia=f[db>>2]|0;Ga=(ya|0)==(Ia<<5|0);if(!(1<>0])){if(Ga){if((ya+1|0)<0){tb=101;break b}Ja=Ia<<6;Ca=ya+32&-32;wi(Ab,ya>>>0<1073741823?(Ja>>>0>>0?Ca:Ja):2147483647);Bb=f[Ma>>2]|0}else Bb=ya;f[Ma>>2]=Bb+1;Ja=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ja>>2]=f[Ja>>2]|1<<(Bb&31)}else{if(Ga){if((ya+1|0)<0){tb=106;break b}Ga=Ia<<6;Ia=ya+32&-32;wi(Ab,ya>>>0<1073741823?(Ga>>>0>>0?Ia:Ga):2147483647);Cb=f[Ma>>2]|0}else Cb=ya;f[Ma>>2]=Cb+1;ya=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[ya>>2]=f[ya>>2]&~(1<<(Cb&31))}La=La+1|0}while((La|0)<(Fa|0))}La=f[$>>2]|0;Ma=d+(Ba<<2)|0;db=f[za+4>>2]|0;ma=f[La>>2]|0;ya=f[La+4>>2]|0;f[j>>2]=f[za>>2];f[ca>>2]=db;f[k>>2]=ma;f[da>>2]=ya;Od(e,ba,j,k);f[Ma>>2]=f[e>>2];f[Ma+4>>2]=f[ea>>2];Ma=f[fa>>2]|0;if(Ma|0){ya=f[ia>>2]|0;if((ya|0)!=(Ma|0))f[ia>>2]=ya+(~((ya+-4-Ma|0)>>>2)<<2);br(Ma)}Ma=f[ga>>2]|0;if(Ma|0){ya=f[ha>>2]|0;if((ya|0)!=(Ma|0))f[ha>>2]=ya+(~((ya+-4-Ma|0)>>>2)<<2);br(Ma)}if((na|0)<=2){Db=Ya;Eb=Xa;break a}Ma=f[B>>2]|0;wa=f[Ma>>2]|0;ya=oa+-1|0;if((f[Ma+4>>2]|0)-wa>>2>>>0<=ya>>>0){xa=Ma;tb=18;break}else{Ma=oa;oa=ya;pa=$a;qa=_a;ra=Za;sa=Ya;ta=Xa;ua=Wa;va=Va;na=Ma}}if((tb|0)==18)nq(xa);else if((tb|0)==101)nq(Ab);else if((tb|0)==106)nq(Ab)}else{Db=M;Eb=N}while(0);if((g|0)>0)uj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Ab=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Ab;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Db|0){if((Eb|0)!=(Db|0))f[H>>2]=Eb+(~((Eb+-4-Db|0)>>>2)<<2);br(Db)}Db=f[m>>2]|0;if(Db|0){m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+36>>2]|0;if(Db|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+24>>2]|0;if(Db|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+12>>2]|0;if(Db|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l>>2]|0;if(!Db){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Db|0))f[E>>2]=l+(~((l+-4-Db|0)>>>2)<<2);br(Db);u=i;return 1}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,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,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Eh(h,b-l|0,6296);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)nq(d);k=((b+-1|0)>>>5)+1|0;m=vn(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;uj(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)nq(e);v=((o+-1|0)>>>5)+1|0;w=vn(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;uj(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Ti(h,6296);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ti(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;wi(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)nq(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)br(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}br(_b);u=c;return 1}function gb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=Oa,La=0,Ma=0,Na=0,Pa=0,Qa=Oa,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{r=r+(b[(f[w+(f[t+(q<<2)>>2]<<2)>>2]|0)+24>>0]|0)|0;q=q+1|0}while(q>>>0>>0);f[a+72>>2]=r;if(s){v=1;u=c;return v|0}s=g+4|0;r=g+8|0;x=d+8|0;q=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=0;ia=t;t=l;l=k;a:while(1){k=f[ia+(ha<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(k<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1260;f[s>>2]=-1;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=vn(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[q>>2]=17;ma=la;na=14821;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(k|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Lh(ra,d)|0)!=0):0)va=Ok(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Ok(ka,d,-1)|0}if((b[w>>0]|0)<0)br(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=vn(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14740;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(k|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(k|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Lh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=vn(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14760;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(k|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(k|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Lh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)br(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)br(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=vn(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;uj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=vn(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14740;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(k|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(k|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Lh(Fa,i)|0)!=0):0){Ga=Tg(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){rj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ja=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{Ka=$(qq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=Ka;Fa=Fa+1|0}while((Fa|0)<(ra|0));La=b[M>>0]|0}else La=Ga;Ja=La}if(Ja<<24>>24<0)br(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Tg(pa,i)|0,(Fa|0)!=(pa+4|0)):0){rj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Ma=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{Ka=$(qq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=Ka;ya=ya+1|0}while((ya|0)<(ra|0));Na=b[G>>0]|0}else Na=Fa;Ma=Na}if(Ma<<24>>24<0)br(f[d>>2]|0)}if((b[I>>0]|0)<0)br(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=vn(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14760;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(k|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Lh(oa,d)|0)){wa=91;break}Qa=$(zk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(zk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)br(f[d>>2]|0);Kl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);k=f[h>>2]|0;if(k|0){na=f[C>>2]|0;if((na|0)!=(k|0))f[C>>2]=na+(~((na+-4-k|0)>>>2)<<2);br(k)}}else Wd(g,ja,va)|0;k=f[P>>2]|0;if((k|0)==(f[Q>>2]|0))Ef(R,g);else{f[k>>2]=1260;f[k+4>>2]=f[s>>2];Ra=k+8|0;f[Ra>>2]=0;na=k+12|0;f[na>>2]=0;f[k+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=vn(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[k+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){kh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[k+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Qe(d,g,ja,m);k=f[S>>2]|0;if(k>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[k>>2]=ma;f[S>>2]=k+4}else Ze(U,d);k=f[d>>2]|0;f[d>>2]=0;if(k|0){ma=k+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;br(ma)}br(oa)}oa=f[k+68>>2]|0;if(oa|0){ma=k+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);br(oa)}oa=k+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;br(oa)}br(na)}br(k)}xa=0}f[g>>2]=1260;k=f[r>>2]|0;if(k|0){na=f[y>>2]|0;if((na|0)!=(k|0))f[y>>2]=na+(~((na+-4-k|0)>>>2)<<2);br(k)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{k=ja+24|0;na=b[k>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=vn(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=oa;oa=na;while(1){f[oa>>2]=2147483647;ya=ya+-1|0;if(!ya)break;else oa=oa+4|0}f[_>>2]=ma;Sa=b[k>>0]|0}oa=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}ya=oa<<2;sa=vn(ya)|0;f[h>>2]=sa;ra=sa+(oa<<2)|0;f[da>>2]=ra;uj(sa|0,0,ya|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[k>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{ya=0;oa=ra;na=Ta;while(1){f[e>>2]=ya;f[d>>2]=f[e>>2];Qb(ja,d,oa,na)|0;Fa=b[k>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=ya+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}ya=pa;oa=Fa;na=f[h>>2]|0}}while(0);if(Ua<<24>>24>0){sa=0;ja=Ua;while(1){ra=(f[g>>2]|0)+(sa<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ti(ga,ra);Va=b[k>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=ja}sa=sa+1|0;if((sa|0)>=(Va<<24>>24|0))break;else ja=Va}}ja=f[h>>2]|0;if(ja|0){sa=f[ba>>2]|0;if((sa|0)!=(ja|0))f[ba>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);br(ja)}ja=f[g>>2]|0;if(ja|0){sa=f[_>>2]|0;if((sa|0)!=(ja|0))f[_>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);br(ja)}break}default:{}}ja=ha+1|0;sa=f[o>>2]|0;if(ja>>>0>=(f[p>>2]|0)-sa>>2>>>0){v=1;wa=169;break}k=f[j>>2]|0;ha=ja;ia=sa;t=f[k+4>>2]|0;l=k}if((wa|0)==48)nq(h);else if((wa|0)==103)nq(Ra);else if((wa|0)==137)nq(g);else if((wa|0)==144)nq(h);else if((wa|0)==169){u=c;return v|0}return 0}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+140|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+116|0;y=a+48|0;h=a+44|0;j=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=i+4|0;N=i+24|0;O=i+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){br(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[s>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[w>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=1;ba=$;ca=V;while(1){ca=(ca|0)==(ba+-1|0)?0:ca+1|0;f[U+(aa<<2)>>2]=ca;aa=aa+1|0;da=f[g>>2]|0;if(aa>>>0>=da>>>0){ea=da;break}else ba=da}}else ea=$;if(!z){fa=99;break}else{ga=0;ha=ea}while(1){ba=(f[N>>2]|0)+((X(f[M>>2]|0,S+ga|0)|0)<<2)|0;if(!ha)ia=0;else{aa=0;do{ca=f[(f[w>>2]|0)+(aa<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ca<<2)>>2]|0)|0;do if(U|0){da=f[y>>2]|0;ja=32-da|0;ka=32-U|0;la=f[ba+(ca<<2)>>2]<(ja|0)){ma=la>>>ka;ka=U-ja|0;f[y>>2]=ka;ja=f[h>>2]|ma>>>ka;f[h>>2]=ja;ka=f[j>>2]|0;if((ka|0)==(f[m>>2]|0))Ti(n,h);else{f[ka>>2]=ja;f[j>>2]=ka+4}f[h>>2]=ma<<32-(f[y>>2]|0);break}ma=f[h>>2]|la>>>da;f[h>>2]=ma;la=da+U|0;f[y>>2]=la;if((la|0)!=32)break;la=f[j>>2]|0;if((la|0)==(f[m>>2]|0))Ti(n,h);else{f[la>>2]=ma;f[j>>2]=la+4}f[h>>2]=0;f[y>>2]=0}while(0);aa=aa+1|0;U=f[g>>2]|0}while(aa>>>0>>0);ia=U}ga=ga+1|0;if(ga>>>0>=z>>>0){fa=99;break a}else ha=ia}}$=Z+1|0;Lg(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);aa=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;ba=(f[aa>>2]|0)+(1<>2]=ba;aa=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))na=S;else{ca=f[O>>2]|0;if(!aa){if((f[ca+(V<<2)>>2]|0)>>>0>>0){na=W;break}else{oa=W;pa=S}while(1){la=oa;do{la=la+-1|0;if((pa|0)==(la|0)){na=pa;break b}ma=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[ma>>2]|0)>>>0>=ba>>>0);pa=pa+1|0;if((pa|0)==(la|0)){na=la;break b}else oa=la}}else{qa=W;ra=S}while(1){ma=ra;while(1){sa=ca+((X(ma,aa)|0)<<2)|0;if((f[sa+(V<<2)>>2]|0)>>>0>=ba>>>0){ta=qa;break}da=ma+1|0;if((da|0)==(qa|0)){na=qa;break b}else ma=da}while(1){ta=ta+-1|0;if((ma|0)==(ta|0)){na=ma;break b}ua=(f[P>>2]|0)+((X(ta,U)|0)<<2)|0;if((f[ua+(V<<2)>>2]|0)>>>0>>0){va=0;break}}do{la=sa+(va<<2)|0;da=ua+(va<<2)|0;ka=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ka;va=va+1|0}while((va|0)!=(aa|0));ra=ma+1|0;if((ra|0)==(ta|0)){na=ta;break}else qa=ta}}while(0);ba=(_(z|0)|0)^31;U=na-S|0;ca=W-na|0;ka=U>>>0>>0;if((U|0)!=(ca|0)){da=f[H>>2]|0;if(ka)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ti(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ka){da=f[C>>2]|0;ja=32-da|0;wa=32-ba|0;xa=la-U<(ja|0)){ya=xa>>>wa;wa=ba-ja|0;f[C>>2]=wa;ja=f[D>>2]|ya>>>wa;f[D>>2]=ja;wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ti(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=ya<<32-(f[C>>2]|0);break}ya=f[D>>2]|xa>>>da;f[D>>2]=ya;xa=da+ba|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ti(G,D);else{f[xa>>2]=ya;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;ya=32-xa|0;da=32-ba|0;wa=la-ca<(ya|0)){ja=wa>>>da;da=ba-ya|0;f[C>>2]=da;ya=f[D>>2]|ja>>>da;f[D>>2]=ya;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ti(G,D);else{f[da>>2]=ya;f[E>>2]=da+4}f[D>>2]=ja<<32-(f[C>>2]|0);break}ja=f[D>>2]|wa>>>xa;f[D>>2]=ja;wa=xa+ba|0;f[C>>2]=wa;if((wa|0)==32){wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ti(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=0;f[C>>2]=0}}while(0);ba=f[s>>2]|0;la=f[ba+(Z*12|0)>>2]|0;ka=la+(V<<2)|0;f[ka>>2]=(f[ka>>2]|0)+1;Lg(ba+($*12|0)|0,la,f[ba+(Z*12|0)+4>>2]|0);if((na|0)!=(S|0)){ba=f[o>>2]|0;la=f[t>>2]|0;ka=ba-la>>2;wa=f[v>>2]|0;ja=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ja+wa|0)){Qc(e);za=f[v>>2]|0;Aa=f[l>>2]|0;Ba=f[o>>2]|0;Ca=f[t>>2]|0}else{za=wa;Aa=ja;Ba=ba;Ca=la}la=Aa+za|0;if((Ba|0)==(Ca|0))Da=0;else Da=(f[Ca+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Da>>2]=S;la=Da+4|0;f[la>>2]=r;f[la+4>>2]=x;f[Da+12>>2]=na;f[Da+16>>2]=i;f[Da+20>>2]=aa;f[Da+24>>2]=V;f[Da+28>>2]=U;f[Da+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(na|0)){la=f[o>>2]|0;ba=f[t>>2]|0;ja=la-ba>>2;wa=f[v>>2]|0;ka=f[l>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ka+wa|0)){Qc(e);Ea=f[v>>2]|0;Fa=f[l>>2]|0;Ga=f[o>>2]|0;Ha=f[t>>2]|0}else{Ea=wa;Fa=ka;Ga=la;Ha=ba}ba=Fa+Ea|0;if((Ga|0)==(Ha|0))Ia=0;else Ia=(f[Ha+(((ba>>>0)/113|0)<<2)>>2]|0)+(((ba>>>0)%113|0)*36|0)|0;f[Ia>>2]=na;f[Ia+4>>2]=i;f[Ia+8>>2]=aa;f[Ia+12>>2]=W;ba=Ia+16|0;f[ba>>2]=p;f[ba+4>>2]=q;f[Ia+24>>2]=V;f[Ia+28>>2]=ca;f[Ia+32>>2]=$;ba=(f[l>>2]|0)+1|0;f[l>>2]=ba;Ja=ba}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ja=f[l>>2]|0}if(!Ja)break;else Q=Ja}}Ja=f[t>>2]|0;Q=f[v>>2]|0;Ia=Ja+(((Q>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ja;if((q|0)==(Ja|0)){Ka=0;La=0}else{na=(f[Ia>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;Ka=na;La=na}na=Ia;Ia=La;c:while(1){La=Ia;do{Q=La;if((Ka|0)==(Q|0))break c;La=Q+36|0}while((La-(f[na>>2]|0)|0)!=4068);La=na+4|0;na=La;Ia=f[La>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ja;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ma=f[o>>2]|0;Na=Ma-i>>2}while(Na>>>0>2);Oa=Na;Pa=i;Qa=Ma}else{Oa=l;Pa=Ja;Qa=q}switch(Oa|0){case 1:{Ra=56;fa=113;break}case 2:{Ra=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Ra;if((Pa|0)!=(Qa|0)){Ra=Pa;do{br(f[Ra>>2]|0);Ra=Ra+4|0}while((Ra|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}br(Qa);u=d;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)nq(e);else{l=j<<2;m=vn(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;uj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);br(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[e>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[e+8>>2];f[e>>2]=0;r=e+4|0;f[r>>2]=0;f[e+8>>2]=0;do if(v)if(v>>>0>1073741823)nq(e);else{t=v<<2;q=vn(t)|0;f[e>>2]=q;s=q+(v<<2)|0;f[e+8>>2]=s;uj(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+1176|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);br(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[e>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;A=b+4|0;t=f[A>>2]|0;z=f[A+4>>2]|0;A=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;s=f[q+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;k=t;Qc(h);l=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(l|0))B=0;else B=(f[l+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=y;j=B+4|0;f[j>>2]=t;f[j+4>>2]=z;f[B+12>>2]=A;j=B+16|0;f[j>>2]=r;f[j+4>>2]=s;f[B+24>>2]=0;f[B+28>>2]=A-y;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){y=a+1152|0;A=a+1084|0;j=a+1080|0;l=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=k+4|0;K=k+24|0;L=k+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){br(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[v>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Rd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[y>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=1;$=Y;aa=Q;while(1){aa=(aa|0)==($+-1|0)?0:aa+1|0;f[W+(Z<<2)>>2]=aa;Z=Z+1|0;ba=f[i>>2]|0;if(Z>>>0>=ba>>>0){ca=ba;break}else $=ba}}else ca=Y;if(!U){da=87;break}else{ea=0;fa=ca}while(1){$=(f[K>>2]|0)+((X(f[J>>2]|0,P+ea|0)|0)<<2)|0;if(!fa)ga=0;else{Z=0;do{aa=f[(f[y>>2]|0)+(Z<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+(aa<<2)>>2]|0)|0;do if(W|0){ba=f[A>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[$+(aa<<2)>>2]<(ha|0)){ka=ja>>>ia;ia=W-ha|0;f[A>>2]=ia;ha=f[j>>2]|ka>>>ia;f[j>>2]=ha;ia=f[l>>2]|0;if((ia|0)==(f[o>>2]|0))Ti(p,j);else{f[ia>>2]=ha;f[l>>2]=ia+4}f[j>>2]=ka<<32-(f[A>>2]|0);break}ka=f[j>>2]|ja>>>ba;f[j>>2]=ka;ja=ba+W|0;f[A>>2]=ja;if((ja|0)!=32)break;ja=f[l>>2]|0;if((ja|0)==(f[o>>2]|0))Ti(p,j);else{f[ja>>2]=ka;f[l>>2]=ja+4}f[j>>2]=0;f[A>>2]=0}while(0);Z=Z+1|0;W=f[i>>2]|0}while(Z>>>0>>0);ga=W}ea=ea+1|0;if(ea>>>0>=U>>>0){da=87;break a}else fa=ga}}Y=V+1|0;Z=f[m>>2]|0;$=Z+(Y*12|0)|0;if(($|0)==(S|0))la=Z;else{Lg($,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);la=f[m>>2]|0}$=(f[la+(Y*12|0)>>2]|0)+(Q<<2)|0;Z=(f[$>>2]|0)+(1<>2]=Z;$=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))ma=P;else{aa=f[L>>2]|0;if(!$){if((f[aa+(Q<<2)>>2]|0)>>>0>>0){ma=T;break}else{na=T;oa=P}while(1){ja=na;do{ja=ja+-1|0;if((oa|0)==(ja|0)){ma=oa;break b}ka=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[ka>>2]|0)>>>0>=Z>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){ma=ja;break b}else na=ja}}else{pa=T;qa=P}while(1){ka=qa;while(1){ra=aa+((X(ka,$)|0)<<2)|0;if((f[ra+(Q<<2)>>2]|0)>>>0>=Z>>>0){sa=pa;break}ba=ka+1|0;if((ba|0)==(pa|0)){ma=pa;break b}else ka=ba}while(1){sa=sa+-1|0;if((ka|0)==(sa|0)){ma=ka;break b}ta=(f[M>>2]|0)+((X(sa,W)|0)<<2)|0;if((f[ta+(Q<<2)>>2]|0)>>>0>>0){ua=0;break}}do{ja=ra+(ua<<2)|0;ba=ta+(ua<<2)|0;ia=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ia;ua=ua+1|0}while((ua|0)!=($|0));qa=ka+1|0;if((qa|0)==(sa|0)){ma=sa;break}else pa=sa}}while(0);Z=(_(U|0)|0)^31;W=ma-P|0;aa=T-ma|0;ia=W>>>0>>0;if((W|0)!=(aa|0)){ba=f[E>>2]|0;if(ia)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ti(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ia){ia=ja-W|0;if(Z|0){ba=0;ha=1<>>1}}}else{ha=ja-aa|0;if(Z|0){ba=0;ia=1<>>1}}}ia=f[v>>2]|0;Z=f[ia+(V*12|0)>>2]|0;ba=Z+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Lg(ia+(Y*12|0)|0,Z,f[ia+(V*12|0)+4>>2]|0);if((ma|0)!=(P|0)){ia=f[q>>2]|0;Z=f[w>>2]|0;ba=ia-Z>>2;ha=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ha|0)){Qc(h);va=f[x>>2]|0;wa=f[n>>2]|0;xa=f[q>>2]|0;ya=f[w>>2]|0}else{va=ha;wa=ja;xa=ia;ya=Z}Z=wa+va|0;if((xa|0)==(ya|0))za=0;else za=(f[ya+(((Z>>>0)/113|0)<<2)>>2]|0)+(((Z>>>0)%113|0)*36|0)|0;f[za>>2]=P;Z=za+4|0;f[Z>>2]=t;f[Z+4>>2]=z;f[za+12>>2]=ma;f[za+16>>2]=k;f[za+20>>2]=$;f[za+24>>2]=Q;f[za+28>>2]=W;f[za+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(ma|0)){Z=f[q>>2]|0;ia=f[w>>2]|0;ja=Z-ia>>2;ha=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ha|0)){Qc(h);Aa=f[x>>2]|0;Ba=f[n>>2]|0;Ca=f[q>>2]|0;Da=f[w>>2]|0}else{Aa=ha;Ba=ba;Ca=Z;Da=ia}ia=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((ia>>>0)/113|0)<<2)>>2]|0)+(((ia>>>0)%113|0)*36|0)|0;f[Ea>>2]=ma;f[Ea+4>>2]=k;f[Ea+8>>2]=$;f[Ea+12>>2]=T;ia=Ea+16|0;f[ia>>2]=r;f[ia+4>>2]=s;f[Ea+24>>2]=Q;f[Ea+28>>2]=aa;f[Ea+32>>2]=Y;ia=(f[n>>2]|0)+1|0;f[n>>2]=ia;Fa=ia}else da=87}else da=87;while(0);if((da|0)==87){da=0;Fa=f[n>>2]|0}if(!Fa)break;else N=Fa}}Fa=f[w>>2]|0;N=f[x>>2]|0;Ea=Fa+(((N>>>0)/113|0)<<2)|0;s=f[q>>2]|0;r=s;k=Fa;if((s|0)==(Fa|0)){Ga=0;Ha=0}else{ma=(f[Ea>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ga=ma;Ha=ma}ma=Ea;Ea=Ha;c:while(1){Ha=Ea;do{N=Ha;if((Ga|0)==(N|0))break c;Ha=N+36|0}while((Ha-(f[ma>>2]|0)|0)!=4068);Ha=ma+4|0;ma=Ha;Ea=f[Ha>>2]|0}f[n>>2]=0;n=r-k>>2;if(n>>>0>2){k=Fa;do{br(f[k>>2]|0);k=(f[w>>2]|0)+4|0;f[w>>2]=k;Ia=f[q>>2]|0;Ja=Ia-k>>2}while(Ja>>>0>2);Ka=Ja;La=k;Ma=Ia}else{Ka=n;La=Fa;Ma=s}switch(Ka|0){case 1:{Na=56;da=101;break}case 2:{Na=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Na;if((La|0)!=(Ma|0)){Na=La;do{br(f[Na>>2]|0);Na=Na+4|0}while((Na|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}br(Ma);u=d;return}function jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=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;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(ni(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)nq(G);else{K=H<<2;L=vn(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;uj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=0;aa=0;ba=0;ca=0;da=M;ea=C;b:while(1){fa=f[(f[(f[ea+4>>2]|0)+8>>2]|0)+(f[da+(ca<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=fa;ha=aa;break}case 9:{ga=f[(f[Z>>2]|0)+(aa<<2)>>2]|0;ha=aa+1|0;break}default:{ia=0;break a}}if(!ga){ia=0;break a}c:do switch(f[ga+28>>2]|0){case 6:{if(Q){ja=ba;ka=ga+24|0;break c}fa=ga+84|0;la=ga+68|0;ma=ga+48|0;na=ga+40|0;oa=ga+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=En(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=ho(ua|0,I|0,sa|0,ta|0)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,(f[f[ga>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=ba;ka=oa;break}case 1:case 3:case 5:{oa=ga+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=vn(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;uj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=vn(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;uj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ga+84|0;na=ga+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Qb(ga,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ba<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=ba+(b[oa>>0]|0)|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);br(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);br(na)}ja=pa;ka=oa;break}default:{pa=ga+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=vn(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;uj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ga+84|0;sa=ga+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];Pb(ga,e,ra,ma)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+($<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);br(Ga)}ja=ba;ka=pa}}while(0);na=ca+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=$+(b[ka>>0]|0)|0;aa=ha;ba=ja;ca=na;da=sa;ea=f[A>>2]|0}if((wa|0)==24)nq(j);else if((wa|0)==30)nq(k);else if((wa|0)==53)nq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{A=(_(D|0)|0)^31;Ka=(A|0)<(H|0)?H:A+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ue(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=uf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 5:{Ue(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=vf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 4:{Ue(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=vf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 3:{af(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=Cf(j,g,e,k,c)|0;gf(j);if(!H){ia=0;break d}break}case 2:{af(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=Cf(j,g,e,k,c)|0;gf(j);if(!H){ia=0;break d}break}case 1:{bf(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=Bf(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}case 0:{bf(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=Bf(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);br(j);u=d;return ia|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+1176|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+1152|0;y=a+1084|0;h=a+1080|0;j=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=i+4|0;I=i+24|0;J=i+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){br(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[s>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[w>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=1;W=U;Y=Q;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[P+(V<<2)>>2]=Y;V=V+1|0;Z=f[g>>2]|0;if(V>>>0>=Z>>>0){$=Z;break}else W=Z}}else $=U;if(!z){aa=85;break}else{ba=0;ca=$}while(1){W=(f[I>>2]|0)+((X(f[H>>2]|0,N+ba|0)|0)<<2)|0;if(!ca)da=0;else{V=0;do{Y=f[(f[w>>2]|0)+(V<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Y<<2)>>2]|0)|0;do if(P|0){Z=f[y>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[W+(Y<<2)>>2]<(ea|0)){ha=ga>>>fa;fa=P-ea|0;f[y>>2]=fa;ea=f[h>>2]|ha>>>fa;f[h>>2]=ea;fa=f[j>>2]|0;if((fa|0)==(f[m>>2]|0))Ti(n,h);else{f[fa>>2]=ea;f[j>>2]=fa+4}f[h>>2]=ha<<32-(f[y>>2]|0);break}ha=f[h>>2]|ga>>>Z;f[h>>2]=ha;ga=Z+P|0;f[y>>2]=ga;if((ga|0)!=32)break;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=ha;f[j>>2]=ga+4}f[h>>2]=0;f[y>>2]=0}while(0);V=V+1|0;P=f[g>>2]|0}while(V>>>0

>>0);da=P}ba=ba+1|0;if(ba>>>0>=z>>>0){aa=85;break a}else ca=da}}U=T+1|0;Lg(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);V=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;W=(f[V>>2]|0)+(1<>2]=W;V=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ia=N;else{Y=f[J>>2]|0;if(!V){if((f[Y+(Q<<2)>>2]|0)>>>0>>0){ia=R;break}else{ja=R;ka=N}while(1){ga=ja;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ia=ka;break b}ha=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ha>>2]|0)>>>0>=W>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ia=ga;break b}else ja=ga}}else{la=R;ma=N}while(1){ha=ma;while(1){na=Y+((X(ha,V)|0)<<2)|0;if((f[na+(Q<<2)>>2]|0)>>>0>=W>>>0){oa=la;break}Z=ha+1|0;if((Z|0)==(la|0)){ia=la;break b}else ha=Z}while(1){oa=oa+-1|0;if((ha|0)==(oa|0)){ia=ha;break b}pa=(f[K>>2]|0)+((X(oa,P)|0)<<2)|0;if((f[pa+(Q<<2)>>2]|0)>>>0>>0){qa=0;break}}do{ga=na+(qa<<2)|0;Z=pa+(qa<<2)|0;fa=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=fa;qa=qa+1|0}while((qa|0)!=(V|0));ma=ha+1|0;if((ma|0)==(oa|0)){ia=oa;break}else la=oa}}while(0);W=(_(z|0)|0)^31;P=ia-N|0;Y=R-ia|0;fa=P>>>0>>0;if((P|0)!=(Y|0)){Z=f[C>>2]|0;if(fa)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ti(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(fa){fa=ga-P|0;if(W|0){Z=0;ea=1<>>1}}}else{ea=ga-Y|0;if(W|0){Z=0;fa=1<>>1}}}fa=f[s>>2]|0;W=f[fa+(T*12|0)>>2]|0;Z=W+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Lg(fa+(U*12|0)|0,W,f[fa+(T*12|0)+4>>2]|0);if((ia|0)!=(N|0)){fa=f[o>>2]|0;W=f[t>>2]|0;Z=fa-W>>2;ea=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+ea|0)){Qc(e);ra=f[v>>2]|0;sa=f[l>>2]|0;ta=f[o>>2]|0;ua=f[t>>2]|0}else{ra=ea;sa=ga;ta=fa;ua=W}W=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[va>>2]=N;W=va+4|0;f[W>>2]=r;f[W+4>>2]=x;f[va+12>>2]=ia;f[va+16>>2]=i;f[va+20>>2]=V;f[va+24>>2]=Q;f[va+28>>2]=P;f[va+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ia|0)){W=f[o>>2]|0;fa=f[t>>2]|0;ga=W-fa>>2;ea=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+ea|0)){Qc(e);wa=f[v>>2]|0;xa=f[l>>2]|0;ya=f[o>>2]|0;za=f[t>>2]|0}else{wa=ea;xa=Z;ya=W;za=fa}fa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((fa>>>0)/113|0)<<2)>>2]|0)+(((fa>>>0)%113|0)*36|0)|0;f[Aa>>2]=ia;f[Aa+4>>2]=i;f[Aa+8>>2]=V;f[Aa+12>>2]=R;fa=Aa+16|0;f[fa>>2]=p;f[fa+4>>2]=q;f[Aa+24>>2]=Q;f[Aa+28>>2]=Y;f[Aa+32>>2]=U;fa=(f[l>>2]|0)+1|0;f[l>>2]=fa;Ba=fa}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ba=f[l>>2]|0}if(!Ba)break;else L=Ba}}Ba=f[t>>2]|0;L=f[v>>2]|0;Aa=Ba+(((L>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ba;if((q|0)==(Ba|0)){Ca=0;Da=0}else{ia=(f[Aa>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Ca=ia;Da=ia}ia=Aa;Aa=Da;c:while(1){Da=Aa;do{L=Da;if((Ca|0)==(L|0))break c;Da=L+36|0}while((Da-(f[ia>>2]|0)|0)!=4068);Da=ia+4|0;ia=Da;Aa=f[Da>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ba;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ea=f[o>>2]|0;Fa=Ea-i>>2}while(Fa>>>0>2);Ga=Fa;Ha=i;Ia=Ea}else{Ga=l;Ha=Ba;Ia=q}switch(Ga|0){case 1:{Ja=56;aa=99;break}case 2:{Ja=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ja;if((Ha|0)!=(Ia|0)){Ja=Ha;do{br(f[Ja>>2]|0);Ja=Ja+4|0}while((Ja|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}br(Ia);u=d;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+152|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+128|0;y=a+60|0;h=a+56|0;j=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=i+4|0;J=i+24|0;K=i+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){br(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[s>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[w>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=1;Y=V;Z=R;while(1){Z=(Z|0)==(Y+-1|0)?0:Z+1|0;f[Q+(W<<2)>>2]=Z;W=W+1|0;$=f[g>>2]|0;if(W>>>0>=$>>>0){aa=$;break}else Y=$}}else aa=V;if(!z){ba=81;break}else{ca=0;da=aa}while(1){Y=(f[J>>2]|0)+((X(f[I>>2]|0,O+ca|0)|0)<<2)|0;if(!da)ea=0;else{W=0;do{Z=f[(f[w>>2]|0)+(W<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Z<<2)>>2]|0)|0;do if(Q|0){$=f[y>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[Y+(Z<<2)>>2]<(fa|0)){ia=ha>>>ga;ga=Q-fa|0;f[y>>2]=ga;fa=f[h>>2]|ia>>>ga;f[h>>2]=fa;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=fa;f[j>>2]=ga+4}f[h>>2]=ia<<32-(f[y>>2]|0);break}ia=f[h>>2]|ha>>>$;f[h>>2]=ia;ha=$+Q|0;f[y>>2]=ha;if((ha|0)!=32)break;ha=f[j>>2]|0;if((ha|0)==(f[m>>2]|0))Ti(n,h);else{f[ha>>2]=ia;f[j>>2]=ha+4}f[h>>2]=0;f[y>>2]=0}while(0);W=W+1|0;Q=f[g>>2]|0}while(W>>>0>>0);ea=Q}ca=ca+1|0;if(ca>>>0>=z>>>0){ba=81;break a}else da=ea}}V=U+1|0;Lg(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);W=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;Y=(f[W>>2]|0)+(1<>2]=Y;W=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ja=O;else{Z=f[K>>2]|0;if(!W){if((f[Z+(R<<2)>>2]|0)>>>0>>0){ja=S;break}else{ka=S;la=O}while(1){ha=ka;do{ha=ha+-1|0;if((la|0)==(ha|0)){ja=la;break b}ia=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ia>>2]|0)>>>0>=Y>>>0);la=la+1|0;if((la|0)==(ha|0)){ja=ha;break b}else ka=ha}}else{ma=S;na=O}while(1){ia=na;while(1){oa=Z+((X(ia,W)|0)<<2)|0;if((f[oa+(R<<2)>>2]|0)>>>0>=Y>>>0){pa=ma;break}$=ia+1|0;if(($|0)==(ma|0)){ja=ma;break b}else ia=$}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[L>>2]|0)+((X(pa,Q)|0)<<2)|0;if((f[qa+(R<<2)>>2]|0)>>>0>>0){ra=0;break}}do{ha=oa+(ra<<2)|0;$=qa+(ra<<2)|0;ga=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ga;ra=ra+1|0}while((ra|0)!=(W|0));na=ia+1|0;if((na|0)==(pa|0)){ja=pa;break}else ma=pa}}while(0);Y=(_(z|0)|0)^31;Q=ja-O|0;Z=S-ja|0;ga=Q>>>0>>0;if((Q|0)!=(Z|0)){$=f[D>>2]|0;if(ga)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ti(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ga)vg(C,Y,ha-Q|0);else vg(C,Y,ha-Z|0);ha=f[s>>2]|0;Y=f[ha+(U*12|0)>>2]|0;ga=Y+(R<<2)|0;f[ga>>2]=(f[ga>>2]|0)+1;Lg(ha+(V*12|0)|0,Y,f[ha+(U*12|0)+4>>2]|0);if((ja|0)!=(O|0)){ha=f[o>>2]|0;Y=f[t>>2]|0;ga=ha-Y>>2;$=f[v>>2]|0;fa=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(fa+$|0)){Qc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=$;ta=fa;ua=ha;va=Y}Y=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[wa>>2]=O;Y=wa+4|0;f[Y>>2]=r;f[Y+4>>2]=x;f[wa+12>>2]=ja;f[wa+16>>2]=i;f[wa+20>>2]=W;f[wa+24>>2]=R;f[wa+28>>2]=Q;f[wa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ja|0)){Q=f[o>>2]|0;Y=f[t>>2]|0;ha=Q-Y>>2;fa=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+fa|0)){Qc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=$;za=Q;Aa=Y}Y=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=i;f[Ba+8>>2]=W;f[Ba+12>>2]=S;Y=Ba+16|0;f[Y>>2]=p;f[Y+4>>2]=q;f[Ba+24>>2]=R;f[Ba+28>>2]=Z;f[Ba+32>>2]=V;Z=(f[l>>2]|0)+1|0;f[l>>2]=Z;Ca=Z}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Ca=f[l>>2]|0}if(!Ca)break;else M=Ca}}Ca=f[t>>2]|0;M=f[v>>2]|0;Ba=Ca+(((M>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ca;if((q|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{M=Ea;if((Da|0)==(M|0))break c;Ea=M+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ca;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Fa=f[o>>2]|0;Ga=Fa-i>>2}while(Ga>>>0>2);Ha=Ga;Ia=i;Ja=Fa}else{Ha=l;Ia=Ca;Ja=q}switch(Ha|0){case 1:{Ka=56;ba=95;break}case 2:{Ka=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=Ka;if((Ia|0)!=(Ja|0)){Ka=Ia;do{br(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}br(Ja);u=d;return}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Oa,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=ho(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=ho(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=ho(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0.0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Ui(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Ui(a)|0;if((x|0)==48){o=0;w=0;while(1){y=ho(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Ui(a)|0;if((B|0)==48){o=y;w=z}else{q=1;r=B;s=1;t=y;v=z;break}}}else{q=1;r=x;s=b;t=0;v=0}}f[j>>2]=0;b=r+-48|0;x=(r|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=0;o=0;z=0;y=q;A=s;C=r;D=x;E=b;F=t;G=v;H=0;J=0;c:while(1){do if(D)if(!y){L=w;M=o;N=1;O=z;P=A;Q=H;R=J;S=H;T=J}else break c;else{U=ho(H|0,J|0,1,0)|0;V=I;W=(C|0)!=48;if((o|0)>=125){if(!W){L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}Y=j+(o<<2)|0;if(!w)Z=E;else Z=C+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=w+1|0;_=(Y|0)==9;L=_?0:Y;M=o+(_&1)|0;N=y;O=W?U:z;P=1;Q=F;R=G;S=U;T=V}while(0);V=f[m>>2]|0;if(V>>>0<(f[n>>2]|0)>>>0){f[m>>2]=V+1;$=h[V>>0]|0}else $=Ui(a)|0;E=$+-48|0;D=($|0)==46;if(!(D|E>>>0<10)){aa=L;ba=M;ca=O;da=N;ea=$;fa=P;ga=S;ha=Q;ia=T;ja=R;p=29;break b}else{w=L;o=M;z=O;y=N;A=P;C=$;F=Q;G=R;H=S;J=T}}ka=w;la=o;ma=z;na=H;oa=J;pa=F;qa=G;ra=(A|0)!=0;p=37}else{aa=0;ba=0;ca=0;da=q;ea=r;fa=s;ga=0;ha=t;ia=0;ja=v;p=29}while(0);do if((p|0)==29){v=(da|0)==0;t=v?ga:ha;s=v?ia:ja;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=aa;la=ba;ma=ca;na=ga;oa=ia;pa=t;qa=s;ra=v;p=37;break}else{sa=aa;ta=ba;ua=ca;va=ga;wa=ia;xa=v;ya=t;za=s;p=39;break}v=Re(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){gn(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=ho(Ba|0,Ca|0,t|0,s|0)|0;Da=aa;Ea=ba;Fa=ca;Ga=r;Ha=ga;Ia=I;Ja=ia;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ka;Ea=la;Fa=ma;Ga=pa;Ha=na;Ia=qa;Ja=oa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=ra;ya=pa;za=qa;p=39}if((p|0)==39)if(xa){Da=sa;Ea=ta;Fa=ua;Ga=ya;Ha=va;Ia=za;Ja=wa;p=41}else p=40;do if((p|0)==40){wa=ir()|0;f[wa>>2]=22;gn(a,0);Aa=0.0}else if((p|0)==41){wa=f[j>>2]|0;if(!wa){Aa=+(e|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(c|0)>30|(wa>>>c|0)==0:0){Aa=+(e|0)*+(wa>>>0);break}wa=(d|0)/-2|0;za=((wa|0)<0)<<31>>31;if((Ia|0)>(za|0)|(Ia|0)==(za|0)&Ga>>>0>wa>>>0){wa=ir()|0;f[wa>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}wa=d+-106|0;za=((wa|0)<0)<<31>>31;if((Ia|0)<(za|0)|(Ia|0)==(za|0)&Ga>>>0>>0){wa=ir()|0;f[wa>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Da)Ka=Ea;else{if((Da|0)<9){wa=j+(Ea<<2)|0;za=Da;va=f[wa>>2]|0;while(1){va=va*10|0;if((za|0)>=8)break;else za=za+1|0}f[wa>>2]=va}Ka=Ea+1|0}if((Fa|0)<9?(Fa|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){Aa=+(e|0)*+((f[j>>2]|0)>>>0);break}if((Ga|0)<9){Aa=+(e|0)*+((f[j>>2]|0)>>>0)/+(f[6876+(8-Ga<<2)>>2]|0);break}za=c+27+(X(Ga,-3)|0)|0;A=f[j>>2]|0;if((za|0)>30|(A>>>za|0)==0){Aa=+(e|0)*+(A>>>0)*+(f[6876+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=0;Ma=Ka;Na=0;Oa=Ga}else{za=(Ga|0)>-1?A:A+9|0;A=f[6876+(8-za<<2)>>2]|0;if(Ka){G=1e9/(A|0)|0;F=0;J=0;H=Ga;z=0;do{o=j+(z<<2)|0;w=f[o>>2]|0;ya=((w>>>0)/(A>>>0)|0)+F|0;f[o>>2]=ya;F=X(G,(w>>>0)%(A>>>0)|0)|0;w=(z|0)==(J|0)&(ya|0)==0;H=w?H+-9|0:H;J=w?J+1&127:J;z=z+1|0}while((z|0)!=(Ka|0));if(!F){Pa=J;Qa=Ka;Ra=H}else{f[j+(Ka<<2)>>2]=F;Pa=J;Qa=Ka+1|0;Ra=H}}else{Pa=0;Qa=0;Ra=Ga}La=0;Ma=Qa;Na=Pa;Oa=9-za+Ra|0}d:while(1){z=(Oa|0)<18;A=(Oa|0)==18;G=j+(Na<<2)|0;va=La;wa=Ma;while(1){if(!z){if(!A){Sa=va;Ta=Na;Ua=Oa;Va=wa;break d}if((f[G>>2]|0)>>>0>=9007199){Sa=va;Ta=Na;Ua=18;Va=wa;break d}}w=0;Wa=wa;ya=wa+127|0;while(1){o=ya&127;ua=j+(o<<2)|0;ta=fo(f[ua>>2]|0,0,29)|0;sa=ho(ta|0,I|0,w|0,0)|0;ta=I;if(ta>>>0>0|(ta|0)==0&sa>>>0>1e9){xa=wp(sa|0,ta|0,1e9,0)|0;qa=sn(sa|0,ta|0,1e9,0)|0;Xa=xa;Ya=qa}else{Xa=0;Ya=sa}f[ua>>2]=Ya;ua=(o|0)==(Na|0);Wa=(Ya|0)==0&(((o|0)!=(Wa+127&127|0)|ua)^1)?o:Wa;if(ua)break;else{w=Xa;ya=o+-1|0}}va=va+-29|0;if(Xa|0)break;else wa=Wa}wa=Na+127&127;G=Wa+127&127;A=j+((Wa+126&127)<<2)|0;if((wa|0)==(Wa|0)){f[A>>2]=f[A>>2]|f[j+(G<<2)>>2];Za=G}else Za=Wa;f[j+(wa<<2)>>2]=Xa;La=va;Ma=Za;Na=wa;Oa=Oa+9|0}e:while(1){za=Va+1&127;H=j+((Va+127&127)<<2)|0;J=Sa;F=Ta;wa=Ua;while(1){G=(wa|0)==18;A=(wa|0)>27?9:1;_a=J;$a=F;while(1){z=0;while(1){ya=z+$a&127;if((ya|0)==(Va|0)){ab=2;p=88;break}w=f[j+(ya<<2)>>2]|0;ya=f[6908+(z<<2)>>2]|0;if(w>>>0>>0){ab=2;p=88;break}if(w>>>0>ya>>>0)break;ya=z+1|0;if((z|0)<1)z=ya;else{ab=ya;p=88;break}}if((p|0)==88?(p=0,G&(ab|0)==2):0){bb=0.0;cb=0;db=Va;break e}eb=A+_a|0;if(($a|0)==(Va|0)){_a=eb;$a=Va}else break}G=(1<>>A;fb=0;gb=$a;hb=wa;ya=$a;do{w=j+(ya<<2)|0;o=f[w>>2]|0;ua=(o>>>A)+fb|0;f[w>>2]=ua;fb=X(o&G,z)|0;o=(ya|0)==(gb|0)&(ua|0)==0;hb=o?hb+-9|0:hb;gb=o?gb+1&127:gb;ya=ya+1&127}while((ya|0)!=(Va|0));if(!fb){J=eb;F=gb;wa=hb;continue}if((za|0)!=(gb|0))break;f[H>>2]=f[H>>2]|1;J=eb;F=gb;wa=hb}f[j+(Va<<2)>>2]=fb;Sa=eb;Ta=gb;Ua=hb;Va=za}while(1){wa=cb+$a&127;F=db+1&127;if((wa|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;bb=bb*1.0e9+ +((f[j+(wa<<2)>>2]|0)>>>0);cb=cb+1|0;if((cb|0)==2)break;else db=ib}jb=+(e|0);kb=bb*jb;wa=_a+53|0;F=wa-d|0;J=(F|0)<(c|0);H=J?((F|0)>0?F:0):c;if((H|0)<53){lb=+Gq(+ik(1.0,105-H|0),kb);mb=+Sq(kb,+ik(1.0,53-H|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}va=$a+2&127;if((va|0)!=(ib|0)){ya=f[j+(va<<2)>>2]|0;do if(ya>>>0>=5e8){if((ya|0)!=5e8){qb=jb*.75+ob;break}if(($a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ya|0)==0?($a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-H|0)>1?!(+Sq(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((wa&2147483647|0)>(-2-k|0)){ya=!(+K(+jb)>=9007199254740992.0);va=_a+((ya^1)&1)|0;kb=ya?jb:jb*.5;if((va+50|0)<=(l|0)?!(rb!=0.0&(J&((H|0)!=(F|0)|ya))):0){sb=kb;tb=va;break}ya=ir()|0;f[ya>>2]=34;sb=kb;tb=va}else{sb=jb;tb=_a}while(0);Aa=+Hq(sb,tb)}while(0);u=i;return +Aa}function ob(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Jo(c)|0;if((I|0)<0){q=-c;r=1;s=16992}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?16993:16998):16995}Jo(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;Xk(a,32,d,v,g&-65537);ip(a,s,r);ip(a,q!=q|0.0!=0.0?(t?18942:17019):t?17011:17015,3);Xk(a,32,d,v,g^8192);w=v}else{c=+Iq(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=Wj(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[17023+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;Xk(a,32,d,G,g);ip(a,y,z);Xk(a,48,d,G,g^65536);ip(a,m,M);Xk(a,48,N-M|0,0,0);ip(a,A,E);Xk(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=fo(f[K>>2]|0,0,y|0)|0;Q=ho(J|0,I|0,x|0,0)|0;J=I;R=sn(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=wp(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=Wj(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;Xk(a,32,d,A,g);ip(a,s,r);Xk(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=Wj(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){uj(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;ip(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)ip(a,17039,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=Wj(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){uj(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;ip(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;Xk(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=Wj(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;ip(a,Da,1);if(Z&(K|0)<1){Ea=x;break}ip(a,17039,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}uj(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;ip(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;Xk(a,48,Fa+18|0,18,0);ip(a,xa,p-xa|0)}Xk(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function pb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){$e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ji(v);br(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ji(v);br(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ji(s);br(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ji(s);br(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;di(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;di((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;ig(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;nk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;br(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;ig(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;nk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(xh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;fj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(dk(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=Bg(a,d,e)|0;hj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=W;T=-1;U=Z;break}S=W;T=f[V+(Y<<2)>>2]|0;U=Z}while(0);Y=f[C>>2]|0;V=Y+(S>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(S&31);V=Y+(U>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(U&31);V=Y+(T>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(T&31);f[d>>2]=1;V=f[B>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=1;f[B>>2]=V+4}else Ti(A,d);V=(f[t>>2]|0)+(O<<2)|0;f[V>>2]=f[V>>2]|P;V=Q+1|0;if(R)_=-1;else _=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[d>>2]=_;Y=f[H>>2]|0;if(Y>>>0<(f[K>>2]|0)>>>0){f[Y>>2]=_;f[H>>2]=Y+4}else Ti(i,d);if(R)break;Y=((V>>>0)%3|0|0)==0?Q+-2|0:V;if((Y|0)==-1)break;V=f[(f[(f[s>>2]|0)+12>>2]|0)+(Y<<2)>>2]|0;Y=(V|0)==-1;W=Y?-1:(V>>>0)/3|0;if(Y)break;if(f[(f[t>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)break;f[l>>2]=V;f[d>>2]=f[l>>2];if(!(kc(a,d)|0))break b}else{V=Q+1|0;if(R)$=-1;else $=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[m>>2]=$;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(kc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}th(v);F=a+232|0;ld(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(ld(E,F),(f[h>>2]|0)>1):0){E=1;do{ld((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}di((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;di(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(ch(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);br(F)}w=ba;u=c;return w|0}function qb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=ir()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)ip(a,w,y);if(y|0){s=y;t=x;continue}y=(Pq(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Pq(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Sl(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Sl(j)|0;$=O;aa=f[j>>2]|0;break}if(Pq(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(16511+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}We(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Vl(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=16975;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=jo(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=16975;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?16975:16977):16976;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=16975;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=16975;za=o;Aa=1;Ba=O;break}case 109:{ja=ir()|0;Ca=mp(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:16985;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){Xk(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=ob(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=16975;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=Bl(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?16975:16975+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=Wj(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=xg(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=16975;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=bp(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}Xk(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=bp(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}ip(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;Xk(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;Xk(a,32,ja,O,Ba);ip(a,ya,xa);Xk(a,48,ja,O,Ba^65536);Xk(a,48,F,Q,0);ip(a,wa,Q);Xk(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}We(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function rb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){$e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ji(v);br(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ji(v);br(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ji(s);br(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ji(s);br(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;de(t,a)|0;v=f[s>>2]|0;x=a+4|0;di(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;di((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;ig(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;nk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;br(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;ig(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;nk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(wh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;fj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(dk(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=Bg(a,d,e)|0;hj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ti(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ti(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(ac(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(ac(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}qi(t);di(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;di(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(ch(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);br(t)}w=aa;u=c;return w|0}function sb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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=Oa,ma=Oa,na=Oa,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Kh(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)nq(e);else{o=k<<2;p=vn(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;uj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(A<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(v<<2)>>2]|0;else D=v;C=D+239^B;A=A+1|0;if((A|0)>=(x|0)){E=C;break}else B=C}}else E=0;B=f[q>>2]|0;x=(B|0)==0;a:do if(!x){A=B+-1|0;C=(A&B|0)==0;if(!C)if(E>>>0>>0)F=E;else F=(E>>>0)%(B>>>0)|0;else F=A&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&A|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(v<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=v;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0>>0)X=L;else X=(L>>>0)%(B>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(v<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=v;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(v<<2)>>2]=f[Q+12>>2];_=t}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){A=f[z+(I<<2)>>2]|0;if(!(b[A+84>>0]|0))aa=f[(f[A+68>>2]|0)+(v<<2)>>2]|0;else aa=v;A=aa+239^H;I=I+1|0;if((I|0)>=(J|0)){ba=A;break}else H=A}}else ba=0;e:do if(!x){H=B+-1|0;J=(H&B|0)==0;if(!J)if(ba>>>0>>0)ca=ba;else ca=(ba>>>0)%(B>>>0)|0;else ca=H&ba;I=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((I|0)!=0?(A=f[I>>2]|0,(A|0)!=0):0){I=f[s>>2]|0;C=I+8|0;G=I+12|0;if(J){J=A;while(1){I=f[J+4>>2]|0;if(!((I|0)==(ba|0)|(I&H|0)==(ca|0))){da=ca;M=76;break e}I=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=v;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(v<<2)>>2]|0;ga=f[P+(I<<2)>>2]|0}else{fa=v;ga=I}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=v;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=A;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0>>0)ia=J;else ia=(J>>>0)%(B>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;H=f[C>>2]|0;L=(f[G>>2]|0)-H|0;O=H;if((L|0)<=0){ea=v;break e}H=L>>>2;L=0;while(1){I=f[O+(L<<2)>>2]|0;if(!(b[I+84>>0]|0)){K=f[I+68>>2]|0;ja=f[K+(v<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=v;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(H|0)){ea=v;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=vn(16)|0;f[G+8>>2]=v;f[G+12>>2]=t;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(B>>>0);na=$(n[l>>2]);do if(x|$(na*ma)>>0<3|(B+-1&B|0)!=0)&1;A=~~$(W($(la/na)))>>>0;Kh(d,C>>>0>>0?A:C);C=f[q>>2]|0;A=C+-1|0;if(!(A&C)){oa=C;pa=A&ba;break}if(ba>>>0>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=B;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;A=f[C>>2]|0;if(!A){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){H=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(H>>>0>>0)qa=H;else qa=(H>>>0)%(oa>>>0)|0;else qa=H&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[A>>2];ra=A;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}A=t+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=t;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ti(g,h);_=A;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=A;break}}while(0);v=(f[h>>2]|0)+1|0;f[h>>2]=v;sa=f[j>>2]|0;if(v>>>0>=sa>>>0)break;else t=_}if((_|0)!=(sa|0)){Xa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);br(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);br(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;br(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}br(e);u=c;return}function tb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)nq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)nq(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=jo(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=jo(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=jo(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=ho(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=ho(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=jo(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=jo(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=jo(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=ho(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=ho(Q|0,E|0,J|0,I|0)|0;J=I;E=jo(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=jo(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=En(N|0,L|0,p|0,q|0)|0;q=I;p=En(N|0,L|0,n|0,o|0)|0;o=I;n=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=ho(n|0,S|0,R|0,q|0)|0;q=I;R=ho(T|0,U|0,p|0,o|0)|0;o=I;p=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Pk(p|0,w|0,N|0,L|0)|0;w=I;p=Pk(s|0,C|0,N|0,L|0)|0;C=I;s=Pk(D|0,G|0,N|0,L|0)|0;G=I;D=jo(O|0,B|0,H|0,w|0)|0;w=I;H=jo(M|0,F|0,p|0,C|0)|0;C=I;p=jo(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=ho(D|0,I|0,s|0,w|0)|0;w=I;s=En(p|0,G|0,p|0,G|0)|0;G=ho(C|0,w|0,s|0,I|0)|0;s=I;w=jo(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=fo(Y|0,Z|0,1)|0;C=I;p=_;_=ko(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=wp(E|0,s|0,ba|0,ca|0)|0;G=ho(C|0,I|0,ba|0,ca|0)|0;C=ko(G|0,I|0,1)|0;G=I;p=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;p=ho(E|0,s|0,V|0,q|0)|0;D=I;H=ho(G|0,C|0,R|0,o|0)|0;K=I;x=Pk(p|0,D|0,N|0,L|0)|0;D=I;p=Pk(H|0,K|0,N|0,L|0)|0;K=I;H=jo(V|0,q|0,E|0,s|0)|0;s=I;E=jo(R|0,o|0,G|0,C|0)|0;C=I;G=Pk(H|0,s|0,N|0,L|0)|0;s=I;H=Pk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=jo(F|0,M|0,x|0,D|0)|0;J=I;P=jo(B|0,E|0,p|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=ho(O|0,I|0,T|0,J|0)|0;J=I;T=jo(F|0,M|0,G|0,s|0)|0;M=I;F=jo(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=ho(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)nq(B);else{E=O<<6;U=F+32&-32;wi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)nq(B);else{L=O<<6;N=F+32&-32;wi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function ub(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)nq(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)nq(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=jo(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=jo(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=jo(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=ho(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=ho(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=jo(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=jo(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=jo(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=ho(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=ho(Q|0,E|0,J|0,I|0)|0;J=I;E=jo(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=jo(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=En(N|0,L|0,c|0,m|0)|0;m=I;c=En(N|0,L|0,r|0,o|0)|0;o=I;r=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=ho(r|0,S|0,R|0,m|0)|0;m=I;R=ho(T|0,U|0,c|0,o|0)|0;o=I;c=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Pk(c|0,w|0,N|0,L|0)|0;w=I;c=Pk(s|0,C|0,N|0,L|0)|0;C=I;s=Pk(D|0,G|0,N|0,L|0)|0;G=I;D=jo(O|0,B|0,H|0,w|0)|0;w=I;H=jo(M|0,F|0,c|0,C|0)|0;C=I;c=jo(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=ho(D|0,I|0,s|0,w|0)|0;w=I;s=En(c|0,G|0,c|0,G|0)|0;G=ho(C|0,w|0,s|0,I|0)|0;s=I;w=jo(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=fo(Y|0,Z|0,1)|0;C=I;c=_;_=ko(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=wp(E|0,s|0,ba|0,ca|0)|0;G=ho(C|0,I|0,ba|0,ca|0)|0;C=ko(G|0,I|0,1)|0;G=I;c=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;c=ho(E|0,s|0,V|0,m|0)|0;D=I;H=ho(G|0,C|0,R|0,o|0)|0;K=I;x=Pk(c|0,D|0,N|0,L|0)|0;D=I;c=Pk(H|0,K|0,N|0,L|0)|0;K=I;H=jo(V|0,m|0,E|0,s|0)|0;s=I;E=jo(R|0,o|0,G|0,C|0)|0;C=I;G=Pk(H|0,s|0,N|0,L|0)|0;s=I;H=Pk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=jo(F|0,M|0,x|0,D|0)|0;J=I;P=jo(B|0,E|0,c|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=ho(O|0,I|0,T|0,J|0)|0;J=I;T=jo(F|0,M|0,G|0,s|0)|0;M=I;F=jo(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=ho(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)nq(B);else{E=O<<6;U=F+32&-32;wi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)nq(B);else{L=O<<6;N=F+32&-32;wi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(q)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function vb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Oa,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=ho(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=En(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=ho(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ti(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))Ti(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Ti(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))Ti(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Ti(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))Ti(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){Ti(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Ti(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Ti(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Ti(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}xb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;xb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}yb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;yb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}zb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;zb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ab(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ab(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}} -function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Bb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Bb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Cb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Cb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Db(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Db(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Eb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Eb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Fb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Fb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Gb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Gb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Hb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Hb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ib(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ib(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Jb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Jb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Kb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Kb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Lb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Lb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Mb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Mb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Nb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Nb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ob(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ob(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=Oa,J=0,K=0,L=0,M=0,N=Oa;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(zh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=vn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14821;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Lh(o,g)|0)!=0):0)y=Ok(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Ok(c,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=vn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14740;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Lh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=vn(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14760;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Lh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if(!C){Wd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)nq(i);else{D=B<<2;c=vn(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;uj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=vn(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14740;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Lh(o,j)|0)!=0):0){t=Tg(o,j)|0;if((t|0)!=(G+24|0)){rj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(qq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)br(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Tg(B,j)|0,(H|0)!=(B+4|0)):0){rj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(qq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)br(f[g>>2]|0)}if((b[j+11>>0]|0)<0)br(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=vn(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14760;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Lh(d,g)|0)!=0):0)N=$(zk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(zk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)br(f[g>>2]|0);Kl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);br(C)}k=1;u=e;return k|0}function Sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;Ak(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){hj(g,0);ua=k}else{hj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)nq(J);return 0}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=m;break}else{q=p;r=g+-1|0;s=m;break}}else{m=f[n+28>>2]|0;q=f[m+-4>>2]|0;r=-1;s=m}while(0);n=f[s+(r<<2)>>2]|0;if((q|0)==-1|(n|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;k=1<<(q&31);m=f[g>>2]|0;if(!(m&k)){f[g>>2]=m|k;k=f[b>>2]|0;m=k+1|0;if((k|0)==-1)t=-1;else t=((m>>>0)%3|0|0)==0?k+-2|0:m;f[e>>2]=t;m=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=m;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Ti(k,d);else{f[g>>2]=m;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;m=t+4|0;k=f[m>>2]|0;if((k|0)==(f[t+8>>2]|0)){Ti(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[s>>2]|0;if(!(t&w)){f[s>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;s=f[x>>2]|0;if((s|0)==(f[t+8>>2]|0))Ti(t,d);else{f[s>>2]=w;f[x>>2]=s+4}s=a+40|0;x=f[s>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Ti(x,e);y=f[s>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;s=n;n=x;a:while(1){x=f[s+-4>>2]|0;f[b>>2]=x;q=(x>>>0)/3|0;if((x|0)!=-1?(x=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[x>>2]|0,(q&v|0)==0):0){f[x>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;x=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((x|0)==-1){h=0;z=79;break}else{A=x;B=v;C=q}b:while(1){q=(f[r>>2]|0)+(A>>>5<<2)|0;v=1<<(A&31);x=f[q>>2]|0;do if(!(x&v)){k=f[(f[B+40>>2]|0)+(A<<2)>>2]|0;if((k|0)==-1)D=1;else{m=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(m&31)&f[(f[B+12>>2]|0)+(m>>>5<<2)>>2]|0)!=0}f[q>>2]=x|v;m=f[b>>2]|0;f[e>>2]=m;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[t>>2]|0;f[d>>2]=k;g=f[m+4>>2]|0;m=g+4|0;p=f[m>>2]|0;if((p|0)==(f[g+8>>2]|0))Ti(g,d);else{f[p>>2]=k;f[m>>2]=p+4}p=f[w>>2]|0;m=p+4|0;k=f[m>>2]|0;if((k|0)==(f[p+8>>2]|0)){Ti(p,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;E=p}p=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[p>>2];f[p>>2]=(f[p>>2]|0)+1;p=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=p;z=59;break}m=k+1|0;do if((k|0)==-1)H=-1;else{g=((m>>>0)%3|0|0)==0?k+-2|0:m;if((g|0)==-1){H=-1;break}if(f[(f[p>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[p+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=p}else{F=C;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=60;break}x=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((x|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);f[d>>2]=K;x=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((x|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);x=(K|0)==-1;v=(K>>>0)/3|0;q=x?-1:v;m=(L|0)==-1;k=(L>>>0)/3|0;g=m?-1:k;do if(!x){M=f[j>>2]|0;if(f[M+(q>>>5<<2)>>2]&1<<(q&31)|0){z=69;break}if(m){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(m){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=O;J=G}v=(f[j>>2]|0)+(I>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(I&31);C=f[b>>2]|0;A=f[(f[J+28>>2]|0)+(C<<2)>>2]|0;if((A|0)==-1){h=0;z=79;break a}else B=J}do if((z|0)==60){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Ti(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];q=v+4|0;f[l>>2]=q;P=q;break}}while(0);if((z|0)==71){z=0;q=(f[l>>2]|0)+-4|0;f[l>>2]=q;P=q}Q=f[i>>2]|0;R=P}else{q=s+-4|0;f[l>>2]=q;Q=n;R=q}if((Q|0)==(R|0)){h=1;z=79;break}else{s=R;n=Q}}if((z|0)==79){u=c;return h|0}return 0}function Ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;Ak(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];cc(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){hj(g,0);ua=k}else{hj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)nq(J);return 0}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,Y=Oa,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=r-w|0;z=t+(w+4)|0;A=s}else{y=v;z=t;A=v}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=8;break}case 2:{B=A;C=8;break}case 1:{D=A;C=9;break}default:E=A}if((C|0)==8){C=0;D=h[z+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(D^h[z>>0],1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(al(K,t,v)|0))break b;else break;if((b[t>>0]|0)==(K&255)<<24>>24){K=G;P=O;Q=t;do{P=P+-1|0;K=K+1|0;if(!P)break b;Q=Q+1|0}while((b[K>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){O=f[F+4>>2]|0;if((O|0)!=(r|0)){if(O>>>0>>0)R=O;else R=(O>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}O=b[F+8+11>>0]|0;if(!((O<<24>>24<0?f[F+12>>2]|0:O&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;O=I<<24>>24<0;G=I&255;do if(((O?f[S+12>>2]|0:G)|0)==(v|0)){I=f[F>>2]|0;if(O)if(!(al(I,t,v)|0))break b;else break;if((b[t>>0]|0)==(I&255)<<24>>24){I=F;N=G;Q=t;do{N=N+-1|0;I=I+1|0;if(!N)break b;Q=Q+1|0}while((b[I>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Ei(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|$(Y*V)>>0<3|(w+-1&w|0)!=0)&1;v=~~$(W($(U/Y)))>>>0;fi(a,t>>>0>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=vn(40)|0;Vb(c,f[e+20>>2]|0);aa=Ec(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;si(c+8|0);br(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)br(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;br(Z)}if((b[a+11>>0]|0)<0)br(f[a>>2]|0);br(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)br(aa);br(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Ti(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Ti(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Ti(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Ti(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Ti(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=D}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=N;J=G}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=J}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Ti(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Xb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=r;G=r&65535;F=r>>>16;H=F&65535;J=(r&65535^318)+239^F;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=vn(16)|0;G=H+8|0;d[G>>1]=r;d[G+2>>1]=r>>>16;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;Wh(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=En(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Eh(Z,la-Y|0,1284);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;br(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Eh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,x,e);x=vn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,E,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Ff(j,h);Ff(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;gg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)br(s);s=f[e+8>>2]|0;if(s|0)br(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)br(s);s=f[j+8>>2]|0;if(s|0)br(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];gg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;pg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);br(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)br(E);E=f[i+12>>2]|0;if(E|0)br(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)br(E);E=f[h+8>>2]|0;if(E|0)br(E);M=0;N=s;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ni(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>=5):0){O=31;break}jf(e,a,P);Q=1;R=f[e>>2]|0}else O=31;while(0);if((O|0)==31){Vd(e,a,P);Q=0;R=f[e>>2]|0}if(!R)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=M;M=vn(76)|0;f[k>>2]=N;yl(M,k,c);c=M;M=f[k>>2]|0;f[k>>2]=0;if(M|0)Va[f[(f[M>>2]|0)+4>>2]&127](M);M=a+188|0;k=f[M>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[M>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;M=f[a>>2]|0;if(M>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[M>>2]=c;f[a>>2]=M+4;U=l}else{Sg(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Zb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Eh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,x,e);x=vn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,E,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Ff(j,h);Ff(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;gg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)br(s);s=f[e+8>>2]|0;if(s|0)br(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)br(s);s=f[j+8>>2]|0;if(s|0)br(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];gg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;pg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);br(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)br(E);E=f[i+12>>2]|0;if(E|0)br(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)br(E);E=f[h+8>>2]|0;if(E|0)br(E);M=0;N=s;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ni(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>=5):0){O=31;break}jf(e,a,P);Q=1;R=f[e>>2]|0}else O=31;while(0);if((O|0)==31){Vd(e,a,P);Q=0;R=f[e>>2]|0}if(!R)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=M;M=vn(76)|0;f[k>>2]=N;yl(M,k,c);c=M;M=f[k>>2]|0;f[k>>2]=0;if(M|0)Va[f[(f[M>>2]|0)+4>>2]&127](M);M=a+188|0;k=f[M>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[M>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;M=f[a>>2]|0;if(M>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[M>>2]=c;f[a>>2]=M+4;U=l}else{Sg(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=0;z=0;A=q;B=q;C=q;q=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(f[D>>2]|0,f[D+4>>2]|0,x+y|0,0)|0;D=ho(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(q|0)==0;a:do if(!G){H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)K=D;else K=(D>>>0)%(q>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0>>0)S=P;else S=(P>>>0)%(q>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[A+(y<<2)>>2]=f[R+16>>2];T=d;U=z;V=C;X=B;Y=A;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)_=D;else _=(D>>>0)%(q>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0>>0)ba=J;else ba=(J>>>0)%(q>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=vn(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=z;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(q>>>0);ea=$(n[k>>2]);do if(G|$(ea*da)>>0<3|(q+-1&q|0)!=0)&1;H=~~$(W($(ca/ea)))>>>0;_h(g,J>>>0>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=q;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=En(D|0,f[G+4>>2]|0,z|0,0)|0;kh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(y<<2)>>2]=z;T=D;U=z+1|0;V=D;X=D;Y=D}D=y+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=D;z=U;A=Y;B=X;C=V;q=f[m>>2]|0}if((U|0)==(ja|0))ka=X;else{X=a+84|0;if(!(b[X>>0]|0)){m=f[a+72>>2]|0;q=f[a+68>>2]|0;C=q;if((m|0)==(q|0))la=T;else{B=m-q>>2;q=0;do{m=C+(q<<2)|0;f[m>>2]=f[V+(f[m>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);la=T}}else{b[X>>0]=0;X=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[X>>2]|0;V=B-q>>2;C=q;q=B;if(ja>>>0<=V>>>0)if(ja>>>0>>0?(B=C+(ja<<2)|0,(B|0)!=(q|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{Eh(X,ja-V|0,1284);ma=f[l>>2]|0}V=f[j>>2]|0;if(!ma)la=V;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[V+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=V}}f[l>>2]=U;ka=la}if(!ka)na=U;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);br(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;br(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}br(ka);u=e;return na|0}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=r&255;F=(r&65535)>>>8;H=F&255;J=((r&255^318)+239<<16>>16^F)&65535;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=K&J;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=vn(16)|0;G=H+8|0;b[G>>0]=r;b[G+1>>0]=r>>8;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;bi(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(G>>>0>J>>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=En(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Eh(Z,la-Y|0,1284);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;br(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=0;L=K;b:while(1){K=J+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=L+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ti(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=V+2|0;Z=X;break}else{Y=V+-1|0;Z=X;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Z<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Y<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3852+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ti(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=R?-1:(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)zf(a,f[i>>2]|0,N,0,fa);nd(t,3);ga=f[e>>2]|0}else{if(!R){zf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}nd(t,5);ga=da}f[b>>2]=ga}if((K|0)>=(k|0))break a;J=K;L=f[n>>2]|0}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{zf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;nd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(L=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(L&31)&f[(f[G>>2]|0)+(L>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}L=f[i>>2]|0;f[d>>2]=N;J=ce(H,d)|0;f[J>>2]=L;L=f[j>>2]|0;f[L+-4>>2]=da;if((L|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[L>>2]=f[e>>2];f[j>>2]=L+4;break}}while(0);if((U|0)==54){U=0;nd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Oa,K=Oa,L=Oa,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Gi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;rj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Gi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=q-m|0;t=c+(m+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(m=f[r>>2]|0,(m|0)!=0):0){r=(o|0)==0;if(s){if(r){s=m;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=m;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(al(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=m;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=m;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(al(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){pi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;fi(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;br(O)}if((b[p>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)nq(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];vb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];vb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];vb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=jo(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=jo(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=jo(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=jo(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=jo(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=jo(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=En($|0,ia|0,ca|0,ba|0)|0;da=I;la=En(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=En(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=En($|0,ia|0,Q|0,L|0)|0;ia=I;$=En(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=En(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=jo(C|0,D|0,la|0,ma|0)|0;ma=ho(ca|0,I|0,ha|0,da|0)|0;da=I;ha=ho(na|0,fa|0,E|0,F|0)|0;fa=jo(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=jo(G|0,H|0,Q|0,ba|0)|0;ba=ho(ga|0,I|0,$|0,L|0)|0;L=I;Jh(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)nq(W);else if((V|0)==28)nq(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=jo(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=jo(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=jo(0,0,ua|0,ta|0)|0;i=ho((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=ho(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=ko(v|0,V|0,29)|0;Z=oa&7;oa=Pk(qa|0,pa|0,Z|0,0)|0;a=Pk(sa|0,ra|0,Z|0,0)|0;i=Pk(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=ko(v|0,V|0,29)|0;V=I;v=Pk(qa|0,pa|0,i|0,V|0)|0;pa=Pk(sa|0,ra|0,i|0,V|0)|0;ra=Pk(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=Oa,M=Oa,N=Oa,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Gi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;kh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;rj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Gi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}kh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=w-s|0;z=c+(s+4)|0;A=x}else{y=d;z=c;A=d}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=12;break}case 2:{B=A;C=12;break}case 1:{D=A;C=13;break}default:E=A}if((C|0)==12){D=h[z+1>>0]<<8^B;C=13}if((C|0)==13)E=X(D^h[z>>0],1540483477)|0;z=X(E>>>13^E,1540483477)|0;E=z>>>15^z;z=a+4|0;D=f[z>>2]|0;B=(D|0)==0;a:do if(!B){A=D+-1|0;y=(A&D|0)==0;if(!y)if(E>>>0>>0)F=E;else F=(E>>>0)%(D>>>0)|0;else F=E&A;x=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((x|0)!=0?(s=f[x>>2]|0,(s|0)!=0):0){x=(d|0)==0;if(y){if(x){y=s;while(1){w=f[y+4>>2]|0;if(!((w|0)==(E|0)|(w&A|0)==(F|0))){G=F;C=54;break a}w=b[y+8+11>>0]|0;if(!((w<<24>>24<0?f[y+12>>2]|0:w&255)|0))break a;y=f[y>>2]|0;if(!y){G=F;C=54;break a}}}else H=s;while(1){y=f[H+4>>2]|0;if(!((y|0)==(E|0)|(y&A|0)==(F|0))){G=F;C=54;break a}y=H+8|0;w=b[y+11>>0]|0;o=w<<24>>24<0;t=w&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){w=f[y>>2]|0;if(o)if(!(al(w,c,d)|0))break a;else break;if((b[c>>0]|0)==(w&255)<<24>>24){w=y;l=t;q=c;do{l=l+-1|0;w=w+1|0;if(!l)break a;q=q+1|0}while((b[w>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(x){A=s;while(1){t=f[A+4>>2]|0;if((t|0)!=(E|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(D>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}t=b[A+8+11>>0]|0;if(!((t<<24>>24<0?f[A+12>>2]|0:t&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else J=s;while(1){A=f[J+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0>>0)K=A;else K=(A>>>0)%(D>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}A=J+8|0;x=b[A+11>>0]|0;t=x<<24>>24<0;y=x&255;do if(((t?f[J+12>>2]|0:y)|0)==(d|0)){x=f[A>>2]|0;if(t)if(!(al(x,c,d)|0))break a;else break;if((b[c>>0]|0)==(x&255)<<24>>24){x=A;o=y;q=c;do{o=o+-1|0;x=x+1|0;if(!o)break a;q=q+1|0}while((b[x>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){pi(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(D>>>0);N=$(n[a+16>>2]);do if(B|$(N*M)>>0<3|(D+-1&D|0)!=0)&1;J=~~$(W($(L/N)))>>>0;fi(a,F>>>0>>0?J:F);F=f[z>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=D;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){D=a+8|0;f[f[g>>2]>>2]=f[D>>2];f[D>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=D;D=f[g>>2]|0;P=f[D>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=D;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;br(Q)}if((b[v>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function ec(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=0;B=0;C=r;D=r;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+A|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=(r^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(e>>>0>G>>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==r<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==r<<16>>16){Q=N;break c}}else{if(P>>>0>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[E+(A<<2)>>2]=f[Q+12>>2];S=z;T=B;U=D;V=C;X=E;break a}while(0);if(!H)if(e>>>0>G>>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=Y;_=e;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=Y;_=e;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=Y;_=e;aa=0;ba=40;break a}if((d[M+8>>1]|0)==r<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=Y;_=e;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=Y;_=e;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==r<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=vn(16)|0;d[L+8>>1]=r;f[L+12>>2]=B;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(_>>>0);ga=$(n[l>>2]);do if(aa|$(ga*fa)>>0<3|(_+-1&_|0)!=0)&1;F=~~$(W($(ea/ga)))>>>0;Xh(i,M>>>0>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(M>>>0>G>>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=_;ia=Z}while(0);G=(f[i>>2]|0)+(ia<<2)|0;r=f[G>>2]|0;if(!r){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[r>>2];ka=r;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;r=w;G=f[r>>2]|0;M=En(G|0,f[r+4>>2]|0,B|0,0)|0;kh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=B;S=G;T=B+1|0;U=G;V=G;X=G}G=A+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=G;B=T;C=V;D=U;E=X}if((T|0)==(la|0))ma=V;else{V=a+84|0;if(!(b[V>>0]|0)){X=f[a+72>>2]|0;E=f[a+68>>2]|0;D=E;if((X|0)==(E|0))na=S;else{C=X-E>>2;E=0;do{X=D+(E<<2)|0;f[X>>2]=f[U+(f[X>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=S}}else{b[V>>0]=0;V=a+68|0;S=a+72|0;C=f[S>>2]|0;E=f[V>>2]|0;U=C-E>>2;D=E;E=C;if(la>>>0<=U>>>0)if(la>>>0>>0?(C=D+(la<<2)|0,(C|0)!=(E|0)):0){f[S>>2]=E+(~((E+-4-C|0)>>>2)<<2);oa=la}else oa=la;else{Eh(V,la-U|0,1284);oa=f[m>>2]|0}U=f[k>>2]|0;if(!oa)na=U;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[U+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=U}}f[m>>2]=T;ma=na}if(!ma)pa=T;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=T}}else pa=0;T=f[i+8>>2]|0;if(T|0){ma=T;do{T=ma;ma=f[ma>>2]|0;br(T)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Oa,K=Oa,L=Oa,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Gi(j,4);l=f[j>>2]|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;rj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Gi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=q-l|0;t=c+(l+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(l=f[r>>2]|0,(l|0)!=0):0){r=(o|0)==0;if(s){if(r){s=l;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=l;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(al(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=l;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=l;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(al(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){pi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;fi(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;br(O)}if((b[p>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)nq(i);o=l<<2;p=vn(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;uj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=0;z=0;A=p;B=p;C=p;while(1){p=q;D=f[p>>2]|0;E=f[p+4>>2]|0;p=o;F=En(f[p>>2]|0,f[p+4>>2]|0,w+y|0,0)|0;p=ho(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+p>>0]|0;b[h>>0]=E;p=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(p>>>0>>0)G=p;else G=(p>>>0)%(d>>>0)|0;else G=D&p;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(p|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(p|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[C+(y<<2)>>2]=f[O+12>>2];Q=x;R=z;S=B;T=A;U=C;break a}while(0);if(!F)if(p>>>0>>0)V=p;else V=(p>>>0)%(d>>>0)|0;else V=D&p;J=f[H+(V<<2)>>2]|0;if(!J){X=V;Y=d;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=V;Y=d;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(p|0)|(L&D|0)==(V|0))){X=V;Y=d;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=V;Y=d;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(p|0)){if(K>>>0>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=V;Y=d;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=vn(16)|0;b[J+8>>0]=E;f[J+12>>2]=z;f[J+4>>2]=p;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(Y>>>0);ea=$(n[j>>2]);do if(Z|$(ea*da)>>0<3|(Y+-1&Y|0)!=0)&1;D=~~$(W($(ca/ea)))>>>0;ci(g,K>>>0>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&p;break}if(p>>>0>>0){fa=K;ga=p}else{fa=K;ga=(p>>>0)%(K>>>0)|0}}else{fa=Y;ga=X}while(0);p=(f[g>>2]|0)+(ga<<2)|0;E=f[p>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[p>>2]=s;p=f[J>>2]|0;if(p|0){K=f[p+4>>2]|0;p=fa+-1|0;if(p&fa)if(K>>>0>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&p;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;p=f[E>>2]|0;K=En(p|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[v>>2]>>2]|0)+K|0,h|0,p|0)|0;p=f[i>>2]|0;f[p+(y<<2)>>2]=z;Q=p;R=z+1|0;S=p;T=p;U=p}p=y+1|0;ja=f[k>>2]|0;if(p>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=p;z=R;A=T;B=S;C=U}if((R|0)==(ja|0))ka=T;else{T=a+84|0;if(!(b[T>>0]|0)){U=f[a+72>>2]|0;C=f[a+68>>2]|0;B=C;if((U|0)==(C|0))la=Q;else{A=U-C>>2;C=0;do{U=B+(C<<2)|0;f[U>>2]=f[S+(f[U>>2]<<2)>>2];C=C+1|0}while(C>>>0>>0);la=Q}}else{b[T>>0]=0;T=a+68|0;Q=a+72|0;A=f[Q>>2]|0;C=f[T>>2]|0;S=A-C>>2;B=C;C=A;if(ja>>>0<=S>>>0)if(ja>>>0>>0?(A=B+(ja<<2)|0,(A|0)!=(C|0)):0){f[Q>>2]=C+(~((C+-4-A|0)>>>2)<<2);ma=ja}else ma=ja;else{Eh(T,ja-S|0,1284);ma=f[k>>2]|0}S=f[i>>2]|0;if(!ma)la=S;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=S}}f[k>>2]=R;ka=la}if(!ka)na=R;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);br(ka);na=R}}else na=0;R=f[g+8>>2]|0;if(R|0){ka=R;do{R=ka;ka=f[ka>>2]|0;br(R)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}br(ka);u=e;return na|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Oa,ea=Oa,fa=Oa,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=0;A=0;B=q;C=q;D=q;while(1){q=r;E=f[q>>2]|0;F=f[q+4>>2]|0;q=p;G=En(f[q>>2]|0,f[q+4>>2]|0,x+z|0,0)|0;q=ho(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+q|0;q=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=q;F=q^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(q|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(q|0)){P=M;break c}}else{if(O>>>0>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[D+(z<<2)>>2]=f[P+12>>2];R=y;S=A;T=C;U=B;V=D;break a}while(0);if(!G)if(F>>>0>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=X;Z=d;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=X;Z=d;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=X;Z=d;_=0;aa=40;break a}if((f[L+8>>2]|0)==(q|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=X;Z=d;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=X;Z=d;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(q|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=vn(16)|0;f[K+8>>2]=q;f[K+12>>2]=A;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Z>>>0);fa=$(n[k>>2]);do if(_|$(fa*ea)>>0<3|(Z+-1&Z|0)!=0)&1;E=~~$(W($(da/fa)))>>>0;Ii(g,L>>>0>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Z;ha=Y}while(0);F=(f[g>>2]|0)+(ha<<2)|0;q=f[F>>2]|0;if(!q){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[q>>2];ja=q;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;q=v;F=f[q>>2]|0;L=En(F|0,f[q+4>>2]|0,A|0,0)|0;kh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(z<<2)>>2]=A;R=F;S=A+1|0;T=F;U=F;V=F}F=z+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=F;A=S;B=U;C=T;D=V}if((S|0)==(ka|0))la=U;else{U=a+84|0;if(!(b[U>>0]|0)){V=f[a+72>>2]|0;D=f[a+68>>2]|0;C=D;if((V|0)==(D|0))ma=R;else{B=V-D>>2;D=0;do{V=C+(D<<2)|0;f[V>>2]=f[T+(f[V>>2]<<2)>>2];D=D+1|0}while(D>>>0>>0);ma=R}}else{b[U>>0]=0;U=a+68|0;R=a+72|0;B=f[R>>2]|0;D=f[U>>2]|0;T=B-D>>2;C=D;D=B;if(ka>>>0<=T>>>0)if(ka>>>0>>0?(B=C+(ka<<2)|0,(B|0)!=(D|0)):0){f[R>>2]=D+(~((D+-4-B|0)>>>2)<<2);na=ka}else na=ka;else{Eh(U,ka-T|0,1284);na=f[l>>2]|0}T=f[j>>2]|0;if(!na)ma=T;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ma=T}}f[l>>2]=S;la=ma}if(!la)oa=S;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);br(la);oa=S}}else oa=0;S=f[g+8>>2]|0;if(S|0){la=S;do{S=la;la=f[la>>2]|0;br(S)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}br(la);u=e;return oa|0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)nq(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];vb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];vb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];vb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=jo(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=jo(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=jo(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=jo(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=jo(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=jo(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=En(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=En(da|0,_|0,aa|0,$|0)|0;ga=I;ha=En(ea|0,W|0,aa|0,$|0)|0;$=I;aa=En(K|0,ca|0,S|0,L|0)|0;ca=I;K=En(da|0,_|0,S|0,L|0)|0;L=I;S=En(ea|0,W|0,Y|0,X|0)|0;X=I;Y=jo(B|0,C|0,fa|0,ga|0)|0;ga=ho(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=ho(ha|0,$|0,D|0,E|0)|0;$=jo(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=jo(F|0,G|0,S|0,X|0)|0;X=ho(aa|0,I|0,K|0,L|0)|0;L=I;Rg(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)nq(Q);else if((R|0)==21)nq(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=jo(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=jo(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=jo(0,0,oa|0,na|0)|0;i=ho((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=ho(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=ko(t|0,R|0,29)|0;U=ia&7;ia=Pk(ka|0,ja|0,U|0,0)|0;a=Pk(ma|0,la|0,U|0,0)|0;i=Pk(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=ko(t|0,R|0,29)|0;R=I;t=Pk(ka|0,ja|0,i|0,R|0)|0;ja=Pk(ma|0,la|0,i|0,R|0)|0;la=Pk(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function jc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)nq(l);r=p<<2;s=vn(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;uj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=En(f[A>>2]|0,f[A+4>>2]|0,t+y|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=Af(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=ko(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=ko(B|0,D|0,48)|0;J=H&65535;K=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H&65535;H=f[s>>2]|0;E=(H|0)==0;a:do if(!E){L=H+-1|0;M=(L&H|0)==0;if(!M)if(K>>>0>>0)N=K;else N=(K>>>0)%(H>>>0)|0;else N=K&L;O=f[(f[i>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(K|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[M+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==J<<16>>16:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(K|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(H>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((d[M>>1]|0)==A<<16>>16?(d[M+2>>1]|0)==F<<16>>16:0)?(d[S+12>>1]|0)==G<<16>>16:0)?(d[M+6>>1]|0)==J<<16>>16:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;J=vn(20)|0;G=J+8|0;F=G;d[F>>1]=B;d[F+2>>1]=B>>>16;F=G+4|0;d[F>>1]=D;d[F+2>>1]=D>>>16;f[J+16>>2]=z;f[J+4>>2]=K;f[J>>2]=0;U=$(((f[p>>2]|0)+1|0)>>>0);V=$(H>>>0);X=$(n[m>>2]);do if(E|$(X*V)>>0<3|(H+-1&H|0)!=0)&1;G=~~$(W($(U/X)))>>>0;Uh(i,F>>>0>>0?G:F);F=f[s>>2]|0;G=F+-1|0;if(!(G&F)){Y=F;Z=G&K;break}if(K>>>0>>0){Y=F;Z=K}else{Y=F;Z=(K>>>0)%(F>>>0)|0}}else{Y=H;Z=Q}while(0);H=(f[i>>2]|0)+(Z<<2)|0;K=f[H>>2]|0;if(!K){f[J>>2]=f[v>>2];f[v>>2]=J;f[H>>2]=v;H=f[J>>2]|0;if(H|0){E=f[H+4>>2]|0;H=Y+-1|0;if(H&Y)if(E>>>0>>0)_=E;else _=(E>>>0)%(Y>>>0)|0;else _=E&H;aa=(f[i>>2]|0)+(_<<2)|0;R=44}}else{f[J>>2]=f[K>>2];aa=K;R=44}if((R|0)==44){R=0;f[aa>>2]=J}f[p>>2]=(f[p>>2]|0)+1}K=w;H=f[K>>2]|0;E=En(H|0,f[K+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+E|0,j|0,H|0)|0;H=f[l>>2]|0;f[H+(y<<2)>>2]=z;ba=z+1|0;ca=H}else{H=f[l>>2]|0;f[H+(y<<2)>>2]=f[C+16>>2];ba=z;ca=H}y=y+1|0;da=f[o>>2]|0;if(y>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))fa=ca;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[ca+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;w=f[ca>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(da>>>0<=x>>>0)if(da>>>0>>0?(w=y+(da<<2)|0,(w|0)!=(j|0)):0){f[ca>>2]=j+(~((j+-4-w|0)>>>2)<<2);ga=da}else ga=da;else{Eh(z,da-x|0,1284);ga=f[o>>2]|0}x=f[l>>2]|0;if(!ga)fa=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=x}}f[o>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[q>>2]|0;if((fa|0)!=(ea|0))f[q>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[i+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[i>>2]|0;f[i>>2]=0;if(!ea){u=g;return ha|0}br(ea);u=g;return ha|0}function kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=0;F=E;b:while(1){E=D+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=F+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ti(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ti(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=L?-1:(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)zf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){zf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((E|0)>=(k|0))break a;D=E;F=f[n>>2]|0}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{zf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ti(y,d);else{f[F>>2]=1;f[w>>2]=F+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(F=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(F&31)&f[(f[A>>2]|0)+(F>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}F=f[i>>2]|0;f[d>>2]=H;D=ce(B,d)|0;f[D>>2]=F;F=f[j>>2]|0;f[F+-4>>2]=U;if((F|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[F>>2]=f[e>>2];f[j>>2]=F+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ti(y,d);else{f[F>>2]=7;f[w>>2]=F+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=En(f[z>>2]|0,f[z+4>>2]|0,s+x|0,0)|0;z=ho(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=Gf(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=C&255;C=E&255;E=(((B&255^318)+239^J)+239^C)+239^G;G=f[r>>2]|0;K=(G|0)==0;a:do if(!K){L=G+-1|0;M=(L&G|0)==0;if(!M)if(E>>>0>>0)N=E;else N=(E>>>0)%(G>>>0)|0;else N=E&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(E|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((b[O>>0]|0)==A<<24>>24?(b[O+1>>0]|0)==D<<24>>24:0)?(b[O+2>>0]|0)==F<<24>>24:0)?(b[O+3>>0]|0)==H<<24>>24:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(E|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(G>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((b[M>>0]|0)==A<<24>>24?(b[M+1>>0]|0)==D<<24>>24:0)?(b[M+2>>0]|0)==F<<24>>24:0)?(b[M+3>>0]|0)==H<<24>>24:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;H=vn(16)|0;F=H+8|0;D=B&-16776961|C<<16|J<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;U=$(((f[o>>2]|0)+1|0)>>>0);V=$(G>>>0);X=$(n[l>>2]);do if(K|$(X*V)>>0<3|(G+-1&G|0)!=0)&1;F=~~$(W($(U/X)))>>>0;$h(g,D>>>0>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Y=D;Z=F&E;break}if(E>>>0>>0){Y=D;Z=E}else{Y=D;Z=(E>>>0)%(D>>>0)|0}}else{Y=G;Z=Q}while(0);G=(f[g>>2]|0)+(Z<<2)|0;E=f[G>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[G>>2]=t;G=f[H>>2]|0;if(G|0){K=f[G+4>>2]|0;G=Y+-1|0;if(G&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&G;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[H>>2]=f[E>>2];aa=E;R=44}if((R|0)==44){R=0;f[aa>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;G=f[E>>2]|0;K=En(G|0,f[E+4>>2]|0,y|0,0)|0;kh((f[f[w>>2]>>2]|0)+K|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(x<<2)>>2]=y;ba=y+1|0;ca=G}else{G=f[k>>2]|0;f[G+(x<<2)>>2]=f[z+12>>2];ba=y;ca=G}x=x+1|0;da=f[m>>2]|0;if(x>>>0>=da>>>0)break;else y=ba}if((ba|0)==(da|0))ea=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))fa=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);fa=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(da>>>0<=w>>>0)if(da>>>0>>0?(v=x+(da<<2)|0,(v|0)!=(i|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ga=da}else ga=da;else{Eh(y,da-w|0,1284);ga=f[m>>2]|0}w=f[k>>2]|0;if(!ga)fa=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=w}}f[m>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[p>>2]|0;if((fa|0)!=(ea|0))f[p>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}br(ea);u=e;return ha|0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=En(f[B>>2]|0,f[B+4>>2]|0,r+A|0,0)|0;B=ho(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));qm(i|0,D|0,16)|0;C=Wf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=vn(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=z;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|$(X*V)>>0<3|(J+-1&J|0)!=0)&1;M=~~$(W($(U/X)))>>>0;Yh(g,P>>>0>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0

>>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=En(J|0,f[H+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(A<<2)>>2]=z;ba=z+1|0;ca=J}else{J=f[j>>2]|0;f[J+(A<<2)>>2]=f[C+24>>2];ba=z;ca=J}A=A+1|0;da=f[l>>2]|0;if(A>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((A|0)==(h|0))fa=ca;else{x=A-h>>2;h=0;do{A=y+(h<<2)|0;f[A>>2]=f[ca+(f[A>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;x=f[ca>>2]|0;h=f[z>>2]|0;y=x-h>>2;A=h;h=x;if(da>>>0<=y>>>0)if(da>>>0>>0?(x=A+(da<<2)|0,(x|0)!=(h|0)):0){f[ca>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{Eh(z,da-y|0,1284);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=y}}f[l>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}br(ea);u=e;return ha|0}function nc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=En(f[B>>2]|0,f[B+4>>2]|0,s+A|0,0)|0;B=ho(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;qm(j|0,D|0,6)|0;D=eg(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=vn(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=z;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;J=~~$(W($(S/U)))>>>0;Vh(h,K>>>0>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=z;_=z+1|0;aa=G}else{G=f[k>>2]|0;f[G+(A<<2)>>2]=f[D+16>>2];_=z;aa=G}A=A+1|0;ba=f[m>>2]|0;if(A>>>0>=ba>>>0)break;else z=_}if((_|0)==(ba|0))ca=aa;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((A|0)==(i|0))da=aa;else{x=A-i>>2;i=0;do{A=y+(i<<2)|0;f[A>>2]=f[aa+(f[A>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);da=aa}}else{b[z>>0]=0;z=a+68|0;aa=a+72|0;x=f[aa>>2]|0;i=f[z>>2]|0;y=x-i>>2;A=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0>>0?(x=A+(ba<<2)|0,(x|0)!=(i|0)):0){f[aa>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{Eh(z,ba-y|0,1284);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=y}}f[m>>2]=_;ca=da}if(!ca)fa=_;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);br(ca);fa=_}}else fa=0;_=f[h+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;br(_)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}br(ca);u=g;return fa|0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0,_=0;g=a+8|0;Ph(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=_q(i)|0;uj(j|0,0,i|0)|0;k=_q(i)|0;uj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=p;B=z;C=n}else nq(i);while(1){z=f[C+(B<<2)>>2]|0;if(q)uj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=0;E=z;while(1){F=f[p+(E<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(B|0)&(K|0)<(B|0)&(J|0)<(B|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=D+1|0}else N=D}else N=D;J=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);E=(O|0)==(z|0)?-1:O;if((E|0)==-1)break;else D=N}D=X(B,e)|0;if(N){if(q){E=0;do{z=j+(E<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(D<<2)|0;z=c+(D<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=0;H=j;I=p;while(1){if((I|0)>0){p=0;do{K=f[H+(p<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(p<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(p<<2)>>2]=(K|0)<(F|0)?F:K;P=G}p=p+1|0}while((p|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;p=(f[E+(J<<2)>>2]|0)-(f[Q+(J<<2)>>2]|0)|0;G=z+(J<<2)|0;f[G>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){R=p-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+p|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}J=J+1|0;I=f[g>>2]|0;if((J|0)>=(I|0))break;else H=Q}}}else{T=D;S=30}}else{T=X(B,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,I=c+(T<<2)|0,J=f[g>>2]|0,(J|0)>0):0){z=0;E=b+((X(A+-2|0,e)|0)<<2)|0;G=J;while(1){if((G|0)>0){J=0;do{p=f[E+(J<<2)>>2]|0;K=f[r>>2]|0;if((p|0)>(K|0)){F=f[s>>2]|0;f[F+(J<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(J<<2)>>2]=(p|0)<(F|0)?F:p;U=K}J=J+1|0}while((J|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;J=(f[H+(z<<2)>>2]|0)-(f[V+(z<<2)>>2]|0)|0;K=I+(z<<2)|0;f[K>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){W=J-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+J|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}z=z+1|0;G=f[g>>2]|0;if((z|0)>=(G|0))break;else E=V}}if((A|0)<=2)break a;C=f[i>>2]|0;E=B+-1|0;if((f[l>>2]|0)-C>>2>>>0<=E>>>0)break;else{G=B;B=E;A=G}}nq(i)}while(0);if((e|0)>0)uj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(k);$q(j);return 1}i=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;l=a+20|0;V=a+24|0;a=0;W=j;U=e;while(1){if((U|0)>0){e=0;do{T=f[W+(e<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[A>>2]|0;f[R+(e<<2)>>2]=Q;Y=R}else{R=f[B>>2]|0;Q=f[A>>2]|0;f[Q+(e<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}e=e+1|0}while((e|0)<(f[g>>2]|0));Z=Y}else Z=f[A>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Z+(a<<2)>>2]|0)|0;Q=c+(a<<2)|0;f[Q>>2]=e;if((e|0)>=(f[C>>2]|0)){if((e|0)>(f[V>>2]|0)){_=e-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+e|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}a=a+1|0;U=f[g>>2]|0;if((a|0)>=(U|0))break;else W=Z}$q(k);$q(j);return 1}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0;g=a+8|0;Ph(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=_q(i)|0;uj(j|0,0,i|0)|0;k=_q(i)|0;uj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=p;C=A;D=n}else nq(i);while(1){A=f[D+(C<<2)>>2]|0;if(q)uj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=0;F=A;while(1){if(((f[p+(F>>>5<<2)>>2]&1<<(F&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(F<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(C|0)&(L|0)<(C|0)&(K|0)<(C|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=E+1|0}else M=E;K=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);F=(N|0)==(A|0)?-1:N;if((F|0)==-1)break;else E=M}E=X(C,e)|0;if(M){if(q){F=0;do{A=j+(F<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;F=F+1|0}while((F|0)!=(e|0))}F=b+(E<<2)|0;A=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=0;G=j;J=p;while(1){if((J|0)>0){p=0;do{L=f[G+(p<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(p<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(p<<2)>>2]=(L|0)<(I|0)?I:L;O=H}p=p+1|0}while((p|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;p=(f[F+(K<<2)>>2]|0)-(f[P+(K<<2)>>2]|0)|0;H=A+(K<<2)|0;f[H>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){Q=p-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+p|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}K=K+1|0;J=f[g>>2]|0;if((K|0)>=(J|0))break;else G=P}}}else{S=E;R=28}}else{S=X(C,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,J=c+(S<<2)|0,K=f[g>>2]|0,(K|0)>0):0){A=0;F=b+((X(B+-2|0,e)|0)<<2)|0;H=K;while(1){if((H|0)>0){K=0;do{p=f[F+(K<<2)>>2]|0;L=f[r>>2]|0;if((p|0)>(L|0)){I=f[s>>2]|0;f[I+(K<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(K<<2)>>2]=(p|0)<(I|0)?I:p;T=L}K=K+1|0}while((K|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;K=(f[G+(A<<2)>>2]|0)-(f[U+(A<<2)>>2]|0)|0;L=J+(A<<2)|0;f[L>>2]=K;if((K|0)>=(f[u>>2]|0)){if((K|0)>(f[w>>2]|0)){V=K-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+K|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}A=A+1|0;H=f[g>>2]|0;if((A|0)>=(H|0))break;else F=U}}if((B|0)<=2)break a;D=f[i>>2]|0;F=C+-1|0;if((f[l>>2]|0)-D>>2>>>0<=F>>>0)break;else{H=C;C=F;B=H}}nq(i)}while(0);if((e|0)>0)uj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(k);$q(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;D=a+28|0;l=a+20|0;U=a+24|0;a=0;V=j;T=e;while(1){if((T|0)>0){e=0;do{S=f[V+(e<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[B>>2]|0;f[Q+(e<<2)>>2]=P;W=Q}else{Q=f[C>>2]|0;P=f[B>>2]|0;f[P+(e<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}e=e+1|0}while((e|0)<(f[g>>2]|0));Y=W}else Y=f[B>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Y+(a<<2)>>2]|0)|0;P=c+(a<<2)|0;f[P>>2]=e;if((e|0)>=(f[D>>2]|0)){if((e|0)>(f[U>>2]|0)){Z=e-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+e|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}a=a+1|0;T=f[g>>2]|0;if((a|0)>=(T|0))break;else V=Y}$q(k);$q(j);return 1}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;Ak(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){hj(g,0);ja=k}else{hj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)nq(J);return 0}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Eh(i,m-q|0,6296);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;nk(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{Eh(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)nq(e);t=vn(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)nq(g);else{A=vn(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;uj(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);br(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);br(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);br(ca)}h=1;u=c;return h|0}function sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Oa,S=Oa,T=Oa,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;qm(i|0,C|0,3)|0;C=kg(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=vn(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|$(T*S)>>0<3|(F+-1&F|0)!=0)&1;H=~~$(W($(R/T)))>>>0;ai(g,J>>>0>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=En(F|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=z+1|0;_=F}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=z;_=F}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=Z}if((Z|0)==(aa|0))ba=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);ca=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0>>0?(w=y+(aa<<2)|0,(w|0)!=(h|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{Eh(z,aa-x|0,1284);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ca=x}}f[l>>2]=Z;ba=ca}if(!ba)ea=Z;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);br(ba);ea=Z}}else ea=0;Z=f[g+8>>2]|0;if(Z|0){ba=Z;do{Z=ba;ba=f[ba>>2]|0;br(Z)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}br(ba);u=e;return ea|0}function tc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;Ak(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];cc(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){hj(g,0);ja=k}else{hj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)nq(J);return 0}function uc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+z|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));qm(i|0,C|0,12)|0;B=tg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=vn(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=y;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;K=~~$(W($(S/U)))>>>0;Zh(g,N>>>0>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,y|0,0)|0;kh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(z<<2)>>2]=y;_=y+1|0;aa=G}else{G=f[j>>2]|0;f[G+(z<<2)>>2]=f[B+20>>2];_=y;aa=G}z=z+1|0;ba=f[l>>2]|0;if(z>>>0>=ba>>>0)break;else y=_}if((_|0)==(ba|0))ca=aa;else{y=a+84|0;if(!(b[y>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((z|0)==(h|0))da=aa;else{w=z-h>>2;h=0;do{z=x+(h<<2)|0;f[z>>2]=f[aa+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);da=aa}}else{b[y>>0]=0;y=a+68|0;aa=a+72|0;w=f[aa>>2]|0;h=f[y>>2]|0;x=w-h>>2;z=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0>>0?(w=z+(ba<<2)|0,(w|0)!=(h|0)):0){f[aa>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{Eh(y,ba-x|0,1284);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=x}}f[l>>2]=_;ca=da}if(!ca)fa=_;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);br(ca);fa=_}}else fa=0;_=f[g+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;br(_)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}br(ca);u=e;return fa|0} -function ci(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Qd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Qd(a,e);return}function di(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;k=di(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Je(e,a+40|0,f[a+8>>2]|0,b,c);ij(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(b)}br(a);u=d;return 1}function fi(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Cd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Cd(a,e);return}function gi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Rn(g);if((lm(c,0)|0)!=-1?Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Va[f[(f[c>>2]|0)+20>>2]&127](c);qg(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)br(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;ug(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)br(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;br(c)}i=j;u=e;return i|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Fe(e,a+40|0,f[a+8>>2]|0,b,c);ij(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(b)}br(a);u=d;return 1}function ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;br(d)}br(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);br(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;br(i)}br(j)}br(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}br(e);return}function ji(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Ie(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=0;p=a;do{a=f[p+(o<<2)>>2]|0;q=Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[h>>0]=q;q=l;a=f[q+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}o=o+1|0;p=f[j>>2]|0}while(o>>>0<(f[k>>2]|0)-p>>2>>>0);i=1;u=d;return i|0}function ki(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;yp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;yp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=vn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14864;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;_j(e,d,1);if((b[d+11>>0]|0)<0)br(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=vn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14885;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;_j(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}br(f[d>>2]|0);u=c;return}function li(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;br(d)}br(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);br(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;br(h)}br(i)}br(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;br(b);return}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function ni(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=vn(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14710;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Ok(a,d,-1)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);j=vn(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14725;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Ok(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}br(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function pi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=vn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Gi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function qi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;ld(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(ld(d,b),(f[e>>2]|0)>1):0){d=1;do{ld((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=0;g=a;while(1){a=g;di((f[a+(c*12|0)+4>>2]|0)-(f[a+(c*12|0)>>2]|0)>>2,b)|0;a=f[e>>2]|0;h=f[a+(c*12|0)>>2]|0;i=(f[a+(c*12|0)+4>>2]|0)-h>>2;if(!i)j=a;else{Mc(h,i,1,0,b)|0;j=f[e>>2]|0}c=c+1|0;if(c>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else g=j}return}function ri(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Cl(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Sa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Sa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);kh(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function si(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;si(c+8|0);br(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)br(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;br(h)}if((b[g+11>>0]|0)<0)br(f[g>>2]|0);br(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)br(e);br(d)}if((b[a+11>>0]|0)>=0)return;br(f[a>>2]|0);return}function ti(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)Kn(h,14779)|0;pl(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;nj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)br(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}im(Bi(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}br(f[h>>2]|0);u=g;return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=lm(k,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ti(j,d);else{f[k>>2]=l;f[h>>2]=k+4}nl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0}function vi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1356;ii(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Va[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}br(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);br(g);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)nq(d);k=((b+-1|0)>>>5)+1|0;b=vn(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Dg(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)br(g);u=c;return}function xi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+136|0;c=f[b>>2]|0;if(c|0){d=a+140|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);br(g)}g=f[a+92>>2]|0;if(!g){xj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);br(g);xj(a);return}function yi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3808;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=-1;f[a+320>>2]=-1;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)nq(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;ap(k,16422);f[k>>2]=7412;va(k|0,1160,122)}else{m=vn(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)kh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;br(d);return}function Ai(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=ho(c|0,d|0,7,0)|0;d=Pk(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=ho(k|0,0,8,0)|0;m=e?l:k;l=ho(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(k>>>0>=l>>>0)if(k>>>0>l>>>0?(g=h+l|0,(g|0)!=(i|0)):0){f[c>>2]=g;n=h}else n=h;else{Gi(a,l-k|0);n=f[a>>2]|0}k=vn(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}br(a);j=1;return j|0}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Cg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=vn(40)|0;rj(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Oe(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Ci(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)nq(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=vn(p)|0;if(g|0)Ro(o,m,g)|0;if(i|0)Ro(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Ro(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)br(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Jp(o+p|0,l);u=k;return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){uj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)nq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{d=vn(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;uj(d|0,0,b<<2|0)|0;if((i|0)>0)kh(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;br(h);return}function Ei(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=vn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;rj(g+8|0,e);h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Gi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function Fi(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=+d;l=j;j=i;while(1){if(j<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Ln(m,l+1|0,18949,g)|0;if((n|0)>-1)if(n>>>0>l>>>0)o=n;else break;else o=l<<1|1;Kj(c,o,0);l=o;j=b[h>>0]|0}Kj(c,n,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Gi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)nq(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=vn(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)kh(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;br(e);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/136|0;h=d;if(g>>>0>>0){Ge(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);br(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);br(h)}Oi(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Ii(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Sd(a,e);return}function Ji(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Ki(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Ln(l,k+1|0,18946,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Kj(c,n,0);k=n;j=b[h>>0]|0}Kj(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Li(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Di(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)nq(b);else if((m|0)==12)return d|0;return 0}function Mi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=30;h=g;i=16215;j=h+30|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+30>>0]=0;g=a+4|0;_j(g,e,c);if((b[e+11>>0]|0)<0)br(f[e>>2]|0);a=vn(32)|0;f[e>>2]=a;f[e+8>>2]=-2147483616;f[e+4>>2]=29;h=a;i=15902;j=h+29|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[a+29>>0]=0;_j(g,e,c);if((b[e+11>>0]|0)>=0){u=d;return}br(f[e>>2]|0);u=d;return}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=vn(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14710;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;$j(a,g,c);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);c=vn(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14725;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;$j(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}br(f[g>>2]|0);u=e;return}function Oi(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+12>>2]|0;if(b|0)br(b);b=f[a>>2]|0;if(!b)return;br(b);return}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1416;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;br(b)}br(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);br(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;br(d)}br(e)}br(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Qi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=Cn()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=19088;Sn(19038,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Sa[f[(f[270]|0)+16>>2]&31](1080,k,g)|0){k=f[g>>2]|0;g=Qa[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=19088;f[e+4>>2]=h;f[e+8>>2]=g;Sn(18952,e)}else{f[d>>2]=19088;f[d+4>>2]=h;Sn(18997,d)}}Sn(19076,b)}function Ri(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(Yq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=ir()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=ir()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Si(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}f[a+4>>2]=3764;b=f[a+24>>2]|0;if(b|0)br(b);b=f[a+12>>2]|0;if(!b)return;br(b);return}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)nq(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;ap(k,16422);f[k>>2]=7412;va(k|0,1160,122)}else{k=vn(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)kh(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;br(d);return}function Ui(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=en(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=g-(f[a+108>>2]|0)|0;g=i;if((i-j|0)<(k|0)){l=g;m=g}else{l=j+(k+-1)|0;m=g}}else{g=f[c>>2]|0;l=g;m=g}f[a+100>>2]=l;l=a+4|0;if(!m)n=f[l>>2]|0;else{g=f[l>>2]|0;l=a+108|0;f[l>>2]=m+1-g+(f[l>>2]|0);n=g}g=n+-1|0;if((d|0)==(h[g>>0]|0|0))o=d;else{b[g>>0]=d;o=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;o=-1}return o|0}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];mk(a+32|0,c+24|0);f[a>>2]=2448;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2504;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));hn(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];mk(a+32|0,c+24|0);f[a>>2]=2028;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2084;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));hn(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Xi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2504;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0)br(b);b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0)br(b);b=f[a+60>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Yi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Gj(d+12|0,f[c+44>>2]|0,g)|0)){g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=16246;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;rj(a+4|0,e);if((b[e+11>>0]|0)<0)br(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((ni(f[c>>2]|0)|0)>9){d=0;return d|0}if((Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((ni(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=ni(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((ni(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function _i(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2084;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0)br(b);b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0)br(b);b=f[a+60>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function $i(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=6752;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=ir()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=Ch(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function aj(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3608;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+264|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;return}function bj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Jj(d)|0;if(i>>>0>4294967279)nq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=vn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;fm(c,g,e);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);h=1;u=a;return h|0}function cj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Jj(d)|0;if(i>>>0>4294967279)nq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=vn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;hm(c,g,e);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);h=1;u=a;return h|0}function dj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){dj(h);br(h)}if((b[e+11>>0]|0)<0)br(f[e>>2]|0);br(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)br(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;br(h)}if((b[e+11>>0]|0)<0)br(f[e>>2]|0);br(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;br(d);return}function ej(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=f[c+48>>2]|0;if(!h){i=vn(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=16062;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;rj(a+4|0,g);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);u=e;return}g=f[c+52>>2]|0;if(!g){Pc(a,c,h,d);u=e;return}else{Eg(a,c,g,d);u=e;return}}function fj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;Ak(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=_q(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{Gn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Ij(g)}while((g|0)!=(a|0))}$q(d)}if((f[b>>2]|0)>0)h=0;else return;do{Ak((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!b){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=vn(52)|0;Vb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){dj(j);br(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}br(h)}dj(b);br(b);d=1;return d|0}function hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=ho(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<>2]|0,f[e+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;g=e;h=f[e>>2]|0}e=h+1|0;f[g>>2]=e;if((e|0)!=32)return;e=a+24|0;h=a+16|0;d=f[h>>2]|0;if((d|0)==(f[a+20>>2]|0))Ti(a+12|0,e);else{f[d>>2]=f[e>>2];f[h>>2]=d+4}f[g>>2]=0;f[e>>2]=0;return}function ij(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;br(a)}br(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;br(c)}br(d)}br(b);return}function jj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){Aj(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;bo(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Jp(m+d|0,g)}u=e;return a|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Bh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);br(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function lj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Qo(l,c,d)|0;b[g>>0]=0;Jp(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Ci(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function mj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);br(d)}Oi(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}br(e);return}function nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Ro(m+k|0,c,d)|0;j=k+d|0;if((b[h>>0]|0)<0)f[a+4>>2]=j;else b[h>>0]=j;b[g>>0]=0;Jp(m+j|0,g)}}else Ci(a,l,d-l+k|0,k,k,0,d,c);u=e;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=4076;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Va[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}br(e);return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=lm(e,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=ml(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ra[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!(to(a,b,c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=0;i=g;while(1){g=f[(f[h>>2]|0)+(a<<2)>>2]|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,b,f[i+(a<<2)>>2]|0)|0)){d=0;j=7;break}a=a+1|0;i=f[c>>2]|0;if(a>>>0>=(f[e>>2]|0)-i>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function rj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)nq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=vn(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Ro(i,g,h)|0;b[e>>0]=0;Jp(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function sj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=0;h=e;do{zg(h+(g*24|0)|0,b)|0;g=g+1|0;h=f[c>>2]|0}while(g>>>0<(((f[d>>2]|0)-h|0)/24|0)>>>0)}h=a+48|0;d=a+52|0;a=f[h>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{i=0;j=a}do{a=f[j+(i<<2)>>2]|0;di(a<<1^a>>31,b)|0;i=i+1|0;j=f[h>>2]|0}while(i>>>0<(f[d>>2]|0)-j>>2>>>0);return 1}function uj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function vj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(sp(a,f[c+8>>2]|0,g)|0)){if(sp(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else dn(0,c,d,e);while(0);return}function wj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if(!(Qa[f[(f[a>>2]|0)+64>>2]&127](a)|0)){e=0;u=c;return e|0}g=f[a+48>>2]|0;h=vn(32)|0;f[d>>2]=h;f[d+8>>2]=-2147483616;f[d+4>>2]=29;i=h;j=15902;k=i+29|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+29>>0]=0;h=ak(g,d,0)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);if(!h){e=1;u=c;return e|0}Va[f[(f[a>>2]|0)+68>>2]&127](a);e=1;u=c;return e|0}function xj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<5)|0;do{e=e+-32|0;Ij(e)}while((e|0)!=(c|0))}$q(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);br(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)br(e);e=f[a+32>>2]|0;if(!e){Ij(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e);Ij(a);return}function yj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3156;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0)br(b);b=f[a+64>>2]|0;if(b|0)br(b);b=f[a+52>>2]|0;if(b|0)br(b);b=f[a+40>>2]|0;if(!b)return;br(b);return}function zj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){Gi(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else Ig(a,b,b+c|0);while(0);c=a+24|0;a=c;b=ho(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Aj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)nq(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=vn(m)|0;if(g|0)Ro(l,j,g)|0;k=e-h-g|0;if(k|0)Ro(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)br(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function Bj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2792;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0)br(b);b=f[a+64>>2]|0;if(b|0)br(b);b=f[a+52>>2]|0;if(b|0)br(b);b=f[a+40>>2]|0;if(!b)return;br(b);return}function Cj(a,b){a=a|0;b=b|0;if(!b)return;else{Cj(a,f[b>>2]|0);Cj(a,f[b+4>>2]|0);Hj(b+20|0,f[b+24>>2]|0);br(b);return}}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Zf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0>>0);return}function Ej(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=vn(32)|0,In(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(g)}g=bm(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=En(e|0,g|0,c|0,0)|0;if(!(zj(h,0,i,I)|0)){j=0;return j|0}Rk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(sp(a,b,0)|0))if((b|0)!=0?(g=Gh(b,1104,1088,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ya[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;di((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){di(f[h+40>>2]|0,b)|0;mg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}mg(a,b,c)|0;d=1;return d|0}function Hj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Hj(a,f[c>>2]|0);Hj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);if((b[a+11>>0]|0)<0)br(f[a>>2]|0);br(c);return}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;sf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);br(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);br(c);u=b;return}function Jj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Jp(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Jp(a+c|0,g);b[h>>0]=c;break}else jj(a,c-k|0,d)|0;while(0);u=e;return}function Lj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}br(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;br(c)}br(d)}br(a);return}function Mj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=e+4|0;f[g>>2]=c;c=a+4|0;a=vn(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=a;j=14821;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+17>>0]=0;$j(Id(c,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}br(f[h>>2]|0);u=e;return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=vn(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=dg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ji(a);br(a);return}function Pj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(gr(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Rj(c,a)|0;fr(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=Rj(c,a)|0}while(0);return j|0}function Qj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Rj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Cl(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Sa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Sj(a,b){a=a|0;b=b|0;if(!b)return;else{Sj(a,f[b>>2]|0);Sj(a,f[b+4>>2]|0);Hj(b+20|0,f[b+24>>2]|0);br(b);return}}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)Ce(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}Qp(f[c+(e<<2)>>2]|0);d=1;return d|0}function Uj(a){a=a|0;if(!a)return;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function Vj(a){a=a|0;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);return}function Wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=sn(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=wp(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function Xj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(tq(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Pq(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Pq(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function Yj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;pl(g,d);h=Bi(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}gh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Zj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Me(g,c,e,e+4|0)|0;u=b;return 1}function _j(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;sl(g,d&1);d=Bi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}gh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function $j(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;sl(g,d);d=Bi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}gh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function ak(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Xj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function bk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(c>>>0>10){g=0;u=d;return g|0}h=vn(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=16374;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;$j(a,e,c);if((b[e+11>>0]|0)<0)br(f[e>>2]|0);g=1;u=d;return g|0}function ck(a){a=a|0;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function ek(a){a=a|0;f[a>>2]=3496;Hj(a+28|0,f[a+32>>2]|0);Sj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);return}function fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[17041+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=17129;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=17129;else{i=17129;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return yq(k,f[c+20>>2]|0)|0}function gk(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=ko(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+gk(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function hk(a){a=a|0;f[a>>2]=3496;Hj(a+28|0,f[a+32>>2]|0);Sj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function ik(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0.0,h=0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=(b|0)<-2044;e=b+2044|0;g=d?c*2.2250738585072014e-308:c;h=d?((e|0)>-1022?e:-1022):b+1022|0}else{g=a;h=b}else{c=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;g=e?c*8988465674311579538646525.0e283:c;h=e?((d|0)<1023?d:1023):b+-1023|0}b=fo(h+1023|0,0,52)|0;h=I;f[s>>2]=b;f[s+4>>2]=h;return +(g*+p[s>>3])}function jk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=0;g=a}else{b=1;return b|0}while(1){a=f[g+(e<<2)>>2]|0;e=e+1|0;if(!(Nl(a,a)|0)){b=0;h=5;break}g=f[c>>2]|0;if((e|0)>=((f[d>>2]|0)-g>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=0;i=e;while(1){e=f[i+(a<<2)>>2]|0;a=a+1|0;if(!(Sa[f[(f[e>>2]|0)+20>>2]&31](e,h,b)|0)){g=0;j=5;break}i=f[c>>2]|0;if(a>>>0>=(f[d>>2]|0)-i>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=0;h=a}while(1){a=f[h+(g<<2)>>2]|0;g=g+1|0;if(!(Ra[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}h=f[c>>2]|0;if(g>>>0>=(f[d>>2]|0)-h>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)nq(a);h=vn(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;kh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}g=(f[e>>2]|0)-d|0;h=vn(b<<2)|0;if((g|0)>0)kh(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;br(d);return}function ok(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=0;h=d;while(1){d=f[h+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[d>>2]|0)+16>>2]&127](d,g)|0)){e=0;i=5;break}h=f[b>>2]|0;if(a>>>0>=(f[c>>2]|0)-h>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function pk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=vn(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14805;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;$j(a+4|0,e,c);if((b[e+11>>0]|0)>=0){u=d;return}br(f[e>>2]|0);u=d;return}function qk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function rk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)nq(a);e=vn(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=b;b=e;do{mk(b,c);b=(f[d>>2]|0)+12|0;f[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Wg(a+40|0,b);d=1;return d|0}return 0}function uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b){br(a);return}br(b);br(a);return}function vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Pi(a);br(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Pi(a);br(a);return}function wk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Sk(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b){br(a);return}br(b);br(a);return}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){br(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c);br(a);return}function zk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Oa,h=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+Xq(h));return $(g)}function Ak(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;sf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0)){g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}function Bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b)return;br(b);return}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){br(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c);br(a);return}function Ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Pi(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Pi(a);return}function Fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Nc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{qm(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Gk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ra[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b)return;br(b);return}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;gn(e,0);i=+Sc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Jk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Kk(a){a=a|0;var b=0,c=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Lk(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Sa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Tg(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Xj(g)|0)+1|0)>>>0>1;return e|0}function Nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+84>>2]|0;if(!b){Qg(a);br(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b);Qg(a);br(a);return}function Ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Xj(h)|0;return g|0}function Pk(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=jo(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return jo((Md(i,b,jo(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Qk(a){a=a|0;var b=0,c=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Rk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else Gi(a,b-g|0);g=a+24|0;a=g;b=ho(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Tk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Tg(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Xj(g)|0;return e|0}function Uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+84>>2]|0;if(!b){Qg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b);Qg(a);return}function Vk(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Xk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;uj(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ip(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ip(a,g,h)}u=f;return}function Yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Zk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(sp(a,f[b+8>>2]|0,g)|0)sj(0,b,c,d,e);else{h=f[a+8>>2]|0;_a[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function _k(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2364;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function $k(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1944;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function al(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function bl(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function cl(a){a=a|0;var b=0,c=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function dl(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Kj(a,d,0);return}function el(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=+_g(e)*e;e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function fl(a){a=a|0;var b=0,c=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function hl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function il(a){a=a|0;var b=0,c=0;f[a>>2]=2364;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function jl(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(sp(a,f[b+8>>2]|0,0)|0)Jk(0,b,c,d);else{e=f[a+8>>2]|0;Ya[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function ll(a){a=a|0;var b=0,c=0;f[a>>2]=1944;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function ml(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ra[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function nl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ra[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function ol(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function pl(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;dl(d);Fi(a,d,b);No(d);u=c;return}function ql(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);br(b);return}function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;dl(d);Ki(a,d,b);No(d);u=c;return}function tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Fo(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function wl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function xl(a){a=a|0;var b=0;if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}b=(f[a+36>>2]|0)!=0;return b|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;lh(a,c);f[a>>2]=1472;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function zl(a){a=a|0;var b=0,c=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){br(a);return}$q(c);br(a);return}function Al(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Bl(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[17023+(c&15)>>0]|0|e;c=ko(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Cl(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Dl(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function El(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Fl(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Gl(a){a=a|0;yj(a);br(a);return}function Hl(a){a=a|0;var b=0,c=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){br(a);return}$q(c);br(a);return}function Il(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(g>>>0>>0){Gi(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+b|0;if((g|0)==(d|0))return;f[c>>2]=g;return}function Kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;_f(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Ll(a,b){a=a|0;b=b|0;var c=0;if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Ml(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+40>>2]=c;d=1;return d|0}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];e=vc(a,b,d)|0;u=c;return e|0}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Pl(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Ql(a){a=a|0;Bj(a);br(a);return}function Rl(a){a=a|0;var b=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;$q(a);return}function Sl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Pq(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Pq(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Tl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Ul(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Vl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=ko(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Wl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+60>>2]=c;d=1;return d|0}function Xl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Yl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(sp(a,f[b+8>>2]|0,g)|0)sj(0,b,c,d,e);return}function Zl(a){a=a|0;var b=0,c=0;b=f[a+64>>2]|0;if(!b)return;c=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;f[a+60>>2]=(((f[c+4>>2]|0)-(f[c>>2]|0)>>2>>>0)/3|0)-(f[c+40>>2]|0);return}function _l(a){a=a|0;var b=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;$q(a);return}function $l(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;qh(a+20|0,g,d);u=c;return}function am(a){a=a|0;Xi(a);br(a);return}function bm(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function cm(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;qh(a+20|0,g,d);u=c;return}function dm(){var a=0,b=0;a=vn(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function em(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function fm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;bc(a,b,e);u=d;return}function gm(a){a=a|0;f[a>>2]=3784;Si(a+8|0);br(a);return}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;fc(a,b,e);u=d;return}function im(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;lj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Jj(b)|0;d=vn(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=Tp(d)|0;kh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function lm(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function mm(a){a=a|0;_i(a);br(a);return}function nm(a){a=a|0;f[a>>2]=3784;Si(a+8|0);return}function om(a){a=a|0;var b=0,c=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(sp(a,f[b+8>>2]|0,0)|0)Jk(0,b,c,d);return}function qm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else kh(a,c,d)|0;return a|0}function rm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b){br(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function sm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b){br(a);return}br(b);br(a);return}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Sa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function um(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function vm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){oj(a);return}Va[f[(f[c>>2]|0)+4>>2]&127](c);oj(a);return}function wm(){var a=0,b=0;a=Cn()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Vo(f[b+12>>2]|0);Vo(cq()|0)}function xm(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 Rf(a,b,c,d,e,f,6)|0}function ym(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 Qf(a,b,c,d,e,f,4)|0}function zm(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 Xf(a,b,c,d,e,f,2)|0}function Am(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 Qf(a,b,c,d,e,f,3)|0}function Bm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b){br(a);return}br(b);br(a);return}function Cm(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 Xf(a,b,c,d,e,f,1)|0}function Dm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function Em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+_g(d);c=-(f+e*+_g(e));return +c}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function Gm(a){a=a|0;var b=0;Ko(a);f[a>>2]=3408;f[a+40>>2]=1260;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Hm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Im(a){a=a|0;var b=0,c=0;if(Eq(a)|0?(b=_p(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)br(b);return}function Jm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=ho(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Km(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 Rf(a,b,c,d,e,f,5)|0}function Lm(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 Rf(a,b,c,d,e,f,9)|0}function Mm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b)return;br(b);return}function Nm(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Pi(a);br(a);return}function Om(a){a=a|0;var b=0,c=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Pm(a){a=a|0;var c=0;f[a>>2]=1416;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function Qm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b)return;br(b);return}function Rm(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Pi(a);return}function Sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Hg(a,b,c,d,e,f);return}function Tm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);oj(a);br(a);return}function Um(a,b){a=a|0;b=b|0;f[a>>2]=3496;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=0;return}function Vm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;kh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Xm(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b){br(a);return}br(b);br(a);return}function Ym(a,b){a=a|0;b=b|0;f[a>>2]=3496;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=b;return}function Zm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);br(b);return}function _m(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function $m(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function an(a,b,c){a=a|0;b=b|0;c=c|0;return Sa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function bn(a){a=a|0;var c=0;Pl(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function cn(a){a=a|0;f[a>>2]=3324;Ij(a+88|0);br(a);return}function dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function en(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Lk(a)|0)==0?(Sa[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function fn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b){br(a);return}br(b);br(a);return}function gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function hn(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;return}function jn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Sm(a,b,c,d,e,f);return}function kn(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 xm(a,b,c,d,e,f)|0}function ln(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 ym(a,b,c,d,e,f)|0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function nn(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;br(b)}br(a);return}function on(a){a=a|0;f[a>>2]=2960;Ij(a+88|0);br(a);return}function pn(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 zm(a,b,c,d,e,f)|0}function qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Am(a,b,c,d,e,f)|0}function rn(a){a=a|0;f[a>>2]=3324;Ij(a+88|0);return}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Md(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function tn(a){a=a|0;var b=0;po(a);f[a>>2]=6308;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function un(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 Cm(a,b,c,d,e,f)|0}function vn(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0){c=a;break}a=aq()|0;if(!a){c=0;break}Ua[a&3]()}return c|0}function wn(a,b,c){a=a|0;b=b|0;c=c|0;dc(a,b,c);return}function xn(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b)return;br(b);return}function yn(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 Km(a,b,c,d,e,f)|0}function zn(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 Lm(a,b,c,d,e,f)|0}function An(a){a=a|0;f[a>>2]=2960;Ij(a+88|0);return}function Bn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=dr(f[a+60>>2]|0)|0;f[c>>2]=d;d=Fo(Ba(6,c|0)|0)|0;u=b;return d|0}function Cn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ka(20092,3)|0)){b=Ia(f[5024]|0)|0;u=a;return b|0}else Sn(19227,a);return 0}function Dn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b)return;br(b);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=jm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function Fn(a,b){a=a|0;b=b|0;lh(a,b);f[a>>2]=1356;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Gn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Hn(a){a=a|0;var b=0;b=u;u=u+16|0;yc(a);if(!(La(f[5024]|0,0)|0)){u=b;return}else Sn(19326,b)}function In(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Jn(a,b){a=a|0;b=b|0;return zg(a+40|0,b)|0}function Kn(a,b){a=a|0;b=b|0;return nj(a,b,Aq(b)|0)|0}function Ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=$i(a,b,c,g)|0;u=e;return d|0}function Mn(a,b){a=a|0;b=b|0;return Qj(a+40|0,b)|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sh(a,b,c,d)|0}function On(a){a=a|0;var b=0;f[a>>2]=4076;f[a+52>>2]=0;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uh(a,b,c,d)|0}function Qn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Rn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[1595]|0;Ch(b,a,d)|0;Pj(10,b)|0;Ca()}function Tn(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 Ta[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Un(a){a=a|0;var b=0;b=f[a+56>>2]|0;f[a+60>>2]=((f[b+100>>2]|0)-(f[b+96>>2]|0)|0)/12|0;return}function Vn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Xn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Yn(){var a=0;a=u;u=u+16|0;if(!(Ja(20096,125)|0)){u=a;return}else Sn(19276,a)}function Zn(a){a=a|0;f[a>>2]=1216;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3472;return}function _n(a,b,c){a=a|0;b=b|0;c=c|0;Nj(a,b,c);return}function $n(a){a=a|0;df(a);br(a);return}function ao(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;_a[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function bo(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)uj(a|0,(zq(c)|0)&255|0,b|0)|0;return a|0}function co(a){a=a|0;return 4}function eo(a,b,c){a=a|0;b=b|0;c=c|0;return gj(0,b,c)|0}function fo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function io(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Fh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return De(a,b,c,d)|0}function mo(a){a=a|0;hf(a);br(a);return}function no(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return bj(a,b,c,d)|0}function oo(a){a=a|0;return 5}function po(a){a=a|0;var b=0;f[a>>2]=6348;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function qo(a){a=a|0;return 6}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cj(a,b,c,d)|0}function so(a,b){a=a|0;b=b|0;Mi(a,b);return}function to(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function uo(a,b,c){a=a|0;b=b|0;c=c|0;_n(a,b,c);return}function vo(a){a=a|0;var b=0;b=f[a+64>>2]|0;return Qa[f[(f[b>>2]|0)+28>>2]&127](b)|0}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,1);return}function xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,0);return}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zg(a,b,c,d)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;return gi(a,b,c)|0}function Ao(a){a=a|0;var b=0;b=f[a+64>>2]|0;return Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;return gj(a,b,c)|0}function Co(a,b,c){a=a|0;b=b|0;c=c|0;Ni(a+4|0,b,c);return}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return eo(a,b,c)|0}function Eo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Za[a&3](b|0,c|0,d|0,e|0,f|0)}function Fo(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=ir()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Go(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Ho(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Io(a,b){a=a|0;b=b|0;f[a+56>>2]=b;vp(a,b);return}function Jo(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Ko(a){a=a|0;Pm(a);f[a>>2]=1540;f[a+36>>2]=0;return}function Lo(a){a=a|0;On(a);f[a>>2]=3892;f[a+56>>2]=0;f[a+60>>2]=0;return}function Mo(a){a=a|0;var b=0;if(!a)b=0;else b=(Gh(a,1104,1192,0)|0)!=0&1;return b|0}function No(a){a=a|0;if((b[a+11>>0]|0)<0)br(f[a>>2]|0);return}function Oo(a){a=a|0;if(!a)return;Va[f[(f[a>>2]|0)+4>>2]&127](a);return}function Po(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ya[a&7](b|0,c|0,d|0,e|0)}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qm(a|0,b|0,c|0)|0;return a|0}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)kh(a|0,b|0,c|0)|0;return a|0}function So(a){a=a|0;f[a+52>>2]=f[(f[a+4>>2]|0)+80>>2];return}function To(a){a=a|0;f[a+52>>2]=f[(f[a+56>>2]|0)+80>>2];return}function Uo(a,b){a=a|0;b=b|0;return -1}function Vo(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();Sn(19379,b)}function Wo(a){a=a|0;Oh(a);br(a);return}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;ep(a,b,c);return}function Yo(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function Zo(a){a=a|0;Lo(a);f[a>>2]=3528;f[a+64>>2]=0;return}function _o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sa[a&31](b|0,c|0,d|0)|0}function $o(a,b){a=a|0;b=b|0;return (Lp(a,b)|0)<<24>>24|0}function ap(a,b){a=a|0;b=b|0;f[a>>2]=7392;km(a+4|0,b);return}function bp(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Ri(a,b,0)|0;return c|0}function cp(a,b){a=a|0;b=b|0;so(a,b);return}function dp(a){a=a|0;return f[a+12>>2]|0}function ep(a,b,c){a=a|0;b=b|0;c=c|0;Co(a,b,c);return}function fp(){var a=0;a=vn(64)|0;Pl(a);return a|0}function gp(a){a=a|0;if(!a)return;dj(a);br(a);return}function hp(a){a=a|0;return f[a+4>>2]|0}function ip(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))ri(b,c,a)|0;return}function jp(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 kp(){var a=0;a=vn(96)|0;bn(a);return a|0}function lp(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function mp(a){a=a|0;var b=0;b=(Yq()|0)+188|0;return fk(a,f[b>>2]|0)|0}function np(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function op(a,b){a=a|0;b=b|0;xp(a,b);return}function pp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function qp(){var a=0;a=vn(12)|0;Dp(a);return a|0}function rp(a){a=a|0;Pi(a);br(a);return}function sp(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function tp(a,b){a=a|0;b=b|0;var c=0;c=Hp(a|0)|0;return ((b|0)==0?a:c)|0}function up(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function vp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Md(a,b,c,d,0)|0}function xp(a,b){a=a|0;b=b|0;pk(a,b);return}function yp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function zp(a){a=a|0;return oq(a)|0}function Ap(){var a=0;a=vn(84)|0;po(a);return a|0}function Bp(a){a=a|0;vi(a);br(a);return}function Cp(a){a=a|0;return pq(a)|0}function Dp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Ep(a){a=a|0;f[a>>2]=7392;Im(a+4|0);return}function Fp(a,b,c){a=a|0;b=b|0;c=c|0;return Ra[a&127](b|0,c|0)|0}function Gp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Hp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ip(a){a=a|0;Lo(a);f[a>>2]=3972;return}function Jp(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Kp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Lp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Mp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Np(a){a=a|0;oj(a);br(a);return}function Op(a){a=a|0;if(!a)return;br(a);return}function Pp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function Qp(a){a=a|0;b[a+28>>0]=1;return}function Rp(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Sp(a,b){a=a|0;b=b|0;return 1}function Tp(a){a=a|0;return a+12|0}function Up(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;Wa[a&7](b|0,c|0)}function Wp(){var a=0;a=vn(48)|0;Fq(a);return a|0}function Xp(a){a=a|0;return vq(a+4|0)|0}function Yp(){var a=0;a=vn(108)|0;tn(a);return a|0}function Zp(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function _p(a){a=a|0;return a+-12|0}function $p(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function aq(){var a=0;a=f[5025]|0;f[5025]=a+0;return a|0}function bq(a){a=a|0;return f[a+56>>2]|0}function cq(){var a=0;a=f[1825]|0;f[1825]=a+0;return a|0}function dq(a){a=a|0;Qg(a);br(a);return}function eq(a){a=a|0;fr(a);br(a);return}function fq(a){a=a|0;return b[a+24>>0]|0}function gq(a,b){a=a|0;b=b|0;return 0}function hq(a){a=a|0;return f[a+48>>2]|0}function iq(a,b){a=a|0;b=b|0;return Qa[a&127](b|0)|0}function jq(a){a=a|0;return f[a+60>>2]|0}function kq(a){a=a|0;return f[a+28>>2]|0}function lq(a){a=a|0;sa(a|0)|0;wm()}function mq(a){a=a|0;Ep(a);br(a);return}function nq(a){a=a|0;Ca()}function oq(a){a=a|0;return f[a+40>>2]|0}function pq(a){a=a|0;return f[a+44>>2]|0}function qq(a,b){a=a|0;b=b|0;return $(+Ik(a,b,0))}function rq(a){a=a|0;return 3}function sq(a,b){a=a|0;b=b|0;u=a;v=b}function tq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function uq(a){a=a|0;return f[a+80>>2]|0}function vq(a){a=a|0;return f[a>>2]|0}function wq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function xq(a,b){a=a|0;b=b|0;Va[a&127](b|0)}function yq(a,b){a=a|0;b=b|0;return io(a,b)|0}function zq(a){a=a|0;return a&255|0}function Aq(a){a=a|0;return Jj(a)|0}function Bq(a,b){a=a|0;b=b|0;return +(+Ik(a,b,1))}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Dq(a){a=a|0;return 2}function Eq(a){a=a|0;return 1}function Fq(a){a=a|0;Zn(a);return}function Gq(a,b){a=+a;b=+b;return +(+em(a,b))}function Hq(a,b){a=+a;b=b|0;return +(+ik(a,b))}function Iq(a,b){a=+a;b=b|0;return +(+gk(a,b))}function Jq(){return 3}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Lq(){return 0}function Mq(){return -1}function Nq(){return vn(1)|0}function Oq(){return 4}function Pq(a){a=a|0;return (a+-48|0)>>>0<10|0}function Qq(){return 1}function Rq(){return 2}function Sq(a,b){a=+a;b=+b;return +(+xd(a,b))}function Tq(a,b){a=a|0;b=b|0;aa(1);return 0}function Uq(a){a=a|0;Ha()}function Vq(a){a=a|0;Ua[a&3]()}function Wq(){ua()}function Xq(a){a=a|0;return +(+Bq(a,0))}function Yq(){return lr()|0}function Zq(a,b){a=a|0;b=b|0;aa(6)}function _q(a){a=a|0;return vn(a)|0}function $q(a){a=a|0;br(a);return}function ar(a){a=a|0;u=a}function br(a){a=a|0;yc(a);return}function cr(a){a=a|0;I=a}function dr(a){a=a|0;return a|0}function er(a){a=a|0;aa(0);return 0}function fr(a){a=a|0;return}function gr(a){a=a|0;return 0}function hr(){return I|0}function ir(){return 20024}function jr(){return u|0}function kr(a){a=a|0;aa(5)}function lr(){return 6508}function mr(){aa(4)} +function tc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4886]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((h|0)==(f[4887]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}f[4884]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4882]=f[4882]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=h;n=i;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=19832+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[4883]=f[4883]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=h;n=i;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=e>>>0)return;a=e+4|0;b=f[a>>2]|0;if(!(b&1))return;if(!(b&2)){r=f[4887]|0;if((e|0)==(f[4888]|0)){s=(f[4885]|0)+n|0;f[4885]=s;f[4888]=m;f[m+4>>2]=s|1;if((m|0)!=(r|0))return;f[4887]=0;f[4884]=0;return}if((e|0)==(r|0)){r=(f[4884]|0)+n|0;f[4884]=r;f[4887]=l;f[m+4>>2]=r|1;f[l+r>>2]=r;return}r=(b&-8)+n|0;s=b>>>3;do if(b>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4882]=f[4882]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;i=19832+(c<<2)|0;if((e|0)==(f[i>>2]|0)){f[i>>2]=u;if(!u){f[4883]=f[4883]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;i=f[c>>2]|0;if(i|0){f[u+16>>2]=i;f[i+24>>2]=u}i=f[c+4>>2]|0;if(i|0){f[u+20>>2]=i;f[i+24>>2]=u}}}while(0);f[m+4>>2]=r|1;f[l+r>>2]=r;if((m|0)==(f[4887]|0)){f[4884]=r;return}else x=r}else{f[a>>2]=b&-2;f[m+4>>2]=n|1;f[l+n>>2]=n;x=n}n=x>>>3;if(x>>>0<256){l=19568+(n<<1<<2)|0;b=f[4882]|0;a=1<>2]|0}f[y>>2]=m;f[z+12>>2]=m;f[m+8>>2]=z;f[m+12>>2]=l;return}l=x>>>8;if(l)if(x>>>0>16777215)A=31;else{z=(l+1048320|0)>>>16&8;y=l<>>16&4;a=y<>>16&2;b=14-(l|z|y)+(a<>>15)|0;A=x>>>(b+7|0)&1|b<<1}else A=0;b=19832+(A<<2)|0;f[m+28>>2]=A;f[m+20>>2]=0;f[m+16>>2]=0;y=f[4883]|0;a=1<>>1)|0);l=f[b>>2]|0;while(1){if((f[l+4>>2]&-8|0)==(x|0)){B=73;break}C=l+16+(z>>>31<<2)|0;n=f[C>>2]|0;if(!n){B=72;break}else{z=z<<1;l=n}}if((B|0)==72){f[C>>2]=m;f[m+24>>2]=l;f[m+12>>2]=m;f[m+8>>2]=m;break}else if((B|0)==73){z=l+8|0;t=f[z>>2]|0;f[t+12>>2]=m;f[z>>2]=m;f[m+8>>2]=t;f[m+12>>2]=l;f[m+24>>2]=0;break}}else{f[4883]=y|a;f[b>>2]=m;f[m+24>>2]=b;f[m+12>>2]=m;f[m+8>>2]=m}while(0);m=(f[4890]|0)+-1|0;f[4890]=m;if(!m)D=19984;else return;while(1){m=f[D>>2]|0;if(!m)break;else D=m+8|0}f[4890]=-1;return}function uc(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+56|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;ai(j,f[l>>2]|0)|0;ai(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=tn(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15958;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=Yj(m,e,0)|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,h,h+1|0)|0}jf(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=m;r=0;while(1){s=f[q+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(r*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=x;z=w;A=t}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Fe(t,e,h,o)|0;t=f[l>>2]|0;w=t+16|0;y=f[w+4>>2]|0;z=f[w>>2]|0;A=t}b[h>>0]=f[s+(r*12|0)+4>>2];if((y|0)>0|(y|0)==0&z>>>0>0){B=y;C=z;D=A}else{f[g>>2]=f[A+4>>2];f[e>>2]=f[g>>2];Fe(A,e,h,p)|0;t=f[l>>2]|0;w=t+16|0;B=f[w+4>>2]|0;C=f[w>>2]|0;D=t}b[h>>0]=f[s+(r*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Fe(D,e,h,n)|0}s=r+1|0;if(s>>>0>=j>>>0)break;q=f[i>>2]|0;r=s}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=m;C=0;while(1){B=f[D+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(C*12|0)>>2];A=p+16|0;z=f[A>>2]|0;y=f[A+4>>2]|0;if((y|0)>0|(y|0)==0&z>>>0>0){E=y;F=z;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Fe(p,e,h,n)|0;p=f[l>>2]|0;z=p+16|0;E=f[z+4>>2]|0;F=f[z>>2]|0;G=p}d[h>>1]=f[B+(C*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Fe(G,e,h,q)|0;p=f[l>>2]|0;z=p+16|0;H=f[z+4>>2]|0;I=f[z>>2]|0;J=p}d[h>>1]=f[B+(C*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Fe(J,e,h,r)|0}B=C+1|0;if(B>>>0>=j>>>0)break;D=f[i>>2]|0;C=B}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=m;L=0}else{u=c;return 1}while(1){a=f[K+96>>2]|0;ai(f[a+(L*12|0)>>2]|0,f[l>>2]|0)|0;ai(f[a+(L*12|0)+4>>2]|0,f[l>>2]|0)|0;ai(f[a+(L*12|0)+8>>2]|0,f[l>>2]|0)|0;a=L+1|0;if(a>>>0>=j>>>0)break;K=f[i>>2]|0;L=a}u=c;return 1}if(!C){u=c;return 1}C=m;m=0;while(1){L=(f[C+96>>2]|0)+(m*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Fe(K,e,L,L+12|0)|0}L=m+1|0;if(L>>>0>=j>>>0)break;C=f[i>>2]|0;m=L}u=c;return 1}function vc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Ja,w=Ja,x=Ja,y=Ja,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=Ja,P=0,Q=Ja,R=Ja,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;s=-1}else{r=q;s=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;s=-1}c=f[a+32>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Cq(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=s>>>0)Cq(c);c=f[p+(s<<2)>>2]|0;s=(m|0)<(e|0);if(!(s&(c|0)<(e|0))){do if(s)t=m;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}q=f[a+48>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return}while(0);s=a+52|0;p=f[s>>2]|0;r=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+r<<2)>>2];t=t+1|0}while((t|0)<(f[s>>2]|0));u=g;return}s=a+52|0;t=f[s>>2]|0;r=X(t,m)|0;v=$(f[d+(r<<2)>>2]|0);w=$(f[d+(r+1<<2)>>2]|0);r=X(t,c)|0;x=$(f[d+(r<<2)>>2]|0);y=$(f[d+(r+1<<2)>>2]|0);if(!(x!=v|y!=w)){r=f[a+48>>2]|0;f[r>>2]=~~x;f[r+4>>2]=~~y;u=g;return}r=a+44|0;t=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];gb(q,h,z,j)|0;z=f[(f[r>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))A=f[(f[m+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[m+24>>0]|0;f[h>>2]=f[i>>2];gb(m,h,A,k)|0;A=f[(f[r>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);O=$(y-N);x=$(H+v);w=$(y+N);N=$(H-v);j=X(f[s>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-w);v=$(H-N);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;s=f[e>>2]|0;k=f[a+64>>2]|0;l=(s|0)==(k<<5|0);if(j){do if(l)if((s+1|0)<0)Cq(d);else{j=k<<6;B=s+32&-32;si(d,s>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=s;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((s+1|0)<0)Cq(d);else{P=k<<6;j=s+32&-32;si(d,s>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=s;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=w;R=N}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function wc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=Ja,x=Ja,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=0,P=Ja,Q=Ja,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+32>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Cq(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Cq(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+52|0;p=f[q>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[q>>2]|0));u=g;return}q=a+52|0;s=f[q>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,r)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];gb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];gb(r,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$(t+$(G*M));t=$(G*N);G=$(v+$(w*M));M=$(w*N);N=$(x-M);w=$(G+t);v=$(x+M);M=$(G-t);j=X(f[q>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-v);t=$(G-M);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;q=f[e>>2]|0;k=f[a+64>>2]|0;l=(q|0)==(k<<5|0);if(j){do if(l)if((q+1|0)<0)Cq(d);else{j=k<<6;A=q+32&-32;si(d,q>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=q;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((q+1|0)<0)Cq(d);else{O=k<<6;j=q+32&-32;si(d,q>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=q;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=v;Q=M}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function xc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Ja,w=Ja,x=Ja,y=Ja,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=Ja,P=0,Q=Ja,R=Ja,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;s=-1}else{r=q;s=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;s=-1}c=f[a+52>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Cq(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=s>>>0)Cq(c);c=f[p+(s<<2)>>2]|0;s=(m|0)<(e|0);if(!(s&(c|0)<(e|0))){do if(s)t=m;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}q=f[a+68>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return}while(0);s=a+72|0;p=f[s>>2]|0;r=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+r<<2)>>2];t=t+1|0}while((t|0)<(f[s>>2]|0));u=g;return}s=a+72|0;t=f[s>>2]|0;r=X(t,m)|0;v=$(f[d+(r<<2)>>2]|0);w=$(f[d+(r+1<<2)>>2]|0);r=X(t,c)|0;x=$(f[d+(r<<2)>>2]|0);y=$(f[d+(r+1<<2)>>2]|0);if(!(x!=v|y!=w)){r=f[a+68>>2]|0;f[r>>2]=~~x;f[r+4>>2]=~~y;u=g;return}r=a+64|0;t=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];gb(q,h,z,j)|0;z=f[(f[r>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))A=f[(f[m+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[m+24>>0]|0;f[h>>2]=f[i>>2];gb(m,h,A,k)|0;A=f[(f[r>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);O=$(y-N);x=$(H+v);w=$(y+N);N=$(H-v);j=X(f[s>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-w);v=$(H-N);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;s=f[e>>2]|0;k=f[a+84>>2]|0;l=(s|0)==(k<<5|0);if(j){do if(l)if((s+1|0)<0)Cq(d);else{j=k<<6;B=s+32&-32;si(d,s>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=s;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((s+1|0)<0)Cq(d);else{P=k<<6;j=s+32&-32;si(d,s>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=s;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=w;R=N}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function yc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=Ja,x=Ja,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=0,P=Ja,Q=Ja,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+52>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Cq(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Cq(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+72|0;p=f[q>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[q>>2]|0));u=g;return}q=a+72|0;s=f[q>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,r)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];gb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];gb(r,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$(t+$(G*M));t=$(G*N);G=$(v+$(w*M));M=$(w*N);N=$(x-M);w=$(G+t);v=$(x+M);M=$(G-t);j=X(f[q>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-v);t=$(G-M);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;q=f[e>>2]|0;k=f[a+84>>2]|0;l=(q|0)==(k<<5|0);if(j){do if(l)if((q+1|0)<0)Cq(d);else{j=k<<6;A=q+32&-32;si(d,q>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=q;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((q+1|0)<0)Cq(d);else{O=k<<6;j=q+32&-32;si(d,q>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=q;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=v;Q=M}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ja,F=Ja,G=Ja,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=g+(j+4)|0;m=e;o=d-j|0}else{l=g;m=i;o=i}switch(o|0){case 3:{p=h[l+2>>0]<<16^m;q=6;break}case 2:{p=m;q=6;break}case 1:{r=m;q=7;break}default:s=m}if((q|0)==6){r=h[l+1>>0]<<8^p;q=7}if((q|0)==7)s=X(h[l>>0]^r,1540483477)|0;r=X(s>>>13^s,1540483477)|0;s=r>>>15^r;r=a+4|0;l=f[r>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;o=(m&l|0)==0;if(!o)if(s>>>0>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&m;j=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((j|0)!=0?(d=f[j>>2]|0,(d|0)!=0):0){j=(i|0)==0;if(o){if(j){o=d;while(1){e=f[o+4>>2]|0;if(!((e|0)==(s|0)|(e&m|0)==(t|0))){u=t;break a}e=b[o+8+11>>0]|0;if(!((e<<24>>24<0?f[o+12>>2]|0:e&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else x=d;b:while(1){o=f[x+4>>2]|0;if(!((o|0)==(s|0)|(o&m|0)==(t|0))){u=t;break a}o=x+8|0;e=b[o+11>>0]|0;k=e<<24>>24<0;y=e&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){e=f[o>>2]|0;if(k)if(!(Yk(e,g,i)|0)){v=x;q=63;break b}else break;if((e&255)<<24>>24==(b[g>>0]|0)){e=y;z=o;A=g;do{e=e+-1|0;z=z+1|0;if(!e){v=x;q=63;break b}A=A+1|0}while((b[z>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(j){m=d;while(1){o=f[m+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)B=o;else B=(o>>>0)%(l>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[m+8+11>>0]|0;if(!((o<<24>>24<0?f[m+12>>2]|0:o&255)|0)){v=m;break}m=f[m>>2]|0;if(!m){u=t;break a}}w=v+20|0;return w|0}else C=d;c:while(1){m=f[C+4>>2]|0;if((m|0)!=(s|0)){if(m>>>0>>0)D=m;else D=(m>>>0)%(l>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}m=C+8|0;j=b[m+11>>0]|0;o=j<<24>>24<0;y=j&255;do if(((o?f[C+12>>2]|0:y)|0)==(i|0)){j=f[m>>2]|0;if(o)if(!(Yk(j,g,i)|0)){v=C;q=63;break c}else break;if((j&255)<<24>>24==(b[g>>0]|0)){j=y;k=m;A=g;do{j=j+-1|0;k=k+1|0;if(!j){v=C;q=63;break c}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=tn(24)|0;nj(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(l>>>0);G=$(n[a+16>>2]);do if(p|E>$(F*G)){C=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;g=~~$(W($(E/G)))>>>0;ci(a,C>>>0>>0?g:C);C=f[r>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=l;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){l=a+8|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[u>>2]=l;l=f[t>>2]|0;if(l|0){u=f[l+4>>2]|0;l=H+-1|0;if(l&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&l;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.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,J=0,K=0,L=0.0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Ji(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=0;q=0;r=k;s=l;t=0;u=0;v=1.0;w=0;x=0.0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Ji(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Ji(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Ji(a)|0;z=go(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=0;o=0;p=z;q=B;r=A;s=1;t=1;u=0;v=1.0;w=0;x=0.0;break}}}else{n=0;o=0;p=0;q=0;r=y;s=l;t=1;u=0;v=1.0;w=0;x=0.0}}while(1){l=r+-48|0;y=(r|0)==46;if(l>>>0>=10?!(y|((r|32)+-97|0)>>>0<6):0){C=r;break}if(y)if(!t){D=o;E=n;F=o;G=n;H=s;J=1;K=u;L=v;M=w;N=x}else{C=46;break}else{y=(r|0)>57?(r|32)+-87|0:l;do if(!((n|0)<0|(n|0)==0&o>>>0<8))if((n|0)<0|(n|0)==0&o>>>0<14){O=v*.0625;P=u;Q=O;R=w;S=x+O*+(y|0);break}else{l=(u|0)!=0|(y|0)==0;P=l?u:1;Q=v;R=w;S=l?x:x+v*.5;break}else{P=u;Q=v;R=y+(w<<4)|0;S=x}while(0);y=go(o|0,n|0,1,0)|0;D=p;E=q;F=y;G=I;H=1;J=t;K=P;L=Q;M=R;N=S}y=f[g>>2]|0;if(y>>>0<(f[j>>2]|0)>>>0){f[g>>2]=y+1;n=G;o=F;p=D;q=E;r=h[y>>0]|0;s=H;t=J;u=K;v=L;w=M;x=N;continue}else{n=G;o=F;p=D;q=E;r=Ji(a)|0;s=H;t=J;u=K;v=L;w=M;x=N;continue}}do if(!s){M=f[j>>2]|0;K=(M|0)!=0;if(K)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(K)f[g>>2]=(f[g>>2]|0)+-1;if(!((t|0)==0|(M|0)==0))f[g>>2]=(f[g>>2]|0)+-1}else dn(a,0);T=+(d|0)*0.0}else{M=(t|0)==0;K=M?o:p;u=M?n:q;if((n|0)<0|(n|0)==0&o>>>0<8){M=o;J=n;H=w;while(1){r=H<<4;M=go(M|0,J|0,1,0)|0;J=I;if(!((J|0)<0|(J|0)==0&M>>>0<8)){U=r;break}else H=r}}else U=w;if((C|32|0)==112){H=Ie(a,e)|0;M=I;if((H|0)==0&(M|0)==-2147483648){if(!e){dn(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=H;W=M}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}M=eo(K|0,u|0,2)|0;H=go(M|0,I|0,-32,-1)|0;M=go(H|0,I|0,V|0,W|0)|0;H=I;if(!U){T=+(d|0)*0.0;break}J=0-c|0;r=((J|0)<0)<<31>>31;if((H|0)>(r|0)|(H|0)==(r|0)&M>>>0>J>>>0){J=er()|0;f[J>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=c+-106|0;r=((J|0)<0)<<31>>31;if((H|0)<(r|0)|(H|0)==(r|0)&M>>>0>>0){J=er()|0;f[J>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){J=M;r=H;E=U;N=x;while(1){D=!(N>=.5);F=E<<1|(D^1)&1;L=N+(D?N:N+-1.0);D=go(J|0,r|0,-1,-1)|0;G=I;if((F|0)>-1){J=D;r=G;E=F;N=L}else{X=D;Y=G;Z=F;_=L;break}}}else{X=M;Y=H;Z=U;_=x}E=((b|0)<0)<<31>>31;r=io(32,0,c|0,((c|0)<0)<<31>>31|0)|0;J=go(r|0,I|0,X|0,Y|0)|0;r=I;if((E|0)>(r|0)|(E|0)==(r|0)&b>>>0>J>>>0)if((J|0)>0){$=J;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){N=+(d|0);ca=+Wq(+$j(1.0,ba),N);da=aa;ea=N}J=(Z&1|0)==0&(_!=0.0&(da|0)<32);N=ea*(J?0.0:_)+(ca+ea*+(((J&1)+Z|0)>>>0))-ca;if(!(N!=0.0)){J=er()|0;f[J>>2]=34}T=+Xq(N,X)}while(0);return +T}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Ch(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)pr(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)pr(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=d;d=0;do{f[i>>2]=(d>>>0)/3|0;f[h>>2]=f[i>>2];r=ak(q,h)|0;q=f[l>>2]|0;do if(!r){s=f[(f[q+12>>2]|0)+(d<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(d>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(d&31);t=d+1|0;v=((t>>>0)%3|0|0)==0?d+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[q>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((v|0)==-1)x=-1;else x=f[(f[q>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=d>>>0){v=d+1|0;t=((v>>>0)%3|0|0)==0?d+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(d>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(d&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?d+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[q>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((B|0)==-1)Q=-1;else Q=f[(f[q>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[q>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[q>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);d=d+1|0}while(d>>>0<(f[q+4>>2]|0)-(f[q>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Mc(a,c,e);j=1;u=g;return j|0}else{id(a,0,0);j=1;u=g;return j|0}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=f[b>>2]|0;o=n;while(1){if((k|0)==(f[c>>2]|0))break;n=o+16|0;f[n>>2]=f[k+16>>2];if((o|0)!=(k|0)){f[h>>2]=f[k+20>>2];f[i>>2]=k+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(o+20|0,g,e)}p=o+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(o|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[n>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=24;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=27;break}else z=x}s=z}if((y|0)==24){y=0;B=s;C=s;break}else if((y|0)==27){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[o>>2]=0;f[o+4>>2]=0;f[p>>2]=B;f[C>>2]=o;q=f[f[a>>2]>>2]|0;if(!q)D=o;else{f[a>>2]=q;D=f[C>>2]|0}He(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[k+4>>2]|0;if(!q){n=k+8|0;r=f[n>>2]|0;if((f[r>>2]|0)==(k|0))E=r;else{r=n;do{n=f[r>>2]|0;r=n+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(n|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=E;o=t}}k=f[o+8>>2]|0;if(!k)F=o;else{m=k;while(1){k=f[m+8>>2]|0;if(!k)break;else m=k}F=m}Mj(a,F)}while(0);F=f[b>>2]|0;t=f[c>>2]|0;if((F|0)==(t|0)){u=d;return}c=a+4|0;E=a+4|0;D=F;while(1){Ig(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=45;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=48;break}else G=z}A=G}if((y|0)==45){y=0;I=C;J=A;K=A;break}else if((y|0)==48){y=0;I=C;J=A;K=H;break}}else{I=f[e>>2]|0;J=c;K=c}while(0);f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=J;f[K>>2]=I;F=f[f[a>>2]>>2]|0;if(!F)L=I;else{f[a>>2]=F;L=f[K>>2]|0}He(f[E>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(t|0))break;else D=M}u=d;return}function Dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=mr(l)|0;pj(m|0,0,l|0)|0;n=mr(l)|0;pj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=q;H=s;I=F}else{J=o;Cq(J)}while(1){F=f[G+(I<<2)>>2]|0;if(t)pj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=F;L=0;while(1){M=f[s+(K<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(I|0)&(R|0)<(I|0)&(Q|0)<(I|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=L+1|0}else U=L}else U=L;Q=(((K>>>0)%3|0|0)==0?2:-1)+K|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);K=(V|0)==(F|0)?-1:V;if((K|0)==-1)break;else L=U}L=X(I,e)|0;if(!U){W=L;Y=30}else{if(t){K=0;do{F=m+(K<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;K=K+1|0}while((K|0)!=(e|0))}K=b+(L<<2)|0;F=c+(L<<2)|0;s=f[K+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[K>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Nd(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(I,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(H+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;K=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=K;f[x>>2]=P;Nd(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((I|0)<=1)break a;Q=f[l>>2]|0;G=f[Q>>2]|0;P=I+-1|0;if((f[Q+4>>2]|0)-G>>2>>>0<=P>>>0){J=Q;break}else{Q=I;I=P;H=Q}}Cq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Nd(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;nr(n);nr(m);u=g;return 1}pj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Nd(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;nr(n);nr(m);u=g;return 1}function Ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=mr(d)|0;pj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=C;C=0;y=h;while(1){if((E|0)>0){A=0;do{H=f[y+(A<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(A<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(A<<2)>>2]=(H|0)<(J|0)?J:H;K=I}A=A+1|0}while((A|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;A=(f[D+(C<<2)>>2]|0)-(f[L+(C<<2)>>2]|0)|0;I=B+(C<<2)|0;f[I>>2]=A;if((A|0)>=(f[q>>2]|0)){if((A|0)>(f[s>>2]|0)){M=A-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+A|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}C=C+1|0;E=f[g>>2]|0;if((C|0)>=(E|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,E=c+(z<<2)|0,C=f[g>>2]|0,(C|0)>0):0){B=C;C=0;D=b+((X(x+-2|0,e)|0)<<2)|0;while(1){if((B|0)>0){I=0;do{A=f[D+(I<<2)>>2]|0;H=f[n>>2]|0;if((A|0)>(H|0)){J=f[o>>2]|0;f[J+(I<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(I<<2)>>2]=(A|0)<(J|0)?J:A;O=H}I=I+1|0}while((I|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;I=(f[y+(C<<2)>>2]|0)-(f[P+(C<<2)>>2]|0)|0;H=E+(C<<2)|0;f[H>>2]=I;if((I|0)>=(f[q>>2]|0)){if((I|0)>(f[s>>2]|0)){Q=I-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+I|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}C=C+1|0;B=f[g>>2]|0;if((C|0)>=(B|0))break;else D=P}}if((w|0)<=1)break a}Cq(i)}while(0);if((e|0)>0)pj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=e;e=0;K=h;while(1){if((a|0)>0){G=0;do{F=f[K+(G<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(G<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(G<<2)>>2]=(F|0)<(l|0)?l:F;R=d}G=G+1|0}while((G|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;G=(f[b+(e<<2)>>2]|0)-(f[S+(e<<2)>>2]|0)|0;d=c+(e<<2)|0;f[d>>2]=G;if((G|0)>=(f[O>>2]|0)){if((G|0)>(f[M>>2]|0)){T=G-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+G|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else K=S}nr(h);return 1}function Fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=mr(l)|0;pj(m|0,0,l|0)|0;n=mr(l)|0;pj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=q;I=s;J=G}else{K=o;Cq(K)}while(1){G=f[H+(J<<2)>>2]|0;if(t)pj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=G;M=0;while(1){if(((f[s+(L>>>5<<2)>>2]&1<<(L&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(L<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(J|0)&(S|0)<(J|0)&(R|0)<(J|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=M+1|0}else T=M;R=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);L=(U|0)==(G|0)?-1:U;if((L|0)==-1)break;else M=T}M=X(J,e)|0;if(!T){V=M;W=28}else{if(t){L=0;do{G=m+(L<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(M<<2)|0;G=c+(M<<2)|0;s=f[L+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Nd(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(J,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(I+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;L=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=Q;Nd(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((J|0)<=1)break a;R=f[l>>2]|0;H=f[R>>2]|0;Q=J+-1|0;if((f[R+4>>2]|0)-H>>2>>>0<=Q>>>0){K=R;break}else{R=J;J=Q;I=R}}Cq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Nd(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;nr(n);nr(m);u=g;return 1}pj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Nd(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;nr(n);nr(m);u=g;return 1}function Gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=mr(d)|0;pj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=D;D=0;z=h;while(1){if((F|0)>0){C=0;do{G=f[z+(C<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(C<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(C<<2)>>2]=(G|0)<(I|0)?I:G;J=H}C=C+1|0}while((C|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;C=(f[E+(D<<2)>>2]|0)-(f[K+(D<<2)>>2]|0)|0;H=B+(D<<2)|0;f[H>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){L=C-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+C|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}D=D+1|0;F=f[g>>2]|0;if((D|0)>=(F|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,F=c+(A<<2)|0,D=f[g>>2]|0,(D|0)>0):0){B=D;D=0;E=b+((X(y+-2|0,e)|0)<<2)|0;while(1){if((B|0)>0){H=0;do{C=f[E+(H<<2)>>2]|0;G=f[n>>2]|0;if((C|0)>(G|0)){I=f[o>>2]|0;f[I+(H<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(H<<2)>>2]=(C|0)<(I|0)?I:C;N=G}H=H+1|0}while((H|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;H=(f[z+(D<<2)>>2]|0)-(f[O+(D<<2)>>2]|0)|0;G=F+(D<<2)|0;f[G>>2]=H;if((H|0)>=(f[q>>2]|0)){if((H|0)>(f[s>>2]|0)){P=H-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+H|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}D=D+1|0;B=f[g>>2]|0;if((D|0)>=(B|0))break;else E=O}}if((x|0)<=1)break a}Cq(i)}while(0);if((e|0)>0)pj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=e;e=0;J=h;while(1){if((a|0)>0){d=0;do{l=f[J+(d<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(d<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(d<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}d=d+1|0}while((d|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;d=(f[b+(e<<2)>>2]|0)-(f[R+(e<<2)>>2]|0)|0;j=c+(e<<2)|0;f[j>>2]=d;if((d|0)>=(f[N>>2]|0)){if((d|0)>(f[L>>2]|0)){S=d-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+d|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else J=R}nr(h);return 1}function Hc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;Xj(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(o<<2)>>2]|0;do{v=f[a+(s+o<<2)>>2]|0;t=t>>>0>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>r>>>0?t:r;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ti(k,i);o=o+p|0;if((o|0)>=(c|0)){x=v;break}else r=v}}else{r=0;o=0;while(1){v=f[a+(r<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>o>>>0?v:o;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ti(k,i);r=r+p|0;if((r|0)>=(c|0)){x=w;break}else o=w}}f[l>>2]=0;o=l+4|0;f[o>>2]=0;f[l+8>>2]=0;r=f[k>>2]|0;q=(f[d>>2]|0)-r|0;w=q>>2;if(w){if(w>>>0>1073741823)Cq(l);s=tn(q)|0;f[o>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;eh(s|0,r|0,q|0)|0;f[o>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;r=0;v=0;while(1){D=go(f[s+(v<<2)>>2]|0,0,y|0,r|0)|0;E=I;v=v+1|0;if(v>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{y=D;r=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Gg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=eo(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;r=En(B|0,C|0,p|0,0)|0;C=go(F|0,z|0,r|0,I|0)|0;r=go(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[o>>2]|0;if((l|0)!=(w|0))f[o>>2]=l+(~((l+-4-w|0)>>>2)<<2);pr(w)}w=Gg(a,c,x,i)|0;l=f[i>>2]|0;o=((x-l|0)/64|0)+l<<3;C=l<<3;z=go(C|0,((C|0)<0)<<31>>31|0,w|0,I|0)|0;w=go(z|0,I|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;C=tn(32)|0;f[i>>2]=C;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=C;B=16355;y=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(y|0));b[C+22>>0]=0;C=(Hh(e,i)|0)==0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if(!C){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;C=tn(32)|0;f[i>>2]=C;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=C;B=16355;y=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(y|0));b[C+22>>0]=0;C=Ok(e,i)|0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);H=C}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(o|0)|(A|0)==(o|0)&r>>>0>=w>>>0)&1;b[m>>0]=H;w=g+16|0;r=f[w+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[w>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Fe(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=qd(a,c,p,k,g)|0;break}case 1:{J=Pc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);pr(g)}n=J;u=h;return n|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;pr(k)}pr(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);pr(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;pr(m)}pr(n)}pr(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=j;p=g;q=24}}else{o=h;p=e;q=24}if((q|0)==24){q=o;do{o=q+-4|0;f[c>>2]=o;e=f[o>>2]|0;f[o>>2]=0;if(e|0){o=e+88|0;h=f[o>>2]|0;f[o>>2]=0;if(h|0){o=f[h+8>>2]|0;if(o|0){g=h+12|0;if((f[g>>2]|0)!=(o|0))f[g>>2]=o;pr(o)}pr(h)}h=f[e+68>>2]|0;if(h|0){o=e+72|0;g=f[o>>2]|0;if((g|0)!=(h|0))f[o>>2]=g+(~((g+-4-h|0)>>>2)<<2);pr(h)}h=e+64|0;g=f[h>>2]|0;f[h>>2]=0;if(g|0){h=f[g>>2]|0;if(h|0){o=g+4|0;if((f[o>>2]|0)!=(h|0))f[o>>2]=h;pr(h)}pr(g)}pr(e)}q=f[c>>2]|0}while((q|0)!=(p|0))}p=f[a+4>>2]|0;a:do if(p|0){q=p+44|0;c=f[q>>2]|0;e=f[p+40>>2]|0;while(1){if((e|0)==(c|0))break a;r=e+4|0;if((f[(f[e>>2]|0)+40>>2]|0)==(i|0))break;else e=r}if((r|0)!=(c|0)){g=r;h=e;do{o=f[g>>2]|0;f[g>>2]=0;j=f[h>>2]|0;f[h>>2]=o;if(j|0){_i(j);pr(j)}g=g+4|0;h=h+4|0}while((g|0)!=(c|0));g=f[q>>2]|0;if((g|0)==(h|0))break;else{s=g;t=h}}else{s=c;t=e}g=s;do{j=g+-4|0;f[q>>2]=j;o=f[j>>2]|0;f[j>>2]=0;if(o|0){_i(o);pr(o)}g=f[q>>2]|0}while((g|0)!=(t|0))}while(0);b:do if((d|0)<5){t=f[a+20+(d*12|0)>>2]|0;s=a+20+(d*12|0)+4|0;r=f[s>>2]|0;i=r;c:do if((t|0)==(r|0))u=t;else{p=t;while(1){if((f[p>>2]|0)==(b|0)){u=p;break c}p=p+4|0;if((p|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){t=u+4|0;p=i-t|0;g=p>>2;if(!g)v=r;else{qm(u|0,t|0,p|0)|0;v=f[s>>2]|0}p=u+(g<<2)|0;if((v|0)!=(p|0))f[s>>2]=v+(~((v+-4-p|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((p|0)!=(u|0)){g=p-u>>2;u=0;do{p=d+(u<<2)|0;v=f[p>>2]|0;if((v|0)>(b|0))f[p>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}g=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((g|0)!=(u|0)){v=g-u>>2;u=0;do{g=d+(u<<2)|0;p=f[g>>2]|0;if((p|0)>(b|0))f[g>>2]=p+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((p|0)==(u|0))return;d=p-u>>2;u=0;do{p=a+(u<<2)|0;g=f[p>>2]|0;if((g|0)>(b|0))f[p>>2]=g+-1;u=u+1|0}while(u>>>0>>0);return}function Jc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>112){f[e>>2]=g+-113;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;n=j;do if((j|0)==(l|0)){o=f[a>>2]|0;p=o;if(i>>>0>o>>>0){q=i;r=((q-p>>2)+1|0)/-2|0;s=i+(r<<2)|0;t=n-q|0;q=t>>2;if(!q)v=i;else{qm(s|0,i|0,t|0)|0;v=f[g>>2]|0}t=s+(q<<2)|0;f[e>>2]=t;f[g>>2]=v+(r<<2);w=t;break}t=m-p>>1;p=(t|0)==0?1:t;if(p>>>0>1073741823){t=ra(8)|0;jp(t,16426);f[t>>2]=7416;va(t|0,1160,122)}t=tn(p<<2)|0;r=t;q=t+(p>>>2<<2)|0;s=q;x=t+(p<<2)|0;if((i|0)==(j|0)){y=o;z=s}else{o=q;q=i;p=s;do{f[o>>2]=f[q>>2];o=p+4|0;p=o;q=q+4|0}while((q|0)!=(j|0));y=f[a>>2]|0;z=p}f[a>>2]=r;f[g>>2]=s;f[e>>2]=z;f[k>>2]=x;if(!y)w=z;else{pr(y);w=f[e>>2]|0}}else w=j;while(0);f[w>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;w=a+4|0;j=h-(f[w>>2]|0)|0;y=a+12|0;z=f[y>>2]|0;k=z-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}g=tn(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=tn(4068)|0;f[d>>2]=k;wg(c,d);d=f[e>>2]|0;while(1){A=f[w>>2]|0;if((d|0)==(A|0))break;k=d+-4|0;tg(c,k);d=k}k=A;A=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=A;f[w>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((g|0)!=(d|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(A|0)pr(A);u=b;return}if((z|0)!=(h|0)){h=tn(4068)|0;f[c>>2]=h;wg(a,c);u=b;return}h=tn(4068)|0;f[c>>2]=h;tg(a,c);c=f[w>>2]|0;h=f[c>>2]|0;z=c+4|0;f[w>>2]=z;c=f[e>>2]|0;A=f[y>>2]|0;k=A;g=c;do if((c|0)==(A|0)){j=f[a>>2]|0;d=j;if(z>>>0>j>>>0){m=z;i=((m-d>>2)+1|0)/-2|0;v=z+(i<<2)|0;n=g-m|0;m=n>>2;if(!m)B=z;else{qm(v|0,z|0,n|0)|0;B=f[w>>2]|0}n=v+(m<<2)|0;f[e>>2]=n;f[w>>2]=B+(i<<2);C=n;break}n=k-d>>1;d=(n|0)==0?1:n;if(d>>>0>1073741823){n=ra(8)|0;jp(n,16426);f[n>>2]=7416;va(n|0,1160,122)}n=tn(d<<2)|0;i=n;m=n+(d>>>2<<2)|0;v=m;l=n+(d<<2)|0;if((z|0)==(c|0)){D=j;E=v}else{j=m;m=z;d=v;do{f[j>>2]=f[m>>2];j=d+4|0;d=j;m=m+4|0}while((m|0)!=(c|0));D=f[a>>2]|0;E=d}f[a>>2]=i;f[w>>2]=v;f[e>>2]=E;f[y>>2]=l;if(!D)C=E;else{pr(D);C=f[e>>2]|0}}else C=c;while(0);f[C>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=f[c>>2]|0;k=j;while(1){if((g|0)==(f[d>>2]|0))break;j=k+16|0;gm(j,g+16|0)|0;gm(k+28|0,g+28|0)|0;l=k+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(k|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[j+11>>0]|0;o=n<<24>>24<0;s=o?f[k+20>>2]|0:n&255;n=o?f[j>>2]|0:j;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0>>0?w:s;if((u|0)!=0?(x=Yk(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=24;else y=26;else if(s>>>0>>0)y=24;else y=26;if((y|0)==24){y=0;w=f[o>>2]|0;if(!w){y=25;break}else z=w}else if((y|0)==26){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=28;break}else z=w}o=z}if((y|0)==25){y=0;B=o;C=o;break}else if((y|0)==28){y=0;B=o;C=A;break}}else{B=h;C=h}while(0);f[k>>2]=0;f[k+4>>2]=0;f[l>>2]=B;f[C>>2]=k;m=f[f[a>>2]>>2]|0;if(!m)D=k;else{f[a>>2]=m;D=f[C>>2]|0}He(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[g+4>>2]|0;if(!m){j=g+8|0;s=f[j>>2]|0;if((f[s>>2]|0)==(g|0))E=s;else{s=j;do{j=f[s>>2]|0;s=j+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(j|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=E;k=p}}g=f[k+8>>2]|0;if(!g)F=k;else{i=g;while(1){g=f[i+8>>2]|0;if(!g)break;else i=g}F=i}Cj(a,F)}while(0);F=f[c>>2]|0;p=f[d>>2]|0;if((F|0)==(p|0))return;else G=F;while(1){Ue(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;E=f[d>>2]|0;if((f[E>>2]|0)==(G|0))H=E;else{E=d;do{d=f[E>>2]|0;E=d+8|0;e=f[E>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{E=F;while(1){i=f[E>>2]|0;if(!i)break;else E=i}H=E}f[c>>2]=H;if((H|0)==(p|0))break;else G=H}return}function Lc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=tn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14740;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ik(i,h,-1)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);switch(j|0){case 0:{n=tn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n;break}case -1:{if((ki(i)|0)==10){n=tn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n}else q=6;break}default:q=6}a:do if((q|0)==6){n=d+8|0;r=d+12|0;s=f[r>>2]|0;t=f[n>>2]|0;b:do if((s-t|0)>0){v=h+8|0;w=h+4|0;x=c+20|0;y=h+11|0;z=s;A=t;B=0;c:while(1){C=f[(f[A+(B<<2)>>2]|0)+28>>2]|0;switch(C|0){case 9:{q=12;break}case 6:case 5:case 4:case 2:{D=A;E=z;break}default:{if((C|2|0)!=3)break c;if((C|0)==9)q=12;else{D=A;E=z}}}if((q|0)==12){q=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=tn(32)|0;f[h>>2]=C;f[v>>2]=-2147483616;f[w>>2]=17;k=C;l=14756;m=k+17|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[C+17>>0]=0;F=f[x>>2]|0;if(F){G=x;H=F;d:while(1){F=H;while(1){if((f[F+16>>2]|0)>=0)break;I=f[F+4>>2]|0;if(!I){J=G;break d}else F=I}H=f[F>>2]|0;if(!H){J=F;break}else G=F}if(((J|0)!=(x|0)?(f[J+16>>2]|0)<=0:0)?(G=J+20|0,(Hh(G,h)|0)!=0):0)K=Ik(G,h,-1)|0;else q=21}else q=21;if((q|0)==21){q=0;K=Ik(i,h,-1)|0}if((b[y>>0]|0)<0)pr(f[h>>2]|0);if((K|0)<1)break;D=f[n>>2]|0;E=f[r>>2]|0}B=B+1|0;if((B|0)>=(E-D>>2|0))break b;else{z=E;A=D}}if((j|0)!=1){A=tn(56)|0;k=A;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(A);o=4196;p=A;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;z=tn(32)|0;f[h>>2]=z;f[h+8>>2]=-2147483616;f[h+4>>2]=24;k=z;l=14774;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[z+24>>0]=0;f[a>>2]=-1;nj(a+4|0,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}while(0);r=tn(56)|0;k=r;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(r);o=4136;p=r}while(0);f[p>>2]=o;Hp(p,d);ud(a,p,i,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[p+52>>2];f[c+44>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}Qa[f[(f[p>>2]|0)+4>>2]&127](p);u=g;return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=k;k=0;w=0;while(1){x=f[(f[v+24>>2]|0)+(w<<2)>>2]|0;if((x|0)==-1){y=v;z=k}else{A=k+1|0;B=f[(f[l>>2]|0)+(((x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Ti(c,g);f[g>>2]=x;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=x;else{B=x+1|0;E=((B>>>0)%3|0|0)==0?x+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=x;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=x}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=k;x=f[s>>2]|0;if((x|0)==(f[t>>2]|0))Ti(r,g);else{f[x>>2]=f[g>>2];f[s>>2]=x+4}x=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[x+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=E;E=k;H=A;while(1){I=F+1|0;J=((I>>>0)%3|0|0)==0?F+-2|0:I;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){I=H+1|0;K=f[(f[l>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Ti(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ti(r,h);M=H;N=I;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=H;N=I;break}}else{M=E;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=M;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;I=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((I|0)==-1)break;J=f[(f[O+12>>2]|0)+(I<<2)>>2]|0;if((J|0)==-1)break;F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=F;if(!((F|0)!=-1?(F|0)!=(f[g>>2]|0):0)){P=O;Q=N;break b}else{E=M;H=N}}f[h>>2]=-1;P=O;Q=N}else{P=x;Q=A}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=x;Q=A}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2>>>0)break;else{v=y;k=z}}u=e;return}function Nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=24;g=-149;i=4;break}case 1:{e=53;g=-1074;i=4;break}case 2:{e=53;g=-1074;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Ji(a)|0}while((Hq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Ji(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=o;n=0;while(1){if((l|32|0)!=(b[18937+n>>0]|0)){q=l;r=n;break}do if(n>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Ji(a)|0;break}}else t=l;while(0);s=n+1|0;if(s>>>0<8){l=t;n=s}else{q=t;r=s;break}}c:do switch(r|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&r>>>0>3)if((r|0)==8)break c;else{i=23;break c}d:do if(!r){l=q;s=0;while(1){if((l|32|0)!=(b[18946+s>>0]|0)){u=l;v=s;break d}do if(s>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Ji(a)|0;break}}else x=l;while(0);w=s+1|0;if(w>>>0<3){l=x;s=w}else{u=x;v=w;break}}}else{u=q;v=r}while(0);switch(v|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Ji(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Ji(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=er()|0;f[l>>2]=22;dn(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((u|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Ji(a)|0;if((E|32|0)==120){j=+Ac(a,e,g,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=u;j=+hb(a,F,e,g,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=er()|0;f[s>>2]=22;dn(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&r>>>0>3){n=r;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Oc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;b=u;u=u+16|0;c=b+4|0;d=b;e=f[a+64>>2]|0;if(!e){u=b;return}g=La[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(!g){u=b;return}e=g+24|0;h=g+28|0;i=((f[h>>2]|0)-(f[e>>2]|0)>>2)-(f[g+44>>2]|0)|0;j=a+56|0;k=f[j>>2]|0;if(((f[k+12>>2]|0)-(f[k+8>>2]|0)|0)>4){f[c>>2]=0;l=c+4|0;f[l>>2]=0;f[c+8>>2]=0;m=c+8|0;n=k;k=0;while(1){if(!(f[(f[(f[n+8>>2]|0)+(k<<2)>>2]|0)+56>>2]|0))o=n;else{p=Ma[f[(f[a>>2]|0)+56>>2]&127](a,k)|0;f[d>>2]=p;q=p;do if(p|0){r=f[l>>2]|0;if((r|0)==(f[m>>2]|0)){Ti(c,d);break}else{f[r>>2]=q;f[l>>2]=(f[l>>2]|0)+4;break}}while(0);o=f[j>>2]|0}k=k+1|0;if((k|0)>=((f[o+12>>2]|0)-(f[o+8>>2]|0)>>2|0))break;else n=o}n=f[h>>2]|0;h=f[e>>2]|0;e=h;if((n|0)==(h|0)){s=f[c>>2]|0;t=i}else{k=n-h>>2;h=g+12|0;g=f[l>>2]|0;n=f[c>>2]|0;c=(g|0)==(n|0);j=n;d=g-n>>2;n=o+96|0;o=i;g=0;while(1){m=f[e+(g<<2)>>2]|0;if((m|0)==-1)v=o;else{q=f[n>>2]|0;p=f[q+(((m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]|0;r=(((m>>>0)%3|0|0)==0?2:-1)+m|0;a:do if(((r|0)!=-1?(w=f[(f[h>>2]|0)+(r<<2)>>2]|0,(w|0)!=-1):0)?(x=w+(((w>>>0)%3|0|0)==0?2:-1)|0,(x|0)!=-1):0){if(c){w=x;y=p;z=0;while(1){A=y;y=f[q+(((w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]|0;B=z+((y|0)!=(A|0)&1)|0;if((w|0)==(m|0)){C=B;break a}A=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((A|0)==-1){C=B;break a}D=f[(f[h>>2]|0)+(A<<2)>>2]|0;if((D|0)==-1){C=B;break a}w=D+(((D>>>0)%3|0|0)==0?2:-1)|0;if((w|0)==-1){C=B;break a}else z=B}}else{E=x;F=m;G=p;H=0}while(1){z=f[q+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;b:do if((z|0)==(G|0)){w=0;while(1){y=f[(f[j+(w<<2)>>2]|0)+28>>2]|0;w=w+1|0;if((f[y+(E<<2)>>2]|0)!=(f[y+(F<<2)>>2]|0)){I=G;J=28;break b}if(w>>>0>=d>>>0){K=H;L=G;break}}}else{I=z;J=28}while(0);if((J|0)==28){J=0;K=H+1|0;L=I}if((E|0)==(m|0)){C=K;break a}z=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((z|0)==-1){C=K;break a}w=f[(f[h>>2]|0)+(z<<2)>>2]|0;if((w|0)==-1){C=K;break a}z=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if((z|0)==-1){C=K;break}else{w=E;E=z;G=L;H=K;F=w}}}else C=0;while(0);m=f[e+(g<<2)>>2]|0;q=m+1|0;if(((m|0)!=-1?(p=((q>>>0)%3|0|0)==0?m+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0)M=((((p>>>0)%3|0|0)==0?q+-2|0:p)|0)==-1;else M=1;v=C+o+(((C|0)!=0&(M^1))<<31>>31)|0}g=g+1|0;if(g>>>0>=k>>>0){s=j;t=v;break}else o=v}}if(s|0){v=f[l>>2]|0;if((v|0)!=(s|0))f[l>>2]=v+(~((v+-4-s|0)>>>2)<<2);pr(s)}N=t}else N=i;f[a+52>>2]=N;u=b;return}function Pc(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=tn(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=16378;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Hh(g,j)|0)==0;if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if(!r){r=tn(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=16378;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Ok(g,j)|0;if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Fe(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=pe(a,c,d,h)|0;u=i;return n|0}case 2:{n=oe(a,c,d,h)|0;u=i;return n|0}case 3:{n=ne(a,c,d,h)|0;u=i;return n|0}case 4:{n=me(a,c,d,h)|0;u=i;return n|0}case 5:{n=le(a,c,d,h)|0;u=i;return n|0}case 6:{n=ke(a,c,d,h)|0;u=i;return n|0}case 7:{n=je(a,c,d,h)|0;u=i;return n|0}case 8:{n=ie(a,c,d,h)|0;u=i;return n|0}case 9:{n=he(a,c,d,h)|0;u=i;return n|0}case 10:{n=ge(a,c,d,h)|0;u=i;return n|0}case 11:{n=fe(a,c,d,h)|0;u=i;return n|0}case 12:{n=ee(a,c,d,h)|0;u=i;return n|0}case 13:{n=de(a,c,d,h)|0;u=i;return n|0}case 14:{n=ce(a,c,d,h)|0;u=i;return n|0}case 15:{n=be(a,c,d,h)|0;u=i;return n|0}case 16:{n=ae(a,c,d,h)|0;u=i;return n|0}case 17:{n=$d(a,c,d,h)|0;u=i;return n|0}case 18:{n=_d(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;tb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;ub(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;vb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;wb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*524288.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==524288){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;p=x;while(1){v=524288.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==524288){C=q;D=524288;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*1.9073486328125e-06)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*262144.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==262144){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;p=x;while(1){v=262144.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==262144){C=q;D=262144;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*3.814697265625e-06)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*65536.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==65536){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;p=x;while(1){v=65536.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==65536){C=q;D=65536;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.0000152587890625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*32768.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==32768){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;p=x;while(1){v=32768.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==32768){C=q;D=32768;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000030517578125)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*8192.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==8192){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;p=x;while(1){v=8192.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==8192){C=q;D=8192;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.0001220703125)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=mr(j)|0;pj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=o;F=q;G=D}else{H=m;Cq(H)}while(1){D=f[E+(G<<2)>>2]|0;q=X(G,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(G|0)&(M|0)<(G|0)&(L|0)<(G|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Nd(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(F+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Nd(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((G|0)<=1)break a;M=f[l>>2]|0;E=f[M>>2]|0;I=G+-1|0;if((f[M+4>>2]|0)-E>>2>>>0<=I>>>0){H=M;break}else{M=G;G=I;F=M}}Cq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Nd(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;nr(k);u=g;return 1}pj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Nd(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;nr(k);u=g;return 1}function hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=go(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=go((l|0)==0&(k|0)==0&1|0,0,l|0,k|0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=((n|0)==0&1)+n&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)Cq(i);p=tn(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=p;p=j;do{b[q>>0]=0;q=(f[l>>2]|0)+1|0;f[l>>2]=q;p=p+-1|0}while((p|0)!=0);o=f[i>>2]|0}p=a+28|0;q=(f[p>>2]|0)+-1|0;a:do if((q|0)>-1){j=a+24|0;r=k;s=0;t=4096;v=q;while(1){w=256-(r&255)|0;x=(f[j>>2]&1<>>0>>0){z=t;A=s}else{b[o+s>>0]=t;z=t>>>8;A=s+1|0}En(f[4248+(y<<3)>>2]|0,0,z|0,0)|0;B=z+(x?0:w&255)+(X((I+z|0)>>>(f[4248+(y<<3)+4>>2]|0),256-y|0)|0)|0;y=v+-1|0;if((y|0)<=-1){C=A;D=B;break a}r=b[h>>0]|0;s=A;t=B;v=y}}else{C=0;D=4096}while(0);A=f[m>>2]|0;if((A|0)==(f[n>>2]|0)){E=C;F=D}else{z=A;A=C;C=D;while(1){z=z+-4|0;D=f[z>>2]|0;q=A;k=C;v=31;while(1){t=b[h>>0]|0;s=256-(t&255)|0;r=(1<>>0>>0){G=k;H=q}else{b[o+q>>0]=k;G=k>>>8;H=q+1|0}En(f[4248+(j<<3)>>2]|0,0,G|0,0)|0;k=G+(r?0:s&255)+(X((I+G|0)>>>(f[4248+(j<<3)+4>>2]|0),256-j|0)|0)|0;if((v|0)<=0)break;else{q=H;v=v+-1|0}}if((z|0)==(f[n>>2]|0)){E=H;F=k;break}else{A=H;C=k}}}C=F+-4096|0;do if(C>>>0>=64){if(C>>>0<16384){H=o+E|0;A=F+12288|0;b[H>>0]=A;J=2;K=H+1|0;L=A>>>8;M=20;break}if(C>>>0<4194304){A=o+E|0;H=F+8384512|0;b[A>>0]=H;b[A+1>>0]=H>>>8;J=3;K=A+2|0;L=H>>>16;M=20}else N=E}else{J=1;K=o+E|0;L=C;M=20}while(0);if((M|0)==20){b[K>>0]=L;N=J+E|0}E=c+16|0;J=E;L=f[J+4>>2]|0;if(!((L|0)>0|(L|0)==0&(f[J>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}ai(N,c)|0;h=f[i>>2]|0;J=E;E=f[J+4>>2]|0;if(!((E|0)>0|(E|0)==0&(f[J>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+N|0)|0}N=e;f[N>>2]=0;f[N+4>>2]=0;nf(a,2,e);e=f[a+12>>2]|0;N=f[m>>2]|0;if((N|0)!=(e|0))f[m>>2]=N+(~((N+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;p=f[i>>2]|0;if(!p){u=d;return}if((f[l>>2]|0)!=(p|0))f[l>>2]=p;pr(p);u=d;return}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=h;h=0;r=0;while(1){s=f[(f[q+24>>2]|0)+(r<<2)>>2]|0;if((s|0)==-1){t=q;v=h}else{w=h+1|0;f[b>>2]=h;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ti(i,b);else{f[x>>2]=h;f[j>>2]=x+4}f[d>>2]=s;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=s;else{x=s+1|0;z=((x>>>0)%3|0|0)==0?s+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=s;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=s}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];s=f[o>>2]|0;if((s|0)==(f[p>>2]|0))Ti(n,d);else{f[s>>2]=f[d>>2];f[o>>2]=s+4}s=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[s+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ti(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ti(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=G;I=F;break b}else A=F}f[e>>2]=-1;H=G;I=F}else{H=s;I=w}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=s;I=w}t=H;v=I}r=r+1|0;if(r>>>0>=(f[t+28>>2]|0)-(f[t+24>>2]|0)>>2>>>0)break;else{q=t;h=v}}u=c;return}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){l=((k>>>0)%3|0|0)==0?j+-2|0:k;if(!((j>>>0)%3|0)){m=l;n=j+2|0;break}else{m=l;n=j+-1|0;break}}else{m=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(m<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(n<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((n|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=r;r=1;while(1){w=f[t>>2]|0;x=f[(f[w>>2]|0)+36>>2]|0;f[e>>2]=(v>>>0)/3|0;f[d>>2]=f[e>>2];if(Ma[x&127](w,d)|0){y=r;break}w=v+1|0;x=((w>>>0)%3|0|0)==0?v+-2|0:w;if((x|0)==-1){z=12;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=r+1|0;if((v|0)==-1){y=x;break}else r=x}if((z|0)==12)y=r+1|0;A=f[k>>2]|0;B=f[l>>2]|0;C=y}else{A=q;B=o;C=1}f[A+(f[B+(f[i>>2]<<2)>>2]<<2)>>2]=C;C=a+108|0;i=f[C>>2]|0;B=i-A>>2;A=i;if((m|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(i|0)!=-1):0){m=a+64|0;y=i;i=1;while(1){r=f[m>>2]|0;v=f[(f[r>>2]|0)+36>>2]|0;f[g>>2]=(y>>>0)/3|0;f[d>>2]=f[g>>2];if(Ma[v&127](r,d)|0){D=i;break}r=y+1|0;f[(f[l>>2]|0)+((((r>>>0)%3|0|0)==0?y+-2|0:r)<<2)>>2]=B;r=(((y>>>0)%3|0|0)==0?2:-1)+y|0;if((r|0)==-1){z=20;break}y=f[(f[(f[h>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;r=i+1|0;if((y|0)==-1){D=r;break}else i=r}if((z|0)==20)D=i+1|0;E=f[C>>2]|0;F=D}else{E=A;F=1}f[d>>2]=F;if(E>>>0<(f[a+112>>2]|0)>>>0){f[E>>2]=F;f[C>>2]=E+4}else Ti(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;n=f[k>>2]|0;if((n|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3852+(n<<2)>>2]|0;f[d>>2]=a;n=o+(s*12|0)+4|0;G=f[n>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[n>>2]=G+4}else Ti(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=mr(j)|0;pj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=o;G=q;H=E}else{I=m;Cq(I)}while(1){E=f[F+(H<<2)>>2]|0;q=X(H,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(H|0)&(N|0)<(H|0)&(M|0)<(H|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Nd(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(G+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Nd(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((H|0)<=1)break a;N=f[l>>2]|0;F=f[N>>2]|0;K=H+-1|0;if((f[N+4>>2]|0)-F>>2>>>0<=K>>>0){I=N;break}else{N=H;H=K;G=N}}Cq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Nd(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;nr(k);u=g;return 1}pj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Nd(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;nr(k);u=g;return 1}function ld(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2140;i=c;f[a>>2]=i;return}case 2:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2196;i=c;f[a>>2]=i;return}case 4:{c=tn(168)|0;Oi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=tn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2252;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2308;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2364;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2420;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function md(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1720;i=c;f[a>>2]=i;return}case 2:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1776;i=c;f[a>>2]=i;return}case 4:{c=tn(168)|0;Qi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=tn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1832;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1888;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1944;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2e3;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function nd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=x;B=e;while(1){C=A+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=B;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=B;break d}if((d[v>>1]|0)!=(d[A+12>>1]|0)){y=B;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=B;break d}C=f[A>>2]|0;if(!C){y=A;break}else{D=A;A=C;B=D}}}while(0);f[c>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=j;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(m|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=w;t=F;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{B=d[w>>1]|0;A=q;z=e;while(1){D=A+8|0;if(B<<16>>16!=(d[D>>1]|0)){G=z;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=z;break e}if((d[u>>1]|0)!=(d[A+12>>1]|0)){G=z;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=z;break e}D=f[A>>2]|0;if(!D){G=A;break}else{C=A;A=D;z=C}}}while(0);f[c>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);j=f[p>>2]|0;if(!j){E=43;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){E=43;break}else{k=r;m=t;n=r}}if((E|0)==43)return}function od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=x;B=e;while(1){C=A+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=B;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=B;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=B;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=B;break d}C=f[A>>2]|0;if(!C){y=A;break}else{D=A;A=C;B=D}}}while(0);f[d>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=j;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(m|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=w;t=F;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{B=b[w>>0]|0;A=q;z=e;while(1){D=A+8|0;if(B<<24>>24!=(b[D>>0]|0)){G=z;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=z;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=z;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=z;break e}D=f[A>>2]|0;if(!D){G=A;break}else{C=A;A=D;z=C}}}while(0);f[d>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);j=f[p>>2]|0;if(!j){E=43;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){E=43;break}else{k=r;m=t;n=r}}if((E|0)==43)return}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=v;z=d;while(1){if((x|0)!=(f[y+8>>2]|0)){w=z;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){w=z;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){w=z;break d}if((f[u>>2]|0)!=(f[y+20>>2]|0)){w=z;break d}A=f[y>>2]|0;if(!A){w=y;break}else{B=y;y=A;z=B}}}while(0);f[c>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=i;while(1){u=f[d+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(l|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=u;s=D;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{z=f[d+8>>2]|0;y=v;x=d;while(1){if((z|0)!=(f[y+8>>2]|0)){E=x;break e}if((f[u>>2]|0)!=(f[y+12>>2]|0)){E=x;break e}if((f[t>>2]|0)!=(f[y+16>>2]|0)){E=x;break e}if((f[p>>2]|0)!=(f[y+20>>2]|0)){E=x;break e}B=f[y>>2]|0;if(!B){E=y;break}else{A=y;y=B;x=A}}}while(0);f[c>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);i=f[o>>2]|0;if(!i){C=43;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){C=43;break}else{j=q;l=s;m=q}}if((C|0)==43)return}function qd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;pj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=go(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0>>0)}Rn(m);r=eo(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;s=n;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));bd(n,l,32,g)|0;l=n+16|0;s=eo(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=go(s|0,I|0,39,0)|0;s=jo(o|0,I|0,3)|0;o=go(s|0,I|0,8,0)|0;s=go(o|0,I|0,t|0,0)|0;Gl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;wi(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=f[H>>2]|0;K=0;do{L=J>>>3;M=J&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(h[N>>0]|0)&(1<>2]|0)+L|0;b[N>>0]=h[N>>0]|0|(F>>>K&1)<>2]|0)+1|0;f[H>>2]=J;K=K+1|0}while((K|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}Lf(n,g);eg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Fe(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);pr(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)pr(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;pr(n);u=i;return 1}function rd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=v;A=e;while(1){B=z+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=A;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=A;break d}if((d[u>>1]|0)!=(d[z+12>>1]|0)){w=A;break d}B=f[z>>2]|0;if(!B){w=z;break}else{C=z;z=B;A=C}}}while(0);f[c>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=E;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{A=d[u>>1]|0;z=u+2|0;y=q;x=e;while(1){C=y+8|0;if(A<<16>>16!=(d[C>>1]|0)){F=x;break e}if((d[z>>1]|0)!=(d[C+2>>1]|0)){F=x;break e}if((d[v>>1]|0)!=(d[y+12>>1]|0)){F=x;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;x=B}}}while(0);f[c>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);j=f[p>>2]|0;if(!j){D=41;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){D=41;break}else{k=r;m=t;n=r}}if((D|0)==41)return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=w;A=e;while(1){B=z+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=A;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=A;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=A;break d}B=f[z>>2]|0;if(!B){x=z;break}else{C=z;z=B;A=C}}}while(0);f[d>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=j;while(1){v=f[e+4>>2]|0;if(v>>>0>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(m|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=v;t=E;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{A=b[v>>0]|0;z=q;y=e;while(1){C=z+8|0;if(A<<24>>24!=(b[C>>0]|0)){F=y;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=y;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=y;break e}C=f[z>>2]|0;if(!C){F=z;break}else{B=z;z=C;y=B}}}while(0);f[d>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);j=f[p>>2]|0;if(!j){D=41;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){D=41;break}else{k=r;m=t;n=r}}if((D|0)==41)return}function td(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=jo(c|0,d|0,52)|0;i=h&2047;h=jo(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=eo(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=Lo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=eo(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=eo(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=n;n=m;m=0;while(1){q=m+-1|0;o=eo(o|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&o>>>0>4294967295)){r=q;break}else m=q}}else r=0;m=eo(c|0,d|0,1-r|0)|0;t=m;u=I;v=r}else{t=c;u=d&1048575|1048576;v=i}if(!j){m=eo(e|0,g|0,12)|0;o=I;if((o|0)>-1|(o|0)==-1&m>>>0>4294967295){n=m;m=o;o=0;while(1){q=o+-1|0;n=eo(n|0,m|0,1)|0;m=I;if(!((m|0)>-1|(m|0)==-1&n>>>0>4294967295)){w=q;break}else o=q}}else w=0;o=eo(e|0,g|0,1-w|0)|0;x=o;y=I;z=w}else{x=e;y=g&1048575|1048576;z=j}o=io(t|0,u|0,x|0,y|0)|0;n=I;m=(n|0)>-1|(n|0)==-1&o>>>0>4294967295;b:do if((v|0)>(z|0)){q=t;A=u;B=o;C=n;D=m;E=v;while(1){if(D)if((B|0)==0&(C|0)==0)break;else{F=B;G=C}else{F=q;G=A}H=eo(F|0,G|0,1)|0;J=I;K=E+-1|0;L=io(H|0,J|0,x|0,y|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(z|0)){q=H;A=J;B=L;C=M;D=N;E=K}else{O=M;P=H;Q=J;R=L;S=N;T=K;break b}}U=a*0.0;break a}else{O=n;P=t;Q=u;R=o;S=m;T=v}while(0);if(S)if((R|0)==0&(O|0)==0){U=a*0.0;break}else{V=O;W=R}else{V=Q;W=P}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=W;o=V;n=T;while(1){E=eo(m|0,o|0,1)|0;D=I;C=n+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=E;o=D;n=C}else{X=E;Y=D;Z=C;break}}}else{X=W;Y=V;Z=T}if((Z|0)>0){n=go(X|0,Y|0,0,-1048576)|0;o=I;m=eo(Z|0,0,52)|0;_=o|I;$=n|m}else{m=jo(X|0,Y|0,1-Z|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function ud(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;i=c+12|0;j=f[i>>2]|0;if((j|0)!=(e|0)){k=j;do{j=k+-4|0;f[i>>2]=j;l=f[j>>2]|0;f[j>>2]=0;if(l|0)Qa[f[(f[l>>2]|0)+4>>2]&127](l);k=f[i>>2]|0}while((k|0)!=(e|0))}e=f[c+20>>2]|0;k=c+24|0;i=f[k>>2]|0;if((i|0)!=(e|0))f[k>>2]=i+(~((i+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;i=c+36|0;k=f[i>>2]|0;if((k|0)!=(e|0))f[i>>2]=k+(~((k+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=tn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;m=e;n=16066;o=m+23|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+23>>0]=0;f[a>>2]=-1;nj(a+4|0,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}Od(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;k=e+11|0;if((b[k>>0]|0)<0)pr(f[e>>2]|0);Si(a,c);if(f[a>>2]|0){u=g;return}if((b[k>>0]|0)<0)pr(f[e>>2]|0);if(!(La[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=29;m=k;n=16090;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+29>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+20>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16120;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+24>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16152;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+28>>2]&127](c)|0)){k=tn(48)|0;f[h>>2]=k;f[h+8>>2]=-2147483600;f[h+4>>2]=34;m=k;n=16184;o=m+34|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+34>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}e=tn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=30;m=e;n=16219;o=m+30|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+30>>0]=0;e=Yj(d,h,0)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);if(e)Qa[f[(f[c>>2]|0)+48>>2]&127](c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;return}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=u;y=d;while(1){if((w|0)!=(f[x+8>>2]|0)){v=y;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){v=y;break d}if((f[t>>2]|0)!=(f[x+16>>2]|0)){v=y;break d}z=f[x>>2]|0;if(!z){v=x;break}else{A=x;x=z;y=A}}}while(0);f[c>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=i;while(1){t=f[d+4>>2]|0;if(t>>>0>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(l|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=t;s=C;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{y=f[d+8>>2]|0;x=u;w=d;while(1){if((y|0)!=(f[x+8>>2]|0)){D=w;break e}if((f[t>>2]|0)!=(f[x+12>>2]|0)){D=w;break e}if((f[p>>2]|0)!=(f[x+16>>2]|0)){D=w;break e}A=f[x>>2]|0;if(!A){D=x;break}else{z=x;x=A;w=z}}}while(0);f[c>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);i=f[o>>2]|0;if(!i){B=41;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){B=41;break}else{j=q;l=s;m=q}}if((B|0)==41)return}function wd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3044;i=c;f[a>>2]=i;return}case 2:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3100;i=c;f[a>>2]=i;return}case 4:{c=tn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3156;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));en(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=tn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3212;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3268;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=3324;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3380;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function xd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){o=j;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(m|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=e;x=o;while(1){y=u+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:z&255)|0)){r=x;break c}if(!w?Yk(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=x;break c}y=f[u>>2]|0;if(!y){r=u;break c}else{A=u;u=y;x=A}}}if(w){x=e;u=o;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=e;x=o;while(1){w=u+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:y&255)|0)){r=x;break c}y=A?f[w>>2]|0:w;if((f[s>>2]&255)<<24>>24==(b[y>>0]|0)){B=v;C=s;D=y}else{r=x;break c}while(1){B=B+-1|0;C=C+1|0;if(!B)break;D=D+1|0;if((b[C>>0]|0)!=(b[D>>0]|0)){r=x;break c}}y=f[u>>2]|0;if(!y){r=u;break}else{w=u;u=y;x=w}}}while(0);f[d>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}j=f[o>>2]|0;if(!j){E=43;break a}else{g=o;d=o}}f[q>>2]=d;l=f[o>>2]|0;if(!l){E=43;break}else{k=o;m=p;n=o}}if((E|0)==43)return}function yd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2680;i=c;f[a>>2]=i;return}case 2:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2736;i=c;f[a>>2]=i;return}case 4:{c=tn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2792;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));en(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=tn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2848;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2904;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2960;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3016;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function zd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=u;z=e;while(1){A=y+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=z;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=z;break d}A=f[y>>2]|0;if(!A){v=y;break}else{B=y;y=A;z=B}}}while(0);f[c>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=D;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{z=d[u>>1]|0;y=u+2|0;x=q;w=e;while(1){B=x+8|0;if(z<<16>>16!=(d[B>>1]|0)){E=w;break e}if((d[y>>1]|0)!=(d[B+2>>1]|0)){E=w;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;w=A}}}while(0);f[c>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);j=f[p>>2]|0;if(!j){C=39;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){C=39;break}else{k=r;m=t;n=r}}if((C|0)==39)return}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=u;z=e;while(1){A=y+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=z;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=z;break d}A=f[y>>2]|0;if(!A){v=y;break}else{B=y;y=A;z=B}}}while(0);f[d>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=D;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{z=b[u>>0]|0;y=u+1|0;x=q;w=e;while(1){B=x+8|0;if(z<<24>>24!=(b[B>>0]|0)){E=w;break e}if((b[y>>0]|0)!=(b[B+1>>0]|0)){E=w;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;w=A}}}while(0);f[d>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);j=f[p>>2]|0;if(!j){C=39;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){C=39;break}else{k=r;m=t;n=r}}if((C|0)==39)return}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Kp(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ih(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=r;n=a+16|0;while(1){l=f[e+16>>2]|0;if((d|0)<(l|0)){j=f[e>>2]|0;if(!j){x=23;break}else{y=j;z=e}}else{if((l|0)>=(d|0)){x=27;break}A=e+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=l;z=A}}e=y;n=z}if((x|0)==23){B=e;C=e;break}else if((x|0)==26){B=e;C=A;break}else if((x|0)==27){B=e;C=n;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=tn(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}He(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Cj(h+4|0,f[k>>2]|0);Cj(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(m|0)==(q|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(Yk(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(a|0)==(q|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(Yk(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function Dd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=Yk(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=Yk(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=36}else r=20;if((r|0)==20?!k:0)r=36;if((r|0)==36){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=i+4|0;m=f[k>>2]|0;if(!m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=m;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){m=t+16|0;l=b[m+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=Yk(n?f[g>>2]|0:g,q?f[m>>2]|0:m,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=30;if((r|0)==30?o>>>0

>>0:0)break;s=xg(a,d,g)|0;return s|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;s=k;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((i|0)==(f[a>>2]|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){k=f[h+4>>2]|0;if(!k){w=h;break}else h=k}}h=w;k=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[k+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=Yk(j?f[k>>2]|0:k,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=12;if((r|0)==12?p>>>0>>0:0){v=h;break}s=xg(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{i=v;f[d>>2]=i;s=i+4|0;return s|0}return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=t;x=d;while(1){if((v|0)!=(f[w+8>>2]|0)){u=x;break d}if((f[p>>2]|0)!=(f[w+12>>2]|0)){u=x;break d}y=f[w>>2]|0;if(!y){u=w;break}else{z=w;w=y;x=z}}}while(0);f[c>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=i;while(1){p=f[d+4>>2]|0;if(p>>>0>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=B;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{x=f[d+8>>2]|0;w=t;v=d;while(1){if((x|0)!=(f[w+8>>2]|0)){C=v;break e}if((f[p>>2]|0)!=(f[w+12>>2]|0)){C=v;break e}z=f[w>>2]|0;if(!z){C=w;break}else{y=w;w=z;v=y}}}while(0);f[c>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);i=f[o>>2]|0;if(!i){A=39;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){A=39;break}else{j=q;l=s;m=q}}if((A|0)==39)return}function Fd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Dm(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Dm(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=go(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;io(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=io(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=tn(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14756;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Hh(c,e)|0)!=0):0)q=Ik(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Ik(i,e,-1)|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);i=(1<>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;if(i&1|0?(q=(_(i|0)|0)^31,(q+-1|0)>>>0<=28):0){f[e>>2]=q+1;i=2<>2]=i+-1;q=i+-2|0;f[e+8>>2]=q;f[e+12>>2]=(q|0)/2|0}switch(Ui(f[j>>2]|0,f[h>>2]|0)|0){case 6:{q=f[j>>2]|0;i=f[h>>2]|0;c=f[(f[(f[i+4>>2]|0)+8>>2]|0)+(q<<2)>>2]|0;do if((La[f[(f[i>>2]|0)+8>>2]&127](i)|0)==1){If(g,i,6,q,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=22;break}else{t=p;v=g;break}}else{s=g;r=22}while(0);if((r|0)==22){r=tn(24)|0;f[r+4>>2]=c;c=r+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[r>>2]=2624;c=r;f[g>>2]=c;t=c;v=s}f[a>>2]=t;f[v>>2]=0;u=d;return}case 0:{v=f[h>>2]|0;h=f[(f[(f[v+4>>2]|0)+8>>2]|0)+(f[j>>2]<<2)>>2]|0;if((La[f[(f[v>>2]|0)+8>>2]&127](v)|0)==1)La[f[(f[v>>2]|0)+8>>2]&127](v)|0;v=tn(24)|0;f[v+4>>2]=h;h=v+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[v>>2]=2624;f[a>>2]=v;u=d;return}default:{f[a>>2]=0;u=d;return}}}function Hd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=tn(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14868;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+20>>0]=0;j=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);i=f[h>>2]|0;n=tn(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14889;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);i=a+64|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+56>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=tn(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14912;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Ik(o,d,-1)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((ki(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Fe(j,d,g,g+1|0)|0}j=tn(296)|0;Xi(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Qa[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Fe(n,d,g,g+1|0)|0}g=tn(360)|0;ui(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Qa[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ma[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Id(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){b:do if(i){g=k;j=l;c=n;while(1){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=c;s=p;t=o;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[c>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}j=f[e>>2]|0;if(!j){w=37;break a}else{g=e;c=e}}}else{c=k;g=l;j=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(m|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=j;s=x;t=y;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[j>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[c>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{c=p;j=p}}}while(0);f[s>>2]=r;l=f[q>>2]|0;if(!l){w=37;break}else{k=q;m=t;n=q}}if((w|0)==37)return}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){b:do if(i){g=k;j=l;d=n;while(1){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=d;s=p;t=o;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[d>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}j=f[e>>2]|0;if(!j){w=37;break a}else{g=e;d=e}}}else{d=k;g=l;j=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(m|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=j;s=x;t=y;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[j>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[d>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{d=p;j=p}}}while(0);f[s>>2]=r;l=f[q>>2]|0;if(!l){w=37;break}else{k=q;m=t;n=q}}if((w|0)==37)return}function Kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=1;n=0;while(1){o=(f[l+(n<<2)>>2]|0)>>>0>(f[l+(m<<2)>>2]|0)>>>0?m:n;m=m+1|0;if(m>>>0>=j>>>0){k=o;break}else n=o}return k|0}if(j){j=f[a+1128>>2]|0;n=f[e>>2]|0;e=f[a+1140>>2]|0;m=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[n+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0

>>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[n+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[m+(b<<2)>>2]|0)+(1<>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=f[q>>2]|0;u=c;do{v=s+((X(u,p)|0)<<2)+(b<<2)|0;t=t+((f[v>>2]|0)>>>0>>0&1)|0;f[q>>2]=t;u=u+1|0}while((u|0)!=(g|0));u=h-t|0;f[q>>2]=u>>>0>>0?t:u}b=b+1|0;u=f[i>>2]|0}while(b>>>0>>0);r=u}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=c>>>0>>0;w=l?g:h;x=l?d:c}g=g+1|0;if(g>>>0>=r>>>0){y=w;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;r=a+1100|0;g=f[r>>2]|0;if((h|0)<4){i=y&15;b=4-h|0;f[c>>2]=b;h=i>>>b|g;f[r>>2]=h;b=a+1092|0;d=f[b>>2]|0;if((d|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[d>>2]=h;f[b>>2]=d+4}f[r>>2]=i<<32-(f[c>>2]|0);k=y;return k|0}i=g|y<<28>>>w;f[r>>2]=i;g=w+4|0;f[c>>2]=g;if((g|0)!=32){k=y;return k|0}g=a+1092|0;w=f[g>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[w>>2]=i;f[g>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){b:do if(h){e=j;i=k;c=m;while(1){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=c;r=o;s=n;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[c>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}i=f[d>>2]|0;if(!i){v=37;break a}else{e=d;c=d}}}else{c=j;e=k;i=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(l|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=i;r=w;s=x;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[i>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[c>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{c=o;i=o}}}while(0);f[r>>2]=q;k=f[p>>2]|0;if(!k){v=37;break}else{j=p;l=s;m=p}}if((v|0)==37)return}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=a+24|0;k=g;l=d;d=j;j=g;a:while(1){g=k;m=l;n=j;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(d|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=p;y=o}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[x+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=y;break c}}while((z|0)<(v|0));z=f[x>>2]|0;if(!z){s=x;break}else{w=x;x=z;y=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=o;d=q;j=o}}if((E|0)==38)return}function Nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((m|l|0)>-1){n=1;o=1}else{p=(l|0)<1&(m|0)<1;n=p?-1:(l|0)>0?1:-1;o=p?-1:(m|0)>0?1:-1}p=X(g,n)|0;q=X(g,o)|0;g=(l<<1)-p|0;f[c>>2]=g;l=(m<<1)-q|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;r=0-g|0;s=o}else{f[c>>2]=l;r=g;s=l}f[c>>2]=(s+p|0)/2|0;f[h>>2]=(r+q|0)/2|0;q=f[d>>2]|0;r=f[j>>2]|0;if((r|q|0)>-1){t=1;u=1}else{p=(q|0)<1&(r|0)<1;t=p?-1:(q|0)>0?1:-1;u=p?-1:(r|0)>0?1:-1}p=f[e>>2]|0;e=X(p,t)|0;s=X(p,u)|0;p=(q<<1)-e|0;f[d>>2]=p;q=(r<<1)-s|0;f[j>>2]=q;if((X(t,u)|0)>-1){u=0-q|0;f[d>>2]=u;v=0-p|0;w=u}else{f[d>>2]=q;v=p;w=q}q=(w+e|0)/2|0;f[d>>2]=q;e=(v+s|0)/2|0;f[j>>2]=e;x=q;y=e}else{x=i;y=k}if(!x)if(!y){z=x;A=y}else B=16;else if((x|0)<0&(y|0)<1){z=x;A=y}else B=16;if((B|0)==16){if(!x)C=(y|0)==0?0:(y|0)>0?3:1;else C=(x|0)>0?(y>>31)+2|0:(y|0)<1?0:3;y=f[c>>2]|0;x=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=x;f[C+4>>2]=0-y;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-y;f[C+4>>2]=0-x;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-x;f[C+4>>2]=y;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=y;f[C+4>>2]=x;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;z=D;A=E}E=(f[c>>2]|0)-z|0;f[a>>2]=E;z=(f[h>>2]|0)-A|0;A=a+4|0;f[A>>2]=z;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((z|0)>=0){G=z;f[A>>2]=G;return}G=(f[b+4>>2]|0)+z|0;f[A>>2]=G;return}function Od(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Fe(n,g,16277,16282)|0}n=La[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Fe(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Fe(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=h}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Fe(k,g,i,i+1|0)|0;q=f[m>>2]|0;r=h}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=t;r=h}r=La[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=r;r=q+16|0;t=f[r+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[q+4>>2];f[g>>2]=f[h>>2];Fe(q,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;q=f[m+4>>2]|0;if((q|0)>0|(q|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Fe(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=tn(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3740;m=k+12|0;f[m>>2]=3764;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3764;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3764;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;hh(h+8|0,s,g);Qa[f[(f[h>>2]|0)+8>>2]&127](h);Gf(j,h);Gf(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;dg(s,g)|0;f[g>>2]=3764;o=f[g+20>>2]|0;if(o|0)pr(o);o=f[g+8>>2]|0;if(o|0)pr(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3764;l=f[j+20>>2]|0;if(l|0)pr(l);l=f[j+8>>2]|0;if(l|0)pr(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];dg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;mg(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);pr(r)}f[v>>2]=3764;v=f[i+24>>2]|0;if(v|0)pr(v);v=f[i+12>>2]|0;if(v|0)pr(v);f[h>>2]=3764;v=f[h+20>>2]|0;if(v|0)pr(v);v=f[h+8>>2]|0;if(!v){u=e;return}pr(v);u=e;return}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ja,x=0,y=Ja,z=Ja,A=Ja;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)Cq(g);else{l=h<<2;m=tn(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;pj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);pr(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=mr(r)|0;q=mr(r)|0;r=c+48|0;o=f[r>>2]|0;p=c+40|0;g=f[p>>2]|0;a=f[c>>2]|0;eh(q|0,(f[a>>2]|0)+o|0,g|0)|0;eh(f[k>>2]|0,(f[a>>2]|0)+o|0,g|0)|0;g=r;r=f[g>>2]|0;o=f[g+4>>2]|0;g=p;p=f[g>>2]|0;a=f[g+4>>2]|0;g=f[c>>2]|0;eh(s|0,(f[g>>2]|0)+r|0,p|0)|0;l=f[c+80>>2]|0;a:do if(l>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=En(p|0,a|0,c|0,0)|0;t=go(m|0,I|0,r|0,o|0)|0;eh(q|0,(f[g>>2]|0)+t|0,p|0)|0;c=c+1|0;if(c>>>0>=l>>>0)break a}}c=f[k>>2]|0;t=1;do{m=En(p|0,a|0,t|0,0)|0;v=go(m|0,I|0,r|0,o|0)|0;eh(q|0,(f[g>>2]|0)+v|0,p|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0>>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;z=$(n[j>>2]);k=0;while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}nr(q);nr(s);i=1;u=e;return i|0}function Rd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a+8|0;Mh(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=f[g>>2]|0;p=h;while(1){h=b+(p<<2)|0;q=c+(p<<2)|0;if((o|0)>0){r=o;s=0;t=h+(d<<2)|0;while(1){if((r|0)>0){u=0;do{v=f[t+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[h+(s<<2)>>2]|0)-(f[z+(s<<2)>>2]|0)|0;w=q+(s<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}s=s+1|0;w=f[g>>2]|0;if((s|0)>=(w|0)){C=w;break}else{r=w;t=z}}}else C=o;p=p-e|0;if((p|0)<=0){D=C;break}else o=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=mr(C)|0;pj(e|0,0,C|0)|0;if((D|0)<=0){nr(e);return 1}C=a+16|0;o=a+32|0;p=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=D;D=0;n=e;while(1){if((a|0)>0){l=0;do{j=f[n+(l<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[o>>2]|0;f[k+(l<<2)>>2]=y;E=k}else{k=f[p>>2]|0;y=f[o>>2]|0;f[y+(l<<2)>>2]=(j|0)<(k|0)?k:j;E=y}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[o>>2]|0;l=(f[b+(D<<2)>>2]|0)-(f[F+(D<<2)>>2]|0)|0;y=c+(D<<2)|0;f[y>>2]=l;if((l|0)>=(f[z>>2]|0)){if((l|0)>(f[m>>2]|0)){G=l-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+l|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}D=D+1|0;a=f[g>>2]|0;if((D|0)>=(a|0))break;else n=F}nr(e);return 1}function Sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=v;z=t}else{m=b;return m|0}}else{y=p;z=c}c=y-(b+(j<<2))>>2;t=b+(c<<2)|0;if(t>>>0

>>0){v=(p+(0-c<<2)+~r|0)>>>2;r=y;s=t;while(1){f[r>>2]=f[s>>2];s=s+4|0;if(s>>>0>=p>>>0)break;else r=r+4|0}f[o>>2]=y+(v+1<<2)}if(c|0){c=t;t=y;do{c=c+-4|0;t=t+-4|0;f[t>>2]=f[c>>2]}while((c|0)!=(b|0))}c=z;if((k|0)==(c|0)){m=b;return m|0}else{A=k;B=b}while(1){f[B>>2]=f[A>>2];A=A+4|0;if((A|0)==(c|0)){m=b;break}else B=B+4|0}return m|0}B=(q-g>>2)+j|0;if(B>>>0>1073741823)Cq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0>>0?B:g):1073741823;g=b;B=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{C=tn(n<<2)|0;break}else C=0;while(0);j=C+(B<<2)|0;c=C+(n<<2)|0;if((k|0)==(l|0))D=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}D=j+(n<<2)|0}n=j+(0-B<<2)|0;if((h|0)>0)eh(n|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){eh(D|0,b|0,h|0)|0;E=D+(h>>>2<<2)|0}else E=D;f[a>>2]=n;f[o>>2]=E;f[d>>2]=c;if(!e){m=j;return m|0}pr(e);m=j;return m|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;ai(f[i>>2]|0,b)|0;Gn(h);gl(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=j;o=k;p=1;while(1){if(o){q=0;r=p;while(1){s=(f[n>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;v=m;w=f[v>>2]|0;j=f[v+4>>2]|0;if((j|0)>0|(j|0)==0&w>>>0>0){x=j;y=w}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;w=m;x=f[w+4>>2]|0;y=f[w>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Dj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(h);u=c;return 1}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)Cq(h);k=i;if(j>>>0<=g>>>0)Cq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Sg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{dh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{hg(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Sg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=0;i=d;m=g;b:while(1){n=f[i>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=o;o=i;s=m;while(1){f[o>>2]=r;if((s|0)==(a|0)){t=a;break}u=s+-4|0;r=f[u>>2]|0;if(h>>>0<=r>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(r<<3)>>2]|0)>>>0){t=s;break}else{v=s;s=u;o=v}}f[t>>2]=n;o=k+1|0;if((o|0)==8){w=0;x=(i+4|0)==(b|0);break a}else y=o}else y=k;o=i+4|0;if((o|0)==(b|0)){w=1;x=0;break a}else{s=i;k=y;i=o;m=s}}if((p|0)==14)Cq(e);else if((p|0)==16)Cq(e);else if((p|0)==20)Cq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;ai(f[i>>2]|0,b)|0;Gn(h);gl(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=j;o=k;p=1;while(1){if(o){q=0;r=p;while(1){s=(f[n>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;v=m;w=f[v>>2]|0;j=f[v+4>>2]|0;if((j|0)>0|(j|0)==0&w>>>0>0){x=j;y=w}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;w=m;x=f[w+4>>2]|0;y=f[w>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Dj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(h);u=c;return 1}function Wd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)nr(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=n;x=p}else{y=g;Cq(y)}while(1){f[j>>2]=f[w+(x<<2)>>2];f[i>>2]=f[j>>2];yc(a,i,b,x);g=X(x,e)|0;p=b+(g<<2)|0;n=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=g;g=0;z=f[k>>2]|0;while(1){if((m|0)>0){A=0;do{B=f[z+(A<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;A=(f[p+(g<<2)>>2]|0)-(f[F+(g<<2)>>2]|0)|0;C=n+(g<<2)|0;f[C>>2]=A;if((A|0)>=(f[s>>2]|0)){if((A|0)>(f[v>>2]|0)){G=A-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+A|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}g=g+1|0;m=f[l>>2]|0;if((g|0)>=(m|0))break;else z=F}}x=x+-1|0;if((x|0)<=-1){H=5;break}z=f[d>>2]|0;w=f[z>>2]|0;if((f[z+4>>2]|0)-w>>2>>>0<=x>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)Cq(y);return 0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)nr(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=n;x=p}else{y=g;Cq(y)}while(1){f[j>>2]=f[w+(x<<2)>>2];f[i>>2]=f[j>>2];xc(a,i,b,x);g=X(x,e)|0;p=b+(g<<2)|0;n=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=g;g=0;z=f[k>>2]|0;while(1){if((m|0)>0){A=0;do{B=f[z+(A<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;A=(f[p+(g<<2)>>2]|0)-(f[F+(g<<2)>>2]|0)|0;C=n+(g<<2)|0;f[C>>2]=A;if((A|0)>=(f[s>>2]|0)){if((A|0)>(f[v>>2]|0)){G=A-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+A|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}g=g+1|0;m=f[l>>2]|0;if((g|0)>=(m|0))break;else z=F}}x=x+-1|0;if((x|0)<=-1){H=5;break}z=f[d>>2]|0;w=f[z>>2]|0;if((f[z+4>>2]|0)-w>>2>>>0<=x>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)Cq(y);return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Ja,t=Ja,u=Ja,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=tn(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|s>$(t*u)){r=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;j=~~$(W($(s/u)))>>>0;Di(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=La[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0>>0?(q=o+(k<<2)|0,(p|0)!=(q|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{zi(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=ah(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0>>0?(r=m+(d<<2)|0,(n|0)!=(r|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{zi(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Nf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((v|0)==(i|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);pr(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}function _d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Qc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function $d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Rc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Sc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function be(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Tc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Uc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Vc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=2097152;if(d){d=2097152;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Bf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1} +function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Wc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=1048576;if(d){d=1048576;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Cf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Xc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=262144;if(d){d=262144;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Df(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Yc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=131072;if(d){d=131072;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Ef(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Zc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=32768;if(d){d=32768;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Hf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));_c(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));$c(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));ad(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));bd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));cd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));dd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));ed(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));fd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=f[e>>2]|0;n=c;o=e;p=h}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=r>>>(g+u|0)|f[s>>2]&~(-1>>>(32-w|0));f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=x;n=v;o=e;p=h-q|0}q=32-m|0;h=-1<31){m=~h;e=f[d>>2]|0;v=p+-32|0;x=v>>>5;c=x+1|0;w=v-(x<<5)|0;x=f[e>>2]|0;v=e;s=p;u=n;while(1){g=f[u>>2]|0;r=x&m;f[v>>2]=r;f[v>>2]=g<>2]|r;v=v+4|0;x=f[v>>2]&h|g>>>q;f[v>>2]=x;s=s+-32|0;if((s|0)<=31)break;else u=u+4|0}u=n+(c<<2)|0;f[b>>2]=u;f[d>>2]=e+(c<<2);y=u;z=w}else{y=n;z=p}if((z|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[y>>2]&-1>>>(32-z|0);y=(q|0)<(z|0)?q:z;n=f[d>>2]|0;w=f[n>>2]&~(-1<>2]&-1>>>(q-y|0));f[n>>2]=w;f[n>>2]=w|p<>2];w=(f[o>>2]|0)+y|0;q=n+(w>>>5<<2)|0;f[d>>2]=q;f[o>>2]=w&31;w=z-y|0;if((w|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[q>>2]=f[q>>2]&~(-1>>>(32-w|0))|p>>>y;f[o>>2]=w;i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Fe(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Fe(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Fe(p,e,i,i+1|0)|0;u=d;return 1}function se(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=n;y=p}else{z=l;Cq(z)}while(1){f[j>>2]=f[x+(y<<2)>>2];f[i>>2]=f[j>>2];ob(k,i,b,y)|0;l=X(y,e)|0;p=b+(l<<2)|0;n=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=l;l=0;a=o;while(1){if((m|0)>0){A=0;do{B=f[a+(A<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;A=(f[p+(l<<2)>>2]|0)-(f[F+(l<<2)>>2]|0)|0;C=n+(l<<2)|0;f[C>>2]=A;if((A|0)>=(f[t>>2]|0)){if((A|0)>(f[w>>2]|0)){G=A-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+A|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}l=l+1|0;m=f[g>>2]|0;if((l|0)>=(m|0))break;else a=F}}y=y+-1|0;if((y|0)<=-1){H=3;break}a=f[d>>2]|0;x=f[a>>2]|0;if((f[a+4>>2]|0)-x>>2>>>0<=y>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)Cq(z);return 0}function te(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=n;y=p}else{z=l;Cq(z)}while(1){f[j>>2]=f[x+(y<<2)>>2];f[i>>2]=f[j>>2];nb(k,i,b,y)|0;l=X(y,e)|0;p=b+(l<<2)|0;n=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=l;l=0;a=o;while(1){if((m|0)>0){A=0;do{B=f[a+(A<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;A=(f[p+(l<<2)>>2]|0)-(f[F+(l<<2)>>2]|0)|0;C=n+(l<<2)|0;f[C>>2]=A;if((A|0)>=(f[t>>2]|0)){if((A|0)>(f[w>>2]|0)){G=A-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+A|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}l=l+1|0;m=f[g>>2]|0;if((l|0)>=(m|0))break;else a=F}}y=y+-1|0;if((y|0)<=-1){H=3;break}a=f[d>>2]|0;x=f[a>>2]|0;if((f[a+4>>2]|0)-x>>2>>>0<=y>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)Cq(z);return 0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)Cq(a);p=k<<6;k=b+31&-32;si(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;qm(q|0,k|0,p<<2|0)|0;k=r-(p<<5)|0;r=q+(p<<2)|0;s=r;if((k|0)>0){t=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~t|f[l+(p<<2)>>2]&t;v=s;w=k}else{v=s;w=0}}else{v=q;w=0}f[g>>2]=v;f[g+4>>2]=w;w=g;g=f[w>>2]|0;v=f[w+4>>2]|0;w=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=w;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(w|0)pr(w);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=x;A=v;B=m}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;pj(z|0,-1,b<<2|0)|0;z=B-(b<<5)|0;B=A+(b<<2)|0;if(!z){u=d;return}f[B>>2]=f[B>>2]|-1>>>(32-z|0);u=d;return}else{if(i){C=x;D=v;E=m}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;pj(C|0,0,i<<2|0)|0;C=E-(i<<5)|0;E=D+(i<<2)|0;if(!C){u=d;return}f[E>>2]=f[E>>2]&~(-1>>>(32-C|0));u=d;return}}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=f[e>>2]|0;o=c;p=e;q=i}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=w;o=u;p=c;q=i-r|0}r=32-n|0;i=-1<31){n=~i;c=o;u=q;do{w=f[c>>2]|0;v=f[d>>2]|0;e=f[v>>2]&n;f[v>>2]=e;f[v>>2]=w<>2]|e;e=v+4|0;f[d>>2]=e;f[e>>2]=f[e>>2]&i|w>>>r;u=u+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((u|0)>31);x=c;y=q&31}else{x=o;y=q}if((y|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}q=f[x>>2]&-1>>>(32-y|0);x=(r|0)<(y|0)?r:y;o=f[d>>2]|0;c=f[o>>2]&~(-1<>2]&-1>>>(r-x|0));f[o>>2]=c;f[o>>2]=c|q<>2];c=(f[p>>2]|0)+x|0;r=o+(c>>>5<<2)|0;f[d>>2]=r;f[p>>2]=c&31;c=y-x|0;if((c|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[r>>2]=f[r>>2]&~(-1>>>(32-c|0))|q>>>x;f[p>>2]=c;j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function we(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=g;g=0;while(1){f[d>>2]=(g>>>0)/3|0;f[c>>2]=f[d>>2];if(!(ak(a,c)|0)?(m=f[e>>2]|0,(f[(f[m+12>>2]|0)+(g<<2)>>2]|0)==-1):0){n=g+1|0;o=((n>>>0)%3|0|0)==0?g+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[m>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){m=f[k>>2]|0;n=f[l>>2]|0;if((m|0)==(n<<5|0)){if((m+1|0)<0){q=11;break}r=n<<6;n=m+32&-32;si(j,m>>>0<1073741823?(r>>>0>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=m;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=o;o=g;while(1){f[r>>2]=m;n=o+1|0;a:do if((o|0)!=-1?(v=((n>>>0)%3|0|0)==0?o+-2|0:n,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=-1;C=y}else{B=f[(f[w>>2]|0)+(A<<2)>>2]|0;C=y}}else{B=-1;C=-1}while(0);r=t+(B<<2)|0;if((f[r>>2]|0)!=-1)break;else o=C}}}}o=g+1|0;if(o>>>0>=h>>>0){q=3;break}a=f[e>>2]|0;g=o}if((q|0)==3){u=b;return 1}else if((q|0)==11)Cq(j);return 0}function xe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Ej(d)|0;if(l>>>0>4294967279)Cq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=tn(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){eh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Ej(e)|0;if(l>>>0>4294967279)Cq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=tn(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){eh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Ej(d)|0;if(l>>>0>4294967279)Cq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=tn(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){eh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Ej(e)|0;if(l>>>0>4294967279)Cq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=tn(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){eh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;un(c,i,j);if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);k=1;u=a;return k|0}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];f[a+132>>2]=f[c+132>>2];return}function ze(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Qh(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0>28){q=0;r=g}else{f[k>>2]=p;c=1<>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))s=g;else{g=d+84|0;c=d+68|0;t=d+48|0;v=d+40|0;w=p;p=0;x=0;while(1){y=f[w+(x<<2)>>2]|0;if(!(b[g>>0]|0))z=f[(f[c>>2]|0)+(y<<2)>>2]|0;else z=y;y=t;A=f[y>>2]|0;B=f[y+4>>2]|0;y=v;C=f[y>>2]|0;D=En(C|0,f[y+4>>2]|0,z|0,0)|0;y=go(D|0,I|0,A|0,B|0)|0;eh(j|0,(f[f[d>>2]>>2]|0)+y|0,C|0)|0;Jf(k,j,l,m);f[o+(p<<2)>>2]=f[l>>2];f[o+((p|1)<<2)>>2]=f[m>>2];x=x+1|0;w=f[e>>2]|0;if(x>>>0>=(f[n>>2]|0)-w>>2>>>0)break;else p=p+2|0}s=f[i>>2]|0}f[i>>2]=0;q=s;r=0}f[a>>2]=q;f[i>>2]=0;if(!r){u=h;return}i=r+88|0;q=f[i>>2]|0;f[i>>2]=0;if(q|0){i=f[q+8>>2]|0;if(i|0){a=q+12|0;if((f[a>>2]|0)!=(i|0))f[a>>2]=i;pr(i)}pr(q)}q=f[r+68>>2]|0;if(q|0){i=r+72|0;a=f[i>>2]|0;if((a|0)!=(q|0))f[i>>2]=a+(~((a+-4-q|0)>>>2)<<2);pr(q)}q=r+64|0;a=f[q>>2]|0;f[q>>2]=0;if(a|0){q=f[a>>2]|0;if(q|0){i=a+4|0;if((f[i>>2]|0)!=(q|0))f[i>>2]=q;pr(q)}pr(a)}pr(r);u=h;return}function Ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=h;j=c;do{f[i>>2]=-1;Qk(i+4|0);b[i+100>>0]=1;k=i+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;i=(f[g>>2]|0)+136|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/136|0;h=i+c|0;if(h>>>0>31580641)Cq(a);k=(e-j|0)/136|0;j=k<<1;e=k>>>0<15790320?(j>>>0>>0?h:j):31580641;do if(e)if(e>>>0>31580641){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{l=tn(e*136|0)|0;break}else l=0;while(0);j=l+(i*136|0)|0;i=j;h=l+(e*136|0)|0;e=j;l=c;c=i;do{f[e>>2]=-1;Qk(e+4|0);b[e+100>>0]=1;k=e+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;e=c+136|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=f[g>>2]|0;if((e|0)==(l|0)){m=i;n=l;o=l}else{k=j;j=e;e=i;do{j=j+-136|0;ye(k+-136|0,j);k=e+-136|0;e=k}while((j|0)!=(l|0));m=e;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);pr(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);pr(o)}Ki(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;pr(n);return}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;ai((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=k;k=0;do{s=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[r+(k<<2)>>2]<<2)>>2]|0;b[h>>0]=f[s+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[s+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[s+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[s+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}ai(f[s+60>>2]|0,c)|0;k=k+1|0;r=f[i>>2]|0}while(k>>>0<(f[j>>2]|0)-r>>2>>>0);u=d;return 1}function Ce(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Qh(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;bq(i);fp(i,$(n[c+20>>2]),(1<>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){nr(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=En(z|0,f[j+4>>2]|0,x|0,0)|0;j=go(A|0,I|0,m|0,y|0)|0;eh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0>>0);nr(g);u=h;return}while(1){k=f[e+(w<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=En(j|0,f[k+4>>2]|0,B|0,0)|0;k=go(y|0,I|0,x|0,z|0)|0;eh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=v;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($($(f[c>>2]|0)*F)+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}w=w+1|0;if(w>>>0>=t>>>0)break;else v=l+v|0}nr(g);u=h;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;Kp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;Kp(k);l=b+4|0;if((a|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+8;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(a,g,e)}l=b+28|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+32;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+20|0;b=c;c=m;m=0;while(1){o=f[(f[c+(m<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Bd(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=m;w=c;x=b}}else{v=m;w=c;x=b}m=v+1|0;f[j>>2]=m;if((m|0)>=(x-w>>2|0))break;else{b=x;c=w}}u=d;return}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;ai(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}function Fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=o;u=r;while(1){b[t>>0]=b[u>>0]|0;u=u+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((u|0)==(e|0)){s=v;break}else t=v}}if((q|0)>0){w=s;x=r}else{k=c;return k|0}}else{w=o;x=e}r=w-(c+j)|0;s=c+r|0;if(s>>>0>>0){q=w;t=s;do{b[q>>0]=b[t>>0]|0;t=t+1|0;q=(f[n>>2]|0)+1|0;f[n>>2]=q}while((t|0)!=(o|0))}if(r|0)qm(w+(0-r)|0,c|0,r|0)|0;if((x|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(x|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)Cq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0>>0?z:h):2147483647;h=c;if(!m)A=0;else A=tn(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=g;C=i}else{g=z;m=d;d=i;do{b[g>>0]=b[m>>0]|0;g=d+1|0;d=g;m=m+1|0}while((m|0)!=(e|0));B=f[a>>2]|0;C=d}d=h-B|0;e=z+(0-d)|0;if((d|0)>0)eh(e|0,B|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=C;eh(h|0,c|0,d|0)|0;D=f[a>>2]|0;E=h+d|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=E;f[l>>2]=j;if(!D){k=z;return k|0}pr(D);k=z;return k|0}function Ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=tn(40)|0;No(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=tn(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14756;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Hh(h,g)|0)!=0):0)t=Ik(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Ik(i,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=tn(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));No(c);f[c>>2]=2560;f[c+40>>2]=1232;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=tn(64)|0;Gm(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=tn(36)|0;Om(c);j=c;k=j;f[a>>2]=k;u=e;return}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=f[e+8>>2]|0;c=g+12|0;if(b[c>>0]|0){h=23;break}i=g+8|0;j=f[i>>2]|0;d=f[j>>2]|0;if((d|0)==(g|0)){k=f[j+4>>2]|0;if(!k){h=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{h=7;break}}else{if(!d){h=16;break}l=d+12|0;if(!(b[l>>0]|0))m=l;else{h=16;break}}b[c>>0]=1;c=(j|0)==(a|0);b[j+12>>0]=c&1;b[m>>0]=1;if(c){h=23;break}else e=j}if((h|0)==7){if((f[g>>2]|0)==(e|0)){n=g;o=j}else{m=g+4|0;a=f[m>>2]|0;c=f[a>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[i>>2]|0}f[a+8>>2]=p;p=f[i>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=a;f[a>>2]=g;f[i>>2]=a;n=a;o=f[a+8>>2]|0}b[n+12>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;a=n+4|0;p=f[a>>2]|0;f[o>>2]=p;if(p|0)f[p+8>>2]=o;p=o+8|0;f[n+8>>2]=f[p>>2];c=f[p>>2]|0;f[((f[c>>2]|0)==(o|0)?c:c+4|0)>>2]=n;f[a>>2]=o;f[p>>2]=n;return}else if((h|0)==16){if((f[g>>2]|0)==(e|0)){e=f[g>>2]|0;n=e+4|0;p=f[n>>2]|0;f[g>>2]=p;if(!p)q=j;else{f[p+8>>2]=g;q=f[i>>2]|0}f[e+8>>2]=q;q=f[i>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=e;f[n>>2]=g;f[i>>2]=e;r=e;s=f[e+8>>2]|0}else{r=g;s=j}b[r+12>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;g=f[j>>2]|0;f[r>>2]=g;if(g|0)f[g+8>>2]=s;g=s+8|0;f[j+8>>2]=f[g>>2];r=f[g>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[g>>2]=j;return}else if((h|0)==23)return}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Ji(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Ji(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=j;l=d}else{k=j;l=d}break}default:{k=g;l=0}}if((k+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=k;k=0;while(1){k=g+-48+(k*10|0)|0;d=f[c>>2]|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;o=h[d>>0]|0}else o=Ji(a)|0;if(!((o+-48|0)>>>0<10&(k|0)<214748364))break;else g=o}g=((k|0)<0)<<31>>31;if((o+-48|0)>>>0<10){d=k;j=g;b=o;while(1){i=En(d|0,j|0,10,0)|0;p=I;q=go(b|0,((b|0)<0)<<31>>31|0,-48,-1)|0;r=go(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Ji(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){d=r;j=p;b=s}else{t=r;u=p;v=s;break}}}else{t=k;u=g;v=o}o=f[e>>2]|0;if((v+-48|0)>>>0<10){v=o;while(1){g=f[c>>2]|0;if(g>>>0>>0){f[c>>2]=g+1;w=v;x=h[g>>0]|0}else{g=Ji(a)|0;w=f[e>>2]|0;x=g}if((x+-48|0)>>>0<10)v=w;else{y=w;break}}}else y=o;if(y|0)f[c>>2]=(f[c>>2]|0)+-1;c=(l|0)!=0;l=io(0,0,t|0,u|0)|0;m=c?I:u;n=c?l:t}I=m;return n|0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=n;i=-1;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=q;i=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0}while(0);if(c){c=(f[a+84>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(i<<2)>>2]|0;d=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(!g){g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)==-1){s=-1;t=h}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=h}}else{s=-1;t=-1}if((s|0)==(i|0)){u=r;return u|0}h=f[a+84>>2]|0;a=s;s=t;t=r;while(1){r=h+(a>>>5<<2)|0;f[r>>2]=f[r>>2]|1<<(a&31);r=t+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){d=f[b>>2]|0;q=f[d+12>>2]|0;p=c;while(1){c=f[q+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}q=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((q|0)==-1){v=-1;w=p}else{v=f[(f[d>>2]|0)+(q<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(i|0)){u=r;break}else{a=v;s=w;t=r}}return u|0}function Ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Qh(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;bq(h);fp(h,$(n[c+20>>2]),(1<>>0>1073741823?-1:j<<2)|0;if(!e){nr(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=En(y|0,f[v+4>>2]|0,t|0,0)|0;v=go(z|0,I|0,w|0,x|0)|0;eh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));nr(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=En(v|0,f[i+4>>2]|0,A|0,0)|0;i=go(x|0,I|0,t|0,y|0)|0;eh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($($(f[c>>2]|0)*E)+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=j+r|0}nr(k);u=g;return}function Le(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;nl(n);o=a+1088|0;nl(o);p=a+1068|0;nl(p);q=a+1036|0;Dj(q);r=a+12|0;Nh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+1108|0;nl(n);o=a+1088|0;nl(o);p=a+1068|0;nl(p);q=a+1036|0;Dj(q);r=a+12|0;Nh(r);return}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Na[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Na[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)Cq(e);else{l=a<<2;m=tn(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;pj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);pr(q)}j=1;u=d;return j|0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Oh(a+12|0);Gn(a+1036|0);Ho(a+1068|0);Ho(a+1088|0);Ho(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+1164|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+1176|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Oe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=o;r=o;o=n;n=0;while(1){s=f[c+(n<<2)>>2]|0;t=f[k>>2]|0;if(t-o>>2>>>0>s>>>0){v=q;w=r}else{x=s+1|0;f[h>>2]=0;y=t-o>>2;z=o;A=t;if(x>>>0<=y>>>0)if(x>>>0>>0?(t=z+(x<<2)|0,(A|0)!=(t|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=q}else B=q;else{zh(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(s<<2)|0;x=f[y>>2]|0;o=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,s>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=s;C=0.0}else C=0.0;else{D=+(x|0);C=D*+Ug(D)}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=D*+Ug(D)-C;p[a>>3]=+p[a>>3]+E;n=n+1|0;if((n|0)==(d|0))break;else{q=v;r=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Qe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=n;r=m;s=k}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Fe(j,d,g,g+1|0)|0;q=f[k>>2]|0;r=f[l>>2]|0;s=k}a:do if((q|0)!=(r|0)){k=a+4|0;l=q;while(1){g=f[l>>2]|0;l=l+4|0;if(!(Na[f[(f[g>>2]|0)+8>>2]&31](g,a,f[k>>2]|0)|0)){h=0;break}if((l|0)==(r|0))break a}u=c;return h|0}while(0);if(!(sc(a)|0)){h=0;u=c;return h|0}r=a+32|0;q=f[r>>2]|0;l=a+36|0;k=f[l>>2]|0;b:do if((q|0)!=(k|0)){g=q;do{if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(k|0));if((t|0)==18){u=c;return h|0}g=f[r>>2]|0;d=f[l>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[s>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ma[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)Cq(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=d+12|0;f[k>>2]=m+(l<<2);l=f[b>>2]|0;f[b>>2]=0;f[g>>2]=l;f[h>>2]=g+4;g=f[a>>2]|0;l=f[e>>2]|0;if((l|0)==(g|0)){n=i;o=f[i>>2]|0;p=g;q=l;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ii(d);u=c;return}b=f[i>>2]|0;m=l;do{m=m+-4|0;l=f[m>>2]|0;f[m>>2]=0;f[b+-4>>2]=l;b=(f[i>>2]|0)+-4|0;f[i>>2]=b}while((m|0)!=(g|0));n=i;o=b;p=f[a>>2]|0;q=f[e>>2]|0;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ii(d);u=c;return}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Gn(a+12|0);Ho(a+44|0);Ho(a+64|0);Ho(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+140|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+152|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Ho(a+12|0);Ho(a+32|0);Ho(a+52|0);Ho(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+128|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+140|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=tn(40)|0;e=d+16|0;nj(e,c);nj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0>>0?n:j;if((l|0)!=0?(o=Yk(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;He(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;He(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function Ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+32|0;e=d+12|0;g=d;h=rl(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)Cq(e);else{n=tn(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);pj(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;f[c>>2]=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2];s=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=s;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=f[c>>2];f[o+(q*12|0)+8>>2]=s;q=q+1|0}while(q>>>0>>0)}while(0);Ij(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);pr(a)}u=d;return}function We(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3808;ti(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}hj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+140>>2]|0;if(b|0)pr(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;pr(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)pr(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0)pr(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ei(a);pr(a);return}function Xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+140|0;c=f[b>>2]|0;if(c|0){d=a+144|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;nl(n);o=a+52|0;nl(o);p=a+32|0;nl(p);q=a+12|0;nl(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+72|0;nl(n);o=a+52|0;nl(o);p=a+32|0;nl(p);q=a+12|0;nl(q);return}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(k|0)!=(j|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else zh(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(rb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=i;i=0;while(1){f[d>>2]=f[a+(i<<2)>>2];f[c>>2]=f[d>>2];i=i+1|0;if(!(rb(e,c)|0)){n=0;o=15;break}g=f[l>>2]|0;a=f[g>>2]|0;if(i>>>0>=(f[g+4>>2]|0)-a>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function Ze(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+152|0;c=f[b>>2]|0;if(c|0){d=a+156|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;nl(n);o=a+64|0;nl(o);p=a+44|0;nl(p);q=a+12|0;Dj(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+84|0;nl(n);o=a+64|0;nl(o);p=a+44|0;nl(p);q=a+12|0;Dj(q);return}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function $e(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3608;sj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}hj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+140>>2]|0;if(b|0)pr(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;pr(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)pr(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0)pr(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ei(a);pr(a);return}function af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=tn(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3784;f[j+12>>2]=3764;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3764;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3764;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;hh(h+8|0,m,g);Qa[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];dg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Qg(j,i);f[a>>2]=o;Mi(i);f[h>>2]=3764;i=f[h+20>>2]|0;if(i|0)pr(i);i=f[h+8>>2]|0;if(!i){u=e;return}pr(i);u=e;return}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}Dg(a+12|0);d=a+1068|0;Rm(d);m=a+1088|0;Rm(m);k=a+1108|0;Rm(k);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];cb(a,i,h);h=0;do{hd(a+12+(h<<5)|0,e);h=h+1|0}while((h|0)!=32);hd(a+1036|0,e);Ag(d,e);Ag(m,e);Ag(k,e);u=g;return 1}function df(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}Dg(a+12|0);d=a+1068|0;Rm(d);m=a+1088|0;Rm(m);k=a+1108|0;Rm(k);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];eb(a,i,h);h=0;do{hd(a+12+(h<<5)|0,e);h=h+1|0}while((h|0)!=32);hd(a+1036|0,e);Ag(d,e);Ag(m,e);Ag(k,e);u=g;return 1}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,h,h+4|0)|0}Gn(i);gl(i);if((f[h>>2]|0)>0){k=a+56|0;l=0;m=1;do{n=m;m=(f[(f[k>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)!=0;dj(i,n^m^1);l=l+1|0}while((l|0)<(f[h>>2]|0))}hd(i,b);f[g>>2]=f[a+12>>2];h=j;l=f[h>>2]|0;m=f[h+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=m;p=l}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;l=j;o=f[l+4>>2]|0;p=f[l>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Dj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(i);u=c;return 1}function ff(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=tn(96)|0;xl(j,c);f[h>>2]=j;j=qh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;pr(h)}pr(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);pr(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;pr(k)}pr(l)}pr(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){zh(m,h-q|0,6376);break}if(h>>>0>>0?(q=p+(h<<2)|0,(r|0)!=(q|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}zj(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function gf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)nr(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=o;w=q}else{x=g;Cq(x)}while(1){f[k>>2]=f[v+(w<<2)>>2];f[h>>2]=f[k>>2];wc(a,h,b,w);g=X(w,e)|0;q=b+(g<<2)|0;o=f[l>>2]|0;n=c+(g<<2)|0;g=f[q+4>>2]|0;y=f[o>>2]|0;z=f[o+4>>2]|0;f[i>>2]=f[q>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Nd(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];w=w+-1|0;if((w|0)<=-1){A=5;break}n=f[m>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)Cq(x);return 0}function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;pr(a)}if((b[s+11>>0]|0)<0)pr(f[s>>2]|0);pr(d);return c|0}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+56|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(h*12|0)>>2]|0;s=r-p|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((m|0)==(n|0)){Ti(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[m>>2]=t;t=m+4|0;f[e>>2]=t;v=t;w=n}t=f[q+(h*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ti(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(h*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ti(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=h+1|0;if(t>>>0>=j>>>0)break;m=f[e>>2]|0;n=f[i>>2]|0;o=f[g>>2]|0;h=t;p=r}k=f[c>>2]|0;l=f[e>>2]|0}Hc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);pr(a);u=b;return 1}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,h,h+4|0)|0}Gn(i);gl(i);if((f[h>>2]|0)>0){k=a+76|0;l=0;m=1;do{n=m;m=(f[(f[k>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)!=0;dj(i,n^m^1);l=l+1|0}while((l|0)<(f[h>>2]|0))}hd(i,b);f[g>>2]=f[a+12>>2];h=j;l=f[h>>2]|0;m=f[h+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=m;p=l}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;l=j;o=f[l+4>>2]|0;p=f[l>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Dj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(i);u=c;return 1}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=tn(76)|0;j=tn(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=4052;f[j+8>>2]=k;f[h>>2]=j;vl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Ng(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Qa[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Qa[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ti(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0>>0?(g=m+(i<<2)|0,(p|0)!=(g|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{zh(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function mf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)nr(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=o;w=q}else{x=g;Cq(x)}while(1){f[k>>2]=f[v+(w<<2)>>2];f[h>>2]=f[k>>2];vc(a,h,b,w);g=X(w,e)|0;q=b+(g<<2)|0;o=f[l>>2]|0;n=c+(g<<2)|0;g=f[q+4>>2]|0;y=f[o>>2]|0;z=f[o+4>>2]|0;f[i>>2]=f[q>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Nd(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];w=w+-1|0;if((w|0)<=-1){A=5;break}n=f[m>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)Cq(x);return 0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){m=c;p=f[m+4>>2]|0;q=j;f[q>>2]=f[m>>2];f[q+4>>2]=p;o=o+-1|0;if(!o)break;else j=j+8|0}}if(!l){j=h+(b<<3)|0;if((n|0)==(j|0))return;else{r=i;s=n+(~((n+-8-j|0)>>>3)<<3)|0;break}}else{j=b-k|0;o=n;p=j;while(1){q=c;m=f[q+4>>2]|0;t=o;f[t>>2]=f[q>>2];f[t+4>>2]=m;p=p+-1|0;if(!p)break;else o=o+8|0}r=i;s=n+(j<<3)|0;break}}else{o=g;if(!g)u=e;else{p=a+4|0;k=f[p>>2]|0;if((k|0)!=(h|0))f[p>>2]=k+(~((k+-8-g|0)>>>3)<<3);pr(o);f[d>>2]=0;f[p>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)Cq(a);p=u>>2;o=u>>3>>>0<268435455?(p>>>0>>0?b:p):536870911;if(o>>>0>536870911)Cq(a);p=tn(o<<3)|0;k=a+4|0;f[k>>2]=p;f[a>>2]=p;f[d>>2]=p+(o<<3);o=p;l=b;while(1){m=c;t=f[m+4>>2]|0;q=o;f[q>>2]=f[m>>2];f[q+4>>2]=t;l=l+-1|0;if(!l)break;else o=o+8|0}r=k;s=p+(b<<3)|0}while(0);f[r>>2]=s;return}function of(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=26;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=26;break}l=f[l>>2]|0;if(!l){j=0;p=26;break}}if((p|0)==26)return j|0}else q=a;while(1){a=f[q+4>>2]|0;l=(a|0)==(b|0);if(!l){if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=26;break}if(l)p=22}else p=22;if(((((p|0)==22?(p=0,l=q+8|0,(d[l>>1]|0)==c<<16>>16):0)?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=26;break}q=f[q>>2]|0;if(!q){j=0;p=26;break}}if((p|0)==26)return j|0;return 0}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=26;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=26;break}l=f[l>>2]|0;if(!l){j=0;p=26;break}}if((p|0)==26)return j|0}else q=a;while(1){a=f[q+4>>2]|0;l=(a|0)==(c|0);if(!l){if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=26;break}if(l)p=22}else p=22;if(((((p|0)==22?(p=0,l=q+8|0,(b[l>>0]|0)==d<<24>>24):0)?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=26;break}q=f[q>>2]|0;if(!q){j=0;p=26;break}}if((p|0)==26)return j|0;return 0}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=0;do{i=h;h=h+1|0;j=a+40+(i*12|0)+4|0;ai(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);gl(d);k=(f[j>>2]|0)-h|0;if((k|0)>-1){j=a+40+(i*12|0)|0;l=k;do{k=0;while(1){m=k+l|0;dj(d,(f[(f[j>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((k|0)<(i|0))k=k+1|0;else break}l=l-h|0}while((l|0)>-1)}hd(d,b);Dj(d)}}while((h|0)<4);f[g>>2]=f[a+12>>2];h=b+16|0;l=h;i=f[l>>2]|0;j=f[l+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=j;o=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;i=h;n=f[i+4>>2]|0;o=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((n|0)>0|(n|0)==0&o>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=0;do{i=h;h=h+1|0;j=a+60+(i*12|0)+4|0;ai(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);gl(d);k=(f[j>>2]|0)-h|0;if((k|0)>-1){j=a+60+(i*12|0)|0;l=k;do{k=0;while(1){m=k+l|0;dj(d,(f[(f[j>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((k|0)<(i|0))k=k+1|0;else break}l=l-h|0}while((l|0)>-1)}hd(d,b);Dj(d)}}while((h|0)<4);f[g>>2]=f[a+12>>2];h=b+16|0;l=h;i=f[l>>2]|0;j=f[l+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=j;o=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;i=h;n=f[i+4>>2]|0;o=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((n|0)>0|(n|0)==0&o>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function sf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))vi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=0;while(1){h=d*3|0;i=f[o+(h<<2)>>2]|0;if((i|0)==-1){q=0;r=11;break}g=f[(f[m>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=p>>>0){q=0;r=11;break}i=f[a>>2]|0;f[i+(f[c+(d*12|0)>>2]<<2)>>2]=k;k=f[o+(h+1<<2)>>2]|0;if((k|0)==-1){q=0;r=11;break}l=f[g+(k<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+4>>2]<<2)>>2]=l;l=f[o+(h+2<<2)>>2]|0;if((l|0)==-1){q=0;r=11;break}h=f[g+(l<<2)>>2]|0;if(h>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+8>>2]<<2)>>2]=h;d=d+1|0;if(d>>>0>=e>>>0){q=1;r=11;break}}if((r|0)==11)return q|0;return 0}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)Cq(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1260;f[k+(e*24|0)+4>>2]=f[b+4>>2];ik(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=d;d=k;k=g;do{f[j+-24>>2]=1260;f[j+-20>>2]=f[d+-20>>2];g=j+-16|0;o=d+-16|0;f[g>>2]=0;p=j+-12|0;f[p>>2]=0;f[j+-8>>2]=0;f[g>>2]=f[o>>2];g=d+-12|0;f[p>>2]=f[g>>2];p=d+-8|0;f[j+-8>>2]=f[p>>2];f[p>>2]=0;f[g>>2]=0;f[o>>2]=0;f[j+-4>>2]=f[d+-4>>2];d=d+-24|0;j=k+-24|0;k=j}while((d|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Qa[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;pr(m);return}function wf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Rm(d);m=a+32|0;Rm(m);k=a+52|0;Rm(k);j=a+72|0;Rm(j);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];bb(a,i,h);Ag(d,e);Ag(m,e);Ag(k,e);Ag(j,e);u=g;return 1}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3716;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Cq(i);else{o=((n+-1|0)>>>5)+1|0;p=tn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Cq(i);k=((l+-1|0)>>>5)+1|0;l=tn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);u=c;return}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=26;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=26;break}k=f[k>>2]|0;if(!k){i=0;o=26;break}}if((o|0)==26)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(b|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=26;break}if(k)o=22}else o=22;if(((((o|0)==22?(o=0,(f[p+8>>2]|0)==(c|0)):0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=26;break}p=f[p>>2]|0;if(!p){i=0;o=26;break}}if((o|0)==26)return i|0;return 0}function zf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;gl(d);m=a+44|0;Rm(m);k=a+64|0;Rm(k);j=a+84|0;Rm(j);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];fb(a,i,h);hd(d,e);Ag(m,e);Ag(k,e);Ag(j,e);u=g;return 1}function Af(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-4177920|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+4194304|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1077936128|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-2080768|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+6291456|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1075838976|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-1032192|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+7340032|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1074790400|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-245760|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8126464|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1074003968|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-114688|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8257536|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1073872896|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=o;x=q}else{y=m;Cq(y)}while(1){f[k>>2]=f[w+(x<<2)>>2];f[h>>2]=f[k>>2];ob(l,h,b,x)|0;m=X(x,e)|0;q=b+(m<<2)|0;o=c+(m<<2)|0;m=f[q+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[q>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Nd(h,p,i,j);f[o>>2]=f[h>>2];f[o+4>>2]=f[v>>2];x=x+-1|0;if((x|0)<=-1){A=3;break}o=f[g>>2]|0;w=f[o>>2]|0;if((f[o+4>>2]|0)-w>>2>>>0<=x>>>0){y=o;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)Cq(y);return 0}function Gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3764;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Cq(i);else{o=((n+-1|0)>>>5)+1|0;p=tn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Cq(i);k=((l+-1|0)>>>5)+1|0;l=tn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);u=c;return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-16384|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8355840|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1073774592|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function If(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;yd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;wd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Ja,g=0.0,h=Ja,i=0.0,j=Ja,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=$(n[b>>2]);g=+$(K($(e)));h=$(n[b+4>>2]);i=g+ +$(K($(h)));j=$(n[b+8>>2]);g=i+ +$(K($(j)));b=g>1.0e-06;i=1.0/g;k=f[a+12>>2]|0;g=+(k|0);l=~~+J(+(g*(b?+e*i:1.0)+.5));m=~~+J(+(g*(b?+h*i:0.0)+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?+j*i:0.0)<0.0?0-m|0:m;if(!o){o=(p|0)>-1?p:0-p|0;if((q|0)<0)r=o;else r=(f[a+8>>2]|0)-o|0;o=(q|0)>-1?q:0-q|0;if((p|0)<0){s=r;t=o}else{s=r;t=(f[a+8>>2]|0)-o|0}}else{s=k+q|0;t=k+p|0}p=(s|0)==0;q=(t|0)==0;o=f[a+8>>2]|0;if(!(t|s)){u=o;v=o;f[c>>2]=u;f[d>>2]=v;return}a=(o|0)==(t|0);r=(o|0)==(s|0);if(p&a|q&r){u=o;v=o;f[c>>2]=u;f[d>>2]=v;return}if(p&(k|0)<(t|0)){u=0;v=(k<<1)-t|0;f[c>>2]=u;f[d>>2]=v;return}if(r&(k|0)>(t|0)){u=s;v=(k<<1)-t|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(s|0)){u=(k<<1)-s|0;v=t;f[c>>2]=u;f[d>>2]=v;return}if(!q){u=s;v=t;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(s|0)?(k<<1)-s|0:s;v=0;f[c>>2]=u;f[d>>2]=v;return}function Kf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=o;x=q}else{y=m;Cq(y)}while(1){f[k>>2]=f[w+(x<<2)>>2];f[h>>2]=f[k>>2];nb(l,h,b,x)|0;m=X(x,e)|0;q=b+(m<<2)|0;o=c+(m<<2)|0;m=f[q+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[q>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Nd(h,p,i,j);f[o>>2]=f[h>>2];f[o+4>>2]=f[v>>2];x=x+-1|0;if((x|0)<=-1){A=3;break}o=f[g>>2]|0;w=f[o>>2]|0;if((f[o+4>>2]|0)-w>>2>>>0<=x>>>0){y=o;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)Cq(y);return 0}function Lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;b[n>>0]=j;o=2;p=n+1|0;q=l;r=j>>>8;s=9;break}if(k>>>0<4194304){n=(f[i>>2]|0)+m|0;t=j+8372224|0;b[n>>0]=t;b[n+1>>0]=t>>>8;o=3;p=n+2|0;q=l;r=t>>>16;s=9;break}if(k>>>0<1073741824){t=(f[i>>2]|0)+m|0;n=j+-1073758208|0;b[t>>0]=n;b[t+1>>0]=n>>>8;b[t+2>>0]=n>>>16;o=4;p=t+3|0;q=l;r=n>>>24;s=9}else v=m}else{m=a+28|0;o=1;p=(f[i>>2]|0)+(f[m>>2]|0)|0;q=m;r=k;s=9}while(0);if((s|0)==9){b[p>>0]=r;v=(f[q>>2]|0)+o|0}o=((v|0)<0)<<31>>31;Rn(e);uh(v,o,e)|0;q=e+4|0;r=(f[q>>2]|0)-(f[e>>2]|0)|0;qm(h+r|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,r|0)|0;h=g;g=f[h>>2]|0;p=f[h+4>>2]|0;h=go(r|0,0,v|0,o|0)|0;o=go(h|0,I|0,g|0,p|0)|0;Gl(c,o,I);o=e+12|0;c=f[o>>2]|0;f[o>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[q>>2]|0)!=(c|0))f[q>>2]=c;pr(c);u=d;return}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)qm(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((c|0)==(b|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);pr(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)Cq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(m>>>0>1073741823)Cq(a);h=tn(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((m|0)==(k|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);return}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){pj(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)Cq(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{n=tn(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;pj(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=d;d=h;h=j;do{j=i+-12|0;b=d;d=d+-12|0;f[j>>2]=0;n=i+-8|0;f[n>>2]=0;f[i+-4>>2]=0;f[j>>2]=f[d>>2];j=b+-8|0;f[n>>2]=f[j>>2];n=b+-4|0;f[i+-4>>2]=f[n>>2];f[n>>2]=0;f[j>>2]=0;f[d>>2]=0;i=h+-12|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);pr(m)}}while((c|0)!=(g|0))}if(!p)return;pr(p);return}function Of(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=24;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=24;break}k=f[k>>2]|0;if(!k){i=0;o=24;break}}if((o|0)==24)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(b|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=24;break}if(k)o=21}else o=21;if((((o|0)==21?(o=0,k=p+8|0,(d[k>>1]|0)==c<<16>>16):0)?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=24;break}p=f[p>>2]|0;if(!p){i=0;o=24;break}}if((o|0)==24)return i|0;return 0}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((o|0)!=(a|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];qe(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=b;t=n;v=j;w=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=l+(e>>>5<<2)|0;s=b;t=b;v=j-p|0;w=e&31}e=(v|0)/32|0;qm(r|0,s|0,e<<2|0)|0;s=v-(e<<5)|0;v=r+(e<<2)|0;r=v;if((s|0)>0){p=-1>>>(32-s|0);f[v>>2]=f[v>>2]&~p|f[t+(e<<2)>>2]&p;x=r;y=s}else{x=r;y=w}}else{x=m;y=o}f[k>>2]=x;f[k+4>>2]=y;u=d;return}function Qf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g<<1,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Rf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g<<2,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Sf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Tf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;md(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;ld(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=24;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=24;break}k=f[k>>2]|0;if(!k){i=0;o=24;break}}if((o|0)==24)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(c|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=24;break}if(k)o=21}else o=21;if((((o|0)==21?(o=0,k=p+8|0,(b[k>>0]|0)==d<<24>>24):0)?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=24;break}p=f[p>>2]|0;if(!p){i=0;o=24;break}}if((o|0)==24)return i|0;return 0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1){m=7;break}d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1){m=7;break}else l=d}if((m|0)==7?(l|0)==-1:0){e=0;g=-1;f[c>>2]=g;return e|0}if(!((l>>>0)%3|0)){e=0;g=l+2|0;f[c>>2]=g;return e|0}else{e=0;g=l+-1|0;f[c>>2]=g;return e|0}return 0}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;if(g-i>>2>>>0>=b>>>0){pj(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}j=f[a>>2]|0;k=i-j>>2;i=k+b|0;if(i>>>0>1073741823)Cq(a);l=g-j|0;j=l>>1;g=l>>2>>>0<536870911?(j>>>0>>0?i:j):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(g)if(g>>>0>1073741823){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{m=tn(g<<2)|0;break}else m=0;while(0);f[d>>2]=m;j=m+(k<<2)|0;k=d+8|0;i=d+4|0;f[i>>2]=j;l=d+12|0;f[l>>2]=m+(g<<2);pj(j|0,0,b<<2|0)|0;f[k>>2]=j+(b<<2);b=f[a>>2]|0;j=f[h>>2]|0;if((j|0)==(b|0)){n=i;o=f[i>>2]|0;p=b;q=j}else{g=f[i>>2]|0;m=j;do{m=m+-4|0;j=f[m>>2]|0;f[m>>2]=0;f[g+-4>>2]=j;g=(f[i>>2]|0)+-4|0;f[i>>2]=g}while((m|0)!=(b|0));n=i;o=g;p=f[a>>2]|0;q=f[h>>2]|0}f[a>>2]=o;f[n>>2]=p;f[h>>2]=f[k>>2];f[k>>2]=q;q=f[e>>2]|0;f[e>>2]=f[l>>2];f[l>>2]=q;f[d>>2]=f[n>>2];ii(d);u=c;return}function Xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=a+8|0;i=a+12|0;j=0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=e;e=0;while(1){l=f[a>>2]|0;m=f[d+(l<<2)>>2]|0;if(m>>>0>>0)n=e;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(l<<2)>>2]|0;else t=l;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}a=a+4|0;if((a|0)==(g|0)){h=c;i=k;j=n;break}else e=n}}n=f[i>>2]|0;e=f[h>>2]|0;if((n-e|0)>0){u=e;v=n;w=0}else return;while(1){n=f[u+(w<<2)>>2]|0;b[n+84>>0]=0;e=n+68|0;k=n+72|0;n=f[k>>2]|0;c=f[e>>2]|0;g=n-c>>2;a=c;c=n;if(j>>>0<=g>>>0)if(j>>>0>>0?(n=a+(j<<2)|0,(c|0)!=(n|0)):0){f[k>>2]=c+(~((c+-4-n|0)>>>2)<<2);x=u;y=v}else{x=u;y=v}else{zh(e,j-g|0,6376);x=f[h>>2]|0;y=f[i>>2]|0}w=w+1|0;if((w|0)>=(y-x>>2|0))break;else{u=x;v=y}}return}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);pr(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Cq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Cq(a);h=tn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+(p<<2);return}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);pr(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Cq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Cq(a);h=tn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function _f(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+80|0;h=g;i=g+64|0;Ol(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X($l(5)|0,d)|0;Hj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=tn(96)|0;xl(k,h);zj(k,c)|0;f[i>>2]=k;ej(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;pr(i)}pr(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);pr(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;pr(c)}pr(h)}pr(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0>>0){zh(a,e-i|0,1596);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((d|0)==(i|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;return}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=k;k=n;n=m;while(1){m=f[n>>2]|0;f[d>>2]=m;if((a|0)==(f[b>>2]|0)){Ti(g,d);o=f[l>>2]|0}else{f[a>>2]=m;f[i>>2]=a+4;o=k}m=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((m|0)<(q|0)){s=r;t=m;v=o}else{w=m+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0>>0?(p=r+(w<<2)|0,(x|0)!=(p|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=m;z=r;A=o}else{y=m;z=r;A=o}else{zh(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}a=f[i>>2]|0;f[s+(t<<2)>>2]=(a-(f[g>>2]|0)>>2)+-1;n=n+4|0;if((n|0)==(h|0))break;else k=v}u=c;return}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(j|0)!=(b|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Pg(h,c-k|0,e);k=f[h>>2]|0;b=0;while(1){j=b*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=f[i>>2]|0;o=(j-k|0)/12|0;p=k;q=b;b=b+1|0;if(q>>>0>>0){r=p;s=k}else{t=j;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if(b>>>0<=o>>>0)if(b>>>0>>0?(j=p+(b*12|0)|0,(t|0)!=(j|0)):0){f[i>>2]=t+(~(((t+-12-j|0)>>>0)/12|0)*12|0);v=p;w=k}else{v=p;w=k}else{Pg(h,b-o|0,e);o=f[h>>2]|0;v=o;w=o}r=v;s=w}f[r+(q*12|0)>>2]=l;f[r+(q*12|0)+4>>2]=m;f[r+(q*12|0)+8>>2]=n;if((b|0)==(c|0)){g=1;break}else k=s}u=a;return g|0}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)pr(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)pr(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(l|0)!=(o|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{zi(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(mc(a,d)|0)){s=0;u=c;return s|0}pb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=24;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=24;break}j=f[j>>2]|0;if(!j){h=0;n=24;break}}if((n|0)==24)return h|0}else o=a;while(1){a=f[o+4>>2]|0;j=(a|0)==(b|0);if(!j){if(a>>>0>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=24;break}if(j)n=21}else n=21;if((((n|0)==21?(n=0,(f[o+8>>2]|0)==(c|0)):0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=24;break}o=f[o>>2]|0;if(!o){h=0;n=24;break}}if((n|0)==24)return h|0;return 0}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{pr(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)Cq(c);else{j=((k+-1|0)>>>5)+1|0;l=tn(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);qm(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{pr(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)Cq(h);else{n=((p+-1|0)>>>5)+1|0;c=tn(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);qm(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function eg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=go(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=jo(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=h;n=i;o=k}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=go(h|0,i|0,8,0)|0;i=q+(0-k)|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;uh(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;qm(i+q|0,i+8|0,j|0)|0;eh(i|0,f[d>>2]|0,q|0)|0;i=e;h=go(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)pr(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;pr(h)}h=e;l=p;m=f[h>>2]|0;n=f[h+4>>2]|0;o=p}p=f[l>>2]|0;l=f[a>>2]|0;h=p-l|0;k=io(j|0,g|0,m|0,n|0)|0;n=go(k|0,I|0,h|0,0)|0;k=l;l=p;if(n>>>0<=h>>>0){if(n>>>0>>0?(p=k+n|0,(l|0)!=(p|0)):0)f[o>>2]=p}else Bi(a,n-h|0);h=e;f[h>>2]=0;f[h+4>>2]=0;u=c;return}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){f[j>>2]=f[c>>2];o=o+-1|0;if(!o)break;else j=j+4|0}}if(!l){j=h+(b<<2)|0;if((n|0)==(j|0))return;else{p=i;q=n+(~((n+-4-j|0)>>>2)<<2)|0;break}}else{j=b-k|0;o=n;m=j;while(1){f[o>>2]=f[c>>2];m=m+-1|0;if(!m)break;else o=o+4|0}p=i;q=n+(j<<2)|0;break}}else{o=g;if(!g)r=e;else{m=a+4|0;k=f[m>>2]|0;if((k|0)!=(h|0))f[m>>2]=k+(~((k+-4-g|0)>>>2)<<2);pr(o);f[d>>2]=0;f[m>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)Cq(a);m=r>>1;o=r>>2>>>0<536870911?(m>>>0>>0?b:m):1073741823;if(o>>>0>1073741823)Cq(a);m=tn(o<<2)|0;k=a+4|0;f[k>>2]=m;f[a>>2]=m;f[d>>2]=m+(o<<2);o=m;l=b;while(1){f[o>>2]=f[c>>2];l=l+-1|0;if(!l)break;else o=o+4|0}p=k;q=m+(b<<2)|0}while(0);f[p>>2]=q;return}function gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Nk(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=d;d=0;do{k=j+(d<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Nk(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;d=d+1|0;j=f[i>>2]|0}while(d>>>0<(f[c>>2]|0)-j>>2>>>0)}j=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Nk(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function hg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=dh(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=i>>>0)Cq(k);m=g;if(l>>>0<=j>>>0)Cq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)Cq(k);if(l>>>0<=e>>>0)Cq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)Cq(k);if(l>>>0<=d>>>0)Cq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)Cq(k);if(l>>>0<=c>>>0)Cq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|0}function ig(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Cg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Sa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)cq(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;ai(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(uf(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;ai(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Fe(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);ai(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(uf(0,b,e+8|0)|0)){m=0;r=10;break}jg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 0}function kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Nb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Nb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=tn(76)|0;Fn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Ng(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Qa[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ti(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0>>0?(g=a+(i<<2)|0,(p|0)!=(g|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{zh(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);pr(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)Cq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)Cq(a);j=tn(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;eh(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;eh(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((c|0)==(p|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function ng(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+96|0;h=g+40|0;i=g;Um(h,d);De(i,c,d);Ih(h,i);Cj(i+24|0,f[i+28>>2]|0);Mj(i+12|0,f[i+16>>2]|0);Cj(i,f[i+4>>2]|0);$i(a,h,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[h+40>>2];f[c+44>>2]=f[h+44>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}f[h>>2]=3496;Cj(h+28|0,f[h+32>>2]|0);Mj(h+16|0,f[h+20>>2]|0);Cj(h+4|0,f[h+8>>2]|0);u=g;return}function og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;if(!(yh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=tn(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14756;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Hh(d,g)|0)!=0):0)o=Ik(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Ik(i,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}Hp(a+40|0,o);h=1;u=e;return h|0}function pg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;pr(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Cq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Cq(a);i=tn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{n=c;c=k;while(1){b[c>>0]=b[n>>0]|0;n=n+1|0;if((n|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[o>>2]|0)==(p|0))return;f[o>>2]=p;return}if((a|0)==(d|0))return;a=f[o>>2]|0;p=g;do{b[a>>0]=b[p>>0]|0;p=p+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((p|0)!=(d|0));return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=go(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=go(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<>2]&~i|i&e<>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ti(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<>2]&~l|l&e<>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ti(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Pb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Pb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=d;j=a;while(1){if((b[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=d;r=a;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=c&255;if((b[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=X(e,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){a=f[g>>2]^q;if((a&-2139062144^-2139062144)&a+-16843009|0)break;a=g+4|0;d=s+-4|0;if(d>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((b[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=i;r=n}else{qm(p|0,d|0,o|0)|0;q=f[h>>2]|0;r=p}f[c>>2]=r;f[h>>2]=q+(m<<2);s=r;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;jp(m,16426);f[m>>2]=7416;va(m|0,1160,122)}m=tn(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=d;u=n}else{l=o;m=d;v=n;do{f[l>>2]=f[m>>2];l=v+4|0;v=l;m=m+4|0}while((m|0)!=(i|0));t=f[a>>2]|0;u=v}f[a>>2]=p;f[c>>2]=n;f[h>>2]=u;f[j>>2]=k;if(!t)s=o;else{pr(t);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=mr((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){nr(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=n;n=a;r=a;a=m;m=0;while(1){s=f[j+(m<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(s<<2)>>2]|0;else t=s;s=r+48|0;v=f[s>>2]|0;w=f[s+4>>2]|0;s=r+40|0;x=f[s>>2]|0;y=En(x|0,f[s+4>>2]|0,t|0,0)|0;s=go(y|0,I|0,v|0,w|0)|0;eh(k|0,(f[f[r>>2]>>2]|0)+s|0,x|0)|0;x=o;s=f[x+4>>2]|0;if((s|0)>0|(s|0)==0&(f[x>>2]|0)>>>0>0){z=j;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Fe(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=m+1|0;if(x>>>0>=A-z>>2>>>0)break;s=f[i>>2]|0;j=z;n=s;r=s;a=A;m=x}nr(k);u=e;return 1}function vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;p=f[m+4>>2]|0;m=a+20|0;if((p|0)>0|(p|0)==0&k>>>0>0){q=p;r=k;s=g}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,m,m+4|0)|0;m=l;q=f[m+4>>2]|0;r=f[m>>2]|0;s=g}}else{q=o;r=n;s=g}b[h>>0]=f[i>>2];if(!((q|0)>0|(q|0)==0&r>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;i=d;do if((d|0)==(g|0)){j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=l;if(k>>>0>l>>>0){n=k;o=((n-m>>2)+1|0)/-2|0;p=k+(o<<2)|0;q=i-n|0;n=q>>2;if(!n)r=k;else{qm(p|0,k|0,q|0)|0;r=f[j>>2]|0}q=p+(n<<2)|0;f[c>>2]=q;f[j>>2]=r+(o<<2);s=q;break}q=h-m>>1;m=(q|0)==0?1:q;if(m>>>0>1073741823){q=ra(8)|0;jp(q,16426);f[q>>2]=7416;va(q|0,1160,122)}q=tn(m<<2)|0;o=q;n=q+(m>>>2<<2)|0;p=n;t=q+(m<<2)|0;if((k|0)==(d|0)){u=l;v=p}else{l=n;n=k;k=p;do{f[l>>2]=f[n>>2];l=k+4|0;k=l;n=n+4|0}while((n|0)!=(d|0));u=f[a>>2]|0;v=k}f[a>>2]=o;f[j>>2]=p;f[c>>2]=v;f[e>>2]=t;if(!u)s=v;else{pr(u);s=f[c>>2]|0}}else s=d;while(0);f[s>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=g;g=a+4|0;while(1){a=d+16|0;i=b[a+11>>0]|0;k=i<<24>>24<0;l=k?f[d+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=Yk(e,k?f[a>>2]|0:a,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[d>>2]|0;if(!n){o=9;break}else{p=n;q=d}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=Yk(k?f[a>>2]|0:a,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=d+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=i;q=r}}d=p;g=q}if((o|0)==9){f[c>>2]=d;h=d;return h|0}else if((o|0)==15){f[c>>2]=d;h=r;return h|0}else if((o|0)==16){f[c>>2]=d;h=g;return h|0}return 0}function yg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=tn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14740;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ik(i,h,-1)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);switch(j|0){case -1:{if((ki(i)|0)==10)n=6;else n=5;break}case 1:{n=5;break}default:n=6}if((n|0)==5){j=tn(68)|0;gp(j);o=j}else if((n|0)==6){n=tn(64)|0;Up(n);o=n}Jo(o,d);ud(a,o,i,e);if(f[a>>2]|0){p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Qa[r&127](o);u=g;return}e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[o+52>>2];f[c+44>>2]=f[o+60>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Qa[r&127](o);u=g;return}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;ve(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=l;p=c;q=h;r=j;s=0}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=l;p=l;q=h-n|0;r=j+(g>>>5<<2)|0;s=g&31}g=(q|0)/32|0;qm(r|0,o|0,g<<2|0)|0;o=q-(g<<5)|0;q=r+(g<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);f[q>>2]=f[q>>2]&~j|f[p+(g<<2)>>2]&j;t=r;v=o}else{t=r;v=s}}else{t=k;v=m}f[i>>2]=t;f[i+4>>2]=v;u=d;return}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ti(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;pr(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Cq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Cq(a);i=tn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}else{o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;n=a-e|0;if(n|0)qm(k|0,c|0,n|0)|0;c=k+n|0;if(!j){if((f[o>>2]|0)==(c|0))return;f[o>>2]=c;return}if((a|0)==(d|0))return;a=f[o>>2]|0;c=g;do{b[a>>0]=b[c>>0]|0;c=c+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((c|0)!=(d|0));return}}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){pj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)Cq(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{n=tn(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;pj(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=d;d=h;h=b;do{d=d+-4|0;b=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=b;i=h+-4|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Qa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;pr(p);return}function Dg(a){a=a|0;gl(a);gl(a+32|0);gl(a+64|0);gl(a+96|0);gl(a+128|0);gl(a+160|0);gl(a+192|0);gl(a+224|0);gl(a+256|0);gl(a+288|0);gl(a+320|0);gl(a+352|0);gl(a+384|0);gl(a+416|0);gl(a+448|0);gl(a+480|0);gl(a+512|0);gl(a+544|0);gl(a+576|0);gl(a+608|0);gl(a+640|0);gl(a+672|0);gl(a+704|0);gl(a+736|0);gl(a+768|0);gl(a+800|0);gl(a+832|0);gl(a+864|0);gl(a+896|0);gl(a+928|0);gl(a+960|0);gl(a+992|0);gl(a+1024|0);return}function Eg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=a+4|0;a=tn(32)|0;f[k>>2]=a;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=a;m=14756;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[a+17>>0]=0;Wj(Bd(c,j)|0,k,d);if((b[k+11>>0]|0)<0)pr(f[k>>2]|0);d=tn(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14829;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;pi(Bd(c,j)|0,k,g,e);if((b[k+11>>0]|0)<0)pr(f[k>>2]|0);e=tn(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14849;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Tj(Bd(c,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}pr(f[k>>2]|0);u=i;return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)qm(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;eh(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);pr(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)Cq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)Cq(a);j=tn(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;eh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(g);else{j=tn(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;pj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=j;n=k;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{k=m+(f[a+(g<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;b=0;r=0.0;while(1){g=f[m+(c<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=b+1|0;v=r+s*+Ug(s/o)}else{t=b;v=r}c=c+1|0;if((c|0)==(h|0)){p=t;q=v;break}else{b=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!m){I=d;u=e;return p|0}if((n|0)!=(m|0))f[i>>2]=n+(~((n+-4-m|0)>>>2)<<2);pr(l);I=d;u=e;return p|0}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;f[d>>2]=e;b=a+12|0;g=(e|0)==-1;h=e+1|0;do if(!g){f[d+4>>2]=((h>>>0)%3|0|0)==0?e+-2|0:h;if(!((e>>>0)%3|0)){i=e+2|0;break}else{i=e+-1|0;break}}else{f[d+4>>2]=-1;i=-1}while(0);f[d+8>>2]=i;i=g?-1:(e>>>0)/3|0;g=a+28|0;h=(f[g>>2]|0)+(i>>>5<<2)|0;f[h>>2]=1<<(i&31)|f[h>>2];h=a+172|0;i=a+176|0;j=a+280|0;a=e;e=0;while(1){if((((a|0)!=-1?(k=f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(k|0)!=-1):0)?(l=(k>>>0)/3|0,(f[(f[g>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0)?(l=f[h>>2]|0,(f[i>>2]|0)!=(l|0)):0){k=a>>>5;m=1<<(a&31);n=l;l=0;do{o=(f[j>>2]|0)+(l<<5)|0;if(!(m&f[(f[n+(l*136|0)+4>>2]|0)+(k<<2)>>2]))dj(o,0);else dj(o,1);l=l+1|0;n=f[h>>2]|0}while(l>>>0<(((f[i>>2]|0)-n|0)/136|0)>>>0)}n=e+1|0;if((n|0)==3)break;a=f[d+(n<<2)>>2]|0;e=n}u=c;return 1}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e+4|0;h=e;i=tn(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ih(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))xh(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ti(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;pr(b)}pr(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);pr(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(h)}pr(c);u=d;return}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6348;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}fi(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){_i(i);pr(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}pr(g)}_i(a);pr(a);return}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Fo(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=f[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=(q<<31>>31)+n|0;t=g-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;g=Fo(Aa(146,e|0)|0)|0;if((o|0)==(g|0)){v=3;break a}else{m=r;n=s}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((n|0)==2)w=0;else w=c-(f[m+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Cq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;pr(m);return}function Og(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=Yk(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=Yk(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=h;j=b;do{f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];i=(f[g>>2]|0)+12|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/12|0;h=i+b|0;if(h>>>0>357913941)Cq(a);k=(e-j|0)/12|0;j=k<<1;e=k>>>0<178956970?(j>>>0>>0?h:j):357913941;do if(e)if(e>>>0>357913941){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{l=tn(e*12|0)|0;break}else l=0;while(0);j=l+(i*12|0)|0;i=l+(e*12|0)|0;e=j;l=b;b=j;do{f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];e=b+12|0;b=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;c=j+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)eh(c|0,l|0,e|0)|0;f[a>>2]=c;f[g>>2]=b;f[d>>2]=i;if(!l)return;pr(l);return}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];dg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{mg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);mg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);mg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Fg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Cq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){_i(n);pr(n)}}while((h|0)!=(g|0))}if(!m)return;pr(m);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)Cq(h);j=d;if(i>>>0<=g>>>0)Cq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)Cq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)Cq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)Cq(h);if(i>>>0<=c>>>0)Cq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+96|0;g=e+40|0;h=e;Qm(g,c);De(h,b,c);Ih(g,h);Cj(h+24|0,f[h+28>>2]|0);Mj(h+12|0,f[h+16>>2]|0);Cj(h,f[h+4>>2]|0);$i(a,g,d);f[g>>2]=3496;Cj(g+28|0,f[g+32>>2]|0);Mj(g+16|0,f[g+20>>2]|0);Cj(g+4|0,f[g+8>>2]|0);u=e;return}function Ug(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=f[s>>2]|0;i=g;j=g;k=-1077;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=b;i=c;j=c;k=-1023;l=9}else e=a;while(0);if((l|0)==9){l=j+614242|0;f[s>>2]=h;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;h=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=h;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(k+(l>>>20)|0);m=o+q;e=m+(q+(o-m)+(t*1.4426950407214463+(r+t)*1.6751713164886512e-10))}return +e}function Vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14628;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Hh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Ik(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}pr(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Jg(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);pr(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(h)}pr(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Fh(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((b|0)==(e|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function Xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Hh(h,e)|0)==0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ki(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);u=d;return 1}function Yg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;ai(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;ai((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;ai((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}wi(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(h[i>>0]|0)&(1<>2]|0)+l|0;b[i>>0]=h[i>>0]|0|k<>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0>>0);eg(f[(f[g>>2]|0)+44>>2]|0);return 1}function Zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Hh(h,e)|0)==0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ki(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);u=d;return 1}function _g(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Nd(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=mr(o)|0;pj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Nd(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];nr(e);u=g;return 1}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)Cq(d);else{l=tn(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);pj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0>>0)}Ij(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);pr(a);u=c;return}function ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=h;m=k+2|0;break}else{l=h;m=k+-1|0;break}}else{k=a;h=g;while(1){i=k+1|0;n=h+1|0;o=((n>>>0)%3|0|0)==0?h+-2|0:n;if((o|0)==-1){l=i;m=b;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=i;m=b;break b}h=((o>>>0)%3|0|0)==0?n+-2|0:o;if((h|0)==-1){l=i;m=b;break b}if((h|0)==(b|0)){d=i;j=15;break a}else k=i}}while(0);if((m|0)==-1){d=l;j=15;break}else{a=l;e=1;g=m}}if((j|0)==15)return d|0;return 0}function bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;Sg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=j;j=c;n=e;while(1){f[j>>2]=m;if((n|0)==(a|0)){o=a;break}p=n+-4|0;m=f[p>>2]|0;if(h>>>0<=m>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(m<<3)>>2]|0)>>>0){o=n;break}else{q=n;n=p;j=q}}f[o>>2]=d}j=c+4|0;if((j|0)==(b|0)){k=3;break}else{n=c;c=j;e=n}}if((k|0)==3)return;else if((k|0)==5)Cq(g);else if((k|0)==7)Cq(g);else if((k|0)==11)Cq(g)}function ch(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;do if(!(Ep(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Ep(a,f[c>>2]|0,g)|0)){i=f[h>>2]|0;Ua[f[(f[i>>2]|0)+24>>2]&3](i,c,d,e,g);break}i=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(j=c+20|0,(f[j>>2]|0)!=(d|0)):0){f[i>>2]=e;k=c+44|0;if((f[k>>2]|0)==4)break;l=c+52|0;b[l>>0]=0;m=c+53|0;b[m>>0]=0;n=f[h>>2]|0;Va[f[(f[n>>2]|0)+20>>2]&3](n,c,d,d,1,g);if(b[m>>0]|0)if(!(b[l>>0]|0)){o=3;p=11}else q=3;else{o=4;p=11}if((p|0)==11){f[j>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;q=o}else q=o}f[k>>2]=q;break}if((e|0)==1)f[i>>2]=1}else $m(0,c,d,e);while(0);return}function dh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Sg(a,b,c,e)|0;h=f[d>>2]|0;i=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=h>>>0)Cq(j);l=e;if(k>>>0<=i>>>0)Cq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)Cq(j);if(k>>>0<=d>>>0)Cq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)Cq(j);if(k>>>0<=c>>>0)Cq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1296;g=a+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ti(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0>>0?(j=m+(a<<2)|0,(w|0)!=(j|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{zh(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(k>>>0<=o>>>0)if(k>>>0>>0?(m=p+(k<<2)|0,(n|0)!=(m|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{zi(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=4;o=0;k=j;while(1){f[g+(o<<2)>>2]=k;q=q+4|0;o=o+1|0;d=r+q|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((o|0)>=(i|0)){s=c;break}else k=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)Cq(a);n=j<<6;j=c+31&-32;si(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)pr(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){pj(h|0,0,n|0)|0;d=c-(a<<5)|0;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{pj(h|0,-1,n|0)|0;n=c-(a<<5)|0;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Dd(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=tn(40)|0;nj(c+16|0,d);nj(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}He(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ma[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0>>0?(d=h+(j<<2)|0,(e|0)!=(d|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else zi(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)){h=f[c>>2]|0;k=e-b>>2;b=0;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0>>0)}j=j+1|0}while(j>>>0>>0);g=1;return g|0}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;hd(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;n=a+88|0;hd(n,b);u=c;return 1}function lh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=tn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Bi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>4294967279)Cq(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=a;m=0;n=j;o=13}else{Yo(a,j,(e&255)+1|0)|0;pr(j);o=15}}else{j=tn(k+1|0)|0;if(g){l=j;m=1;n=f[a>>2]|0;o=13;break}else{Yo(j,a,(e&255)+1|0)|0;p=j;o=14;break}}while(0);if((o|0)==13){Yo(l,n,(f[a+4>>2]|0)+1|0)|0;pr(n);if(m){p=l;o=14}else o=15}if((o|0)==14){f[a+8>>2]=k+1|-2147483648;f[a+4>>2]=h;f[a>>2]=p;break}else if((o|0)==15){b[d>>0]=h;break}}while(0);return}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;hd(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;n=a+108|0;hd(n,b);u=c;return 1}function oh(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+32|0;d=f[a+64>>2]|0;e=(La[f[(f[d>>2]|0)+40>>2]&127](d)|0)+56|0;d=f[e>>2]|0;wi(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){eg(c);return}i=a+48|0;j=a+44|0;a=e;e=(g>>>2)+-1|0;while(1){g=f[a+(e<<2)>>2]|0;k=f[3652+(g<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>g&1|0):0){m=l+4|0;n=f[m>>2]|0;o=0;do{p=n>>>3;q=n&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(h[r>>0]|0)&(1<>2]|0)+p|0;b[r>>0]=h[r>>0]|0|(g>>>o&1)<>2]|0)+1|0;f[m>>2]=n;o=o+1|0}while((o|0)!=(k|0))}k=e+-1|0;if((k|0)<=-1)break;a=f[d>>2]|0;e=k}eg(c);return}function ph(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Rn(h);do if((lm(c,0)|0)!=-1){if(d){if(!(La[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Qa[f[(f[c>>2]|0)+20>>2]&127](c)}Tg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)pr(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;pg(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)pr(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}j=k;u=g;return j|0}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Sa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pr(d)}pr(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);pr(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pr(a)}pr(e)}pr(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function rh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+352>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Ci(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;if(!(f[i+56>>2]|0))j=a;else{k=f[g>>2]|0;f[k+(a*136|0)>>2]=h;l=f[k+(a*136|0)+104>>2]|0;m=k+(a*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;Xj(k+(a*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(a*136|0)+128>>2]=0;Bc(l+(a*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=a+1|0}h=h+1|0;if((h|0)>=(d|0))break;else a=j}return 1}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=g;i=b;do{j=h;f[j>>2]=0;f[j+4>>2]=0;h=(f[e>>2]|0)+8|0;f[e>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;h=g-i>>3;g=h+b|0;if(g>>>0>536870911)Cq(a);j=d-i|0;i=j>>2;d=j>>3>>>0<268435455?(i>>>0>>0?g:i):536870911;do if(d)if(d>>>0>536870911){i=ra(8)|0;jp(i,16426);f[i>>2]=7416;va(i|0,1160,122)}else{k=tn(d<<3)|0;break}else k=0;while(0);i=k+(h<<3)|0;h=k+(d<<3)|0;d=i;k=b;b=i;do{g=d;f[g>>2]=0;f[g+4>>2]=0;d=b+8|0;b=d;k=k+-1|0}while((k|0)!=0);k=f[a>>2]|0;d=(f[e>>2]|0)-k|0;g=i+(0-(d>>3)<<3)|0;if((d|0)>0)eh(g|0,k|0,d|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=h;if(!k)return;pr(k);return}function th(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+288>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Ci(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;if(!(f[i+56>>2]|0))j=a;else{k=f[g>>2]|0;f[k+(a*136|0)>>2]=h;l=f[k+(a*136|0)+104>>2]|0;m=k+(a*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;Xj(k+(a*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(a*136|0)+128>>2]=0;Bc(l+(a*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=a+1|0}h=h+1|0;if((h|0)>=(d|0))break;else a=j}return 1}function uh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0;k=jo(a|0,c|0,7)|0;m=uh(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function vh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Ui(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((La[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Tf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=tn(44)|0;f[c>>2]=1608;f[c+4>>2]=g;g=c+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);f[c>>2]=1664;i=c}f[a>>2]=i;return}function wh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((kb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=vr(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=kb(a,c,g,i,h)|0;if(!o)s=j;else{Na[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=kb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)ur(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){Wf(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((h|0)==(g|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;pr(h)}pr(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);pr(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(a)}pr(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;if(!(kn(a,b,c)|0)){g=0;u=d;return g|0}if((La[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){g=0;u=d;return g|0}h=Vg(c,f[b+48>>2]|0)|0;Sa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(c){Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c)}else f[e>>2]=0;e=f[h>>2]|0;if(!e){g=1;u=d;return g|0}if(Ma[f[(f[a>>2]|0)+36>>2]&127](a,e)|0){g=1;u=d;return g|0}e=f[h>>2]|0;f[h>>2]=0;if(!e){g=1;u=d;return g|0}Qa[f[(f[e>>2]|0)+4>>2]&127](e);g=1;u=d;return g|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=i;k=b;while(1){f[j>>2]=f[c>>2];k=k+-1|0;if(!k)break;else j=j+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;j=h-i|0;h=j>>2;k=h+b|0;if(k>>>0>1073741823)Cq(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?k:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}else{n=tn(m<<2)|0;break}else n=0;while(0);e=n+(h<<2)|0;k=n+(m<<2)|0;m=e;n=b;while(1){f[m>>2]=f[c>>2];n=n+-1|0;if(!n)break;else m=m+4|0}m=e+(0-h<<2)|0;if((j|0)>0)eh(m|0,i|0,j|0)|0;f[a>>2]=m;f[g>>2]=e+(b<<2);f[d>>2]=k;if(!i)return;pr(i);return}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Fp(f[a+8>>2]|0,e)|0;h=Fp(f[a+12>>2]|0,e)|0;i=Fp(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Fp(f[a+(q<<2)>>2]|0,e)|0;s=Fp(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=ll(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Fp(f[a+(m<<2)>>2]|0,e)|0;j=Fp(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Bh(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Ep(l,e,0)|0){f[i+48>>2]=1;Va[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ua[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)pr(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)pr(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;hh(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;hh(a+12|0,k,e);fg(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6336);Xj(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);Xj(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Dh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Md(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Md(a,e);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=h;j=b;while(1){f[i>>2]=1;j=j+-1|0;if(!j)break;else i=i+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Cq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;j=m+(l<<2)|0;l=d;m=b;while(1){f[l>>2]=1;m=m+-1|0;if(!m)break;else l=l+4|0}l=d+(0-g<<2)|0;if((i|0)>0)eh(l|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=d+(b<<2);f[c>>2]=j;if(!h)return;pr(h);return}function Gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+48|0;g=e;h=e+32|0;i=a+4|0;j=f[i>>2]|0;if(!j){k=0;u=e;return k|0}do if(c)if(La[f[(f[j>>2]|0)+16>>2]&127](j)|0){l=f[i>>2]|0;Qa[f[(f[l>>2]|0)+20>>2]&127](l);break}else{k=0;u=e;return k|0}while(0);Rn(g);$i(h,f[a>>2]|0,g);a=(f[h>>2]|0)==0;i=h+4|0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if(a){a=f[g>>2]|0;i=g+4|0;pg(d,a,a+((f[i>>2]|0)-a)|0);m=(f[i>>2]|0)-(f[g>>2]|0)|0}else m=0;i=g+12|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0)pr(a);a=f[g>>2]|0;if(a|0){i=g+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;pr(a)}k=m;u=e;return k|0}function Hh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=Yk(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=Yk(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=a+4|0;j=(i|0)==(b|0);if(!j){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Kc(i,e,d)}if(!j){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Cc(a+16|0,e,d)}if(j){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Kc(a+28|0,e,d);u=c;return}function Jh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=tn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;nj(g+8|0,e);h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Bi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function Kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;_f(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=d;d=0;while(1){p=f[o>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(p<<2)>>2]|0;else q=p;f[h>>2]=q;p=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Lb(i,g,p,a+(d<<2)|0)|0)){m=0;r=7;break}o=o+4|0;if((o|0)==(c|0)){m=1;r=7;break}else d=d+k|0}if((r|0)==7){u=e;return m|0}return 0}function Lh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1472;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=f[a+48>>2]|0;if(c|0)pr(c);c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}pr(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);pr(g);return}function Mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(i|0)!=(h|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else zi(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=1;e=j;h=j;while(1){i=f[b+(d<<2)>>2]|0;g=(i|0)<(h|0);k=g?i:h;l=g?e:(i|0)>(e|0)?i:e;d=d+1|0;if((d|0)==(c|0)){m=l;n=k;break}else{e=l;h=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=io(m|0,((m|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Nh(a){a=a|0;Dj(a+992|0);Dj(a+960|0);Dj(a+928|0);Dj(a+896|0);Dj(a+864|0);Dj(a+832|0);Dj(a+800|0);Dj(a+768|0);Dj(a+736|0);Dj(a+704|0);Dj(a+672|0);Dj(a+640|0);Dj(a+608|0);Dj(a+576|0);Dj(a+544|0);Dj(a+512|0);Dj(a+480|0);Dj(a+448|0);Dj(a+416|0);Dj(a+384|0);Dj(a+352|0);Dj(a+320|0);Dj(a+288|0);Dj(a+256|0);Dj(a+224|0);Dj(a+192|0);Dj(a+160|0);Dj(a+128|0);Dj(a+96|0);Dj(a+64|0);Dj(a+32|0);Dj(a);return}function Oh(a){a=a|0;Gn(a);Gn(a+32|0);Gn(a+64|0);Gn(a+96|0);Gn(a+128|0);Gn(a+160|0);Gn(a+192|0);Gn(a+224|0);Gn(a+256|0);Gn(a+288|0);Gn(a+320|0);Gn(a+352|0);Gn(a+384|0);Gn(a+416|0);Gn(a+448|0);Gn(a+480|0);Gn(a+512|0);Gn(a+544|0);Gn(a+576|0);Gn(a+608|0);Gn(a+640|0);Gn(a+672|0);Gn(a+704|0);Gn(a+736|0);Gn(a+768|0);Gn(a+800|0);Gn(a+832|0);Gn(a+864|0);Gn(a+896|0);Gn(a+928|0);Gn(a+960|0);Gn(a+992|0);return}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=tn(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=tn(44)|0;Ob(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;pk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}_i(j);pr(j);g=1;u=a;return g|0}function Qh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;c=u;u=u+64|0;j=c;k=i?6:5;Ol(j);i=f[h+56>>2]|0;h=X($l(k)|0,e)|0;Hj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=tn(96)|0;xl(h,j);f[a>>2]=h;zj(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0>>0){zh(d,g-j|0,1280);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((e|0)==(j|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Rh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){nd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;nd(a,e);return}function Sh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rd(a,e);return}function Th(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){zd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;zd(a,e);return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Id(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Id(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){pd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;pd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){vd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;vd(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ed(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ed(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){od(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;od(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;sd(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ad(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ad(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Jd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Jd(a,e);return}function ai(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;k=ai(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Ce(e,a+40|0,f[a+8>>2]|0,b,c);ej(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(b)}pr(a);u=d;return 1}function ci(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){xd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;xd(a,e);return}function di(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Rn(g);if((lm(c,0)|0)!=-1?La[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Qa[f[(f[c>>2]|0)+20>>2]&127](c);ng(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;pg(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)pr(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;pr(c)}i=j;u=e;return i|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;ze(e,a+40|0,f[a+8>>2]|0,b,c);ej(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(b)}pr(a);u=d;return 1}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;pr(d)}pr(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);pr(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pr(i)}pr(j)}pr(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}pr(e);return}function gi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Be(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=a;a=0;do{p=f[o+(a<<2)>>2]|0;q=La[f[(f[p>>2]|0)+32>>2]&127](p)|0;b[h>>0]=q;q=l;p=f[q+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}a=a+1|0;o=f[j>>2]|0}while(a>>>0<(f[k>>2]|0)-o>>2>>>0);i=1;u=d;return i|0}function hi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;Kp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Kp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=tn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14868;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=tn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14889;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}pr(f[d>>2]|0);u=c;return}function ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;pr(d)}pr(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);pr(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;pr(h)}pr(i)}pr(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;pr(b);return}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function ki(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=tn(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14799;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Ik(a,d,-1)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);j=tn(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14814;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Ik(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}pr(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;hd(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(hd(d,b),(f[e>>2]|0)>1):0){d=1;do{hd((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=a;a=0;while(1){g=c;ai((f[g+(a*12|0)+4>>2]|0)-(f[g+(a*12|0)>>2]|0)>>2,b)|0;g=f[e>>2]|0;h=f[g+(a*12|0)>>2]|0;i=(f[g+(a*12|0)+4>>2]|0)-h>>2;if(!i)j=g;else{Hc(h,i,1,0,b)|0;j=f[e>>2]|0}a=a+1|0;if(a>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else c=j}return}function ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(zl(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=k;m=0;n=c;o=a;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Na[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=f[g>>2]|0;m=e;n=c-e|0;o=a+e|0}else{l=k;m=0;n=c;o=a}while(0);eh(l|0,o|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function oi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;oi(c+8|0);pr(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)pr(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;pr(h)}if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);pr(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)pr(e);pr(d)}if((b[a+11>>0]|0)>=0)return;pr(f[a>>2]|0);return}function pi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)Kn(h,14714)|0;ml(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;kj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)pr(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}gm(xi(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}pr(f[h>>2]|0);u=g;return}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=lm(k,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ti(j,d);else{f[k>>2]=l;f[h>>2]=k+4}kl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0} +function Wa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4882]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19568+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[4882]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4884]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=19568+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[4887]|0;k=m>>>3;l=19568+(k<<1<<2)|0;i=1<>2]|0}f[q>>2]=h;f[r+12>>2]=h;f[h+8>>2]=r;f[h+12>>2]=l}f[4884]=n;f[4887]=j;o=e;u=b;return o|0}e=f[4883]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[19832+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=i;v=s}else{h=k;k=i;i=s;while(1){s=(f[h+4>>2]&-8)-d|0;l=s>>>0>>0;n=l?s:k;s=l?h:i;h=f[h+16+(((f[h+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=n;v=s;break}else{k=n;i=s}}}i=v+d|0;if(v>>>0>>0){k=f[v+24>>2]|0;h=f[v+12>>2]|0;do if((h|0)==(v|0)){s=v+20|0;n=f[s>>2]|0;if(!n){l=v+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=n;y=s}while(1){s=x+20|0;n=f[s>>2]|0;if(n|0){x=n;y=s;continue}s=x+16|0;n=f[s>>2]|0;if(!n)break;else{x=n;y=s}}f[y>>2]=0;w=x}else{s=f[v+8>>2]|0;f[s+12>>2]=h;f[h+8>>2]=s;w=h}while(0);do if(k|0){h=f[v+28>>2]|0;s=19832+(h<<2)|0;if((v|0)==(f[s>>2]|0)){f[s>>2]=w;if(!w){f[4883]=e&~(1<>2]|0)!=(v|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=k;h=f[v+16>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[v+20>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}while(0);if(t>>>0<16){k=t+d|0;f[v+4>>2]=k|3;e=v+k+4|0;f[e>>2]=f[e>>2]|1}else{f[v+4>>2]=d|3;f[i+4>>2]=t|1;f[i+t>>2]=t;if(m|0){e=f[4887]|0;k=m>>>3;h=19568+(k<<1<<2)|0;s=1<>2]|0}f[z>>2]=e;f[A+12>>2]=e;f[e+8>>2]=A;f[e+12>>2]=h}f[4884]=t;f[4887]=i}o=v+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){h=a+11|0;e=h&-8;s=f[4883]|0;if(s){k=0-e|0;n=h>>>8;if(n)if(e>>>0>16777215)C=31;else{h=(n+1048320|0)>>>16&8;l=n<>>16&4;j=l<>>16&2;D=14-(n|h|l)+(j<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[19832+(C<<2)>>2]|0;a:do if(!D){E=k;F=0;G=0;H=57}else{l=k;j=0;h=e<<((C|0)==31?0:25-(C>>>1)|0);n=D;I=0;while(1){J=(f[n+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=n;M=n;H=61;break a}else{N=J;O=n}else{N=l;O=I}J=f[n+20>>2]|0;n=f[n+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(n|0)?j:J;J=(n|0)==0;if(J){E=N;F=P;G=O;H=57;break}else{l=N;j=P;h=h<<((J^1)&1);I=O}}}while(0);if((H|0)==57){if((F|0)==0&(G|0)==0){D=2<>>12&16;d=D>>>k;D=d>>>5&8;i=d>>>D;d=i>>>2&4;g=i>>>d;i=g>>>1&2;m=g>>>i;g=m>>>1&1;Q=f[19832+((D|k|d|i|g)+(m>>>g)<<2)>>2]|0;R=0}else{Q=F;R=G}if(!Q){S=E;T=R}else{K=E;L=Q;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;i=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=i;T=g;break}else{K=i;M=g;H=61}}if((T|0)!=0?S>>>0<((f[4884]|0)-e|0)>>>0:0){g=T+e|0;if(T>>>0>=g>>>0){o=0;u=b;return o|0}i=f[T+24>>2]|0;m=f[T+12>>2]|0;do if((m|0)==(T|0)){d=T+20|0;k=f[d>>2]|0;if(!k){D=T+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=k;W=d}while(1){d=V+20|0;k=f[d>>2]|0;if(k|0){V=k;W=d;continue}d=V+16|0;k=f[d>>2]|0;if(!k)break;else{V=k;W=d}}f[W>>2]=0;U=V}else{d=f[T+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(i){m=f[T+28>>2]|0;d=19832+(m<<2)|0;if((T|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=s&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=s;break}}f[U+24>>2]=i;d=f[T+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[T+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=s}else X=s}else X=s;while(0);do if(S>>>0>=16){f[T+4>>2]=e|3;f[g+4>>2]=S|1;f[g+S>>2]=S;s=S>>>3;if(S>>>0<256){i=19568+(s<<1<<2)|0;d=f[4882]|0;m=1<>2]|0}f[Y>>2]=g;f[Z+12>>2]=g;f[g+8>>2]=Z;f[g+12>>2]=i;break}i=S>>>8;if(i)if(S>>>0>16777215)_=31;else{m=(i+1048320|0)>>>16&8;d=i<>>16&4;s=d<>>16&2;k=14-(i|m|d)+(s<>>15)|0;_=S>>>(k+7|0)&1|k<<1}else _=0;k=19832+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4883]=X|d;f[k>>2]=g;f[g+24>>2]=k;f[g+12>>2]=g;f[g+8>>2]=g;break}d=S<<((_|0)==31?0:25-(_>>>1)|0);s=f[k>>2]|0;while(1){if((f[s+4>>2]&-8|0)==(S|0)){H=97;break}$=s+16+(d>>>31<<2)|0;k=f[$>>2]|0;if(!k){H=96;break}else{d=d<<1;s=k}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=s;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=s+8|0;k=f[d>>2]|0;f[k+12>>2]=g;f[d>>2]=g;f[g+8>>2]=k;f[g+12>>2]=s;f[g+24>>2]=0;break}}else{k=S+e|0;f[T+4>>2]=k|3;d=T+k+4|0;f[d>>2]=f[d>>2]|1}while(0);o=T+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);T=f[4884]|0;if(T>>>0>=B>>>0){S=T-B|0;$=f[4887]|0;if(S>>>0>15){_=$+B|0;f[4887]=_;f[4884]=S;f[_+4>>2]=S|1;f[_+S>>2]=S;f[$+4>>2]=B|3}else{f[4884]=0;f[4887]=0;f[$+4>>2]=T|3;S=$+T+4|0;f[S>>2]=f[S>>2]|1}o=$+8|0;u=b;return o|0}$=f[4885]|0;if($>>>0>B>>>0){S=$-B|0;f[4885]=S;T=f[4888]|0;_=T+B|0;f[4888]=_;f[_+4>>2]=S|1;f[T+4>>2]=B|3;o=T+8|0;u=b;return o|0}if(!(f[5e3]|0)){f[5002]=4096;f[5001]=4096;f[5003]=-1;f[5004]=-1;f[5005]=0;f[4993]=0;T=c&-16^1431655768;f[c>>2]=T;f[5e3]=T;aa=4096}else aa=f[5002]|0;T=B+48|0;c=B+47|0;S=aa+c|0;_=0-aa|0;aa=S&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4992]|0;if(X|0?(Z=f[4990]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4993]&4)){X=f[4888]|0;c:do if(X){Y=19976;while(1){Z=f[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=f[Y+8>>2]|0;if(!Z){H=118;break c}else Y=Z}s=S-$&_;if(s>>>0<2147483647){Z=Jl(s|0)|0;if((Z|0)==((f[Y>>2]|0)+(f[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=s;else{da=Z;ea=s;H=135;break b}else{fa=Z;ga=s;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Jl(0)|0;if((X|0)!=(-1|0)?(e=X,s=f[5001]|0,Z=s+-1|0,U=((Z&e|0)==0?0:(Z+e&0-s)-e|0)+aa|0,e=f[4990]|0,s=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Z=f[4992]|0;if(Z|0?s>>>0<=e>>>0|s>>>0>Z>>>0:0){ca=0;break}Z=Jl(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;H=135;break b}else{fa=Z;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;H=135;break b}Z=f[5002]|0;X=c-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;H=135;break b}if((Jl(X|0)|0)==(-1|0)){Jl(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;H=135;break b}}while(0);f[4993]=f[4993]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Jl(aa|0)|0,aa=Jl(0)|0,ga=aa-ca|0,fa=ga>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;H=135}if((H|0)==135){ha=(f[4990]|0)+ea|0;f[4990]=ha;if(ha>>>0>(f[4991]|0)>>>0)f[4991]=ha;ha=f[4888]|0;do if(ha){ga=19976;while(1){ia=f[ga>>2]|0;ja=ga+4|0;ka=f[ja>>2]|0;if((da|0)==(ia+ka|0)){H=145;break}fa=f[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((H|0)==145?(f[ga+12>>2]&8|0)==0:0)?ha>>>0>>0&ha>>>0>=ia>>>0:0){f[ja>>2]=ka+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(f[4885]|0)+(ea-ca)|0;f[4888]=fa;f[4885]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[4889]=f[5004];break}if(da>>>0<(f[4886]|0)>>>0)f[4886]=da;aa=da+ea|0;fa=19976;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ca=f[fa+8>>2]|0;if(!ca)break;else fa=ca}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=da;ga=fa+4|0;f[ga>>2]=(f[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;c=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+B|0;T=c-ca-B|0;f[ca+4>>2]=B|3;do if((c|0)!=(ha|0)){if((c|0)==(f[4887]|0)){ba=(f[4884]|0)+T|0;f[4884]=ba;f[4887]=ga;f[ga+4>>2]=ba|1;f[ga+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){S=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(S|0)){f[4882]=f[4882]&~(1<<$);break}else{f[S+12>>2]=X;f[X+8>>2]=S;break}}else{S=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Z=U+4|0;s=f[Z>>2]|0;if(!s){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=s;na=Z}while(1){Z=ma+20|0;s=f[Z>>2]|0;if(s|0){ma=s;na=Z;continue}Z=ma+16|0;s=f[Z>>2]|0;if(!s)break;else{ma=s;na=Z}}f[na>>2]=0;la=ma}else{Z=f[c+8>>2]|0;f[Z+12>>2]=X;f[X+8>>2]=Z;la=X}while(0);if(!S)break;X=f[c+28>>2]|0;Z=19832+(X<<2)|0;do if((c|0)!=(f[Z>>2]|0)){f[S+16+(((f[S+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Z>>2]=la;if(la|0)break;f[4883]=f[4883]&~(1<>2]=S;X=c+16|0;Z=f[X>>2]|0;if(Z|0){f[la+16>>2]=Z;f[Z+24>>2]=la}Z=f[X+4>>2]|0;if(!Z)break;f[la+20>>2]=Z;f[Z+24>>2]=la}while(0);oa=c+_|0;pa=_+T|0}else{oa=c;pa=T}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ga+4>>2]=pa|1;f[ga+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=19568+($<<1<<2)|0;Y=f[4882]|0;Z=1<<$;if(!(Y&Z)){f[4882]=Y|Z;qa=ba+8|0;ra=ba}else{Z=ba+8|0;qa=Z;ra=f[Z>>2]|0}f[qa>>2]=ga;f[ra+12>>2]=ga;f[ga+8>>2]=ra;f[ga+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Z=(ba+1048320|0)>>>16&8;Y=ba<>>16&4;X=Y<<$;Y=(X+245760|0)>>>16&2;s=14-($|Z|Y)+(X<>>15)|0;sa=pa>>>(s+7|0)&1|s<<1}while(0);ba=19832+(sa<<2)|0;f[ga+28>>2]=sa;_=ga+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4883]|0;s=1<>2]=ga;f[ga+24>>2]=ba;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}s=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(s>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{s=s<<1;_=ba}}if((H|0)==193){f[ta>>2]=ga;f[ga+24>>2]=_;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}else if((H|0)==194){s=_+8|0;ba=f[s>>2]|0;f[ba+12>>2]=ga;f[s>>2]=ga;f[ga+8>>2]=ba;f[ga+12>>2]=_;f[ga+24>>2]=0;break}}else{ba=(f[4885]|0)+T|0;f[4885]=ba;f[4888]=ga;f[ga+4>>2]=ba|1}while(0);o=ca+8|0;u=b;return o|0}ga=19976;while(1){T=f[ga>>2]|0;if(T>>>0<=ha>>>0?(ua=T+(f[ga+4>>2]|0)|0,ua>>>0>ha>>>0):0)break;ga=f[ga+8>>2]|0}ga=ua+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0>>0?ha:T;T=ga+8|0;c=da+8|0;aa=(c&7|0)==0?0:0-c&7;c=da+aa|0;fa=ea+-40-aa|0;f[4888]=c;f[4885]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[4889]=f[5004];fa=ga+4|0;f[fa>>2]=27;f[T>>2]=f[4994];f[T+4>>2]=f[4995];f[T+8>>2]=f[4996];f[T+12>>2]=f[4997];f[4994]=da;f[4995]=ea;f[4997]=0;f[4996]=T;T=ga+24|0;do{c=T;T=T+4|0;f[T>>2]=7}while((c+8|0)>>>0>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;f[fa>>2]=f[fa>>2]&-2;f[ha+4>>2]=T|1;f[ga>>2]=T;c=T>>>3;if(T>>>0<256){aa=19568+(c<<1<<2)|0;ba=f[4882]|0;s=1<>2]|0}f[va>>2]=ha;f[wa+12>>2]=ha;f[ha+8>>2]=wa;f[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)xa=31;else{s=(aa+1048320|0)>>>16&8;ba=aa<>>16&4;c=ba<>>16&2;Y=14-(aa|s|ba)+(c<>>15)|0;xa=T>>>(Y+7|0)&1|Y<<1}else xa=0;Y=19832+(xa<<2)|0;f[ha+28>>2]=xa;f[ha+20>>2]=0;f[ca>>2]=0;ba=f[4883]|0;c=1<>2]=ha;f[ha+24>>2]=Y;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}c=T<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Y>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(T|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Y=f[ya>>2]|0;if(!Y){H=215;break}else{c=c<<1;ba=Y}}if((H|0)==215){f[ya>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==216){c=ba+8|0;T=f[c>>2]|0;f[T+12>>2]=ha;f[c>>2]=ha;f[ha+8>>2]=T;f[ha+12>>2]=ba;f[ha+24>>2]=0;break}}}else{T=f[4886]|0;if((T|0)==0|da>>>0>>0)f[4886]=da;f[4994]=da;f[4995]=ea;f[4997]=0;f[4891]=f[5e3];f[4890]=-1;T=0;do{c=19568+(T<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;T=T+1|0}while((T|0)!=32);T=da+8|0;ba=(T&7|0)==0?0:0-T&7;T=da+ba|0;c=ea+-40-ba|0;f[4888]=T;f[4885]=c;f[T+4>>2]=c|1;f[T+c+4>>2]=40;f[4889]=f[5004]}while(0);ea=f[4885]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4885]=da;ea=f[4888]|0;ha=ea+B|0;f[4888]=ha;f[ha+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=er()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Xa(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=D;qa=M;ra=N;sa=M;ta=N;ua=M;va=P;wa=O;xa=Q;ya=oa}else{za=G;Cq(za)}b:while(1){oa=f[pa+(ya<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=Q>>>5;Ba=1<<(Q&31);Ca=(oa|0)==-1|(Q|0)==-1;Da=oa;Ea=1;Fa=0;c:while(1){Ga=Ea^1;Ha=Da;Ia=Fa;while(1){if((Ha|0)==-1){Ja=Ia;break c}Ka=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(La=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(La|0)!=-1):0)?(Ma=f[S>>2]|0,Na=f[A>>2]|0,Oa=f[Na+(f[Ma+(La<<2)>>2]<<2)>>2]|0,Pa=La+1|0,Qa=f[Na+(f[Ma+((((Pa>>>0)%3|0|0)==0?La+-2|0:Pa)<<2)>>2]<<2)>>2]|0,Pa=f[Na+(f[Ma+((((La>>>0)%3|0|0)==0?2:-1)+La<<2)>>2]<<2)>>2]|0,(Oa|0)<(ya|0)&(Qa|0)<(ya|0)&(Pa|0)<(ya|0)):0){La=X(Oa,g)|0;Oa=X(Qa,g)|0;Qa=X(Pa,g)|0;if(T){Pa=0;do{f[Ka+(Pa<<2)>>2]=(f[c+(Pa+Qa<<2)>>2]|0)+(f[c+(Pa+Oa<<2)>>2]|0)-(f[c+(Pa+La<<2)>>2]|0);Pa=Pa+1|0}while((Pa|0)!=(g|0))}Pa=Ia+1|0;if((Pa|0)==4){Ja=4;break c}else Ra=Pa}else Ra=Ia;do if(Ea){Pa=Ha+1|0;La=((Pa>>>0)%3|0|0)==0?Ha+-2|0:Pa;if(((La|0)!=-1?(f[(f[e>>2]|0)+(La>>>5<<2)>>2]&1<<(La&31)|0)==0:0)?(Pa=f[(f[(f[R>>2]|0)+12>>2]|0)+(La<<2)>>2]|0,La=Pa+1|0,(Pa|0)!=-1):0)Sa=((La>>>0)%3|0|0)==0?Pa+-2|0:La;else Sa=-1}else{La=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((La|0)!=-1?(f[(f[e>>2]|0)+(La>>>5<<2)>>2]&1<<(La&31)|0)==0:0)?(Pa=f[(f[(f[R>>2]|0)+12>>2]|0)+(La<<2)>>2]|0,(Pa|0)!=-1):0)if(!((Pa>>>0)%3|0)){Sa=Pa+2|0;break}else{Sa=Pa+-1|0;break}else Sa=-1}while(0);if((Sa|0)==(oa|0)){Ja=Ra;break c}if((Sa|0)!=-1|Ga){Ha=Sa;Ia=Ra}else break}if(Ca){Da=-1;Ea=0;Fa=Ra;continue}if(f[(f[e>>2]|0)+(Aa<<2)>>2]&Ba|0){Da=-1;Ea=0;Fa=Ra;continue}Ia=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ia|0)==-1){Da=-1;Ea=0;Fa=Ra;continue}if(!((Ia>>>0)%3|0)){Da=Ia+2|0;Ea=0;Fa=Ra;continue}else{Da=Ia+-1|0;Ea=0;Fa=Ra;continue}}Fa=X(ya,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Ea=c+((X(xa+-2|0,g)|0)<<2)|0;Da=c+(Fa<<2)|0;Q=f[_>>2]|0;if(T){Ba=0;Aa=0;while(1){Ca=(f[Ea+(Aa<<2)>>2]|0)-(f[Da+(Aa<<2)>>2]|0)|0;oa=((Ca|0)>-1?Ca:0-Ca|0)+Ba|0;f[ua+(Aa<<2)>>2]=Ca;f[Q+(Aa<<2)>>2]=Ca<<1^Ca>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Ta=oa;break}else Ba=oa}}else Ta=0;xo(j,$,Q,g);Ba=al(j)|0;Aa=I;oa=Jm(j)|0;Ca=go(oa|0,I|0,Ba|0,Aa|0)|0;Aa=I;Ba=(Ja|0)>0;if(Ba){oa=Ja+-1|0;Ia=p+(oa<<3)|0;Ha=Ia;Ga=go(f[Ha>>2]|0,f[Ha+4>>2]|0,Ja|0,((Ja|0)<0)<<31>>31|0)|0;Ha=I;Pa=Ia;f[Pa>>2]=Ga;f[Pa+4>>2]=Ha;Ua=+W(+((+(Ga>>>0)+4294967296.0*+(Ha|0))*+Em(Ga,f[o+(oa<<3)>>2]|0)));oa=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,Ca|0,Aa|0)|0;Va=oa}else Va=Ca;Ca=r;f[Ca>>2]=Va;f[Ca+4>>2]=Ta;b[V>>0]=0;f[Z>>2]=0;Zf(aa,Ea,Ea+(g<<2)|0);f[s>>2]=va;f[t>>2]=wa;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Mf(ba,k,j);if((Ja|0)<1){Wa=ta;Xa=sa;Ya=ra;Za=qa;_a=wa;$a=va;ab=va}else{Ca=n+Ja|0;oa=f[q>>2]|0;Aa=Ja+-1|0;Ga=o+(Aa<<3)|0;Ha=p+(Aa<<3)|0;Aa=oa;Pa=f[H>>2]|0;Ia=Ca+-1|0;La=(Ia|0)==(n|0);Oa=Ca+-2|0;Qa=ma>>>0>>0;Ka=~Ja;Ma=Ja+2+((Ka|0)>-2?Ka:-2)|0;Ka=Pa;Na=Ia>>>0>n>>>0;bb=0;cb=1;while(1){bb=bb+1|0;pj(n|0,1,Ma|0)|0;pj(n|0,0,bb|0)|0;d:while(1){if(T){pj(f[m>>2]|0,0,na|0)|0;db=f[m>>2]|0;eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0)){gb=f[l+(fb*12|0)>>2]|0;hb=0;do{ib=db+(hb<<2)|0;f[ib>>2]=(f[ib>>2]|0)+(f[gb+(hb<<2)>>2]|0);hb=hb+1|0}while((hb|0)!=(g|0));jb=(1<>0]|0))lb=(1<>2]|0;do if(T){fb=0;do{db=eb+(fb<<2)|0;f[db>>2]=(f[db>>2]|0)/(cb|0)|0;fb=fb+1|0}while((fb|0)!=(g|0));fb=f[_>>2]|0;if(T){mb=0;nb=0}else{ob=fb;pb=0;break}while(1){db=(f[eb+(nb<<2)>>2]|0)-(f[Da+(nb<<2)>>2]|0)|0;hb=((db|0)>-1?db:0-db|0)+mb|0;f[oa+(nb<<2)>>2]=db;f[fb+(nb<<2)>>2]=db<<1^db>>31;nb=nb+1|0;if((nb|0)==(g|0)){ob=fb;pb=hb;break}else mb=hb}}else{ob=f[_>>2]|0;pb=0}while(0);xo(j,$,ob,g);eb=al(j)|0;fb=I;hb=Jm(j)|0;db=go(hb|0,I|0,eb|0,fb|0)|0;fb=I;if(Ba){eb=Ga;hb=go(f[eb>>2]|0,f[eb+4>>2]|0,cb|0,0)|0;eb=Ha;gb=f[eb>>2]|0;ib=f[eb+4>>2]|0;Ua=+W(+((+(gb>>>0)+4294967296.0*+(ib|0))*+Em(gb,hb)));hb=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,db|0,fb|0)|0;qb=hb}else qb=db;db=f[r>>2]|0;if(!((qb|0)>=(db|0)?!((qb|0)<=(db|0)?(pb|0)<(f[U>>2]|0):0):0)){db=r;f[db>>2]=qb;f[db+4>>2]=pb;b[V>>0]=kb;f[Z>>2]=cb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Mf(aa,k,j);f[x>>2]=Aa;f[y>>2]=Pa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Mf(ba,k,j)}if(La)break;rb=b[Ia>>0]|0;db=rb;hb=-1;while(1){fb=hb+-1|0;sb=Ca+fb|0;gb=db;db=b[sb>>0]|0;if((db&255)<(gb&255))break;if((sb|0)==(n|0)){tb=82;break d}else hb=fb}fb=Ca+hb|0;if((db&255)<(rb&255)){ub=rb;vb=Ia}else{gb=Ca;ib=Ia;while(1){eb=ib+-1|0;if((db&255)<(h[gb+-2>>0]|0)){ub=1;vb=eb;break}else{wb=ib;ib=eb;gb=wb}}}b[sb>>0]=ub;b[vb>>0]=db;if((hb|0)<-1){xb=fb;yb=Ia}else continue;while(1){gb=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=gb;gb=xb+1|0;ib=yb+-1|0;if(gb>>>0>>0){xb=gb;yb=ib}else continue d}}if(((tb|0)==82?(tb=0,Na):0)?(fb=b[n>>0]|0,b[n>>0]=rb,b[Ia>>0]=fb,Qa):0){fb=Oa;hb=ma;do{db=b[hb>>0]|0;b[hb>>0]=b[fb>>0]|0;b[fb>>0]=db;hb=hb+1|0;fb=fb+-1|0}while(hb>>>0>>0)}if((cb|0)>=(Ja|0)){Wa=Ka;Xa=oa;Ya=Ka;Za=oa;_a=Pa;$a=Aa;ab=oa;break}else cb=cb+1|0}}if(Ba){cb=f[Z>>2]|0;oa=o+(Ja+-1<<3)|0;Aa=oa;Pa=go(f[Aa>>2]|0,f[Aa+4>>2]|0,cb|0,((cb|0)<0)<<31>>31|0)|0;cb=oa;f[cb>>2]=Pa;f[cb+4>>2]=I}if(T){cb=f[ba>>2]|0;Pa=f[C>>2]|0;oa=0;do{Aa=f[cb+(oa<<2)>>2]|0;f[Pa+(oa<<2)>>2]=Aa<<1^Aa>>31;oa=oa+1|0}while((oa|0)!=(g|0));zb=Pa}else zb=f[C>>2]|0;wo(j,$,zb,g);if(Ba){Pa=Ja+-1|0;Ab=a+60+(Pa*12|0)|0;oa=a+60+(Pa*12|0)+4|0;cb=a+60+(Pa*12|0)+8|0;Pa=0;do{Aa=f[oa>>2]|0;Ka=f[cb>>2]|0;Oa=(Aa|0)==(Ka<<5|0);if(!(h[V>>0]&1<>>0<1073741823?(Qa>>>0>>0?Ia:Qa):2147483647);Bb=f[oa>>2]|0}else Bb=Aa;f[oa>>2]=Bb+1;Qa=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Qa>>2]=f[Qa>>2]|1<<(Bb&31)}else{if(Oa){if((Aa+1|0)<0){tb=115;break b}Oa=Ka<<6;Ka=Aa+32&-32;si(Ab,Aa>>>0<1073741823?(Oa>>>0>>0?Ka:Oa):2147483647);Cb=f[oa>>2]|0}else Cb=Aa;f[oa>>2]=Cb+1;Aa=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Cb&31))}Pa=Pa+1|0}while((Pa|0)<(Ja|0))}Pa=d+(Fa<<2)|0;oa=f[z>>2]|0;if((oa|0)>0){cb=oa;oa=0;Ba=f[aa>>2]|0;while(1){if((cb|0)>0){Aa=0;do{Oa=f[Ba+(Aa<<2)>>2]|0;Ka=f[ca>>2]|0;if((Oa|0)>(Ka|0)){Qa=f[da>>2]|0;f[Qa+(Aa<<2)>>2]=Ka;Db=Qa}else{Qa=f[ea>>2]|0;Ka=f[da>>2]|0;f[Ka+(Aa<<2)>>2]=(Oa|0)<(Qa|0)?Qa:Oa;Db=Ka}Aa=Aa+1|0}while((Aa|0)<(f[z>>2]|0));Eb=Db}else Eb=f[da>>2]|0;Aa=(f[Da+(oa<<2)>>2]|0)-(f[Eb+(oa<<2)>>2]|0)|0;Ka=Pa+(oa<<2)|0;f[Ka>>2]=Aa;do if((Aa|0)<(f[fa>>2]|0)){Fb=(f[ga>>2]|0)+Aa|0;tb=105}else{if((Aa|0)<=(f[ha>>2]|0))break;Fb=Aa-(f[ga>>2]|0)|0;tb=105}while(0);if((tb|0)==105){tb=0;f[Ka>>2]=Fb}oa=oa+1|0;cb=f[z>>2]|0;if((oa|0)>=(cb|0))break;else Ba=Eb}}Ba=f[ia>>2]|0;if(Ba|0){cb=f[la>>2]|0;if((cb|0)!=(Ba|0))f[la>>2]=cb+(~((cb+-4-Ba|0)>>>2)<<2);pr(Ba)}Ba=f[ja>>2]|0;if(Ba|0){cb=f[ka>>2]|0;if((cb|0)!=(Ba|0))f[ka>>2]=cb+(~((cb+-4-Ba|0)>>>2)<<2);pr(Ba)}if((ya|0)<=1){Gb=Za;Hb=Ya;break a}Ba=f[B>>2]|0;pa=f[Ba>>2]|0;cb=ya+-1|0;if((f[Ba+4>>2]|0)-pa>>2>>>0<=cb>>>0){za=Ba;tb=17;break}else{Ba=ya;qa=Za;ra=Ya;sa=Xa;ta=Wa;ua=ab;va=$a;wa=_a;ya=cb;xa=Ba}}if((tb|0)==17)Cq(za);else if((tb|0)==110)Cq(Ab);else if((tb|0)==115)Cq(Ab)}else{Gb=M;Hb=N}while(0);N=f[l>>2]|0;if((g|0)>0){M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Ab=a+32|0;za=a+12|0;xa=a+28|0;ya=a+20|0;_a=a+24|0;a=g;g=0;wa=N;while(1){if((a|0)>0){N=0;do{$a=f[wa+(N<<2)>>2]|0;va=f[M>>2]|0;if(($a|0)>(va|0)){ab=f[Ab>>2]|0;f[ab+(N<<2)>>2]=va;Ib=ab}else{ab=f[za>>2]|0;va=f[Ab>>2]|0;f[va+(N<<2)>>2]=($a|0)<(ab|0)?ab:$a;Ib=va}N=N+1|0}while((N|0)<(f[z>>2]|0));Jb=Ib}else Jb=f[Ab>>2]|0;N=(f[c+(g<<2)>>2]|0)-(f[Jb+(g<<2)>>2]|0)|0;va=d+(g<<2)|0;f[va>>2]=N;if((N|0)>=(f[xa>>2]|0)){if((N|0)>(f[_a>>2]|0)){Kb=N-(f[ya>>2]|0)|0;tb=141}}else{Kb=(f[ya>>2]|0)+N|0;tb=141}if((tb|0)==141){tb=0;f[va>>2]=Kb}g=g+1|0;a=f[z>>2]|0;if((g|0)>=(a|0))break;else wa=Jb}}if(Gb|0){if((Hb|0)!=(Gb|0))f[H>>2]=Hb+(~((Hb+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[m>>2]|0;if(Gb|0){m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+36>>2]|0;if(Gb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+24>>2]|0;if(Gb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+12>>2]|0;if(Gb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l>>2]|0;if(!Gb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Gb|0))f[E>>2]=l+(~((l+-4-Gb|0)>>>2)<<2);pr(Gb);u=i;return 1}function Ya(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=D;pa=M;qa=N;ra=M;sa=N;ta=M;ua=P;va=O;wa=Q;xa=na}else{ya=G;Cq(ya)}b:while(1){na=f[oa+(xa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=(na|0)==-1|(Q|0)==-1;Aa=na;Ba=1;Ca=0;c:while(1){Da=Ba^1;Ea=Aa;Fa=Ca;while(1){if((Ea|0)==-1){Ga=Fa;break c}Ha=f[l+(Fa*12|0)>>2]|0;Ia=f[R>>2]|0;Ja=f[Ia+(Ea<<2)>>2]|0;if((Ja|0)!=-1){Ka=f[e>>2]|0;La=f[A>>2]|0;Ma=f[La+(f[Ka+(Ja<<2)>>2]<<2)>>2]|0;Na=Ja+1|0;Oa=((Na>>>0)%3|0|0)==0?Ja+-2|0:Na;if((Oa|0)==-1)Pa=-1;else Pa=f[Ka+(Oa<<2)>>2]|0;Oa=f[La+(Pa<<2)>>2]|0;Na=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if((Na|0)==-1)Qa=-1;else Qa=f[Ka+(Na<<2)>>2]|0;Na=f[La+(Qa<<2)>>2]|0;if((Ma|0)<(xa|0)&(Oa|0)<(xa|0)&(Na|0)<(xa|0)){La=X(Ma,g)|0;Ma=X(Oa,g)|0;Oa=X(Na,g)|0;if(S){Na=0;do{f[Ha+(Na<<2)>>2]=(f[c+(Na+Oa<<2)>>2]|0)+(f[c+(Na+Ma<<2)>>2]|0)-(f[c+(Na+La<<2)>>2]|0);Na=Na+1|0}while((Na|0)!=(g|0))}Na=Fa+1|0;if((Na|0)==4){Ga=4;break c}else Ra=Na}else Ra=Fa}else Ra=Fa;do if(Ba){Na=Ea+1|0;La=((Na>>>0)%3|0|0)==0?Ea+-2|0:Na;if((La|0)!=-1?(Na=f[Ia+(La<<2)>>2]|0,La=Na+1|0,(Na|0)!=-1):0)Sa=((La>>>0)%3|0|0)==0?Na+-2|0:La;else Sa=-1}else{La=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((La|0)!=-1?(Na=f[Ia+(La<<2)>>2]|0,(Na|0)!=-1):0)if(!((Na>>>0)%3|0)){Sa=Na+2|0;break}else{Sa=Na+-1|0;break}else Sa=-1}while(0);if((Sa|0)==(na|0)){Ga=Ra;break c}if((Sa|0)!=-1|Da){Ea=Sa;Fa=Ra}else break}if(za){Aa=-1;Ba=0;Ca=Ra;continue}Fa=f[Ia+(Q<<2)>>2]|0;if((Fa|0)==-1){Aa=-1;Ba=0;Ca=Ra;continue}if(!((Fa>>>0)%3|0)){Aa=Fa+2|0;Ba=0;Ca=Ra;continue}else{Aa=Fa+-1|0;Ba=0;Ca=Ra;continue}}Ca=X(xa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ba=c+((X(wa+-2|0,g)|0)<<2)|0;Aa=c+(Ca<<2)|0;Q=f[Z>>2]|0;if(S){za=0;na=0;while(1){Fa=(f[Ba+(na<<2)>>2]|0)-(f[Aa+(na<<2)>>2]|0)|0;Ea=((Fa|0)>-1?Fa:0-Fa|0)+za|0;f[ta+(na<<2)>>2]=Fa;f[Q+(na<<2)>>2]=Fa<<1^Fa>>31;na=na+1|0;if((na|0)==(g|0)){Ta=Ea;break}else za=Ea}}else Ta=0;xo(j,_,Q,g);za=al(j)|0;na=I;Ea=Jm(j)|0;Fa=go(Ea|0,I|0,za|0,na|0)|0;na=I;za=(Ga|0)>0;if(za){Ea=Ga+-1|0;Da=p+(Ea<<3)|0;Na=Da;La=go(f[Na>>2]|0,f[Na+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Na=I;Ma=Da;f[Ma>>2]=La;f[Ma+4>>2]=Na;Ua=+W(+((+(La>>>0)+4294967296.0*+(Na|0))*+Em(La,f[o+(Ea<<3)>>2]|0)));Ea=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,Fa|0,na|0)|0;Va=Ea}else Va=Fa;Fa=r;f[Fa>>2]=Va;f[Fa+4>>2]=Ta;b[U>>0]=0;f[V>>2]=0;Zf($,Ba,Ba+(g<<2)|0);f[s>>2]=ua;f[t>>2]=va;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Mf(aa,k,j);if((Ga|0)<1){Wa=sa;Xa=ra;Ya=qa;Za=pa;_a=va;$a=ua;ab=ua}else{Fa=n+Ga|0;Ea=f[q>>2]|0;na=Ga+-1|0;La=o+(na<<3)|0;Na=p+(na<<3)|0;na=Ea;Ma=f[H>>2]|0;Da=Fa+-1|0;Oa=(Da|0)==(n|0);Ha=Fa+-2|0;Ka=la>>>0>>0;Ja=~Ga;bb=Ga+2+((Ja|0)>-2?Ja:-2)|0;Ja=Ma;cb=Da>>>0>n>>>0;db=0;eb=1;while(1){db=db+1|0;pj(n|0,1,bb|0)|0;pj(n|0,0,db|0)|0;d:while(1){if(S){pj(f[m>>2]|0,0,ma|0)|0;fb=f[m>>2]|0;gb=0;hb=0;while(1){if(!(b[n+hb>>0]|0)){ib=f[l+(hb*12|0)>>2]|0;jb=0;do{kb=fb+(jb<<2)|0;f[kb>>2]=(f[kb>>2]|0)+(f[ib+(jb<<2)>>2]|0);jb=jb+1|0}while((jb|0)!=(g|0));lb=(1<>0]|0))nb=(1<>2]|0;do if(S){hb=0;do{fb=gb+(hb<<2)|0;f[fb>>2]=(f[fb>>2]|0)/(eb|0)|0;hb=hb+1|0}while((hb|0)!=(g|0));hb=f[Z>>2]|0;if(S){ob=0;pb=0}else{qb=hb;rb=0;break}while(1){fb=(f[gb+(pb<<2)>>2]|0)-(f[Aa+(pb<<2)>>2]|0)|0;jb=((fb|0)>-1?fb:0-fb|0)+ob|0;f[Ea+(pb<<2)>>2]=fb;f[hb+(pb<<2)>>2]=fb<<1^fb>>31;pb=pb+1|0;if((pb|0)==(g|0)){qb=hb;rb=jb;break}else ob=jb}}else{qb=f[Z>>2]|0;rb=0}while(0);xo(j,_,qb,g);gb=al(j)|0;hb=I;jb=Jm(j)|0;fb=go(jb|0,I|0,gb|0,hb|0)|0;hb=I;if(za){gb=La;jb=go(f[gb>>2]|0,f[gb+4>>2]|0,eb|0,0)|0;gb=Na;ib=f[gb>>2]|0;kb=f[gb+4>>2]|0;Ua=+W(+((+(ib>>>0)+4294967296.0*+(kb|0))*+Em(ib,jb)));jb=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,fb|0,hb|0)|0;sb=jb}else sb=fb;fb=f[r>>2]|0;if(!((sb|0)>=(fb|0)?!((sb|0)<=(fb|0)?(rb|0)<(f[T>>2]|0):0):0)){fb=r;f[fb>>2]=sb;f[fb+4>>2]=rb;b[U>>0]=mb;f[V>>2]=eb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Mf($,k,j);f[x>>2]=na;f[y>>2]=Ma;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Mf(aa,k,j)}if(Oa)break;tb=b[Da>>0]|0;fb=tb;jb=-1;while(1){hb=jb+-1|0;ub=Fa+hb|0;ib=fb;fb=b[ub>>0]|0;if((fb&255)<(ib&255))break;if((ub|0)==(n|0)){vb=82;break d}else jb=hb}hb=Fa+jb|0;if((fb&255)<(tb&255)){wb=tb;xb=Da}else{ib=Fa;kb=Da;while(1){gb=kb+-1|0;if((fb&255)<(h[ib+-2>>0]|0)){wb=1;xb=gb;break}else{yb=kb;kb=gb;ib=yb}}}b[ub>>0]=wb;b[xb>>0]=fb;if((jb|0)<-1){zb=hb;Ab=Da}else continue;while(1){ib=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=ib;ib=zb+1|0;kb=Ab+-1|0;if(ib>>>0>>0){zb=ib;Ab=kb}else continue d}}if(((vb|0)==82?(vb=0,cb):0)?(hb=b[n>>0]|0,b[n>>0]=tb,b[Da>>0]=hb,Ka):0){hb=Ha;jb=la;do{fb=b[jb>>0]|0;b[jb>>0]=b[hb>>0]|0;b[hb>>0]=fb;jb=jb+1|0;hb=hb+-1|0}while(jb>>>0>>0)}if((eb|0)>=(Ga|0)){Wa=Ja;Xa=Ea;Ya=Ja;Za=Ea;_a=Ma;$a=na;ab=Ea;break}else eb=eb+1|0}}if(za){eb=f[V>>2]|0;Ea=o+(Ga+-1<<3)|0;na=Ea;Ma=go(f[na>>2]|0,f[na+4>>2]|0,eb|0,((eb|0)<0)<<31>>31|0)|0;eb=Ea;f[eb>>2]=Ma;f[eb+4>>2]=I}if(S){eb=f[aa>>2]|0;Ma=f[C>>2]|0;Ea=0;do{na=f[eb+(Ea<<2)>>2]|0;f[Ma+(Ea<<2)>>2]=na<<1^na>>31;Ea=Ea+1|0}while((Ea|0)!=(g|0));Bb=Ma}else Bb=f[C>>2]|0;wo(j,_,Bb,g);if(za){Ma=Ga+-1|0;Cb=a+60+(Ma*12|0)|0;Ea=a+60+(Ma*12|0)+4|0;eb=a+60+(Ma*12|0)+8|0;Ma=0;do{na=f[Ea>>2]|0;Ja=f[eb>>2]|0;Ha=(na|0)==(Ja<<5|0);if(!(h[U>>0]&1<>>0<1073741823?(Ka>>>0>>0?Da:Ka):2147483647);Db=f[Ea>>2]|0}else Db=na;f[Ea>>2]=Db+1;Ka=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[Ka>>2]=f[Ka>>2]|1<<(Db&31)}else{if(Ha){if((na+1|0)<0){vb=115;break b}Ha=Ja<<6;Ja=na+32&-32;si(Cb,na>>>0<1073741823?(Ha>>>0>>0?Ja:Ha):2147483647);Eb=f[Ea>>2]|0}else Eb=na;f[Ea>>2]=Eb+1;na=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Eb&31))}Ma=Ma+1|0}while((Ma|0)<(Ga|0))}Ma=d+(Ca<<2)|0;Ea=f[z>>2]|0;if((Ea|0)>0){eb=Ea;Ea=0;za=f[$>>2]|0;while(1){if((eb|0)>0){na=0;do{Ha=f[za+(na<<2)>>2]|0;Ja=f[ba>>2]|0;if((Ha|0)>(Ja|0)){Ka=f[ca>>2]|0;f[Ka+(na<<2)>>2]=Ja;Fb=Ka}else{Ka=f[da>>2]|0;Ja=f[ca>>2]|0;f[Ja+(na<<2)>>2]=(Ha|0)<(Ka|0)?Ka:Ha;Fb=Ja}na=na+1|0}while((na|0)<(f[z>>2]|0));Gb=Fb}else Gb=f[ca>>2]|0;na=(f[Aa+(Ea<<2)>>2]|0)-(f[Gb+(Ea<<2)>>2]|0)|0;Ja=Ma+(Ea<<2)|0;f[Ja>>2]=na;do if((na|0)<(f[ea>>2]|0)){Hb=(f[fa>>2]|0)+na|0;vb=105}else{if((na|0)<=(f[ga>>2]|0))break;Hb=na-(f[fa>>2]|0)|0;vb=105}while(0);if((vb|0)==105){vb=0;f[Ja>>2]=Hb}Ea=Ea+1|0;eb=f[z>>2]|0;if((Ea|0)>=(eb|0))break;else za=Gb}}za=f[ha>>2]|0;if(za|0){eb=f[ka>>2]|0;if((eb|0)!=(za|0))f[ka>>2]=eb+(~((eb+-4-za|0)>>>2)<<2);pr(za)}za=f[ia>>2]|0;if(za|0){eb=f[ja>>2]|0;if((eb|0)!=(za|0))f[ja>>2]=eb+(~((eb+-4-za|0)>>>2)<<2);pr(za)}if((xa|0)<=1){Ib=Za;Jb=Ya;break a}za=f[B>>2]|0;oa=f[za>>2]|0;eb=xa+-1|0;if((f[za+4>>2]|0)-oa>>2>>>0<=eb>>>0){ya=za;vb=17;break}else{za=xa;pa=Za;qa=Ya;ra=Xa;sa=Wa;ta=ab;ua=$a;va=_a;xa=eb;wa=za}}if((vb|0)==17)Cq(ya);else if((vb|0)==110)Cq(Cb);else if((vb|0)==115)Cq(Cb)}else{Ib=M;Jb=N}while(0);N=f[l>>2]|0;if((g|0)>0){M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Cb=a+32|0;ya=a+12|0;wa=a+28|0;xa=a+20|0;_a=a+24|0;a=g;g=0;va=N;while(1){if((a|0)>0){N=0;do{$a=f[va+(N<<2)>>2]|0;ua=f[M>>2]|0;if(($a|0)>(ua|0)){ab=f[Cb>>2]|0;f[ab+(N<<2)>>2]=ua;Kb=ab}else{ab=f[ya>>2]|0;ua=f[Cb>>2]|0;f[ua+(N<<2)>>2]=($a|0)<(ab|0)?ab:$a;Kb=ua}N=N+1|0}while((N|0)<(f[z>>2]|0));Lb=Kb}else Lb=f[Cb>>2]|0;N=(f[c+(g<<2)>>2]|0)-(f[Lb+(g<<2)>>2]|0)|0;ua=d+(g<<2)|0;f[ua>>2]=N;if((N|0)>=(f[wa>>2]|0)){if((N|0)>(f[_a>>2]|0)){Mb=N-(f[xa>>2]|0)|0;vb=141}}else{Mb=(f[xa>>2]|0)+N|0;vb=141}if((vb|0)==141){vb=0;f[ua>>2]=Mb}g=g+1|0;a=f[z>>2]|0;if((g|0)>=(a|0))break;else va=Lb}}if(Ib|0){if((Jb|0)!=(Ib|0))f[H>>2]=Jb+(~((Jb+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[m>>2]|0;if(Ib|0){m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+36>>2]|0;if(Ib|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+24>>2]|0;if(Ib|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+12>>2]|0;if(Ib|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l>>2]|0;if(!Ib){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Ib|0))f[E>>2]=l+(~((l+-4-Ib|0)>>>2)<<2);pr(Ib);u=i;return 1}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=(Ml(7108,7300,e,c)|0)-7108>>2;j=g;g=h;h=0;a:while(1){k=(f[7108+(i<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=211;n=h;o=8;break}p=f[6916+(l<<2)>>2]|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((k|0)==(X(q,p)|0)){r=h;break}else l=l+1|0}b:do if((o|0)==8){c:while(1){o=0;l=(k>>>0)/(m>>>0)|0;do if(l>>>0>=m>>>0)if((k|0)!=(X(l,m)|0)){p=m+10|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((k|0)!=(X(q,p)|0)){q=m+12|0;s=(k>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((k|0)!=(X(s,q)|0)){s=m+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(X(t,s)|0)){t=m+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(X(v,t)|0)){v=m+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(X(w,v)|0)){w=m+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(X(x,w)|0)){y=9;z=w;A=n}else{x=m+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(k|0)==(X(B,x)|0);y=C?1:D?9:0;z=C|D?x:m+210|0;A=C?k:n}else{y=1;z=w;A=k}}else{y=9;z=v;A=n}else{y=1;z=v;A=k}}else{y=9;z=t;A=n}else{y=1;z=t;A=k}}else{y=9;z=s;A=n}else{y=1;z=s;A=k}}else{y=9;z=q;A=n}else{y=1;z=q;A=k}}else{y=9;z=p;A=n}else{y=1;z=p;A=k}}else{y=9;z=m;A=n}else{y=1;z=m;A=k}while(0);switch(y&15){case 9:{r=A;break b;break}case 0:{m=z;n=A;o=8;break}default:break c}}if(!y)r=A;else{o=107;break a}}while(0);l=i+1|0;p=(l|0)==48;q=(p&1)+j|0;i=p?0:l;j=q;g=q*210|0;h=r}if((o|0)==106){f[d>>2]=k;E=k;break}else if((o|0)==107){f[d>>2]=k;E=A;break}}else{h=Ml(6916,7108,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=D;oa=M;pa=N;qa=M;ra=N;sa=M;ta=P;ua=O;va=Q;wa=ma}else{xa=G;Cq(xa)}b:while(1){ma=f[na+(wa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=Q>>>5;za=1<<(Q&31);Aa=(ma|0)==-1|(Q|0)==-1;Ba=ma;Ca=1;Da=0;c:while(1){Ea=Ca^1;Fa=Ba;Ga=Da;while(1){if((Fa|0)==-1){Ha=Ga;break c}Ia=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Fa>>>5<<2)>>2]&1<<(Fa&31)|0)==0?(Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Fa<<2)>>2]|0,(Ja|0)!=-1):0)?(Ka=f[S>>2]|0,La=f[A>>2]|0,Ma=f[La+(f[Ka+(Ja<<2)>>2]<<2)>>2]|0,Na=Ja+1|0,Oa=f[La+(f[Ka+((((Na>>>0)%3|0|0)==0?Ja+-2|0:Na)<<2)>>2]<<2)>>2]|0,Na=f[La+(f[Ka+((((Ja>>>0)%3|0|0)==0?2:-1)+Ja<<2)>>2]<<2)>>2]|0,(Ma|0)<(wa|0)&(Oa|0)<(wa|0)&(Na|0)<(wa|0)):0){Ja=X(Ma,g)|0;Ma=X(Oa,g)|0;Oa=X(Na,g)|0;if(T){Na=0;do{f[Ia+(Na<<2)>>2]=(f[c+(Na+Oa<<2)>>2]|0)+(f[c+(Na+Ma<<2)>>2]|0)-(f[c+(Na+Ja<<2)>>2]|0);Na=Na+1|0}while((Na|0)!=(g|0))}Na=Ga+1|0;if((Na|0)==4){Ha=4;break c}else Pa=Na}else Pa=Ga;do if(Ca){Na=Fa+1|0;Ja=((Na>>>0)%3|0|0)==0?Fa+-2|0:Na;if(((Ja|0)!=-1?(f[(f[z>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0:0)?(Na=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,Ja=Na+1|0,(Na|0)!=-1):0)Qa=((Ja>>>0)%3|0|0)==0?Na+-2|0:Ja;else Qa=-1}else{Ja=(((Fa>>>0)%3|0|0)==0?2:-1)+Fa|0;if(((Ja|0)!=-1?(f[(f[z>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0:0)?(Na=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Na|0)!=-1):0)if(!((Na>>>0)%3|0)){Qa=Na+2|0;break}else{Qa=Na+-1|0;break}else Qa=-1}while(0);if((Qa|0)==(ma|0)){Ha=Pa;break c}if((Qa|0)!=-1|Ea){Fa=Qa;Ga=Pa}else break}if(Aa){Ba=-1;Ca=0;Da=Pa;continue}if(f[(f[z>>2]|0)+(ya<<2)>>2]&za|0){Ba=-1;Ca=0;Da=Pa;continue}Ga=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=-1;Ca=0;Da=Pa;continue}if(!((Ga>>>0)%3|0)){Ba=Ga+2|0;Ca=0;Da=Pa;continue}else{Ba=Ga+-1|0;Ca=0;Da=Pa;continue}}Da=X(wa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Ca=c+((X(va+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Q=f[_>>2]|0;if(T){za=0;ya=0;while(1){Aa=(f[Ca+(ya<<2)>>2]|0)-(f[Ba+(ya<<2)>>2]|0)|0;ma=((Aa|0)>-1?Aa:0-Aa|0)+za|0;f[sa+(ya<<2)>>2]=Aa;f[Q+(ya<<2)>>2]=Aa<<1^Aa>>31;ya=ya+1|0;if((ya|0)==(g|0)){Ra=ma;break}else za=ma}}else Ra=0;xo(e,$,Q,g);za=al(e)|0;ya=I;ma=Jm(e)|0;Aa=go(ma|0,I|0,za|0,ya|0)|0;ya=I;za=(Ha|0)>0;if(za){ma=Ha+-1|0;Ga=p+(ma<<3)|0;Fa=Ga;Ea=go(f[Fa>>2]|0,f[Fa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Fa=I;Na=Ga;f[Na>>2]=Ea;f[Na+4>>2]=Fa;Sa=+W(+((+(Ea>>>0)+4294967296.0*+(Fa|0))*+Em(Ea,f[o+(ma<<3)>>2]|0)));ma=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,Aa|0,ya|0)|0;Ta=ma}else Ta=Aa;Aa=r;f[Aa>>2]=Ta;f[Aa+4>>2]=Ra;b[V>>0]=0;f[Z>>2]=0;Zf(aa,Ca,Ca+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Mf(ba,j,e);if((Ha|0)<1){Ua=ra;Va=qa;Wa=pa;Xa=oa;Ya=ua;Za=ta;_a=ta}else{Aa=n+Ha|0;ma=f[q>>2]|0;ya=Ha+-1|0;Ea=o+(ya<<3)|0;Fa=p+(ya<<3)|0;ya=ma;Na=f[H>>2]|0;Ga=Aa+-1|0;Ja=(Ga|0)==(n|0);Ma=Aa+-2|0;Oa=ka>>>0>>0;Ia=~Ha;Ka=Ha+2+((Ia|0)>-2?Ia:-2)|0;Ia=Na;La=Ga>>>0>n>>>0;$a=0;ab=1;while(1){$a=$a+1|0;pj(n|0,1,Ka|0)|0;pj(n|0,0,$a|0)|0;d:while(1){if(T){pj(f[m>>2]|0,0,la|0)|0;bb=f[m>>2]|0;cb=0;db=0;while(1){if(!(b[n+db>>0]|0)){eb=f[l+(db*12|0)>>2]|0;fb=0;do{gb=bb+(fb<<2)|0;f[gb>>2]=(f[gb>>2]|0)+(f[eb+(fb<<2)>>2]|0);fb=fb+1|0}while((fb|0)!=(g|0));hb=(1<>0]|0))jb=(1<>2]|0;do if(T){db=0;do{bb=cb+(db<<2)|0;f[bb>>2]=(f[bb>>2]|0)/(ab|0)|0;db=db+1|0}while((db|0)!=(g|0));db=f[_>>2]|0;if(T){kb=0;lb=0}else{mb=db;nb=0;break}while(1){bb=(f[cb+(lb<<2)>>2]|0)-(f[Ba+(lb<<2)>>2]|0)|0;fb=((bb|0)>-1?bb:0-bb|0)+kb|0;f[ma+(lb<<2)>>2]=bb;f[db+(lb<<2)>>2]=bb<<1^bb>>31;lb=lb+1|0;if((lb|0)==(g|0)){mb=db;nb=fb;break}else kb=fb}}else{mb=f[_>>2]|0;nb=0}while(0);xo(e,$,mb,g);cb=al(e)|0;db=I;fb=Jm(e)|0;bb=go(fb|0,I|0,cb|0,db|0)|0;db=I;if(za){cb=Ea;fb=go(f[cb>>2]|0,f[cb+4>>2]|0,ab|0,0)|0;cb=Fa;eb=f[cb>>2]|0;gb=f[cb+4>>2]|0;Sa=+W(+((+(eb>>>0)+4294967296.0*+(gb|0))*+Em(eb,fb)));fb=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,bb|0,db|0)|0;ob=fb}else ob=bb;bb=f[r>>2]|0;if(!((ob|0)>=(bb|0)?!((ob|0)<=(bb|0)?(nb|0)<(f[U>>2]|0):0):0)){bb=r;f[bb>>2]=ob;f[bb+4>>2]=nb;b[V>>0]=ib;f[Z>>2]=ab;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Mf(aa,j,e);f[x>>2]=ya;f[y>>2]=Na;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Mf(ba,j,e)}if(Ja)break;pb=b[Ga>>0]|0;bb=pb;fb=-1;while(1){db=fb+-1|0;qb=Aa+db|0;eb=bb;bb=b[qb>>0]|0;if((bb&255)<(eb&255))break;if((qb|0)==(n|0)){rb=83;break d}else fb=db}db=Aa+fb|0;if((bb&255)<(pb&255)){sb=pb;tb=Ga}else{eb=Aa;gb=Ga;while(1){cb=gb+-1|0;if((bb&255)<(h[eb+-2>>0]|0)){sb=1;tb=cb;break}else{ub=gb;gb=cb;eb=ub}}}b[qb>>0]=sb;b[tb>>0]=bb;if((fb|0)<-1){vb=db;wb=Ga}else continue;while(1){eb=b[vb>>0]|0;b[vb>>0]=b[wb>>0]|0;b[wb>>0]=eb;eb=vb+1|0;gb=wb+-1|0;if(eb>>>0>>0){vb=eb;wb=gb}else continue d}}if(((rb|0)==83?(rb=0,La):0)?(db=b[n>>0]|0,b[n>>0]=pb,b[Ga>>0]=db,Oa):0){db=Ma;fb=ka;do{bb=b[fb>>0]|0;b[fb>>0]=b[db>>0]|0;b[db>>0]=bb;fb=fb+1|0;db=db+-1|0}while(fb>>>0>>0)}if((ab|0)>=(Ha|0)){Ua=Ia;Va=ma;Wa=Ia;Xa=ma;Ya=Na;Za=ya;_a=ma;break}else ab=ab+1|0}}if(za){ab=f[Z>>2]|0;ma=o+(Ha+-1<<3)|0;ya=ma;Na=go(f[ya>>2]|0,f[ya+4>>2]|0,ab|0,((ab|0)<0)<<31>>31|0)|0;ab=ma;f[ab>>2]=Na;f[ab+4>>2]=I}if(T){ab=f[ba>>2]|0;Na=f[C>>2]|0;ma=0;do{ya=f[ab+(ma<<2)>>2]|0;f[Na+(ma<<2)>>2]=ya<<1^ya>>31;ma=ma+1|0}while((ma|0)!=(g|0));xb=Na}else xb=f[C>>2]|0;wo(e,$,xb,g);if(za){Na=Ha+-1|0;yb=a+40+(Na*12|0)|0;ma=a+40+(Na*12|0)+4|0;ab=a+40+(Na*12|0)+8|0;Na=0;do{ya=f[ma>>2]|0;Ia=f[ab>>2]|0;Ma=(ya|0)==(Ia<<5|0);if(!(h[V>>0]&1<>>0<1073741823?(Oa>>>0>>0?Ga:Oa):2147483647);zb=f[ma>>2]|0}else zb=ya;f[ma>>2]=zb+1;Oa=(f[yb>>2]|0)+(zb>>>5<<2)|0;f[Oa>>2]=f[Oa>>2]|1<<(zb&31)}else{if(Ma){if((ya+1|0)<0){rb=103;break b}Ma=Ia<<6;Ia=ya+32&-32;si(yb,ya>>>0<1073741823?(Ma>>>0>>0?Ia:Ma):2147483647);Ab=f[ma>>2]|0}else Ab=ya;f[ma>>2]=Ab+1;ya=(f[yb>>2]|0)+(Ab>>>5<<2)|0;f[ya>>2]=f[ya>>2]&~(1<<(Ab&31))}Na=Na+1|0}while((Na|0)<(Ha|0))}Na=f[aa>>2]|0;ma=d+(Da<<2)|0;ab=f[Ba+4>>2]|0;za=f[Na>>2]|0;ya=f[Na+4>>2]|0;f[j>>2]=f[Ba>>2];f[da>>2]=ab;f[k>>2]=za;f[ea>>2]=ya;Nd(e,ca,j,k);f[ma>>2]=f[e>>2];f[ma+4>>2]=f[fa>>2];ma=f[ga>>2]|0;if(ma|0){ya=f[ja>>2]|0;if((ya|0)!=(ma|0))f[ja>>2]=ya+(~((ya+-4-ma|0)>>>2)<<2);pr(ma)}ma=f[ha>>2]|0;if(ma|0){ya=f[ia>>2]|0;if((ya|0)!=(ma|0))f[ia>>2]=ya+(~((ya+-4-ma|0)>>>2)<<2);pr(ma)}if((wa|0)<=1){Bb=Xa;Cb=Wa;break a}ma=f[B>>2]|0;na=f[ma>>2]|0;ya=wa+-1|0;if((f[ma+4>>2]|0)-na>>2>>>0<=ya>>>0){xa=ma;rb=18;break}else{ma=wa;oa=Xa;pa=Wa;qa=Va;ra=Ua;sa=_a;ta=Za;ua=Ya;wa=ya;va=ma}}if((rb|0)==18)Cq(xa);else if((rb|0)==98)Cq(yb);else if((rb|0)==103)Cq(yb)}else{Bb=M;Cb=N}while(0);if((g|0)>0)pj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;yb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=yb;Nd(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Bb|0){if((Cb|0)!=(Bb|0))f[H>>2]=Cb+(~((Cb+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[m>>2]|0;if(Bb|0){m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+36>>2]|0;if(Bb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+24>>2]|0;if(Bb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+12>>2]|0;if(Bb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l>>2]|0;if(!Bb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Bb|0))f[E>>2]=l+(~((l+-4-Bb|0)>>>2)<<2);pr(Bb);u=i;return 1}function $a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=Q+-1|0;if(F-D>>2>>>0>la>>>0){ma=D;na=M;oa=N;pa=M;qa=N;ra=M;sa=P;ta=O;ua=Q;va=la}else{wa=G;Cq(wa)}b:while(1){la=f[ma+(va<<2)>>2]|0;Q=(((la>>>0)%3|0|0)==0?2:-1)+la|0;xa=(la|0)==-1|(Q|0)==-1;ya=la;za=1;Aa=0;c:while(1){Ba=za^1;Ca=ya;Da=Aa;while(1){if((Ca|0)==-1){Ea=Da;break c}Fa=f[l+(Da*12|0)>>2]|0;Ga=f[R>>2]|0;Ha=f[Ga+(Ca<<2)>>2]|0;if((Ha|0)!=-1){Ia=f[z>>2]|0;Ja=f[A>>2]|0;Ka=f[Ja+(f[Ia+(Ha<<2)>>2]<<2)>>2]|0;La=Ha+1|0;Ma=((La>>>0)%3|0|0)==0?Ha+-2|0:La;if((Ma|0)==-1)Na=-1;else Na=f[Ia+(Ma<<2)>>2]|0;Ma=f[Ja+(Na<<2)>>2]|0;La=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if((La|0)==-1)Oa=-1;else Oa=f[Ia+(La<<2)>>2]|0;La=f[Ja+(Oa<<2)>>2]|0;if((Ka|0)<(va|0)&(Ma|0)<(va|0)&(La|0)<(va|0)){Ja=X(Ka,g)|0;Ka=X(Ma,g)|0;Ma=X(La,g)|0;if(S){La=0;do{f[Fa+(La<<2)>>2]=(f[c+(La+Ma<<2)>>2]|0)+(f[c+(La+Ka<<2)>>2]|0)-(f[c+(La+Ja<<2)>>2]|0);La=La+1|0}while((La|0)!=(g|0))}La=Da+1|0;if((La|0)==4){Ea=4;break c}else Pa=La}else Pa=Da}else Pa=Da;do if(za){La=Ca+1|0;Ja=((La>>>0)%3|0|0)==0?Ca+-2|0:La;if((Ja|0)!=-1?(La=f[Ga+(Ja<<2)>>2]|0,Ja=La+1|0,(La|0)!=-1):0)Qa=((Ja>>>0)%3|0|0)==0?La+-2|0:Ja;else Qa=-1}else{Ja=(((Ca>>>0)%3|0|0)==0?2:-1)+Ca|0;if((Ja|0)!=-1?(La=f[Ga+(Ja<<2)>>2]|0,(La|0)!=-1):0)if(!((La>>>0)%3|0)){Qa=La+2|0;break}else{Qa=La+-1|0;break}else Qa=-1}while(0);if((Qa|0)==(la|0)){Ea=Pa;break c}if((Qa|0)!=-1|Ba){Ca=Qa;Da=Pa}else break}if(xa){ya=-1;za=0;Aa=Pa;continue}Da=f[Ga+(Q<<2)>>2]|0;if((Da|0)==-1){ya=-1;za=0;Aa=Pa;continue}if(!((Da>>>0)%3|0)){ya=Da+2|0;za=0;Aa=Pa;continue}else{ya=Da+-1|0;za=0;Aa=Pa;continue}}Aa=X(va,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;za=c+((X(ua+-2|0,g)|0)<<2)|0;ya=c+(Aa<<2)|0;Q=f[Z>>2]|0;if(S){xa=0;la=0;while(1){Da=(f[za+(la<<2)>>2]|0)-(f[ya+(la<<2)>>2]|0)|0;Ca=((Da|0)>-1?Da:0-Da|0)+xa|0;f[ra+(la<<2)>>2]=Da;f[Q+(la<<2)>>2]=Da<<1^Da>>31;la=la+1|0;if((la|0)==(g|0)){Ra=Ca;break}else xa=Ca}}else Ra=0;xo(e,_,Q,g);xa=al(e)|0;la=I;Ca=Jm(e)|0;Da=go(Ca|0,I|0,xa|0,la|0)|0;la=I;xa=(Ea|0)>0;if(xa){Ca=Ea+-1|0;Ba=p+(Ca<<3)|0;La=Ba;Ja=go(f[La>>2]|0,f[La+4>>2]|0,Ea|0,((Ea|0)<0)<<31>>31|0)|0;La=I;Ka=Ba;f[Ka>>2]=Ja;f[Ka+4>>2]=La;Sa=+W(+((+(Ja>>>0)+4294967296.0*+(La|0))*+Em(Ja,f[o+(Ca<<3)>>2]|0)));Ca=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,Da|0,la|0)|0;Ta=Ca}else Ta=Da;Da=r;f[Da>>2]=Ta;f[Da+4>>2]=Ra;b[U>>0]=0;f[V>>2]=0;Zf($,za,za+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Mf(aa,j,e);if((Ea|0)<1){Ua=qa;Va=pa;Wa=oa;Xa=na;Ya=ta;Za=sa;_a=sa}else{Da=n+Ea|0;Ca=f[q>>2]|0;la=Ea+-1|0;Ja=o+(la<<3)|0;La=p+(la<<3)|0;la=Ca;Ka=f[H>>2]|0;Ba=Da+-1|0;Ma=(Ba|0)==(n|0);Fa=Da+-2|0;Ia=ja>>>0>>0;Ha=~Ea;$a=Ea+2+((Ha|0)>-2?Ha:-2)|0;Ha=Ka;ab=Ba>>>0>n>>>0;bb=0;cb=1;while(1){bb=bb+1|0;pj(n|0,1,$a|0)|0;pj(n|0,0,bb|0)|0;d:while(1){if(S){pj(f[m>>2]|0,0,ka|0)|0;db=f[m>>2]|0;eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0)){gb=f[l+(fb*12|0)>>2]|0;hb=0;do{ib=db+(hb<<2)|0;f[ib>>2]=(f[ib>>2]|0)+(f[gb+(hb<<2)>>2]|0);hb=hb+1|0}while((hb|0)!=(g|0));jb=(1<>0]|0))lb=(1<>2]|0;do if(S){fb=0;do{db=eb+(fb<<2)|0;f[db>>2]=(f[db>>2]|0)/(cb|0)|0;fb=fb+1|0}while((fb|0)!=(g|0));fb=f[Z>>2]|0;if(S){mb=0;nb=0}else{ob=fb;pb=0;break}while(1){db=(f[eb+(nb<<2)>>2]|0)-(f[ya+(nb<<2)>>2]|0)|0;hb=((db|0)>-1?db:0-db|0)+mb|0;f[Ca+(nb<<2)>>2]=db;f[fb+(nb<<2)>>2]=db<<1^db>>31;nb=nb+1|0;if((nb|0)==(g|0)){ob=fb;pb=hb;break}else mb=hb}}else{ob=f[Z>>2]|0;pb=0}while(0);xo(e,_,ob,g);eb=al(e)|0;fb=I;hb=Jm(e)|0;db=go(hb|0,I|0,eb|0,fb|0)|0;fb=I;if(xa){eb=Ja;hb=go(f[eb>>2]|0,f[eb+4>>2]|0,cb|0,0)|0;eb=La;gb=f[eb>>2]|0;ib=f[eb+4>>2]|0;Sa=+W(+((+(gb>>>0)+4294967296.0*+(ib|0))*+Em(gb,hb)));hb=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,db|0,fb|0)|0;qb=hb}else qb=db;db=f[r>>2]|0;if(!((qb|0)>=(db|0)?!((qb|0)<=(db|0)?(pb|0)<(f[T>>2]|0):0):0)){db=r;f[db>>2]=qb;f[db+4>>2]=pb;b[U>>0]=kb;f[V>>2]=cb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Mf($,j,e);f[x>>2]=la;f[y>>2]=Ka;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Mf(aa,j,e)}if(Ma)break;rb=b[Ba>>0]|0;db=rb;hb=-1;while(1){fb=hb+-1|0;sb=Da+fb|0;gb=db;db=b[sb>>0]|0;if((db&255)<(gb&255))break;if((sb|0)==(n|0)){tb=83;break d}else hb=fb}fb=Da+hb|0;if((db&255)<(rb&255)){ub=rb;vb=Ba}else{gb=Da;ib=Ba;while(1){eb=ib+-1|0;if((db&255)<(h[gb+-2>>0]|0)){ub=1;vb=eb;break}else{wb=ib;ib=eb;gb=wb}}}b[sb>>0]=ub;b[vb>>0]=db;if((hb|0)<-1){xb=fb;yb=Ba}else continue;while(1){gb=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=gb;gb=xb+1|0;ib=yb+-1|0;if(gb>>>0>>0){xb=gb;yb=ib}else continue d}}if(((tb|0)==83?(tb=0,ab):0)?(fb=b[n>>0]|0,b[n>>0]=rb,b[Ba>>0]=fb,Ia):0){fb=Fa;hb=ja;do{db=b[hb>>0]|0;b[hb>>0]=b[fb>>0]|0;b[fb>>0]=db;hb=hb+1|0;fb=fb+-1|0}while(hb>>>0>>0)}if((cb|0)>=(Ea|0)){Ua=Ha;Va=Ca;Wa=Ha;Xa=Ca;Ya=Ka;Za=la;_a=Ca;break}else cb=cb+1|0}}if(xa){cb=f[V>>2]|0;Ca=o+(Ea+-1<<3)|0;la=Ca;Ka=go(f[la>>2]|0,f[la+4>>2]|0,cb|0,((cb|0)<0)<<31>>31|0)|0;cb=Ca;f[cb>>2]=Ka;f[cb+4>>2]=I}if(S){cb=f[aa>>2]|0;Ka=f[C>>2]|0;Ca=0;do{la=f[cb+(Ca<<2)>>2]|0;f[Ka+(Ca<<2)>>2]=la<<1^la>>31;Ca=Ca+1|0}while((Ca|0)!=(g|0));zb=Ka}else zb=f[C>>2]|0;wo(e,_,zb,g);if(xa){Ka=Ea+-1|0;Ab=a+40+(Ka*12|0)|0;Ca=a+40+(Ka*12|0)+4|0;cb=a+40+(Ka*12|0)+8|0;Ka=0;do{la=f[Ca>>2]|0;Ha=f[cb>>2]|0;Fa=(la|0)==(Ha<<5|0);if(!(h[U>>0]&1<>>0<1073741823?(Ia>>>0>>0?Ba:Ia):2147483647);Bb=f[Ca>>2]|0}else Bb=la;f[Ca>>2]=Bb+1;Ia=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ia>>2]=f[Ia>>2]|1<<(Bb&31)}else{if(Fa){if((la+1|0)<0){tb=103;break b}Fa=Ha<<6;Ha=la+32&-32;si(Ab,la>>>0<1073741823?(Fa>>>0>>0?Ha:Fa):2147483647);Cb=f[Ca>>2]|0}else Cb=la;f[Ca>>2]=Cb+1;la=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Cb&31))}Ka=Ka+1|0}while((Ka|0)<(Ea|0))}Ka=f[$>>2]|0;Ca=d+(Aa<<2)|0;cb=f[ya+4>>2]|0;xa=f[Ka>>2]|0;la=f[Ka+4>>2]|0;f[j>>2]=f[ya>>2];f[ca>>2]=cb;f[k>>2]=xa;f[da>>2]=la;Nd(e,ba,j,k);f[Ca>>2]=f[e>>2];f[Ca+4>>2]=f[ea>>2];Ca=f[fa>>2]|0;if(Ca|0){la=f[ia>>2]|0;if((la|0)!=(Ca|0))f[ia>>2]=la+(~((la+-4-Ca|0)>>>2)<<2);pr(Ca)}Ca=f[ga>>2]|0;if(Ca|0){la=f[ha>>2]|0;if((la|0)!=(Ca|0))f[ha>>2]=la+(~((la+-4-Ca|0)>>>2)<<2);pr(Ca)}if((va|0)<=1){Db=Xa;Eb=Wa;break a}Ca=f[B>>2]|0;ma=f[Ca>>2]|0;la=va+-1|0;if((f[Ca+4>>2]|0)-ma>>2>>>0<=la>>>0){wa=Ca;tb=18;break}else{Ca=va;na=Xa;oa=Wa;pa=Va;qa=Ua;ra=_a;sa=Za;ta=Ya;va=la;ua=Ca}}if((tb|0)==18)Cq(wa);else if((tb|0)==98)Cq(Ab);else if((tb|0)==103)Cq(Ab)}else{Db=M;Eb=N}while(0);if((g|0)>0)pj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Ab=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Ab;Nd(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Db|0){if((Eb|0)!=(Db|0))f[H>>2]=Eb+(~((Eb+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[m>>2]|0;if(Db|0){m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+36>>2]|0;if(Db|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+24>>2]|0;if(Db|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+12>>2]|0;if(Db|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l>>2]|0;if(!Db){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Db|0))f[E>>2]=l+(~((l+-4-Db|0)>>>2)<<2);pr(Db);u=i;return 1}function ab(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,Ka=0,La=Ja,Ma=0,Na=0,Oa=0,Pa=0,Qa=Ja,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{q=(b[(f[w+(f[t+(r<<2)>>2]<<2)>>2]|0)+24>>0]|0)+q|0;r=r+1|0}while(r>>>0>>0);f[a+72>>2]=q;if(s){v=1;u=c;return v|0}s=g+4|0;q=g+8|0;x=d+8|0;r=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=t;t=l;l=k;k=0;a:while(1){ia=f[ha+(k<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(ia<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1260;f[s>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=tn(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[r>>2]=17;ma=la;na=14756;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(ia|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(ia|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Hh(ra,d)|0)!=0):0)va=Ik(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Ik(ka,d,-1)|0}if((b[w>>0]|0)<0)pr(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=tn(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14829;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(ia|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(ia|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Hh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=tn(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14849;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(ia|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(ia|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Hh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)pr(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)pr(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=tn(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;pj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=tn(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14829;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(ia|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(ia|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Hh(Fa,i)|0)!=0):0){Ga=Og(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){nj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ka=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{La=$(Lq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=La;Fa=Fa+1|0}while((Fa|0)<(ra|0));Ma=b[M>>0]|0}else Ma=Ga;Ka=Ma}if(Ka<<24>>24<0)pr(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Og(pa,i)|0,(Fa|0)!=(pa+4|0)):0){nj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Na=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{La=$(Lq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=La;ya=ya+1|0}while((ya|0)<(ra|0));Oa=b[G>>0]|0}else Oa=Fa;Na=Oa}if(Na<<24>>24<0)pr(f[d>>2]|0)}if((b[I>>0]|0)<0)pr(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=tn(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14849;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(ia|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(ia|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Hh(oa,d)|0)){wa=91;break}Qa=$(vk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(vk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)pr(f[d>>2]|0);Hl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);ia=f[h>>2]|0;if(ia|0){na=f[C>>2]|0;if((na|0)!=(ia|0))f[C>>2]=na+(~((na+-4-ia|0)>>>2)<<2);pr(ia)}}else Qd(g,ja,va)|0;ia=f[P>>2]|0;if((ia|0)==(f[Q>>2]|0))vf(R,g);else{f[ia>>2]=1260;f[ia+4>>2]=f[s>>2];Ra=ia+8|0;f[Ra>>2]=0;na=ia+12|0;f[na>>2]=0;f[ia+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=tn(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[ia+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){eh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[ia+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Ke(d,g,ja,m);ia=f[S>>2]|0;if(ia>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[ia>>2]=ma;f[S>>2]=ia+4}else Re(U,d);ia=f[d>>2]|0;f[d>>2]=0;if(ia|0){ma=ia+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;pr(ma)}pr(oa)}oa=f[ia+68>>2]|0;if(oa|0){ma=ia+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);pr(oa)}oa=ia+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;pr(oa)}pr(na)}pr(ia)}xa=0}f[g>>2]=1260;ia=f[q>>2]|0;if(ia|0){na=f[y>>2]|0;if((na|0)!=(ia|0))f[y>>2]=na+(~((na+-4-ia|0)>>>2)<<2);pr(ia)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{ia=ja+24|0;na=b[ia>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=tn(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=na;na=oa;while(1){f[ya>>2]=2147483647;na=na+-1|0;if(!na)break;else ya=ya+4|0}f[_>>2]=ma;Sa=b[ia>>0]|0}ya=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}na=ya<<2;sa=tn(na)|0;f[h>>2]=sa;ra=sa+(ya<<2)|0;f[da>>2]=ra;pj(sa|0,0,na|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[ia>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{na=ra;ya=Ta;oa=0;while(1){f[e>>2]=oa;f[d>>2]=f[e>>2];Lb(ja,d,na,ya)|0;Fa=b[ia>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=oa+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}na=Fa;ya=f[h>>2]|0;oa=pa}}while(0);if(Ua<<24>>24>0){sa=Ua;ja=0;while(1){ra=(f[g>>2]|0)+(ja<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ti(ga,ra);Va=b[ia>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=sa}ja=ja+1|0;if((ja|0)>=(Va<<24>>24|0))break;else sa=Va}}sa=f[h>>2]|0;if(sa|0){ja=f[ba>>2]|0;if((ja|0)!=(sa|0))f[ba>>2]=ja+(~((ja+-4-sa|0)>>>2)<<2);pr(sa)}sa=f[g>>2]|0;if(sa|0){ja=f[_>>2]|0;if((ja|0)!=(sa|0))f[_>>2]=ja+(~((ja+-4-sa|0)>>>2)<<2);pr(sa)}break}default:{}}sa=k+1|0;ja=f[o>>2]|0;if(sa>>>0>=(f[p>>2]|0)-ja>>2>>>0){v=1;wa=169;break}ia=f[j>>2]|0;ha=ja;t=f[ia+4>>2]|0;l=ia;k=sa}if((wa|0)==48)Cq(h);else if((wa|0)==103)Cq(Ra);else if((wa|0)==137)Cq(g);else if((wa|0)==144)Cq(h);else if((wa|0)==169){u=c;return v|0}return 0}function bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+140|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+116|0;x=a+48|0;h=a+44|0;i=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=j+4|0;N=j+24|0;O=j+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){pr(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[r>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[y>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=$;ba=V;ca=1;while(1){ba=(ba|0)==(aa+-1|0)?0:ba+1|0;f[U+(ca<<2)>>2]=ba;ca=ca+1|0;da=f[g>>2]|0;if(ca>>>0>=da>>>0){ea=da;break}else aa=da}}else ea=$;if(!z){fa=99;break}else{ga=ea;ha=0}while(1){aa=(f[N>>2]|0)+((X(f[M>>2]|0,S+ha|0)|0)<<2)|0;if(!ga)ia=0;else{ca=0;do{ba=f[(f[y>>2]|0)+(ca<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ba<<2)>>2]|0)|0;do if(U|0){da=f[x>>2]|0;ja=32-da|0;ka=32-U|0;la=f[aa+(ba<<2)>>2]<>2]|0;if((U|0)>(ja|0)){na=la>>>ka;ka=U-ja|0;f[x>>2]=ka;ja=na>>>ka|ma;f[h>>2]=ja;ka=f[i>>2]|0;if((ka|0)==(f[m>>2]|0))Ti(n,h);else{f[ka>>2]=ja;f[i>>2]=ka+4}f[h>>2]=na<<32-(f[x>>2]|0);break}na=ma|la>>>da;f[h>>2]=na;la=da+U|0;f[x>>2]=la;if((la|0)!=32)break;la=f[i>>2]|0;if((la|0)==(f[m>>2]|0))Ti(n,h);else{f[la>>2]=na;f[i>>2]=la+4}f[h>>2]=0;f[x>>2]=0}while(0);ca=ca+1|0;U=f[g>>2]|0}while(ca>>>0>>0);ia=U}ha=ha+1|0;if(ha>>>0>=z>>>0){fa=99;break a}else ga=ia}}$=Z+1|0;Fg(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);ca=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;aa=(f[ca>>2]|0)+(1<>2]=aa;ca=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))oa=S;else{ba=f[O>>2]|0;if(!ca){if((f[ba+(V<<2)>>2]|0)>>>0>>0){oa=W;break}else{pa=S;qa=W}while(1){la=qa;do{la=la+-1|0;if((pa|0)==(la|0)){oa=pa;break b}na=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[na>>2]|0)>>>0>=aa>>>0);pa=pa+1|0;if((pa|0)==(la|0)){oa=la;break b}else qa=la}}else{ra=S;sa=W}while(1){na=ra;while(1){ta=ba+((X(na,ca)|0)<<2)|0;if((f[ta+(V<<2)>>2]|0)>>>0>=aa>>>0){ua=sa;break}da=na+1|0;if((da|0)==(sa|0)){oa=sa;break b}else na=da}while(1){ua=ua+-1|0;if((na|0)==(ua|0)){oa=na;break b}va=(f[P>>2]|0)+((X(ua,U)|0)<<2)|0;if((f[va+(V<<2)>>2]|0)>>>0>>0){wa=0;break}}do{la=ta+(wa<<2)|0;da=va+(wa<<2)|0;ma=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ma;wa=wa+1|0}while((wa|0)!=(ca|0));ra=na+1|0;if((ra|0)==(ua|0)){oa=ua;break}else sa=ua}}while(0);aa=(_(z|0)|0)^31;U=oa-S|0;ba=W-oa|0;ma=U>>>0>>0;if((U|0)!=(ba|0)){da=f[H>>2]|0;if(ma)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ti(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ma){da=f[C>>2]|0;ka=32-da|0;ja=32-aa|0;xa=la-U<>2]|0;if((aa|0)>(ka|0)){za=xa>>>ja;ja=aa-ka|0;f[C>>2]=ja;ka=za>>>ja|ya;f[D>>2]=ka;ja=f[E>>2]|0;if((ja|0)==(f[F>>2]|0))Ti(G,D);else{f[ja>>2]=ka;f[E>>2]=ja+4}f[D>>2]=za<<32-(f[C>>2]|0);break}za=ya|xa>>>da;f[D>>2]=za;xa=da+aa|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ti(G,D);else{f[xa>>2]=za;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;za=32-xa|0;da=32-aa|0;ya=la-ba<>2]|0;if((aa|0)>(za|0)){ka=ya>>>da;da=aa-za|0;f[C>>2]=da;za=ka>>>da|ja;f[D>>2]=za;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ti(G,D);else{f[da>>2]=za;f[E>>2]=da+4}f[D>>2]=ka<<32-(f[C>>2]|0);break}ka=ja|ya>>>xa;f[D>>2]=ka;ya=xa+aa|0;f[C>>2]=ya;if((ya|0)==32){ya=f[E>>2]|0;if((ya|0)==(f[F>>2]|0))Ti(G,D);else{f[ya>>2]=ka;f[E>>2]=ya+4}f[D>>2]=0;f[C>>2]=0}}while(0);aa=f[r>>2]|0;la=f[aa+(Z*12|0)>>2]|0;ma=la+(V<<2)|0;f[ma>>2]=(f[ma>>2]|0)+1;Fg(aa+($*12|0)|0,la,f[aa+(Z*12|0)+4>>2]|0);if((oa|0)!=(S|0)){aa=f[o>>2]|0;la=f[t>>2]|0;ma=aa-la>>2;ya=f[v>>2]|0;ka=f[l>>2]|0;if((((ma|0)==0?0:(ma*113|0)+-1|0)|0)==(ka+ya|0)){Jc(e);Aa=f[v>>2]|0;Ba=f[l>>2]|0;Ca=f[o>>2]|0;Da=f[t>>2]|0}else{Aa=ya;Ba=ka;Ca=aa;Da=la}la=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Ea>>2]=S;la=Ea+4|0;f[la>>2]=q;f[la+4>>2]=w;f[Ea+12>>2]=oa;f[Ea+16>>2]=j;f[Ea+20>>2]=ca;f[Ea+24>>2]=V;f[Ea+28>>2]=U;f[Ea+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(oa|0)){la=f[o>>2]|0;aa=f[t>>2]|0;ka=la-aa>>2;ya=f[v>>2]|0;ma=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ma+ya|0)){Jc(e);Fa=f[v>>2]|0;Ga=f[l>>2]|0;Ha=f[o>>2]|0;Ia=f[t>>2]|0}else{Fa=ya;Ga=ma;Ha=la;Ia=aa}aa=Ga+Fa|0;if((Ha|0)==(Ia|0))Ja=0;else Ja=(f[Ia+(((aa>>>0)/113|0)<<2)>>2]|0)+(((aa>>>0)%113|0)*36|0)|0;f[Ja>>2]=oa;f[Ja+4>>2]=j;f[Ja+8>>2]=ca;f[Ja+12>>2]=W;aa=Ja+16|0;f[aa>>2]=p;f[aa+4>>2]=s;f[Ja+24>>2]=V;f[Ja+28>>2]=ba;f[Ja+32>>2]=$;aa=(f[l>>2]|0)+1|0;f[l>>2]=aa;Ka=aa}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ka=f[l>>2]|0}if(!Ka)break;else Q=Ka}}Ka=f[t>>2]|0;Q=f[v>>2]|0;Ja=Ka+(((Q>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Ka;if((s|0)==(Ka|0)){La=0;Ma=0}else{oa=(f[Ja>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;La=oa;Ma=oa}oa=Ja;Ja=Ma;c:while(1){Ma=Ja;do{Q=Ma;if((Q|0)==(La|0))break c;Ma=Q+36|0}while((Ma-(f[oa>>2]|0)|0)!=4068);Ma=oa+4|0;oa=Ma;Ja=f[Ma>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Ka;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Na=f[o>>2]|0;Oa=Na-j>>2}while(Oa>>>0>2);Pa=j;Qa=Na;Ra=Oa}else{Pa=Ka;Qa=s;Ra=l}switch(Ra|0){case 1:{Sa=56;fa=113;break}case 2:{Sa=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Sa;if((Pa|0)!=(Qa|0)){Sa=Pa;do{pr(f[Sa>>2]|0);Sa=Sa+4|0}while((Sa|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}pr(Qa);u=d;return}function cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)Cq(e);else{l=j<<2;m=tn(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;pj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=p;s=o;t=j;v=n+8|0}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);pr(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=f[e>>2]|0;s=f[k>>2]|0;t=f[i>>2]|0;v=l}f[n>>2]=r;f[q>>2]=s;f[v>>2]=f[e+8>>2];f[e>>2]=0;v=e+4|0;f[v>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Cq(e);else{s=t<<2;q=tn(s)|0;f[e>>2]=q;r=q+(t<<2)|0;f[e+8>>2]=r;pj(q|0,0,s|0)|0;f[v>>2]=r;w=r;x=q;break}else{w=0;x=0}while(0);t=a+1176|0;q=f[t>>2]|0;r=f[q>>2]|0;s=q+4|0;if(!r){y=x;z=w;A=q+8|0}else{w=f[s>>2]|0;if((w|0)!=(r|0))f[s>>2]=w+(~((w+-4-r|0)>>>2)<<2);pr(r);r=q+8|0;f[r>>2]=0;f[s>>2]=0;f[q>>2]=0;y=f[e>>2]|0;z=f[v>>2]|0;A=r}f[q>>2]=y;f[s>>2]=z;f[A>>2]=f[e+8>>2];A=f[b>>2]|0;z=b+4|0;s=f[z>>2]|0;y=f[z+4>>2]|0;z=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;v=f[q+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;l=s;Jc(h);k=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(k|0))B=0;else B=(f[k+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=A;j=B+4|0;f[j>>2]=s;f[j+4>>2]=y;f[B+12>>2]=z;j=B+16|0;f[j>>2]=r;f[j+4>>2]=v;f[B+24>>2]=0;f[B+28>>2]=z-A;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){A=a+1152|0;z=a+1084|0;j=a+1080|0;k=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=l+4|0;K=l+24|0;L=l+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){pr(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[t>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Kd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[A>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=Y;$=Q;aa=1;while(1){$=($|0)==(Z+-1|0)?0:$+1|0;f[W+(aa<<2)>>2]=$;aa=aa+1|0;ba=f[i>>2]|0;if(aa>>>0>=ba>>>0){ca=ba;break}else Z=ba}}else ca=Y;if(!U){da=87;break}else{ea=ca;fa=0}while(1){Z=(f[K>>2]|0)+((X(f[J>>2]|0,P+fa|0)|0)<<2)|0;if(!ea)ga=0;else{aa=0;do{$=f[(f[A>>2]|0)+(aa<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+($<<2)>>2]|0)|0;do if(W|0){ba=f[z>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[Z+($<<2)>>2]<>2]|0;if((W|0)>(ha|0)){la=ja>>>ia;ia=W-ha|0;f[z>>2]=ia;ha=la>>>ia|ka;f[j>>2]=ha;ia=f[k>>2]|0;if((ia|0)==(f[o>>2]|0))Ti(p,j);else{f[ia>>2]=ha;f[k>>2]=ia+4}f[j>>2]=la<<32-(f[z>>2]|0);break}la=ka|ja>>>ba;f[j>>2]=la;ja=ba+W|0;f[z>>2]=ja;if((ja|0)!=32)break;ja=f[k>>2]|0;if((ja|0)==(f[o>>2]|0))Ti(p,j);else{f[ja>>2]=la;f[k>>2]=ja+4}f[j>>2]=0;f[z>>2]=0}while(0);aa=aa+1|0;W=f[i>>2]|0}while(aa>>>0>>0);ga=W}fa=fa+1|0;if(fa>>>0>=U>>>0){da=87;break a}else ea=ga}}Y=V+1|0;aa=f[m>>2]|0;Z=aa+(Y*12|0)|0;if((Z|0)==(S|0))ma=aa;else{Fg(Z,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);ma=f[m>>2]|0}Z=(f[ma+(Y*12|0)>>2]|0)+(Q<<2)|0;aa=(f[Z>>2]|0)+(1<>2]=aa;Z=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))na=P;else{$=f[L>>2]|0;if(!Z){if((f[$+(Q<<2)>>2]|0)>>>0>>0){na=T;break}else{oa=P;pa=T}while(1){ja=pa;do{ja=ja+-1|0;if((oa|0)==(ja|0)){na=oa;break b}la=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[la>>2]|0)>>>0>=aa>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){na=ja;break b}else pa=ja}}else{qa=P;ra=T}while(1){la=qa;while(1){sa=$+((X(la,Z)|0)<<2)|0;if((f[sa+(Q<<2)>>2]|0)>>>0>=aa>>>0){ta=ra;break}ba=la+1|0;if((ba|0)==(ra|0)){na=ra;break b}else la=ba}while(1){ta=ta+-1|0;if((la|0)==(ta|0)){na=la;break b}ua=(f[M>>2]|0)+((X(ta,W)|0)<<2)|0;if((f[ua+(Q<<2)>>2]|0)>>>0>>0){va=0;break}}do{ja=sa+(va<<2)|0;ba=ua+(va<<2)|0;ka=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ka;va=va+1|0}while((va|0)!=(Z|0));qa=la+1|0;if((qa|0)==(ta|0)){na=ta;break}else ra=ta}}while(0);aa=(_(U|0)|0)^31;W=na-P|0;$=T-na|0;ka=W>>>0<$>>>0;if((W|0)!=($|0)){ba=f[E>>2]|0;if(ka)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ti(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ka){ka=ja-W|0;if(aa|0){ba=0;ia=1<>>1}}}else{ia=ja-$|0;if(aa|0){ba=0;ka=1<>>1}}}ka=f[t>>2]|0;aa=f[ka+(V*12|0)>>2]|0;ba=aa+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Fg(ka+(Y*12|0)|0,aa,f[ka+(V*12|0)+4>>2]|0);if((na|0)!=(P|0)){ka=f[q>>2]|0;aa=f[w>>2]|0;ba=ka-aa>>2;ia=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ia|0)){Jc(h);wa=f[x>>2]|0;xa=f[n>>2]|0;ya=f[q>>2]|0;za=f[w>>2]|0}else{wa=ia;xa=ja;ya=ka;za=aa}aa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((aa>>>0)/113|0)<<2)>>2]|0)+(((aa>>>0)%113|0)*36|0)|0;f[Aa>>2]=P;aa=Aa+4|0;f[aa>>2]=s;f[aa+4>>2]=y;f[Aa+12>>2]=na;f[Aa+16>>2]=l;f[Aa+20>>2]=Z;f[Aa+24>>2]=Q;f[Aa+28>>2]=W;f[Aa+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(na|0)){aa=f[q>>2]|0;ka=f[w>>2]|0;ja=aa-ka>>2;ia=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ia|0)){Jc(h);Ba=f[x>>2]|0;Ca=f[n>>2]|0;Da=f[q>>2]|0;Ea=f[w>>2]|0}else{Ba=ia;Ca=ba;Da=aa;Ea=ka}ka=Ca+Ba|0;if((Da|0)==(Ea|0))Fa=0;else Fa=(f[Ea+(((ka>>>0)/113|0)<<2)>>2]|0)+(((ka>>>0)%113|0)*36|0)|0;f[Fa>>2]=na;f[Fa+4>>2]=l;f[Fa+8>>2]=Z;f[Fa+12>>2]=T;ka=Fa+16|0;f[ka>>2]=r;f[ka+4>>2]=v;f[Fa+24>>2]=Q;f[Fa+28>>2]=$;f[Fa+32>>2]=Y;ka=(f[n>>2]|0)+1|0;f[n>>2]=ka;Ga=ka}else da=87}else da=87;while(0);if((da|0)==87){da=0;Ga=f[n>>2]|0}if(!Ga)break;else N=Ga}}Ga=f[w>>2]|0;N=f[x>>2]|0;Fa=Ga+(((N>>>0)/113|0)<<2)|0;v=f[q>>2]|0;r=v;l=Ga;if((v|0)==(Ga|0)){Ha=0;Ia=0}else{na=(f[Fa>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ha=na;Ia=na}na=Fa;Fa=Ia;c:while(1){Ia=Fa;do{N=Ia;if((N|0)==(Ha|0))break c;Ia=N+36|0}while((Ia-(f[na>>2]|0)|0)!=4068);Ia=na+4|0;na=Ia;Fa=f[Ia>>2]|0}f[n>>2]=0;n=r-l>>2;if(n>>>0>2){l=Ga;do{pr(f[l>>2]|0);l=(f[w>>2]|0)+4|0;f[w>>2]=l;Ja=f[q>>2]|0;Ka=Ja-l>>2}while(Ka>>>0>2);La=l;Ma=Ja;Na=Ka}else{La=Ga;Ma=v;Na=n}switch(Na|0){case 1:{Oa=56;da=101;break}case 2:{Oa=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Oa;if((La|0)!=(Ma|0)){Oa=La;do{pr(f[Oa>>2]|0);Oa=Oa+4|0}while((Oa|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}pr(Ma);u=d;return}function db(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=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;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(ki(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)Cq(G);else{K=H<<2;L=tn(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;pj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=M;aa=C;ba=0;ca=0;da=0;ea=0;b:while(1){fa=f[(f[(f[aa+4>>2]|0)+8>>2]|0)+(f[$+(ba<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=da;ha=fa;break}case 9:{ga=da+1|0;ha=f[(f[Z>>2]|0)+(da<<2)>>2]|0;break}default:{ia=0;break a}}if(!ha){ia=0;break a}c:do switch(f[ha+28>>2]|0){case 6:{if(Q){ja=ha+24|0;ka=ea;break c}fa=ha+84|0;la=ha+68|0;ma=ha+48|0;na=ha+40|0;oa=ha+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=En(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=go(ua|0,I|0,sa|0,ta|0)|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+(ca<<2)|0,(f[f[ha>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=oa;ka=ea;break}case 1:case 3:case 5:{oa=ha+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=tn(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;pj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=tn(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;pj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ha+84|0;na=ha+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Lb(ha,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ea<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+(ca<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=(b[oa>>0]|0)+ea|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);pr(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);pr(na)}ja=oa;ka=pa;break}default:{pa=ha+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=tn(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;pj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ha+84|0;sa=ha+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];sb(ha,e,ra,ma)|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+(ca<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);pr(Ga)}ja=pa;ka=ea}}while(0);na=ba+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=sa;aa=f[A>>2]|0;ba=na;ca=(b[ja>>0]|0)+ca|0;da=ga;ea=ka}if((wa|0)==24)Cq(j);else if((wa|0)==30)Cq(k);else if((wa|0)==53)Cq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{ka=(_(D|0)|0)^31;Ka=(ka|0)<(H|0)?H:ka+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ne(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=cf(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 5:{Ne(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=df(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 4:{Ne(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=df(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 3:{Se(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=zf(j,g,e,k,c)|0;Ze(j);if(!H){ia=0;break d}break}case 2:{Se(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=zf(j,g,e,k,c)|0;Ze(j);if(!H){ia=0;break d}break}case 1:{Te(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=wf(j,g,e,k,c)|0;Xe(j);if(!H){ia=0;break d}break}case 0:{Te(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=wf(j,g,e,k,c)|0;Xe(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);pr(j);u=d;return ia|0}function eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+1176|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+1152|0;x=a+1084|0;h=a+1080|0;i=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=j+4|0;I=j+24|0;J=j+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){pr(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[r>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[y>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=U;W=Q;Y=1;while(1){W=(W|0)==(V+-1|0)?0:W+1|0;f[P+(Y<<2)>>2]=W;Y=Y+1|0;Z=f[g>>2]|0;if(Y>>>0>=Z>>>0){$=Z;break}else V=Z}}else $=U;if(!z){aa=85;break}else{ba=$;ca=0}while(1){V=(f[I>>2]|0)+((X(f[H>>2]|0,N+ca|0)|0)<<2)|0;if(!ba)da=0;else{Y=0;do{W=f[(f[y>>2]|0)+(Y<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(W<<2)>>2]|0)|0;do if(P|0){Z=f[x>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[V+(W<<2)>>2]<>2]|0;if((P|0)>(ea|0)){ia=ga>>>fa;fa=P-ea|0;f[x>>2]=fa;ea=ia>>>fa|ha;f[h>>2]=ea;fa=f[i>>2]|0;if((fa|0)==(f[m>>2]|0))Ti(n,h);else{f[fa>>2]=ea;f[i>>2]=fa+4}f[h>>2]=ia<<32-(f[x>>2]|0);break}ia=ha|ga>>>Z;f[h>>2]=ia;ga=Z+P|0;f[x>>2]=ga;if((ga|0)!=32)break;ga=f[i>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=ia;f[i>>2]=ga+4}f[h>>2]=0;f[x>>2]=0}while(0);Y=Y+1|0;P=f[g>>2]|0}while(Y>>>0

>>0);da=P}ca=ca+1|0;if(ca>>>0>=z>>>0){aa=85;break a}else ba=da}}U=T+1|0;Fg(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);Y=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;V=(f[Y>>2]|0)+(1<>2]=V;Y=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ja=N;else{W=f[J>>2]|0;if(!Y){if((f[W+(Q<<2)>>2]|0)>>>0>>0){ja=R;break}else{ka=N;la=R}while(1){ga=la;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ja=ka;break b}ia=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ia>>2]|0)>>>0>=V>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ja=ga;break b}else la=ga}}else{ma=N;na=R}while(1){ia=ma;while(1){oa=W+((X(ia,Y)|0)<<2)|0;if((f[oa+(Q<<2)>>2]|0)>>>0>=V>>>0){pa=na;break}Z=ia+1|0;if((Z|0)==(na|0)){ja=na;break b}else ia=Z}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[K>>2]|0)+((X(pa,P)|0)<<2)|0;if((f[qa+(Q<<2)>>2]|0)>>>0>>0){ra=0;break}}do{ga=oa+(ra<<2)|0;Z=qa+(ra<<2)|0;ha=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=ha;ra=ra+1|0}while((ra|0)!=(Y|0));ma=ia+1|0;if((ma|0)==(pa|0)){ja=pa;break}else na=pa}}while(0);V=(_(z|0)|0)^31;P=ja-N|0;W=R-ja|0;ha=P>>>0>>0;if((P|0)!=(W|0)){Z=f[C>>2]|0;if(ha)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ti(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(ha){ha=ga-P|0;if(V|0){Z=0;fa=1<>>1}}}else{fa=ga-W|0;if(V|0){Z=0;ha=1<>>1}}}ha=f[r>>2]|0;V=f[ha+(T*12|0)>>2]|0;Z=V+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Fg(ha+(U*12|0)|0,V,f[ha+(T*12|0)+4>>2]|0);if((ja|0)!=(N|0)){ha=f[o>>2]|0;V=f[t>>2]|0;Z=ha-V>>2;fa=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+fa|0)){Jc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=fa;ta=ga;ua=ha;va=V}V=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((V>>>0)/113|0)<<2)>>2]|0)+(((V>>>0)%113|0)*36|0)|0;f[wa>>2]=N;V=wa+4|0;f[V>>2]=q;f[V+4>>2]=w;f[wa+12>>2]=ja;f[wa+16>>2]=j;f[wa+20>>2]=Y;f[wa+24>>2]=Q;f[wa+28>>2]=P;f[wa+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ja|0)){V=f[o>>2]|0;ha=f[t>>2]|0;ga=V-ha>>2;fa=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+fa|0)){Jc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=Z;za=V;Aa=ha}ha=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((ha>>>0)/113|0)<<2)>>2]|0)+(((ha>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=j;f[Ba+8>>2]=Y;f[Ba+12>>2]=R;ha=Ba+16|0;f[ha>>2]=p;f[ha+4>>2]=s;f[Ba+24>>2]=Q;f[Ba+28>>2]=W;f[Ba+32>>2]=U;ha=(f[l>>2]|0)+1|0;f[l>>2]=ha;Ca=ha}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ca=f[l>>2]|0}if(!Ca)break;else L=Ca}}Ca=f[t>>2]|0;L=f[v>>2]|0;Ba=Ca+(((L>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Ca;if((s|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{L=Ea;if((L|0)==(Da|0))break c;Ea=L+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Ca;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Fa=f[o>>2]|0;Ga=Fa-j>>2}while(Ga>>>0>2);Ha=j;Ia=Fa;Ja=Ga}else{Ha=Ca;Ia=s;Ja=l}switch(Ja|0){case 1:{Ka=56;aa=99;break}case 2:{Ka=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ka;if((Ha|0)!=(Ia|0)){Ka=Ha;do{pr(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}pr(Ia);u=d;return}function fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+152|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+128|0;x=a+60|0;h=a+56|0;i=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=j+4|0;J=j+24|0;K=j+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){pr(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[r>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[y>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=V;Y=R;Z=1;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[Q+(Z<<2)>>2]=Y;Z=Z+1|0;$=f[g>>2]|0;if(Z>>>0>=$>>>0){aa=$;break}else W=$}}else aa=V;if(!z){ba=81;break}else{ca=aa;da=0}while(1){W=(f[J>>2]|0)+((X(f[I>>2]|0,O+da|0)|0)<<2)|0;if(!ca)ea=0;else{Z=0;do{Y=f[(f[y>>2]|0)+(Z<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Y<<2)>>2]|0)|0;do if(Q|0){$=f[x>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[W+(Y<<2)>>2]<>2]|0;if((Q|0)>(fa|0)){ja=ha>>>ga;ga=Q-fa|0;f[x>>2]=ga;fa=ja>>>ga|ia;f[h>>2]=fa;ga=f[i>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=fa;f[i>>2]=ga+4}f[h>>2]=ja<<32-(f[x>>2]|0);break}ja=ia|ha>>>$;f[h>>2]=ja;ha=$+Q|0;f[x>>2]=ha;if((ha|0)!=32)break;ha=f[i>>2]|0;if((ha|0)==(f[m>>2]|0))Ti(n,h);else{f[ha>>2]=ja;f[i>>2]=ha+4}f[h>>2]=0;f[x>>2]=0}while(0);Z=Z+1|0;Q=f[g>>2]|0}while(Z>>>0>>0);ea=Q}da=da+1|0;if(da>>>0>=z>>>0){ba=81;break a}else ca=ea}}V=U+1|0;Fg(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);Z=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;W=(f[Z>>2]|0)+(1<>2]=W;Z=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ka=O;else{Y=f[K>>2]|0;if(!Z){if((f[Y+(R<<2)>>2]|0)>>>0>>0){ka=S;break}else{la=O;ma=S}while(1){ha=ma;do{ha=ha+-1|0;if((la|0)==(ha|0)){ka=la;break b}ja=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ja>>2]|0)>>>0>=W>>>0);la=la+1|0;if((la|0)==(ha|0)){ka=ha;break b}else ma=ha}}else{na=O;oa=S}while(1){ja=na;while(1){pa=Y+((X(ja,Z)|0)<<2)|0;if((f[pa+(R<<2)>>2]|0)>>>0>=W>>>0){qa=oa;break}$=ja+1|0;if(($|0)==(oa|0)){ka=oa;break b}else ja=$}while(1){qa=qa+-1|0;if((ja|0)==(qa|0)){ka=ja;break b}ra=(f[L>>2]|0)+((X(qa,Q)|0)<<2)|0;if((f[ra+(R<<2)>>2]|0)>>>0>>0){sa=0;break}}do{ha=pa+(sa<<2)|0;$=ra+(sa<<2)|0;ia=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ia;sa=sa+1|0}while((sa|0)!=(Z|0));na=ja+1|0;if((na|0)==(qa|0)){ka=qa;break}else oa=qa}}while(0);W=(_(z|0)|0)^31;Q=ka-O|0;Y=S-ka|0;ia=Q>>>0>>0;if((Q|0)!=(Y|0)){$=f[D>>2]|0;if(ia)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ti(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ia)qg(C,W,ha-Q|0);else qg(C,W,ha-Y|0);ha=f[r>>2]|0;W=f[ha+(U*12|0)>>2]|0;ia=W+(R<<2)|0;f[ia>>2]=(f[ia>>2]|0)+1;Fg(ha+(V*12|0)|0,W,f[ha+(U*12|0)+4>>2]|0);if((ka|0)!=(O|0)){ha=f[o>>2]|0;W=f[t>>2]|0;ia=ha-W>>2;$=f[v>>2]|0;ga=f[l>>2]|0;if((((ia|0)==0?0:(ia*113|0)+-1|0)|0)==(ga+$|0)){Jc(e);ta=f[v>>2]|0;ua=f[l>>2]|0;va=f[o>>2]|0;wa=f[t>>2]|0}else{ta=$;ua=ga;va=ha;wa=W}W=ua+ta|0;if((va|0)==(wa|0))xa=0;else xa=(f[wa+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[xa>>2]=O;W=xa+4|0;f[W>>2]=q;f[W+4>>2]=w;f[xa+12>>2]=ka;f[xa+16>>2]=j;f[xa+20>>2]=Z;f[xa+24>>2]=R;f[xa+28>>2]=Q;f[xa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ka|0)){Q=f[o>>2]|0;W=f[t>>2]|0;ha=Q-W>>2;ga=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+ga|0)){Jc(e);ya=f[v>>2]|0;za=f[l>>2]|0;Aa=f[o>>2]|0;Ba=f[t>>2]|0}else{ya=ga;za=$;Aa=Q;Ba=W}W=za+ya|0;if((Aa|0)==(Ba|0))Ca=0;else Ca=(f[Ba+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[Ca>>2]=ka;f[Ca+4>>2]=j;f[Ca+8>>2]=Z;f[Ca+12>>2]=S;W=Ca+16|0;f[W>>2]=p;f[W+4>>2]=s;f[Ca+24>>2]=R;f[Ca+28>>2]=Y;f[Ca+32>>2]=V;Y=(f[l>>2]|0)+1|0;f[l>>2]=Y;Da=Y}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Da=f[l>>2]|0}if(!Da)break;else M=Da}}Da=f[t>>2]|0;M=f[v>>2]|0;Ca=Da+(((M>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Da;if((s|0)==(Da|0)){Ea=0;Fa=0}else{ka=(f[Ca>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Ea=ka;Fa=ka}ka=Ca;Ca=Fa;c:while(1){Fa=Ca;do{M=Fa;if((M|0)==(Ea|0))break c;Fa=M+36|0}while((Fa-(f[ka>>2]|0)|0)!=4068);Fa=ka+4|0;ka=Fa;Ca=f[Fa>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Da;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Ga=f[o>>2]|0;Ha=Ga-j>>2}while(Ha>>>0>2);Ia=j;Ja=Ga;Ka=Ha}else{Ia=Da;Ja=s;Ka=l}switch(Ka|0){case 1:{La=56;ba=95;break}case 2:{La=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=La;if((Ia|0)!=(Ja|0)){La=Ia;do{pr(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}pr(Ja);u=d;return}function gb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ja,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=0;m=o;while(1){s=$(b[m>>0]|0);n[g+(r<<2)>>2]=s;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else m=m+1|0}}else{m=0;r=o;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(h[k>>0]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else k=k+1|0}}else{k=0;u=o;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$(d[l>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else l=l+2|0}}else{l=0;u=o;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){s=$(j[m>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else m=m+2|0}}else{m=0;u=o;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(f[k>>2]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else k=k+4|0}}else{k=0;u=o;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$((f[l>>2]|0)>>>0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else l=l+4|0}}else{l=0;u=o;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){q=m;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else m=m+8|0}}else{m=0;u=o;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){q=k;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else k=k+8|0}}else{k=0;u=o;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;l=r+q|0;while(1){f[g+(o<<2)>>2]=f[l>>2];o=o+1|0;q=b[u>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){C=q;break}else l=l+4|0}}else C=k;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 10:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;r=go(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;q=u+r|0;while(1){s=$(+p[q>>3]);n[g+(m<<2)>>2]=s;m=m+1|0;r=b[l>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){D=r;break}else q=q+8|0}}else D=o;q=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 11:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;u=go(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;r=l+u|0;while(1){s=$((b[r>>0]|0)!=0&1);n[g+(k<<2)>>2]=s;k=k+1|0;u=b[q>>0]|0;if((k|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){E=u;break}else r=r+1|0}}else E=m;r=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function hb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0.0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0,tb=0.0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=0;s=o;t=b;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Ji(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Ji(a)|0;if((x|0)==48){o=0;w=0;while(1){y=go(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Ji(a)|0;if((B|0)==48){o=y;w=z}else{q=y;r=z;s=B;t=1;v=1;break}}}else{q=0;r=0;s=x;t=b;v=1}}f[j>>2]=0;b=s+-48|0;x=(s|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=q;o=r;z=0;y=0;A=s;C=x;D=t;E=v;F=0;G=0;H=0;J=b;c:while(1){do if(C)if(!E){L=z;M=y;N=z;O=y;P=D;Q=1;R=F;S=G;T=H}else break c;else{U=go(z|0,y|0,1,0)|0;V=I;W=(A|0)!=48;if((G|0)>=125){if(!W){L=w;M=o;N=U;O=V;P=D;Q=E;R=F;S=G;T=H;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=U;O=V;P=D;Q=E;R=F;S=G;T=H;break}Y=j+(G<<2)|0;if(!F)Z=J;else Z=A+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=F+1|0;_=(Y|0)==9;L=w;M=o;N=U;O=V;P=1;Q=E;R=_?0:Y;S=(_&1)+G|0;T=W?U:H}while(0);U=f[m>>2]|0;if(U>>>0<(f[n>>2]|0)>>>0){f[m>>2]=U+1;$=h[U>>0]|0}else $=Ji(a)|0;J=$+-48|0;C=($|0)==46;if(!(C|J>>>0<10)){aa=L;ba=N;ca=M;da=O;ea=$;fa=P;ga=Q;ha=R;ia=S;ja=T;p=29;break b}else{w=L;o=M;z=N;y=O;A=$;D=P;E=Q;F=R;G=S;H=T}}ka=z;la=y;ma=w;na=o;oa=F;pa=G;qa=H;ra=(D|0)!=0;p=37}else{aa=q;ba=0;ca=r;da=0;ea=s;fa=t;ga=v;ha=0;ia=0;ja=0;p=29}while(0);do if((p|0)==29){v=(ga|0)==0;t=v?ba:aa;s=v?da:ca;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=ba;la=da;ma=t;na=s;oa=ha;pa=ia;qa=ja;ra=v;p=37;break}else{sa=ba;ta=da;ua=t;va=s;wa=ha;xa=ia;ya=ja;za=v;p=39;break}v=Ie(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){dn(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=go(Ba|0,Ca|0,t|0,s|0)|0;Da=r;Ea=ba;Fa=I;Ga=da;Ha=ha;Ia=ia;Ja=ja;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ma;Ea=ka;Fa=na;Ga=la;Ha=oa;Ia=pa;Ja=qa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=pa;ya=qa;za=ra;p=39}if((p|0)==39)if(za){Da=ua;Ea=sa;Fa=va;Ga=ta;Ha=wa;Ia=xa;Ja=ya;p=41}else p=40;do if((p|0)==40){ya=er()|0;f[ya>>2]=22;dn(a,0);Aa=0.0}else if((p|0)==41){ya=f[j>>2]|0;if(!ya){Aa=+(e|0)*0.0;break}if(((Ga|0)<0|(Ga|0)==0&Ea>>>0<10)&((Da|0)==(Ea|0)&(Fa|0)==(Ga|0))?(c|0)>30|(ya>>>c|0)==0:0){Aa=+(e|0)*+(ya>>>0);break}ya=(d|0)/-2|0;xa=((ya|0)<0)<<31>>31;if((Fa|0)>(xa|0)|(Fa|0)==(xa|0)&Da>>>0>ya>>>0){ya=er()|0;f[ya>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}ya=d+-106|0;xa=((ya|0)<0)<<31>>31;if((Fa|0)<(xa|0)|(Fa|0)==(xa|0)&Da>>>0>>0){ya=er()|0;f[ya>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ha)Ka=Ia;else{if((Ha|0)<9){ya=j+(Ia<<2)|0;xa=Ha;wa=f[ya>>2]|0;do{wa=wa*10|0;xa=xa+1|0}while((xa|0)!=9);f[ya>>2]=wa}Ka=Ia+1|0}if((Ja|0)<9?(Ja|0)<=(Da|0)&(Da|0)<18:0){xa=f[j>>2]|0;if((Da|0)==9){Aa=+(e|0)*+(xa>>>0);break}if((Da|0)<9){Aa=+(e|0)*+(xa>>>0)/+(f[6876+(8-Da<<2)>>2]|0);break}D=c+27+(X(Da,-3)|0)|0;if((D|0)>30|(xa>>>D|0)==0){Aa=+(e|0)*+(xa>>>0)*+(f[6876+(Da+-10<<2)>>2]|0);break}}xa=(Da|0)%9|0;if(!xa){La=0;Ma=0;Na=Da;Oa=Ka}else{D=(Da|0)>-1?xa:xa+9|0;xa=f[6876+(8-D<<2)>>2]|0;if(Ka){H=1e9/(xa|0)|0;G=0;F=0;o=0;w=Da;do{y=j+(o<<2)|0;z=f[y>>2]|0;ta=((z>>>0)/(xa>>>0)|0)+F|0;f[y>>2]=ta;F=X(H,(z>>>0)%(xa>>>0)|0)|0;z=(o|0)==(G|0)&(ta|0)==0;w=z?w+-9|0:w;G=z?G+1&127:G;o=o+1|0}while((o|0)!=(Ka|0));if(!F){Pa=G;Qa=w;Ra=Ka}else{f[j+(Ka<<2)>>2]=F;Pa=G;Qa=w;Ra=Ka+1|0}}else{Pa=0;Qa=Da;Ra=0}La=Pa;Ma=0;Na=9-D+Qa|0;Oa=Ra}d:while(1){o=(Na|0)<18;xa=(Na|0)==18;H=j+(La<<2)|0;wa=Ma;ya=Oa;while(1){if(!o){if(!xa){Sa=La;Ta=wa;Ua=Na;Va=ya;break d}if((f[H>>2]|0)>>>0>=9007199){Sa=La;Ta=wa;Ua=18;Va=ya;break d}}z=0;ta=ya+127|0;Wa=ya;while(1){y=ta&127;va=j+(y<<2)|0;sa=eo(f[va>>2]|0,0,29)|0;ua=go(sa|0,I|0,z|0,0)|0;sa=I;if(sa>>>0>0|(sa|0)==0&ua>>>0>1e9){za=Ip(ua|0,sa|0,1e9,0)|0;ra=qn(ua|0,sa|0,1e9,0)|0;Xa=ra;Ya=za}else{Xa=ua;Ya=0}f[va>>2]=Xa;va=(y|0)==(La|0);Wa=(Xa|0)==0&(((y|0)!=(Wa+127&127|0)|va)^1)?y:Wa;if(va)break;else{z=Ya;ta=y+-1|0}}wa=wa+-29|0;if(Ya|0)break;else ya=Wa}ya=La+127&127;H=Wa+127&127;xa=j+((Wa+126&127)<<2)|0;if((ya|0)==(Wa|0)){f[xa>>2]=f[xa>>2]|f[j+(H<<2)>>2];Za=H}else Za=Wa;f[j+(ya<<2)>>2]=Ya;La=ya;Ma=wa;Na=Na+9|0;Oa=Za}e:while(1){D=Va+1&127;w=j+((Va+127&127)<<2)|0;G=Sa;F=Ta;ya=Ua;while(1){H=(ya|0)==18;xa=(ya|0)>27?9:1;_a=G;$a=F;while(1){o=0;while(1){ta=o+_a&127;if((ta|0)==(Va|0)){ab=2;p=88;break}z=f[j+(ta<<2)>>2]|0;ta=f[6908+(o<<2)>>2]|0;if(z>>>0>>0){ab=2;p=88;break}if(z>>>0>ta>>>0)break;ta=o+1|0;if((ta|0)<2)o=ta;else{ab=ta;p=88;break}}if((p|0)==88?(p=0,H&(ab|0)==2):0){bb=0;cb=0.0;db=Va;break e}eb=xa+$a|0;if((_a|0)==(Va|0)){_a=Va;$a=eb}else break}H=(1<>>xa;fb=_a;gb=0;ta=_a;hb=ya;do{z=j+(ta<<2)|0;y=f[z>>2]|0;va=(y>>>xa)+gb|0;f[z>>2]=va;gb=X(y&H,o)|0;y=(ta|0)==(fb|0)&(va|0)==0;hb=y?hb+-9|0:hb;fb=y?fb+1&127:fb;ta=ta+1&127}while((ta|0)!=(Va|0));if(!gb){G=fb;F=eb;ya=hb;continue}if((D|0)!=(fb|0))break;f[w>>2]=f[w>>2]|1;G=fb;F=eb;ya=hb}f[j+(Va<<2)>>2]=gb;Sa=fb;Ta=eb;Ua=hb;Va=D}while(1){ya=bb+_a&127;F=db+1&127;if((ya|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;cb=cb*1.0e9+ +((f[j+(ya<<2)>>2]|0)>>>0);bb=bb+1|0;if((bb|0)==2)break;else db=ib}jb=+(e|0);kb=jb*cb;ya=$a+53|0;F=ya-d|0;G=(F|0)<(c|0);w=G?((F|0)>0?F:0):c;if((w|0)<53){lb=+Wq(+$j(1.0,105-w|0),kb);mb=+fr(kb,+$j(1.0,53-w|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}wa=_a+2&127;if((wa|0)!=(ib|0)){ta=f[j+(wa<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){qb=jb*.75+ob;break}if((_a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ta|0)==0?(_a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-w|0)>1?!(+fr(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((ya&2147483647|0)>(-2-k|0)){ta=!(+K(+jb)>=9007199254740992.0);wa=((ta^1)&1)+$a|0;kb=ta?jb:jb*.5;if((wa+50|0)<=(l|0)?!(rb!=0.0&(G&((w|0)!=(F|0)|ta))):0){sb=wa;tb=kb;break}ta=er()|0;f[ta>>2]=34;sb=wa;tb=kb}else{sb=$a;tb=jb}while(0);Aa=+Xq(tb,sb)}while(0);u=i;return +Aa}function ib(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Lo(c)|0;if((I|0)<0){q=1;r=16996;s=-c}else{q=(g&2049|0)!=0&1;r=(g&2048|0)==0?((g&1|0)==0?16997:17002):16999;s=c}Lo(s)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+Yq(s,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?r:r+9|0;z=q|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((b[y>>0]|0)==45){D=-(C+(-c-C));break}else{D=c+C-C;break}}else D=c;while(0);A=f[l>>2]|0;B=(A|0)<0?0-A|0:A;E=Sj(B,((B|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){B=o+11|0;b[B>>0]=48;F=B}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;B=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[17027+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(B&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;B=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+B|0;Sk(a,32,d,x,g);sp(a,y,z);Sk(a,48,d,x,g^65536);sp(a,m,G);Sk(a,48,B-G|0,0,0);sp(a,A,E);Sk(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=E;O=c*268435456.0}else{N=f[l>>2]|0;O=c}E=(N|0)<0?k:k+288|0;H=O;G=E;do{B=~~H>>>0;f[G>>2]=B;G=G+4|0;H=(H-+(B>>>0))*1.0e9}while(H!=0.0);if((N|0)>0){v=N;A=E;z=G;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=eo(f[J>>2]|0,0,y|0)|0;P=go(B|0,I|0,K|0,0)|0;B=I;Q=qn(P|0,B|0,1e9,0)|0;f[J>>2]=Q;K=Ip(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;f[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(f[B>>2]|0))J=B;else break}K=(f[l>>2]|0)-y|0;f[l>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{S=K;T=R;U=J;break}}}else{S=N;T=E;U=G}if((S|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;K=T;B=U;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0>>0){P=(1<>>Q;W=0;Y=K;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0>>0);Y=(f[K>>2]|0)==0?K+4|0:K;if(!W){_=Y;$=B}else{f[B>>2]=W;_=Y;$=B+4|0}}else{_=(f[K>>2]|0)==0?K+4|0:K;$=B}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(f[l>>2]|0)+Q|0;f[l>>2]=v;if((v|0)>=0){aa=_;ba=V;break}else{K=_;B=V}}}else{aa=T;ba=U}B=E;if(aa>>>0>>0){K=(B-aa>>2)*9|0;v=f[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=10;V=G;while(1){G=A*10|0;V=V+1|0;if((V|0)==9){da=G;break}else A=G}}else da=10;A=f[v>>2]|0;V=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(V|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(da|0)/2|0;H=V>>>0>>0?.5:w&(V|0)==(G|0)?1.0:1.5;if(!q){ea=C;fa=H}else{G=(b[r>>0]|0)==45;ea=G?-C:C;fa=G?-H:H}G=A-V|0;f[v>>2]=G;if(ea+fa!=ea){V=G+da|0;f[v>>2]=V;if(V>>>0>999999999){V=aa;G=v;while(1){A=G+-4|0;f[G>>2]=0;if(A>>>0>>0){w=V+-4|0;f[w>>2]=0;ga=w}else ga=V;w=(f[A>>2]|0)+1|0;f[A>>2]=w;if(w>>>0>999999999){V=ga;G=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}G=(B-ha>>2)*9|0;V=f[ha>>2]|0;if(V>>>0<10){ja=ha;ka=ia;la=G}else{A=G;G=10;while(1){G=G*10|0;w=A+1|0;if(V>>>0>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}G=A+-4|0;if(!(f[G>>2]|0))A=G;else{pa=1;break}}v=0-na|0;do if(z){G=((K^1)&1)+x|0;if((G|0)>(na|0)&(na|0)>-5){qa=G+-1-na|0;ra=i+-1|0}else{qa=G+-1|0;ra=i+-2|0}G=g&8;if(!G){if(pa?(V=f[A+-4>>2]|0,(V|0)!=0):0)if(!((V>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((V>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;V=(w|0)>0?w:0;ta=0;ua=(qa|0)<(V|0)?qa:V;va=ra;break}else{V=Y+na-sa|0;Y=(V|0)>0?V:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=G;ua=qa;va=ra}}else{ta=g&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=Sj(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-Y|0)<2){V=Y;while(1){w=V+-1|0;b[w>>0]=48;if((z-w|0)<2)V=w;else{ya=w;break}}}else ya=Y;b[ya+-1>>0]=(na>>31&2)+43;V=ya+-2|0;b[V>>0]=va;wa=V;xa=z-V|0}V=q+1+ua+B+xa|0;Sk(a,32,d,V,g);sp(a,r,q);Sk(a,48,d,V,g^65536);if(K){v=ma>>>0>E>>>0?E:ma;w=m+9|0;Q=w;W=m+8|0;P=v;do{J=Sj(f[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){b[W>>0]=48;za=W}else za=J;else if(J>>>0>m>>>0){pj(m|0,48,J-n|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=J;sp(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)sp(a,17043,1);if(P>>>0>>0&(ua|0)>0){E=P;Q=ua;while(1){W=Sj(f[E>>2]|0,0,w)|0;if(W>>>0>m>>>0){pj(m|0,48,W-n|0)|0;v=W;while(1){K=v+-1|0;if(K>>>0>m>>>0)v=K;else{Aa=K;break}}}else Aa=W;sp(a,Aa,(Q|0)<9?Q:9);E=E+4|0;v=Q+-9|0;if(!(E>>>0>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;Sk(a,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){E=m+9|0;w=(ta|0)==0;P=E;x=0-n|0;v=m+8|0;J=ma;K=ua;while(1){B=Sj(f[J>>2]|0,0,E)|0;if((B|0)==(E|0)){b[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;sp(a,Ca,1);if(w&(K|0)<1){Da=B;break}sp(a,17043,1);Da=B}else{if(Ca>>>0<=m>>>0){Da=Ca;break}pj(m|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>m>>>0)B=z;else{Da=z;break}}}while(0);W=P-Da|0;sp(a,Da,(K|0)>(W|0)?W:K);B=K-W|0;J=J+4|0;if(!(J>>>0>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;Sk(a,48,Ea+18|0,18,0);sp(a,wa,p-wa|0)}Sk(a,32,d,V,g^8192);M=V}else{K=(i&32|0)!=0;Q=q+3|0;Sk(a,32,d,Q,g&-65537);sp(a,r,q);sp(a,s!=s|0.0!=0.0?(K?18946:17023):K?17015:17019,3);Sk(a,32,d,Q,g^8192);M=Q}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function jb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){Ve(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ei(v);pr(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ei(v);pr(v)}}else f[d>>2]=0}else{$g(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ei(s);pr(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ei(s);pr(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;ai(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;ai((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;hh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;fg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xj(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;hh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;pr(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;fg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;Xj(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(we(a)|0)){w=0;u=c;return w|0}if(!(th(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Fe(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;aj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(ak(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=Vf(a,d,e)|0;dj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=-1;T=Z;U=W;break}S=f[V+(Y<<2)>>2]|0;T=Z;U=W}while(0);W=f[C>>2]|0;Y=W+(U>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(U&31);Y=W+(T>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(T&31);Y=W+(S>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(S&31);f[d>>2]=1;Y=f[B>>2]|0;if(Y>>>0<(f[J>>2]|0)>>>0){f[Y>>2]=1;f[B>>2]=Y+4}else Ti(A,d);Y=(f[t>>2]|0)+(O<<2)|0;f[Y>>2]=f[Y>>2]|P;Y=Q+1|0;if(R)_=-1;else _=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;f[d>>2]=_;W=f[H>>2]|0;if(W>>>0<(f[K>>2]|0)>>>0){f[W>>2]=_;f[H>>2]=W+4}else Ti(i,d);if(R)break;W=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;if((W|0)==-1)break;Y=f[(f[(f[s>>2]|0)+12>>2]|0)+(W<<2)>>2]|0;W=(Y|0)==-1;V=W?-1:(Y>>>0)/3|0;if(W)break;if(f[(f[t>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)break;f[l>>2]=Y;f[d>>2]=f[l>>2];if(!(fc(a,d)|0))break b}else{Y=Q+1|0;if(R)$=-1;else $=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;f[m>>2]=$;f[d>>2]=f[m>>2];Je(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(fc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Sd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,hh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];Hg(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}oh(v);F=a+232|0;hd(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(hd(E,F),(f[h>>2]|0)>1):0){E=1;do{hd((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}ai((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;ai(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(Yg(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Fe(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);pr(F)}w=ba;u=c;return w|0}function kb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=c;c=0;v=0;w=0;a:while(1){do if((c|0)>-1)if((v|0)>(2147483647-c|0)){x=er()|0;f[x>>2]=75;y=-1;break}else{y=v+c|0;break}else y=c;while(0);x=b[t>>0]|0;if(!(x<<24>>24)){z=87;break}else{A=x;B=t}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}x=B+1|0;f[j>>2]=x;A=b[x>>0]|0;B=x}c:do if((z|0)==9)while(1){z=0;if((b[C+1>>0]|0)!=37){E=C;F=D;break c}x=D+1|0;G=C+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=G;D=x;z=9}else{E=G;F=x;break}}while(0);x=F-t|0;if(o)sp(a,t,x);if(x|0){t=E;c=y;v=x;continue}x=E+1|0;G=(b[x>>0]|0)+-48|0;if(G>>>0<10){H=(b[E+2>>0]|0)==36;J=H?G:-1;K=H?1:w;L=H?E+3|0:x}else{J=-1;K=w;L=x}f[j>>2]=L;x=b[L>>0]|0;H=(x<<24>>24)+-32|0;d:do if(H>>>0<32){G=x;M=0;N=L;O=H;while(1){P=1<>2]=P;U=b[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{G=U;M=T;N=P}}}else{Q=x;R=L;S=0}while(0);if(Q<<24>>24==42){x=R+1|0;H=(b[x>>0]|0)+-48|0;if(H>>>0<10?(b[R+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=1;W=R+3|0;X=f[g+((b[x>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);N=f[H>>2]|0;f[e>>2]=H+4;V=0;W=x;X=N}else{V=0;W=x;X=0}}f[j>>2]=W;x=(X|0)<0;Z=W;_=x?S|8192:S;$=V;aa=x?0-X|0:X}else{x=Nl(j)|0;if((x|0)<0){Y=-1;break}Z=f[j>>2]|0;_=S;$=K;aa=x}do if((b[Z>>0]|0)==46){if((b[Z+1>>0]|0)!=42){f[j>>2]=Z+1;x=Nl(j)|0;ba=f[j>>2]|0;ca=x;break}x=Z+2|0;N=(b[x>>0]|0)+-48|0;if(N>>>0<10?(b[Z+3>>0]|0)==36:0){f[h+(N<<2)>>2]=10;N=f[g+((b[x>>0]|0)+-48<<3)>>2]|0;H=Z+4|0;f[j>>2]=H;ba=H;ca=N;break}if($|0){Y=-1;break a}if(o){N=(f[e>>2]|0)+(4-1)&~(4-1);H=f[N>>2]|0;f[e>>2]=N+4;da=H}else da=0;f[j>>2]=x;ba=x;ca=da}else{ba=Z;ca=-1}while(0);x=ba;H=0;while(1){if(((b[x>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=x+1|0;f[j>>2]=ea;fa=b[(b[x>>0]|0)+-65+(16515+(H*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){x=ea;H=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;G=f[M+4>>2]|0;O=k;f[O>>2]=f[M>>2];f[O+4>>2]=G;z=49;break}if(!o){Y=0;break a}Pe(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=ea;c=y;v=0;w=$;continue}N=b[x>>0]|0;G=(H|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(G|0){case 110:{switch((H&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=ea;c=y;v=0;w=$;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=ea;c=y;v=0;w=$;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}default:{t=ea;c=y;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=G;z=61;break}case 111:{M=k;P=f[M>>2]|0;T=f[M+4>>2]|0;M=Sl(P,T,q)|0;U=r-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=16979;z=67;break}case 105:case 100:{U=k;M=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=io(0,0,M|0,T|0)|0;P=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=P;sa=U;ta=P;ua=1;va=16979;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?16979:16981):16980;z=66;break e}break}case 117:{T=k;sa=f[T>>2]|0;ta=f[T+4>>2]|0;ua=0;va=16979;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=N;ya=1;za=0;Aa=16979;Ba=q;break}case 109:{T=er()|0;Ca=zp(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:16989;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=m;Ea=-1;z=75;break}case 83:{T=f[k>>2]|0;if(!ca){Sk(a,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=ea;c=y;v=ib(a,+p[k>>3],aa,ca,O,G)|0;w=$;continue a;break}default:{wa=t;xa=O;ya=ca;za=0;Aa=16979;Ba=q}}while(0);f:do if((z|0)==61){z=0;G=k;H=f[G>>2]|0;x=f[G+4>>2]|0;G=yl(H,x,q,ja&32)|0;T=(ha&8|0)==0|(H|0)==0&(x|0)==0;ka=H;la=x;ma=G;na=ha;oa=ia;pa=T?0:2;qa=T?16979:16979+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=Sj(sa,ta,q)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=sg(Ca,0,ca)|0;G=(T|0)==0;wa=Ca;xa=N;ya=G?ca:T-Ca|0;za=0;Aa=16979;Ba=G?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;G=0;x=Da;while(1){H=f[x>>2]|0;if(!H){Ga=T;Ha=G;break}M=kp(n,H)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}H=M+T|0;if(Ea>>>0>H>>>0){T=H;G=M;x=x+4|0}else{Ga=H;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}Sk(a,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{x=0;G=Da;while(1){T=f[G>>2]|0;if(!T){Fa=Ga;z=84;break f}M=kp(n,T)|0;x=M+x|0;if((x|0)>(Ga|0)){Fa=Ga;z=84;break f}sp(a,n,M);if(x>>>0>=Ga>>>0){Fa=Ga;z=84;break}else G=G+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;G=(oa|0)!=0|N;x=((N^1)&1)+(r-ma)|0;wa=G?ma:q;xa=(oa|0)>-1?na&-65537:na;ya=G?((oa|0)>(x|0)?oa:x):oa;za=pa;Aa=qa;Ba=q}else if((z|0)==84){z=0;Sk(a,32,aa,Fa,O^8192);t=ea;c=y;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}x=Ba-wa|0;G=(ya|0)<(x|0)?x:ya;N=G+za|0;M=(aa|0)<(N|0)?N:aa;Sk(a,32,M,N,xa);sp(a,Aa,za);Sk(a,48,M,N,xa^65536);Sk(a,48,G,x,0);sp(a,wa,x);Sk(a,32,M,N,xa^8192);t=ea;c=y;v=M;w=$}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{$=1;while(1){v=f[h+($<<2)>>2]|0;if(!v){Ia=$;break}Pe(g+($<<3)|0,v,e);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function lb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){Ve(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ei(v);pr(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ei(v);pr(v)}}else f[d>>2]=0}else{$g(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ei(s);pr(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ei(s);pr(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;Zd(t,a)|0;v=f[s>>2]|0;x=a+4|0;ai(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;ai((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;hh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;fg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xj(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;hh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;pr(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;fg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;Xj(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(we(a)|0)){w=0;u=c;return w|0}if(!(rh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Fe(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;aj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(ak(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=Vf(a,d,e)|0;dj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ti(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ti(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(Xb(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Je(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(Xb(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Sd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,hh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];Hg(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}mi(t);ai(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;ai(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(Yg(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Fe(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);pr(t)}w=aa;u=c;return w|0}function mb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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=Ja,ma=Ja,na=Ja,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Eh(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)Cq(e);else{o=k<<2;p=tn(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;pj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(B<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(t<<2)>>2]|0;else D=t;C=D+239^A;B=B+1|0;if((B|0)>=(x|0)){E=C;break}else A=C}}else E=0;A=f[q>>2]|0;x=(A|0)==0;a:do if(!x){B=A+-1|0;C=(B&A|0)==0;if(!C)if(E>>>0>>0)F=E;else F=(E>>>0)%(A>>>0)|0;else F=B&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&B|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(t<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=t;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0>>0)X=L;else X=(L>>>0)%(A>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(t<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=t;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(t<<2)>>2]=f[Q+12>>2];_=v}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){B=f[z+(H<<2)>>2]|0;if(!(b[B+84>>0]|0))aa=f[(f[B+68>>2]|0)+(t<<2)>>2]|0;else aa=t;B=aa+239^I;H=H+1|0;if((H|0)>=(J|0)){ba=B;break}else I=B}}else ba=0;e:do if(!x){I=A+-1|0;J=(I&A|0)==0;if(!J)if(ba>>>0>>0)ca=ba;else ca=(ba>>>0)%(A>>>0)|0;else ca=I&ba;H=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((H|0)!=0?(B=f[H>>2]|0,(B|0)!=0):0){H=f[s>>2]|0;C=H+8|0;G=H+12|0;if(J){J=B;while(1){H=f[J+4>>2]|0;if(!((H|0)==(ba|0)|(H&I|0)==(ca|0))){da=ca;M=76;break e}H=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=t;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(t<<2)>>2]|0;ga=f[P+(H<<2)>>2]|0}else{fa=t;ga=H}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=t;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=B;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0>>0)ia=J;else ia=(J>>>0)%(A>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;I=f[C>>2]|0;L=(f[G>>2]|0)-I|0;O=I;if((L|0)<=0){ea=t;break e}I=L>>>2;L=0;while(1){H=f[O+(L<<2)>>2]|0;if(!(b[H+84>>0]|0)){K=f[H+68>>2]|0;ja=f[K+(t<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=t;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(I|0)){ea=t;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=tn(16)|0;f[G+8>>2]=t;f[G+12>>2]=v;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(A>>>0);na=$(n[l>>2]);do if(x|la>$(ma*na)){C=(A>>>0<3|(A+-1&A|0)!=0)&1|A<<1;B=~~$(W($(la/na)))>>>0;Eh(d,C>>>0>>0?B:C);C=f[q>>2]|0;B=C+-1|0;if(!(B&C)){oa=C;pa=B&ba;break}if(ba>>>0>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=A;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;B=f[C>>2]|0;if(!B){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){I=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(I>>>0>>0)qa=I;else qa=(I>>>0)%(oa>>>0)|0;else qa=I&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[B>>2];ra=B;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}B=v+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=v;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ti(g,h);_=B;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=B;break}}while(0);t=(f[h>>2]|0)+1|0;f[h>>2]=t;sa=f[j>>2]|0;if(t>>>0>=sa>>>0)break;else v=_}if((_|0)!=(sa|0)){Sa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);pr(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);pr(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;pr(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}pr(e);u=c;return}function nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)Cq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)Cq(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];qb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=io(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=io(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=io(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=go(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=go(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=io(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=io(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=io(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=go(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=go(Q|0,E|0,J|0,I|0)|0;J=I;E=io(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=io(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=En(N|0,L|0,p|0,q|0)|0;q=I;p=En(N|0,L|0,n|0,o|0)|0;o=I;n=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=go(n|0,S|0,R|0,q|0)|0;q=I;R=go(T|0,U|0,p|0,o|0)|0;o=I;p=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Jk(p|0,w|0,N|0,L|0)|0;w=I;p=Jk(s|0,C|0,N|0,L|0)|0;C=I;s=Jk(D|0,G|0,N|0,L|0)|0;G=I;D=io(O|0,B|0,H|0,w|0)|0;w=I;H=io(M|0,F|0,p|0,C|0)|0;C=I;p=io(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=go(D|0,I|0,s|0,w|0)|0;w=I;s=En(p|0,G|0,p|0,G|0)|0;G=go(C|0,w|0,s|0,I|0)|0;s=I;w=io(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=eo(Y|0,Z|0,1)|0;C=I;p=_;_=jo(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=Ip(E|0,s|0,ba|0,ca|0)|0;G=go(C|0,I|0,ba|0,ca|0)|0;C=jo(G|0,I|0,1)|0;G=I;p=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;p=go(E|0,s|0,V|0,q|0)|0;D=I;H=go(G|0,C|0,R|0,o|0)|0;K=I;x=Jk(p|0,D|0,N|0,L|0)|0;D=I;p=Jk(H|0,K|0,N|0,L|0)|0;K=I;H=io(V|0,q|0,E|0,s|0)|0;s=I;E=io(R|0,o|0,G|0,C|0)|0;C=I;G=Jk(H|0,s|0,N|0,L|0)|0;s=I;H=Jk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=io(F|0,M|0,x|0,D|0)|0;J=I;P=io(B|0,E|0,p|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=go(O|0,I|0,T|0,J|0)|0;J=I;T=io(F|0,M|0,G|0,s|0)|0;M=I;F=io(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=go(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)Cq(B);else{E=O<<6;U=F+32&-32;si(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)Cq(B);else{L=O<<6;N=F+32&-32;si(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function ob(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=o;q=n+2|0;break}else{p=o;q=n+-1|0;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(p<<2)>>2]|0;p=f[n+(q<<2)>>2]|0;q=f[a+36>>2]|0;n=f[q>>2]|0;c=(f[q+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)Cq(q);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=p>>>0)Cq(q);q=f[o+(p<<2)>>2]|0;p=(n|0)<(e|0);do if(p&(q|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=q<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];qb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=io(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=io(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=io(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=go(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=go(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=io(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=io(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=io(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=go(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=go(Q|0,E|0,J|0,I|0)|0;J=I;E=io(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=io(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=En(N|0,L|0,c|0,m|0)|0;m=I;c=En(N|0,L|0,r|0,o|0)|0;o=I;r=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=go(r|0,S|0,R|0,m|0)|0;m=I;R=go(T|0,U|0,c|0,o|0)|0;o=I;c=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Jk(c|0,w|0,N|0,L|0)|0;w=I;c=Jk(s|0,C|0,N|0,L|0)|0;C=I;s=Jk(D|0,G|0,N|0,L|0)|0;G=I;D=io(O|0,B|0,H|0,w|0)|0;w=I;H=io(M|0,F|0,c|0,C|0)|0;C=I;c=io(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=go(D|0,I|0,s|0,w|0)|0;w=I;s=En(c|0,G|0,c|0,G|0)|0;G=go(C|0,w|0,s|0,I|0)|0;s=I;w=io(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=eo(Y|0,Z|0,1)|0;C=I;c=_;_=jo(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=Ip(E|0,s|0,ba|0,ca|0)|0;G=go(C|0,I|0,ba|0,ca|0)|0;C=jo(G|0,I|0,1)|0;G=I;c=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;c=go(E|0,s|0,V|0,m|0)|0;D=I;H=go(G|0,C|0,R|0,o|0)|0;K=I;x=Jk(c|0,D|0,N|0,L|0)|0;D=I;c=Jk(H|0,K|0,N|0,L|0)|0;K=I;H=io(V|0,m|0,E|0,s|0)|0;s=I;E=io(R|0,o|0,G|0,C|0)|0;C=I;G=Jk(H|0,s|0,N|0,L|0)|0;s=I;H=Jk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=io(F|0,M|0,x|0,D|0)|0;J=I;P=io(B|0,E|0,c|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=go(O|0,I|0,T|0,J|0)|0;J=I;T=io(F|0,M|0,G|0,s|0)|0;M=I;F=io(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=go(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)Cq(B);else{E=O<<6;U=F+32&-32;si(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)Cq(B);else{L=O<<6;N=F+32&-32;si(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(p)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(k|0)!=(j|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else zh(h,b-l|0,6296);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)Cq(d);k=((b+-1|0)>>>5)+1|0;m=tn(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;pj(m|0,0,k<<2|0)|0;n=b-(k<<5)|0;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)Cq(e);v=((o+-1|0)>>>5)+1|0;w=tn(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;pj(w|0,0,v<<2|0)|0;x=o-(v<<5)|0;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=k;B=q;C=r;D=0;E=b;a:while(1){F=A;G=D*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=C;J=B;F=0;I=E;while(1){M=F+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[H+(N>>>5<<2)>>2]&1<<(N&31))){O=N;P=0;Q=I}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Ti(h,6296);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ti(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=52;break a}T=R<<6;R=N+32&-32;si(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=I;O=I;P=1;Q=I+1|0}N=f[d>>2]|0;T=N+(O>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(O&31);T=N;b:do if(P){R=M;while(1){if((R|0)==-1){S=66;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=66;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==66){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!P){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=T;aa=N;ba=Q}else{$=J;aa=H;ba=I}F=F+1|0;if((F|0)>=3){ca=$;da=aa;ea=ba;break}else{H=aa;J=$;I=ba}}}else{ca=B;da=C;ea=E}}else{ca=B;da=C;ea=E}D=D+1|0;A=f[a>>2]|0;if(D>>>0>=(((f[m>>2]|0)-A>>2>>>0)/3|0)>>>0){S=18;break}else{B=ca;C=da;E=ea}}if((S|0)==18){fa=ca;ga=f[l>>2]|0;break}else if((S|0)==52)Cq(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0){if(!S){l=a;ca=0;ea=ga;while(1){e:do if(ea){da=ca;m=0;while(1){if(!(f[l>>2]&1<>2]=ba;ha=ba}else ha=da;if((m|0)==31){ia=ha;break}else{da=ha;m=m+1|0}}}else{m=ca;da=0;while(1){if(!(f[l>>2]&1<>2]=N;ja=N}else ja=m;if((da|0)==31){ia=ja;break e}da=da+1|0;if(!da)break d;else m=ja}}while(0);l=l+4|0;if((l|0)==(q|0))break d;else{ca=ia;ea=1}}}if(ga){ea=a;ca=0;l=0;while(1){m=l;da=ca;N=0;while(1){if(!(f[ea>>2]&1<>2]=T;ka=T;la=T}else{ka=da;la=m}if((N|0)==31)break;else{m=la;da=ka;N=N+1|0}}N=ea+4|0;if((N|0)==(q|0)){ma=N;na=ka;break}else{ea=N;ca=ka;l=la}}}else{ma=a;na=0}l=na;ca=0;while(1){if(!(f[ma>>2]&1<>2]=ea;oa=ea}else oa=l;ca=ca+1|0;if((ca|0)==(S|0))break;else l=oa}}while(0);oa=f[e>>2]|0;if(oa|0)pr(oa);oa=f[d>>2]|0;if(!oa){u=c;return 1}pr(oa);u=c;return 1}function qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){r=b[q>>0]|0;m=g+(o<<3)|0;f[m>>2]=r;f[m+4>>2]=((r|0)<0)<<31>>31;o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){t=g+(r<<3)|0;f[t>>2]=h[m>>0];f[t+4>>2]=0;r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){k=d[t>>1]|0;q=g+(l<<3)|0;f[q>>2]=k;f[q+4>>2]=((k|0)<0)<<31>>31;l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){q=g+(o<<3)|0;f[q>>2]=j[k>>1];f[q+4>>2]=0;o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){m=f[q>>2]|0;t=g+(r<<3)|0;f[t>>2]=m;f[t+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){t=g+(l<<3)|0;f[t>>2]=f[m>>2];f[t+4>>2]=0;l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){k=t;q=f[k+4>>2]|0;z=g+(o<<3)|0;f[z>>2]=f[k>>2];f[z+4>>2]=q;o=o+1|0;q=b[m>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else t=t+8|0}}else A=l;t=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;z=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=m+z|0;while(1){z=q;m=f[z+4>>2]|0;k=g+(r<<3)|0;f[k>>2]=f[z>>2];f[k+4>>2]=m;r=r+1|0;m=b[t>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+8|0}}else B=o;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 9:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=t+k|0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;t=g+(l<<3)|0;f[t>>2]=~~+C>>>0;f[t+4>>2]=k;l=l+1|0;k=b[q>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=r;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=q+t|0;while(1){E=+p[k>>3];t=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;q=g+(o<<3)|0;f[q>>2]=~~E>>>0;f[q+4>>2]=t;o=o+1|0;t=b[m>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){F=t;break}else k=k+8|0}}else F=l;k=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=m+q|0;while(1){q=g+(r<<3)|0;f[q>>2]=h[t>>0];f[q+4>>2]=0;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){G=q;break}else t=t+1|0}}else G=o;t=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ti(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=-1;n=l}else{m=f[(f[h>>2]|0)+(k<<2)>>2]|0;n=l}}else{m=-1;n=-1}l=a+24|0;k=f[l>>2]|0;h=k+(n>>>5<<2)|0;g=1<<(n&31);j=f[h>>2]|0;if(!(j&g)){f[h>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;h=f[o>>2]|0;if((h|0)==(f[g+8>>2]|0))Ti(g,d);else{f[h>>2]=j;f[o>>2]=h+4}h=a+40|0;o=f[h>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Ti(o,e);p=f[h>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(n<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[l>>2]|0}else q=k;k=q+(m>>>5<<2)|0;q=1<<(m&31);o=f[k>>2]|0;if(!(o&q)){f[k>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;k=f[r>>2]|0;if((k|0)==(f[o+8>>2]|0))Ti(o,d);else{f[k>>2]=q;f[r>>2]=k+4}k=a+40|0;r=f[k>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Ti(r,e);s=f[k>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(m<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[l>>2]|0)+(t>>>5<<2)|0;m=1<<(t&31);s=f[r>>2]|0;if(!(m&s)){f[r>>2]=s|m;m=f[i>>2]|0;f[e>>2]=m;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[a+48>>2]|0;f[d>>2]=s;r=f[m+4>>2]|0;m=r+4|0;o=f[m>>2]|0;if((o|0)==(f[r+8>>2]|0))Ti(r,d);else{f[o>>2]=s;f[m>>2]=o+4}o=a+40|0;m=f[o>>2]|0;s=m+4|0;r=f[s>>2]|0;if((r|0)==(f[m+8>>2]|0)){Ti(m,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=m}m=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1}m=f[b>>2]|0;a:do if((m|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=m;while(1){k=q;while(1){w=a+52+(k*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(k*12|0)>>2]|0)!=(x|0))break;n=k+1|0;if((n|0)<3)k=n;else break a}n=x+-4|0;p=f[n>>2]|0;f[w>>2]=n;f[b>>2]=k;f[i>>2]=p;if((p|0)==-1)break;n=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(n>>>5<<2)>>2]&1<<(n&31))){j=p;h=g;b:while(1){y=(j>>>0)/3|0;z=h+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[l>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Ti(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[l>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Ti(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[l>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;h=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;h=a+52+(O*12|0)+4|0;j=f[h>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Ti(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[h>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=k;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=go(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2])>>>0;f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3]>>>0;o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}tb(h,W,c);g=W+4|0}if((l|0)==82){l=0;tb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}ub(h,W,c);g=W+4|0}if((l|0)==82){l=0;ub(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}vb(h,W,c);g=W+4|0}if((l|0)==82){l=0;vb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}wb(h,W,c);g=W+4|0}if((l|0)==82){l=0;wb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}xb(h,W,c);g=W+4|0}if((l|0)==82){l=0;xb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}} +function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}yb(h,W,c);g=W+4|0}if((l|0)==82){l=0;yb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}zb(h,W,c);g=W+4|0}if((l|0)==82){l=0;zb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Ab(h,W,c);g=W+4|0}if((l|0)==82){l=0;Ab(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Bb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Bb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Cb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Cb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Db(h,W,c);g=W+4|0}if((l|0)==82){l=0;Db(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Eb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Eb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Fb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Fb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Gb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Gb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Hb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Hb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Ib(h,W,c);g=W+4|0}if((l|0)==82){l=0;Ib(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Jb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Jb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Kb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Kb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=go(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2]);f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3];o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=Ja,J=0,K=0,L=0,M=0,N=Ja;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(yh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=tn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14756;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Hh(o,g)|0)!=0):0)y=Ik(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Ik(c,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=tn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14829;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Hh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=tn(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14849;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Hh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if(!C){Qd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)Cq(i);else{D=B<<2;c=tn(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;pj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=tn(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14829;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Hh(o,j)|0)!=0):0){t=Og(o,j)|0;if((t|0)!=(G+24|0)){nj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(Lq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)pr(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Og(B,j)|0,(H|0)!=(B+4|0)):0){nj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(Lq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)pr(f[g>>2]|0)}if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=tn(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14849;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Hh(d,g)|0)!=0):0)N=$(vk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(vk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);Hl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);pr(C)}k=1;u=e;return k|0}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=m;r=p;s=g+2|0;break}else{q=m;r=p;s=g+-1|0;break}}else{p=f[n+28>>2]|0;q=p;r=f[p+-4>>2]|0;s=-1}while(0);n=f[q+(s<<2)>>2]|0;if((r|0)==-1|(n|0)==-1){h=0;u=c;return h|0}s=a+24|0;q=f[s>>2]|0;g=q+(r>>>5<<2)|0;k=1<<(r&31);p=f[g>>2]|0;if(!(p&k)){f[g>>2]=p|k;k=f[b>>2]|0;p=k+1|0;if((k|0)==-1)t=-1;else t=((p>>>0)%3|0|0)==0?k+-2|0:p;f[e>>2]=t;p=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=p;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Ti(k,d);else{f[g>>2]=p;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;p=t+4|0;k=f[p>>2]|0;if((k|0)==(f[t+8>>2]|0)){Ti(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(r<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[s>>2]|0}else w=q;q=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[q>>2]|0;if(!(t&w)){f[q>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;q=f[x>>2]|0;if((q|0)==(f[t+8>>2]|0))Ti(t,d);else{f[q>>2]=w;f[x>>2]=q+4}q=a+40|0;x=f[q>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Ti(x,e);y=f[q>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;q=x;x=n;a:while(1){n=f[x+-4>>2]|0;f[b>>2]=n;r=(n>>>0)/3|0;if((n|0)!=-1?(n=(f[j>>2]|0)+(r>>>5<<2)|0,v=1<<(r&31),r=f[n>>2]|0,(r&v|0)==0):0){f[n>>2]=r|v;v=f[a>>2]|0;r=f[b>>2]|0;n=f[(f[v+28>>2]|0)+(r<<2)>>2]|0;if((n|0)==-1){h=0;z=79;break}else{A=r;B=v;C=n}b:while(1){n=(f[s>>2]|0)+(C>>>5<<2)|0;v=1<<(C&31);r=f[n>>2]|0;do if(!(r&v)){k=f[(f[B+40>>2]|0)+(C<<2)>>2]|0;if((k|0)==-1)D=1;else{p=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(p&31)&f[(f[B+12>>2]|0)+(p>>>5<<2)>>2]|0)!=0}f[n>>2]=r|v;p=f[b>>2]|0;f[e>>2]=p;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]|0;p=f[t>>2]|0;f[d>>2]=k;g=f[p+4>>2]|0;p=g+4|0;m=f[p>>2]|0;if((m|0)==(f[g+8>>2]|0))Ti(g,d);else{f[m>>2]=k;f[p>>2]=m+4}m=f[w>>2]|0;p=m+4|0;k=f[p>>2]|0;if((k|0)==(f[m+8>>2]|0)){Ti(m,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;E=m}m=E+24|0;f[(f[E+12>>2]|0)+(C<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1;m=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=m;z=59;break}p=k+1|0;do if((k|0)==-1)H=-1;else{g=((p>>>0)%3|0|0)==0?k+-2|0:p;if((g|0)==-1){H=-1;break}if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[m+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=m;J=(H>>>0)/3|0}else{F=A;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=63;break}r=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((r|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((r|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);r=(K|0)==-1;v=(K>>>0)/3|0;n=r?-1:v;p=(L|0)==-1;k=(L>>>0)/3|0;g=p?-1:k;do if(!r){M=f[j>>2]|0;if(f[M+(n>>>5<<2)>>2]&1<<(n&31)|0){z=69;break}if(p){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(p){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=G;J=O}v=(f[j>>2]|0)+(J>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(J&31);A=f[b>>2]|0;C=f[(f[I+28>>2]|0)+(A<<2)>>2]|0;if((C|0)==-1){h=0;z=79;break a}else B=I}do if((z|0)==63){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Ti(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];n=v+4|0;f[l>>2]=n;P=n;break}}while(0);if((z|0)==71){z=0;n=(f[l>>2]|0)+-4|0;f[l>>2]=n;P=n}Q=f[i>>2]|0;R=P}else{n=x+-4|0;f[l>>2]=n;Q=q;R=n}if((Q|0)==(R|0)){h=1;z=79;break}else{q=Q;x=R}}if((z|0)==79){u=c;return h|0}return 0}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ja,V=Ja,Y=Ja,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=t+(w+4)|0;z=s;A=r-w|0}else{y=t;z=v;A=v}switch(A|0){case 3:{B=h[y+2>>0]<<16^z;C=8;break}case 2:{B=z;C=8;break}case 1:{D=z;C=9;break}default:E=z}if((C|0)==8){C=0;D=h[y+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(h[y>>0]^D,1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(Yk(K,t,v)|0))break b;else break;if((K&255)<<24>>24==(b[t>>0]|0)){K=O;P=G;Q=t;do{K=K+-1|0;P=P+1|0;if(!K)break b;Q=Q+1|0}while((b[P>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){G=f[F+4>>2]|0;if((G|0)!=(r|0)){if(G>>>0>>0)R=G;else R=(G>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}G=b[F+8+11>>0]|0;if(!((G<<24>>24<0?f[F+12>>2]|0:G&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;G=I<<24>>24<0;O=I&255;do if(((G?f[S+12>>2]|0:O)|0)==(v|0)){I=f[F>>2]|0;if(G)if(!(Yk(I,t,v)|0))break b;else break;if((I&255)<<24>>24==(b[t>>0]|0)){I=O;N=F;Q=t;do{I=I+-1|0;N=N+1|0;if(!I)break b;Q=Q+1|0}while((b[N>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Jh(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|U>$(V*Y)){t=(w>>>0<3|(w+-1&w|0)!=0)&1|w<<1;v=~~$(W($(U/Y)))>>>0;ci(a,t>>>0>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=tn(40)|0;Ob(c,f[e+20>>2]|0);aa=zc(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;oi(c+8|0);pr(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)pr(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;pr(Z)}if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);pr(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)pr(aa);pr(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Ti(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Ti(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Ti(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Ti(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Ti(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=D;J=(H>>>0)/3|0}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=G;J=N}t=(f[j>>2]|0)+(J>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(J&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=I}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Ti(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Qb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=E;G=E&65535;F=E>>>16;H=F&65535;J=(E&65535^318)+239^F;F=(z|0)==0;a:do if(!F){K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(z>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(z>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[A+(r<<2)>>2]=f[T+12>>2];V=e;X=C;Y=B;Z=A;_=D;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(z>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(z>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=tn(16)|0;G=H+8|0;d[G>>1]=E;d[G+2>>1]=E>>>16;f[H+12>>2]=D;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(z>>>0);ga=$(n[l>>2]);do if(F|ea>$(fa*ga)){G=(z>>>0<3|(z+-1&z|0)!=0)&1|z<<1;O=~~$(W($(ea/ga)))>>>0;Th(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=z;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){E=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(E>>>0>>0)ja=E;else ja=(E>>>0)%(ha>>>0)|0;else ja=E&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;E=En(J|0,f[F+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+E|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(r<<2)>>2]=D;V=J;X=J;Y=J;Z=J;_=D+1|0}J=r+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=f[o>>2]|0;A=Z;B=Y;C=X;r=J;D=_}if((_|0)==(la|0))ma=Y;else{Y=a+84|0;if(!(b[Y>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=V;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[X+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=V}}else{b[Y>>0]=0;Y=a+68|0;V=a+72|0;B=f[V>>2]|0;r=f[Y>>2]|0;X=B-r>>2;C=r;r=B;if(la>>>0<=X>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[V>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(Y,la-X|0,1284);oa=f[m>>2]|0}X=f[k>>2]|0;if(!oa)na=X;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=X}}f[m>>2]=_;ma=na}if(!ma)pa=_;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=_}}else pa=0;_=f[i+8>>2]|0;if(_|0){ma=_;do{_=ma;ma=f[ma>>2]|0;pr(_)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=La[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(z|0)!=(o|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{zh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,x,e);x=tn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;hh(h+8|0,E,e);Qa[f[(f[h>>2]|0)+8>>2]&127](h);xf(j,h);xf(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;dg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)pr(s);s=f[e+8>>2]|0;if(s|0)pr(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)pr(s);s=f[j+8>>2]|0;if(s|0)pr(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];dg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;mg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);pr(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)pr(E);E=f[i+12>>2]|0;if(E|0)pr(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)pr(E);E=f[h+8>>2]|0;if(E|0)pr(E);M=s;N=0;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ki(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){O=31;break}af(e,a,P);Q=f[e>>2]|0;R=1}else O=31;while(0);if((O|0)==31){Pd(e,a,P);Q=f[e>>2]|0;R=0}if(!Q)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=N;N=tn(76)|0;f[k>>2]=M;vl(N,k,c);c=N;N=f[k>>2]|0;f[k>>2]=0;if(N|0)Qa[f[(f[N>>2]|0)+4>>2]&127](N);N=a+188|0;k=f[N>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[N>>2]=k+4}k=La[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;N=f[a>>2]|0;if(N>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[N>>2]=c;f[a>>2]=N+4;U=l}else{Ng(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Qa[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=La[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(z|0)!=(o|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{zh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,x,e);x=tn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;hh(h+8|0,E,e);Qa[f[(f[h>>2]|0)+8>>2]&127](h);xf(j,h);xf(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;dg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)pr(s);s=f[e+8>>2]|0;if(s|0)pr(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)pr(s);s=f[j+8>>2]|0;if(s|0)pr(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];dg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;mg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);pr(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)pr(E);E=f[i+12>>2]|0;if(E|0)pr(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)pr(E);E=f[h+8>>2]|0;if(E|0)pr(E);M=s;N=0;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ki(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){O=31;break}af(e,a,P);Q=f[e>>2]|0;R=1}else O=31;while(0);if((O|0)==31){Pd(e,a,P);Q=f[e>>2]|0;R=0}if(!Q)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=N;N=tn(76)|0;f[k>>2]=M;vl(N,k,c);c=N;N=f[k>>2]|0;f[k>>2]=0;if(N|0)Qa[f[(f[N>>2]|0)+4>>2]&127](N);N=a+188|0;k=f[N>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[N>>2]=k+4}k=La[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;N=f[a>>2]|0;if(N>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[N>>2]=c;f[a>>2]=N+4;U=l}else{Ng(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Qa[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Ja,da=Ja,ea=Ja,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=q;z=q;A=0;B=q;q=0;C=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(x+q|0,0,f[D>>2]|0,f[D+4>>2]|0)|0;D=go(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(A|0)==0;a:do if(!G){H=A+-1|0;J=(H&A|0)==0;if(!J)if(D>>>0>>0)K=D;else K=(D>>>0)%(A>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0>>0)S=P;else S=(P>>>0)%(A>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[B+(q<<2)>>2]=f[R+16>>2];T=d;U=y;V=B;X=z;Y=C;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=A+-1|0;J=(H&A|0)==0;if(!J)if(D>>>0>>0)_=D;else _=(D>>>0)%(A>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0>>0)ba=J;else ba=(J>>>0)%(A>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=tn(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=C;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(A>>>0);ea=$(n[k>>2]);do if(G|ca>$(da*ea)){J=(A>>>0<3|(A+-1&A|0)!=0)&1|A<<1;H=~~$(W($(ca/ea)))>>>0;Xh(g,J>>>0>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=A;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=En(D|0,f[G+4>>2]|0,C|0,0)|0;eh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(q<<2)>>2]=C;T=D;U=D;V=D;X=D;Y=C+1|0}D=q+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=U;z=X;A=f[m>>2]|0;B=V;q=D;C=Y}if((Y|0)==(ja|0))ka=U;else{U=a+84|0;if(!(b[U>>0]|0)){C=f[a+72>>2]|0;q=f[a+68>>2]|0;V=q;if((C|0)==(q|0))la=T;else{B=C-q>>2;q=0;do{C=V+(q<<2)|0;f[C>>2]=f[X+(f[C>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);la=T}}else{b[U>>0]=0;U=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[U>>2]|0;X=B-q>>2;V=q;q=B;if(ja>>>0<=X>>>0)if(ja>>>0>>0?(B=V+(ja<<2)|0,(q|0)!=(B|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{zh(U,ja-X|0,1284);ma=f[l>>2]|0}X=f[j>>2]|0;if(!ma)la=X;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=X}}f[l>>2]=Y;ka=la}if(!ka)na=Y;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);pr(ka);na=Y}}else na=0;Y=f[g+8>>2]|0;if(Y|0){ka=Y;do{Y=ka;ka=f[ka>>2]|0;pr(Y)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}pr(ka);u=e;return na|0}function Ub(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=E;G=E&255;F=(E&65535)>>>8;H=F&255;J=((E&255^318)+239<<16>>16^F)&65535;F=(z|0)==0;a:do if(!F){K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(z>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(z>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[A+(r<<2)>>2]=f[T+12>>2];V=e;X=C;Y=B;Z=A;_=D;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(z>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(z>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=tn(16)|0;G=H+8|0;b[G>>0]=E;b[G+1>>0]=E>>8;f[H+12>>2]=D;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(z>>>0);ga=$(n[l>>2]);do if(F|ea>$(fa*ga)){G=(z>>>0<3|(z+-1&z|0)!=0)&1|z<<1;O=~~$(W($(ea/ga)))>>>0;_h(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=z;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){E=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(E>>>0>>0)ja=E;else ja=(E>>>0)%(ha>>>0)|0;else ja=E&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;E=En(J|0,f[F+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+E|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(r<<2)>>2]=D;V=J;X=J;Y=J;Z=J;_=D+1|0}J=r+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=f[o>>2]|0;A=Z;B=Y;C=X;r=J;D=_}if((_|0)==(la|0))ma=Y;else{Y=a+84|0;if(!(b[Y>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=V;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[X+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=V}}else{b[Y>>0]=0;Y=a+68|0;V=a+72|0;B=f[V>>2]|0;r=f[Y>>2]|0;X=B-r>>2;C=r;r=B;if(la>>>0<=X>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[V>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(Y,la-X|0,1284);oa=f[m>>2]|0}X=f[k>>2]|0;if(!oa)na=X;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=X}}f[m>>2]=_;ma=na}if(!ma)pa=_;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=_}}else pa=0;_=f[i+8>>2]|0;if(_|0){ma=_;do{_=ma;ma=f[ma>>2]|0;pr(_)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function Vb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;gl(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];ec(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[t>>2]|0;if((p|0)==0&(P|0)==0){Q=h;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,p|0,P|0)|0;f[h>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=s;R=N?P:0-P|0}f[Q>>2]=R;P=f[h>>2]|0;N=f[q>>2]|0;M=f[s>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;p=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|p&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(p){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);f[i>>2]=Y;f[v>>2]=Z;p=0-N|0;H=0-M|0;f[h>>2]=0-P;f[q>>2]=p;f[s>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?p:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(p=(T|0)==($|0),X=(T|0)==(_|0),!(H&p|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(p&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);f[j>>2]=aa;f[x>>2]=ba;T=L<<1;O=b+(T<<2)|0;S=f[y>>2]|0;if((S|0)>0){H=S;S=0;M=i;while(1){if((H|0)>0){N=0;do{P=f[M+(N<<2)>>2]|0;p=f[z>>2]|0;if((P|0)>(p|0)){X=f[A>>2]|0;f[X+(N<<2)>>2]=p;ca=X}else{X=f[B>>2]|0;p=f[A>>2]|0;f[p+(N<<2)>>2]=(P|0)<(X|0)?X:P;ca=p}N=N+1|0;p=f[y>>2]|0}while((N|0)<(p|0));da=ca;ea=p}else{da=f[A>>2]|0;ea=H}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;p=k+(S<<2)|0;f[p>>2]=N;fa=f[C>>2]|0;if((N|0)>=(fa|0)){if((N|0)>(f[E>>2]|0)){ga=N-(f[D>>2]|0)|0;ha=47}}else{ga=(f[D>>2]|0)+N|0;ha=47}if((ha|0)==47){ha=0;f[p>>2]=ga}S=S+1|0;if((S|0)>=(ea|0))break;else{H=ea;M=da}}if((ea|0)>0){M=fa;H=ea;S=0;p=j;while(1){if((H|0)>0){N=0;do{P=f[p+(N<<2)>>2]|0;X=f[z>>2]|0;if((P|0)>(X|0))f[da+(N<<2)>>2]=X;else{X=f[B>>2]|0;f[da+(N<<2)>>2]=(P|0)<(X|0)?X:P}N=N+1|0;ia=f[y>>2]|0}while((N|0)<(ia|0));ja=ia;ka=f[C>>2]|0}else{ja=H;ka=M}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;P=l+(S<<2)|0;f[P>>2]=N;if((N|0)>=(ka|0)){if((N|0)>(f[E>>2]|0)){la=N-(f[D>>2]|0)|0;ha=60}}else{la=(f[D>>2]|0)+N|0;ha=60}if((ha|0)==60){ha=0;f[P>>2]=la}S=S+1|0;if((S|0)>=(ja|0))break;else{M=ka;H=ja;p=da}}}}p=f[k>>2]|0;H=f[t>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))ma=(f[F>>2]|0)+p|0;else ma=p;else ma=p-(f[F>>2]|0)|0;f[k>>2]=ma;p=f[a>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))na=(f[F>>2]|0)+p|0;else na=p;else na=p-(f[F>>2]|0)|0;f[a>>2]=na;p=f[l>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))oa=(f[F>>2]|0)+p|0;else oa=p;else oa=p-(f[F>>2]|0)|0;f[l>>2]=oa;p=f[G>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))pa=(f[F>>2]|0)+p|0;else pa=p;else pa=p-(f[F>>2]|0)|0;f[G>>2]=pa;if((((na|0)>-1?na:0-na|0)+((ma|0)>-1?ma:0-ma|0)|0)<(((oa|0)>-1?oa:0-oa|0)+((pa|0)>-1?pa:0-pa|0)|0)){dj(g,0);qa=k}else{dj(g,1);qa=l}p=f[qa>>2]|0;if((p|0)<0)ra=(f[F>>2]|0)+p|0;else ra=p;p=c+(T<<2)|0;f[p>>2]=ra;H=f[qa+4>>2]|0;if((H|0)<0)sa=(f[F>>2]|0)+H|0;else sa=H;f[p+4>>2]=sa;L=L+1|0;if((L|0)>=(r|0)){ha=3;break}p=f[o>>2]|0;K=f[p>>2]|0;if((f[p+4>>2]|0)-K>>2>>>0<=L>>>0){J=p;ha=4;break}}if((ha|0)==3){u=e;return 1}else if((ha|0)==4)Cq(J);return 0}function Wb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;gl(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];Zb(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[t>>2]|0;if((p|0)==0&(P|0)==0){Q=h;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,p|0,P|0)|0;f[h>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=s;R=N?P:0-P|0}f[Q>>2]=R;P=f[h>>2]|0;N=f[q>>2]|0;M=f[s>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;p=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|p&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(p){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);f[i>>2]=Y;f[v>>2]=Z;p=0-N|0;H=0-M|0;f[h>>2]=0-P;f[q>>2]=p;f[s>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?p:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(p=(T|0)==($|0),X=(T|0)==(_|0),!(H&p|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(p&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);f[j>>2]=aa;f[x>>2]=ba;T=L<<1;O=b+(T<<2)|0;S=f[y>>2]|0;if((S|0)>0){H=S;S=0;M=i;while(1){if((H|0)>0){N=0;do{P=f[M+(N<<2)>>2]|0;p=f[z>>2]|0;if((P|0)>(p|0)){X=f[A>>2]|0;f[X+(N<<2)>>2]=p;ca=X}else{X=f[B>>2]|0;p=f[A>>2]|0;f[p+(N<<2)>>2]=(P|0)<(X|0)?X:P;ca=p}N=N+1|0;p=f[y>>2]|0}while((N|0)<(p|0));da=ca;ea=p}else{da=f[A>>2]|0;ea=H}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;p=k+(S<<2)|0;f[p>>2]=N;fa=f[C>>2]|0;if((N|0)>=(fa|0)){if((N|0)>(f[E>>2]|0)){ga=N-(f[D>>2]|0)|0;ha=47}}else{ga=(f[D>>2]|0)+N|0;ha=47}if((ha|0)==47){ha=0;f[p>>2]=ga}S=S+1|0;if((S|0)>=(ea|0))break;else{H=ea;M=da}}if((ea|0)>0){M=fa;H=ea;S=0;p=j;while(1){if((H|0)>0){N=0;do{P=f[p+(N<<2)>>2]|0;X=f[z>>2]|0;if((P|0)>(X|0))f[da+(N<<2)>>2]=X;else{X=f[B>>2]|0;f[da+(N<<2)>>2]=(P|0)<(X|0)?X:P}N=N+1|0;ia=f[y>>2]|0}while((N|0)<(ia|0));ja=ia;ka=f[C>>2]|0}else{ja=H;ka=M}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;P=l+(S<<2)|0;f[P>>2]=N;if((N|0)>=(ka|0)){if((N|0)>(f[E>>2]|0)){la=N-(f[D>>2]|0)|0;ha=60}}else{la=(f[D>>2]|0)+N|0;ha=60}if((ha|0)==60){ha=0;f[P>>2]=la}S=S+1|0;if((S|0)>=(ja|0))break;else{M=ka;H=ja;p=da}}}}p=f[k>>2]|0;H=f[t>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))ma=(f[F>>2]|0)+p|0;else ma=p;else ma=p-(f[F>>2]|0)|0;f[k>>2]=ma;p=f[a>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))na=(f[F>>2]|0)+p|0;else na=p;else na=p-(f[F>>2]|0)|0;f[a>>2]=na;p=f[l>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))oa=(f[F>>2]|0)+p|0;else oa=p;else oa=p-(f[F>>2]|0)|0;f[l>>2]=oa;p=f[G>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))pa=(f[F>>2]|0)+p|0;else pa=p;else pa=p-(f[F>>2]|0)|0;f[G>>2]=pa;if((((na|0)>-1?na:0-na|0)+((ma|0)>-1?ma:0-ma|0)|0)<(((oa|0)>-1?oa:0-oa|0)+((pa|0)>-1?pa:0-pa|0)|0)){dj(g,0);qa=k}else{dj(g,1);qa=l}p=f[qa>>2]|0;if((p|0)<0)ra=(f[F>>2]|0)+p|0;else ra=p;p=c+(T<<2)|0;f[p>>2]=ra;H=f[qa+4>>2]|0;if((H|0)<0)sa=(f[F>>2]|0)+H|0;else sa=H;f[p+4>>2]=sa;L=L+1|0;if((L|0)>=(r|0)){ha=3;break}p=f[o>>2]|0;K=f[p>>2]|0;if((f[p+4>>2]|0)-K>>2>>>0<=L>>>0){J=p;ha=4;break}}if((ha|0)==3){u=e;return 1}else if((ha|0)==4)Cq(J);return 0}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=K;K=0;b:while(1){L=K+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=J+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ti(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=X;Z=V+2|0;break}else{Y=X;Z=V+-1|0;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Y<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Z<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3852+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ti(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)sf(a,f[i>>2]|0,N,0,fa);jd(t,3);ga=f[e>>2]|0}else{if(!R){sf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}jd(t,5);ga=da}f[b>>2]=ga}if((L|0)>=(k|0))break a;J=f[n>>2]|0;K=L}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{sf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;jd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(K=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(K&31)&f[(f[G>>2]|0)+(K>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Je(a,d,0)|0}K=f[i>>2]|0;f[d>>2]=N;J=Yd(H,d)|0;f[J>>2]=K;K=f[j>>2]|0;f[K+-4>>2]=da;if((K|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[K>>2]=f[e>>2];f[j>>2]=K+4;break}}while(0);if((U|0)==54){U=0;jd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Bi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;nj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Bi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}eh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=c+(m+4)|0;t=r;v=q-m|0}else{s=c;t=o;v=o}switch(v|0){case 3:{w=h[s+2>>0]<<16^t;x=10;break}case 2:{w=t;x=10;break}case 1:{y=t;x=11;break}default:z=t}if((x|0)==10){y=h[s+1>>0]<<8^w;x=11}if((x|0)==11)z=X(h[s>>0]^y,1540483477)|0;y=X(z>>>13^z,1540483477)|0;z=y>>>15^y;y=a+4|0;s=f[y>>2]|0;w=(s|0)==0;a:do if(!w){t=s+-1|0;v=(t&s|0)==0;if(!v)if(z>>>0>>0)A=z;else A=(z>>>0)%(s>>>0)|0;else A=z&t;m=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((m|0)!=0?(q=f[m>>2]|0,(q|0)!=0):0){m=(o|0)==0;if(v){if(m){v=q;while(1){r=f[v+4>>2]|0;if(!((r|0)==(z|0)|(r&t|0)==(A|0))){B=A;x=52;break a}r=b[v+8+11>>0]|0;if(!((r<<24>>24<0?f[v+12>>2]|0:r&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else C=q;while(1){v=f[C+4>>2]|0;if(!((v|0)==(z|0)|(v&t|0)==(A|0))){B=A;x=52;break a}v=C+8|0;r=b[v+11>>0]|0;d=r<<24>>24<0;D=r&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){r=f[v>>2]|0;if(d)if(!(Yk(r,c,o)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=D;E=v;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(m){t=q;while(1){v=f[t+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)G=v;else G=(v>>>0)%(s>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}v=b[t+8+11>>0]|0;if(!((v<<24>>24<0?f[t+12>>2]|0:v&255)|0))break a;t=f[t>>2]|0;if(!t){B=A;x=52;break a}}}else H=q;while(1){t=f[H+4>>2]|0;if((t|0)!=(z|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(s>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}t=H+8|0;m=b[t+11>>0]|0;v=m<<24>>24<0;D=m&255;do if(((v?f[H+12>>2]|0:D)|0)==(o|0)){m=f[t>>2]|0;if(v)if(!(Yk(m,c,o)|0))break a;else break;if((m&255)<<24>>24==(b[c>>0]|0)){m=D;d=t;F=c;do{m=m+-1|0;d=d+1|0;if(!m)break a;F=F+1|0}while((b[d>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){lh(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(s>>>0);L=$(n[a+16>>2]);do if(w|J>$(K*L)){A=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;H=~~$(W($(J/L)))>>>0;ci(a,A>>>0>>0?H:A);A=f[y>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=s;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){s=a+8|0;f[f[g>>2]>>2]=f[s>>2];f[s>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=s;s=f[g>>2]|0;N=f[s>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=s;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;pr(O)}if((b[p>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)Cq(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];qb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=o;J=a;K=o;while(1){do if(J){L=H+1|0;if((H|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?H+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A;T=Q;U=A+2|0;V=19;break}else{R=A;S=A;T=Q;U=A+-1|0;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=K+1|0;L=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if(!((K>>>0)%3|0)){R=A;S=H;T=L;U=K+2|0;V=19;break}else{R=A;S=H;T=L;U=K+-1|0;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=S;O=U;P=-1}else{M=R;N=S;O=U;P=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=P>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(P<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];qb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];qb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=io(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=io(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=io(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=io(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=io(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=io(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=En($|0,ia|0,ca|0,ba|0)|0;da=I;la=En(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=En(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=En($|0,ia|0,Q|0,L|0)|0;ia=I;$=En(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=En(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=io(B|0,C|0,la|0,ma|0)|0;ma=go(ca|0,I|0,ha|0,da|0)|0;da=I;ha=go(na|0,fa|0,D|0,E|0)|0;fa=io(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=io(F|0,G|0,Q|0,ba|0)|0;ba=go(ga|0,I|0,$|0,L|0)|0;L=I;Dh(i);K=f[c>>2]|0;$=(f[v>>2]|0)==0;if((K|0)==-1){oa=da;pa=ma;qa=ia;ra=fa;sa=L;ta=ba;ua=$;break a}else{A=M;B=ma;C=da;D=fa;E=ia;F=ba;G=L;H=N;J=$}}if((V|0)==22)Cq(W);else if((V|0)==28)Cq(Z)}else{oa=0;pa=0;qa=0;ra=0;sa=0;ta=0;ua=a}while(0);a=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;Z=io(0,0,pa|0,oa|0)|0;V=a?oa:I;W=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;N=io(0,0,ra|0,qa|0)|0;M=W?qa:I;v=(sa|0)>-1|(sa|0)==-1&ta>>>0>4294967295;c=io(0,0,ta|0,sa|0)|0;i=go((W?ra:N)|0,M|0,(v?ta:c)|0,(v?sa:I)|0)|0;v=go(i|0,I|0,(a?pa:Z)|0,V|0)|0;V=I;if(ua){if((v|0)<=536870912){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}ua=jo(v|0,V|0,29)|0;Z=ua&7;ua=Jk(pa|0,oa|0,Z|0,0)|0;a=Jk(ra|0,qa|0,Z|0,0)|0;i=Jk(ta|0,sa|0,Z|0,0)|0;va=ua;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=jo(v|0,V|0,29)|0;V=I;v=Jk(pa|0,oa|0,i|0,V|0)|0;oa=Jk(ra|0,qa|0,i|0,V|0)|0;qa=Jk(ta|0,sa|0,i|0,V|0)|0;va=v;wa=oa;xa=qa;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=Ja,M=Ja,N=Ja,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Bi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;eh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;nj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Bi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}eh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=c+(s+4)|0;z=x;A=w-s|0}else{y=c;z=d;A=d}switch(A|0){case 3:{B=h[y+2>>0]<<16^z;C=12;break}case 2:{B=z;C=12;break}case 1:{D=z;C=13;break}default:E=z}if((C|0)==12){D=h[y+1>>0]<<8^B;C=13}if((C|0)==13)E=X(h[y>>0]^D,1540483477)|0;D=X(E>>>13^E,1540483477)|0;E=D>>>15^D;D=a+4|0;y=f[D>>2]|0;B=(y|0)==0;a:do if(!B){z=y+-1|0;A=(z&y|0)==0;if(!A)if(E>>>0>>0)F=E;else F=(E>>>0)%(y>>>0)|0;else F=E&z;s=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((s|0)!=0?(w=f[s>>2]|0,(w|0)!=0):0){s=(d|0)==0;if(A){if(s){A=w;while(1){x=f[A+4>>2]|0;if(!((x|0)==(E|0)|(x&z|0)==(F|0))){G=F;C=54;break a}x=b[A+8+11>>0]|0;if(!((x<<24>>24<0?f[A+12>>2]|0:x&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else H=w;while(1){A=f[H+4>>2]|0;if(!((A|0)==(E|0)|(A&z|0)==(F|0))){G=F;C=54;break a}A=H+8|0;x=b[A+11>>0]|0;o=x<<24>>24<0;t=x&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){x=f[A>>2]|0;if(o)if(!(Yk(x,c,d)|0))break a;else break;if((x&255)<<24>>24==(b[c>>0]|0)){x=t;l=A;q=c;do{x=x+-1|0;l=l+1|0;if(!x)break a;q=q+1|0}while((b[l>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(s){z=w;while(1){A=f[z+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0>>0)I=A;else I=(A>>>0)%(y>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}A=b[z+8+11>>0]|0;if(!((A<<24>>24<0?f[z+12>>2]|0:A&255)|0))break a;z=f[z>>2]|0;if(!z){G=F;C=54;break a}}}else J=w;while(1){z=f[J+4>>2]|0;if((z|0)!=(E|0)){if(z>>>0>>0)K=z;else K=(z>>>0)%(y>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}z=J+8|0;s=b[z+11>>0]|0;A=s<<24>>24<0;t=s&255;do if(((A?f[J+12>>2]|0:t)|0)==(d|0)){s=f[z>>2]|0;if(A)if(!(Yk(s,c,d)|0))break a;else break;if((s&255)<<24>>24==(b[c>>0]|0)){s=t;o=z;q=c;do{s=s+-1|0;o=o+1|0;if(!s)break a;q=q+1|0}while((b[o>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){lh(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(y>>>0);N=$(n[a+16>>2]);do if(B|L>$(M*N)){F=(y>>>0<3|(y+-1&y|0)!=0)&1|y<<1;J=~~$(W($(L/N)))>>>0;ci(a,F>>>0>>0?J:F);F=f[D>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=y;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=y;y=f[g>>2]|0;P=f[y>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=y;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;pr(Q)}if((b[v>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=E;G=(E^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(G>>>0>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==E<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==E<<16>>16){Q=N;break c}}else{if(P>>>0>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[A+(r<<2)>>2]=f[Q+12>>2];S=z;T=C;U=B;V=A;X=D;break a}while(0);if(!H)if(G>>>0>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=e;_=Y;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=e;_=Y;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=e;_=Y;aa=0;ba=40;break a}if((d[M+8>>1]|0)==E<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=e;_=Y;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=e;_=Y;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==E<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=tn(16)|0;d[L+8>>1]=E;f[L+12>>2]=D;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(Z>>>0);ga=$(n[l>>2]);do if(aa|ea>$(fa*ga)){M=(Z>>>0<3|(Z+-1&Z|0)!=0)&1|Z<<1;F=~~$(W($(ea/ga)))>>>0;Uh(i,M>>>0>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(G>>>0>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=Z;ia=_}while(0);G=(f[i>>2]|0)+(ia<<2)|0;E=f[G>>2]|0;if(!E){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[E>>2];ka=E;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;E=w;G=f[E>>2]|0;M=En(G|0,f[E+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(r<<2)>>2]=D;S=G;T=G;U=G;V=G;X=D+1|0}G=r+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=V;B=U;C=T;r=G;D=X}if((X|0)==(la|0))ma=U;else{U=a+84|0;if(!(b[U>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=S;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[T+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=S}}else{b[U>>0]=0;U=a+68|0;S=a+72|0;B=f[S>>2]|0;r=f[U>>2]|0;T=B-r>>2;C=r;r=B;if(la>>>0<=T>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[S>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(U,la-T|0,1284);oa=f[m>>2]|0}T=f[k>>2]|0;if(!oa)na=T;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=T}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;pr(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Bi(j,4);l=f[j>>2]|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;nj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Bi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}eh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=c+(l+4)|0;t=r;v=q-l|0}else{s=c;t=o;v=o}switch(v|0){case 3:{w=h[s+2>>0]<<16^t;x=10;break}case 2:{w=t;x=10;break}case 1:{y=t;x=11;break}default:z=t}if((x|0)==10){y=h[s+1>>0]<<8^w;x=11}if((x|0)==11)z=X(h[s>>0]^y,1540483477)|0;y=X(z>>>13^z,1540483477)|0;z=y>>>15^y;y=a+4|0;s=f[y>>2]|0;w=(s|0)==0;a:do if(!w){t=s+-1|0;v=(t&s|0)==0;if(!v)if(z>>>0>>0)A=z;else A=(z>>>0)%(s>>>0)|0;else A=z&t;l=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((l|0)!=0?(q=f[l>>2]|0,(q|0)!=0):0){l=(o|0)==0;if(v){if(l){v=q;while(1){r=f[v+4>>2]|0;if(!((r|0)==(z|0)|(r&t|0)==(A|0))){B=A;x=52;break a}r=b[v+8+11>>0]|0;if(!((r<<24>>24<0?f[v+12>>2]|0:r&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else C=q;while(1){v=f[C+4>>2]|0;if(!((v|0)==(z|0)|(v&t|0)==(A|0))){B=A;x=52;break a}v=C+8|0;r=b[v+11>>0]|0;d=r<<24>>24<0;D=r&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){r=f[v>>2]|0;if(d)if(!(Yk(r,c,o)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=D;E=v;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(l){t=q;while(1){v=f[t+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)G=v;else G=(v>>>0)%(s>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}v=b[t+8+11>>0]|0;if(!((v<<24>>24<0?f[t+12>>2]|0:v&255)|0))break a;t=f[t>>2]|0;if(!t){B=A;x=52;break a}}}else H=q;while(1){t=f[H+4>>2]|0;if((t|0)!=(z|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(s>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}t=H+8|0;l=b[t+11>>0]|0;v=l<<24>>24<0;D=l&255;do if(((v?f[H+12>>2]|0:D)|0)==(o|0)){l=f[t>>2]|0;if(v)if(!(Yk(l,c,o)|0))break a;else break;if((l&255)<<24>>24==(b[c>>0]|0)){l=D;d=t;F=c;do{l=l+-1|0;d=d+1|0;if(!l)break a;F=F+1|0}while((b[d>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){lh(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(s>>>0);L=$(n[a+16>>2]);do if(w|J>$(K*L)){A=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;H=~~$(W($(J/L)))>>>0;ci(a,A>>>0>>0?H:A);A=f[y>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=s;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){s=a+8|0;f[f[g>>2]>>2]=f[s>>2];f[s>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=s;s=f[g>>2]|0;N=f[s>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=s;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;pr(O)}if((b[p>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Ja,da=Ja,ea=Ja,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)Cq(i);o=l<<2;p=tn(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;pj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=p;z=p;A=p;p=0;B=0;while(1){C=q;D=f[C>>2]|0;E=f[C+4>>2]|0;C=o;F=En(w+p|0,0,f[C>>2]|0,f[C+4>>2]|0)|0;C=go(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+C>>0]|0;b[h>>0]=E;C=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(C>>>0>>0)G=C;else G=(C>>>0)%(d>>>0)|0;else G=D&C;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(C|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(C|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[y+(p<<2)>>2]=f[O+12>>2];Q=x;R=A;S=z;T=y;U=B;break a}while(0);if(!F)if(C>>>0>>0)V=C;else V=(C>>>0)%(d>>>0)|0;else V=D&C;J=f[H+(V<<2)>>2]|0;if(!J){X=d;Y=V;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=d;Y=V;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(C|0)|(L&D|0)==(V|0))){X=d;Y=V;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=d;Y=V;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(C|0)){if(K>>>0>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=d;Y=V;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=tn(16)|0;b[J+8>>0]=E;f[J+12>>2]=B;f[J+4>>2]=C;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(X>>>0);ea=$(n[j>>2]);do if(Z|ca>$(da*ea)){K=(X>>>0<3|(X+-1&X|0)!=0)&1|X<<1;D=~~$(W($(ca/ea)))>>>0;$h(g,K>>>0>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&C;break}if(C>>>0>>0){fa=K;ga=C}else{fa=K;ga=(C>>>0)%(K>>>0)|0}}else{fa=X;ga=Y}while(0);C=(f[g>>2]|0)+(ga<<2)|0;E=f[C>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[C>>2]=s;C=f[J>>2]|0;if(C|0){K=f[C+4>>2]|0;C=fa+-1|0;if(C&fa)if(K>>>0>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&C;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;C=f[E>>2]|0;K=En(C|0,f[E+4>>2]|0,B|0,0)|0;eh((f[f[v>>2]>>2]|0)+K|0,h|0,C|0)|0;C=f[i>>2]|0;f[C+(p<<2)>>2]=B;Q=C;R=C;S=C;T=C;U=B+1|0}C=p+1|0;ja=f[k>>2]|0;if(C>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=T;z=S;A=R;p=C;B=U}if((U|0)==(ja|0))ka=S;else{S=a+84|0;if(!(b[S>>0]|0)){B=f[a+72>>2]|0;p=f[a+68>>2]|0;A=p;if((B|0)==(p|0))la=Q;else{z=B-p>>2;p=0;do{B=A+(p<<2)|0;f[B>>2]=f[R+(f[B>>2]<<2)>>2];p=p+1|0}while(p>>>0>>0);la=Q}}else{b[S>>0]=0;S=a+68|0;Q=a+72|0;z=f[Q>>2]|0;p=f[S>>2]|0;R=z-p>>2;A=p;p=z;if(ja>>>0<=R>>>0)if(ja>>>0>>0?(z=A+(ja<<2)|0,(p|0)!=(z|0)):0){f[Q>>2]=p+(~((p+-4-z|0)>>>2)<<2);ma=ja}else ma=ja;else{zh(S,ja-R|0,1284);ma=f[k>>2]|0}R=f[i>>2]|0;if(!ma)la=R;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[R+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=R}}f[k>>2]=U;ka=la}if(!ka)na=U;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);pr(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;pr(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}pr(ka);u=e;return na|0}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Ja,ea=Ja,fa=Ja,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=q;A=q;B=q;q=0;C=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(x+q|0,0,f[D>>2]|0,f[D+4>>2]|0)|0;D=go(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=D;F=D^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(D|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(D|0)){P=M;break c}}else{if(O>>>0>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[z+(q<<2)>>2]=f[P+12>>2];R=y;S=B;T=A;U=z;V=C;break a}while(0);if(!G)if(F>>>0>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=d;Z=X;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=d;Z=X;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=d;Z=X;_=0;aa=40;break a}if((f[L+8>>2]|0)==(D|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=d;Z=X;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=d;Z=X;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(D|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=tn(16)|0;f[K+8>>2]=D;f[K+12>>2]=C;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Y>>>0);fa=$(n[k>>2]);do if(_|da>$(ea*fa)){L=(Y>>>0<3|(Y+-1&Y|0)!=0)&1|Y<<1;E=~~$(W($(da/fa)))>>>0;Di(g,L>>>0>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Y;ha=Z}while(0);F=(f[g>>2]|0)+(ha<<2)|0;D=f[F>>2]|0;if(!D){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[D>>2];ja=D;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;D=v;F=f[D>>2]|0;L=En(F|0,f[D+4>>2]|0,C|0,0)|0;eh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(q<<2)>>2]=C;R=F;S=F;T=F;U=F;V=C+1|0}F=q+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=U;A=T;B=S;q=F;C=V}if((V|0)==(ka|0))la=T;else{T=a+84|0;if(!(b[T>>0]|0)){C=f[a+72>>2]|0;q=f[a+68>>2]|0;B=q;if((C|0)==(q|0))ma=R;else{A=C-q>>2;q=0;do{C=B+(q<<2)|0;f[C>>2]=f[S+(f[C>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);ma=R}}else{b[T>>0]=0;T=a+68|0;R=a+72|0;A=f[R>>2]|0;q=f[T>>2]|0;S=A-q>>2;B=q;q=A;if(ka>>>0<=S>>>0)if(ka>>>0>>0?(A=B+(ka<<2)|0,(q|0)!=(A|0)):0){f[R>>2]=q+(~((q+-4-A|0)>>>2)<<2);na=ka}else na=ka;else{zh(T,ka-S|0,1284);na=f[l>>2]|0}S=f[j>>2]|0;if(!na)ma=S;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ma=S}}f[l>>2]=V;la=ma}if(!la)oa=V;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);pr(la);oa=V}}else oa=0;V=f[g+8>>2]|0;if(V|0){la=V;do{V=la;la=f[la>>2]|0;pr(V)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}pr(la);u=e;return oa|0}function dc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=Ja,Y=Ja,Z=Ja,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)Cq(l);r=p<<2;s=tn(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;pj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=En(t+y|0,0,f[A>>2]|0,f[A+4>>2]|0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=of(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=jo(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=jo(B|0,D|0,48)|0;J=I;K=H&65535;L=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H;E=f[s>>2]|0;M=(E|0)==0;a:do if(!M){N=E+-1|0;O=(N&E|0)==0;if(!O)if(L>>>0>>0)P=L;else P=(L>>>0)%(E>>>0)|0;else P=L&N;Q=f[(f[i>>2]|0)+(P<<2)>>2]|0;if((Q|0)!=0?(R=f[Q>>2]|0,(R|0)!=0):0){if(O){O=R;while(1){Q=f[O+4>>2]|0;if(!((Q|0)==(L|0)|(Q&N|0)==(P|0))){S=P;T=31;break a}Q=O+8|0;if((((d[Q>>1]|0)==A<<16>>16?(d[Q+2>>1]|0)==F<<16>>16:0)?(d[O+12>>1]|0)==G<<16>>16:0)?(d[Q+6>>1]|0)==K<<16>>16:0)break a;O=f[O>>2]|0;if(!O){S=P;T=31;break a}}}else U=R;while(1){O=f[U+4>>2]|0;if((O|0)!=(L|0)){if(O>>>0>>0)V=O;else V=(O>>>0)%(E>>>0)|0;if((V|0)!=(P|0)){S=P;T=31;break a}}O=U+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[U+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==K<<16>>16:0)break a;U=f[U>>2]|0;if(!U){S=P;T=31;break}}}else{S=P;T=31}}else{S=0;T=31}while(0);if((T|0)==31){T=0;K=tn(20)|0;G=eo(H|0,J|0,48)|0;F=B|G;G=D&65535|I;A=K+8|0;R=A;d[R>>1]=F;d[R+2>>1]=F>>>16;F=A+4|0;d[F>>1]=G;d[F+2>>1]=G>>>16;f[K+16>>2]=z;f[K+4>>2]=L;f[K>>2]=0;X=$(((f[p>>2]|0)+1|0)>>>0);Y=$(E>>>0);Z=$(n[m>>2]);do if(M|X>$(Y*Z)){G=(E>>>0<3|(E+-1&E|0)!=0)&1|E<<1;F=~~$(W($(X/Z)))>>>0;Rh(i,G>>>0>>0?F:G);G=f[s>>2]|0;F=G+-1|0;if(!(F&G)){_=G;aa=F&L;break}if(L>>>0>>0){_=G;aa=L}else{_=G;aa=(L>>>0)%(G>>>0)|0}}else{_=E;aa=S}while(0);E=(f[i>>2]|0)+(aa<<2)|0;L=f[E>>2]|0;if(!L){f[K>>2]=f[v>>2];f[v>>2]=K;f[E>>2]=v;E=f[K>>2]|0;if(E|0){M=f[E+4>>2]|0;E=_+-1|0;if(E&_)if(M>>>0<_>>>0)ba=M;else ba=(M>>>0)%(_>>>0)|0;else ba=M&E;ca=(f[i>>2]|0)+(ba<<2)|0;T=44}}else{f[K>>2]=f[L>>2];ca=L;T=44}if((T|0)==44){T=0;f[ca>>2]=K}f[p>>2]=(f[p>>2]|0)+1}L=w;E=f[L>>2]|0;M=En(E|0,f[L+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+M|0,j|0,E|0)|0;E=f[l>>2]|0;f[E+(y<<2)>>2]=z;da=E;ea=z+1|0}else{E=f[l>>2]|0;f[E+(y<<2)>>2]=f[C+16>>2];da=E;ea=z}y=y+1|0;fa=f[o>>2]|0;if(y>>>0>=fa>>>0)break;else z=ea}if((ea|0)==(fa|0))ga=da;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))ha=da;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[da+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0>>0);ha=da}}else{b[z>>0]=0;z=a+68|0;da=a+72|0;w=f[da>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(fa>>>0<=x>>>0)if(fa>>>0>>0?(w=y+(fa<<2)|0,(j|0)!=(w|0)):0){f[da>>2]=j+(~((j+-4-w|0)>>>2)<<2);ia=fa}else ia=fa;else{zh(z,fa-x|0,1284);ia=f[o>>2]|0}x=f[l>>2]|0;if(!ia)ha=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ha=x}}f[o>>2]=ea;ga=ha}if(!ga)ja=ea;else{ha=f[q>>2]|0;if((ha|0)!=(ga|0))f[q>>2]=ha+(~((ha+-4-ga|0)>>>2)<<2);pr(ga);ja=ea}}else ja=0;ea=f[i+8>>2]|0;if(ea|0){ga=ea;do{ea=ga;ga=f[ga>>2]|0;pr(ea)}while((ga|0)!=0)}ga=f[i>>2]|0;f[i>>2]=0;if(!ga){u=g;return ja|0}pr(ga);u=g;return ja|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)Cq(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];qb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=0;B=0;C=0;D=0;E=0;F=0;G=o;H=a;J=o;while(1){do if(H){K=G+1|0;if((G|0)!=-1){L=((K>>>0)%3|0|0)==0?G+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z;O=L;P=z+2|0;break}else{M=z;N=z;O=L;P=z+-1|0;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=J+1|0;K=((L>>>0)%3|0|0)==0?J+-2|0:L;if(!((J>>>0)%3|0)){M=z;N=G;O=K;P=J+2|0;break}else{M=z;N=G;O=K;P=J+-1|0;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];qb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(P<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];qb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=io(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=io(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=io(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=io(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=io(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=io(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=En(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=En(da|0,_|0,aa|0,$|0)|0;ga=I;ha=En(ea|0,W|0,aa|0,$|0)|0;$=I;aa=En(K|0,ca|0,S|0,L|0)|0;ca=I;K=En(da|0,_|0,S|0,L|0)|0;L=I;S=En(ea|0,W|0,Y|0,X|0)|0;X=I;Y=io(A|0,B|0,fa|0,ga|0)|0;ga=go(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=go(ha|0,$|0,C|0,D|0)|0;$=io(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=io(E|0,F|0,S|0,X|0)|0;X=go(aa|0,I|0,K|0,L|0)|0;L=I;Lg(i);J=f[c>>2]|0;K=(f[t>>2]|0)==0;if((J|0)==-1){ia=Z;ja=ga;ka=ca;la=$;ma=L;na=X;oa=K;break a}else{z=M;A=ga;B=Z;C=$;D=ca;E=X;F=L;G=N;H=K}}if((R|0)==17)Cq(Q);else if((R|0)==21)Cq(U)}else{ia=0;ja=0;ka=0;la=0;ma=0;na=0;oa=a}while(0);a=(ia|0)>-1|(ia|0)==-1&ja>>>0>4294967295;U=io(0,0,ja|0,ia|0)|0;R=a?ia:I;Q=(ka|0)>-1|(ka|0)==-1&la>>>0>4294967295;N=io(0,0,la|0,ka|0)|0;M=Q?ka:I;t=(ma|0)>-1|(ma|0)==-1&na>>>0>4294967295;c=io(0,0,na|0,ma|0)|0;i=go((Q?la:N)|0,M|0,(t?na:c)|0,(t?ma:I)|0)|0;t=go(i|0,I|0,(a?ja:U)|0,R|0)|0;R=I;if(oa){if((t|0)<=536870912){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}oa=jo(t|0,R|0,29)|0;U=oa&7;oa=Jk(ja|0,ia|0,U|0,0)|0;a=Jk(la|0,ka|0,U|0,0)|0;i=Jk(na|0,ma|0,U|0,0)|0;pa=oa;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=jo(t|0,R|0,29)|0;R=I;t=Jk(ja|0,ia|0,i|0,R|0)|0;ia=Jk(la|0,ka|0,i|0,R|0)|0;ka=Jk(na|0,ma|0,i|0,R|0)|0;pa=t;qa=ia;ra=ka;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=E;E=0;b:while(1){F=E+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=D+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ti(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ti(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)sf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){sf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((F|0)>=(k|0))break a;D=f[n>>2]|0;E=F}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{sf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;E=f[w>>2]|0;if((E|0)==(f[x>>2]|0))Ti(y,d);else{f[E>>2]=1;f[w>>2]=E+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(E=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(E&31)&f[(f[A>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Je(a,d,0)|0}E=f[i>>2]|0;f[d>>2]=H;D=Yd(B,d)|0;f[D>>2]=E;E=f[j>>2]|0;f[E+-4>>2]=U;if((E|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[E>>2]=f[e>>2];f[j>>2]=E+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;E=f[w>>2]|0;if((E|0)==(f[x>>2]|0))Ti(y,d);else{f[E>>2]=7;f[w>>2]=E+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ja,X=Ja,Y=Ja,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=En(s+x|0,0,f[z>>2]|0,f[z+4>>2]|0)|0;z=go(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=pf(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=B&255;B=C&255;C=E&255;E=(((J^318)+239^B)+239^C)+239^G;K=f[r>>2]|0;L=(K|0)==0;a:do if(!L){M=K+-1|0;N=(M&K|0)==0;if(!N)if(E>>>0>>0)O=E;else O=(E>>>0)%(K>>>0)|0;else O=E&M;P=f[(f[g>>2]|0)+(O<<2)>>2]|0;if((P|0)!=0?(Q=f[P>>2]|0,(Q|0)!=0):0){if(N){N=Q;while(1){P=f[N+4>>2]|0;if(!((P|0)==(E|0)|(P&M|0)==(O|0))){R=O;S=31;break a}P=N+8|0;if((((b[P>>0]|0)==A<<24>>24?(b[P+1>>0]|0)==D<<24>>24:0)?(b[P+2>>0]|0)==F<<24>>24:0)?(b[P+3>>0]|0)==H<<24>>24:0)break a;N=f[N>>2]|0;if(!N){R=O;S=31;break a}}}else T=Q;while(1){N=f[T+4>>2]|0;if((N|0)!=(E|0)){if(N>>>0>>0)U=N;else U=(N>>>0)%(K>>>0)|0;if((U|0)!=(O|0)){R=O;S=31;break a}}N=T+8|0;if((((b[N>>0]|0)==A<<24>>24?(b[N+1>>0]|0)==D<<24>>24:0)?(b[N+2>>0]|0)==F<<24>>24:0)?(b[N+3>>0]|0)==H<<24>>24:0)break a;T=f[T>>2]|0;if(!T){R=O;S=31;break}}}else{R=O;S=31}}else{R=0;S=31}while(0);if((S|0)==31){S=0;H=tn(16)|0;F=H+8|0;D=G<<24|J|C<<16|B<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;V=$(((f[o>>2]|0)+1|0)>>>0);X=$(K>>>0);Y=$(n[l>>2]);do if(L|V>$(X*Y)){D=(K>>>0<3|(K+-1&K|0)!=0)&1|K<<1;F=~~$(W($(V/Y)))>>>0;Yh(g,D>>>0>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Z=D;_=F&E;break}if(E>>>0>>0){Z=D;_=E}else{Z=D;_=(E>>>0)%(D>>>0)|0}}else{Z=K;_=R}while(0);K=(f[g>>2]|0)+(_<<2)|0;E=f[K>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[K>>2]=t;K=f[H>>2]|0;if(K|0){L=f[K+4>>2]|0;K=Z+-1|0;if(K&Z)if(L>>>0>>0)aa=L;else aa=(L>>>0)%(Z>>>0)|0;else aa=L&K;ba=(f[g>>2]|0)+(aa<<2)|0;S=44}}else{f[H>>2]=f[E>>2];ba=E;S=44}if((S|0)==44){S=0;f[ba>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;K=f[E>>2]|0;L=En(K|0,f[E+4>>2]|0,y|0,0)|0;eh((f[f[w>>2]>>2]|0)+L|0,i|0,K|0)|0;K=f[k>>2]|0;f[K+(x<<2)>>2]=y;ca=K;da=y+1|0}else{K=f[k>>2]|0;f[K+(x<<2)>>2]=f[z+12>>2];ca=K;da=y}x=x+1|0;ea=f[m>>2]|0;if(x>>>0>=ea>>>0)break;else y=da}if((da|0)==(ea|0))fa=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))ga=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);ga=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(ea>>>0<=w>>>0)if(ea>>>0>>0?(v=x+(ea<<2)|0,(i|0)!=(v|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ha=ea}else ha=ea;else{zh(y,ea-w|0,1284);ha=f[m>>2]|0}w=f[k>>2]|0;if(!ha)ga=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ga=w}}f[m>>2]=da;fa=ga}if(!fa)ia=da;else{ga=f[p>>2]|0;if((ga|0)!=(fa|0))f[p>>2]=ga+(~((ga+-4-fa|0)>>>2)<<2);pr(fa);ia=da}}else ia=0;da=f[g+8>>2]|0;if(da|0){fa=da;do{da=fa;fa=f[fa>>2]|0;pr(da)}while((fa|0)!=0)}fa=f[g>>2]|0;f[g>>2]=0;if(!fa){u=e;return ia|0}pr(fa);u=e;return ia|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ja,V=Ja,X=Ja,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=En(f[B>>2]|0,f[B+4>>2]|0,r+z|0,0)|0;B=go(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));qm(i|0,D|0,16)|0;C=yf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=tn(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=A;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|U>$(V*X)){P=(J>>>0<3|(J+-1&J|0)!=0)&1|J<<1;M=~~$(W($(U/X)))>>>0;Vh(g,P>>>0>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0

>>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=En(J|0,f[H+4>>2]|0,A|0,0)|0;eh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(z<<2)>>2]=A;ba=J;ca=A+1|0}else{J=f[j>>2]|0;f[J+(z<<2)>>2]=f[C+24>>2];ba=J;ca=A}z=z+1|0;da=f[l>>2]|0;if(z>>>0>=da>>>0)break;else A=ca}if((ca|0)==(da|0))ea=ba;else{A=a+84|0;if(!(b[A>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((z|0)==(h|0))fa=ba;else{x=z-h>>2;h=0;do{z=y+(h<<2)|0;f[z>>2]=f[ba+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);fa=ba}}else{b[A>>0]=0;A=a+68|0;ba=a+72|0;x=f[ba>>2]|0;h=f[A>>2]|0;y=x-h>>2;z=h;h=x;if(da>>>0<=y>>>0)if(da>>>0>>0?(x=z+(da<<2)|0,(h|0)!=(x|0)):0){f[ba>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{zh(A,da-y|0,1284);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=y}}f[l>>2]=ca;ea=fa}if(!ea)ha=ca;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);pr(ea);ha=ca}}else ha=0;ca=f[g+8>>2]|0;if(ca|0){ea=ca;do{ca=ea;ea=f[ea>>2]|0;pr(ca)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}pr(ea);u=e;return ha|0}function ic(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ja,T=Ja,U=Ja,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=En(f[B>>2]|0,f[B+4>>2]|0,s+z|0,0)|0;B=go(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;qm(j|0,D|0,6)|0;D=Of(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=tn(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=A;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|S>$(T*U)){K=(G>>>0<3|(G+-1&G|0)!=0)&1|G<<1;J=~~$(W($(S/U)))>>>0;Sh(h,K>>>0>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,A|0,0)|0;eh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(z<<2)>>2]=A;_=G;aa=A+1|0}else{G=f[k>>2]|0;f[G+(z<<2)>>2]=f[D+16>>2];_=G;aa=A}z=z+1|0;ba=f[m>>2]|0;if(z>>>0>=ba>>>0)break;else A=aa}if((aa|0)==(ba|0))ca=_;else{A=a+84|0;if(!(b[A>>0]|0)){z=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((z|0)==(i|0))da=_;else{x=z-i>>2;i=0;do{z=y+(i<<2)|0;f[z>>2]=f[_+(f[z>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);da=_}}else{b[A>>0]=0;A=a+68|0;_=a+72|0;x=f[_>>2]|0;i=f[A>>2]|0;y=x-i>>2;z=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0>>0?(x=z+(ba<<2)|0,(i|0)!=(x|0)):0){f[_>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{zh(A,ba-y|0,1284);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=y}}f[m>>2]=aa;ca=da}if(!ca)fa=aa;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);pr(ca);fa=aa}}else fa=0;aa=f[h+8>>2]|0;if(aa|0){ca=aa;do{aa=ca;ca=f[ca>>2]|0;pr(aa)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}pr(ca);u=g;return fa|0}function jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0,_=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=mr(i)|0;pj(j|0,0,i|0)|0;k=mr(i)|0;pj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=n;B=p;C=z}else Cq(i);while(1){z=f[A+(C<<2)>>2]|0;if(q)pj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=z;E=0;while(1){F=f[p+(D<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(C|0)&(K|0)<(C|0)&(J|0)<(C|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=E+1|0}else N=E}else N=E;J=(((D>>>0)%3|0|0)==0?2:-1)+D|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);D=(O|0)==(z|0)?-1:O;if((D|0)==-1)break;else E=N}E=X(C,e)|0;if(N){if(q){D=0;do{z=j+(D<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;D=D+1|0}while((D|0)!=(e|0))}D=b+(E<<2)|0;z=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=p;p=0;H=j;while(1){if((J|0)>0){I=0;do{K=f[H+(I<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(I<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(I<<2)>>2]=(K|0)<(F|0)?F:K;P=G}I=I+1|0}while((I|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;I=(f[D+(p<<2)>>2]|0)-(f[Q+(p<<2)>>2]|0)|0;G=z+(p<<2)|0;f[G>>2]=I;if((I|0)>=(f[u>>2]|0)){if((I|0)>(f[w>>2]|0)){R=I-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+I|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}p=p+1|0;J=f[g>>2]|0;if((p|0)>=(J|0))break;else H=Q}}}else{T=E;S=30}}else{T=X(C,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,J=c+(T<<2)|0,p=f[g>>2]|0,(p|0)>0):0){z=p;p=0;D=b+((X(B+-2|0,e)|0)<<2)|0;while(1){if((z|0)>0){G=0;do{I=f[D+(G<<2)>>2]|0;K=f[r>>2]|0;if((I|0)>(K|0)){F=f[s>>2]|0;f[F+(G<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(G<<2)>>2]=(I|0)<(F|0)?F:I;U=K}G=G+1|0}while((G|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;G=(f[H+(p<<2)>>2]|0)-(f[V+(p<<2)>>2]|0)|0;K=J+(p<<2)|0;f[K>>2]=G;if((G|0)>=(f[u>>2]|0)){if((G|0)>(f[w>>2]|0)){W=G-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+G|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}p=p+1|0;z=f[g>>2]|0;if((p|0)>=(z|0))break;else D=V}}if((C|0)<=1)break a;A=f[i>>2]|0;D=C+-1|0;if((f[l>>2]|0)-A>>2>>>0<=D>>>0)break;else{z=C;C=D;B=z}}Cq(i)}while(0);if((e|0)>0)pj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(k);nr(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;A=a+28|0;l=a+20|0;V=a+24|0;a=e;e=0;W=j;while(1){if((a|0)>0){U=0;do{T=f[W+(U<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[B>>2]|0;f[R+(U<<2)>>2]=Q;Y=R}else{R=f[C>>2]|0;Q=f[B>>2]|0;f[Q+(U<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}U=U+1|0}while((U|0)<(f[g>>2]|0));Z=Y}else Z=f[B>>2]|0;U=(f[b+(e<<2)>>2]|0)-(f[Z+(e<<2)>>2]|0)|0;Q=c+(e<<2)|0;f[Q>>2]=U;if((U|0)>=(f[A>>2]|0)){if((U|0)>(f[V>>2]|0)){_=U-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+U|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else W=Z}nr(k);nr(j);return 1}function kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=mr(i)|0;pj(j|0,0,i|0)|0;k=mr(i)|0;pj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=n;C=p;D=A}else Cq(i);while(1){A=f[B+(D<<2)>>2]|0;if(q)pj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=A;F=0;while(1){if(((f[p+(E>>>5<<2)>>2]&1<<(E&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(D|0)&(L|0)<(D|0)&(K|0)<(D|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=F+1|0}else M=F;K=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);E=(N|0)==(A|0)?-1:N;if((E|0)==-1)break;else F=M}F=X(D,e)|0;if(M){if(q){E=0;do{A=j+(E<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(F<<2)|0;A=c+(F<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=p;p=0;G=j;while(1){if((K|0)>0){J=0;do{L=f[G+(J<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(J<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(J<<2)>>2]=(L|0)<(I|0)?I:L;O=H}J=J+1|0}while((J|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;J=(f[E+(p<<2)>>2]|0)-(f[P+(p<<2)>>2]|0)|0;H=A+(p<<2)|0;f[H>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){Q=J-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+J|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}p=p+1|0;K=f[g>>2]|0;if((p|0)>=(K|0))break;else G=P}}}else{S=F;R=28}}else{S=X(D,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,K=c+(S<<2)|0,p=f[g>>2]|0,(p|0)>0):0){A=p;p=0;E=b+((X(C+-2|0,e)|0)<<2)|0;while(1){if((A|0)>0){H=0;do{J=f[E+(H<<2)>>2]|0;L=f[r>>2]|0;if((J|0)>(L|0)){I=f[s>>2]|0;f[I+(H<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(H<<2)>>2]=(J|0)<(I|0)?I:J;T=L}H=H+1|0}while((H|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;H=(f[G+(p<<2)>>2]|0)-(f[U+(p<<2)>>2]|0)|0;L=K+(p<<2)|0;f[L>>2]=H;if((H|0)>=(f[u>>2]|0)){if((H|0)>(f[w>>2]|0)){V=H-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+H|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}p=p+1|0;A=f[g>>2]|0;if((p|0)>=(A|0))break;else E=U}}if((D|0)<=1)break a;B=f[i>>2]|0;E=D+-1|0;if((f[l>>2]|0)-B>>2>>>0<=E>>>0)break;else{A=D;D=E;C=A}}Cq(i)}while(0);if((e|0)>0)pj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(k);nr(j);return 1}i=a+16|0;C=a+32|0;D=a+12|0;B=a+28|0;l=a+20|0;U=a+24|0;a=e;e=0;V=j;while(1){if((a|0)>0){T=0;do{S=f[V+(T<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[C>>2]|0;f[Q+(T<<2)>>2]=P;W=Q}else{Q=f[D>>2]|0;P=f[C>>2]|0;f[P+(T<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}T=T+1|0}while((T|0)<(f[g>>2]|0));Y=W}else Y=f[C>>2]|0;T=(f[b+(e<<2)>>2]|0)-(f[Y+(e<<2)>>2]|0)|0;P=c+(e<<2)|0;f[P>>2]=T;if((T|0)>=(f[B>>2]|0)){if((T|0)>(f[U>>2]|0)){Z=T-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+T|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else V=Y}nr(k);nr(j);return 1}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ja,S=Ja,T=Ja,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;qm(i|0,C|0,3)|0;C=Uf(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=tn(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|R>$(S*T)){J=(F>>>0<3|(F+-1&F|0)!=0)&1|F<<1;H=~~$(W($(R/T)))>>>0;Zh(g,J>>>0>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=En(F|0,f[E+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=F;_=z+1|0}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=F;_=z}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=_}if((_|0)==(aa|0))ba=Z;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=Z;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[Z+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);ca=Z}}else{b[z>>0]=0;z=a+68|0;Z=a+72|0;w=f[Z>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0>>0?(w=y+(aa<<2)|0,(h|0)!=(w|0)):0){f[Z>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{zh(z,aa-x|0,1284);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ca=x}}f[l>>2]=_;ba=ca}if(!ba)ea=_;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);pr(ba);ea=_}}else ea=0;_=f[g+8>>2]|0;if(_|0){ba=_;do{_=ba;ba=f[ba>>2]|0;pr(_)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}pr(ba);u=e;return ea|0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(p|0)!=(o|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{zh(i,m-q|0,6296);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;Xj(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=t;t=m;m=s;s=k;k=0;while(1){p=f[o+(k<<2)>>2]|0;n=f[q>>2]|0;if(p>>>0>2>>>0){x=l;y=s;z=o;A=m}else{r=p+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(D|0)!=(n|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=m;G=o}else{E=l;F=m;G=o}else{zh(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(p<<2)|0;f[B>>2]=(f[B>>2]|0)+1;k=k+1|0;if(k>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;o=z;t=y;m=A;s=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)Cq(e);s=tn(y<<1)|0;f[w>>2]=s;f[e>>2]=s;f[e+8>>2]=s+(v<<3);y=s;A=v;m=s;while(1){t=y;f[t>>2]=-1;f[t+4>>2]=-1;t=m+8|0;z=A+-1|0;if(!z)break;else{y=t;A=z;m=t}}f[w>>2]=s+(v<<3);H=s;I=s}s=f[q>>2]|0;v=f[d>>2]|0;m=s-v|0;A=m>>2;f[g>>2]=0;y=g+4|0;f[y>>2]=0;f[g+8>>2]=0;t=v;do if(A)if(A>>>0>1073741823)Cq(g);else{z=tn(m)|0;f[g>>2]=z;o=z+(A<<2)|0;f[g+8>>2]=o;pj(z|0,0,m|0)|0;f[y>>2]=o;J=z;K=o;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(v|0)){v=0;s=0;do{f[J+(v<<2)>>2]=s;s=(f[t+(v<<2)>>2]|0)+s|0;v=v+1|0}while(v>>>0>>0)}v=f[j>>2]|0;j=f[a>>2]|0;s=j;if((v|0)!=(j|0)){m=a+40|0;a=v-j>>2;j=J;v=0;g=H;z=H;o=H;x=H;l=H;k=H;while(1){F=f[s+(v<<2)>>2]|0;G=v+1|0;E=((G>>>0)%3|0|0)==0?v+-2|0:G;if((E|0)==-1)M=-1;else M=f[s+(E<<2)>>2]|0;E=((v>>>0)%3|0|0)==0;G=(E?2:-1)+v|0;if((G|0)==-1)N=-1;else N=f[s+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[m>>2]=(f[m>>2]|0)+1;O=j;P=v+2|0;Q=g;R=z;S=o;T=x;U=l;V=k}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[j+(N<<2)>>2]|0;while(1){p=f[l+(B<<3)>>2]|0;if((p|0)==-1){X=g;Y=z;Z=x;_=l;break b}if((p|0)==(M|0)){p=f[l+(B<<3)+4>>2]|0;if((p|0)==-1)$=-1;else $=f[s+(p<<2)>>2]|0;if((F|0)!=($|0))break}p=G+1|0;if((p|0)<(E|0)){G=p;B=B+1|0}else{X=g;Y=z;Z=x;_=l;break b}}p=f[x+(B<<3)+4>>2]|0;r=G;n=B;D=z;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[g+(n<<3)>>2]|0)==-1)break;else{n=C;D=g}}f[o+(n<<3)>>2]=-1;if((p|0)==-1){X=o;Y=o;Z=o;_=o}else{D=f[i>>2]|0;f[D+(v<<2)>>2]=p;f[D+(p<<2)>>2]=v;O=j;P=v;Q=o;R=o;S=o;T=o;U=o;V=k;break a}}else{X=g;Y=z;Z=x;_=l}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=k+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=J;P=v;Q=k;R=k;S=k;T=k;U=k;V=k;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=v;O=J;P=v;Q=H;R=H;S=H;T=H;U=H;V=H}else{O=j;P=v;Q=X;R=Y;S=o;T=Z;U=_;V=k}}while(0);v=P+1|0;if(v>>>0>=a>>>0)break;else{j=O;g=Q;z=R;o=S;x=T;l=U;k=V}}}f[b>>2]=A;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[y>>2]=K+(~((K+-4-J|0)>>>2)<<2);pr(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);pr(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);pr(ca)}h=1;u=c;return h|0}function nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ja,T=Ja,U=Ja,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));qm(i|0,C|0,12)|0;B=cg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=tn(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=z;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|S>$(T*U)){N=(G>>>0<3|(G+-1&G|0)!=0)&1|G<<1;K=~~$(W($(S/U)))>>>0;Wh(g,N>>>0>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(y<<2)>>2]=z;_=G;aa=z+1|0}else{G=f[j>>2]|0;f[G+(y<<2)>>2]=f[B+20>>2];_=G;aa=z}y=y+1|0;ba=f[l>>2]|0;if(y>>>0>=ba>>>0)break;else z=aa}if((aa|0)==(ba|0))ca=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))da=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);da=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0>>0?(w=y+(ba<<2)|0,(h|0)!=(w|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{zh(z,ba-x|0,1284);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=x}}f[l>>2]=aa;ca=da}if(!ca)fa=aa;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);pr(ca);fa=aa}}else fa=0;aa=f[g+8>>2]|0;if(aa|0){ca=aa;do{aa=ca;ca=f[ca>>2]|0;pr(aa)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}pr(ca);u=e;return fa|0}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=cc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=Tb(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=nc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=hc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=bc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=Ub(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=lc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=gc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=bc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=Ub(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=lc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=gc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=$b(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Qb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=ic(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=dc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=$b(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Qb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=ic(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=dc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=cc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=Tb(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=nc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=hc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=cc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=Tb(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=nc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=hc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function pc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ma[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(La[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(La[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(i,f[n+80>>2]|0)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)Cq(j);else{v=r<<2;w=tn(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;pj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Oa[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=f[j>>2]|0;A=s;p=20;break}if(!(La[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=x;A=f[m>>2]|0?x:s;p=20}}else{z=y;A=s;p=20}while(0);if((p|0)==20)Fm(A,r,z);z=a+4|0;a=f[z>>2]|0;do if(a){A=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;s=tn(48)|0;f[g>>2]=s;f[g+8>>2]=-2147483600;f[g+4>>2]=34;y=s;w=10935;x=y+34|0;do{b[y>>0]=b[w>>0]|0;y=y+1|0;w=w+1|0}while((y|0)<(x|0));b[s+34>>0]=0;w=Yj(A,g,1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;y=0;x=0;do{x=f[w+(y<<2)>>2]|x;y=y+1|0}while((y|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;y=o;w=f[y>>2]|0;A=f[y+4>>2]|0;if((A|0)>0|(A|0)==0&w>>>0>0){C=A;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0}if((B|0)==($l(5)|0)){w=f[j>>2]|0;A=o;y=f[A+4>>2]|0;if(!((y|0)>0|(y|0)==0&(f[A>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;A=0;do{y=(f[j>>2]|0)+(A<<2)|0;s=o;v=f[s+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[s>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Fe(d,g,y,y+B|0)|0}A=A+1|0}while(A>>>0>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0}Kp(g);k=f[z>>2]|0;if(k|0)Zj(g,10-(ki(f[k+48>>2]|0)|0)|0)|0;k=Hc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Cj(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ma[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);pr(d)}q=E}l=q;u=e;return l|0}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;gl(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];ec(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[v>>2]|0;if((q|0)==0&(P|0)==0){Q=j;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,q|0,P|0)|0;f[j>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=t;R=N?P:0-P|0}f[Q>>2]=R;P=f[j>>2]|0;N=f[r>>2]|0;M=f[t>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;q=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|q&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(q){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);q=0-N|0;H=0-M|0;f[j>>2]=0-P;f[r>>2]=q;f[t>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?q:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(q=(T|0)==($|0),X=(T|0)==(_|0),!(H&q|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(q&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);T=L<<1;O=b+(T<<2)|0;S=O+4|0;H=f[S>>2]|0;f[h>>2]=f[O>>2];f[x>>2]=H;f[i>>2]=Y;f[y>>2]=Z;Nd(d,n,h,i);H=f[d>>2]|0;f[k>>2]=H;M=f[z>>2]|0;f[A>>2]=M;N=f[S>>2]|0;f[h>>2]=f[O>>2];f[B>>2]=N;f[i>>2]=aa;f[C>>2]=ba;Nd(d,n,h,i);N=f[d>>2]|0;f[l>>2]=N;O=f[D>>2]|0;f[E>>2]=O;S=f[v>>2]|0;if((S|0)>=(H|0))if((H|0)<(0-S|0))ca=(f[F>>2]|0)+H|0;else ca=H;else ca=H-(f[F>>2]|0)|0;f[k>>2]=ca;if((S|0)>=(M|0))if((M|0)<(0-S|0))da=(f[F>>2]|0)+M|0;else da=M;else da=M-(f[F>>2]|0)|0;f[a>>2]=da;if((S|0)>=(N|0))if((N|0)<(0-S|0))ea=(f[F>>2]|0)+N|0;else ea=N;else ea=N-(f[F>>2]|0)|0;f[l>>2]=ea;if((S|0)>=(O|0))if((O|0)<(0-S|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[G>>2]=fa;if((((da|0)>-1?da:0-da|0)+((ca|0)>-1?ca:0-ca|0)|0)<(((ea|0)>-1?ea:0-ea|0)+((fa|0)>-1?fa:0-fa|0)|0)){dj(g,0);ga=k}else{dj(g,1);ga=l}O=f[ga>>2]|0;if((O|0)<0)ha=(f[F>>2]|0)+O|0;else ha=O;O=c+(T<<2)|0;f[O>>2]=ha;T=f[ga+4>>2]|0;if((T|0)<0)ia=(f[F>>2]|0)+T|0;else ia=T;f[O+4>>2]=ia;L=L+1|0;if((L|0)>=(s|0)){ja=5;break}O=f[p>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){J=O;ja=6;break}}if((ja|0)==5){u=e;return 1}else if((ja|0)==6)Cq(J);return 0}function rc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;gl(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];Zb(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[v>>2]|0;if((q|0)==0&(P|0)==0){Q=j;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,q|0,P|0)|0;f[j>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=t;R=N?P:0-P|0}f[Q>>2]=R;P=f[j>>2]|0;N=f[r>>2]|0;M=f[t>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;q=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|q&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(q){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);q=0-N|0;H=0-M|0;f[j>>2]=0-P;f[r>>2]=q;f[t>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?q:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(q=(T|0)==($|0),X=(T|0)==(_|0),!(H&q|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(q&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);T=L<<1;O=b+(T<<2)|0;S=O+4|0;H=f[S>>2]|0;f[h>>2]=f[O>>2];f[x>>2]=H;f[i>>2]=Y;f[y>>2]=Z;Nd(d,n,h,i);H=f[d>>2]|0;f[k>>2]=H;M=f[z>>2]|0;f[A>>2]=M;N=f[S>>2]|0;f[h>>2]=f[O>>2];f[B>>2]=N;f[i>>2]=aa;f[C>>2]=ba;Nd(d,n,h,i);N=f[d>>2]|0;f[l>>2]=N;O=f[D>>2]|0;f[E>>2]=O;S=f[v>>2]|0;if((S|0)>=(H|0))if((H|0)<(0-S|0))ca=(f[F>>2]|0)+H|0;else ca=H;else ca=H-(f[F>>2]|0)|0;f[k>>2]=ca;if((S|0)>=(M|0))if((M|0)<(0-S|0))da=(f[F>>2]|0)+M|0;else da=M;else da=M-(f[F>>2]|0)|0;f[a>>2]=da;if((S|0)>=(N|0))if((N|0)<(0-S|0))ea=(f[F>>2]|0)+N|0;else ea=N;else ea=N-(f[F>>2]|0)|0;f[l>>2]=ea;if((S|0)>=(O|0))if((O|0)<(0-S|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[G>>2]=fa;if((((da|0)>-1?da:0-da|0)+((ca|0)>-1?ca:0-ca|0)|0)<(((ea|0)>-1?ea:0-ea|0)+((fa|0)>-1?fa:0-fa|0)|0)){dj(g,0);ga=k}else{dj(g,1);ga=l}O=f[ga>>2]|0;if((O|0)<0)ha=(f[F>>2]|0)+O|0;else ha=O;O=c+(T<<2)|0;f[O>>2]=ha;T=f[ga+4>>2]|0;if((T|0)<0)ia=(f[F>>2]|0)+T|0;else ia=T;f[O+4>>2]=ia;L=L+1|0;if((L|0)>=(s|0)){ja=5;break}O=f[p>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){J=O;ja=6;break}}if((ja|0)==5){u=e;return 1}else if((ja|0)==6)Cq(J);return 0}function sc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0

>>0?(r=q+(l<<2)|0,(o|0)!=(r|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=k;t=j;v=n}else{s=k;t=j;v=n}else{zi(g,l-p|0);p=f[h>>2]|0;s=p;t=f[i>>2]|0;v=p}p=t-s|0;l=p>>2;f[c>>2]=0;n=c+4|0;f[n>>2]=0;j=c+8|0;f[j>>2]=0;if(l|0){if((p|0)<0)Cq(c);p=((l+-1|0)>>>5)+1|0;k=tn(p<<2)|0;f[c>>2]=k;f[j>>2]=p;f[n>>2]=l;n=l>>>5;pj(k|0,0,n<<2|0)|0;p=l-(n<<5)|0;l=k+(n<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=s;s=t;t=v;v=0;while(1){if(v>>>0>2>>>0){w=t;x=l;y=0;z=0;A=v}else{B=25;break}while(1){n=z>>>5;k=1<<(z&31);do if(!(f[(f[c>>2]|0)+(n<<2)>>2]&k)){j=f[w+(z<<2)>>2]|0;if((f[j+8>>2]|0)!=(f[j+4>>2]|0)){r=j;j=w;o=1;m=0;while(1){q=f[(f[r+4>>2]|0)+(m<<2)>>2]|0;C=j;D=0;while(1){E=f[C+(z<<2)>>2]|0;if((D|0)>=(Ma[f[(f[E>>2]|0)+24>>2]&127](E,q)|0)){F=o;break}E=f[(f[h>>2]|0)+(z<<2)>>2]|0;G=Na[f[(f[E>>2]|0)+28>>2]&31](E,q,D)|0;if((G|0)!=(z|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=f[h>>2]|0;D=D+1|0}m=m+1|0;j=f[h>>2]|0;r=f[j+(z<<2)>>2]|0;if(m>>>0>=(f[r+8>>2]|0)-(f[r+4>>2]|0)>>2>>>0)break;else o=F}o=j;if(F)H=o;else{I=o;J=y;K=A;break}}else H=x;f[(f[g>>2]|0)+(A<<2)>>2]=z;o=(f[c>>2]|0)+(n<<2)|0;f[o>>2]=f[o>>2]|k;I=H;J=1;K=A+1|0}else{I=x;J=y;K=A}while(0);z=z+1|0;L=f[i>>2]|0;M=L-I>>2;w=I;if(z>>>0>=M>>>0)break;else{x=I;y=J;A=K}}if(K>>>0>>0&(J^1)){N=0;break}else{l=I;s=L;t=w;v=K}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;K=f[a+4>>2]|0;a=(f[K+12>>2]|0)-(f[K+8>>2]|0)|0;K=a>>2;f[e>>2]=0;v=e+4|0;f[v>>2]=0;w=e+8|0;f[w>>2]=0;if(K|0){if((a|0)<0)Cq(e);a=((K+-1|0)>>>5)+1|0;L=tn(a<<2)|0;f[e>>2]=L;f[w>>2]=a;f[v>>2]=K;v=K>>>5;pj(L|0,0,v<<2|0)|0;a=K-(v<<5)|0;K=L+(v<<2)|0;if(a|0)f[K>>2]=f[K>>2]&~(-1>>>(32-a|0))}a:do if((s|0)==(l|0))O=1;else{a=l;K=s;v=t;L=0;while(1){w=f[(f[g>>2]|0)+(L<<2)>>2]|0;I=f[v+(w<<2)>>2]|0;J=(f[I+8>>2]|0)-(f[I+4>>2]|0)|0;I=J>>2;if((J|0)<8){P=a;Q=K}else{J=f[B>>2]|0;M=f[d>>2]|0;A=J-M>>2;y=M;M=J;if(I>>>0<=A>>>0)if(I>>>0>>0?(J=y+(I<<2)|0,(M|0)!=(J|0)):0){f[B>>2]=M+(~((M+-4-J|0)>>>2)<<2);R=0}else R=0;else{zi(d,I-A|0);R=0}while(1){if((R|0)<(I|0)){S=0;T=0;U=R}else break;while(1){A=f[(f[h>>2]|0)+(w<<2)>>2]|0;J=f[(f[A+4>>2]|0)+(T<<2)>>2]|0;M=T>>>5;y=1<<(T&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){x=A;A=1;z=0;while(1){if((z|0)>=(Ma[f[(f[x>>2]|0)+24>>2]&127](x,J)|0)){V=A;break}H=f[(f[h>>2]|0)+(w<<2)>>2]|0;F=Na[f[(f[H>>2]|0)+28>>2]&31](H,J,z)|0;H=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=A&H;if(!H){V=F;break}x=f[(f[h>>2]|0)+(w<<2)>>2]|0;A=F;z=z+1|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=T;z=(f[e>>2]|0)+(M<<2)|0;f[z>>2]=f[z>>2]|y;W=1;X=U+1|0}else{W=S;X=U}}else{W=S;X=U}T=T+1|0;if((T|0)>=(I|0))break;else{S=W;U=X}}if(W|(X|0)>=(I|0))R=X;else{O=0;break a}}$f(f[(f[h>>2]|0)+(w<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}L=L+1|0;if(L>>>0>=Q-P>>2>>>0){O=1;break}else{a=P;K=Q;v=P}}}while(0);P=f[e>>2]|0;if(P|0)pr(P);P=f[d>>2]|0;if(P|0){d=f[B>>2]|0;if((d|0)!=(P|0))f[B>>2]=d+(~((d+-4-P|0)>>>2)<<2);pr(P)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}pr(O);u=b;return N|0} +function ri(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1356;fi(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Qa[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}pr(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);pr(g);return}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)Cq(d);k=((b+-1|0)>>>5)+1|0;b=tn(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;zg(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)pr(g);u=c;return}function ti(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+136|0;c=f[b>>2]|0;if(c|0){d=a+140|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);pr(g)}g=f[a+92>>2]|0;if(!g){sj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);pr(g);sj(a);return}function ui(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3808;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=-1;f[a+320>>2]=-1;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Cq(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;jp(k,16426);f[k>>2]=7416;va(k|0,1160,122)}else{m=tn(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)eh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;pr(d);return}function wi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=go(c|0,d|0,7,0)|0;d=Jk(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=go(k|0,0,8,0)|0;m=e?l:k;l=go(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(l>>>0<=k>>>0)if(l>>>0>>0?(g=h+l|0,(i|0)!=(g|0)):0){f[c>>2]=g;n=h}else n=h;else{Bi(a,l-k|0);n=f[a>>2]|0}k=tn(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}pr(a);j=1;return j|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=xg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=tn(40)|0;nj(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}He(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function yi(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)Cq(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=tn(p)|0;if(g|0)Yo(o,m,g)|0;if(i|0)Yo(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Yo(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)pr(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Vp(o+p|0,l);u=k;return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){pj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Cq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;pj(d|0,0,b<<2|0)|0;j=d+(0-g<<2)|0;if((i|0)>0)eh(j|0,h|0,i|0)|0;f[a>>2]=j;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;pr(h);return}function Ai(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=+d;l=i;i=j;while(1){if(l<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Ln(m,i+1|0,18953,g)|0;if((n|0)>-1)if(n>>>0>i>>>0)o=n;else break;else o=i<<1|1;Fj(c,o,0);l=b[h>>0]|0;i=o}Fj(c,n,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Bi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=h;j=c;do{b[i>>0]=0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=h-j|0;h=i+c|0;if((h|0)<0)Cq(a);k=e-j|0;j=k<<1;e=k>>>0<1073741823?(j>>>0>>0?h:j):2147483647;if(!e)l=0;else l=tn(e)|0;j=l+i|0;i=l+e|0;e=j;l=c;c=j;do{b[e>>0]=0;e=c+1|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;h=j+(0-e)|0;if((e|0)>0)eh(h|0,l|0,e|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=i;if(!l)return;pr(l);return}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/136|0;h=d;if(g>>>0>>0){Ae(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((h|0)==(g|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);pr(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);pr(h)}Ki(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Di(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ld(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ld(a,e);return}function Ei(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Fi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Ln(l,i+1|0,18950,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;Fj(c,n,0);k=b[h>>0]|0;i=n}Fj(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Gi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(i|0)!=(h|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{zi(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)Cq(b);else if((m|0)==12)return d|0;return 0}function Hi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=Bn()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=f[1826];Sn(19042,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;j=Na[f[(f[270]|0)+16>>2]&31](1080,k,g)|0;k=f[1826]|0;if(j){j=f[g>>2]|0;g=La[f[(f[j>>2]|0)+8>>2]&127](j)|0;f[e>>2]=k;f[e+4>>2]=h;f[e+8>>2]=g;Sn(18956,e)}else{f[d>>2]=k;f[d+4>>2]=h;Sn(19001,d)}}Sn(19080,b)}function Ii(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=30;h=g;i=16219;j=h+30|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+30>>0]=0;g=a+4|0;Vj(g,e,c);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);a=tn(32)|0;f[e>>2]=a;f[e+8>>2]=-2147483616;f[e+4>>2]=29;h=a;i=15906;j=h+29|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[a+29>>0]=0;Vj(g,e,c);if((b[e+11>>0]|0)>=0){u=d;return}pr(f[e>>2]|0);u=d;return}function Ji(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=bn(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=a+108|0;l=g-(f[k>>2]|0)|0;g=i;if((i-j|0)<(l|0)){m=g;n=g;o=j;p=k}else{m=j+(l+-1)|0;n=g;o=j;p=k}}else{k=f[c>>2]|0;m=k;n=k;o=f[a+4>>2]|0;p=a+108|0}f[a+100>>2]=m;if(n|0)f[p>>2]=n+1-o+(f[p>>2]|0);p=o+-1|0;if((h[p>>0]|0|0)==(d|0))q=d;else{b[p>>0]=d;q=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;q=-1}return q|0}function Ki(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+12>>2]|0;if(b|0)pr(b);b=f[a>>2]|0;if(!b)return;pr(b);return}function Li(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1416;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;pr(b)}pr(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);pr(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pr(d)}pr(e)}pr(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Mi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}f[a+4>>2]=3764;b=f[a+24>>2]|0;if(b|0)pr(b);b=f[a+12>>2]|0;if(!b)return;pr(b);return}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(lr()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=er()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=er()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];ik(a+32|0,c+24|0);f[a>>2]=2448;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2504;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));en(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Pi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=tn(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14799;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;Wj(a,g,c);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);c=tn(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14814;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;Wj(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}pr(f[g>>2]|0);u=e;return}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];ik(a+32|0,c+24|0);f[a>>2]=2028;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2084;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));en(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Ri(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2504;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0)pr(b);b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0)pr(b);b=f[a+60>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Si(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Bj(d+12|0,f[c+44>>2]|0,g)|0)){g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=16250;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;nj(a+4|0,e);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)Cq(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;jp(k,16426);f[k>>2]=7416;va(k|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];b=k+(0-g<<2)|0;if((e|0)>0)eh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;pr(d);return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((ki(f[c>>2]|0)|0)>9){d=0;return d|0}if((La[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((ki(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=ki(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((ki(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function Vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2084;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0)pr(b);b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0)pr(b);b=f[a+60>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Wi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=6752;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=1;n=h;o=4}else{h=er()|0;f[h>>2]=75;p=-1}else{m=c;n=a;o=4}if((o|0)==4){o=-2-n|0;a=m>>>0>o>>>0?o:m;f[i+48>>2]=a;m=i+20|0;f[m>>2]=n;f[i+44>>2]=n;o=n+a|0;n=i+16|0;f[n>>2]=o;f[i+28>>2]=o;o=wh(i,d,e)|0;if(!a)p=o;else{a=f[m>>2]|0;b[a+(((a|0)==(f[n>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3608;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+264|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;return}function Yi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Ej(d)|0;if(i>>>0>4294967279)Cq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=tn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){eh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;dm(c,g,e);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);h=1;u=a;return h|0}function Zi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Ej(d)|0;if(i>>>0>4294967279)Cq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=tn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){eh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;fm(c,g,e);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);h=1;u=a;return h|0}function _i(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){_i(h);pr(h)}if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);pr(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)pr(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;pr(h)}if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);pr(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;pr(d);return}function $i(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=f[c+48>>2]|0;if(!h){i=tn(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=16066;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;nj(a+4|0,g);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);u=e;return}g=f[c+52>>2]|0;if(!g){Lc(a,c,h,d);u=e;return}else{yg(a,c,g,d);u=e;return}}function aj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;gl(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=mr(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{Gn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Dj(g)}while((g|0)!=(a|0))}nr(d)}if((f[b>>2]|0)>0)h=0;else return;do{gl((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!b){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=tn(52)|0;Ob(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){_i(j);pr(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}pr(h)}_i(b);pr(b);d=1;return d|0}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}l=j+c|0;if((k-j|0)>>>0>>0){vj(a,k,l-k|0,j,j,0,0);m=b[h>>0]|0}else m=i;if(m<<24>>24<0)n=f[a>>2]|0;else n=a;ao(n+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=l;else b[h>>0]=l;b[g>>0]=0;Vp(n+l|0,g)}u=e;return a|0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=go(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;d=c;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;g=f[d>>2]|0;h=d}d=g+1|0;f[h>>2]=d;if((d|0)!=32)return;d=a+24|0;g=a+16|0;e=f[g>>2]|0;if((e|0)==(f[a+20>>2]|0))Ti(a+12|0,d);else{f[e>>2]=f[d>>2];f[g>>2]=e+4}f[h>>2]=0;f[d>>2]=0;return}function ej(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pr(a)}pr(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;pr(c)}pr(d)}pr(b);return}function fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));vh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);pr(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function gj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Wo(l,c,d)|0;b[g>>0]=0;Vp(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;yi(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function hj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);pr(d)}Ki(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}pr(e);return}function ij(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=4076;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Qa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}pr(e);return}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=lm(e,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=jl(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ma[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}i=k+d|0;if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Yo(m+k|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[g>>0]=0;Vp(m+i|0,g)}}else yi(a,l,i-l|0,k,k,0,d,c);u=e;return a|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!(ro(a,b,c)|0)){d=0;return d|0}if(!(La[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=g;g=0;while(1){i=f[(f[h>>2]|0)+(g<<2)>>2]|0;if(!(Na[f[(f[i>>2]|0)+8>>2]&31](i,b,f[a+(g<<2)>>2]|0)|0)){d=0;j=7;break}g=g+1|0;a=f[c>>2]|0;if(g>>>0>=(f[e>>2]|0)-a>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function mj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;i=c+54|0;j=c+48|0;k=c+24|0;l=c+36|0;if(!h){f[a>>2]=d;f[k>>2]=g;f[l>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[i>>0]=1;break}if((h|0)!=(d|0)){f[l>>2]=(f[l>>2]|0)+1;b[i>>0]=1;break}l=f[k>>2]|0;if((l|0)==2){f[k>>2]=g;m=g}else m=l;if((f[j>>2]|0)==1&(m|0)==1)b[i>>0]=1}while(0);return}function nj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)Cq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=tn(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Yo(i,g,h)|0;b[e>>0]=0;Vp(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function oj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;do if(!(Ep(a,f[c+8>>2]|0,g)|0)){if(Ep(a,f[c>>2]|0,g)|0){h=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[h>>2]=e;f[i>>2]=d;i=c+40|0;f[i>>2]=(f[i>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[h>>2]=1}}else $m(0,c,d,e);while(0);return}function pj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=e;e=0;do{vg(g+(e*24|0)|0,b)|0;e=e+1|0;g=f[c>>2]|0}while(e>>>0<(((f[d>>2]|0)-g|0)/24|0)>>>0)}g=a+48|0;d=a+52|0;a=f[g>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{h=a;i=0}do{a=f[h+(i<<2)>>2]|0;ai(a<<1^a>>31,b)|0;i=i+1|0;h=f[g>>2]|0}while(i>>>0<(f[d>>2]|0)-h>>2>>>0);return 1}function rj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if(!(La[f[(f[a>>2]|0)+64>>2]&127](a)|0)){e=0;u=c;return e|0}g=f[a+48>>2]|0;h=tn(32)|0;f[d>>2]=h;f[d+8>>2]=-2147483616;f[d+4>>2]=29;i=h;j=15906;k=i+29|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+29>>0]=0;h=Yj(g,d,0)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);if(!h){e=1;u=c;return e|0}Qa[f[(f[a>>2]|0)+68>>2]&127](a);e=1;u=c;return e|0}function sj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<5)|0;do{e=e+-32|0;Dj(e)}while((e|0)!=(c|0))}nr(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);pr(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)pr(e);e=f[a+32>>2]|0;if(!e){Dj(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e);Dj(a);return}function tj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3156;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0)pr(b);b=f[a+64>>2]|0;if(b|0)pr(b);b=f[a+52>>2]|0;if(b|0)pr(b);b=f[a+40>>2]|0;if(!b)return;pr(b);return}function uj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(c>>>0>i>>>0){Bi(a,c-i|0);break}if(c>>>0>>0?(i=h+c|0,(g|0)!=(i|0)):0)f[d>>2]=i}else Bg(a,b,b+c|0);while(0);c=a+24|0;a=c;b=go(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function vj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)Cq(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=tn(m)|0;if(g|0)Yo(l,j,g)|0;k=e-h-g|0;if(k|0)Yo(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)pr(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function wj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2792;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0)pr(b);b=f[a+64>>2]|0;if(b|0)pr(b);b=f[a+52>>2]|0;if(b|0)pr(b);b=f[a+40>>2]|0;if(!b)return;pr(b);return}function xj(a,b){a=a|0;b=b|0;if(!b)return;else{xj(a,f[b>>2]|0);xj(a,f[b+4>>2]|0);Cj(b+20|0,f[b+24>>2]|0);pr(b);return}}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Xf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0>>0);return}function zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=tn(32)|0,In(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(g)}g=$l(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,g)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=En(e|0,g|0,c|0,0)|0;if(!(uj(h,0,i,I)|0)){j=0;return j|0}Mk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Ep(a,b,0)|0))if((b|0)!=0?(g=Bh(b,1104,1088,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ta[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;ai((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){ai(f[h+40>>2]|0,b)|0;jg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}jg(a,b,c)|0;d=1;return d|0}function Cj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Cj(a,f[c>>2]|0);Cj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);pr(c);return}function Dj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);pr(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);pr(c);u=b;return}function Ej(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=c;h=a;while(1){if(!(b[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){d=j;e=4;break}else h=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Fj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Vp(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Vp(a+c|0,g);b[h>>0]=c;break}else cj(a,c-k|0,d)|0;while(0);u=e;return}function Gj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}pr(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;pr(c)}pr(d)}pr(a);return}function Hj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=tn(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=bg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ei(a);pr(a);return}function Jj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(zl(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Na[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Lj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;while(1){d=b[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Hq(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=d;j=0;k=c}}if((h|0)==5){i=b[f>>0]|0;j=g;k=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=f;f=0;g=k;while(1){g=g+1|0;k=(f*10|0)-i|0;i=(b[g>>0]|0)+-48|0;if(i>>>0>=10){l=k;break}else f=k}}else l=0;return (j|0?l:0-l|0)|0}function Mj(a,b){a=a|0;b=b|0;if(!b)return;else{Mj(a,f[b>>2]|0);Mj(a,f[b+4>>2]|0);Cj(b+20|0,f[b+24>>2]|0);pr(b);return}}function Nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=e+4|0;f[g>>2]=c;c=a+4|0;a=tn(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=a;j=14756;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+17>>0]=0;Wj(Bd(c,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}pr(f[h>>2]|0);u=e;return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)ue(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}cq(f[c+(e<<2)>>2]|0);d=1;return d|0}function Pj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a&255;e=a&255;if((f[c+76>>2]|0)>=0?(vr(c)|0)!=0:0){if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Kj(c,a)|0;ur(c);j=i}else k=3;do if((k|0)==3){if((e|0)!=(b[c+75>>0]|0)?(i=c+20|0,h=f[i>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=h+1;b[h>>0]=d;j=e;break}j=Kj(c,a)|0}while(0);return j|0}function Qj(a){a=a|0;if(!a)return;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function Rj(a){a=a|0;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);return}function Sj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=a;f=c;c=d;while(1){g=qn(e|0,f|0,10,0)|0;c=c+-1|0;b[c>>0]=g&255|48;g=e;e=Ip(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=I}h=c;i=e}else{h=d;i=a}if(!i)j=h;else{a=h;h=i;while(1){i=a+-1|0;b[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{a=i;h=(h>>>0)/10|0}}}return j|0}function Tj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;ml(g,d);h=xi(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}mh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Uj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Fe(g,c,e,e+4|0)|0;u=b;return 1}function Vj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;pl(g,d&1);d=xi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}mh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;pl(g,d);d=xi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}mh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}g=(f[e>>2]|0)-d|0;h=g>>2;i=tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;if((g|0)>0)eh(k|0,d|0,g|0)|0;f[a>>2]=k;f[e>>2]=j;f[c>>2]=i+(b<<2);if(!d)return;pr(d);return}function Yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Lj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function Zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(c>>>0>10){g=0;u=d;return g|0}h=tn(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=16378;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;Wj(a,e,c);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);g=1;u=d;return g|0}function _j(a){a=a|0;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function $j(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0,h=0,i=0.0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=b+1022|0;e=(d|0)<-1022;g=b+2044|0;h=e?((g|0)>-1022?g:-1022):d;i=e?c*2.2250738585072014e-308:c}else{h=b;i=a}else{c=a*8988465674311579538646525.0e283;e=b+-1023|0;d=(e|0)>1023;g=b+-2046|0;h=d?((g|0)<1023?g:1023):e;i=d?c*8988465674311579538646525.0e283:c}d=eo(h+1023|0,0,52)|0;h=I;f[s>>2]=d;f[s+4>>2]=h;return +(i*+p[s>>3])}function ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function bk(a){a=a|0;f[a>>2]=3496;Cj(a+28|0,f[a+32>>2]|0);Mj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);return}function ck(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[17045+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=87;j=17133;e=5;break}else d=g}if((e|0)==2)if(!d)k=17133;else{i=d;j=17133;e=5}if((e|0)==5)while(1){e=0;d=j;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);i=i+-1|0;if(!i){k=d;break}else{j=d;e=5}}return Nq(k,f[c+20>>2]|0)|0}function dk(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=jo(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+dk(a*18446744073709551616.0,b);h=(f[b>>2]|0)+-64|0;i=g}else{h=0;i=a}f[b>>2]=h;j=i;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function ek(a){a=a|0;f[a>>2]=3496;Cj(a+28|0,f[a+32>>2]|0);Mj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function fk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=a;g=0}else{b=1;return b|0}while(1){a=f[e+(g<<2)>>2]|0;g=g+1|0;if(!(Ll(a,a)|0)){b=0;h=5;break}e=f[c>>2]|0;if((g|0)>=((f[d>>2]|0)-e>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=e;e=0;while(1){i=f[a+(e<<2)>>2]|0;e=e+1|0;if(!(Na[f[(f[i>>2]|0)+20>>2]&31](i,h,b)|0)){g=0;j=5;break}a=f[c>>2]|0;if(e>>>0>=(f[d>>2]|0)-a>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=a;h=0}while(1){a=f[g+(h<<2)>>2]|0;h=h+1|0;if(!(Ma[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}g=f[c>>2]|0;if(h>>>0>=(f[d>>2]|0)-g>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)Cq(a);h=tn(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;eh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function jk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=d;d=0;while(1){h=f[a+(d<<2)>>2]|0;d=d+1|0;if(!(Ma[f[(f[h>>2]|0)+16>>2]&127](h,g)|0)){e=0;i=5;break}a=f[b>>2]|0;if(d>>>0>=(f[c>>2]|0)-a>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function kk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=tn(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14740;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;Wj(a+4|0,e,c);if((b[e+11>>0]|0)>=0){u=d;return}pr(f[e>>2]|0);u=d;return}function lk(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=b;if(b|0?(c=Bh(b,1072,1056,0)|0,c|0):0){d=tn(56)|0;Um(d,c);c=f[a>>2]|0;f[a>>2]=d;if(!c)return;Qa[f[(f[c>>2]|0)+4>>2]&127](c);return}c=tn(56)|0;Qm(c,b);b=f[a>>2]|0;f[a>>2]=c;if(!b)return;Qa[f[(f[b>>2]|0)+4>>2]&127](b);return}function mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function nk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(La[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ma[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ma[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Cq(a);e=tn(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;e=b;do{ik(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;e=e+-1|0}while((e|0)!=0);return}function pk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Rg(a+40|0,b);d=1;return d|0}return 0}function qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Li(a);pr(a);return}Qa[f[(f[d>>2]|0)+4>>2]&127](d);Li(a);pr(a);return}function sk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Nk(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){pr(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c);pr(a);return}function vk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Ja,h=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+jr(h));return $(g)}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b)return;pr(b);return}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){pr(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c);pr(a);return}function zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Li(a);return}Qa[f[(f[d>>2]|0)+4>>2]&127](d);Li(a);return}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Ic(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{qm(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Bk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ma[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b)return;pr(b);return}function Dk(a){a=a|0;var b=0,c=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Ek(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Na[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Og(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Lj(g)|0)+1|0)>>>0>1;return e|0}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;dn(e,0);i=+Nc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+84>>2]|0;if(!b){Kg(a);pr(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);Kg(a);pr(a);return}function Ik(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Lj(h)|0;return g|0}function Jk(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=io(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return io((Fd(i,b,io(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Kk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=c+16|0;g=f[a>>2]|0;h=c+36|0;i=c+24|0;do if(g){if((g|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[a>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Lk(a){a=a|0;var b=0,c=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Mk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(b>>>0<=g>>>0){if(b>>>0>>0?(d=h+b|0,(e|0)!=(d|0)):0)f[c>>2]=d}else Bi(a,b-g|0);g=a+24|0;a=g;b=go(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Ok(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Og(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Lj(g)|0;return e|0}function Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+84>>2]|0;if(!b){Kg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);Kg(a);return}function Qk(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;pj(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{sp(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;sp(a,g,h)}u=f;return}function Tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Uk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Ep(a,f[b+8>>2]|0,g)|0)mj(0,b,c,d,e);else{h=f[a+8>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function Vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2364;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+4>>2]|0;if(!b){pr(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1944;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Yk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Zk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function _k(a){a=a|0;var b=0,c=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function $k(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Fj(a,d,0);return}function al(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=e*+Ug(e);e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function bl(a){a=a|0;var b=0,c=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function dl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function el(a){a=a|0;var b=0,c=0;f[a>>2]=2364;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function fl(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function gl(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=b;return}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Ep(a,f[b+8>>2]|0,0)|0)Kk(0,b,c,d);else{e=f[a+8>>2]|0;Ta[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function il(a){a=a|0;var b=0,c=0;f[a>>2]=1944;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function jl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function kl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function ll(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=a;a=c;do{d=d+1|0;a=a+1|0;c=b[d>>0]|0;e=b[a>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function ml(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;$k(d);Ai(a,d,b);To(d);u=c;return}function nl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);pr(b);return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function pl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;$k(d);Fi(a,d,b);To(d);u=c;return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Fo(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function rl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function tl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function ul(a){a=a|0;var b=0;if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}b=(f[a+36>>2]|0)!=0;return b|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;fh(a,c);f[a>>2]=1472;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function wl(a){a=a|0;var b=0,c=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){pr(a);return}nr(c);pr(a);return}function xl(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function yl(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=h[17027+(g&15)>>0]|0|e;g=jo(g|0,a|0,4)|0;a=I;if((g|0)==0&(a|0)==0){f=d;break}else c=d}}return f|0}function zl(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Al(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Bl(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Cl(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Dl(a){a=a|0;tj(a);pr(a);return}function El(a){a=a|0;var b=0,c=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){pr(a);return}nr(c);pr(a);return}function Fl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(b>>>0>g>>>0){Bi(a,b-g|0);return}if(b>>>0>=g>>>0)return;g=e+b|0;if((d|0)==(g|0))return;f[c>>2]=g;return}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Yf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Il(a,b){a=a|0;b=b|0;var c=0;if(!(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ma[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ma[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Jl(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Kl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+40>>2]=c;d=1;return d|0}function Ll(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];e=oc(a,b,d)|0;u=c;return e|0}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Nl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;g=d;while(1){d=g+(c*10|0)|0;e=e+1|0;f[a>>2]=e;g=(b[e>>0]|0)+-48|0;if(g>>>0>=10){h=d;break}else c=d}}else h=0;return h|0}function Ol(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Pl(a){a=a|0;wj(a);pr(a);return}function Ql(a){a=a|0;var b=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;nr(a);return}function Rl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Sl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=f&7|48;f=jo(f|0,a|0,3)|0;a=I;if((f|0)==0&(a|0)==0){e=d;break}else c=d}}return e|0}function Tl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+60>>2]=c;d=1;return d|0}function Ul(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ep(a,f[b+8>>2]|0,g)|0)mj(0,b,c,d,e);return}function Vl(a){a=a|0;var b=0,c=0;b=f[a+64>>2]|0;if(!b)return;c=La[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;f[a+60>>2]=(((f[c+4>>2]|0)-(f[c>>2]|0)>>2>>>0)/3|0)-(f[c+40>>2]|0);return}function Wl(a){a=a|0;var b=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;nr(a);return}function Xl(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Li(a);pr(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Li(a);pr(a);return}function Yl(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;hh(a+20|0,g,d);u=c;return}function Zl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function _l(a){a=a|0;Ri(a);pr(a);return}function $l(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function am(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;hh(a+20|0,g,d);u=c;return}function bm(){var a=0,b=0;a=tn(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function cm(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function dm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;Yb(a,b,e);u=d;return}function em(a){a=a|0;f[a>>2]=3784;Mi(a+8|0);pr(a);return}function fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;ac(a,b,e);u=d;return}function gm(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;gj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ej(b)|0;d=tn(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=fq(d)|0;eh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function jm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){ij(a);pr(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);ij(a);pr(a);return}function km(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Li(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Li(a);return}function lm(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function mm(a){a=a|0;Vi(a);pr(a);return}function nm(a){a=a|0;f[a>>2]=3784;Mi(a+8|0);return}function om(a){a=a|0;var b=0,c=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ep(a,f[b+8>>2]|0,0)|0)Kk(0,b,c,d);return}function qm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else eh(a,c,d)|0;return a|0}function rm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b){pr(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function sm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function um(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function vm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){ij(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);ij(a);return}function wm(){var a=0,b=0;a=Bn()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)bp(f[b+12>>2]|0);bp(rq()|0)}function xm(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 Rf(a,b,c,d,e,f,6)|0}function ym(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 Qf(a,b,c,d,e,f,4)|0}function zm(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 Sf(a,b,c,d,e,f,2)|0}function Am(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 Qf(a,b,c,d,e,f,3)|0}function Bm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function Cm(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 Sf(a,b,c,d,e,f,1)|0}function Dm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function Em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+Ug(d);c=-(f+e*+Ug(e));return +c}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function Gm(a){a=a|0;var b=0;No(a);f[a>>2]=3408;f[a+40>>2]=1260;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Hm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Im(a){a=a|0;var b=0,c=0;if(Uq(a)|0?(b=nq(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)pr(b);return}function Jm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=go(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Km(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 Rf(a,b,c,d,e,f,5)|0}function Lm(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 Rf(a,b,c,d,e,f,9)|0}function Mm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b)return;pr(b);return}function Nm(a){a=a|0;var b=0,c=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Om(a){a=a|0;var c=0;f[a>>2]=1416;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function Pm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b)return;pr(b);return}function Qm(a,b){a=a|0;b=b|0;f[a>>2]=3496;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=0;return}function Rm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;eh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Tm(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function Um(a,b){a=a|0;b=b|0;f[a>>2]=3496;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=b;return}function Vm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);pr(b);return}function Wm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Xm(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function Ym(a,b,c){a=a|0;b=b|0;c=c|0;return Na[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Zm(a){a=a|0;var c=0;Ol(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function _m(a){a=a|0;f[a>>2]=3324;Dj(a+88|0);pr(a);return}function $m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Eg(a,b,c,d,e,f);return}function bn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Ek(a)|0)==0?(Na[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function cn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function en(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;return}function fn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=$(g);Eg(f[a>>2]|0,b,c,d,e,g);return}function gn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);an(a,b,c,d,e,f);return}function hn(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 xm(a,b,c,d,e,f)|0}function jn(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 ym(a,b,c,d,e,f)|0}function kn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function ln(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pr(b)}pr(a);return}function mn(a){a=a|0;f[a>>2]=2960;Dj(a+88|0);pr(a);return}function nn(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 zm(a,b,c,d,e,f)|0}function on(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 Am(a,b,c,d,e,f)|0}function pn(a){a=a|0;f[a>>2]=3324;Dj(a+88|0);return}function qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Fd(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function rn(a){a=a|0;var b=0;oo(a);f[a>>2]=6308;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function sn(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 Cm(a,b,c,d,e,f)|0}function tn(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Wa(b)|0;if(a|0){c=a;break}a=pq()|0;if(!a){c=0;break}Pa[a&3]()}return c|0}function un(a,b,c){a=a|0;b=b|0;c=c|0;_b(a,b,c);return}function vn(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b)return;pr(b);return}function wn(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 Km(a,b,c,d,e,f)|0}function xn(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 Lm(a,b,c,d,e,f)|0}function yn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);fn(a,b,c,d,e,f);return}function zn(a){a=a|0;f[a>>2]=2960;Dj(a+88|0);return}function An(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=sr(f[a+60>>2]|0)|0;f[c>>2]=d;d=Fo(Ba(6,c|0)|0)|0;u=b;return d|0}function Bn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ga(20088,3)|0)){b=Ea(f[5023]|0)|0;u=a;return b|0}else Sn(19231,a);return 0}function Cn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b)return;pr(b);return}function Dn(a){a=a|0;var b=0;if(!a)return;b=f[a>>2]|0;f[a>>2]=0;if(b|0)Qa[f[(f[b>>2]|0)+4>>2]&127](b);pr(a);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=hm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function Fn(a,b){a=a|0;b=b|0;fh(a,b);f[a>>2]=1356;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Gn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Hn(a){a=a|0;var b=0;b=u;u=u+16|0;tc(a);if(!(Ha(f[5023]|0,0)|0)){u=b;return}else Sn(19330,b)}function In(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Jn(a,b){a=a|0;b=b|0;return vg(a+40|0,b)|0}function Kn(a,b){a=a|0;b=b|0;return kj(a,b,Pq(b)|0)|0}function Ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Wi(a,b,c,g)|0;u=e;return d|0}function Mn(a,b){a=a|0;b=b|0;return Jj(a+40|0,b)|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ph(a,b,c,d)|0}function On(a){a=a|0;var b=0;f[a>>2]=4076;f[a+52>>2]=0;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ph(a,b,c,d)|0}function Qn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Rn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[1595]|0;wh(b,a,d)|0;Pj(10,b)|0;Ca()}function Tn(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 Oa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Un(a){a=a|0;var b=0;b=f[a+56>>2]|0;f[a+60>>2]=((f[b+100>>2]|0)-(f[b+96>>2]|0)|0)/12|0;return}function Vn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Xn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Yn(){var a=0;a=u;u=u+16|0;if(!(Fa(20092,125)|0)){u=a;return}else Sn(19280,a)}function Zn(a){a=a|0;f[a>>2]=1216;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3472;return}function _n(a){a=a|0;We(a);pr(a);return}function $n(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function ao(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)pj(a|0,(Oq(c)|0)&255|0,b|0)|0;return a|0}function bo(a){a=a|0;return 4}function co(a,b,c){a=a|0;b=b|0;c=c|0;return bj(0,b,c)|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function ho(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Ah(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xe(a,b,c,d)|0}function lo(a){a=a|0;$e(a);pr(a);return}function mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Yi(a,b,c,d)|0}function no(a){a=a|0;return 5}function oo(a){a=a|0;var b=0;f[a>>2]=6348;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function po(a){a=a|0;return 6}function qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zi(a,b,c,d)|0}function ro(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function so(a,b,c){a=a|0;b=b|0;c=c|0;Nj(a,b,c);return}function to(a,b){a=a|0;b=b|0;Ii(f[a>>2]|0,b);return}function uo(a,b,c){a=a|0;b=b|0;c=c|0;so(a,b,c);return}function vo(a){a=a|0;var b=0;b=f[a+64>>2]|0;return La[f[(f[b>>2]|0)+28>>2]&127](b)|0}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oe(a,b,c,d,1);return}function xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oe(a,b,c,d,0);return}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(a,b,c,d)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;return di(a,b,c)|0}function Ao(a){a=a|0;var b=0;b=f[a+64>>2]|0;return La[f[(f[b>>2]|0)+32>>2]&127](b)|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;Nj(f[a>>2]|0,b,c);return}function Co(a,b,c){a=a|0;b=b|0;c=c|0;return bj(a,b,c)|0}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return co(a,b,c)|0}function Eo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0)}function Fo(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=er()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;return Gh(a,b,c)|0}function Ho(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Io(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Jo(a,b){a=a|0;b=b|0;f[a+56>>2]=b;Hp(a,b);return}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;Bo(a,b,c);return}function Lo(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Mo(a,b){a=a|0;b=b|0;Ii(a,b);return}function No(a){a=a|0;Om(a);f[a>>2]=1540;f[a+36>>2]=0;return}function Oo(a){a=a|0;On(a);f[a>>2]=3892;f[a+56>>2]=0;f[a+60>>2]=0;return}function Po(a){a=a|0;var b=0;if(!a)b=0;else b=(Bh(a,1104,1192,0)|0)!=0;return b&1|0}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;Ro(f[a>>2]|0,b,c);return}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;Pi(a+4|0,b,c);return}function So(a){a=a|0;var b=0;b=tn(8)|0;lk(b,a);return b|0}function To(a){a=a|0;if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);return}function Uo(a){a=a|0;if(!a)return;Qa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ta[a&7](b|0,c|0,d|0,e|0)}function Wo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qm(a|0,b|0,c|0)|0;return a|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;Qo(a,b,c);return}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)eh(a|0,b|0,c|0)|0;return a|0}function Zo(a){a=a|0;f[a+52>>2]=f[(f[a+4>>2]|0)+80>>2];return}function _o(a,b){a=a|0;b=b|0;to(a,b);return}function $o(a){a=a|0;f[a+52>>2]=f[(f[a+56>>2]|0)+80>>2];return}function ap(a,b){a=a|0;b=b|0;return -1}function bp(a){a=a|0;var b=0;b=u;u=u+16|0;Pa[a&3]();Sn(19383,b)}function cp(a){a=a|0;Lh(a);pr(a);return}function dp(a,b,c){a=a|0;b=b|0;c=c|0;np(a,b,c);return}function ep(a,b){a=a|0;b=b|0;kk(f[a>>2]|0,b);return}function fp(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function gp(a){a=a|0;Oo(a);f[a>>2]=3528;f[a+64>>2]=0;return}function hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function ip(a,b){a=a|0;b=b|0;return (Xp(a,b)|0)<<24>>24|0}function jp(a,b){a=a|0;b=b|0;f[a>>2]=7396;im(a+4|0,b);return}function kp(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Ni(a,b,0)|0;return c|0}function lp(a,b){a=a|0;b=b|0;Mo(a,b);return}function mp(a){a=a|0;return f[a+12>>2]|0}function np(a,b,c){a=a|0;b=b|0;c=c|0;Ro(a,b,c);return}function op(){var a=0;a=tn(64)|0;Ol(a);return a|0}function pp(a,b){a=a|0;b=b|0;ep(a,b);return}function qp(a){a=a|0;if(!a)return;_i(a);pr(a);return}function rp(a){a=a|0;return f[a+4>>2]|0}function sp(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))ni(b,c,a)|0;return}function tp(a){a=a|0;return Zp(a)|0}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&15](b|0,c|0,d|0)}function vp(){var a=0;a=tn(96)|0;Zm(a);return a|0}function wp(a){a=a|0;return _p(a)|0}function xp(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function yp(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function zp(a){a=a|0;var b=0;b=(lr()|0)+188|0;return ck(a,f[b>>2]|0)|0}function Ap(a,b){a=a|0;b=b|0;Jp(a,b);return}function Bp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Cp(){var a=0;a=tn(12)|0;Pp(a);return a|0}function Dp(a){a=a|0;Li(a);pr(a);return}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Fp(a,b){a=a|0;b=b|0;var c=0;c=Tp(a|0)|0;return ((b|0)==0?a:c)|0}function Gp(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Hp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Ip(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fd(a,b,c,d,0)|0}function Jp(a,b){a=a|0;b=b|0;kk(a,b);return}function Kp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Lp(a){a=a|0;return Dq(a)|0}function Mp(){var a=0;a=tn(84)|0;oo(a);return a|0}function Np(a){a=a|0;ri(a);pr(a);return}function Op(a){a=a|0;return Eq(a)|0}function Pp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Qp(a){a=a|0;f[a>>2]=7396;Im(a+4|0);return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[a&127](b|0,c|0)|0}function Sp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Tp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Up(a){a=a|0;Oo(a);f[a>>2]=3972;return}function Vp(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Xp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Yp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Zp(a){a=a|0;return f[(f[a>>2]|0)+40>>2]|0}function _p(a){a=a|0;return f[(f[a>>2]|0)+44>>2]|0}function $p(a){a=a|0;if(!a)return;pr(a);return}function aq(){var a=0;a=tn(1)|0;ur(a);return a|0}function bq(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function cq(a){a=a|0;b[a+28>>0]=1;return}function dq(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function eq(a,b){a=a|0;b=b|0;return 1}function fq(a){a=a|0;return a+12|0}function gq(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function hq(a,b,c){a=a|0;b=b|0;c=c|0;Ra[a&7](b|0,c|0)}function iq(){var a=0;a=tn(48)|0;Vq(a);return a|0}function jq(a){a=a|0;return Jq(a+4|0)|0}function kq(){var a=0;a=tn(108)|0;rn(a);return a|0}function lq(a){a=a|0;ij(a);pr(a);return}function mq(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function nq(a){a=a|0;return a+-12|0}function oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function pq(){var a=0;a=f[5024]|0;f[5024]=a+0;return a|0}function qq(a){a=a|0;return f[a+56>>2]|0}function rq(){var a=0;a=f[1825]|0;f[1825]=a+0;return a|0}function sq(a){a=a|0;Kg(a);pr(a);return}function tq(a){a=a|0;ur(a);pr(a);return}function uq(a){a=a|0;return b[a+24>>0]|0}function vq(a,b){a=a|0;b=b|0;return 0}function wq(a){a=a|0;return f[a+48>>2]|0}function xq(a,b){a=a|0;b=b|0;return La[a&127](b|0)|0}function yq(a){a=a|0;return f[a+60>>2]|0}function zq(a){a=a|0;return f[a+28>>2]|0}function Aq(a){a=a|0;sa(a|0)|0;wm()}function Bq(a){a=a|0;Qp(a);pr(a);return}function Cq(a){a=a|0;Ca()}function Dq(a){a=a|0;return f[a+40>>2]|0}function Eq(a){a=a|0;return f[a+44>>2]|0}function Fq(a){a=a|0;return 3}function Gq(a,b){a=a|0;b=b|0;u=a;v=b}function Hq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Iq(a){a=a|0;return f[a+80>>2]|0}function Jq(a){a=a|0;return f[a>>2]|0}function Kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Lq(a,b){a=a|0;b=b|0;return $(+Gk(a,b,0))}function Mq(a,b){a=a|0;b=b|0;Qa[a&127](b|0)}function Nq(a,b){a=a|0;b=b|0;return ho(a,b)|0}function Oq(a){a=a|0;return a&255|0}function Pq(a){a=a|0;return Ej(a)|0}function Qq(){return tn(1)|0}function Rq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Sq(a){a=a|0;return 2}function Tq(a,b){a=a|0;b=b|0;return +(+Gk(a,b,1))}function Uq(a){a=a|0;return 1}function Vq(a){a=a|0;Zn(a);return}function Wq(a,b){a=+a;b=+b;return +(+cm(a,b))}function Xq(a,b){a=+a;b=b|0;return +(+$j(a,b))}function Yq(a,b){a=+a;b=b|0;return +(+dk(a,b))}function Zq(){return 3}function _q(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function $q(){return 0}function ar(){return -1}function br(){return 4}function cr(){return 1}function dr(){return 2}function er(){return (lr()|0)+64|0}function fr(a,b){a=+a;b=+b;return +(+td(a,b))}function gr(a,b){a=a|0;b=b|0;aa(1);return 0}function hr(a){a=a|0;Pa[a&3]()}function ir(){ua()}function jr(a){a=a|0;return +(+Tq(a,0))}function kr(a,b){a=a|0;b=b|0;aa(6)}function lr(){return zr()|0}function mr(a){a=a|0;return tn(a)|0}function nr(a){a=a|0;pr(a);return}function or(a){a=a|0;u=a}function pr(a){a=a|0;tc(a);return}function qr(a){a=a|0;I=a}function rr(){return 20024}function sr(a){a=a|0;return a|0}function tr(a){a=a|0;aa(0);return 0}function ur(a){a=a|0;return}function vr(a){a=a|0;return 0}function wr(){return I|0}function xr(){return u|0}function yr(a){a=a|0;aa(5)}function zr(){return 6508}function Ar(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Qa=[er,Dq,Eq,Eq,Dq,gb,gr,gr,gr,ok,lg,Eq,hp,gr,gr,Eq,gr,Eq,Eq,Fl,Dq,Fl,rq,Dl,Eq,oo,Dl,Eq,qo,jl,Eq,kq,co,Fl,Eq,Fl,Dq,Fl,rq,Dl,Eq,oo,Dl,Eq,qo,jl,Eq,kq,co,Fl,Eq,rq,gr,hp,Eq,gr,Eq,rq,Eq,xl,Dq,xl,co,xl,rq,wl,Eq,oo,wl,Eq,qo,bl,Eq,kq,Eq,xl,Dq,xl,co,xl,rq,wl,Eq,oo,wl,Eq,qo,bl,Eq,kq,Eq,Dq,Eq,Eq,Nd,Eq,wj,Xe,mh,Gk,Ao,vo,pb,dp,hp,ng,wg,ff,rb,dp,hp,Eq,gr,gr,zc,Li,gr,Eq,Eq,Zj,gr,Zj,jk,Bn,Xp,er,er,er];var Ra=[Tq,El,nh,Ie,Ll,gq,gq,gq,Sp,jb,tj,Ho,Sp,Sp,ui,pj,ji,rk,vl,Tj,gl,kk,lk,Te,Uo,gq,oi,gq,Wl,$d,gq,Wl,pf,gq,Tl,sh,um,Fd,gq,Wl,$d,gq,Wl,pf,gq,Tl,sh,um,Fd,Mn,Uo,gq,mi,Ed,gq,Ml,Zd,gq,Ml,kf,gq,Il,rh,um,Ed,gq,Ml,Zd,gq,Ml,kf,gq,Il,rh,um,Jn,Wn,Qn,Xn,Vn,dh,qk,Bk,Zb,ye,$m,rg,xf,yf,bh,qk,Bk,Yb,ye,$m,Sp,gq,gq,qf,Hm,og,qf,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq];var Sa=[Cq,to,Kp,mn,an,Ag,qj,rl,zh,wc,Nh,sg,hi,Rb,ei,Pg,tl,Wm,Fj,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq];var Ta=[pp,Xd,Jc,oc,be,Ae,Ub,bb,Lc,pc,ae,ze,Sb,ab,eh,kd,Ic,eb,rf,Kf,tc,od,Kc,db,mf,Hf,qc,pp,pp,pp,pp,pp];var Ua=[mr,Wq,Qi,Yn];var Va=[kr,Vj,ck,fr,$q,Om,rm,hl,Uq,vi,Bp,Pi,rp,Oh,Wo,Rm,Nm,om,Uq,Xl,Xl,Xl,Qk,Dk,fl,Yk,ll,$k,fr,$q,Uq,_i,mm,Xl,Xl,Kk,yk,cl,Wk,il,_k,fr,$q,Uq,Xi,am,Rm,Nm,fr,$q,$q,$q,Bj,Ql,_l,Hl,Qm,Bm,An,on,fr,$q,$q,$q,yj,Gl,Rl,zl,Mm,sm,rn,cn,fr,$q,Ek,vk,ck,ek,hk,hk,vm,Tm,_e,Zl,hf,mo,Ck,uk,xn,Xm,$l,Hk,xk,Dn,fn,cm,nm,gm,df,$n,oj,Uq,Np,To,Un,fr,$q,Uq,Np,So,Np,So,Uk,Nk,sb,Qg,dq,fr,eq,fr,fr,eq,Ep,mq,mq,Hn,kr,kr];var Wa=[Zq,wk,hg,Fk,Nc,Zq,Zq,Zq];var Xa=[Kq,Ne,kj,cc,ic,yd,cc,ic,ah,Dj,Og,Zf,Kq,Kq,Kq,Kq];var Ya=[wq,Yg,qg,pm,kl,wq,wq,wq];var Za=[$p,vj,oh,$p];var _a=[Gp,Yl,Zk,Gp];return{___cxa_can_catch:tm,___cxa_is_pointer_type:Mo,___divdi3:Pk,___muldi3:En,___udivdi3:wp,___uremdi3:sn,_bitshift64Lshr:ko,_bitshift64Shl:fo,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:qp,_emscripten_bind_DracoInt8Array_GetValue_1:$o,_emscripten_bind_DracoInt8Array___destroy___0:nn,_emscripten_bind_DracoInt8Array_size_0:Mp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:zo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:Pn,_emscripten_bind_Encoder_Encoder_0:Wp,_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0:Cp,_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0:zp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:jn,_emscripten_bind_Encoder_SetAttributeQuantization_2:uo,_emscripten_bind_Encoder_SetEncodingMethod_1:op,_emscripten_bind_Encoder_SetSpeedOptions_2:Xo,_emscripten_bind_Encoder_SetTrackEncodedProperties_1:cp,_emscripten_bind_Encoder___destroy___0:Uj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:fp,_emscripten_bind_GeometryAttribute___destroy___0:Op,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:yo,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:zn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:zn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:qn,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:yn,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:yn,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:un,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Do,_emscripten_bind_MeshBuilder_AddMetadata_2:Bo,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:ln,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:kn,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:pn,_emscripten_bind_MeshBuilder_MeshBuilder_0:Nq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_MeshBuilder___destroy___0:Op,_emscripten_bind_Mesh_Mesh_0:Yp,_emscripten_bind_Mesh___destroy___0:Oo,_emscripten_bind_Mesh_num_attributes_0:up,_emscripten_bind_Mesh_num_faces_0:np,_emscripten_bind_Mesh_num_points_0:uq,_emscripten_bind_Mesh_set_num_points_1:Up,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:no,_emscripten_bind_MetadataBuilder_AddIntEntry_3:ro,_emscripten_bind_MetadataBuilder_AddStringEntry_3:lo,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:Nq,_emscripten_bind_MetadataBuilder___destroy___0:Op,_emscripten_bind_Metadata_Metadata_0:dm,_emscripten_bind_Metadata___destroy___0:gp,_emscripten_bind_PointAttribute_PointAttribute_0:kp,_emscripten_bind_PointAttribute___destroy___0:Lj,_emscripten_bind_PointAttribute_attribute_type_0:bq,_emscripten_bind_PointAttribute_byte_offset_0:hq,_emscripten_bind_PointAttribute_byte_stride_0:oq,_emscripten_bind_PointAttribute_data_type_0:kq,_emscripten_bind_PointAttribute_normalized_0:Zp,_emscripten_bind_PointAttribute_num_components_0:fq,_emscripten_bind_PointAttribute_size_0:uq,_emscripten_bind_PointAttribute_unique_id_0:jq,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:zn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:qn,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:yn,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:un,_emscripten_bind_PointCloudBuilder_AddMetadata_2:Bo,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:ln,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:kn,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:pn,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:Nq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_PointCloudBuilder___destroy___0:Op,_emscripten_bind_PointCloud_PointCloud_0:Ap,_emscripten_bind_PointCloud___destroy___0:Oo,_emscripten_bind_PointCloud_num_attributes_0:up,_emscripten_bind_PointCloud_num_points_0:uq,_emscripten_bind_VoidPtr___destroy___0:Op,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Mq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Lq,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Qq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Rq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Oq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Mq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Qq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Lq,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Jq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:Qq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:Lq,_emscripten_replace_memory:Pa,_free:yc,_i64Add:ho,_i64Subtract:jo,_llvm_bswap_i32:Hp,_malloc:$a,_memcpy:kh,_memmove:qm,_memset:uj,_sbrk:Ul,dynCall_ii:iq,dynCall_iii:Fp,dynCall_iiii:_o,dynCall_iiiiiii:Tn,dynCall_v:Vq,dynCall_vi:xq,dynCall_vii:Vp,dynCall_viii:jp,dynCall_viiii:Po,dynCall_viiiii:Eo,dynCall_viiiiii:ao,establishStackSpace:sq,getTempRet0:hr,runPostSets:go,setTempRet0:cr,setThrew:Rp,stackAlloc:lp,stackRestore:ar,stackSave:jr}}) +var La=[tr,Sq,Uq,Uq,Sq,ab,vr,vr,vr,jk,ig,Uq,rp,vr,vr,Uq,vr,Uq,Uq,Cl,Sq,Cl,Fq,Al,Uq,no,Al,Uq,po,fl,Uq,zq,bo,Cl,Uq,Cl,Sq,Cl,Fq,Al,Uq,no,Al,Uq,po,fl,Uq,zq,bo,Cl,Uq,Fq,vr,rp,Uq,vr,Uq,Fq,Uq,ul,Sq,ul,bo,ul,Fq,tl,Uq,no,tl,Uq,po,Zk,Uq,zq,Uq,ul,Sq,ul,bo,ul,Fq,tl,Uq,no,tl,Uq,po,Zk,Uq,zq,Uq,Sq,Uq,Uq,Hd,Uq,rj,Qe,jh,Bk,Ao,vo,jb,mp,rp,kg,rg,Ye,lb,mp,rp,Uq,vr,vr,uc,Gi,vr,Uq,Uq,Uj,vr,Uj,fk,An,jq,tr,tr,tr];var Ma=[gr,Bl,gh,Be,Il,vq,vq,vq,eq,db,qj,Io,eq,eq,qi,jj,gi,nk,sl,Oj,cl,gk,hk,Me,ap,vq,li,vq,Tl,Vd,vq,Tl,kf,vq,Rl,nh,um,rf,vq,Tl,Vd,vq,Tl,kf,vq,Rl,nh,um,rf,Mn,ap,vq,ji,qf,vq,Kl,Td,vq,Kl,ef,vq,Fl,kh,um,qf,vq,Kl,Td,vq,Kl,ef,vq,Fl,kh,um,Jn,Wn,Qn,Xn,Vn,Zg,mk,wk,Sb,re,Xm,tf,_e,bf,Xg,mk,wk,Rb,re,Xm,eq,vq,vq,lf,Hm,lg,lf,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr];var Na=[Rq,ro,Wp,kn,Ym,ug,lj,ol,yh,pc,Kh,og,ei,Mb,bi,Mg,ql,Sm,Aj,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq];var Oa=[Bp,Rd,Ec,jc,Xd,te,Wb,Ya,Gc,kc,Wd,se,Vb,Xa,_g,gd,Dc,$a,mf,Kf,rc,kd,Fc,_a,gf,Ff,qc,Bp,Bp,Bp,Bp,Bp];var Pa=[Ar,ir,Hi,Yn];var Qa=[yr,Rj,_j,ur,nr,Nm,rm,dl,Wk,ri,Np,Li,Dp,Lh,cp,km,Xl,om,Zl,Zl,Zl,Zl,Lk,yk,bl,Tk,il,Xk,ur,nr,Zl,Vi,mm,Zl,Zl,Dk,uk,_k,Rk,el,Vk,ur,nr,Zl,Ri,_l,km,Xl,ur,nr,nr,nr,wj,Pl,Wl,El,Pm,Bm,zn,mn,ur,nr,nr,nr,tj,Dl,Ql,wl,Mm,sm,pn,_m,ur,nr,zk,rk,_j,bk,ek,ek,vm,jm,Oc,Vl,$e,lo,xk,qk,vn,Tm,Yl,Ck,tk,Cn,cn,am,nm,em,We,_n,ij,lq,lq,$o,Un,ur,nr,lq,lq,Zo,lq,Zo,Pk,Hk,mb,Kg,sq,ur,tq,ur,ur,tq,Qp,Bq,Bq,Hn,yr,yr];var Ra=[kr,sk,gg,Ak,Ic,kr,kr,kr];var Sa=[_q,Ge,fj,Zb,ec,Gd,Zb,ec,Wg,yj,Jg,Xf,_q,_q,_q,_q];var Ta=[Kq,Tg,ng,pm,hl,Kq,Kq,Kq];var Ua=[oq,oj,ch,oq];var Va=[Sp,Ul,Uk,Sp];return{___cxa_can_catch:tm,___cxa_is_pointer_type:Po,___divdi3:Jk,___muldi3:En,___udivdi3:Ip,___uremdi3:qn,_bitshift64Lshr:jo,_bitshift64Shl:eo,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Cp,_emscripten_bind_DracoInt8Array_GetValue_1:ip,_emscripten_bind_DracoInt8Array___destroy___0:ln,_emscripten_bind_DracoInt8Array_size_0:Yp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:zo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:Pn,_emscripten_bind_Encoder_Encoder_0:iq,_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0:Op,_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0:Lp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:gn,_emscripten_bind_Encoder_SetAttributeQuantization_2:uo,_emscripten_bind_Encoder_SetEncodingMethod_1:Ap,_emscripten_bind_Encoder_SetSpeedOptions_2:dp,_emscripten_bind_Encoder_SetTrackEncodedProperties_1:lp,_emscripten_bind_Encoder___destroy___0:Qj,_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2:Go,_emscripten_bind_ExpertEncoder_ExpertEncoder_1:So,_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0:wp,_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0:tp,_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5:yn,_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2:Ko,_emscripten_bind_ExpertEncoder_SetEncodingMethod_1:pp,_emscripten_bind_ExpertEncoder_SetSpeedOptions_2:Xo,_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1:_o,_emscripten_bind_ExpertEncoder___destroy___0:Dn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:op,_emscripten_bind_GeometryAttribute___destroy___0:$p,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:yo,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:xn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:xn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:on,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:wn,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:wn,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:sn,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Do,_emscripten_bind_MeshBuilder_AddMetadata_2:Co,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:jn,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:hn,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:nn,_emscripten_bind_MeshBuilder_MeshBuilder_0:aq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_MeshBuilder___destroy___0:$p,_emscripten_bind_Mesh_Mesh_0:kq,_emscripten_bind_Mesh___destroy___0:Uo,_emscripten_bind_Mesh_num_attributes_0:Gp,_emscripten_bind_Mesh_num_faces_0:yp,_emscripten_bind_Mesh_num_points_0:Iq,_emscripten_bind_Mesh_set_num_points_1:gq,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:mo,_emscripten_bind_MetadataBuilder_AddIntEntry_3:qo,_emscripten_bind_MetadataBuilder_AddStringEntry_3:ko,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:aq,_emscripten_bind_MetadataBuilder___destroy___0:$p,_emscripten_bind_Metadata_Metadata_0:bm,_emscripten_bind_Metadata___destroy___0:qp,_emscripten_bind_PointAttribute_PointAttribute_0:vp,_emscripten_bind_PointAttribute___destroy___0:Gj,_emscripten_bind_PointAttribute_attribute_type_0:qq,_emscripten_bind_PointAttribute_byte_offset_0:wq,_emscripten_bind_PointAttribute_byte_stride_0:Dq,_emscripten_bind_PointAttribute_data_type_0:zq,_emscripten_bind_PointAttribute_normalized_0:mq,_emscripten_bind_PointAttribute_num_components_0:uq,_emscripten_bind_PointAttribute_size_0:Iq,_emscripten_bind_PointAttribute_unique_id_0:yq,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:xn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:on,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:wn,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:sn,_emscripten_bind_PointCloudBuilder_AddMetadata_2:Co,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:jn,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:hn,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:nn,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:Qq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_PointCloudBuilder___destroy___0:$p,_emscripten_bind_PointCloud_PointCloud_0:Mp,_emscripten_bind_PointCloud___destroy___0:Uo,_emscripten_bind_PointCloud_num_attributes_0:Gp,_emscripten_bind_PointCloud_num_points_0:Iq,_emscripten_bind_VoidPtr___destroy___0:$p,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ar,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:$q,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:cr,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:dr,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:br,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ar,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:cr,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:$q,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Zq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:cr,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:$q,_emscripten_get_global_libc:rr,_emscripten_replace_memory:Ka,_free:tc,_i64Add:go,_i64Subtract:io,_llvm_bswap_i32:Tp,_malloc:Wa,_memcpy:eh,_memmove:qm,_memset:pj,_sbrk:Jl,dynCall_ii:xq,dynCall_iii:Rp,dynCall_iiii:hp,dynCall_iiiiiii:Tn,dynCall_v:hr,dynCall_vi:Mq,dynCall_vii:hq,dynCall_viii:up,dynCall_viiii:Vo,dynCall_viiiii:Eo,dynCall_viiiiii:$n,establishStackSpace:Gq,getTempRet0:wr,runPostSets:fo,setTempRet0:qr,setThrew:dq,stackAlloc:xp,stackRestore:or,stackSave:xr}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=Module["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"]=asm["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"]=asm["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"];var _emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"]=asm["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var _emscripten_bind_Encoder_SetTrackEncodedProperties_1=Module["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"]=asm["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddFloatAttribute_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"];var _emscripten_bind_MeshBuilder_AddInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var _emscripten_bind_MeshBuilder_AddMetadata_2=Module["_emscripten_bind_MeshBuilder_AddMetadata_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadata_2"];var _emscripten_bind_MeshBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=Module["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddMetadata_2=Module["_emscripten_bind_PointCloudBuilder_AddMetadata_2"]=asm["_emscripten_bind_PointCloudBuilder_AddMetadata_2"];var _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=Module["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"]=asm["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"];var _emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointCloudBuilder___destroy___0=Module["_emscripten_bind_PointCloudBuilder___destroy___0"]=asm["_emscripten_bind_PointCloudBuilder___destroy___0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;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"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+13472;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,PA4AAIQOAAAYAAAAAAAAABQOAACrDgAAPA4AAMgOAAAYAAAAAAAAADwOAADxDgAAQAAAAAAAAAAUDgAADQ8AABQOAAAyDwAAPA4AAFcPAAAwAAAAAAAAADwOAAB4GQAASAAAAAAAAAA8DgAAhw8AAIAAAAAAAAAAPA4AAOAPAACQAAAAAAAAADwOAAA0EAAAoAAAAAAAAAA8DgAAaBAAALAAAAAAAAAAFA4AAJMQAAA8DgAAtxAAAMgAAAAAAAAAFA4AAFURAAA8DgAA8xEAAOAAAAAAAAAAPA4AAIsSAACAAAAAAAAAADwOAAAUEwAA4AAAAAAAAAA8DgAArhMAAOAAAAAAAAAAPA4AAFQUAADgAAAAAAAAADwOAADqFAAAMAEAAAAAAAAUDgAAlRUAADwOAABAFgAASAEAAAAAAAA8DgAA5RYAAIAAAAAAAAAAPA4AAHsXAABIAQAAAAAAADwOAAAiGAAASAEAAAAAAAA8DgAA1RgAAEgBAAAAAAAAPA4AAC8gAABgAAAAAAAAADwOAACkGQAAqAEAAAAAAAA8DgAAFRoAAJAAAAAAAAAAPA4AAIEaAADIAQAAAAAAABQOAAA3GwAAPA4AAO0bAADgAQAAAAAAADwOAACdHAAAqAEAAAAAAAA8DgAAPh0AAAACAAAAAAAAFA4AAAEeAAA8DgAAxB4AABgCAAAAAAAAPA4AAIEfAACoAQAAAAAAADwOAABaIAAAYAAAAAAAAAA8DgAA8SAAAOgCAAAAAAAAPA4AAAchAAA4AgAAAAAAADwOAAD1IwAAsAIAAAAAAAAUDgAAKCEAADwOAABwIQAAgAIAAAAAAAAUDgAAOiIAABQOAABUIgAAPA4AAI8iAACAAgAAAAAAADwOAAA4IwAAgAIAAAAAAAAUDgAAQSQAADwOAABvJAAAsAIAAAAAAAA8DgAA3CQAADgCAAAAAAAAPA4AAMIkAACAAgAAAAAAABQOAAD8JAAAPA4AAC8mAAAAAwAAAAAAABQOAACBJgAAFA4AAKQwAAA8DgAABDEAACADAAAAAAAAPA4AALEwAAAwAwAAAAAAABQOAADSMAAAPA4AAN8wAAAQAwAAAAAAADwOAADmMQAACAMAAAAAAAA8DgAA9jEAAEgDAAAAAAAAPA4AACsyAAAgAwAAAAAAADwOAAAHMgAAaAMAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAgAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAAAAMAAAAAUAAAAGAAAAAQAAAAMAAAAEAAAABQAAAAMAAAAEAAAABgAAAAEAAAAHAAAABQAAAAAAAABIAAAABwAAAAgAAAACAAAACAAAAAMAAAAEAAAACQAAAAoAAAAFAAAA/////wAAAABQAAAACQAAAAoAAAABAAAACwAAAAwAAAAFAAAAAwAAAAQAAAANAAAADgAAAA8AAAAGAAAAAQAAAAAAAABgAAAACwAAAAwAAAAGAAAACAAAAAMAAAAEAAAAEAAAAAoAAAAHAAAACAAAAAEAAAAHAAAAEQAAAAAAAACAAAAADQAAAA4AAAABAAAACAAAAAEAAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAABAAAAAAAAAHAAAAANAAAADwAAAAwAAAAIAAAADQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFAAAAAEAAAAAAAAAEAEAAA0AAAAQAAAADgAAAAgAAAAPAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAAAgAAAAAAAAAAAQAAEQAAABIAAAAQAAAACAAAABEAAAAJAAAAEgAAABMAAAAKAAAACwAAABUAAAADAAAAAAAAAPAAAAATAAAAFAAAABIAAAAIAAAAEwAAABQAAAAWAAAAFwAAAAoAAAALAAAAGAAAAAQAAAAAAAAA0AAAABUAAAAWAAAAFQAAAAgAAAAWAAAAFwAAABkAAAAaAAAACgAAAAsAAAAbAAAABQAAAAAAAAC4AAAAFwAAABgAAAAcAAAAGAAAAAIAAAAAAAAAeAEAAA0AAAAZAAAAGQAAAAgAAAAaAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAABgAAAAAAAABoAQAAGgAAABsAAAAbAAAACAAAABwAAAAJAAAAEgAAABMAAAAKAAAACwAAAB0AAAAHAAAAAAAAAFgBAAAcAAAAHQAAAB0AAAAIAAAAHgAAAB8AAAAeAAAAHwAAAAoAAAALAAAAIAAAAAgAAAAAAAAAOAEAAB4AAAAfAAAAIAAAAAgAAAAhAAAAIgAAACEAAAAiAAAACgAAAAsAAAAjAAAACQAAAAAAAAAgAQAAIAAAACEAAAAkAAAAIwAAAAMAAAAAAAAAiAEAAAsAAAAiAAAACQAAAAgAAAADAAAACgAAABAAAAAKAAAABwAAAAsAAAACAAAAJAAAACUAAAAAAAAAmAEAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACYAAAAnAAAAKQAAACoAAAAoAAAACgAAAAAAAAAIAgAAJQAAACYAAAArAAAAJgAAACwAAAAtAAAAKQAAACoAAAApAAAAKgAAACsAAAALAAAAAAAAAPABAAAnAAAAKAAAACwAAAAuAAAABAAAAAAAAADQAQAAKQAAACoAAAAvAAAAJgAAADAAAAAxAAAALQAAAC4AAAApAAAAKgAAAC8AAAAMAAAAAAAAALgBAAArAAAALAAAADAAAAAyAAAABQAAAAAAAAAoAgAALQAAAC4AAAAMAAAACAAAAAMAAAANAAAAEAAAAAoAAAAHAAAADgAAAAEAAAAHAAAAMQAAADMAAAAyAAAAAAAAADgCAAAvAAAAMAAAADQAAAA1AAAAAQAAADYAAAA3AAAAOAAAADkAAAA6AAAAMwAAADQAAAABAAAAAAAAAEgCAAAxAAAAMgAAADQAAAA7AAAANQAAADYAAAA3AAAAOAAAADwAAAA9AAAANgAAADcAAAA+AAAAAAAAAFgCAAAzAAAANAAAADgAAAA5AAAAOgAAADsAAAA/AAAAQAAAAEEAAABCAAAA/////wAAAABwAgAANQAAADYAAAA8AAAAQwAAAAAAAABoAgAANwAAADgAAAA5AAAA/////wAAAACQAgAAOgAAADsAAAA9AAAARAAAAAAAAACIAgAAPAAAAD0AAAA+AAAAAAAAAKACAAA/AAAAQAAAAD4AAABFAAAAAAAAALgCAABBAAAAQgAAAD8AAABAAAAAQQAAAEIAAABGAAAARwAAAEgAAABJAAAAAAAAAAEAAAADAAAABQAAAAcAAAAAAAAAyAIAAC8AAABDAAAANAAAADUAAABDAAAANgAAADcAAAA4AAAAOQAAADoAAAAzAAAANAAAAEoAAAAAAAAA2AIAAEQAAABFAAAARAAAAEsAAAAAAAAA6AIAAC8AAABGAAAATAAAADUAAAABAAAATQAAADcAAAA4AAAAOQAAAP//////////AAAAAPACAABHAAAASAAAAAYAAAADAAAA/////wAAAAAAAwAASQAAAEoAAAAHAAAABAAAAJwKAAAFAAAAAAAAAAAAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJg0AAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAAAAAABADAABLAAAATAAAAE0AAABOAAAAEgAAAAEAAAABAAAAAwAAAAAAAAA4AwAASwAAAE8AAABNAAAATgAAABIAAAACAAAAAgAAAAQAAAAAAAAASAMAAFAAAABRAAAATwAAAAAAAABYAwAAUAAAAFIAAABPAAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRGVjb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVEZWNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ASW5wdXQgaXMgbm90IGEgbWVzaC4Ac2tpcF9hdHRyaWJ1dGVfdHJhbnNmb3JtAE41ZHJhY28xMU1lc2hEZWNvZGVyRQBONWRyYWNvMjJNZXNoRWRnZUJyZWFrZXJEZWNvZGVyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzE1UG9pbnRzU2VxdWVuY2VyRQBONWRyYWNvMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjVQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZURlY29kZXJFRUUATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWREZWNvZGVyRQBGYWlsZWQgdG8gcGFyc2UgRHJhY28gaGVhZGVyLgBEUkFDTwBOb3QgYSBEcmFjbyBmaWxlLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBVc2luZyBpbmNvbXBhdGlibGUgZGVjb2RlciBmb3IgdGhlIGlucHV0IGdlb21ldHJ5LgBVbmtub3duIG1ham9yIHZlcnNpb24uAFVua25vd24gbWlub3IgdmVyc2lvbi4ARmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIGRlY29kZXIuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBONWRyYWNvNE1lc2hFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATjVkcmFjbzEwUG9pbnRDbG91ZEUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAlZAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function 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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+13472;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,QA4AAIgOAAAYAAAAAAAAABgOAACvDgAAQA4AAMwOAAAYAAAAAAAAAEAOAAD1DgAAQAAAAAAAAAAYDgAAEQ8AABgOAAA2DwAAQA4AAFsPAAAwAAAAAAAAAEAOAAB8GQAASAAAAAAAAABADgAAiw8AAIAAAAAAAAAAQA4AAOQPAACQAAAAAAAAAEAOAAA4EAAAoAAAAAAAAABADgAAbBAAALAAAAAAAAAAGA4AAJcQAABADgAAuxAAAMgAAAAAAAAAGA4AAFkRAABADgAA9xEAAOAAAAAAAAAAQA4AAI8SAACAAAAAAAAAAEAOAAAYEwAA4AAAAAAAAABADgAAshMAAOAAAAAAAAAAQA4AAFgUAADgAAAAAAAAAEAOAADuFAAAMAEAAAAAAAAYDgAAmRUAAEAOAABEFgAASAEAAAAAAABADgAA6RYAAIAAAAAAAAAAQA4AAH8XAABIAQAAAAAAAEAOAAAmGAAASAEAAAAAAABADgAA2RgAAEgBAAAAAAAAQA4AADMgAABgAAAAAAAAAEAOAACoGQAAqAEAAAAAAABADgAAGRoAAJAAAAAAAAAAQA4AAIUaAADIAQAAAAAAABgOAAA7GwAAQA4AAPEbAADgAQAAAAAAAEAOAAChHAAAqAEAAAAAAABADgAAQh0AAAACAAAAAAAAGA4AAAUeAABADgAAyB4AABgCAAAAAAAAQA4AAIUfAACoAQAAAAAAAEAOAABeIAAAYAAAAAAAAABADgAA9SAAAOgCAAAAAAAAQA4AAAshAAA4AgAAAAAAAEAOAAD5IwAAsAIAAAAAAAAYDgAALCEAAEAOAAB0IQAAgAIAAAAAAAAYDgAAPiIAABgOAABYIgAAQA4AAJMiAACAAgAAAAAAAEAOAAA8IwAAgAIAAAAAAAAYDgAARSQAAEAOAABzJAAAsAIAAAAAAABADgAA4CQAADgCAAAAAAAAQA4AAMYkAACAAgAAAAAAABgOAAAAJQAAQA4AADMmAAAAAwAAAAAAABgOAACFJgAAGA4AAKgwAABADgAACDEAACADAAAAAAAAQA4AALUwAAAwAwAAAAAAABgOAADWMAAAQA4AAOMwAAAQAwAAAAAAAEAOAADqMQAACAMAAAAAAABADgAA+jEAAEgDAAAAAAAAQA4AAC8yAAAgAwAAAAAAAEAOAAALMgAAaAMAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAgAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAAAAMAAAAAUAAAAGAAAAAQAAAAMAAAAEAAAABQAAAAMAAAAEAAAABgAAAAEAAAAHAAAABQAAAAAAAABIAAAABwAAAAgAAAACAAAACAAAAAMAAAAEAAAACQAAAAoAAAAFAAAA/////wAAAABQAAAACQAAAAoAAAABAAAACwAAAAwAAAAFAAAAAwAAAAQAAAANAAAADgAAAA8AAAAGAAAAAQAAAAAAAABgAAAACwAAAAwAAAAGAAAACAAAAAMAAAAEAAAAEAAAAAoAAAAHAAAACAAAAAEAAAAHAAAAEQAAAAAAAACAAAAADQAAAA4AAAABAAAACAAAAAEAAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAABAAAAAAAAAHAAAAANAAAADwAAAAwAAAAIAAAADQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFAAAAAEAAAAAAAAAEAEAAA0AAAAQAAAADgAAAAgAAAAPAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAAAgAAAAAAAAAAAQAAEQAAABIAAAAQAAAACAAAABEAAAAJAAAAEgAAABMAAAAKAAAACwAAABUAAAADAAAAAAAAAPAAAAATAAAAFAAAABIAAAAIAAAAEwAAABQAAAAWAAAAFwAAAAoAAAALAAAAGAAAAAQAAAAAAAAA0AAAABUAAAAWAAAAFQAAAAgAAAAWAAAAFwAAABkAAAAaAAAACgAAAAsAAAAbAAAABQAAAAAAAAC4AAAAFwAAABgAAAAcAAAAGAAAAAIAAAAAAAAAeAEAAA0AAAAZAAAAGQAAAAgAAAAaAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAABgAAAAAAAABoAQAAGgAAABsAAAAbAAAACAAAABwAAAAJAAAAEgAAABMAAAAKAAAACwAAAB0AAAAHAAAAAAAAAFgBAAAcAAAAHQAAAB0AAAAIAAAAHgAAAB8AAAAeAAAAHwAAAAoAAAALAAAAIAAAAAgAAAAAAAAAOAEAAB4AAAAfAAAAIAAAAAgAAAAhAAAAIgAAACEAAAAiAAAACgAAAAsAAAAjAAAACQAAAAAAAAAgAQAAIAAAACEAAAAkAAAAIwAAAAMAAAAAAAAAiAEAAAsAAAAiAAAACQAAAAgAAAADAAAACgAAABAAAAAKAAAABwAAAAsAAAACAAAAJAAAACUAAAAAAAAAmAEAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACYAAAAnAAAAKQAAACoAAAAoAAAACgAAAAAAAAAIAgAAJQAAACYAAAArAAAAJgAAACwAAAAtAAAAKQAAACoAAAApAAAAKgAAACsAAAALAAAAAAAAAPABAAAnAAAAKAAAACwAAAAuAAAABAAAAAAAAADQAQAAKQAAACoAAAAvAAAAJgAAADAAAAAxAAAALQAAAC4AAAApAAAAKgAAAC8AAAAMAAAAAAAAALgBAAArAAAALAAAADAAAAAyAAAABQAAAAAAAAAoAgAALQAAAC4AAAAMAAAACAAAAAMAAAANAAAAEAAAAAoAAAAHAAAADgAAAAEAAAAHAAAAMQAAADMAAAAyAAAAAAAAADgCAAAvAAAAMAAAADQAAAA1AAAAAQAAADYAAAA3AAAAOAAAADkAAAA6AAAAMwAAADQAAAABAAAAAAAAAEgCAAAxAAAAMgAAADQAAAA7AAAANQAAADYAAAA3AAAAOAAAADwAAAA9AAAANgAAADcAAAA+AAAAAAAAAFgCAAAzAAAANAAAADgAAAA5AAAAOgAAADsAAAA/AAAAQAAAAEEAAABCAAAA/////wAAAABwAgAANQAAADYAAAA8AAAAQwAAAAAAAABoAgAANwAAADgAAAA5AAAA/////wAAAACQAgAAOgAAADsAAAA9AAAARAAAAAAAAACIAgAAPAAAAD0AAAA+AAAAAAAAAKACAAA/AAAAQAAAAD4AAABFAAAAAAAAALgCAABBAAAAQgAAAD8AAABAAAAAQQAAAEIAAABGAAAARwAAAEgAAABJAAAAAAAAAAEAAAADAAAABQAAAAcAAAAAAAAAyAIAAC8AAABDAAAANAAAADUAAABDAAAANgAAADcAAAA4AAAAOQAAADoAAAAzAAAANAAAAEoAAAAAAAAA2AIAAEQAAABFAAAARAAAAEsAAAAAAAAA6AIAAC8AAABGAAAATAAAADUAAAABAAAATQAAADcAAAA4AAAAOQAAAP//////////AAAAAPACAABHAAAASAAAAAYAAAADAAAA/////wAAAAAAAwAASQAAAEoAAAAHAAAABAAAAJwKAAAFAAAAAAAAAAAAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJw0AAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAnzAAAAAAAAAQAwAASwAAAEwAAABNAAAATgAAABIAAAABAAAAAQAAAAMAAAAAAAAAOAMAAEsAAABPAAAATQAAAE4AAAASAAAAAgAAAAIAAAAEAAAAAAAAAEgDAABQAAAAUQAAAE8AAAAAAAAAWAMAAFAAAABSAAAATwAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAFVuc3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAElucHV0IGlzIG5vdCBhIG1lc2guAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxEZWNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUARmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ARFJBQ08ATm90IGEgRHJhY28gZmlsZS4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4AVW5rbm93biBtYWpvciB2ZXJzaW9uLgBVbmtub3duIG1pbm9yIHZlcnNpb24uAEZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBkZWNvZGVyLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ATjVkcmFjbzRNZXNoRQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAE41ZHJhY28xMFBvaW50Q2xvdWRFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOADAxMjM0NTY3ODlBQkNERUYuAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAJWQAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=Runtime.staticAlloc(4);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_ii;var ga=env.invoke_iii;var ha=env.invoke_iiii;var ia=env.invoke_iiiiiii;var ja=env.invoke_v;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viii;var na=env.invoke_viiii;var oa=env.invoke_viiiii;var pa=env.invoke_viiiiii;var qa=env.__ZSt18uncaught_exceptionv;var ra=env.___cxa_allocate_exception;var sa=env.___cxa_begin_catch;var ta=env.___cxa_find_matching_catch;var ua=env.___cxa_pure_virtual;var va=env.___cxa_throw;var wa=env.___gxx_personality_v0;var xa=env.___resumeException;var ya=env.___setErrNo;var za=env.___syscall140;var Aa=env.___syscall146;var Ba=env.___syscall6;var Ca=env._abort;var Da=env._emscripten_memcpy_big;var Ea=env._pthread_getspecific;var Fa=env._pthread_key_create;var Ga=env._pthread_once;var Ha=env._pthread_setspecific;var Ia=$(0);const Ja=$(0);function Ka(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function Ib(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;xm(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];yb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Tj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Tj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=ij(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Wg(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=ij(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Wg(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Yg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)xm(z);return 0}function Jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;xm(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];wb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Tj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Tj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=ij(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Wg(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=ij(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Wg(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Yg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)xm(z);return 0}function Kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Af(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))Af(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Af(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Af(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function Lb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;xm(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];yb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Tj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Tj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=ij(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Wg(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=ij(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Wg(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Yg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;dc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)xm(y);return 0}function Mb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;xm(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];wb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Tj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Tj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=ij(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Wg(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=ij(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Wg(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Yg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;dc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)xm(y);return 0}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=u;u=u+16|0;e=d+12|0;g=d;h=d+8|0;i=d+4|0;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=0;q=f[g>>2]|0;r=k;while(1){s=(f[n>>2]|0)+(q>>>5<<2)|0;t=1<<(q&31);v=f[s>>2]|0;if(t&v|0)break;f[s>>2]=v|t;t=f[l>>2]|0;if((t|0)==(f[o>>2]|0))Af(j,g);else{f[t>>2]=f[g>>2];f[l>>2]=t+4}t=p+1|0;if((p|0)>0){v=(r|0)==-1;do if(!(t&1))if(!v)if(!((r>>>0)%3|0)){w=r+2|0;break}else{w=r+-1|0;break}else w=-1;else{s=r+1|0;if(v)w=-1;else w=((s>>>0)%3|0|0)==0?r+-2|0:s}while(0);f[c>>2]=w;x=w}else x=r;f[i>>2]=x;f[e>>2]=f[i>>2];v=Qd(a,e)|0;f[c>>2]=v;if((v|0)==-1)break;s=(v>>>0)/3|0;f[g>>2]=s;p=t;q=s;r=v}r=(k|0)==-1;do if(!r)if(!((k>>>0)%3|0)){y=k+2|0;break}else{y=k+-1|0;break}else y=-1;while(0);f[h>>2]=y;f[e>>2]=f[h>>2];do if((Qd(a,e)|0)==-1)z=k;else{h=k+1|0;if(!r){y=((h>>>0)%3|0|0)==0?k+-2|0:h;f[c>>2]=y;h=f[m>>2]|0;q=y+1|0;if(((y|0)!=-1?(p=((q>>>0)%3|0|0)==0?y+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h+12>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0){h=((p>>>0)%3|0|0)==0?q+-2|0:p;f[c>>2]=h;if((h|0)==-1){z=k;break}else{A=h;B=0;C=k}while(1){h=(A>>>0)/3|0;f[g>>2]=h;p=(f[n>>2]|0)+(h>>>5<<2)|0;q=1<<(h&31);h=f[p>>2]|0;if(q&h|0){D=B;E=C;break}f[p>>2]=h|q;q=f[l>>2]|0;if((q|0)==(f[o>>2]|0))Af(j,g);else{f[q>>2]=f[g>>2];f[l>>2]=q+4}q=B+1|0;if((B|0)>0){h=(A|0)==-1;do if(!(q&1))if(!h)if(!((A>>>0)%3|0)){F=A+2|0;G=A;break}else{F=A+-1|0;G=A;break}else{F=-1;G=A}else{p=A+1|0;if(h){F=-1;G=C}else{F=((p>>>0)%3|0|0)==0?A+-2|0:p;G=C}}while(0);f[c>>2]=F;H=G;I=F}else{H=C;I=A}f[i>>2]=I;f[e>>2]=f[i>>2];A=Qd(a,e)|0;f[c>>2]=A;if((A|0)==-1){D=q;E=H;break}else{B=q;C=H}}if(!(D&1)){z=E;break}t=f[l>>2]|0;h=f[t+-4>>2]|0;p=(f[n>>2]|0)+(h>>>5<<2)|0;f[p>>2]=f[p>>2]&~(1<<(h&31));f[l>>2]=t+-4;z=E;break}else J=k}else{f[c>>2]=-1;J=-1}f[c>>2]=-1;z=J}while(0);f[a+44+(b<<2)>>2]=z;z=f[l>>2]|0;l=f[j>>2]|0;j=l;if((z|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=z-l>>2;l=0;do{z=f[j+(l<<2)>>2]|0;a=b+(z>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(z&31));l=l+1|0}while(l>>>0>>0);u=d;return}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Af(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))Af(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Af(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Af(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;c=u;u=u+32|0;d=c+16|0;e=c;fg(d,b)|0;g=f[d>>2]|0;if(g){i=a+60|0;Gc(i,g,0);Vk(e);if(ud(e,b)|0){if(f[d>>2]|0){g=0;do{j=Yg(e)|0;k=(f[i>>2]|0)+(g>>>5<<2)|0;l=1<<(g&31);if(j)m=f[k>>2]|l;else m=f[k>>2]&~l;f[k>>2]=m;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}n=10}}else n=10;do if((n|0)==10){fg(d,b)|0;g=f[d>>2]|0;if(g|0){m=a+72|0;Gc(m,g,0);Vk(e);if(!(ud(e,b)|0))break;if(f[d>>2]|0){g=0;do{i=Yg(e)|0;k=(f[m>>2]|0)+(g>>>5<<2)|0;l=1<<(g&31);if(i)o=f[k>>2]|l;else o=f[k>>2]&~l;f[k>>2]=o;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}}fg(d,b)|0;g=f[d>>2]|0;if(g|0){m=a+84|0;Gc(m,g,0);Vk(e);if(!(ud(e,b)|0))break;if(f[d>>2]|0){g=0;do{k=Yg(e)|0;l=(f[m>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);if(k)p=f[l>>2]|i;else p=f[l>>2]&~i;f[l>>2]=p;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}}fg(d,b)|0;g=f[d>>2]|0;if(g|0){m=a+96|0;Gc(m,g,0);Vk(e);if(!(ud(e,b)|0))break;if(f[d>>2]|0){g=0;do{l=Yg(e)|0;i=(f[m>>2]|0)+(g>>>5<<2)|0;k=1<<(g&31);if(l)q=f[i>>2]|k;else q=f[i>>2]&~k;f[i>>2]=q;g=g+1|0}while(g>>>0<(f[d>>2]|0)>>>0)}}g=b+8|0;m=f[g>>2]|0;i=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;j=f[k+4>>2]|0;k=Tj(l|0,j|0,4,0)|0;r=I;if((i|0)<(r|0)|(i|0)==(r|0)&m>>>0>>0){s=0;u=c;return s|0}t=f[b>>2]|0;v=t+l|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=g;f[v>>2]=k;f[v+4>>2]=r;r=Tj(l|0,j|0,8,0)|0;j=I;if((i|0)<(j|0)|(i|0)==(j|0)&m>>>0>>0){s=0;u=c;return s|0}m=t+k|0;k=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=g;f[m>>2]=r;f[m+4>>2]=j;if((w|0)>(k|0)){s=0;u=c;return s|0}f[a+12>>2]=w;f[a+16>>2]=k;j=Vj(k|0,((k|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;w=I;if(!(w>>>0<0|(w|0)==0&j>>>0<2147483647)){s=0;u=c;return s|0}w=j+1|0;f[a+20>>2]=w;j=(w|0)/2|0;k=a+24|0;f[k>>2]=j;f[a+28>>2]=0-j;if(w&1|0){s=1;u=c;return s|0}f[k>>2]=j+-1;s=1;u=c;return s|0}while(0);s=0;u=c;return s|0}function Qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+80|0;e=d+76|0;g=d;h=d+72|0;i=d+64|0;j=d+68|0;if(!(fg(e,c)|0)){k=0;u=d;return k|0}l=f[e>>2]|0;if(!l){k=0;u=d;return k|0}m=a+4|0;n=a+8|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=p;p=o;if(l>>>0>q>>>0){hf(m,l-q|0);if(!(f[e>>2]|0)){k=1;u=d;return k|0}}else if(l>>>0>>0?(q=r+(l<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2);q=f[a+32>>2]|0;p=c+8|0;n=c+16|0;l=g+60|0;r=q+8|0;o=a+16|0;s=a+20|0;a=0;while(1){t=p;v=f[t>>2]|0;w=f[t+4>>2]|0;t=n;x=f[t>>2]|0;y=f[t+4>>2]|0;if(!((w|0)>(y|0)|(w|0)==(y|0)&v>>>0>x>>>0)){k=0;z=40;break}t=f[c>>2]|0;A=b[t+x>>0]|0;B=Tj(x|0,y|0,1,0)|0;C=I;D=n;f[D>>2]=B;f[D+4>>2]=C;if(!((w|0)>(C|0)|(w|0)==(C|0)&v>>>0>B>>>0)){k=0;z=40;break}C=b[t+B>>0]|0;B=Tj(x|0,y|0,2,0)|0;D=I;E=n;f[E>>2]=B;f[E+4>>2]=D;if(!((w|0)>(D|0)|(w|0)==(D|0)&v>>>0>B>>>0)){k=0;z=40;break}D=b[t+B>>0]|0;B=Tj(x|0,y|0,3,0)|0;E=I;F=n;f[F>>2]=B;f[F+4>>2]=E;if(!((w|0)>(E|0)|(w|0)==(E|0)&v>>>0>B>>>0)){k=0;z=40;break}v=b[t+B>>0]|0;B=Tj(x|0,y|0,4,0)|0;y=n;f[y>>2]=B;f[y+4>>2]=I;y=C&255;if((C+-1&255)>10){k=0;z=40;break}Sh(g);C=X(ci(y)|0,D&255)|0;lg(g,A&255,0,D,y,v<<24>>24!=0,C,((C|0)<0)<<31>>31,0,0);fg(h,c)|0;f[l>>2]=f[h>>2];C=dj(96)|0;Gh(C,g);f[i>>2]=C;C=oe(q,i)|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){y=v+88|0;D=f[y>>2]|0;f[y>>2]=0;if(D|0){y=f[D+8>>2]|0;if(y|0){A=D+12|0;if((f[A>>2]|0)!=(y|0))f[A>>2]=y;fn(y)}fn(D)}D=f[v+68>>2]|0;if(D|0){y=v+72|0;A=f[y>>2]|0;if((A|0)!=(D|0))f[y>>2]=A+(~((A+-4-D|0)>>>2)<<2);fn(D)}D=v+64|0;A=f[D>>2]|0;f[D>>2]=0;if(A|0){D=f[A>>2]|0;if(D|0){y=A+4|0;if((f[y>>2]|0)!=(D|0))f[y>>2]=D;fn(D)}fn(A)}fn(v)}f[(f[(f[r>>2]|0)+(C<<2)>>2]|0)+60>>2]=f[h>>2];f[(f[m>>2]|0)+(a<<2)>>2]=C;v=f[s>>2]|0;A=f[o>>2]|0;D=v-A>>2;y=A;if((C|0)<(D|0))G=y;else{A=C+1|0;f[j>>2]=-1;B=v;if(A>>>0<=D>>>0)if(A>>>0>>0?(v=y+(A<<2)|0,(v|0)!=(B|0)):0){f[s>>2]=B+(~((B+-4-v|0)>>>2)<<2);H=y}else H=y;else{Ae(o,A-D|0,j);H=f[o>>2]|0}G=H}f[G+(C<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){k=1;z=40;break}}if((z|0)==40){u=d;return k|0}return 0}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;$d(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Tj(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Tj(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(ci(5)|0)==(w|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Tj(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{ge(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Tj(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=20;break}}v=X(i,w)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Vj(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=0;y=z;z=x;x=B;B=C;while(1){C=Tj(y|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=y;F=z}else{ge(k+(u<<2)|0,(f[d>>2]|0)+y|0,w|0)|0;C=l;A=Tj(f[C>>2]|0,f[C+4>>2]|0,v|0,0)|0;C=I;G=l;f[G>>2]=A;f[G+4>>2]=C;E=A;F=C}C=u+1|0;if((C|0)==(i|0)){D=20;break a}A=j;u=C;y=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0}}}else if(Sf(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Na[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}wi(k,i,k);H=F;J=1}while(0);if((D|0)==21){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Qa[f[(f[J>>2]|0)+44>>2]&15](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)fn(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;$k(e,9789);f[e>>2]=3704;va(e|0,856,80)}e=dj(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)fn(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?mh(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function Tb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;Gb(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)fn(f[g>>2]|0);l=b[j+7>>0]|0;if((Na[f[(f[c>>2]|0)+8>>2]&127](c)|0)!=(l&255|0)){m=dj(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=9577;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=dj(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=9628;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&(l<<24>>24==0?3:2)>>>0>>0){l=dj(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=9651;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}l=((m&255)<<8|r)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Yc(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)fn(f[g>>2]|0)}if(!(Na[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=dj(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=9674;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}if(!(Na[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=dj(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=9708;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}if(Na[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=dj(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=9740;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Tf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}function Ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Jl(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ke(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=dj(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Lc(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;gg(h+4|0,f[k>>2]|0);gg(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Qc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+4194304|0;f[n>>2]=k;o=k>>>0>1073741823;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<4194304){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<4194304){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&1048575;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>20)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Rc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+2097152|0;f[n>>2]=k;o=k>>>0>536870911;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<2097152){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<2097152){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&524287;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>19)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Sc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+1048576|0;f[n>>2]=k;o=k>>>0>268435455;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<1048576){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<1048576){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&262143;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>18)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Tc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+262144|0;f[n>>2]=k;o=k>>>0>67108863;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<262144){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<262144){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&65535;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>16)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Uc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+131072|0;f[n>>2]=k;o=k>>>0>33554431;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<131072){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<131072){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&32767;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>15)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function _b(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(q|0)==(k|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(mh(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((q|0)==(a|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(mh(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Vc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+32768|0;f[n>>2]=k;o=k>>>0>8388607;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<32768){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<32768){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&8191;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>13)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Wc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Hf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+16384|0;f[n>>2]=k;o=k>>>0>4194303;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=0;w=s;x=k;while(1){c:do if(x>>>0<16384){k=w;y=x;while(1){if((k|0)<=0){z=k;A=y;break c}B=k+-1|0;f[o>>2]=B;C=y<<8|(h[p+B>>0]|0);f[n>>2]=C;if(C>>>0<16384){k=B;y=C}else{z=B;A=C;break}}}else{z=w;A=x}while(0);y=A&4095;k=f[(f[r>>2]|0)+(y<<2)>>2]|0;C=f[q>>2]|0;x=(X(f[C+(k<<3)>>2]|0,A>>>12)|0)+y-(f[C+(k<<3)+4>>2]|0)|0;f[n>>2]=x;f[d+(v<<2)>>2]=k;v=v+1|0;if((v|0)==(a|0)){l=1;break a}else w=z}}while(0);l=0;break}l=0}else l=0;while(0);z=f[i+28>>2]|0;if(z|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(z|0))f[a>>2]=d+(~((d+-8-z|0)>>>3)<<3);fn(z)}z=f[i+16>>2]|0;if(z|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(z|0))f[d>>2]=a+(~((a+-4-z|0)>>>2)<<2);fn(z)}z=f[i>>2]|0;if(!z){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(z|0))f[a>>2]=i+(~((i+-4-z|0)>>>2)<<2);fn(z);u=e;return l|0}function bc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(mh(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(mh(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function cc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=mh(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=mh(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=mh(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=Id(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=mh(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=Id(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function dc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;n=((l?j:0-j|0)+(k?h:0-h|0)|0)<=(m|0);if(n){o=h;p=j}else{if(k)if(!l)if((h|0)<1){q=-1;r=-1}else s=6;else{q=1;r=1}else if((j|0)<1){q=-1;r=-1}else s=6;if((s|0)==6){q=(h|0)>0?1:-1;r=(j|0)>0?1:-1}l=X(m,q)|0;k=X(m,r)|0;m=(h<<1)-l|0;f[c>>2]=m;h=(j<<1)-k|0;f[i>>2]=h;if((X(q,r)|0)>-1){r=0-h|0;f[c>>2]=r;t=0-m|0;u=r}else{f[c>>2]=h;t=m;u=h}h=(u+l|0)/2|0;f[c>>2]=h;l=(t+k|0)/2|0;f[i>>2]=l;o=h;p=l}if(!o)v=(p|0)==0;else v=(o|0)<0&(p|0)<1;if(!o)w=(p|0)==0?0:(p|0)>0?3:1;else w=(o|0)>0?(p>>31)+2|0:(p|0)<1?0:3;if(v){x=1;y=o;z=p}else{switch(w|0){case 1:{A=p;B=0-o|0;break}case 2:{A=0-o|0;B=0-p|0;break}case 3:{A=0-p|0;B=o;break}default:{A=o;B=p}}p=c;f[p>>2]=A;f[p+4>>2]=B;x=0;y=A;z=B}B=(f[d>>2]|0)+y|0;f[a>>2]=B;y=(f[d+4>>2]|0)+z|0;z=a+4|0;f[z>>2]=y;d=f[e>>2]|0;if((d|0)>=(B|0))if((B|0)<(0-d|0))C=(f[b+4>>2]|0)+B|0;else C=B;else C=B-(f[b+4>>2]|0)|0;f[a>>2]=C;if((d|0)>=(y|0))if((y|0)<(0-d|0))D=(f[b+4>>2]|0)+y|0;else D=y;else D=y-(f[b+4>>2]|0)|0;f[z>>2]=D;if(x){E=C;F=D}else{switch((4-w|0)%4|0|0){case 1:{G=D;H=0-C|0;break}case 2:{G=0-C|0;H=0-D|0;break}case 3:{G=0-D|0;H=C;break}default:{G=C;H=D}}D=a;f[D>>2]=G;f[D+4>>2]=H;E=G;F=H}if(n){I=E;J=F;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}if((E|0)>-1)if((F|0)<=-1)if((E|0)<1){Q=-1;R=-1}else s=42;else{Q=1;R=1}else if((F|0)<1){Q=-1;R=-1}else s=42;if((s|0)==42){Q=(E|0)>0?1:-1;R=(F|0)>0?1:-1}s=X(d,Q)|0;n=X(d,R)|0;d=(E<<1)-s|0;f[a>>2]=d;E=(F<<1)-n|0;f[z>>2]=E;if((X(Q,R)|0)>-1){R=0-E|0;f[a>>2]=R;S=0-d|0;T=R}else{f[a>>2]=E;S=d;T=E}E=(T+s|0)/2|0;f[a>>2]=E;s=(S+n|0)/2|0;f[z>>2]=s;I=E;J=s;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}function ec(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Wc(i,d)|0?Cd(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}ch(d,0,0)|0;if(!j){j=i+48|0;k=i+44|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=0;w=0;x=f[j>>2]|0;while(1){b:do if(x>>>0<16384){y=f[k>>2]|0;z=x;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[k>>2]=y;C=z<<8|h[B+y>>0];f[j>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=x;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;x=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[j>>2]=x;c:do if(p){if((y|0)>0){D=0;E=w}else{C=(b[q>>0]|0)==0;z=0;B=w;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=0;F=0;H=f[r>>2]|0;while(1){I=B+(H>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(H&7)&1;I=H+1|0;f[r>>2]=I;K=J;L=I}else{K=0;L=H}C=K<>2]=C;D=D+1|0;if((D|0)>=(c|0)){G=H;break}else E=H}}else G=w;while(0);v=v+c|0;if(v>>>0>=a>>>0)break;else w=G}}}else ch(d,0,0)|0;di(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);fn(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);fn(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d);u=g;return l|0}function fc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=yi(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((yi(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Tj(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Vj(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Vj(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function gc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=dj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1572;i=c;f[a>>2]=i;return}case 4:{c=dj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1628;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=dj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1684;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=dj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1740;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1796;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Vk(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=dj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1320;i=c;f[a>>2]=i;return}case 4:{c=dj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1376;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=dj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1432;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=dj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1488;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1544;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Vk(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c;if(!(ud(a+80|0,a)|0)){e=0;u=c;return e|0}if(!(tf(a)|0)){e=0;u=c;return e|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=a+176|0;f[h>>2]=2;g=a+180|0;f[g>>2]=7;i=f[a+152>>2]|0;if((i|0)<0){e=0;u=c;return e|0}j=a+156|0;f[d>>2]=0;k=a+160|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(i>>>0<=n>>>0)if(i>>>0>>0?(l=o+(i<<2)|0,(l|0)!=(m|0)):0){f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2);p=2;q=7}else{p=2;q=7}else{Ae(j,i-n|0,d);p=f[h>>2]|0;q=f[g>>2]|0}g=q-p+1|0;p=a+184|0;q=a+188|0;h=f[q>>2]|0;n=f[p>>2]|0;i=(h-n|0)/12|0;j=n;n=h;if(g>>>0<=i>>>0)if(g>>>0>>0?(l=j+(g*12|0)|0,(l|0)!=(n|0)):0){j=n;while(1){n=j+-12|0;f[q>>2]=n;m=f[n>>2]|0;if(!m)r=n;else{n=j+-8|0;k=f[n>>2]|0;if((k|0)!=(m|0))f[n>>2]=k+(~((k+-4-m|0)>>>2)<<2);fn(m);r=f[q>>2]|0}if((r|0)==(l|0))break;else j=r}s=r}else s=h;else{nd(p,g-i|0);s=f[q>>2]|0}i=a+196|0;g=f[p>>2]|0;h=(s-g|0)/12|0;r=a+200|0;a=f[r>>2]|0;j=f[i>>2]|0;l=a-j>>2;m=j;j=a;if(h>>>0<=l>>>0)if(h>>>0>>0?(a=m+(h<<2)|0,(a|0)!=(j|0)):0){f[r>>2]=j+(~((j+-4-a|0)>>>2)<<2);t=s;v=g}else{t=s;v=g}else{hf(i,h-l|0);t=f[q>>2]|0;v=f[p>>2]|0}if((t|0)==(v|0)){e=1;u=c;return e|0}v=0;do{fg(d,b)|0;t=f[d>>2]|0;if(t|0){l=f[p>>2]|0;h=l+(v*12|0)|0;g=l+(v*12|0)+4|0;s=f[g>>2]|0;a=f[h>>2]|0;j=s-a>>2;r=a;a=s;if(t>>>0<=j>>>0)if(t>>>0>>0?(s=r+(t<<2)|0,(s|0)!=(a|0)):0){f[g>>2]=a+(~((a+-4-s|0)>>>2)<<2);w=l;x=t}else{w=l;x=t}else{hf(h,t-j|0);w=f[p>>2]|0;x=f[d>>2]|0}Sf(x,1,b,f[w+(v*12|0)>>2]|0)|0;f[(f[i>>2]|0)+(v<<2)>>2]=f[d>>2]}v=v+1|0}while(v>>>0<(((f[q>>2]|0)-(f[p>>2]|0)|0)/12|0)>>>0);e=1;u=c;return e|0}function jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)fn(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}d=dj(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)fn(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;fg(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(qc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;fg(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Tj(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;jg(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Lh(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Tj(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}ge(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Tj(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=dj(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(kc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;Rd(c,h,j)|0;uf(j);G=0}else G=1;uf(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)fn(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=dj(88)|0;f[l+4>>2]=0;f[l>>2]=2440;m=l+12|0;f[m>>2]=2420;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=2420;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;le(i+8|0,c,g);Sa[f[(f[i>>2]|0)+8>>2]&127](i);ld(j,i);ld(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;xd(c,g)|0;f[g>>2]=2420;p=f[g+20>>2]|0;if(p|0)fn(p);p=f[g+8>>2]|0;if(p|0)fn(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=2420;k=f[j+20>>2]|0;if(k|0)fn(k);k=f[j+8>>2]|0;if(k|0)fn(k);f[l+8>>2]=f[h>>2];xd(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;Ad(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=2420;q=f[i+20>>2]|0;if(q|0)fn(q);q=f[i+8>>2]|0;if(q|0)fn(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);fn(q)}f[r>>2]=2420;r=f[h+24>>2]|0;if(r|0)fn(r);r=f[h+12>>2]|0;if(!r){u=e;return}fn(r);u=e;return}function mc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{hf(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=cn(l)|0;Xf(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){dn(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=e;k=u;while(1){u=c+(a<<2)|0;l=u+(n<<2)|0;q=b+(a<<2)|0;if((k|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=u+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=k;a=a+e|0;if((a|0)>=(d|0))break;else k=z}dn(h);return 1}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=0;o=f[a+44+(b<<2)>>2]|0;while(1){b=(o|0)==-1;p=b?-1:(o>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(n){if(b)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else Af(k,e);if(!(n&1)){p=o+1|0;if(b){s=-1;break}t=((p>>>0)%3|0|0)==0?o+-2|0:p;v=35;break}if(!b)if(!((o>>>0)%3|0)){t=o+2|0;v=35;break}else{t=o+-1|0;v=35;break}else s=-1}else{if(b)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else Af(k,e);p=o+1|0;if(!b?(q=((p>>>0)%3|0|0)==0?o+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else Af(k,e);if(!b?(q=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else Af(k,e);t=o;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}n=n+1|0;if((n|0)>=(h|0))break;else o=s}u=d;return}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Wf(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=0;B=l;l=b;while(1){if(!(f[(f[m>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){b=A*3|0;f[g>>2]=b;f[e>>2]=f[g>>2];Nb(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=b+1;f[e>>2]=f[g>>2];Nb(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=b+2;f[e>>2]=f[g>>2];Nb(a,2,e);b=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else Af(w,e);E=f[a+44+(b<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else Af(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else Af(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];nc(a,b,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=B;H=l}A=A+1|0;if(A>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{B=G;l=H}}u=d;return i|0}function pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((i|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=2;l=-1;m=e;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1){k=2;l=-1;m=d;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=d;n=28}break}default:{}}if((n|0)==28){n=m+(l<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((i|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(i|0)>(c|0)?c:i;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function qc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Tj(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;jg(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Lh(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Tj(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}ge(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Tj(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(fg(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)xm(h);s=dj(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=x;x=s;do{b[x>>0]=0;x=(f[y>>2]|0)+1|0;f[y>>2]=x;q=q+-1|0}while((q|0)!=0);q=f[g>>2]|0;x=f[a>>2]|0;s=x+8|0;p=f[s>>2]|0;r=f[s+4>>2]|0;s=x+16|0;m=s;t=f[m>>2]|0;w=Tj(t|0,f[m+4>>2]|0,q|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{ge(f[h>>2]|0,(f[x>>2]|0)+t|0,q|0)|0;t=s;x=Tj(f[t>>2]|0,f[t+4>>2]|0,q|0,0)|0;q=s;f[q>>2]=x;f[q+4>>2]=I;Hi(c,e,h);B=1}q=f[h>>2]|0;if(q|0){if((f[y>>2]|0)!=(q|0))f[y>>2]=q;fn(q)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}fn(f[e>>2]|0);u=d;return z|0}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=La,t=La,u=La,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=dj(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;Ue(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function sc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+8|0;e=f[d>>2]|0;switch(f[e+28>>2]|0){case 2:{g=b[e+24>>0]|0;h=g<<24>>24;i=cn((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;a:do if(c|0){if(g<<24>>24>0){l=0;m=0}else{ge(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1)break;else{n=0;o=1}while(1){n=n+h|0;ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+n|0,i|0,h|0)|0;o=o+1|0;if((o|0)==(c|0))break a}}while(1){j=0;p=m;while(1){b[i+j>>0]=f[k+(p<<2)>>2];j=j+1|0;if((j|0)==(h|0))break;else p=p+1|0}ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+m|0,i|0,h|0)|0;l=l+1|0;if((l|0)==(c|0))break;else m=m+h|0}}while(0);dn(i);q=1;return q|0}case 1:{i=b[e+24>>0]|0;h=i<<24>>24;m=cn((h|0)>-1?h:-1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))r=0;else r=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;b:do if(c|0){if(i<<24>>24>0){s=0;t=0}else{ge(f[f[e+64>>2]>>2]|0,m|0,h|0)|0;if((c|0)==1)break;else{u=0;v=1}while(1){u=u+h|0;ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+u|0,m|0,h|0)|0;v=v+1|0;if((v|0)==(c|0))break b}}while(1){l=0;k=t;while(1){b[m+l>>0]=f[r+(k<<2)>>2];l=l+1|0;if((l|0)==(h|0))break;else k=k+1|0}ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+t|0,m|0,h|0)|0;s=s+1|0;if((s|0)==(c|0))break;else t=t+h|0}}while(0);dn(m);q=1;return q|0}case 4:{Ke(a,c);q=1;return q|0}case 3:{Ke(a,c);q=1;return q|0}case 6:{Le(a,c);q=1;return q|0}case 5:{Le(a,c);q=1;return q|0}default:{q=0;return q|0}}return 0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function uc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else hf(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;xm(v)}else{w=0;x=n}while(1){f[i>>2]=f[x+(w<<2)>>2];f[h>>2]=f[i>>2];if(!(vb(j,h,c,w)|0)){q=0;y=24;break}n=X(w,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;x=f[n>>2]|0;if((f[n+4>>2]|0)-x>>2>>>0<=w>>>0){v=n;y=8;break}}if((y|0)==8)xm(v);else if((y|0)==24){u=d;return q|0}return 0}function vc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else hf(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;xm(v)}else{w=0;x=n}while(1){f[i>>2]=f[x+(w<<2)>>2];f[h>>2]=f[i>>2];if(!(ub(j,h,c,w)|0)){q=0;y=24;break}n=X(w,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}w=w+1|0;if((w|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;x=f[n>>2]|0;if((f[n+4>>2]|0)-x>>2>>>0<=w>>>0){v=n;y=8;break}}if((y|0)==8)xm(v);else if((y|0)==24){u=d;return q|0}return 0}function wc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)xm(l);else{q=o<<1;e=dj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Xf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);rd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(mb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(mb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);fn(o)}r=t;u=i;return r|0}function xc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)xm(l);else{q=o<<1;e=dj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Xf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);rd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(nb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(nb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);fn(o)}r=t;u=i;return r|0}function yc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;sd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)xm(k);else{p=n<<2;d=dj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Xf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);sd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(ob(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(ob(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);fn(n)}q=s;u=h;return q|0}function zc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;sd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)xm(k);else{p=n<<2;d=dj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Xf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);sd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(pb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(pb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);fn(n)}q=s;u=h;return q|0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Tj(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=ac(a,c,d)|0;return l|0}case 2:{l=ac(a,c,d)|0;return l|0}case 3:{l=ac(a,c,d)|0;return l|0}case 4:{l=ac(a,c,d)|0;return l|0}case 5:{l=dd(a,c,d)|0;return l|0}case 6:{l=ac(a,c,d)|0;return l|0}case 7:{l=ac(a,c,d)|0;return l|0}case 8:{l=ac(a,c,d)|0;return l|0}case 9:{l=$b(a,c,d)|0;return l|0}case 10:{l=Zb(a,c,d)|0;return l|0}case 11:{l=Yb(a,c,d)|0;return l|0}case 12:{l=Xb(a,c,d)|0;return l|0}case 13:{l=Wb(a,c,d)|0;return l|0}case 14:{l=Vb(a,c,d)|0;return l|0}case 15:{l=Vb(a,c,d)|0;return l|0}case 16:{l=Vb(a,c,d)|0;return l|0}case 17:{l=Vb(a,c,d)|0;return l|0}case 18:{l=Vb(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function Bc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ld(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)xm(k);p=dj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}Ld(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(rb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(rb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;fn(n)}q=s;u=h;return q|0}function Cc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ld(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)xm(k);p=dj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}Ld(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(sb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(sb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;fn(n)}q=s;u=h;return q|0}function Dc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function Ec(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function Fc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d+4|0;i=d;if(!(fg(e,c)|0)){j=-1;u=d;return j|0}k=f[e>>2]|0;if(k|0){l=f[a+8>>2]|0;if(k>>>0>(((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0)>>>0){j=-1;u=d;return j|0}l=g+4|0;k=a+40|0;m=a+44|0;n=a+36|0;o=0;p=0;do{fg(i,c)|0;f[l>>2]=(f[i>>2]|0)+p;fg(i,c)|0;q=f[i>>2]|0;p=f[l>>2]|0;if(p>>>0>>0){r=22;break}f[g>>2]=p-q;q=f[k>>2]|0;if((q|0)==(f[m>>2]|0))ef(n,g);else{f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[k>>2]=(f[k>>2]|0)+12}o=o+1|0}while(o>>>0<(f[e>>2]|0)>>>0);if((r|0)==22){j=-1;u=d;return j|0}ch(c,0,0)|0;r=f[e>>2]|0;if(r|0){e=a+4|0;o=c+36|0;k=c+32|0;g=c+24|0;n=c+28|0;m=a+36|0;a=0;p=0;while(1){l=f[e>>2]|0;i=(b[o>>0]|0)==0;if(((h[l+36>>0]<<8|h[l+37>>0])&65535)<514)if(!i){l=f[k>>2]|0;q=f[g>>2]|0;s=f[n>>2]|0;t=q+(l>>>3)|0;if(t>>>0>>0){v=(h[t>>0]|0)>>>(l&7)&1;t=l+1|0;f[k>>2]=t;w=v;x=t}else{w=0;x=l}if((q+(x>>>3)|0)>>>0>>0){f[k>>2]=x+1;y=w}else y=w}else y=p;else if(!i){i=f[k>>2]|0;s=(f[g>>2]|0)+(i>>>3)|0;if(s>>>0<(f[n>>2]|0)>>>0){q=(h[s>>0]|0)>>>(i&7)&1;f[k>>2]=i+1;y=q}else y=0}else y=p;q=(f[m>>2]|0)+(a*12|0)+8|0;b[q>>0]=b[q>>0]&-2|y&1;a=a+1|0;if(a>>>0>=r>>>0)break;else p=y}}di(c)}j=f[c+16>>2]|0;u=d;return j|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)xm(a);p=k<<6;k=b+31&-32;cf(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;si(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)fn(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Xf(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Xf(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function Hc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Tj(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Oa[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Pa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Oa[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Na[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Oa[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){hf(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(s|0)!=(q|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Na[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function Ic(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c;e=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[n>>2]|0){n=f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0;o=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;p=f[o>>2]|0;o=f[n+56>>2]|0;n=dj(32)|0;f[d>>2]=n;f[j>>2]=-2147483616;f[k>>2]=24;q=n;r=8408;s=q+24|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));b[n+24>>0]=0;r=p+16|0;q=f[r>>2]|0;if(q){s=r;t=q;a:while(1){q=t;while(1){if((f[q+16>>2]|0)>=(o|0))break;v=f[q+4>>2]|0;if(!v){w=s;break a}else q=v}t=f[q>>2]|0;if(!t){w=q;break}else s=q}if(((w|0)!=(r|0)?(o|0)>=(f[w+16>>2]|0):0)?(s=w+20|0,(Ge(s,d)|0)!=0):0)x=wg(s,d,0)|0;else y=13}else y=13;if((y|0)==13){y=0;x=wg(p,d,0)|0}if((b[l>>0]|0)<0)fn(f[d>>2]|0);if(x){s=f[(f[h>>2]|0)+(m<<2)>>2]|0;t=f[s+8>>2]|0;ad(t,Je(s)|0)}else y=18}else y=18;if((y|0)==18?(y=0,s=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Oa[f[(f[s>>2]|0)+24>>2]&127](s,i)|0)):0){g=0;y=20;break}m=m+1|0;if((m|0)>=(e|0)){g=1;y=20;break}}if((y|0)==20){u=c;return g|0}return 0}function Jc(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2296;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}dn(b)}jf(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;fn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)fn(b);b=f[a+120>>2]|0;if(b|0)fn(b);b=f[a+108>>2]|0;if(b|0)fn(b);b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+60>>2]|0;if(b|0)fn(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;pf(a);fn(a);return}function Kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=c;l=j;do{f[l>>2]=-1;ah(l+4|0);b[l+100>>0]=1;m=l+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));l=(f[i>>2]|0)+144|0;f[i>>2]=l;k=k+-1|0}while((k|0)!=0);u=d;return}k=f[a>>2]|0;l=(j-k|0)/144|0;j=l+c|0;if(j>>>0>29826161)xm(a);o=(h-k|0)/144|0;k=o<<1;h=o>>>0<14913080?(k>>>0>>0?j:k):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){k=ra(8)|0;$k(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{p=dj(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;k=p+(l*144|0)|0;l=e+8|0;f[l>>2]=k;j=e+4|0;f[j>>2]=k;o=e+12|0;f[o>>2]=p+(h*144|0);h=c;c=k;do{f[c>>2]=-1;ah(c+4|0);b[c+100>>0]=1;m=c+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c=(f[l>>2]|0)+144|0;f[l>>2]=c;h=h+-1|0}while((h|0)!=0);h=c;c=f[a>>2]|0;m=f[i>>2]|0;if((m|0)==(c|0)){q=j;r=f[j>>2]|0;s=c;t=m}else{n=m;m=f[j>>2]|0;do{m=m+-144|0;n=n+-144|0;tc(m,n)}while((n|0)!=(c|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=h;f[l>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=s;of(e);u=d;return}function Lc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=0;k=2;l=(k|0)==2;m=l?0:j;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=0;r=h;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Uf(f[r>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(h){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?mh(z,A,w)|0:0){B=0;C=q;D=14;break b}}else if(!y){if((b[A>>0]|0)==(x&255)<<24>>24){E=g;F=v;G=A}else{H=0;I=q;D=13;break b}while(1){F=F+-1|0;E=E+1|0;if(!F)break c;G=G+1|0;if((b[E>>0]|0)!=(b[G>>0]|0)){H=0;I=q;D=13;break b}}}while(0);H=1;I=f[r>>2]|0;D=13}else{H=0;I=q;D=13}}else{H=3;I=q;D=13}while(0);if((D|0)==13){D=0;if(s<<24>>24<0){B=H;C=I;D=14}else{J=H;K=I}}if((D|0)==14){D=0;fn(f[g>>2]|0);J=B;K=C}switch(J&3){case 3:case 0:break;default:{j=K;k=J;D=17;break a}}r=r+4|0;if((r|0)==(i|0)){j=K;k=2;D=17;break}else q=K}if((D|0)==17){l=(k|0)==2;m=l?0:j;u=e;return m|0}return 0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Tj(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}Gc(a+76|0,l,0);Vk(d);if(ud(d,b)|0){if((l|0)>0){k=a+76|0;i=1;m=0;do{i=i^((Yg(d)|0)^1);j=(f[k>>2]|0)+(m>>>5<<2)|0;o=1<<(m&31);if(i)p=f[j>>2]|o;else p=f[j>>2]&~o;f[j>>2]=p;m=m+1|0}while((m|0)<(l|0))}l=e;e=f[l>>2]|0;m=f[l+4>>2]|0;l=g;p=f[l>>2]|0;i=f[l+4>>2]|0;l=Tj(p|0,i|0,4,0)|0;k=I;if(((!((m|0)<(k|0)|(m|0)==(k|0)&e>>>0>>0)?(d=f[b>>2]|0,b=d+p|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=k,k=Tj(p|0,i|0,8,0)|0,i=I,!((m|0)<(i|0)|(m|0)==(i|0)&e>>>0>>0)):0)?(e=d+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=k,f[e+4>>2]=i,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,i=Vj(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&i>>>0<2147483647):0){j=i+1|0;f[a+20>>2]=j;i=(j|0)/2|0;l=a+24|0;f[l>>2]=i;f[a+28>>2]=0-i;if(!(j&1)){f[l>>2]=i+-1;q=1}else q=1}else q=0}else q=0;n=q;u=c;return n|0}function Oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=dj(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2024;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2080;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Vk(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=dj(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=1940;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=1996;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Vk(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Pc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;Me(a+232|0);jf(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;fn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)fn(b);b=f[a+120>>2]|0;if(b|0)fn(b);b=f[a+108>>2]|0;if(b|0)fn(b);b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+60>>2]|0;if(b|0)fn(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;pf(a);fn(a);return}function Qc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=pe(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Rc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=re(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Sc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=se(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Tc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=ue(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Uc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=ve(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Vc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=we(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Wc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(fg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{hf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=0;k=n;a:while(1){n=l;i=f[n>>2]|0;m=f[n+4>>2]|0;n=h;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}n=f[c>>2]|0;r=b[n+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+j|0;if(r>>>0>=k>>>0){e=0;q=19;break a}Xf((f[a>>2]|0)+(j<<2)|0,0,(o&252)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=u;u=0;o=p;p=s;while(1){if(!((m|0)>(o|0)|(m|0)==(o|0)&i>>>0>p>>>0)){e=0;q=19;break a}s=b[n+p>>0]|0;p=Tj(p|0,o|0,1,0)|0;o=I;x=h;f[x>>2]=p;f[x+4>>2]=o;x=(s&255)<<(u<<3|6)|r;u=u+1|0;if((u|0)>=(t|0)){w=x;q=16;break}else r=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(j<<2)>>2]=w;v=j}j=v+1|0;k=f[g>>2]|0;if(j>>>0>=k>>>0){q=18;break}}if((q|0)==18){e=xe(a+16|0,f[a>>2]|0,k)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(Qb(a,c)|0)){g=0;u=d;return g|0}h=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else Md(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Tj(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Ua[f[(f[a>>2]|0)+48>>2]&7](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=Na[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Oa[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Pa[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=dj(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;Gm(e);if(ee(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){Ef(o);fn(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}fn(l)}Ef(c);fn(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=9550;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Ef(i);fn(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}fn(p)}Ef(h);fn(h);u=d;return}}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function _c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=dj(124)|0;f[k+4>>2]=0;f[k>>2]=2396;f[k+12>>2]=2420;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=2420;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;le(i+8|0,o,g);Sa[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];xd(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;Xd(k,h);f[a>>2]=n;f[i>>2]=2420;n=f[i+20>>2]|0;if(n|0)fn(n);n=f[i+8>>2]|0;if(!n){zf(h);u=e;return}fn(n);zf(h);u=e;return}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=Ah(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)xm(e);else{n=dj(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Xf(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);mg(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);fn(a)}u=d;return}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=dj(32)|0;qj(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;fn(d)}fn(g);h=f[e>>2]|0}Xg(a,h,0,0,0,0);j=a}else j=a;if(!(Qf(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))Ad(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;fn(c)}fn(h);return}h=dj(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)xm(c);l=dj(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){ge(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;fn(h)}fn(a);return}function bd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Gg(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(lb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(lb(e,c)|0)){n=0;o=15;break}i=f[l>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(o|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else hf(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(bb(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(bb(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=0;o=w;while(1){f[k+(o<<2)>>2]=f[i+(t<<2)>>2];t=t+1|0;if((t|0)==(l|0))break;else o=o+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=w+l|0}if((v|0)==18){u=e;return s|0}return 0}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Wc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Cd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<16384){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=o;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);fn(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);fn(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);fn(a);u=d;return j|0}function ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;fn(a)}if((b[s+11>>0]|0)<0)fn(f[s>>2]|0);fn(d);return c|0}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)xm(d);else{i=b*12|0;j=dj(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Xf(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(Sf(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(k<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+i|0;f[e>>2]=q;p=f[n+(k+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(k+2<<2)>>2]|0;n=q>>>1;i=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=i;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))ef(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else k=k+3|0}}else m=0;k=f[d>>2]|0;if(!k){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(k|0))f[h>>2]=d+(~((d+-4-k|0)>>>2)<<2);fn(k);u=c;return m|0}function gd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){Xf(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)xm(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;$k(p,9789);f[p>>2]=3704;va(p|0,856,80)}else{r=dj(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;Xf(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;Te(d);u=c;return}function id(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=La,x=La,y=La,z=0;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=cn(j>>>0>1073741823?-1:j<<2)|0;Bl(e);if(!(Zi(e,$(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;dn(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}dn(l);u=d;return m|0}while(1){a=f[p>>2]|0;i=0;t=r;while(1){v=f[o+(t<<2)>>2]|0;if((v|0)>-1){w=$(v|0);x=$($(n[g>>2])*w);y=$(x*$(n[e>>2]))}else{z=Vj(0,0,v|0,((v|0)<0)<<31>>31|0)|0;x=$(+(z>>>0)+4294967296.0*+(I|0));w=$($(n[g>>2])*x);y=$(-$(w*$(n[e>>2])))}w=$(y+$(n[a+(i<<2)>>2]));n[l+(i<<2)>>2]=w;i=i+1|0;if((i|0)==(j|0))break;else t=t+1|0}ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+s|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+j|0;s=s+k|0}}dn(l);u=d;return m|0}function jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2372;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)xm(i);else{o=((n+-1|0)>>>5)+1|0;p=dj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];pd(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)xm(i);k=((l+-1|0)>>>5)+1|0;l=dj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];pd(i,e,d);u=c;return}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2420;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)xm(i);else{o=((n+-1|0)>>>5)+1|0;p=dj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];pd(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)xm(i);k=((l+-1|0)>>>5)+1|0;l=dj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];pd(i,e,d);u=c;return}function md(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=cn(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)dn(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Tj(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}ge(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Tj(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Tj(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Tj(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Tj(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Xf(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)xm(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{n=dj(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Xf(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);fn(m)}}while((c|0)!=(g|0))}if(!p)return;fn(p);return}function od(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Gb(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)fn(f[h>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=dj(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=o;l=8387;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+20>>0]=0;f[a>>2]=-1;Tf(h,j);if((b[j+11>>0]|0)<0)fn(f[j>>2]|0);u=g;return}Ne(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;oi(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)fn(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Sa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Tf(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)fn(f[i>>2]|0);u=g;return}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];Dc(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;si(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)si(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);fn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)xm(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)xm(a);h=dj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)si(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=p;p=n;while(1){d[p>>1]=d[q>>1]|0;q=q+2|0;if((q|0)==(c|0))break;else p=p+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);fn(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)xm(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)xm(a);t=dj(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=b;b=t;while(1){d[b>>1]=d[e>>1]|0;e=e+2|0;if((e|0)==(c|0))break;else b=b+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)si(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);fn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)xm(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)xm(a);h=dj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);fn(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)xm(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)xm(a);j=dj(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;j=f[i+4>>2]|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;if(!((j|0)>(n|0)|((j|0)==(n|0)?(f[i>>2]|0)>>>0>m>>>0:0))){o=0;u=d;return o|0}b[a+12>>0]=b[(f[c>>2]|0)+m>>0]|0;m=k;i=Tj(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=k;f[m>>2]=i;f[m+4>>2]=I;a:do if((fg(e,c)|0?(m=f[e>>2]|0,i=g,n=k,j=f[n>>2]|0,l=f[n+4>>2]|0,n=Vj(f[i>>2]|0,f[i+4>>2]|0,j|0,l|0)|0,i=I,!((i|0)<0|(i|0)==0&n>>>0>>0)):0)?(n=(f[c>>2]|0)+j|0,(m|0)>=1):0){f[a>>2]=n;i=m+-1|0;p=n+i|0;switch((h[p>>0]|0)>>>6&3){case 0:{f[a+4>>2]=i;q=b[p>>0]&63;break}case 1:{if((m|0)<2){r=0;break a}f[a+4>>2]=m+-2;p=n+m+-2|0;q=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break}case 2:{if((m|0)<3){r=0;break a}f[a+4>>2]=m+-3;p=n+m+-3|0;q=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}p=q+4096|0;f[a+8>>2]=p;if(p>>>0<1048576){p=Tj(j|0,l|0,m|0,0)|0;m=k;f[m>>2]=p;f[m+4>>2]=I;r=1}else r=0}else r=0;while(0);o=r;u=d;return o|0}function vd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;hc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;gc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)fn(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)fn(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{hf(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(zb(a,d)|0)){s=0;u=c;return s|0}ab(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{fn(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)xm(c);else{j=((k+-1|0)>>>5)+1|0;l=dj(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);si(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{fn(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)xm(h);else{n=((p+-1|0)>>>5)+1|0;c=dj(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);si(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Zg(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Zg(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Zg(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function zd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Gg(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(qb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(qb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);fn(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)xm(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)xm(a);j=dj(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;ge(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;ge(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function Cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+16|0;e=d;if(!(Hf(e,c)|0)){g=0;u=d;return g|0}i=e;e=f[i>>2]|0;j=f[i+4>>2]|0;i=c+8|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=Vj(f[i>>2]|0,f[i+4>>2]|0,m|0,n|0)|0;i=I;if(j>>>0>i>>>0|(j|0)==(i|0)&e>>>0>l>>>0){g=0;u=d;return g|0}l=(f[c>>2]|0)+m|0;c=Tj(m|0,n|0,e|0,j|0)|0;j=k;f[j>>2]=c;f[j+4>>2]=I;if((e|0)<1){g=0;u=d;return g|0}f[a+40>>2]=l;j=e+-1|0;c=l+j|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=j;o=b[c>>0]&63;break}case 1:{if((e|0)<2){g=0;u=d;return g|0}else{f[a+44>>2]=e+-2;k=l+e+-2|0;o=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}break}case 2:{if((e|0)<3){g=0;u=d;return g|0}else{f[a+44>>2]=e+-3;k=l+e+-3|0;o=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=e+-4;k=l+e+-4|0;o=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);e=o+16384|0;f[a+48>>2]=e;g=e>>>0<4194304;u=d;return g|0}function Dd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Gg(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(tb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(tb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(oc(e,a,d)|0){d=f[g>>2]|0;sd(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+56>>2]|0;if(d|0)fn(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}pf(e);fn(e);u=c;return l|0}function Fd(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=La,f=La,g=La,h=La,i=La,j=La,k=0.0,l=La,m=La,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=La,u=La,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=$(h+g);j=$(g-h);k=-1.0;l=g;m=h}else{i=e;j=f;k=1.0;l=b;m=c}c=$(+l*2.0+-1.0);l=$(+m*2.0+-1.0);o=+i*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}else{m=$($(1.0)/$(L($(i))));i=$(m*j);n[d>>2]=i;t=$(m*l);u=$(m*c);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+16|0;g=e;h=d+8|0;i=f[h>>2]|0;j=f[h+4>>2]|0;h=d+16|0;k=h;l=f[k>>2]|0;m=f[k+4>>2]|0;if((j|0)>(m|0)|(j|0)==(m|0)&i>>>0>l>>>0){k=b[(f[d>>2]|0)+l>>0]|0;n=Tj(l|0,m|0,1,0)|0;o=I;p=h;f[p>>2]=n;f[p+4>>2]=o;if(k<<24>>24!=-2){q=k;r=o;s=n;t=3}}else{q=0;r=m;s=l;t=3}if((t|0)==3){if((j|0)>(r|0)|(j|0)==(r|0)&i>>>0>s>>>0){i=b[(f[d>>2]|0)+s>>0]|0;j=Tj(s|0,r|0,1,0)|0;r=h;f[r>>2]=j;f[r+4>>2]=I;v=i}else v=0;Va[f[(f[a>>2]|0)+40>>2]&7](g,a,q<<24>>24,v<<24>>24);v=a+20|0;q=f[g>>2]|0;f[g>>2]=0;i=f[v>>2]|0;f[v>>2]=q;if(i){Sa[f[(f[i>>2]|0)+4>>2]&127](i);i=f[g>>2]|0;f[g>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Oa[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){w=0;u=e;return w|0}w=Pa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=e;return w|0}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=mh(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=mh(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;Ec(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;si(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=ig(c)|0;if(i>>>0>4294967279)xm(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=dj(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){ge(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=ig(d)|0;if(i>>>0>4294967279)xm(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=dj(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){ge(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Mc(i,g,h)|0,(o|0)!=0):0)q=lh(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)fn(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}fn(f[g>>2]|0);u=e;return q|0}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;fn(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)xm(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)xm(a);i=dj(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)si(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Xf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)xm(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{n=dj(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Xf(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Sa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;fn(p);return}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)xm(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;$k(e,9789);f[e>>2]=3704;va(e|0,856,80)}else{l=dj(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;Tf(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=l;l=g;g=e;do{e=g+-12|0;j=j+-12|0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];f[e+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=l+-12|0;l=g}while((j|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)fn(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;fn(n);return}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)si(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;ge(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);fn(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)xm(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)xm(a);j=dj(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;ge(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=dj(64)|0;g=dj(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=2592;f[g+8>>2]=h;f[d>>2]=g;Ch(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){Md(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(n|0)!=(m|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Sa[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Sa[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Sa[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Sa[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=-1;i=b;j=0}else{h=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;i=b;j=0}}else{h=-1;i=-1;j=1}if((g|0)!=(h|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(j){l=-1;m=-1;n=i;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(j){l=-1;m=e;n=i;break}else o=e}e=i+1|0;b=((e>>>0)%3|0|0)==0?i+-2|0:e;if((b|0)==-1){l=-1;m=o;n=i}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=i}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(bc(e,c)|0){g=0;return g|0}a=Cb(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Ze(c+8|0);fn(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)fn(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)fn(a);fn(d);g=1;return g|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))ze(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Af(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;fn(b)}fn(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);fn(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;fn(e)}fn(h)}fn(c);u=d;return}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=kk(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=kk(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function Ud(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2696;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}Se(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Ef(i);fn(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}fn(g)}Ef(a);fn(a);return}function Vd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=mh(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=mh(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];xd(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{Ad(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Ad(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Ad(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Od(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+32|0;g=e+8|0;i=e;if((d|0)!=3){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{b=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Na[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Oc(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);m=f[i>>2]|0;if(!m){f[i>>2]=0;break}else{n=i;o=m;break a}}while(0);m=dj(24)|0;f[m+4>>2]=b;p=m+8|0;f[p>>2]=f[g>>2];f[p+4>>2]=f[g+4>>2];f[p+8>>2]=f[g+8>>2];f[p+12>>2]=f[g+12>>2];f[m>>2]=1884;k=m;l=8}while(0);if((l|0)==8){f[i>>2]=k;n=i;o=k}f[a>>2]=o;f[n>>2]=0;u=e;return}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)xm(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;$k(i,9789);f[i>>2]=3704;va(i|0,856,80)}else{l=dj(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)ge(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;fn(e);return}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)xm(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{k=dj(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){Ef(n);fn(n)}}while((h|0)!=(g|0))}if(!m)return;fn(m);return}function $d(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Sh(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(ci(5)|0,d)|0;lg(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=dj(96)|0;Gh(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);bg(j,c)|0;f[h>>2]=j;Kf(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;fn(h)}fn(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);fn(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;fn(j)}fn(c)}fn(a);u=e;return}function ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function be(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=cn(k)|0;Xf(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;dc(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){dn(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;dc(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));dn(l);u=g;return 1}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Sd(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);fn(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;fn(c)}fn(h)}fn(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Ee(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;n=m+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((o|0)>(g|0)){l=0;return l|0}f[a+12>>2]=o;f[a+16>>2]=g;j=Vj(g|0,((g|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;if(!(o>>>0<0|(o|0)==0&j>>>0<2147483647)){l=0;return l|0}o=j+1|0;f[a+20>>2]=o;j=(o|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(!(o&1))f[g>>2]=j+-1;l=ud(a+108|0,b)|0;return l|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;fg(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){fg(g,f[a>>2]|0)|0;k=dj(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(kc(a,k)|0))break;f[h>>2]=k;Jg(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){Ef(l);fn(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}Ef(k);fn(k);m=0}while(0);if((j|0)==8)m=kc(a,c)|0;i=m;u=d;return i|0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)xm(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Qk(a,j,(e&255)+1|0)|0;fn(j);o=16}}else{j=k+1|0;p=dj(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Qk(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Qk(n,m,(f[j>>2]|0)+1|0)|0;fn(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function he(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{hf(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function ie(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(Cl(a,f[c+8>>2]|0,g)|0)){if(!(Cl(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Wa[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;Xa[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else Wi(0,c,d,e);while(0);return}function je(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=dj(384)|0;rg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Sa[f[(f[c>>2]|0)+4>>2]&127](c);m=9}break}case 2:{c=dj(440)|0;mf(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Sa[f[(f[d>>2]|0)+4>>2]&127](d);m=9}break}default:m=9}if((m|0)==9){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Oa[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=cc(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=dj(40)|0;Tf(c+16|0,d);Tf(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Lc(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)xm(a);n=j<<6;j=c+31&-32;cf(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)fn(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Xf(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Xf(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Vj(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){fn(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=j;j=g;while(1){m=l+8|0;if((j|0)==(f[i>>2]|0))Nd(a,m);else{Tf(j,m);f[h>>2]=(f[h>>2]|0)+12}m=f[l>>2]|0;if(!m)break a;l=m;j=f[h>>2]|0}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Ua[e&7](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;fn(d)}fn(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);fn(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;fn(a)}fn(e)}fn(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==1048576;return k|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)xm(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;$k(h,9789);f[h>>2]=3704;va(h|0,856,80)}else{k=dj(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)ge(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;fn(d);return}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==524288;return k|0}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==262144;return k|0}function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)fn(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)fn(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;le(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;le(a+12|0,k,e);td(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,2684);Gg(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);Gg(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==65536;return k|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==32768;return k|0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==8192;return k|0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else hf(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else qe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==4096;return k|0}function ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((hb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=ln(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=hb(a,c,g,i,h)|0;if(!o)s=j;else{Pa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=hb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)kn(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){hd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;fn(h)}fn(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);fn(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(a)}fn(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)xm(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;$k(e,9789);f[e>>2]=3704;va(e|0,856,80)}else{e=dj(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)ge(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;fn(i);return}function Be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Dl(f[a+8>>2]|0,e)|0;h=Dl(f[a+12>>2]|0,e)|0;i=Dl(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Dl(f[a+(q<<2)>>2]|0,e)|0;s=Dl(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=wh(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Dl(f[a+(m<<2)>>2]|0,e)|0;j=Dl(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Ce(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Cl(l,e,0)|0){f[i+48>>2]=1;Xa[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Wa[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function De(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=La;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=0;n=0;o=0;p=j;while(1){q=$($(1.0)/$(p|0));Fd(g,$(q*$(f[k+(m<<2)>>2]|0)),$(q*$(f[k+((m|1)<<2)>>2]|0)),e);ge((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+o|0,e|0,i|0)|0;j=n+1|0;if((j|0)==(c|0)){l=1;break}m=m+2|0;n=j;o=o+i|0;p=f[a>>2]|0}u=d;return l|0}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)xm(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{d=dj(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)ge(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;fn(h);return}function Fe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=mh(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=mh(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=ig(c)|0;if(h>>>0>4294967279)xm(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=dj(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Mc(i,g,e)|0,(j|0)!=0):0)n=lh(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)fn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}fn(f[e>>2]|0);u=d;return n|0}function Ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){vd(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=dj(44)|0;f[d>>2]=1208;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];Dg(d+32|0,e+24|0);f[d>>2]=1264;g=d}f[a>>2]=g;return}function Je(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(a|0)!=(k|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{Ae(h,i-l|0,1076);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function Ke(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=cn(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){dn(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=a+i|0}}dn(k);return}else{ge(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){dn(k);return}else{p=0;q=1}do{p=p+j|0;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+p|0,k|0,j|0)|0;q=q+1|0}while((q|0)!=(c|0));dn(k);return}}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=cn(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){dn(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=a+h|0}}dn(j);return}else{ge(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){dn(j);return}else{o=0;p=1}do{o=o+i|0;ge((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+o|0,j|0,i|0)|0;p=p+1|0}while((p|0)!=(c|0));dn(j);return}}function Me(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);fn(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}fn(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);fn(g)}g=a+136|0;a=f[g>>2]|0;f[g>>2]=0;if(!a)return;g=a+-4|0;j=f[g>>2]|0;if(j|0){b=a+(j<<4)|0;do b=b+-16|0;while((b|0)!=(a|0))}dn(g);return}function Ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=dj(48)|0;Tl(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=dj(52)|0;Yk(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=8331;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Tf(c,g);f[a>>2]=f[e>>2];Tf(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)fn(f[c>>2]|0);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=d;return}}}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(n&1)){l=0;return l|0}j=(_(n|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;n=2<>2]=n+-1;j=n+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=ud(a+88|0,b)|0;return l|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Kc(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);fn(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);fn(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);fn(h)}wf(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Qe(a,b){a=a|0;b=b|0;var c=0,d=La,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Sb(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Sb(a,e);return}function Re(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1088;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}fn(g)}f[a>>2]=984;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);fn(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);fn(g);return}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;fn(d)}fn(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);fn(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;fn(i)}fn(j)}fn(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}fn(e);return}function Te(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;fn(d)}fn(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);fn(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;fn(h)}fn(i)}fn(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;fn(b);return}function Ue(a,b){a=a|0;b=b|0;var c=0,d=La,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=$a(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){jc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=$a(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;jc(a,e);return}function Ve(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=dj(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{lf(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}ge(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Na[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Oa[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Oa[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Uf(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){fn(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}fn(f[e>>2]|0);u=a;return i|0}function Ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Ih(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Pa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Pa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);ge(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Ze(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Ze(c+8|0);fn(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)fn(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;fn(h)}if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);fn(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)fn(e);fn(d)}if((b[a+11>>0]|0)>=0)return;fn(f[a>>2]|0);return}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=cn((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;dn(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Tj(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}ge(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;ge((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+j|0,g|0,a|0)|0;k=k+1|0;if((k|0)>=(b|0)){i=1;q=5;break}else j=j+a|0}if((q|0)==5){dn(g);return i|0}return 0}function $e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=0;j=g;a:while(1){g=f[j+(a*144|0)>>2]|0;if(((g|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(g|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(g<<2)>>2]|0,(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){g=0;do{if((Oa[f[(f[k>>2]|0)+20>>2]&127](k,g)|0)==(c|0))break a;g=g+1|0}while((g|0)<(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=a+1|0;j=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-j|0)/144|0)>>>0){h=0;m=11;break}else a=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(a*144|0)+100>>0]|0)==0?0:m+(a*144|0)+4|0;return h|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(_(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=0;i=e;b:while(1){j=f[i+(h*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Oa[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Na[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=h+1|0;i=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-i|0)/144|0)>>>0)break a;else h=k}m=(f[c>>2]|0)+(h*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)xm(d);k=((b+-1|0)>>>5)+1|0;b=dj(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Jd(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)fn(g);u=c;return}function df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Tj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=928;f[e+4>>2]=-1;Hl(e,n);o=jh(e,f[a+16>>2]|0)|0;u=c;return o|0} -function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[3220]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=12920+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[3220]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[3222]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=12920+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[3225]|0;h=m>>>3;l=12920+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[3222]=j;f[3225]=k;o=e;u=b;return o|0}e=f[3221]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[13184+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=13184+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[3221]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[3225]|0;n=m>>>3;i=12920+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[3222]=v;f[3225]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[3221]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[13184+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[13184+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[3222]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=13184+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=12920+(j<<1<<2)|0;d=f[3220]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=13184+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[3221]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[3222]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[3225]|0;if(T>>>0>15){_=$+B|0;f[3225]=_;f[3222]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[3222]=0;f[3225]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[3223]|0;if($>>>0>B>>>0){T=$-B|0;f[3223]=T;S=f[3226]|0;_=S+B|0;f[3226]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[3338]|0)){f[3340]=4096;f[3339]=4096;f[3341]=-1;f[3342]=-1;f[3343]=0;f[3331]=0;f[3338]=c&-16^1431655768;aa=4096}else aa=f[3340]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[3330]|0;if(X|0?(Y=f[3328]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[3331]&4)){X=f[3226]|0;c:do if(X){Z=13328;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Xh(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Xh(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[3339]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[3328]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[3330]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Xh(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[3340]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Xh(X|0)|0)==(-1|0)){Xh(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[3331]=f[3331]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Xh(aa|0)|0,aa=Xh(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[3328]|0)+da|0;f[3328]=ca;if(ca>>>0>(f[3329]|0)>>>0)f[3329]=ca;ca=f[3226]|0;do if(ca){ha=13328;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[3223]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[3226]=ga;f[3223]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[3227]=f[3342];break}if(ea>>>0<(f[3224]|0)>>>0)f[3224]=ea;fa=ea+da|0;S=13328;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=13328;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[3225]|0)==(aa|0)){ba=(f[3222]|0)+c|0;f[3222]=ba;f[3225]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[3220]=f[3220]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=13184+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[3221]=f[3221]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=12920+($<<1<<2)|0;Z=f[3220]|0;Y=1<<$;if(!(Z&Y)){f[3220]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=13184+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[3221]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[3223]|0)+c|0;f[3223]=ba;f[3226]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=13328;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[3226]=fa;f[3223]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[3227]=f[3342];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[3332];f[c+4>>2]=f[3333];f[c+8>>2]=f[3334];f[c+12>>2]=f[3335];f[3332]=ea;f[3333]=da;f[3335]=0;f[3334]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=12920+(ba<<1<<2)|0;S=f[3220]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=13184+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[3221]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[3224]|0;if((c|0)==0|ea>>>0>>0)f[3224]=ea;f[3332]=ea;f[3333]=da;f[3335]=0;f[3229]=f[3338];f[3228]=-1;f[3233]=12920;f[3232]=12920;f[3235]=12928;f[3234]=12928;f[3237]=12936;f[3236]=12936;f[3239]=12944;f[3238]=12944;f[3241]=12952;f[3240]=12952;f[3243]=12960;f[3242]=12960;f[3245]=12968;f[3244]=12968;f[3247]=12976;f[3246]=12976;f[3249]=12984;f[3248]=12984;f[3251]=12992;f[3250]=12992;f[3253]=13e3;f[3252]=13e3;f[3255]=13008;f[3254]=13008;f[3257]=13016;f[3256]=13016;f[3259]=13024;f[3258]=13024;f[3261]=13032;f[3260]=13032;f[3263]=13040;f[3262]=13040;f[3265]=13048;f[3264]=13048;f[3267]=13056;f[3266]=13056;f[3269]=13064;f[3268]=13064;f[3271]=13072;f[3270]=13072;f[3273]=13080;f[3272]=13080;f[3275]=13088;f[3274]=13088;f[3277]=13096;f[3276]=13096;f[3279]=13104;f[3278]=13104;f[3281]=13112;f[3280]=13112;f[3283]=13120;f[3282]=13120;f[3285]=13128;f[3284]=13128;f[3287]=13136;f[3286]=13136;f[3289]=13144;f[3288]=13144;f[3291]=13152;f[3290]=13152;f[3293]=13160;f[3292]=13160;f[3295]=13168;f[3294]=13168;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[3226]=ba;f[3223]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[3227]=f[3342]}while(0);ea=f[3223]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[3223]=da;ea=f[3226]|0;ca=ea+B|0;f[3226]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=nn()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;h=d+16|0;i=d+4|0;j=d+36|0;k=d;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+216>>2]|0)==(f[a+220>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+232|0;s=a+404|0;t=a+400|0;v=a+8|0;w=g+8|0;x=a+36|0;y=a+40|0;z=c+-1|0;A=a+428|0;B=a+416|0;C=h+4|0;D=a+388|0;E=i+8|0;F=0;while(1){G=F+1|0;H=f[s>>2]|0;b:do if((H|0)==-1){f[t>>2]=7;I=93}else{J=(f[A>>2]|0)+(H<<2)|0;K=f[J>>2]|0;L=K+-1|0;f[J>>2]=L;if((K|0)<1){M=-1;I=179;break a}K=f[(f[(f[B>>2]|0)+((f[s>>2]|0)*12|0)>>2]|0)+(L<<2)>>2]|0;L=f[2504+(K<<2)>>2]|0;f[t>>2]=L;if(!K){J=f[l>>2]|0;if((f[g>>2]|0)==(J|0)){M=-1;I=179;break a}N=J+-4|0;O=f[N>>2]|0;P=f[v>>2]|0;Q=(O|0)==-1;R=O+1|0;if(!Q?(S=((R>>>0)%3|0|0)==0?O+-2|0:R,(S|0)!=-1):0)T=f[(f[P>>2]|0)+(S<<2)>>2]|0;else T=-1;S=f[P+24>>2]|0;R=f[S+(T<<2)>>2]|0;U=R+1|0;if((R|0)==-1)V=-1;else V=((U>>>0)%3|0|0)==0?R+-2|0:U;U=F*3|0;R=U+1|0;W=f[P+12>>2]|0;f[W+(O<<2)>>2]=R;f[W+(R<<2)>>2]=O;X=U+2|0;f[W+(V<<2)>>2]=X;f[W+(X<<2)>>2]=V;W=f[P>>2]|0;f[W+(U<<2)>>2]=T;P=V+1|0;if((V|0)!=-1?(Y=((P>>>0)%3|0|0)==0?V+-2|0:P,(Y|0)!=-1):0)Z=f[W+(Y<<2)>>2]|0;else Z=-1;f[W+(R<<2)>>2]=Z;if(!Q?(Q=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(Q|0)!=-1):0){O=f[W+(Q<<2)>>2]|0;f[W+(X<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=X}else f[W+(X<<2)>>2]=-1;X=(f[p>>2]|0)+(T>>>5<<2)|0;f[X>>2]=f[X>>2]&~(1<<(T&31));f[N>>2]=U;f[j>>2]=f[J+-4>>2];f[e>>2]=f[j>>2];pc(r,e);break}J=(K|0)==3;switch(L|0){case 7:{I=93;break b;break}case 3:case 5:{L=f[l>>2]|0;if((f[g>>2]|0)==(L|0)){M=-1;I=179;break a}K=f[L+-4>>2]|0;L=F*3|0;U=J?L:L+2|0;N=L+(J&1)|0;X=(J?2:1)+L|0;J=f[v>>2]|0;W=f[J+12>>2]|0;f[W+(X<<2)>>2]=K;f[W+(K<<2)>>2]=X;W=J+24|0;O=J+28|0;S=f[O>>2]|0;if((S|0)==(f[J+32>>2]|0)){Af(W,2336);_=f[O>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[O>>2]=J;_=J}J=_-(f[W>>2]|0)>>2;W=J+-1|0;O=f[v>>2]|0;S=f[O+24>>2]|0;Q=S;if(((f[O+28>>2]|0)-S>>2|0)>(q|0)){M=-1;I=179;break a}S=f[O>>2]|0;f[S+(X<<2)>>2]=W;if(J|0)f[Q+(W<<2)>>2]=X;if((K|0)!=-1){X=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((X|0)!=-1){W=f[S+(X<<2)>>2]|0;f[S+(U<<2)>>2]=W;if((W|0)!=-1)f[Q+(W<<2)>>2]=U}else f[S+(U<<2)>>2]=-1;W=K+1|0;Q=((W>>>0)%3|0|0)==0?K+-2|0:W;if((Q|0)==-1)aa=-1;else aa=f[S+(Q<<2)>>2]|0}else{f[S+(U<<2)>>2]=-1;aa=-1}f[S+(N<<2)>>2]=aa;N=f[l>>2]|0;f[N+-4>>2]=L;ba=N;I=113;break b;break}case 1:break;default:{M=-1;I=179;break a}}N=f[g>>2]|0;L=f[l>>2]|0;if((N|0)==(L|0)){M=-1;I=179;break a}S=L+-4|0;U=f[S>>2]|0;f[l>>2]=S;Q=f[C>>2]|0;c:do if(Q){W=Q+-1|0;K=(W&Q|0)==0;if(!K)if(F>>>0>>0)ca=F;else ca=(F>>>0)%(Q>>>0)|0;else ca=W&F;X=f[(f[h>>2]|0)+(ca<<2)>>2]|0;if((X|0)!=0?(J=f[X>>2]|0,(J|0)!=0):0){d:do if(K){X=J;while(1){O=f[X+4>>2]|0;R=(O|0)==(F|0);if(!(R|(O&W|0)==(ca|0))){da=N;ea=S;break c}if(R?(f[X+8>>2]|0)==(F|0):0){fa=X;break d}X=f[X>>2]|0;if(!X){da=N;ea=S;break c}}}else{X=J;while(1){R=f[X+4>>2]|0;if((R|0)==(F|0)){if((f[X+8>>2]|0)==(F|0)){fa=X;break d}}else{if(R>>>0>>0)ga=R;else ga=(R>>>0)%(Q>>>0)|0;if((ga|0)!=(ca|0)){da=N;ea=S;break c}}X=f[X>>2]|0;if(!X){da=N;ea=S;break c}}}while(0);J=fa+12|0;if((S|0)==(f[w>>2]|0)){Af(g,J);da=f[g>>2]|0;ea=f[l>>2]|0;break}else{f[S>>2]=f[J>>2];f[l>>2]=L;da=N;ea=L;break}}else{da=N;ea=S}}else{da=N;ea=S}while(0);if((da|0)==(ea|0)){M=-1;I=179;break a}S=f[ea+-4>>2]|0;N=(S|0)==-1;if(!N?(f[(f[(f[v>>2]|0)+12>>2]|0)+(S<<2)>>2]|0)!=-1:0){M=-1;I=179;break a}L=(U|0)==-1;Q=f[v>>2]|0;J=f[Q+12>>2]|0;if(!L?(f[J+(U<<2)>>2]|0)!=-1:0){M=-1;I=179;break a}W=F*3|0;K=W+2|0;f[J+(S<<2)>>2]=K;f[J+(K<<2)>>2]=S;X=W+1|0;f[J+(U<<2)>>2]=X;f[J+(X<<2)>>2]=U;if(!N){N=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((N|0)==-1)ha=-1;else ha=f[(f[Q>>2]|0)+(N<<2)>>2]|0;N=f[Q>>2]|0;f[N+(W<<2)>>2]=ha;R=S+1|0;O=((R>>>0)%3|0|0)==0?S+-2|0:R;if((O|0)==-1){ia=-1;ja=ha;ka=N;la=Q}else{ia=f[N+(O<<2)>>2]|0;ja=ha;ka=N;la=Q}}else{N=f[Q>>2]|0;f[N+(W<<2)>>2]=-1;ia=-1;ja=-1;ka=N;la=Q}f[ka+(X<<2)>>2]=ia;if(!L){L=(((U>>>0)%3|0|0)==0?2:-1)+U|0;if((L|0)!=-1){X=f[ka+(L<<2)>>2]|0;f[ka+(K<<2)>>2]=X;if((X|0)!=-1)f[(f[Q+24>>2]|0)+(X<<2)>>2]=K}else f[ka+(K<<2)>>2]=-1;X=U+1|0;L=((X>>>0)%3|0|0)==0?U+-2|0:X;if((L|0)==-1){ma=-1;na=-1}else{ma=f[ka+(L<<2)>>2]|0;na=L}}else{f[ka+(K<<2)>>2]=-1;ma=-1;na=-1}f[e>>2]=ma;K=f[D>>2]|0;L=K+(ja<<2)|0;f[L>>2]=(f[L>>2]|0)+(f[K+(ma<<2)>>2]|0);K=f[Q+24>>2]|0;if((ja|0)!=-1)f[K+(ja<<2)>>2]=f[K+(f[e>>2]<<2)>>2];e:do if((na|0)!=-1){Q=f[la>>2]|0;L=na;do{f[Q+(L<<2)>>2]=ja;X=L+1|0;N=((X>>>0)%3|0|0)==0?L+-2|0:X;if((N|0)==-1)break e;X=f[J+(N<<2)>>2]|0;N=X+1|0;if((X|0)==-1)break e;L=((N>>>0)%3|0|0)==0?X+-2|0:N}while((L|0)!=-1)}while(0);f[K+(f[e>>2]<<2)>>2]=-1;do if(o){J=f[m>>2]|0;if((J|0)==(f[E>>2]|0)){Af(i,e);oa=f[l>>2]|0;break}else{f[J>>2]=f[e>>2];f[m>>2]=J+4;oa=ea;break}}else oa=ea;while(0);f[oa+-4>>2]=W;f[j>>2]=f[oa+-4>>2];f[e>>2]=f[j>>2];pc(r,e)}while(0);if((I|0)==93){I=0;f[e>>2]=F*3;H=f[v>>2]|0;K=H+24|0;J=H+28|0;U=f[J>>2]|0;if((U|0)==(f[H+32>>2]|0)){Af(K,2336);pa=f[J>>2]|0}else{f[U>>2]=-1;H=U+4|0;f[J>>2]=H;pa=H}H=pa-(f[K>>2]|0)>>2;K=H+-1|0;J=f[v>>2]|0;U=f[e>>2]|0;L=f[J>>2]|0;f[L+(U<<2)>>2]=K;Q=J+24|0;N=J+28|0;X=f[N>>2]|0;if((X|0)==(f[J+32>>2]|0)){Af(Q,2336);qa=f[N>>2]|0;ra=f[J>>2]|0}else{f[X>>2]=-1;J=X+4|0;f[N>>2]=J;qa=J;ra=L}f[ra+(U+1<<2)>>2]=(qa-(f[Q>>2]|0)>>2)+-1;Q=f[v>>2]|0;U=(f[e>>2]|0)+2|0;L=Q+24|0;J=Q+28|0;N=f[J>>2]|0;if((N|0)==(f[Q+32>>2]|0)){Af(L,2336);sa=f[J>>2]|0}else{f[N>>2]=-1;X=N+4|0;f[J>>2]=X;sa=X}f[(f[Q>>2]|0)+(U<<2)>>2]=(sa-(f[L>>2]|0)>>2)+-1;L=f[v>>2]|0;U=f[L+24>>2]|0;Q=U;if(((f[L+28>>2]|0)-U>>2|0)>(q|0))break;U=f[e>>2]|0;if(H){f[Q+(K<<2)>>2]=U;if((H|0)!=-1){f[Q+(H<<2)>>2]=(f[e>>2]|0)+1;K=H+1|0;if((K|0)!=-1){ta=K;I=107}}else{ta=0;I=107}}else{f[Q+(H<<2)>>2]=U+1;ta=1;I=107}if((I|0)==107){I=0;f[Q+(ta<<2)>>2]=(f[e>>2]|0)+2}Q=f[l>>2]|0;if((Q|0)==(f[w>>2]|0)){Af(g,e);ua=f[l>>2]|0}else{f[Q>>2]=f[e>>2];U=Q+4|0;f[l>>2]=U;ua=U}ba=ua;I=113}f:do if((I|0)==113?(I=0,f[j>>2]=f[ba+-4>>2],f[e>>2]=f[j>>2],pc(r,e),U=c-F+-1|0,Q=f[y>>2]|0,(Q|0)!=(f[x>>2]|0)):0){H=Q;do{Q=H;K=f[Q+-8>>2]|0;if(K>>>0>U>>>0){M=-1;I=179;break a}if((K|0)!=(U|0))break f;K=b[Q+-4>>0]|0;L=f[Q+-12>>2]|0;f[y>>2]=Q+-12;if((L|0)<0){M=-1;I=179;break a}Q=f[(f[l>>2]|0)+-4>>2]|0;X=(Q|0)==-1;do if(!(K&1))if(!X)if(!((Q>>>0)%3|0)){va=Q+2|0;break}else{va=Q+-1|0;break}else va=-1;else{J=Q+1|0;if(X)va=-1;else va=((J>>>0)%3|0|0)==0?Q+-2|0:J}while(0);f[e>>2]=z-L;Q=rc(h,e)|0;f[Q>>2]=va;H=f[y>>2]|0}while((H|0)!=(f[x>>2]|0))}while(0);if((G|0)<(c|0))F=G;else{wa=G;xa=v;I=126;break a}}M=-1;I=179}else{wa=0;xa=a+8|0;I=126}while(0);g:do if((I|0)==126){c=f[xa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){va=f[l>>2]|0;do if((va|0)!=(f[g>>2]|0)){j=a+312|0;ba=a+60|0;ua=a+64|0;ta=a+68|0;sa=a+76|0;qa=a+80|0;ra=a+72|0;pa=wa;oa=va;h:while(1){ea=oa;f[e>>2]=f[ea+-4>>2];f[l>>2]=ea+-4;do if(!(Yg(j)|0)){ea=f[ua>>2]|0;o=f[ta>>2]|0;if((ea|0)==(o<<5|0)){if((ea+1|0)<0){I=154;break h}ja=o<<6;o=ea+32&-32;cf(ba,ea>>>0<1073741823?(ja>>>0>>0?o:ja):2147483647);ya=f[ua>>2]|0}else ya=ea;f[ua>>2]=ya+1;ea=(f[ba>>2]|0)+(ya>>>5<<2)|0;f[ea>>2]=f[ea>>2]&~(1<<(ya&31));ea=f[sa>>2]|0;if((ea|0)==(f[qa>>2]|0)){Af(ra,e);za=pa;break}else{f[ea>>2]=f[e>>2];f[sa>>2]=ea+4;za=pa;break}}else{ea=f[xa>>2]|0;ja=f[ea>>2]|0;o=ja;if((pa|0)>=(((f[ea+4>>2]|0)-ja>>2>>>0)/3|0|0)){I=160;break h}ja=f[e>>2]|0;na=ja+1|0;if((ja|0)!=-1?(la=((na>>>0)%3|0|0)==0?ja+-2|0:na,(la|0)!=-1):0)Aa=f[o+(la<<2)>>2]|0;else Aa=-1;la=f[ea+24>>2]|0;na=f[la+(Aa<<2)>>2]|0;ma=na+1|0;if((na|0)!=-1?(ka=((ma>>>0)%3|0|0)==0?na+-2|0:ma,ma=ka+1|0,(ka|0)!=-1):0){na=((ma>>>0)%3|0|0)==0?ka+-2|0:ma;if((na|0)==-1){Ba=-1;Ca=ka}else{Ba=f[o+(na<<2)>>2]|0;Ca=ka}}else{Ba=-1;Ca=-1}ka=f[la+(Ba<<2)>>2]|0;la=ka+1|0;if((ka|0)!=-1?(na=((la>>>0)%3|0|0)==0?ka+-2|0:la,la=na+1|0,(na|0)!=-1):0){ka=((la>>>0)%3|0|0)==0?na+-2|0:la;if((ka|0)==-1){Da=-1;Ea=na}else{Da=f[o+(ka<<2)>>2]|0;Ea=na}}else{Da=-1;Ea=-1}na=pa*3|0;f[k>>2]=na;ka=f[ea+12>>2]|0;f[ka+(na<<2)>>2]=ja;f[ka+(ja<<2)>>2]=na;na=(f[k>>2]|0)+1|0;f[ka+(na<<2)>>2]=Ca;f[ka+(Ca<<2)>>2]=na;na=(f[k>>2]|0)+2|0;f[ka+(na<<2)>>2]=Ea;f[ka+(Ea<<2)>>2]=na;na=f[k>>2]|0;ka=o+(na<<2)|0;f[ka>>2]=Ba;f[o+(na+1<<2)>>2]=Da;f[o+(na+2<<2)>>2]=Aa;if((na|0)==-1)Fa=-1;else Fa=f[ka>>2]|0;ka=f[p>>2]|0;na=ka+(Fa>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Fa&31));na=(f[k>>2]|0)+1|0;if((na|0)==-1)Ga=-1;else Ga=f[o+(na<<2)>>2]|0;na=ka+(Ga>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Ga&31));na=(f[k>>2]|0)+2|0;if((na|0)==-1)Ha=-1;else Ha=f[o+(na<<2)>>2]|0;na=ka+(Ha>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Ha&31));na=pa+1|0;ka=f[ua>>2]|0;o=f[ta>>2]|0;if((ka|0)==(o<<5|0)){if((ka+1|0)<0){I=144;break h}ja=o<<6;o=ka+32&-32;cf(ba,ka>>>0<1073741823?(ja>>>0>>0?o:ja):2147483647);Ia=f[ua>>2]|0}else Ia=ka;f[ua>>2]=Ia+1;ka=(f[ba>>2]|0)+(Ia>>>5<<2)|0;f[ka>>2]=f[ka>>2]|1<<(Ia&31);ka=f[sa>>2]|0;if((ka|0)==(f[qa>>2]|0))Af(ra,k);else{f[ka>>2]=f[k>>2];f[sa>>2]=ka+4}za=na}while(0);oa=f[l>>2]|0;if((oa|0)==(f[g>>2]|0)){I=161;break}else pa=za}if((I|0)==144)xm(ba);else if((I|0)==154)xm(ba);else if((I|0)==160){M=-1;I=179;break g}else if((I|0)==161){Ja=za;Ka=f[xa>>2]|0;break}}else{Ja=wa;Ka=c}while(0);if((Ja|0)==(((f[Ka+4>>2]|0)-(f[Ka>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ka+28>>2]|0)-(f[Ka+24>>2]|0)>>2;va=f[i>>2]|0;pa=f[m>>2]|0;if((va|0)==(pa|0)){La=c;Ma=va}else{oa=e+4|0;sa=e+8|0;ra=e+12|0;qa=c;c=va;va=Ka;while(1){ua=f[c>>2]|0;ta=qa+-1|0;j=f[va+24>>2]|0;if((f[j+(ta<<2)>>2]|0)==-1){G=qa;while(1){na=G+-1|0;ka=G+-2|0;if((f[j+(ka<<2)>>2]|0)==-1)G=na;else{Na=na;Oa=ka;break}}}else{Na=qa;Oa=ta}if(Oa>>>0>>0){Pa=Na;Qa=va}else{f[e>>2]=va;G=f[j+(Oa<<2)>>2]|0;f[oa>>2]=G;f[sa>>2]=G;b[ra>>0]=1;if((G|0)==-1){Ra=j;Sa=va}else{ba=va;ka=G;do{f[(f[ba>>2]|0)+(ka<<2)>>2]=ua;Fe(e);ka=f[sa>>2]|0;ba=f[xa>>2]|0}while((ka|0)!=-1);Ra=f[ba+24>>2]|0;Sa=ba}if((ua|0)==-1)Ta=Ra+(Oa<<2)|0;else{ka=Ra+(Oa<<2)|0;f[Ra+(ua<<2)>>2]=f[ka>>2];Ta=ka}f[Ta>>2]=-1;ka=f[p>>2]|0;j=ka+(Oa>>>5<<2)|0;ta=1<<(Oa&31);G=ka+(ua>>>5<<2)|0;ka=1<<(ua&31);if(!(f[j>>2]&ta))Ua=f[G>>2]&~ka;else Ua=f[G>>2]|ka;f[G>>2]=Ua;f[j>>2]=f[j>>2]&~ta;Pa=Na+-1|0;Qa=Sa}c=c+4|0;if((c|0)==(pa|0)){M=Pa;I=179;break}else{qa=Pa;va=Qa}}}}else{M=-1;I=179}}else{M=-1;I=179}}while(0);if((I|0)==179){La=M;Ma=f[i>>2]|0}if(Ma|0){i=f[m>>2]|0;if((i|0)!=(Ma|0))f[m>>2]=i+(~((i+-4-Ma|0)>>>2)<<2);fn(Ma)}Ma=f[h+8>>2]|0;if(Ma|0){i=Ma;do{Ma=i;i=f[i>>2]|0;fn(Ma)}while((i|0)!=0)}i=f[h>>2]|0;f[h>>2]=0;if(i|0)fn(i);i=f[g>>2]|0;if(!i){u=d;return La|0}g=f[l>>2]|0;if((g|0)!=(i|0))f[l>>2]=g+(~((g+-4-i|0)>>>2)<<2);fn(i);u=d;return La|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;j=d+8|0;k=d;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+216>>2]|0)==(f[a+220>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+308|0;s=g+4|0;t=a+8|0;v=i+8|0;w=e+8|0;x=a+304|0;y=a+296|0;z=a+300|0;A=a+36|0;B=a+40|0;C=c+-1|0;D=0;b:while(1){E=D+1|0;c:do if(!(b[r>>0]|0))F=43;else{G=f[x>>2]|0;H=f[y>>2]|0;I=f[z>>2]|0;J=H+(G>>>3)|0;if(J>>>0>>0?(K=h[J>>0]|0,J=G+1|0,f[x>>2]=J,1<<(G&7)&K|0):0){K=H+(J>>>3)|0;if(K>>>0>>0){L=(h[K>>0]|0)>>>(J&7)&1;K=G+2|0;f[x>>2]=K;M=L;N=K}else{M=0;N=J}J=H+(N>>>3)|0;if(J>>>0>>0){I=(h[J>>0]|0)>>>(N&7);f[x>>2]=N+1;O=I<<1&2}else O=0;I=(O|M)<<1|1;J=(I|0)==5;switch(I&7){case 1:{F=43;break c;break}case 3:case 5:{I=f[l>>2]|0;if((f[e>>2]|0)==(I|0)){P=-1;F=183;break a}H=f[I+-4>>2]|0;I=D*3|0;K=J?I:I+2|0;L=I+(J&1)|0;G=(J?2:1)+I|0;J=f[t>>2]|0;Q=f[J+12>>2]|0;f[Q+(G<<2)>>2]=H;f[Q+(H<<2)>>2]=G;Q=J+24|0;R=J+28|0;S=f[R>>2]|0;if((S|0)==(f[J+32>>2]|0)){Af(Q,2336);T=f[R>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[R>>2]=J;T=J}J=T-(f[Q>>2]|0)>>2;Q=J+-1|0;R=f[t>>2]|0;S=f[R+24>>2]|0;U=S;if(((f[R+28>>2]|0)-S>>2|0)>(q|0)){P=-1;F=183;break a}S=f[R>>2]|0;f[S+(G<<2)>>2]=Q;if(J|0)f[U+(Q<<2)>>2]=G;if((H|0)!=-1){G=(((H>>>0)%3|0|0)==0?2:-1)+H|0;if((G|0)!=-1){Q=f[S+(G<<2)>>2]|0;f[S+(K<<2)>>2]=Q;if((Q|0)!=-1)f[U+(Q<<2)>>2]=K}else f[S+(K<<2)>>2]=-1;Q=H+1|0;U=((Q>>>0)%3|0|0)==0?H+-2|0:Q;if((U|0)==-1)V=-1;else V=f[S+(U<<2)>>2]|0}else{f[S+(K<<2)>>2]=-1;V=-1}f[S+(L<<2)>>2]=V;f[(f[l>>2]|0)+-4>>2]=I;break}case 7:{f[j>>2]=D*3;I=f[t>>2]|0;L=I+24|0;S=I+28|0;K=f[S>>2]|0;if((K|0)==(f[I+32>>2]|0)){Af(L,2336);W=f[S>>2]|0}else{f[K>>2]=-1;I=K+4|0;f[S>>2]=I;W=I}I=W-(f[L>>2]|0)>>2;L=I+-1|0;S=f[t>>2]|0;K=f[j>>2]|0;U=f[S>>2]|0;f[U+(K<<2)>>2]=L;Q=S+24|0;H=S+28|0;G=f[H>>2]|0;if((G|0)==(f[S+32>>2]|0)){Af(Q,2336);X=f[H>>2]|0;Y=f[S>>2]|0}else{f[G>>2]=-1;S=G+4|0;f[H>>2]=S;X=S;Y=U}f[Y+(K+1<<2)>>2]=(X-(f[Q>>2]|0)>>2)+-1;Q=f[t>>2]|0;K=(f[j>>2]|0)+2|0;U=Q+24|0;S=Q+28|0;H=f[S>>2]|0;if((H|0)==(f[Q+32>>2]|0)){Af(U,2336);Z=f[S>>2]|0}else{f[H>>2]=-1;G=H+4|0;f[S>>2]=G;Z=G}f[(f[Q>>2]|0)+(K<<2)>>2]=(Z-(f[U>>2]|0)>>2)+-1;U=f[t>>2]|0;K=f[U+24>>2]|0;Q=K;if(((f[U+28>>2]|0)-K>>2|0)>(q|0)){F=114;break b}K=f[j>>2]|0;if(I){f[Q+(L<<2)>>2]=K;if((I|0)!=-1){f[Q+(I<<2)>>2]=(f[j>>2]|0)+1;L=I+1|0;if((L|0)!=-1){_=L;F=109}}else{_=0;F=109}}else{f[Q+(I<<2)>>2]=K+1;_=1;F=109}if((F|0)==109){F=0;f[Q+(_<<2)>>2]=(f[j>>2]|0)+2}Q=f[l>>2]|0;if((Q|0)==(f[w>>2]|0))Af(e,j);else{f[Q>>2]=f[j>>2];f[l>>2]=Q+4}break}default:{F=182;break b}}Q=c-D+-1|0;K=f[B>>2]|0;if((K|0)==(f[A>>2]|0))break;else aa=K;while(1){K=aa;I=f[K+-8>>2]|0;if(I>>>0>Q>>>0){P=-1;F=183;break a}if((I|0)!=(Q|0))break c;I=b[K+-4>>0]|0;L=f[K+-12>>2]|0;f[B>>2]=K+-12;if((L|0)<0){P=-1;F=183;break a}K=f[(f[l>>2]|0)+-4>>2]|0;U=(K|0)==-1;do if(!(I&1))if(!U)if(!((K>>>0)%3|0)){ba=K+2|0;break}else{ba=K+-1|0;break}else ba=-1;else{G=K+1|0;if(U)ba=-1;else ba=((G>>>0)%3|0|0)==0?K+-2|0:G}while(0);f[j>>2]=C-L;K=rc(g,j)|0;f[K>>2]=ba;aa=f[B>>2]|0;if((aa|0)==(f[A>>2]|0))break c}}Q=f[l>>2]|0;if((f[e>>2]|0)==(Q|0)){P=-1;F=183;break a}K=Q+-4|0;Q=f[K>>2]|0;U=f[t>>2]|0;I=(Q|0)==-1;G=Q+1|0;if(!I?(S=((G>>>0)%3|0|0)==0?Q+-2|0:G,(S|0)!=-1):0)ca=f[(f[U>>2]|0)+(S<<2)>>2]|0;else ca=-1;S=f[U+24>>2]|0;G=f[S+(ca<<2)>>2]|0;H=G+1|0;if((G|0)==-1)da=-1;else da=((H>>>0)%3|0|0)==0?G+-2|0:H;H=D*3|0;G=H+1|0;J=f[U+12>>2]|0;f[J+(Q<<2)>>2]=G;f[J+(G<<2)>>2]=Q;R=H+2|0;f[J+(da<<2)>>2]=R;f[J+(R<<2)>>2]=da;J=f[U>>2]|0;f[J+(H<<2)>>2]=ca;U=da+1|0;if((da|0)!=-1?(ea=((U>>>0)%3|0|0)==0?da+-2|0:U,(ea|0)!=-1):0)fa=f[J+(ea<<2)>>2]|0;else fa=-1;f[J+(G<<2)>>2]=fa;if(!I?(I=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(I|0)!=-1):0){Q=f[J+(I<<2)>>2]|0;f[J+(R<<2)>>2]=Q;if((Q|0)!=-1)f[S+(Q<<2)>>2]=R}else f[J+(R<<2)>>2]=-1;R=(f[p>>2]|0)+(ca>>>5<<2)|0;f[R>>2]=f[R>>2]&~(1<<(ca&31));f[K>>2]=H}while(0);if((F|0)==43){F=0;H=f[e>>2]|0;K=f[l>>2]|0;if((H|0)==(K|0)){P=-1;F=183;break a}R=K+-4|0;J=f[R>>2]|0;f[l>>2]=R;Q=f[s>>2]|0;d:do if(Q){S=Q+-1|0;I=(S&Q|0)==0;if(!I)if(D>>>0>>0)ga=D;else ga=(D>>>0)%(Q>>>0)|0;else ga=S&D;G=f[(f[g>>2]|0)+(ga<<2)>>2]|0;if((G|0)!=0?(ea=f[G>>2]|0,(ea|0)!=0):0){e:do if(I){G=ea;while(1){U=f[G+4>>2]|0;ha=(U|0)==(D|0);if(!(ha|(U&S|0)==(ga|0))){ia=H;ja=R;break d}if(ha?(f[G+8>>2]|0)==(D|0):0){ka=G;break e}G=f[G>>2]|0;if(!G){ia=H;ja=R;break d}}}else{G=ea;while(1){L=f[G+4>>2]|0;if((L|0)==(D|0)){if((f[G+8>>2]|0)==(D|0)){ka=G;break e}}else{if(L>>>0>>0)la=L;else la=(L>>>0)%(Q>>>0)|0;if((la|0)!=(ga|0)){ia=H;ja=R;break d}}G=f[G>>2]|0;if(!G){ia=H;ja=R;break d}}}while(0);ea=ka+12|0;if((R|0)==(f[w>>2]|0)){Af(e,ea);ia=f[e>>2]|0;ja=f[l>>2]|0;break}else{f[R>>2]=f[ea>>2];f[l>>2]=K;ia=H;ja=K;break}}else{ia=H;ja=R}}else{ia=H;ja=R}while(0);if((ia|0)==(ja|0)){P=-1;F=183;break a}R=f[ja+-4>>2]|0;H=(R|0)==-1;if(!H?(f[(f[(f[t>>2]|0)+12>>2]|0)+(R<<2)>>2]|0)!=-1:0){P=-1;F=183;break a}K=(J|0)==-1;Q=f[t>>2]|0;ea=f[Q+12>>2]|0;if(!K?(f[ea+(J<<2)>>2]|0)!=-1:0){P=-1;F=183;break a}S=D*3|0;I=S+2|0;f[ea+(R<<2)>>2]=I;f[ea+(I<<2)>>2]=R;G=S+1|0;f[ea+(J<<2)>>2]=G;f[ea+(G<<2)>>2]=J;if(!H){H=(((R>>>0)%3|0|0)==0?2:-1)+R|0;if((H|0)==-1)ma=-1;else ma=f[(f[Q>>2]|0)+(H<<2)>>2]|0;H=f[Q>>2]|0;f[H+(S<<2)>>2]=ma;L=R+1|0;ha=((L>>>0)%3|0|0)==0?R+-2|0:L;if((ha|0)==-1){na=-1;oa=ma;pa=H;qa=Q}else{na=f[H+(ha<<2)>>2]|0;oa=ma;pa=H;qa=Q}}else{H=f[Q>>2]|0;f[H+(S<<2)>>2]=-1;na=-1;oa=-1;pa=H;qa=Q}f[pa+(G<<2)>>2]=na;if(!K){K=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((K|0)!=-1){G=f[pa+(K<<2)>>2]|0;f[pa+(I<<2)>>2]=G;if((G|0)!=-1)f[(f[Q+24>>2]|0)+(G<<2)>>2]=I}else f[pa+(I<<2)>>2]=-1;G=J+1|0;K=((G>>>0)%3|0|0)==0?J+-2|0:G;if((K|0)==-1){ra=-1;sa=-1}else{ra=f[pa+(K<<2)>>2]|0;sa=K}}else{f[pa+(I<<2)>>2]=-1;ra=-1;sa=-1}f[j>>2]=ra;I=f[Q+24>>2]|0;if((oa|0)!=-1)f[I+(oa<<2)>>2]=f[I+(ra<<2)>>2];f:do if((sa|0)!=-1){Q=f[qa>>2]|0;K=sa;do{f[Q+(K<<2)>>2]=oa;G=K+1|0;H=((G>>>0)%3|0|0)==0?K+-2|0:G;if((H|0)==-1)break f;G=f[ea+(H<<2)>>2]|0;H=G+1|0;if((G|0)==-1)break f;K=((H>>>0)%3|0|0)==0?G+-2|0:H}while((K|0)!=-1)}while(0);f[I+(f[j>>2]<<2)>>2]=-1;do if(o){ea=f[m>>2]|0;if((ea|0)==(f[v>>2]|0)){Af(i,j);ta=f[l>>2]|0;break}else{f[ea>>2]=f[j>>2];f[m>>2]=ea+4;ta=ja;break}}else ta=ja;while(0);f[ta+-4>>2]=S}if((E|0)<(c|0))D=E;else{ua=E;va=t;F=129;break a}}if((F|0)==114){P=-1;F=183;break}}else{ua=0;va=a+8|0;F=129}while(0);g:do if((F|0)==129){c=f[va>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){ta=f[l>>2]|0;do if((ta|0)!=(f[e>>2]|0)){ja=a+312|0;o=a+60|0;oa=a+64|0;sa=a+68|0;qa=a+76|0;ra=a+80|0;pa=a+72|0;na=ua;ma=ta;h:while(1){ia=ma;f[j>>2]=f[ia+-4>>2];f[l>>2]=ia+-4;do if(!(Yg(ja)|0)){ia=f[oa>>2]|0;ka=f[sa>>2]|0;if((ia|0)==(ka<<5|0)){if((ia+1|0)<0){F=157;break h}ga=ka<<6;ka=ia+32&-32;cf(o,ia>>>0<1073741823?(ga>>>0>>0?ka:ga):2147483647);wa=f[oa>>2]|0}else wa=ia;f[oa>>2]=wa+1;ia=(f[o>>2]|0)+(wa>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(wa&31));ia=f[qa>>2]|0;if((ia|0)==(f[ra>>2]|0)){Af(pa,j);xa=na;break}else{f[ia>>2]=f[j>>2];f[qa>>2]=ia+4;xa=na;break}}else{ia=f[va>>2]|0;ga=f[ia>>2]|0;ka=ga;if((na|0)>=(((f[ia+4>>2]|0)-ga>>2>>>0)/3|0|0)){F=163;break h}ga=f[j>>2]|0;la=ga+1|0;if((ga|0)!=-1?(ca=((la>>>0)%3|0|0)==0?ga+-2|0:la,(ca|0)!=-1):0)ya=f[ka+(ca<<2)>>2]|0;else ya=-1;ca=f[ia+24>>2]|0;la=f[ca+(ya<<2)>>2]|0;fa=la+1|0;if((la|0)!=-1?(da=((fa>>>0)%3|0|0)==0?la+-2|0:fa,fa=da+1|0,(da|0)!=-1):0){la=((fa>>>0)%3|0|0)==0?da+-2|0:fa;if((la|0)==-1){za=-1;Aa=da}else{za=f[ka+(la<<2)>>2]|0;Aa=da}}else{za=-1;Aa=-1}da=f[ca+(za<<2)>>2]|0;ca=da+1|0;if((da|0)!=-1?(la=((ca>>>0)%3|0|0)==0?da+-2|0:ca,ca=la+1|0,(la|0)!=-1):0){da=((ca>>>0)%3|0|0)==0?la+-2|0:ca;if((da|0)==-1){Ba=-1;Ca=la}else{Ba=f[ka+(da<<2)>>2]|0;Ca=la}}else{Ba=-1;Ca=-1}la=na*3|0;f[k>>2]=la;da=f[ia+12>>2]|0;f[da+(la<<2)>>2]=ga;f[da+(ga<<2)>>2]=la;la=(f[k>>2]|0)+1|0;f[da+(la<<2)>>2]=Aa;f[da+(Aa<<2)>>2]=la;la=(f[k>>2]|0)+2|0;f[da+(la<<2)>>2]=Ca;f[da+(Ca<<2)>>2]=la;la=f[k>>2]|0;da=ka+(la<<2)|0;f[da>>2]=za;f[ka+(la+1<<2)>>2]=Ba;f[ka+(la+2<<2)>>2]=ya;if((la|0)==-1)Da=-1;else Da=f[da>>2]|0;da=f[p>>2]|0;la=da+(Da>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Da&31));la=(f[k>>2]|0)+1|0;if((la|0)==-1)Ea=-1;else Ea=f[ka+(la<<2)>>2]|0;la=da+(Ea>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Ea&31));la=(f[k>>2]|0)+2|0;if((la|0)==-1)Fa=-1;else Fa=f[ka+(la<<2)>>2]|0;la=da+(Fa>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Fa&31));la=na+1|0;da=f[oa>>2]|0;ka=f[sa>>2]|0;if((da|0)==(ka<<5|0)){if((da+1|0)<0){F=147;break h}ga=ka<<6;ka=da+32&-32;cf(o,da>>>0<1073741823?(ga>>>0>>0?ka:ga):2147483647);Ga=f[oa>>2]|0}else Ga=da;f[oa>>2]=Ga+1;da=(f[o>>2]|0)+(Ga>>>5<<2)|0;f[da>>2]=f[da>>2]|1<<(Ga&31);da=f[qa>>2]|0;if((da|0)==(f[ra>>2]|0))Af(pa,k);else{f[da>>2]=f[k>>2];f[qa>>2]=da+4}xa=la}while(0);ma=f[l>>2]|0;if((ma|0)==(f[e>>2]|0)){F=164;break}else na=xa}if((F|0)==147)xm(o);else if((F|0)==157)xm(o);else if((F|0)==163){P=-1;F=183;break g}else if((F|0)==164){Ha=xa;Ia=f[va>>2]|0;break}}else{Ha=ua;Ia=c}while(0);if((Ha|0)==(((f[Ia+4>>2]|0)-(f[Ia>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ia+28>>2]|0)-(f[Ia+24>>2]|0)>>2;ta=f[i>>2]|0;na=f[m>>2]|0;if((ta|0)==(na|0)){Ja=c;Ka=ta}else{ma=j+4|0;qa=j+8|0;pa=j+12|0;ra=c;c=ta;ta=Ia;while(1){oa=f[c>>2]|0;sa=ra+-1|0;ja=f[ta+24>>2]|0;if((f[ja+(sa<<2)>>2]|0)==-1){E=ra;while(1){S=E+-1|0;la=E+-2|0;if((f[ja+(la<<2)>>2]|0)==-1)E=S;else{La=S;Ma=la;break}}}else{La=ra;Ma=sa}if(Ma>>>0>>0){Na=La;Oa=ta}else{f[j>>2]=ta;E=f[ja+(Ma<<2)>>2]|0;f[ma>>2]=E;f[qa>>2]=E;b[pa>>0]=1;if((E|0)==-1){Pa=ja;Qa=ta}else{o=ta;la=E;do{f[(f[o>>2]|0)+(la<<2)>>2]=oa;Fe(j);la=f[qa>>2]|0;o=f[va>>2]|0}while((la|0)!=-1);Pa=f[o+24>>2]|0;Qa=o}if((oa|0)==-1)Ra=Pa+(Ma<<2)|0;else{la=Pa+(Ma<<2)|0;f[Pa+(oa<<2)>>2]=f[la>>2];Ra=la}f[Ra>>2]=-1;la=f[p>>2]|0;ja=la+(Ma>>>5<<2)|0;sa=1<<(Ma&31);E=la+(oa>>>5<<2)|0;la=1<<(oa&31);if(!(f[ja>>2]&sa))Sa=f[E>>2]&~la;else Sa=f[E>>2]|la;f[E>>2]=Sa;f[ja>>2]=f[ja>>2]&~sa;Na=La+-1|0;Oa=Qa}c=c+4|0;if((c|0)==(na|0)){P=Na;F=183;break}else{ra=Na;ta=Oa}}}}else{P=-1;F=183}}else{P=-1;F=183}}while(0);if((F|0)==183){Ja=P;Ka=f[i>>2]|0}if(Ka|0){i=f[m>>2]|0;if((i|0)!=(Ka|0))f[m>>2]=i+(~((i+-4-Ka|0)>>>2)<<2);fn(Ka)}Ka=f[g+8>>2]|0;if(Ka|0){i=Ka;do{Ka=i;i=f[i>>2]|0;fn(Ka)}while((i|0)!=0)}i=f[g>>2]|0;f[g>>2]=0;if(i|0)fn(i);i=f[e>>2]|0;if(!i){u=d;return Ja|0}e=f[l>>2]|0;if((e|0)!=(i|0))f[l>>2]=e+(~((e+-4-i|0)>>>2)<<2);fn(i);u=d;return Ja|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Qh(3400,3592,e,c)|0)-3400>>2;k=h;a:while(1){l=(f[3400+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[3208+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Qh(3208,3400,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,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,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(h,b-l|0,2652);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)xm(d);k=((b+-1|0)>>>5)+1|0;m=dj(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Xf(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)xm(e);v=((o+-1|0)>>>5)+1|0;w=dj(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Xf(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Af(h,2652);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Af(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;cf(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)xm(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)fn(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}fn(_b);u=c;return 1}function bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=La,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(ij(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=Tj(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function cb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else hf(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=dj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)xm(h);else{l=e<<2;r=dj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Xf(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+64|0;x=j+28|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;E=(e|0)==1;if(l-p>>2>>>0>1){F=1;G=p}else{H=q;xm(H)}while(1){I=f[G+(F<<2)>>2]|0;J=(((I>>>0)%3|0|0)==0?2:-1)+I|0;K=J>>>5;L=1<<(J&31);M=(I|0)==-1|(J|0)==-1;N=1;O=0;P=I;b:while(1){Q=N^1;R=O;S=P;while(1){if((S|0)==-1){T=R;v=58;break b}U=f[d+(R*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(S>>>5<<2)>>2]&1<<(S&31)|0)==0?(V=f[(f[(f[o>>2]|0)+12>>2]|0)+(S<<2)>>2]|0,(V|0)!=-1):0)?(W=f[x>>2]|0,Y=f[t>>2]|0,Z=f[Y+(f[W+(V<<2)>>2]<<2)>>2]|0,_=V+1|0,$=f[Y+(f[W+((((_>>>0)%3|0|0)==0?V+-2|0:_)<<2)>>2]<<2)>>2]|0,_=f[Y+(f[W+((((V>>>0)%3|0|0)==0?2:-1)+V<<2)>>2]<<2)>>2]|0,(Z|0)<(F|0)&($|0)<(F|0)&(_|0)<(F|0)):0){V=X(Z,e)|0;Z=X($,e)|0;$=X(_,e)|0;if(y){_=0;do{f[U+(_<<2)>>2]=(f[c+(_+$<<2)>>2]|0)+(f[c+(_+Z<<2)>>2]|0)-(f[c+(_+V<<2)>>2]|0);_=_+1|0}while((_|0)!=(e|0))}_=R+1|0;if((_|0)==4){aa=4;v=38;break b}else ba=_}else ba=R;do if(N){_=S+1|0;V=((_>>>0)%3|0|0)==0?S+-2|0:_;if(((V|0)!=-1?(f[(f[j>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)==0:0)?(_=f[(f[(f[o>>2]|0)+12>>2]|0)+(V<<2)>>2]|0,V=_+1|0,(_|0)!=-1):0)ca=((V>>>0)%3|0|0)==0?_+-2|0:V;else ca=-1}else{V=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if(((V|0)!=-1?(f[(f[j>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)==0:0)?(_=f[(f[(f[o>>2]|0)+12>>2]|0)+(V<<2)>>2]|0,(_|0)!=-1):0)if(!((_>>>0)%3|0)){ca=_+2|0;break}else{ca=_+-1|0;break}else ca=-1}while(0);if((ca|0)==(I|0)){T=ba;v=58;break b}if((ca|0)!=-1|Q){R=ba;S=ca}else break}if(M){N=0;O=ba;P=-1;continue}if(f[(f[j>>2]|0)+(K<<2)>>2]&L|0){N=0;O=ba;P=-1;continue}S=f[(f[(f[o>>2]|0)+12>>2]|0)+(J<<2)>>2]|0;if((S|0)==-1){N=0;O=ba;P=-1;continue}if(!((S>>>0)%3|0)){N=0;O=ba;P=S+2|0;continue}else{N=0;O=ba;P=S+-1|0;continue}}if((v|0)==58){v=0;if((T|0)>0){aa=T;v=38}else{da=X(F,e)|0;v=73}}if((v|0)==38){v=0;if(y){Xf(f[h>>2]|0,0,D|0)|0;P=aa+-1|0;O=s+(P<<2)|0;N=a+60+(P*12|0)+4|0;J=a+60+(P*12|0)|0;P=f[h>>2]|0;L=0;K=0;while(1){M=f[O>>2]|0;f[O>>2]=M+1;if((f[N>>2]|0)>>>0<=M>>>0){ea=0;fa=P;break a}if(!(f[(f[J>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){M=f[d+(L*12|0)>>2]|0;I=0;do{S=P+(I<<2)|0;f[S>>2]=(f[S>>2]|0)+(f[M+(I<<2)>>2]|0);I=I+1|0}while((I|0)!=(e|0));ga=K+1|0}else ga=K;L=L+1|0;if((L|0)>=(aa|0)){ha=ga;break}else K=ga}}else{K=aa+-1|0;L=s+(K<<2)|0;P=a+60+(K*12|0)|0;J=f[h>>2]|0;N=f[a+60+(K*12|0)+4>>2]|0;K=0;O=0;I=f[L>>2]|0;while(1){M=I;I=I+1|0;f[L>>2]=I;if(N>>>0<=M>>>0){ea=0;fa=J;break a}S=O+((f[(f[P>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31)|0)==0&1)|0;K=K+1|0;if((K|0)>=(aa|0)){ha=S;break}else O=S}}O=X(F,e)|0;if(ha){K=f[h>>2]|0;if(y?(f[K>>2]=(f[K>>2]|0)/(ha|0)|0,!E):0){P=1;do{J=K+(P<<2)|0;f[J>>2]=(f[J>>2]|0)/(ha|0)|0;P=P+1|0}while((P|0)!=(e|0))}P=b+(O<<2)|0;J=c+(O<<2)|0;if((f[i>>2]|0)>0){N=0;do{I=f[K+(N<<2)>>2]|0;L=f[z>>2]|0;if((I|0)>(L|0)){S=f[A>>2]|0;f[S+(N<<2)>>2]=L;ia=S}else{S=f[B>>2]|0;L=f[A>>2]|0;f[L+(N<<2)>>2]=(I|0)<(S|0)?S:I;ia=L}N=N+1|0;ja=f[i>>2]|0}while((N|0)<(ja|0));if((ja|0)>0){N=0;do{K=(f[P+(N<<2)>>2]|0)+(f[ia+(N<<2)>>2]|0)|0;L=J+(N<<2)|0;f[L>>2]=K;do if((K|0)>(f[z>>2]|0)){ka=K-(f[C>>2]|0)|0;v=95}else{if((K|0)>=(f[B>>2]|0))break;ka=(f[C>>2]|0)+K|0;v=95}while(0);if((v|0)==95){v=0;f[L>>2]=ka}N=N+1|0}while((N|0)<(f[i>>2]|0))}}}else{da=O;v=73}}if((v|0)==73?(v=0,N=c+((X(F+-1|0,e)|0)<<2)|0,J=b+(da<<2)|0,P=c+(da<<2)|0,(f[i>>2]|0)>0):0){K=0;do{I=f[N+(K<<2)>>2]|0;S=f[z>>2]|0;if((I|0)>(S|0)){M=f[A>>2]|0;f[M+(K<<2)>>2]=S;la=M}else{M=f[B>>2]|0;S=f[A>>2]|0;f[S+(K<<2)>>2]=(I|0)<(M|0)?M:I;la=S}K=K+1|0;ma=f[i>>2]|0}while((K|0)<(ma|0));if((ma|0)>0){K=0;do{N=(f[J+(K<<2)>>2]|0)+(f[la+(K<<2)>>2]|0)|0;O=P+(K<<2)|0;f[O>>2]=N;if((N|0)<=(f[z>>2]|0)){if((N|0)<(f[B>>2]|0)){na=(f[C>>2]|0)+N|0;v=83}}else{na=N-(f[C>>2]|0)|0;v=83}if((v|0)==83){v=0;f[O>>2]=na}K=K+1|0}while((K|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=100;break}K=f[r>>2]|0;G=f[K>>2]|0;if((f[K+4>>2]|0)-G>>2>>>0<=F>>>0){H=K;v=28;break}}if((v|0)==28)xm(H);else if((v|0)==100){ea=1;fa=f[h>>2]|0;break}}else{ea=1;fa=w}while(0);if(fa|0){w=f[n>>2]|0;if((w|0)!=(fa|0))f[n>>2]=w+(~((w+-4-fa|0)>>>2)<<2);fn(fa)}fn(s);s=f[d+36>>2]|0;if(s|0){fa=d+40|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;fa=f[w>>2]|0;if((fa|0)!=(s|0))f[w>>2]=fa+(~((fa+-4-s|0)>>>2)<<2);fn(s)}s=f[d+12>>2]|0;if(s|0){fa=d+16|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);fn(s);u=g;return ea|0}function db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else hf(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(q|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(p|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=dj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)xm(h);else{l=e<<2;r=dj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Xf(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+12|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;D=(e|0)==1;if(l-p>>2>>>0>1){E=1;F=p}else{G=q;xm(G)}while(1){H=f[F+(E<<2)>>2]|0;I=(((H>>>0)%3|0|0)==0?2:-1)+H|0;J=(H|0)==-1|(I|0)==-1;K=1;L=0;M=H;b:while(1){N=K^1;O=L;P=M;while(1){if((P|0)==-1){Q=O;v=58;break b}R=f[d+(O*12|0)>>2]|0;S=f[o>>2]|0;T=f[S+(P<<2)>>2]|0;if((T|0)!=-1){U=f[j>>2]|0;V=f[t>>2]|0;W=f[V+(f[U+(T<<2)>>2]<<2)>>2]|0;Y=T+1|0;Z=((Y>>>0)%3|0|0)==0?T+-2|0:Y;if((Z|0)==-1)_=-1;else _=f[U+(Z<<2)>>2]|0;Z=f[V+(_<<2)>>2]|0;Y=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((Y|0)==-1)$=-1;else $=f[U+(Y<<2)>>2]|0;Y=f[V+($<<2)>>2]|0;if((W|0)<(E|0)&(Z|0)<(E|0)&(Y|0)<(E|0)){V=X(W,e)|0;W=X(Z,e)|0;Z=X(Y,e)|0;if(x){Y=0;do{f[R+(Y<<2)>>2]=(f[c+(Y+Z<<2)>>2]|0)+(f[c+(Y+W<<2)>>2]|0)-(f[c+(Y+V<<2)>>2]|0);Y=Y+1|0}while((Y|0)!=(e|0))}Y=O+1|0;if((Y|0)==4){aa=4;v=41;break b}else ba=Y}else ba=O}else ba=O;do if(K){Y=P+1|0;V=((Y>>>0)%3|0|0)==0?P+-2|0:Y;if((V|0)!=-1?(Y=f[S+(V<<2)>>2]|0,V=Y+1|0,(Y|0)!=-1):0)ca=((V>>>0)%3|0|0)==0?Y+-2|0:V;else ca=-1}else{V=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((V|0)!=-1?(Y=f[S+(V<<2)>>2]|0,(Y|0)!=-1):0)if(!((Y>>>0)%3|0)){ca=Y+2|0;break}else{ca=Y+-1|0;break}else ca=-1}while(0);if((ca|0)==(H|0)){Q=ba;v=58;break b}if((ca|0)!=-1|N){O=ba;P=ca}else break}if(J){K=0;L=ba;M=-1;continue}P=f[S+(I<<2)>>2]|0;if((P|0)==-1){K=0;L=ba;M=-1;continue}if(!((P>>>0)%3|0)){K=0;L=ba;M=P+2|0;continue}else{K=0;L=ba;M=P+-1|0;continue}}if((v|0)==58){v=0;if((Q|0)>0){aa=Q;v=41}else{da=X(E,e)|0;v=73}}if((v|0)==41){v=0;if(x){Xf(f[h>>2]|0,0,C|0)|0;M=aa+-1|0;L=s+(M<<2)|0;K=a+60+(M*12|0)+4|0;I=a+60+(M*12|0)|0;M=f[h>>2]|0;J=0;H=0;while(1){P=f[L>>2]|0;f[L>>2]=P+1;if((f[K>>2]|0)>>>0<=P>>>0){ea=0;fa=M;break a}if(!(f[(f[I>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31))){P=f[d+(J*12|0)>>2]|0;O=0;do{N=M+(O<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[P+(O<<2)>>2]|0);O=O+1|0}while((O|0)!=(e|0));ga=H+1|0}else ga=H;J=J+1|0;if((J|0)>=(aa|0)){ha=ga;break}else H=ga}}else{H=aa+-1|0;J=s+(H<<2)|0;M=a+60+(H*12|0)|0;I=f[h>>2]|0;K=f[a+60+(H*12|0)+4>>2]|0;H=0;L=0;O=f[J>>2]|0;while(1){P=O;O=O+1|0;f[J>>2]=O;if(K>>>0<=P>>>0){ea=0;fa=I;break a}N=L+((f[(f[M>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31)|0)==0&1)|0;H=H+1|0;if((H|0)>=(aa|0)){ha=N;break}else L=N}}L=X(E,e)|0;if(ha){H=f[h>>2]|0;if(x?(f[H>>2]=(f[H>>2]|0)/(ha|0)|0,!D):0){M=1;do{I=H+(M<<2)|0;f[I>>2]=(f[I>>2]|0)/(ha|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;I=c+(L<<2)|0;if((f[i>>2]|0)>0){K=0;do{O=f[H+(K<<2)>>2]|0;J=f[y>>2]|0;if((O|0)>(J|0)){N=f[z>>2]|0;f[N+(K<<2)>>2]=J;ia=N}else{N=f[A>>2]|0;J=f[z>>2]|0;f[J+(K<<2)>>2]=(O|0)<(N|0)?N:O;ia=J}K=K+1|0;ja=f[i>>2]|0}while((K|0)<(ja|0));if((ja|0)>0){K=0;do{H=(f[M+(K<<2)>>2]|0)+(f[ia+(K<<2)>>2]|0)|0;J=I+(K<<2)|0;f[J>>2]=H;do if((H|0)>(f[y>>2]|0)){ka=H-(f[B>>2]|0)|0;v=95}else{if((H|0)>=(f[A>>2]|0))break;ka=(f[B>>2]|0)+H|0;v=95}while(0);if((v|0)==95){v=0;f[J>>2]=ka}K=K+1|0}while((K|0)<(f[i>>2]|0))}}}else{da=L;v=73}}if((v|0)==73?(v=0,K=c+((X(E+-1|0,e)|0)<<2)|0,I=b+(da<<2)|0,M=c+(da<<2)|0,(f[i>>2]|0)>0):0){H=0;do{O=f[K+(H<<2)>>2]|0;N=f[y>>2]|0;if((O|0)>(N|0)){P=f[z>>2]|0;f[P+(H<<2)>>2]=N;la=P}else{P=f[A>>2]|0;N=f[z>>2]|0;f[N+(H<<2)>>2]=(O|0)<(P|0)?P:O;la=N}H=H+1|0;ma=f[i>>2]|0}while((H|0)<(ma|0));if((ma|0)>0){H=0;do{K=(f[I+(H<<2)>>2]|0)+(f[la+(H<<2)>>2]|0)|0;L=M+(H<<2)|0;f[L>>2]=K;if((K|0)<=(f[y>>2]|0)){if((K|0)<(f[A>>2]|0)){na=(f[B>>2]|0)+K|0;v=83}}else{na=K-(f[B>>2]|0)|0;v=83}if((v|0)==83){v=0;f[L>>2]=na}H=H+1|0}while((H|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(m|0)){v=100;break}H=f[r>>2]|0;F=f[H>>2]|0;if((f[H+4>>2]|0)-F>>2>>>0<=E>>>0){G=H;v=28;break}}if((v|0)==28)xm(G);else if((v|0)==100){ea=1;fa=f[h>>2]|0;break}}else{ea=1;fa=w}while(0);if(fa|0){w=f[n>>2]|0;if((w|0)!=(fa|0))f[n>>2]=w+(~((w+-4-fa|0)>>>2)<<2);fn(fa)}fn(s);s=f[d+36>>2]|0;if(s|0){fa=d+40|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;fa=f[w>>2]|0;if((fa|0)!=(s|0))f[w>>2]=fa+(~((fa+-4-s|0)>>>2)<<2);fn(s)}s=f[d+12>>2]|0;if(s|0){fa=d+16|0;w=f[fa>>2]|0;if((w|0)!=(s|0))f[fa>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);fn(s);u=g;return ea|0}function eb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Bk(c)|0;if((I|0)<0){q=-c;r=1;s=10359}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?10360:10365):10362}Bk(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;eh(a,32,d,v,g&-65537);ll(a,s,r);ll(a,q!=q|0.0!=0.0?(t?10386:10390):t?10378:10382,3);eh(a,32,d,v,g^8192);w=v}else{c=+Lm(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=sg(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[10394+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;eh(a,32,d,G,g);ll(a,y,z);eh(a,48,d,G,g^65536);ll(a,m,M);eh(a,48,N-M|0,0,0);ll(a,A,E);eh(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=Qj(f[K>>2]|0,0,y|0)|0;Q=Tj(J|0,I|0,x|0,0)|0;J=I;R=bj(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=Il(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=sg(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;eh(a,32,d,A,g);ll(a,s,r);eh(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=sg(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){Xf(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;ll(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)ll(a,10410,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=sg(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){Xf(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;ll(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;eh(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=sg(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;ll(a,Da,1);if(Z&(K|0)<1){Ea=x;break}ll(a,10410,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}Xf(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;ll(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;eh(a,48,Fa+18|0,18,0);ll(a,xa,p-xa|0)}eh(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(j|0)!=(o|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else Zd(l,m-p|0,d);p=a+216|0;m=a+220|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=0;v=j;j=n;n=l;w=l;l=o;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;o=t*3|0;if((o|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(o<<2)>>2]|0;f[e>>2]=x;y=o+1|0;if((y|0)==-1){f[q>>2]=-1;z=0;A=x;B=92}else{C=y;D=x;B=91}}else{f[e>>2]=-1;C=0;D=-1;B=91}if((B|0)==91){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(C<<2)>>2];x=o+2|0;if((x|0)==-1){E=-1;F=D}else{z=x;A=D;B=92}}if((B|0)==92){B=0;E=f[(f[f[k>>2]>>2]|0)+(z<<2)>>2]|0;F=A}f[s>>2]=E;x=v+96|0;o=v+100|0;y=(l-j|0)/12|0;G=j;H=t;t=t+1|0;if(H>>>0>>0){I=n;J=v;K=w;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(t>>>0<=y>>>0)if(t>>>0>>0?(P=G+(t*12|0)|0,(P|0)!=(O|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[o>>2]=Q;R=G;S=w;T=v;U=Q;V=j}else{R=G;S=w;T=v;U=l;V=j}else{Zd(x,t-y|0,d);y=f[i>>2]|0;G=f[y+44>>2]|0;R=f[x>>2]|0;S=y;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=F;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(t>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{v=J;j=M;n=I;w=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;W=1;u=c;return W|0}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)xm(g);else{w=dj(N)|0;f[g>>2]=w;I=w+(l<<2)|0;f[g+8>>2]=I;Xf(w|0,0,N|0)|0;f[K>>2]=I;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;l=e+8|0;I=0;w=r;while(1){n=f[(f[w+24>>2]|0)+(I<<2)>>2]|0;b:do if((n|0)!=-1){c:do if((f[(f[N>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)|0)==0?(M=f[m>>2]|0,j=f[p>>2]|0,J=j,(M|0)!=(j|0)):0){v=(((n>>>0)%3|0|0)==0?2:-1)+n|0;t=(M-j|0)/144|0;if((v|0)==-1){j=0;while(1){M=f[(f[f[J+(j*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(M&31)&f[(f[J+(j*144|0)+16>>2]|0)+(M>>>5<<2)>>2]|0){X=0;break a}j=j+1|0;if(j>>>0>=t>>>0){Y=n;break c}}}j=w+12|0;M=0;while(1){s=f[(f[f[J+(M*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(s&31)&f[(f[J+(M*144|0)+16>>2]|0)+(s>>>5<<2)>>2]|0){s=f[J+(M*144|0)+32>>2]|0;L=f[s+(n<<2)>>2]|0;q=f[j>>2]|0;F=f[q+(v<<2)>>2]|0;do if((F|0)!=-1)if(!((F>>>0)%3|0)){Z=F+2|0;break}else{Z=F+-1|0;break}else Z=-1;while(0);if((Z|0)!=(n|0)){F=Z;while(1){if((F|0)==-1){X=0;break a}if((f[s+(F<<2)>>2]|0)!=(L|0)){Y=F;break c}U=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((U|0)!=-1){V=f[q+(U<<2)>>2]|0;if((V|0)==-1){_=-1;break}if(!((V>>>0)%3|0)){_=V+2|0;break}else{_=V+-1|0;break}}else _=-1;while(0);if((_|0)==(n|0))break;else F=_}}}M=M+1|0;if(M>>>0>=t>>>0){Y=n;break}}}else Y=n;while(0);t=f[b>>2]|0;f[(f[g>>2]|0)+(Y<<2)>>2]=t-(f[e>>2]|0)>>2;f[d>>2]=Y;M=t;if((f[l>>2]|0)>>>0>M>>>0){f[M>>2]=Y;f[b>>2]=M+4;$=w}else{Af(e,d);$=f[k>>2]|0}if((((Y|0)!=-1?(M=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0,(M|0)!=-1):0)?(t=f[(f[$+12>>2]|0)+(M<<2)>>2]|0,(t|0)!=-1):0)?(M=t+(((t>>>0)%3|0|0)==0?2:-1)|0,(M|0)!=-1&(M|0)!=(Y|0)):0){t=Y;v=M;M=$;while(1){j=f[m>>2]|0;J=f[p>>2]|0;F=J;d:do if((j|0)==(J|0))B=66;else{q=(j-J|0)/144|0;L=0;while(1){s=f[F+(L*144|0)+32>>2]|0;L=L+1|0;if((f[s+(v<<2)>>2]|0)!=(f[s+(t<<2)>>2]|0))break;if(L>>>0>=q>>>0){B=66;break d}}q=f[b>>2]|0;f[(f[g>>2]|0)+(v<<2)>>2]=q-(f[e>>2]|0)>>2;f[d>>2]=v;L=q;if((f[l>>2]|0)>>>0>L>>>0){f[L>>2]=v;f[b>>2]=L+4;aa=M}else{Af(e,d);aa=f[k>>2]|0}ba=aa}while(0);if((B|0)==66){B=0;F=f[g>>2]|0;f[F+(v<<2)>>2]=f[F+(t<<2)>>2];ba=M}if((v|0)==-1){ca=ba;break b}F=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((F|0)==-1){ca=ba;break b}J=f[(f[ba+12>>2]|0)+(F<<2)>>2]|0;if((J|0)==-1){ca=ba;break b}F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;if((F|0)!=-1&(F|0)!=(Y|0)){J=v;v=F;M=ba;t=J}else{ca=ba;break}}}else ca=$}else ca=w;while(0);I=I+1|0;if((I|0)>=((f[ca+28>>2]|0)-(f[ca+24>>2]|0)>>2|0)){B=27;break}else w=ca}}else B=27;while(0);if((B|0)==27){B=f[i>>2]|0;ca=f[B+44>>2]|0;$=f[ca+100>>2]|0;ba=f[ca+96>>2]|0;if(($|0)==(ba|0))da=B;else{Y=h+4|0;aa=h+8|0;k=0;p=ca;ca=ba;ba=$;$=B;m=B;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;B=(f[g>>2]|0)+(k*3<<2)|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];B=p+96|0;_=p+100|0;Z=(ba-ca|0)/12|0;r=ca;a=k;k=k+1|0;if(a>>>0>>0){ea=r;fa=ca;ga=ba;ha=$;ia=p;ja=m}else{w=ba;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(k>>>0<=Z>>>0)if(k>>>0>>0?(I=r+(k*12|0)|0,(I|0)!=(w|0)):0){l=w+(~(((w+-12-I|0)>>>0)/12|0)*12|0)|0;f[_>>2]=l;ka=r;la=m;ma=p;na=l;oa=ca}else{ka=r;la=m;ma=p;na=ba;oa=ca}else{Zd(B,k-Z|0,d);Z=f[i>>2]|0;r=f[Z+44>>2]|0;ka=f[B>>2]|0;la=Z;ma=r;na=f[r+100>>2]|0;oa=f[r+96>>2]|0}ea=ka;fa=oa;ga=na;ha=la;ia=ma;ja=la}f[ea+(a*12|0)>>2]=f[h>>2];f[ea+(a*12|0)+4>>2]=f[Y>>2];f[ea+(a*12|0)+8>>2]=f[aa>>2];if(k>>>0>=((ga-fa|0)/12|0)>>>0){da=ha;break}else{p=ia;ca=fa;ba=ga;$=ha;m=ja}}}f[(f[da+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[e>>2]|0)>>2;X=1}da=f[g>>2]|0;if(da|0){g=f[K>>2]|0;if((g|0)!=(da|0))f[K>>2]=g+(~((g+-4-da|0)>>>2)<<2);fn(da)}da=f[e>>2]|0;if(da|0){e=f[b>>2]|0;if((e|0)!=(da|0))f[b>>2]=e+(~((e+-4-da|0)>>>2)<<2);fn(da)}W=X;u=c;return W|0}function gb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;c=u;u=u+80|0;e=c+40|0;g=c+68|0;h=c+64|0;i=c+60|0;j=c+52|0;k=c;l=c+56|0;m=c+48|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;fn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(fg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];if(((fg(h,f[(f[n>>2]|0)+32>>2]|0)|0?(g=f[h>>2]|0,g>>>0<=1431655765):0)?(f[o>>2]|0)>>>0<=(g*3|0)>>>0:0)?(g=f[(f[n>>2]|0)+32>>2]|0,p=g+8|0,q=f[p+4>>2]|0,s=g+16|0,t=s,v=f[t>>2]|0,w=f[t+4>>2]|0,(q|0)>(w|0)|((q|0)==(w|0)?(f[p>>2]|0)>>>0>v>>>0:0)):0){p=b[(f[g>>2]|0)+v>>0]|0;q=Tj(v|0,w|0,1,0)|0;w=s;f[w>>2]=q;f[w+4>>2]=I;if((fg(i,g)|0?(g=f[h>>2]|0,w=f[i>>2]|0,g>>>0>=w>>>0):0)?g>>>0<=(((w>>>0)/3|0)+w|0)>>>0:0){do if(fg(j,f[(f[n>>2]|0)+32>>2]|0)|0?(f[j>>2]|0)>>>0<=(f[i>>2]|0)>>>0:0){w=f[a+24>>2]|0;g=a+28|0;q=f[g>>2]|0;if((q|0)!=(w|0))f[g>>2]=q+(~((q+-4-w|0)>>>2)<<2);w=dj(88)|0;fi(w);q=a+8|0;g=f[q>>2]|0;f[q>>2]=w;if(g|0?(pf(g),fn(g),(f[q>>2]|0)==0):0){x=0;break}g=a+160|0;w=f[g>>2]|0;s=a+164|0;v=f[s>>2]|0;if((v|0)!=(w|0))f[s>>2]=v+(~((v+-4-w|0)>>>2)<<2);Gg(g,f[h>>2]|0);g=a+172|0;w=f[g>>2]|0;v=a+176|0;s=f[v>>2]|0;if((s|0)!=(w|0))f[v>>2]=s+(~((s+-4-w|0)>>>2)<<2);Gg(g,f[h>>2]|0);g=f[a+36>>2]|0;w=a+40|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~(((s+-12-g|0)>>>0)/12|0)*12|0);g=f[a+48>>2]|0;s=a+52|0;w=f[s>>2]|0;if((w|0)!=(g|0))f[s>>2]=w+(~((w+-4-g|0)>>>2)<<2);f[a+64>>2]=0;g=f[a+72>>2]|0;w=a+76|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~((s+-4-g|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;s=f[g>>2]|0;w=a+220|0;v=f[w>>2]|0;if((v|0)!=(s|0)){t=v;do{f[w>>2]=t+-144;v=f[t+-12>>2]|0;if(v|0){y=t+-8|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-28>>2]|0;if(v|0){z=t+-24|0;y=f[z>>2]|0;if((y|0)!=(v|0))f[z>>2]=y+(~((y+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-40>>2]|0;if(v|0){y=t+-36|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}wf(t+-140|0);t=f[w>>2]|0}while((t|0)!=(s|0))}s=p&255;Pe(g,s);if(!(If(f[q>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0)){x=0;break}t=(f[j>>2]|0)+(f[o>>2]|0)|0;b[e>>0]=1;le(a+120|0,t,e);if((Fc(a,f[(f[n>>2]|0)+32>>2]|0)|0)==-1){x=0;break}t=a+232|0;f[a+376>>2]=a;v=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;z=f[v>>2]|0;v=(f[z>>2]|0)+(f[z+16>>2]|0)|0;z=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;y=f[z>>2]|0;z=y+8|0;A=y+16|0;y=Vj(f[z>>2]|0,f[z+4>>2]|0,f[A>>2]|0,f[A+4>>2]|0)|0;A=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Yi(t,v,y,d[(f[A>>2]|0)+38>>1]|0);f[a+372>>2]=s;Di(k);s=a+272|0;A=s;y=t;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));a:do if(ch(s,1,e)|0){A=t;y=s;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));z=e;B=f[z>>2]|0;C=f[z+4>>2]|0;z=a+240|0;D=a+248|0;E=D;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[z>>2]|0,f[z+4>>2]|0,F|0,G|0)|0;z=I;if(C>>>0>z>>>0|(C|0)==(z|0)&B>>>0>E>>>0){H=50;break}E=Tj(F|0,G|0,B|0,C|0)|0;C=D;f[C>>2]=E;f[C+4>>2]=I;if(!(ud(a+312|0,t)|0)){J=0;break}if(!(tf(t)|0)){J=0;break}A=k;y=t;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));C=_a(a,f[i>>2]|0)|0;if((C|0)==-1){J=0;break}E=f[(f[n>>2]|0)+32>>2]|0;D=k+16|0;B=f[D>>2]|0;G=(f[k>>2]|0)+B|0;F=k+8|0;z=Vj(f[F>>2]|0,f[F+4>>2]|0,B|0,f[D+4>>2]|0)|0;Yi(E,G,z,d[E+38>>1]|0);do if((f[w>>2]|0)!=(f[g>>2]|0)){E=f[q>>2]|0;if((f[E+4>>2]|0)==(f[E>>2]|0))break;E=0;do{f[l>>2]=E;f[e>>2]=f[l>>2];E=E+3|0;if(!(Fb(a,e)|0)){J=0;break a}z=f[q>>2]|0}while(E>>>0<(f[z+4>>2]|0)-(f[z>>2]|0)>>2>>>0)}while(0);if(b[a+308>>0]|0)di(s);E=f[g>>2]|0;if((f[w>>2]|0)!=(E|0)){z=0;G=E;do{te(G+(z*144|0)+4|0,f[q>>2]|0)|0;E=f[g>>2]|0;D=f[E+(z*144|0)+132>>2]|0;B=f[E+(z*144|0)+136>>2]|0;if((D|0)==(B|0))K=E;else{F=D;D=E;while(1){f[m>>2]=f[F>>2];f[e>>2]=f[m>>2];ae(D+(z*144|0)+4|0,e);F=F+4|0;E=f[g>>2]|0;if((F|0)==(B|0)){K=E;break}else D=E}}Nh(K+(z*144|0)+4|0,0,0);z=z+1|0;G=f[g>>2]|0}while(z>>>0<(((f[w>>2]|0)-G|0)/144|0)>>>0)}G=f[q>>2]|0;z=(f[G+28>>2]|0)-(f[G+24>>2]|0)>>2;G=a+196|0;D=a+200|0;B=f[D>>2]|0;F=f[G>>2]|0;E=B-F>>2;L=F;F=B;do if(z>>>0>E>>>0)hf(G,z-E|0);else{if(z>>>0>=E>>>0)break;B=L+(z<<2)|0;if((B|0)==(F|0))break;f[D>>2]=F+(~((F+-4-B|0)>>>2)<<2)}while(0);Gg(a+184|0,z);F=f[g>>2]|0;if((f[w>>2]|0)!=(F|0)){D=0;L=F;do{F=L;E=(f[F+(D*144|0)+60>>2]|0)-(f[F+(D*144|0)+56>>2]|0)>>2;G=f[q>>2]|0;B=(f[G+28>>2]|0)-(f[G+24>>2]|0)>>2;G=(E|0)<(B|0)?B:E;E=F+(D*144|0)+116|0;B=F+(D*144|0)+120|0;M=f[B>>2]|0;N=f[E>>2]|0;O=M-N>>2;P=N;N=M;do if(G>>>0>O>>>0)hf(E,G-O|0);else{if(G>>>0>=O>>>0)break;M=P+(G<<2)|0;if((M|0)==(N|0))break;f[B>>2]=N+(~((N+-4-M|0)>>>2)<<2)}while(0);Gg(F+(D*144|0)+104|0,G);D=D+1|0;L=f[g>>2]|0}while(D>>>0<(((f[w>>2]|0)-L|0)/144|0)>>>0)}J=fb(a,C)|0}else H=50;while(0);if((H|0)==50)J=0;x=J}else x=0;while(0);Q=x}else Q=0;R=Q}else R=0;r=R;u=c;return r|0}function hb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=nn()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)ll(a,w,y);if(y|0){s=y;t=x;continue}y=(Qm(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Qm(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Uh(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Uh(j)|0;$=O;aa=f[j>>2]|0;break}if(Qm(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(9878+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}Zc(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Yh(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=10342;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=Vj(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=10342;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?10342:10344):10343;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=10342;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=10342;za=o;Aa=1;Ba=O;break}case 109:{ja=nn()|0;Ca=ql(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:10352;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){eh(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=eb(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=10342;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=Hh(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?10342:10342+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=sg(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=Gd(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=10342;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=bl(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}eh(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=bl(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}ll(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;eh(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;eh(a,32,ja,O,Ba);ll(a,ya,xa);eh(a,48,ja,O,Ba^65536);eh(a,48,F,Q,0);ll(a,wa,Q);eh(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}Zc(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function ib(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;c=u;u=u+80|0;e=c+64|0;g=c+60|0;h=c+56|0;i=c+52|0;j=c+48|0;k=c;l=c+44|0;m=c+40|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;fn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(fg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];if(((fg(h,f[(f[n>>2]|0)+32>>2]|0)|0?(g=f[h>>2]|0,g>>>0<=1431655765):0)?(f[o>>2]|0)>>>0<=(g*3|0)>>>0:0)?(g=f[(f[n>>2]|0)+32>>2]|0,p=g+8|0,q=f[p+4>>2]|0,s=g+16|0,t=s,v=f[t>>2]|0,w=f[t+4>>2]|0,(q|0)>(w|0)|((q|0)==(w|0)?(f[p>>2]|0)>>>0>v>>>0:0)):0){p=b[(f[g>>2]|0)+v>>0]|0;q=Tj(v|0,w|0,1,0)|0;w=s;f[w>>2]=q;f[w+4>>2]=I;if((fg(i,g)|0?(g=f[h>>2]|0,w=f[i>>2]|0,g>>>0>=w>>>0):0)?g>>>0<=(((w>>>0)/3|0)+w|0)>>>0:0){do if(fg(j,f[(f[n>>2]|0)+32>>2]|0)|0?(f[j>>2]|0)>>>0<=(f[i>>2]|0)>>>0:0){w=f[a+24>>2]|0;g=a+28|0;q=f[g>>2]|0;if((q|0)!=(w|0))f[g>>2]=q+(~((q+-4-w|0)>>>2)<<2);w=dj(88)|0;fi(w);q=a+8|0;g=f[q>>2]|0;f[q>>2]=w;if(g|0?(pf(g),fn(g),(f[q>>2]|0)==0):0){x=0;break}g=a+160|0;w=f[g>>2]|0;s=a+164|0;v=f[s>>2]|0;if((v|0)!=(w|0))f[s>>2]=v+(~((v+-4-w|0)>>>2)<<2);Gg(g,f[h>>2]|0);g=a+172|0;w=f[g>>2]|0;v=a+176|0;s=f[v>>2]|0;if((s|0)!=(w|0))f[v>>2]=s+(~((s+-4-w|0)>>>2)<<2);Gg(g,f[h>>2]|0);g=f[a+36>>2]|0;w=a+40|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~(((s+-12-g|0)>>>0)/12|0)*12|0);g=f[a+48>>2]|0;s=a+52|0;w=f[s>>2]|0;if((w|0)!=(g|0))f[s>>2]=w+(~((w+-4-g|0)>>>2)<<2);f[a+64>>2]=0;g=f[a+72>>2]|0;w=a+76|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~((s+-4-g|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;s=f[g>>2]|0;w=a+220|0;v=f[w>>2]|0;if((v|0)!=(s|0)){t=v;do{f[w>>2]=t+-144;v=f[t+-12>>2]|0;if(v|0){y=t+-8|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-28>>2]|0;if(v|0){z=t+-24|0;y=f[z>>2]|0;if((y|0)!=(v|0))f[z>>2]=y+(~((y+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-40>>2]|0;if(v|0){y=t+-36|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}wf(t+-140|0);t=f[w>>2]|0}while((t|0)!=(s|0))}s=p&255;Pe(g,s);if(!(If(f[q>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0)){x=0;break}t=(f[j>>2]|0)+(f[o>>2]|0)|0;b[e>>0]=1;le(a+120|0,t,e);if((Fc(a,f[(f[n>>2]|0)+32>>2]|0)|0)==-1){x=0;break}t=a+232|0;f[a+376>>2]=a;v=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;z=f[v>>2]|0;v=(f[z>>2]|0)+(f[z+16>>2]|0)|0;z=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;y=f[z>>2]|0;z=y+8|0;A=y+16|0;y=Vj(f[z>>2]|0,f[z+4>>2]|0,f[A>>2]|0,f[A+4>>2]|0)|0;A=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Yi(t,v,y,d[(f[A>>2]|0)+38>>1]|0);A=Na[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=A;f[a+384>>2]=(f[j>>2]|0)+(f[o>>2]|0);f[a+372>>2]=s;Di(k);a:do if(ic(t,k)|0){s=Za(a,f[i>>2]|0)|0;if((s|0)==-1){B=0;break}A=f[(f[n>>2]|0)+32>>2]|0;y=k+16|0;v=f[y>>2]|0;z=(f[k>>2]|0)+v|0;C=k+8|0;D=Vj(f[C>>2]|0,f[C+4>>2]|0,v|0,f[y+4>>2]|0)|0;Yi(A,z,D,d[A+38>>1]|0);do if((f[w>>2]|0)!=(f[g>>2]|0)){A=f[q>>2]|0;if((f[A+4>>2]|0)==(f[A>>2]|0))break;A=0;do{f[l>>2]=A;f[e>>2]=f[l>>2];A=A+3|0;if(!(Fb(a,e)|0)){B=0;break a}D=f[q>>2]|0}while(A>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}while(0);if(b[a+308>>0]|0)di(a+272|0);A=f[g>>2]|0;if((f[w>>2]|0)!=(A|0)){D=0;z=A;do{te(z+(D*144|0)+4|0,f[q>>2]|0)|0;A=f[g>>2]|0;y=f[A+(D*144|0)+132>>2]|0;v=f[A+(D*144|0)+136>>2]|0;if((y|0)==(v|0))E=A;else{C=y;y=A;while(1){f[m>>2]=f[C>>2];f[e>>2]=f[m>>2];ae(y+(D*144|0)+4|0,e);C=C+4|0;A=f[g>>2]|0;if((C|0)==(v|0)){E=A;break}else y=A}}Nh(E+(D*144|0)+4|0,0,0);D=D+1|0;z=f[g>>2]|0}while(D>>>0<(((f[w>>2]|0)-z|0)/144|0)>>>0)}z=f[q>>2]|0;D=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;z=a+196|0;y=a+200|0;v=f[y>>2]|0;C=f[z>>2]|0;A=v-C>>2;F=C;C=v;do if(D>>>0>A>>>0)hf(z,D-A|0);else{if(D>>>0>=A>>>0)break;v=F+(D<<2)|0;if((v|0)==(C|0))break;f[y>>2]=C+(~((C+-4-v|0)>>>2)<<2)}while(0);Gg(a+184|0,D);C=f[g>>2]|0;if((f[w>>2]|0)!=(C|0)){y=0;F=C;do{C=F;A=(f[C+(y*144|0)+60>>2]|0)-(f[C+(y*144|0)+56>>2]|0)>>2;z=f[q>>2]|0;v=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;z=(A|0)<(v|0)?v:A;A=C+(y*144|0)+116|0;v=C+(y*144|0)+120|0;G=f[v>>2]|0;H=f[A>>2]|0;J=G-H>>2;K=H;H=G;do if(z>>>0>J>>>0)hf(A,z-J|0);else{if(z>>>0>=J>>>0)break;G=K+(z<<2)|0;if((G|0)==(H|0))break;f[v>>2]=H+(~((H+-4-G|0)>>>2)<<2)}while(0);Gg(C+(y*144|0)+104|0,z);y=y+1|0;F=f[g>>2]|0}while(y>>>0<(((f[w>>2]|0)-F|0)/144|0)>>>0)}B=fb(a,s)|0}else B=0;while(0);x=B}else x=0;while(0);L=x}else L=0;M=L}else M=0;r=M;u=c;return r|0}function jb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=La,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=ij(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Tj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=Tj(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=ij(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=Tj(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function kb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+32|0;if(!(fg(d,f[j>>2]|0)|0)){k=0;u=c;return k|0}if(!(fg(e,f[j>>2]|0)|0)){k=0;u=c;return k|0}l=f[d>>2]|0;if(l>>>0>1431655765){k=0;u=c;return k|0}m=f[e>>2]|0;n=ij(l|0,0,3,0)|0;o=I;if(o>>>0<0|(o|0)==0&n>>>0>>0){k=0;u=c;return k|0}n=f[j>>2]|0;o=n+8|0;p=f[o+4>>2]|0;q=n+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((p|0)>(t|0)|((p|0)==(t|0)?(f[o>>2]|0)>>>0>s>>>0:0))){k=0;u=c;return k|0}o=b[(f[n>>2]|0)+s>>0]|0;p=Tj(s|0,t|0,1,0)|0;r=I;v=q;f[v>>2]=p;f[v+4>>2]=r;a:do if(!(o<<24>>24)){if(!(fd(a,l)|0)){k=0;u=c;return k|0}}else{if(m>>>0<256){if(!l)break;v=a+44|0;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=n+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;b:do if((z|0)>(r|0)|(z|0)==(r|0)&y>>>0>p>>>0){x=0;A=n;B=l;C=p;D=r;E=z;F=y;while(1){G=A+16|0;H=f[A>>2]|0;J=b[H+C>>0]|0;K=Tj(C|0,D|0,1,0)|0;L=I;M=G;f[M>>2]=K;f[M+4>>2]=L;f[g>>2]=J&255;if(!((E|0)>(L|0)|(E|0)==(L|0)&F>>>0>K>>>0))break b;L=b[H+K>>0]|0;K=Tj(C|0,D|0,2,0)|0;J=I;M=G;f[M>>2]=K;f[M+4>>2]=J;f[q>>2]=L&255;if(!((E|0)>(J|0)|(E|0)==(J|0)&F>>>0>K>>>0))break b;J=b[H+K>>0]|0;K=Tj(C|0,D|0,3,0)|0;H=G;f[H>>2]=K;f[H+4>>2]=I;f[w>>2]=J&255;J=f[v>>2]|0;H=J+100|0;K=f[H>>2]|0;if((K|0)==(f[J+104>>2]|0)){ef(J+96|0,g);N=f[d>>2]|0}else{f[K>>2]=f[g>>2];f[K+4>>2]=f[g+4>>2];f[K+8>>2]=f[g+8>>2];f[H>>2]=(f[H>>2]|0)+12;N=B}x=x+1|0;if(x>>>0>=N>>>0)break a;A=f[j>>2]|0;H=A+16|0;C=f[H>>2]|0;D=f[H+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;H=A+8|0;F=f[H>>2]|0;E=f[H+4>>2]|0;if(!((E|0)>(D|0)|(E|0)==(D|0)&F>>>0>C>>>0))break;else B=N}}while(0);k=0;u=c;return k|0}if(m>>>0<65536){if(!l)break;v=a+44|0;w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=n+8|0;z=f[y>>2]|0;B=f[y+4>>2]|0;y=Tj(s|0,t|0,3,0)|0;C=I;c:do if(!((B|0)<(C|0)|(B|0)==(C|0)&z>>>0>>0)){F=0;D=n;E=p;A=y;x=C;H=r;K=B;J=z;G=l;while(1){L=D+16|0;M=f[D>>2]|0;O=M+E|0;P=h[O>>0]|h[O+1>>0]<<8;O=L;f[O>>2]=A;f[O+4>>2]=x;f[g>>2]=P&65535;P=Tj(E|0,H|0,4,0)|0;O=I;if((K|0)<(O|0)|(K|0)==(O|0)&J>>>0

>>0)break c;Q=M+A|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=P;f[Q+4>>2]=O;f[w>>2]=R&65535;R=Tj(E|0,H|0,6,0)|0;O=I;if((K|0)<(O|0)|(K|0)==(O|0)&J>>>0>>0)break c;Q=M+P|0;P=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=R;f[Q+4>>2]=O;f[q>>2]=P&65535;P=f[v>>2]|0;O=P+100|0;Q=f[O>>2]|0;if((Q|0)==(f[P+104>>2]|0)){ef(P+96|0,g);S=f[d>>2]|0}else{f[Q>>2]=f[g>>2];f[Q+4>>2]=f[g+4>>2];f[Q+8>>2]=f[g+8>>2];f[O>>2]=(f[O>>2]|0)+12;S=G}F=F+1|0;if(F>>>0>=S>>>0)break a;D=f[j>>2]|0;O=D+16|0;E=f[O>>2]|0;H=f[O+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;O=D+8|0;J=f[O>>2]|0;K=f[O+4>>2]|0;A=Tj(E|0,H|0,2,0)|0;x=I;if((K|0)<(x|0)|(K|0)==(x|0)&J>>>0>>0)break;else G=S}}while(0);k=0;u=c;return k|0}v=a+44|0;if((f[(f[v>>2]|0)+80>>2]|0)>>>0<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!l)break;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(fg(i,n)|0){z=0;do{f[g>>2]=f[i>>2];if(!(fg(i,f[j>>2]|0)|0))break d;f[q>>2]=f[i>>2];if(!(fg(i,f[j>>2]|0)|0))break d;f[w>>2]=f[i>>2];B=f[v>>2]|0;C=B+100|0;y=f[C>>2]|0;if((y|0)==(f[B+104>>2]|0))ef(B+96|0,g);else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[C>>2]=(f[C>>2]|0)+12}z=z+1|0;if(z>>>0>=(f[d>>2]|0)>>>0)break a;C=f[j>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(fg(i,C)|0)}while(0);k=0;u=c;return k|0}if(l|0){w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=n+8|0;C=f[z>>2]|0;y=f[z+4>>2]|0;z=Tj(s|0,t|0,5,0)|0;B=I;e:do if(!((y|0)<(B|0)|(y|0)==(B|0)&C>>>0>>0)){G=0;A=n;J=p;x=z;K=B;H=r;E=y;D=C;F=l;while(1){O=A+16|0;Q=f[A>>2]|0;P=Q+J|0;R=h[P>>0]|h[P+1>>0]<<8|h[P+2>>0]<<16|h[P+3>>0]<<24;P=O;f[P>>2]=x;f[P+4>>2]=K;f[g>>2]=R;R=Tj(J|0,H|0,8,0)|0;P=I;if((E|0)<(P|0)|(E|0)==(P|0)&D>>>0>>0)break e;L=Q+x|0;M=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=R;f[L+4>>2]=P;f[w>>2]=M;M=Tj(J|0,H|0,12,0)|0;P=I;if((E|0)<(P|0)|(E|0)==(P|0)&D>>>0>>0)break e;L=Q+R|0;R=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=M;f[L+4>>2]=P;f[q>>2]=R;R=f[v>>2]|0;P=R+100|0;L=f[P>>2]|0;if((L|0)==(f[R+104>>2]|0)){ef(R+96|0,g);T=f[d>>2]|0}else{f[L>>2]=f[g>>2];f[L+4>>2]=f[g+4>>2];f[L+8>>2]=f[g+8>>2];f[P>>2]=(f[P>>2]|0)+12;T=F}G=G+1|0;if(G>>>0>=T>>>0)break a;A=f[j>>2]|0;P=A+16|0;J=f[P>>2]|0;H=f[P+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;P=A+8|0;D=f[P>>2]|0;E=f[P+4>>2]|0;x=Tj(J|0,H|0,4,0)|0;K=I;if((E|0)<(K|0)|(E|0)==(K|0)&D>>>0>>0)break;else F=T}}while(0);k=0;u=c;return k|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];k=1;u=c;return k|0}function lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Af(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))Af(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Af(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))Af(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Af(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))Af(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){Af(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Af(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Af(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Af(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Af(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Tj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Tj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=ij(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Tj(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Tj(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Tj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2])&65535;d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Tj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Tj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Tj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=ij(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Tj(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Tj(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Tj(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2]);d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Tj(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function ob(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=ij(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Tj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=ij(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Tj(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=ij(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Xf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Af(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=m;break}else{q=p;r=g+-1|0;s=m;break}}else{m=f[n+28>>2]|0;q=f[m+-4>>2]|0;r=-1;s=m}while(0);n=f[s+(r<<2)>>2]|0;if((q|0)==-1|(n|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;k=1<<(q&31);m=f[g>>2]|0;if(!(m&k)){f[g>>2]=m|k;k=f[b>>2]|0;m=k+1|0;if((k|0)==-1)t=-1;else t=((m>>>0)%3|0|0)==0?k+-2|0:m;f[e>>2]=t;m=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=m;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Af(k,d);else{f[g>>2]=m;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;m=t+4|0;k=f[m>>2]|0;if((k|0)==(f[t+8>>2]|0)){Af(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[s>>2]|0;if(!(t&w)){f[s>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;s=f[x>>2]|0;if((s|0)==(f[t+8>>2]|0))Af(t,d);else{f[s>>2]=w;f[x>>2]=s+4}s=a+40|0;x=f[s>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Af(x,e);y=f[s>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;s=n;n=x;a:while(1){x=f[s+-4>>2]|0;f[b>>2]=x;q=(x>>>0)/3|0;if((x|0)!=-1?(x=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[x>>2]|0,(q&v|0)==0):0){f[x>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;x=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((x|0)==-1){h=0;z=79;break}else{A=x;B=v;C=q}b:while(1){q=(f[r>>2]|0)+(A>>>5<<2)|0;v=1<<(A&31);x=f[q>>2]|0;do if(!(x&v)){k=f[(f[B+40>>2]|0)+(A<<2)>>2]|0;if((k|0)==-1)D=1;else{m=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(m&31)&f[(f[B+12>>2]|0)+(m>>>5<<2)>>2]|0)!=0}f[q>>2]=x|v;m=f[b>>2]|0;f[e>>2]=m;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[t>>2]|0;f[d>>2]=k;g=f[m+4>>2]|0;m=g+4|0;p=f[m>>2]|0;if((p|0)==(f[g+8>>2]|0))Af(g,d);else{f[p>>2]=k;f[m>>2]=p+4}p=f[w>>2]|0;m=p+4|0;k=f[m>>2]|0;if((k|0)==(f[p+8>>2]|0)){Af(p,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;E=p}p=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[p>>2];f[p>>2]=(f[p>>2]|0)+1;p=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=p;z=59;break}m=k+1|0;do if((k|0)==-1)H=-1;else{g=((m>>>0)%3|0|0)==0?k+-2|0:m;if((g|0)==-1){H=-1;break}if(f[(f[p>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[p+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=p}else{F=C;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=60;break}x=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((x|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);f[d>>2]=K;x=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((x|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);x=(K|0)==-1;v=(K>>>0)/3|0;q=x?-1:v;m=(L|0)==-1;k=(L>>>0)/3|0;g=m?-1:k;do if(!x){M=f[j>>2]|0;if(f[M+(q>>>5<<2)>>2]&1<<(q&31)|0){z=69;break}if(m){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(m){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=O;J=G}v=(f[j>>2]|0)+(I>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(I&31);C=f[b>>2]|0;A=f[(f[J+28>>2]|0)+(C<<2)>>2]|0;if((A|0)==-1){h=0;z=79;break a}else B=J}do if((z|0)==60){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Af(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];q=v+4|0;f[l>>2]=q;P=q;break}}while(0);if((z|0)==71){z=0;q=(f[l>>2]|0)+-4|0;f[l>>2]=q;P=q}Q=f[i>>2]|0;R=P}else{q=s+-4|0;f[l>>2]=q;Q=n;R=q}if((Q|0)==(R|0)){h=1;z=79;break}else{s=R;n=Q}}if((z|0)==79){u=c;return h|0}return 0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Tj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Tj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Tj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=ij(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Tj(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2])&255;b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Tj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Tj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=ij(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Tj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=ij(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Tj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=ij(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Tj(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=ij(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=ij(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Tj(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2]);b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=ij(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Tj(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=ij(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Xf(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Af(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Af(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Af(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Af(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Af(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Af(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Af(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=D}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=N;J=G}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=J}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Af(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function ub(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)xm(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)xm(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];jb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];jb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];jb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Vj(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Vj(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=ij(s|0,x|0,s|0,x|0)|0;N=I;O=ij(E|0,D|0,E|0,D|0)|0;P=Tj(O|0,I|0,M|0,N|0)|0;N=I;M=ij(J|0,H|0,J|0,H|0)|0;O=Tj(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Vj(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Vj(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Vj(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=ij(P|0,C|0,s|0,x|0)|0;F=I;Q=ij(N|0,G|0,E|0,D|0)|0;R=Tj(Q|0,I|0,K|0,F|0)|0;F=I;K=ij(y|0,L|0,J|0,H|0)|0;Q=Tj(R|0,F|0,K|0,I|0)|0;K=I;F=Vj(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;R=Vj(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;S=ij(O|0,M|0,p|0,q|0)|0;q=I;p=ij(O|0,M|0,n|0,o|0)|0;o=I;n=ij(Q|0,K|0,F|0,t|0)|0;T=I;U=ij(Q|0,K|0,R|0,v|0)|0;V=I;W=Tj(n|0,T|0,S|0,q|0)|0;q=I;S=Tj(U|0,V|0,p|0,o|0)|0;o=I;p=ij(Q|0,K|0,s|0,x|0)|0;x=I;s=ij(Q|0,K|0,E|0,D|0)|0;D=I;E=ij(Q|0,K|0,J|0,H|0)|0;H=I;J=Wg(p|0,x|0,O|0,M|0)|0;x=I;p=Wg(s|0,D|0,O|0,M|0)|0;D=I;s=Wg(E|0,H|0,O|0,M|0)|0;H=I;E=Vj(P|0,C|0,J|0,x|0)|0;x=I;J=Vj(N|0,G|0,p|0,D|0)|0;D=I;p=Vj(y|0,L|0,s|0,H|0)|0;H=I;s=ij(E|0,x|0,E|0,x|0)|0;x=I;E=ij(J|0,D|0,J|0,D|0)|0;D=Tj(E|0,I|0,s|0,x|0)|0;x=I;s=ij(p|0,H|0,p|0,H|0)|0;H=Tj(D|0,x|0,s|0,I|0)|0;s=I;x=Vj(0,0,F|0,t|0)|0;t=I;F=ij(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=23}break}case 1:{if(!s){ca=1;da=0;ba=24}else{Z=1;_=0;$=F;aa=s;ba=23}break}default:{Z=1;_=0;$=F;aa=s;ba=23}}if((ba|0)==23)while(1){ba=0;H=Qj(Z|0,_|0,1)|0;D=I;p=$;$=Wj($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&p>>>0>7)){ca=H;da=D;ba=24;break}else{Z=H;_=D;aa=I;ba=23}}if((ba|0)==24)while(1){ba=0;D=Il(F|0,s|0,ca|0,da|0)|0;H=Tj(D|0,I|0,ca|0,da|0)|0;D=Wj(H|0,I|0,1)|0;H=I;p=ij(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&p>>>0>F>>>0){ca=D;da=H;ba=24}else{X=D;Y=H;break}}F=ij(X|0,Y|0,R|0,v|0)|0;s=I;H=ij(X|0,Y|0,x|0,t|0)|0;D=I;p=a+20|0;E=f[p>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[p>>2]=J;J=Vj(0,0,F|0,s|0)|0;p=Tj(W|0,q|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Vj(0,0,H|0,D|0)|0;F=Tj(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Wg(p|0,s|0,O|0,M|0)|0;s=Wg(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(r)fa=m<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function vb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)xm(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)xm(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];jb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];jb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];jb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Vj(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Vj(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=ij(s|0,x|0,s|0,x|0)|0;N=I;O=ij(E|0,D|0,E|0,D|0)|0;P=Tj(O|0,I|0,M|0,N|0)|0;N=I;M=ij(J|0,H|0,J|0,H|0)|0;O=Tj(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Vj(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Vj(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Vj(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=ij(P|0,C|0,s|0,x|0)|0;F=I;Q=ij(N|0,G|0,E|0,D|0)|0;R=Tj(Q|0,I|0,K|0,F|0)|0;F=I;K=ij(y|0,L|0,J|0,H|0)|0;Q=Tj(R|0,F|0,K|0,I|0)|0;K=I;F=Vj(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;R=Vj(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;S=ij(O|0,M|0,c|0,m|0)|0;m=I;c=ij(O|0,M|0,r|0,o|0)|0;o=I;r=ij(Q|0,K|0,F|0,t|0)|0;T=I;U=ij(Q|0,K|0,R|0,v|0)|0;V=I;W=Tj(r|0,T|0,S|0,m|0)|0;m=I;S=Tj(U|0,V|0,c|0,o|0)|0;o=I;c=ij(Q|0,K|0,s|0,x|0)|0;x=I;s=ij(Q|0,K|0,E|0,D|0)|0;D=I;E=ij(Q|0,K|0,J|0,H|0)|0;H=I;J=Wg(c|0,x|0,O|0,M|0)|0;x=I;c=Wg(s|0,D|0,O|0,M|0)|0;D=I;s=Wg(E|0,H|0,O|0,M|0)|0;H=I;E=Vj(P|0,C|0,J|0,x|0)|0;x=I;J=Vj(N|0,G|0,c|0,D|0)|0;D=I;c=Vj(y|0,L|0,s|0,H|0)|0;H=I;s=ij(E|0,x|0,E|0,x|0)|0;x=I;E=ij(J|0,D|0,J|0,D|0)|0;D=Tj(E|0,I|0,s|0,x|0)|0;x=I;s=ij(c|0,H|0,c|0,H|0)|0;H=Tj(D|0,x|0,s|0,I|0)|0;s=I;x=Vj(0,0,F|0,t|0)|0;t=I;F=ij(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=22}break}case 1:{if(!s){ca=1;da=0;ba=23}else{Z=1;_=0;$=F;aa=s;ba=22}break}default:{Z=1;_=0;$=F;aa=s;ba=22}}if((ba|0)==22)while(1){ba=0;H=Qj(Z|0,_|0,1)|0;D=I;c=$;$=Wj($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&c>>>0>7)){ca=H;da=D;ba=23;break}else{Z=H;_=D;aa=I;ba=22}}if((ba|0)==23)while(1){ba=0;D=Il(F|0,s|0,ca|0,da|0)|0;H=Tj(D|0,I|0,ca|0,da|0)|0;D=Wj(H|0,I|0,1)|0;H=I;c=ij(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&c>>>0>F>>>0){ca=D;da=H;ba=23}else{X=D;Y=H;break}}F=ij(X|0,Y|0,R|0,v|0)|0;s=I;H=ij(X|0,Y|0,x|0,t|0)|0;D=I;c=a+20|0;E=f[c>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[c>>2]=J;J=Vj(0,0,F|0,s|0)|0;c=Tj(W|0,m|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Vj(0,0,H|0,D|0)|0;F=Tj(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Wg(c|0,s|0,O|0,M|0)|0;s=Wg(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(q)fa=n<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)xm(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];jb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];jb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];jb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Vj(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Vj(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Vj(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Vj(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Vj(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Vj(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=ij($|0,ia|0,ca|0,ba|0)|0;da=I;la=ij(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=ij(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=ij($|0,ia|0,Q|0,L|0)|0;ia=I;$=ij(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=ij(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Vj(C|0,D|0,la|0,ma|0)|0;ma=Tj(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Tj(na|0,fa|0,E|0,F|0)|0;fa=Vj(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Vj(G|0,H|0,Q|0,ba|0)|0;ba=Tj(ga|0,I|0,$|0,L|0)|0;L=I;Fe(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)xm(W);else if((V|0)==28)xm(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=Vj(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=Vj(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=Vj(0,0,ua|0,ta|0)|0;i=Tj((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=Tj(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=Wj(v|0,V|0,29)|0;Z=oa&7;oa=Wg(qa|0,pa|0,Z|0,0)|0;a=Wg(sa|0,ra|0,Z|0,0)|0;i=Wg(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Wj(v|0,V|0,29)|0;V=I;v=Wg(qa|0,pa|0,i|0,V|0)|0;pa=Wg(sa|0,ra|0,i|0,V|0)|0;ra=Wg(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=La,K=La,L=La,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=bc(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];ed(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{lf(j,m);o=f[j>>2]|0;p=f[d>>2]|0}ge(o|0,p|0,m|0)|0;Tf(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=o;r=p;s=0}else{lf(c,d);q=f[j>>2]|0;r=f[k>>2]|0;s=f[c>>2]|0}ge(s|0,q|0,r-q|0)|0;q=i+11|0;r=b[q>>0]|0;s=r<<24>>24<0;c=s?f[i>>2]|0:i;d=s?f[i+4>>2]|0:r&255;if(d>>>0>3){r=c;s=d;p=d;while(1){o=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(o>>>24^o,1540483477)|0)^(X(s,1540483477)|0);p=p+-4|0;if(p>>>0<=3)break;else r=r+4|0}r=d+-4|0;p=r&-4;t=r-p|0;v=c+(p+4)|0;w=s}else{t=d;v=c;w=d}switch(t|0){case 3:{x=h[v+2>>0]<<16^w;y=12;break}case 2:{x=w;y=12;break}case 1:{z=w;y=13;break}default:A=w}if((y|0)==12){z=h[v+1>>0]<<8^x;y=13}if((y|0)==13)A=X(z^h[v>>0],1540483477)|0;v=X(A>>>13^A,1540483477)|0;A=v>>>15^v;v=a+4|0;z=f[v>>2]|0;x=(z|0)==0;a:do if(!x){w=z+-1|0;t=(w&z|0)==0;if(!t)if(A>>>0>>0)B=A;else B=(A>>>0)%(z>>>0)|0;else B=A&w;s=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((s|0)!=0?(p=f[s>>2]|0,(p|0)!=0):0){s=(d|0)==0;if(t){if(s){t=p;while(1){r=f[t+4>>2]|0;if(!((r|0)==(A|0)|(r&w|0)==(B|0))){C=B;y=54;break a}r=b[t+8+11>>0]|0;if(!((r<<24>>24<0?f[t+12>>2]|0:r&255)|0))break a;t=f[t>>2]|0;if(!t){C=B;y=54;break a}}}else D=p;while(1){t=f[D+4>>2]|0;if(!((t|0)==(A|0)|(t&w|0)==(B|0))){C=B;y=54;break a}t=D+8|0;r=b[t+11>>0]|0;o=r<<24>>24<0;l=r&255;do if(((o?f[D+12>>2]|0:l)|0)==(d|0)){r=f[t>>2]|0;if(o)if(!(mh(r,c,d)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=t;E=l;F=c;do{E=E+-1|0;r=r+1|0;if(!E)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(s){w=p;while(1){l=f[w+4>>2]|0;if((l|0)!=(A|0)){if(l>>>0>>0)G=l;else G=(l>>>0)%(z>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}l=b[w+8+11>>0]|0;if(!((l<<24>>24<0?f[w+12>>2]|0:l&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else H=p;while(1){w=f[H+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)I=w;else I=(w>>>0)%(z>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}w=H+8|0;s=b[w+11>>0]|0;l=s<<24>>24<0;t=s&255;do if(((l?f[H+12>>2]|0:t)|0)==(d|0)){s=f[w>>2]|0;if(l)if(!(mh(s,c,d)|0))break a;else break;if((b[c>>0]|0)==(s&255)<<24>>24){s=w;o=t;F=c;do{o=o+-1|0;s=s+1|0;if(!o)break a;F=F+1|0}while((b[s>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){Ve(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(z>>>0);L=$(n[a+16>>2]);do if(x|$(L*K)>>0<3|(z+-1&z|0)!=0)&1;H=~~$(W($(J/L)))>>>0;Qe(a,B>>>0>>0?H:B);B=f[v>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=z;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){z=a+8|0;f[f[g>>2]>>2]=f[z>>2];f[z>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=z;z=f[g>>2]|0;N=f[z>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=z;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;fn(O)}if((b[q>>0]|0)<0)fn(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;fn(i);u=e;return}function yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)xm(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];jb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];jb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];jb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Vj(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Vj(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Vj(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Vj(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Vj(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Vj(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=ij(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=ij(da|0,_|0,aa|0,$|0)|0;ga=I;ha=ij(ea|0,W|0,aa|0,$|0)|0;$=I;aa=ij(K|0,ca|0,S|0,L|0)|0;ca=I;K=ij(da|0,_|0,S|0,L|0)|0;L=I;S=ij(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Vj(B|0,C|0,fa|0,ga|0)|0;ga=Tj(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Tj(ha|0,$|0,D|0,E|0)|0;$=Vj(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Vj(F|0,G|0,S|0,X|0)|0;X=Tj(aa|0,I|0,K|0,L|0)|0;L=I;Vd(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)xm(Q);else if((R|0)==21)xm(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=Vj(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=Vj(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=Vj(0,0,oa|0,na|0)|0;i=Tj((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=Tj(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=Wj(t|0,R|0,29)|0;U=ia&7;ia=Wg(ka|0,ja|0,U|0,0)|0;a=Wg(ma|0,la|0,U|0,0)|0;i=Wg(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Wj(t|0,R|0,29)|0;R=I;t=Wg(ka|0,ja|0,i|0,R|0)|0;ja=Wg(ma|0,la|0,i|0,R|0)|0;la=Wg(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Ae(i,m-q|0,2652);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;Gg(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{Ae(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)xm(e);t=dj(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)xm(g);else{A=dj(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;Xf(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);fn(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);fn(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);fn(ca)}h=1;u=c;return h|0}function Ab(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Tj(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Tj(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if((((f[a+220>>2]|0)-A|0)/144|0)>>>0<=z>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=Tj(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=I;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{lc(e,a,E);F=f[e>>2]|0;break}case 1:{_c(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(n<<24>>24<0|(D|0)!=0){v=0;u=d;return v|0}D=dj(88)|0;F=n<<24>>24;n=f[a+216>>2]|0;a=n+(F*144|0)+104|0;f[D+4>>2]=0;f[D>>2]=2348;E=D+12|0;f[E>>2]=2372;x=D+64|0;f[x>>2]=0;f[D+68>>2]=0;f[D+72>>2]=0;m=D+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[D+76>>2]=o;f[D+80>>2]=a;f[D+84>>2]=0;s=g+4|0;f[s>>2]=2372;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=n+(F*144|0)+4|0;f[i>>2]=2372;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[n+(F*144|0)+68>>2]|0;F=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;le(i+8|0,F,e);Sa[f[(f[i>>2]|0)+8>>2]&127](i);kd(j,i);kd(e,j);f[g>>2]=f[e+4>>2];F=g+4|0;xd(F,e)|0;f[e>>2]=2372;t=f[e+20>>2]|0;if(t|0)fn(t);t=f[e+8>>2]|0;if(t|0)fn(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=D;f[j>>2]=2372;o=f[j+20>>2]|0;if(o|0)fn(o);o=f[j+8>>2]|0;if(o|0)fn(o);f[D+8>>2]=f[g>>2];xd(E,F)|0;F=D+44|0;E=g+36|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];f[F+8>>2]=f[E+8>>2];f[F+12>>2]=f[E+12>>2];b[F+16>>0]=b[E+16>>0]|0;Ad(x,f[w>>2]|0,f[r>>2]|0);x=D;f[i>>2]=2372;D=f[i+20>>2]|0;if(D|0)fn(D);D=f[i+8>>2]|0;if(D|0)fn(D);D=f[w>>2]|0;if(D|0){w=f[r>>2]|0;if((w|0)!=(D|0))f[r>>2]=w+(~((w+-4-D|0)>>>2)<<2);fn(D)}f[s>>2]=2372;s=f[g+24>>2]|0;if(s|0)fn(s);s=f[g+12>>2]|0;if(s|0)fn(s);G=x}x=dj(64)|0;f[k>>2]=G;Ch(x,k);G=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Sa[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Sa[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){D=c+1|0;w=s;if(D>>>0>g>>>0){Md(x,D-g|0);break}if(D>>>0>>0?(r=k+(D<<2)|0,(r|0)!=(w|0)):0){D=w;do{w=D+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);D=f[l>>2]|0}while((D|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Sa[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Bb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[3224]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[3225]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[3222]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[3220]=f[3220]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=13184+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[3221]=f[3221]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[3226]|0)==(e|0)){r=(f[3223]|0)+m|0;f[3223]=r;f[3226]=l;f[l+4>>2]=r|1;if((l|0)!=(f[3225]|0))return;f[3225]=0;f[3222]=0;return}if((f[3225]|0)==(e|0)){r=(f[3222]|0)+m|0;f[3222]=r;f[3225]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[3220]=f[3220]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=13184+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[3221]=f[3221]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[3225]|0)){f[3222]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=12920+(m<<1<<2)|0;a=f[3220]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=13184+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[3221]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[3221]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[3228]|0)+-1|0;f[3228]=l;if(!l)D=13336;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[3228]=-1;return}function Cb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=La,F=La,G=La,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(mh(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(mh(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=dj(24)|0;Tf(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;Qe(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{hf(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=cn(i)|0;Xf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){dn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=1;p=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[o+(s<<2)>>2]|0;q=X(s,e)|0;if((v|0)!=-1?(w=f[(f[a>>2]|0)+(v<<2)>>2]|0,(w|0)!=-1):0){v=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[v+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[v+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[v+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(s|0)&(A|0)<(s|0)&(z|0)<(s|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((p|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;v=f[h>>2]|0;if((A|0)>(v|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=v;D=w}else{w=f[l>>2]|0;v=f[n>>2]|0;f[v+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=v}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{v=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+v|0;u=56}}else{F=v-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=p}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((p|0)>0){A=0;do{v=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((v|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(v|0)<(H|0)?H:v;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=p}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else p=G}if((u|0)==22){dn(j);return 1}else if((u|0)==24)xm(m);return 0}function Eb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{hf(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=cn(i)|0;Xf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){dn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=1;q=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[p+(s<<2)>>2]|0;w=X(s,e)|0;if((((v|0)!=-1?(f[(f[k>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(x|0)!=-1):0)?(v=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[v+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[v+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[v+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(s|0)&(B|0)<(s|0)&(A|0)<(s|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((q|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;v=f[h>>2]|0;if((B|0)>(v|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=v;C=y}else{y=f[l>>2]|0;v=f[n>>2]|0;f[v+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=v}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{v=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+v|0;u=53}}else{E=v-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=q}else{z=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((q|0)>0){B=0;do{v=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((v|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(v|0)<(G|0)?G:v;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=q}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else q=F}if((u|0)==22){dn(j);return 1}else if((u|0)==24)xm(m);return 0}function Fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=(e>>>0)/3|0;j=a+216|0;k=a+220|0;l=a+368|0;m=f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;if((m|0)!=-1)if(((m>>>0)/3|0)>>>0>=i>>>0?(f[k>>2]|0)!=(f[j>>2]|0):0){m=0;do{if(Yg((f[l>>2]|0)+(m<<4)|0)|0){n=f[j>>2]|0;f[d>>2]=e;o=n+(m*144|0)+136|0;p=f[o>>2]|0;if(p>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[p>>2]=e;f[o>>2]=p+4}else Af(n+(m*144|0)+132|0,d)}m=m+1|0}while(m>>>0<(((f[k>>2]|0)-(f[j>>2]|0)|0)/144|0)>>>0);q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{A=i;B=d;C=d;D=j;E=l;F=g;G=h;H=k;I=j;J=4}}else{j=a+216|0;A=-1;B=d;C=d;D=j;E=a+368|0;F=-1;G=-1;H=a+220|0;I=j;J=4}if((J|0)==4){j=f[H>>2]|0;a=f[I>>2]|0;if((j|0)==(a|0)){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D}else{k=0;h=j;j=a;while(1){a=j;f[d>>2]=e;g=a+(k*144|0)+136|0;l=f[g>>2]|0;if(l>>>0<(f[a+(k*144|0)+140>>2]|0)>>>0){f[l>>2]=e;f[g>>2]=l+4;K=j;L=h}else{Af(a+(k*144|0)+132|0,d);K=f[I>>2]|0;L=f[H>>2]|0}k=k+1|0;if(k>>>0>=((L-K|0)/144|0)>>>0){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D;break}else{h=L;j=K}}}}if((v|0)!=-1?(K=f[(f[(f[b>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(K|0)!=-1):0){if(((K>>>0)/3|0)>>>0>=q>>>0?(f[w>>2]|0)!=(f[x>>2]|0):0){K=0;do{if(Yg((f[y>>2]|0)+(K<<4)|0)|0){j=f[z>>2]|0;f[d>>2]=v;L=j+(K*144|0)+136|0;h=f[L>>2]|0;if(h>>>0<(f[j+(K*144|0)+140>>2]|0)>>>0){f[h>>2]=v;f[L>>2]=h+4}else Af(j+(K*144|0)+132|0,d)}K=K+1|0}while(K>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0)}}else J=27;if((J|0)==27?(J=f[w>>2]|0,K=f[x>>2]|0,(J|0)!=(K|0)):0){j=0;h=K;K=J;while(1){J=h;f[d>>2]=v;L=J+(j*144|0)+136|0;D=f[L>>2]|0;if(D>>>0<(f[J+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=v;f[L>>2]=D+4;M=h;N=K}else{Af(J+(j*144|0)+132|0,d);M=f[x>>2]|0;N=f[w>>2]|0}j=j+1|0;if(j>>>0>=((N-M|0)/144|0)>>>0)break;else{h=M;K=N}}}if((r|0)!=-1?(N=f[(f[(f[b>>2]|0)+12>>2]|0)+(r<<2)>>2]|0,(N|0)!=-1):0){if(((N>>>0)/3|0)>>>0>>0){u=c;return 1}if((f[w>>2]|0)==(f[x>>2]|0)){u=c;return 1}else O=0;do{if(Yg((f[y>>2]|0)+(O<<4)|0)|0){q=f[z>>2]|0;f[d>>2]=r;N=q+(O*144|0)+136|0;b=f[N>>2]|0;if(b>>>0<(f[q+(O*144|0)+140>>2]|0)>>>0){f[b>>2]=r;f[N>>2]=b+4}else Af(q+(O*144|0)+132|0,d)}O=O+1|0}while(O>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0);u=c;return 1}O=f[w>>2]|0;z=f[x>>2]|0;if((O|0)==(z|0)){u=c;return 1}else{P=0;Q=z;R=O}while(1){O=Q;f[d>>2]=r;z=O+(P*144|0)+136|0;y=f[z>>2]|0;if(y>>>0<(f[O+(P*144|0)+140>>2]|0)>>>0){f[y>>2]=r;f[z>>2]=y+4;S=Q;T=R}else{Af(O+(P*144|0)+132|0,d);S=f[x>>2]|0;T=f[w>>2]|0}P=P+1|0;if(P>>>0>=((T-S|0)/144|0)>>>0)break;else{Q=S;R=T}}u=c;return 1}function Gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Tj(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=dj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Tj(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(mh(d,9526,5)|0){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=9532;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Tj(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=dj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Tj(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=dj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Tj(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Tj(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Tj(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Tj(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=dj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9496;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Tf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;fn(k)}fn(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);fn(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;fn(m)}fn(n)}fn(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;fn(p)}fn(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);fn(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;fn(e)}fn(j)}fn(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){Ef(g);fn(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){Ef(p);fn(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{si(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return} -function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)xm(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;$k(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{m=dj(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)ge(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;fn(d);return}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Id(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=dj(40)|0;Tf(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Lc(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function gf(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)xm(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=dj(p)|0;if(g|0)Qk(o,m,g)|0;if(i|0)Qk(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Qk(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)fn(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Ul(o+p|0,l);u=k;return}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Xf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)xm(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;$k(d,9789);f[d>>2]=3704;va(d|0,856,80)}else{d=dj(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;Xf(d|0,0,b<<2|0)|0;if((i|0)>0)ge(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;fn(h);return}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}wf(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}fn(e);return}function kf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=ig(d)|0;if(g>>>0>4294967279)xm(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=dj(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){ge(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(_b(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}fn(f[e>>2]|0);u=a;return g|0}function lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)xm(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=dj(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)ge(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;fn(e);return}function mf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ii(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Na[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=956;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Oh(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=jh(c,f[a+16>>2]|0)|0;f[c>>2]=956;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);fn(a)}e=i;u=d;return e|0}function of(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}wf(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;fn(b);return}function pf(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Uf(c,g,e)|0;if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}fn(f[e>>2]|0);u=a;return h|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=vj(l,k+1|0,12304,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;jg(c,n,0);k=n;j=b[h>>0]|0}jg(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{hf(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)xm(b);else if((m|0)==12)return d|0;return 0}function tf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=cn(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Vk(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do i=i+-16|0;while((i|0)!=(c|0))}dn(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(ud((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;uf(a+20|0);if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)fn(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;fn(g)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)fn(d);fn(c);return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=_b(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;c=e;a=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e+4|0;e=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=d;d=c;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;a=c+4|0;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;g=1;return g|0}function wf(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0)fn(b);b=f[a>>2]|0;if(!b)return;fn(b);return}function xf(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=gj()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=12443;Bj(12393,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Pa[f[(f[194]|0)+16>>2]&31](776,k,g)|0){k=f[g>>2]|0;g=Na[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=12443;f[e+4>>2]=h;f[e+8>>2]=g;Bj(12307,e)}else{f[d>>2]=12443;f[d+4>>2]=h;Bj(12352,d)}}Bj(12431,b)}function yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=($m()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=nn()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=nn()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function zf(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}f[a+4>>2]=2420;b=f[a+24>>2]|0;if(b|0)fn(b);b=f[a+12>>2]|0;if(!b)return;fn(b);return}function Af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)xm(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;$k(k,9789);f[k>>2]=3704;va(k|0,856,80)}else{k=dj(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)ge(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;fn(d);return}function Bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;vf(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}fn(f[g>>2]|0);u=a;return +n}function Cf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=3084;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=nn()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=ye(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;eg(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}fn(f[g>>2]|0);u=a;return c|0}function Ef(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){Ef(h);fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)fn(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;fn(d);return}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=vf(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}fn(f[g>>2]|0);u=a;return h|0}function Gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=ig(d)|0;if(h>>>0>4294967279)xm(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ge(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=eg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}fn(f[g>>2]|0);u=a;return h|0}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(Hf(a,c)|0){j=a;e=Qj(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;td(a,e,2656);td(a+12|0,e,2652);Gg(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)fn(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}fn(b);d=1;return d|0}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Ie(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);fn(i)}f[a>>2]=f[h>>2];u=e;return}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;fn(a)}fn(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;fn(c)}fn(d)}fn(b);return}function Lf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){$f(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;Oj(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Ul(m+d|0,g)}u=e;return a|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;if((Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=mi(e,Oa[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=7;break}e=vh(f[c>>2]|0,g)|0;if(!e){d=0;h=7;break}a=a+1|0;if(!(Oa[f[(f[b>>2]|0)+28>>2]&127](b,e)|0)){d=0;h=7;break}if((a|0)>=(Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=7;break}}if((h|0)==7)return d|0;return 0}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Ok(l,c,d)|0;b[g>>0]=0;Ul(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;gf(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function Of(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+8|0;d=f[c>>2]|0;if(!d){fn(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}fn(g);fn(a);return}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));Gb(i,e,g);e=f[i>>2]|0;if(!e){k=i+4|0;if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);k=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=k;u=d;return}else{f[a>>2]=e;e=i+4|0;Tf(a+4|0,e);if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);u=d;return}}function Qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Zf(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function Rf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Sa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}fn(e);return}function Sf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Tj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=ec(a,c,d,e)|0;return g|0}case 1:{g=Ac(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function Tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)xm(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=dj(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Qk(i,g,h)|0;b[e>>0]=0;Ul(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=_b(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}jg(c,d-a|0,0);a=Lh(c,0)|0;c=f[b>>2]|0;ge(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Vf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function Wf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;$c(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(!i){f[e>>2]=0;j=h}else{pf(i);fn(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){pf(i);fn(i)}j=f[g>>2]|0}if(!j){k=0;u=d;return k|0}j=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;le(a+56|0,j,e);k=1;u=d;return k|0}function Xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Yf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Cl(a,f[c+8>>2]|0,g)|0)){if(Cl(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else Wi(0,c,d,e);while(0);return}function Zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){lf(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else Ld(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Tj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function _f(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1040;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}fn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;fn(c)}fn(d)}fn(a);return}function $f(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)xm(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=dj(m)|0;if(g|0)Qk(l,j,g)|0;k=e-h-g|0;if(k|0)Qk(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)fn(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function ag(a,b){a=a|0;b=b|0;if(!b)return;else{ag(a,f[b>>2]|0);ag(a,f[b+4>>2]|0);gg(b+20|0,f[b+24>>2]|0);fn(b);return}}function bg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=dj(32)|0,qj(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(g)}g=ci(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=ij(e|0,g|0,c|0,0)|0;if(!(Zf(h,0,i,I)|0)){j=0;return j|0}Xg(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(bb(a,g,j,i)|0)){k=0;u=e;return k|0}qd(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Cl(a,b,0)|0))if((b|0)!=0?(g=Ce(b,800,784,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Va[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=_b(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function fg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(fg(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function gg(a,c){a=a|0;c=c|0;var d=0;if(!c)return;gg(a,f[c>>2]|0);gg(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)fn(f[d>>2]|0);if((b[a+11>>0]|0)<0)fn(f[a>>2]|0);fn(c);return}function hg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;d=f[b>>2]|0;if(!d){fn(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Sa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}fn(g);fn(a);return}function ig(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function jg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Ul(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Ul(a+c|0,g);b[h>>0]=c;break}else Lf(a,c-k|0,d)|0;while(0);u=e;return}function kg(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}fn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;fn(c)}fn(d)}fn(a);return}function lg(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=dj(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=wd(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;pf(a);fn(a);return}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(ln(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=og(c,a)|0;kn(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=og(c,a)|0}while(0);return j|0}function og(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Ih(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Pa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function pg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=8408;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;ug(Ub(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}fn(f[g>>2]|0);u=d;return}function qg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Sa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}fn(e);return}function rg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2296;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ii(a+232|0);return}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=bj(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=Il(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function tg(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(zm(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Qm(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Qm(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;yh(g,d&1);d=ff(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}fe(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Wd(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=tg(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function xg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function yg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[10412+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=10500;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=10500;else{i=10500;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return Em(k,f[c+20>>2]|0)|0}function zg(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Wj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+zg(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function Ag(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;e=u;u=u+16|0;d=e;c=dj(32)|0;f[d>>2]=c;f[d+8>>2]=-2147483616;f[d+4>>2]=26;g=c;h=8360;i=g+26|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Tf(a+4|0,d);if((b[d+11>>0]|0)>=0){u=e;return}fn(f[d>>2]|0);u=e;return}function Bg(a){a=a|0;var b=0,c=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Cg(a){a=a|0;var b=0,c=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)xm(a);h=dj(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;ge(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;$k(g,9789);f[g>>2]=3704;va(g|0,856,80)}g=(f[e>>2]|0)-d|0;h=dj(b<<2)|0;if((g|0)>0)ge(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;fn(d);return}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=dj(20)|0;fk(c);d=c;break}case 1:{c=dj(24)|0;Fk(c);d=c;break}case 2:{c=dj(36)|0;rj(c);d=c;break}case 3:{c=dj(28)|0;xk(c);d=c;break}default:d=0}f[a>>2]=d;return}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{_d(a+40|0,b);d=1;return d|0}return 0}function Kg(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function Lg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Zg(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function Ng(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Og(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Pg(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)fn(f[c>>2]|0);ag(a+12|0,f[a+16>>2]|0);gg(a,f[a+4>>2]|0);fn(a);return}function Qg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b)return;fn(b);return}function Rg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){fn(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}fn(g)}fn(a);return}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Hb(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{si(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Tg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b)return;fn(b);return}function Ug(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+84>>2]|0;if(!b){Ud(a);fn(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);Ud(a);fn(a);return}function Wg(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Vj(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Vj((fc(i,b,Vj(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Xg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Yg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=b[a+12>>0]|0;d=a+8|0;e=f[d>>2]|0;if(e>>>0<4096?(g=a+4|0,i=f[g>>2]|0,(i|0)>0):0){j=f[a>>2]|0;a=i+-1|0;f[g>>2]=a;g=e<<8|(h[j+a>>0]|0);f[d>>2]=g;k=g}else k=e;e=k&255;g=0-c&255;c=X(k>>>8,g)|0;a=e>>>0>>0;f[d>>2]=a?c+e|0:k-g-c|0;return a|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else lf(a,b-g|0);g=a+24|0;a=g;b=Tj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function _g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ag(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ji(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}fn(f[c>>2]|0);u=e;return d|0}function $g(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+84>>2]|0;if(!b){Ud(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);Ud(a);return}function ah(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;od(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ji(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}fn(f[c>>2]|0);u=e;return d|0}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(c?!(Hf(d,a)|0):0){e=0;return e|0}b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;g=(f[a>>2]|0)+c|0;h=a+8|0;i=Vj(f[h>>2]|0,f[h+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=g;f[a+28>>2]=g+i;e=1;return e|0}function dh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function eh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Xf(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ll(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ll(a,g,h)}u=f;return}function fh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Oa[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(bg(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Pa[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function hh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function ih(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Cl(a,f[b+8>>2]|0,g)|0)Vf(0,b,c,d,e);else{h=f[a+8>>2]|0;Xa[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function jh(a,b){a=a|0;b=b|0;var c=0;c=dj(40)|0;f[c>>2]=-1;qj(c+8|0);Ta[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;fn(c)}fn(b);return 1}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function nh(a){a=a|0;var b=0,c=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function oh(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)dn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){_f(a);fn(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);_f(a);fn(a);return}function ph(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;jg(a,d,0);return}function qh(a){a=a|0;var b=0,c=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function rh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=984;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function sh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1740;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function th(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)dn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){_f(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);_f(a);return}function uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Cl(a,f[b+8>>2]|0,0)|0)Ug(0,b,c,d);else{e=f[a+8>>2]|0;Va[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function vh(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Oa[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function wh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function xh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1488;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function yh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;ph(d);rf(a,d,b);Kk(d);u=c;return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((kk(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=Je(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function Ch(a,b){a=a|0;b=b|0;var c=0;Mi(a);f[a>>2]=1088;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function Dh(a){a=a|0;var b=0,c=0;f[a>>2]=1740;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Eh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Fh(a){a=a|0;var b=0,c=0;f[a>>2]=1488;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Hh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[10394+(c&15)>>0]|0|e;c=Wj(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Ih(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Kh(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)xm(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Mh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Kb(a,b,c);return}else{Ob(a,0,0);return}}function Oh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;qd(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Ph(a,b){a=a|0;b=b|0;var c=0;if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Rh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(zj(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Sh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Th(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;Pf(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}fn(f[e>>2]|0);u=a;return c|0}function Uh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Qm(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Qm(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Vh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(zj(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Xh(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=Wj(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Zh(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function _h(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function $h(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Cl(a,f[b+8>>2]|0,g)|0)Vf(0,b,c,d,e);return}function ai(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;le(a+20|0,g,d);u=c;return}function bi(a,b,c){a=a|0;b=b|0;c=c|0;return Rb(a,b,c)|0}function ci(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function di(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Tj(f[a+32>>2]|0,0,7,0)|0;d=Wj(c|0,I|0,3)|0;c=a+16|0;a=c;e=Tj(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function ei(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;le(a+20|0,g,d);u=c;return}function fi(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;sd(c,d,d+12|0);return 1}function hi(){var a=0,b=0;a=dj(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function ii(a){a=a|0;f[a>>2]=2396;zf(a+8|0);fn(a);return}function ji(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Nf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ig(b)|0;d=dj(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=am(d)|0;ge(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function mi(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function ni(a){a=a|0;f[a>>2]=2396;zf(a+8|0);return}function oi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Tb(a,b,c,d,e);return}function pi(a){a=a|0;var b=0,c=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Cl(a,f[b+8>>2]|0,0)|0)Ug(0,b,c,d);return}function ri(a){a=a|0;var b=0;f[a>>2]=2616;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function si(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else ge(a,c,d)|0;return a|0}function ti(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b){fn(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Pa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function vi(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function wi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function xi(){var a=0,b=0;a=gj()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Tk(f[b+12>>2]|0);Tk(om()|0)}function yi(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function zi(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}fn(a);return}function Ai(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);fn(b)}fn(a);return}function Bi(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Ci(a){a=a|0;var b=0,c=0;if(Km(a)|0?(b=gm(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)fn(b);return}function Di(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function Ei(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);_f(a);fn(a);return}function Fi(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function Gi(a){a=a|0;var b=0,c=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Hi(a,b,c){a=a|0;b=b|0;c=c|0;xb(a,b,c);return}function Ii(a){a=a|0;Di(a);Di(a+40|0);Vk(a+80|0);Di(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Ji(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);_f(a);return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;return yc(a,b,5,6,c)|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;return wc(a,b,3,4,c)|0}function Mi(a){a=a|0;var b=0;f[a>>2]=984;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return Bc(a,b,1,2,c)|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,3,4,c)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return zc(a,b,5,6,c)|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;ge(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return Cc(a,b,1,2,c)|0}function Si(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Ti(){var a=0,b=0;a=dj(24)|0;f[a>>2]=956;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Ui(a){a=a|0;var c=0;Sh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Vi(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;fn(b)}fn(a);return}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Xi(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Yi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Zi(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=La;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function $i(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;fn(b)}fn(a);return}function aj(a){a=a|0;var b=0;Jl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;fc(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function cj(a){a=a|0;var b=0;_j(a);f[a>>2]=2668;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function dj(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Ya(b)|0;if(a|0){c=a;break}a=im()|0;if(!a){c=0;break}Ra[a&3]()}return c|0}function ej(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b)return;fn(b);return}function fj(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=hn(f[a+60>>2]|0)|0;f[c>>2]=d;d=kk(Ba(6,c|0)|0)|0;u=b;return d|0}function gj(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(13444,3)|0)){b=Fa(f[3362]|0)|0;u=a;return b|0}else Bj(12582,a);return 0}function hj(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b)return;fn(b);return}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=ki(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ki(b,c,d)|0}function kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Li(b,c,d)|0}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cd(b,c,d)|0}function mj(a){a=a|0;var b=0;b=u;u=u+16|0;Bb(a);if(!(Ia(f[3362]|0,0)|0)){u=b;return}else Bj(12681,b)}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ni(b,c,d)|0}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oi(b,c,d)|0}function pj(a){a=a|0;f[a>>2]=1940;fn(a);return}function qj(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function rj(a){a=a|0;Fk(a);f[a>>2]=2108;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ri(b,c,d)|0}function tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pi(b,c,d)|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Cf(a,b,c,g)|0;u=e;return d|0}function wj(a){a=a|0;f[a>>2]=2024;fn(a);return}function xj(a){a=a|0;f[a>>2]=1940;return}function yj(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return _i(a,b,c)|0}function Aj(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 Qa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[678]|0;ye(b,a,d)|0;ng(10,b)|0;Ca()}function Cj(a){a=a|0;f[a>>2]=2024;return}function Dj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;return mi(b,c)|0}function Fj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Gj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Oa[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Hj(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kd(b,c,d)|0}function Jj(){var a=0;a=u;u=u+16|0;if(!(Ga(13448,83)|0)){u=a;return}else Bj(12631,a)}function Kj(a){a=a|0;Pc(a);fn(a);return}function Lj(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;Xa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Mj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Na[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cg(b,c,d)|0}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Xf(a|0,(Fm(c)|0)&255|0,b|0)|0;return a|0}function Pj(a){a=a|0;return 4}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)fn(f[c>>2]|0);fn(a);return}function Sj(){}function Tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Uj(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Be(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Wj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;return _g(a,b,c)|0}function Yj(a){a=a|0;Jc(a);fn(a);return}function Zj(a){a=a|0;return 5}function _j(a){a=a|0;var b=0;f[a>>2]=2696;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function $j(a){a=a|0;return 6}function ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gi(b,c,d)|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return Ej(a,b,c)|0}function dk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+28>>2]&127](b)|0}function ek(a,b,c){a=a|0;b=b|0;c=c|0;return Ed(b,c)|0}function fk(a){a=a|0;f[a>>2]=1040;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function gk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+24>>2]&127](b)|0}function hk(a,b){a=a|0;b=b|0;pg(a,b);return}function ik(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Na[f[(f[b>>2]|0)+36>>2]&127](b)|0}function jk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wa[a&3](b|0,c|0,d|0,e|0,f|0)}function kk(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=nn()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;return bh(a,b,c)|0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;return qf(a,b,c)|0}function nk(a,b,c){a=a|0;b=b|0;c=c|0;return Ff(a,b,c)|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;return Xe(a,b,c)|0}function pk(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Bf(a,b,c))}function qk(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function rk(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;return Eg(a,b,c)|0}function tk(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return Mk(b,c)|0}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return Gf(a,b,c)|0}function wk(a,b,c){a=a|0;b=b|0;c=c|0;return Df(a,b,c)|0}function xk(a){a=a|0;Fk(a);f[a>>2]=1824;f[a+24>>2]=-1;return}function yk(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return ne(a,b,c)|0}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;return He(b,c)|0}function Bk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Ck(){var a=0;a=dj(40)|0;f[a>>2]=-1;qj(a+8|0);return a|0}function Dk(){var a=0;a=dj(8)|0;f[a>>2]=928;f[a+4>>2]=-1;return a|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return kf(a,b,c)|0}function Fk(a){a=a|0;fk(a);f[a>>2]=1148;f[a+20>>2]=0;return}function Gk(a,b){a=a|0;b=b|0;hk(a,b);return}function Hk(a){a=a|0;var b=0;if(!a)b=0;else b=(Ce(a,800,888,0)|0)!=0&1;return b|0}function Ik(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Jk(a,b){a=a|0;b=b|0;return Th(a,b)|0}function Kk(a){a=a|0;if((b[a+11>>0]|0)<0)fn(f[a>>2]|0);return}function Lk(a){a=a|0;if(!a)return;Sa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Mk(a,b){a=a|0;b=b|0;return kh(a,b)|0}function Nk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Va[a&7](b|0,c|0,d|0,e|0)}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)si(a|0,b|0,c|0)|0;return a|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;return al(b,c)|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ge(a|0,b|0,c|0)|0;return a|0}function Rk(a,b){a=a|0;b=b|0;return -1}function Sk(a){a=a|0;return 3}function Tk(a){a=a|0;var b=0;b=u;u=u+16|0;Ra[a&3]();Bj(12734,b)}function Uk(a,b){a=a|0;b=b|0;return Pl(a,b)|0}function Vk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function Wk(a){a=a|0;Re(a);fn(a);return}function Xk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Yk(a){a=a|0;gl(a);f[a>>2]=2236;f[a+48>>2]=0;return}function Zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pa[a&31](b|0,c|0,d|0)|0}function _k(a,b,c){a=a|0;b=b|0;c=c|0;uj(a,b,c);return}function $k(a,b){a=a|0;b=b|0;f[a>>2]=3684;li(a+4|0,b);return}function al(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function bl(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=yf(a,b,0)|0;return c|0}function cl(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function dl(){var a=0;a=dj(64)|0;Sh(a);return a|0}function el(a,b){a=a|0;b=b|0;return $(kl(a,b))}function fl(a){a=a|0;return f[a+8>>2]|0}function gl(a){a=a|0;ri(a);f[a>>2]=2176;f[a+44>>2]=0;return}function hl(a){a=a|0;if(!a)return;Ef(a);fn(a);return}function il(a,b){a=a|0;b=b|0;return Xl(a,b)|0}function jl(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function kl(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function ll(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Ye(b,c,a)|0;return}function ml(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ua[a&7](b|0,c|0,d|0)}function ol(){var a=0;a=dj(96)|0;Ui(a);return a|0}function pl(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function ql(a){a=a|0;var b=0;b=($m()|0)+188|0;return yg(a,f[b>>2]|0)|0}function rl(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function sl(){var a=0;a=dj(16)|0;Xk(a);return a|0}function tl(){var a=0;a=dj(40)|0;Di(a);return a|0}function ul(a,b){a=a|0;b=b|0;return 1}function vl(a,b){a=a|0;b=b|0;return Fl(a,b)|0}function wl(a,b){a=a|0;b=b|0;return Gl(a,b)|0}function xl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function yl(a,b){a=a|0;b=b|0;return Vl(a,b)|0}function zl(){var a=0;a=dj(12)|0;Nl(a);return a|0}function Al(a){a=a|0;_f(a);fn(a);return}function Bl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Dl(a,b){a=a|0;b=b|0;var c=0;c=Sl(a|0)|0;return ((b|0)==0?a:c)|0}function El(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Fl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Gl(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Hl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fc(a,b,c,d,0)|0}function Jl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Kl(){var a=0;a=dj(84)|0;_j(a);return a|0}function Ll(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Ml(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Nl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Ol(a){a=a|0;f[a>>2]=3684;Ci(a+4|0);return}function Pl(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Ql(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[a&127](b|0,c|0)|0}function Rl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Sl(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Tl(a){a=a|0;gl(a);f[a>>2]=2532;return}function Ul(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Vl(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Wl(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Xl(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Yl(a){a=a|0;return $(n[a+20>>2])}function Zl(a){a=a|0;return f[a+4>>2]|0}function _l(a){a=a|0;if(!a)return;fn(a);return}function $l(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function am(a){a=a|0;return a+12|0}function bm(a){a=a|0;return f[a+88>>2]|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;Ta[a&7](b|0,c|0)}function dm(){var a=0;a=dj(40)|0;aj(a);return a|0}function em(){var a=0;a=dj(108)|0;cj(a);return a|0}function fm(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function gm(a){a=a|0;return a+-12|0}function hm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function im(){var a=0;a=f[3363]|0;f[3363]=a+0;return a|0}function jm(a){a=a|0;return Im(a+4|0)|0}function km(a){a=a|0;return f[a+56>>2]|0}function lm(a){a=a|0;Ud(a);fn(a);return}function mm(a){a=a|0;kn(a);fn(a);return}function nm(a){a=a|0;return b[a+24>>0]|0}function om(){var a=0;a=f[898]|0;f[898]=a+0;return a|0}function pm(a,b){a=a|0;b=b|0;return 0}function qm(a){a=a|0;return f[a+40>>2]|0}function rm(a){a=a|0;return f[a+48>>2]|0}function sm(a,b){a=a|0;b=b|0;return Na[a&127](b|0)|0}function tm(a){a=a|0;return f[a+60>>2]|0}function um(a){a=a|0;return f[a+28>>2]|0}function vm(a){a=a|0;sa(a|0)|0;xi()}function wm(a){a=a|0;Ol(a);fn(a);return}function xm(a){a=a|0;Ca()}function ym(a,b){a=a|0;b=b|0;u=a;v=b}function zm(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Am(a){a=a|0;return (f[a>>2]|0)==0|0}function Bm(a){a=a|0;return f[a+80>>2]|0}function Cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Dm(a,b){a=a|0;b=b|0;Sa[a&127](b|0)}function Em(a,b){a=a|0;b=b|0;return Uj(a,b)|0}function Fm(a){a=a|0;return a&255|0}function Gm(a){a=a|0;f[a>>2]=0;return}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Im(a){a=a|0;return f[a>>2]|0}function Jm(a){a=a|0;return 2}function Km(a){a=a|0;return 1}function Lm(a,b){a=+a;b=b|0;return +(+zg(a,b))}function Mm(){return 3}function Nm(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Om(){return -4}function Pm(){return 4}function Qm(a){a=a|0;return (a+-48|0)>>>0<10|0}function Rm(){return -3}function Sm(){return 1}function Tm(){return 2}function Um(){return -5}function Vm(a,b){a=a|0;b=b|0;aa(1);return 0}function Wm(a){a=a|0;Ea()}function Xm(a){a=a|0;Ra[a&3]()}function Ym(){return -2}function Zm(){ua()}function _m(){return -1}function $m(){return qn()|0}function an(a,b){a=a|0;b=b|0;aa(6)}function bn(){return 0}function cn(a){a=a|0;return dj(a)|0}function dn(a){a=a|0;fn(a);return}function en(a){a=a|0;u=a}function fn(a){a=a|0;Bb(a);return}function gn(a){a=a|0;I=a}function hn(a){a=a|0;return a|0}function jn(a){a=a|0;aa(0);return 0}function kn(a){a=a|0;return}function ln(a){a=a|0;return 0}function mn(){return I|0}function nn(){return 13376}function on(){return u|0}function pn(a){a=a|0;aa(5)}function qn(){return 2840}function rn(){aa(4)} +function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=h;h=0;r=0;while(1){s=f[(f[q+24>>2]|0)+(r<<2)>>2]|0;if((s|0)==-1){t=q;v=h}else{w=h+1|0;f[b>>2]=h;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))yf(i,b);else{f[x>>2]=h;f[j>>2]=x+4}f[d>>2]=s;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=s;else{x=s+1|0;z=((x>>>0)%3|0|0)==0?s+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=s;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=s}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];s=f[o>>2]|0;if((s|0)==(f[p>>2]|0))yf(n,d);else{f[s>>2]=f[d>>2];f[o>>2]=s+4}s=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[s+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))yf(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){yf(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=G;I=F;break b}else A=F}f[e>>2]=-1;H=G;I=F}else{H=s;I=w}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=s;I=w}t=H;v=I}r=r+1|0;if(r>>>0>=(f[t+28>>2]|0)-(f[t+24>>2]|0)>>2>>>0)break;else{q=t;h=v}}u=c;return}function Kb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;ym(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];ub(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Tj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Tj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=lj(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ug(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=lj(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ug(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Xg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x>>2]|0;E=f[x+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=B;f[v>>2]=E;bc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)ym(y);return 0}function Lb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+80|0;e=d+76|0;g=d;h=d+72|0;i=d+64|0;j=d+68|0;if(!(eg(e,c)|0)){k=0;u=d;return k|0}l=f[e>>2]|0;if(!l){k=0;u=d;return k|0}m=a+4|0;n=a+8|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=p;p=o;if(l>>>0>q>>>0){jf(m,l-q|0);if(!(f[e>>2]|0)){k=1;u=d;return k|0}}else if(l>>>0>>0?(q=r+(l<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2);q=f[a+32>>2]|0;p=c+8|0;n=c+16|0;l=g+60|0;r=q+8|0;o=a+16|0;s=a+20|0;a=0;while(1){t=p;v=f[t>>2]|0;w=f[t+4>>2]|0;t=n;x=f[t>>2]|0;y=f[t+4>>2]|0;if(!((w|0)>(y|0)|(w|0)==(y|0)&v>>>0>x>>>0)){k=0;z=40;break}t=f[c>>2]|0;A=b[t+x>>0]|0;B=Tj(x|0,y|0,1,0)|0;C=I;D=n;f[D>>2]=B;f[D+4>>2]=C;if(!((w|0)>(C|0)|(w|0)==(C|0)&v>>>0>B>>>0)){k=0;z=40;break}C=b[t+B>>0]|0;B=Tj(x|0,y|0,2,0)|0;D=I;E=n;f[E>>2]=B;f[E+4>>2]=D;if(!((w|0)>(D|0)|(w|0)==(D|0)&v>>>0>B>>>0)){k=0;z=40;break}D=b[t+B>>0]|0;B=Tj(x|0,y|0,3,0)|0;E=I;F=n;f[F>>2]=B;f[F+4>>2]=E;if(!((w|0)>(E|0)|(w|0)==(E|0)&v>>>0>B>>>0)){k=0;z=40;break}v=b[t+B>>0]|0;B=Tj(x|0,y|0,4,0)|0;y=n;f[y>>2]=B;f[y+4>>2]=I;y=C&255;if((C+-1&255)>10){k=0;z=40;break}Uh(g);C=X(di(y)|0,D&255)|0;kg(g,A&255,0,D,y,v<<24>>24!=0,C,((C|0)<0)<<31>>31,0,0);eg(h,c)|0;f[l>>2]=f[h>>2];C=dj(96)|0;Gh(C,g);f[i>>2]=C;C=ne(q,i)|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){y=v+88|0;D=f[y>>2]|0;f[y>>2]=0;if(D|0){y=f[D+8>>2]|0;if(y|0){A=D+12|0;if((f[A>>2]|0)!=(y|0))f[A>>2]=y;fn(y)}fn(D)}D=f[v+68>>2]|0;if(D|0){y=v+72|0;A=f[y>>2]|0;if((A|0)!=(D|0))f[y>>2]=A+(~((A+-4-D|0)>>>2)<<2);fn(D)}D=v+64|0;A=f[D>>2]|0;f[D>>2]=0;if(A|0){D=f[A>>2]|0;if(D|0){y=A+4|0;if((f[y>>2]|0)!=(D|0))f[y>>2]=D;fn(D)}fn(A)}fn(v)}f[(f[(f[r>>2]|0)+(C<<2)>>2]|0)+60>>2]=f[h>>2];f[(f[m>>2]|0)+(a<<2)>>2]=C;v=f[s>>2]|0;A=f[o>>2]|0;D=v-A>>2;y=A;if((C|0)<(D|0))G=y;else{A=C+1|0;f[j>>2]=-1;B=v;if(A>>>0<=D>>>0)if(A>>>0>>0?(v=y+(A<<2)|0,(B|0)!=(v|0)):0){f[s>>2]=B+(~((B+-4-v|0)>>>2)<<2);H=y}else H=y;else{Ae(o,A-D|0,j);H=f[o>>2]|0}G=H}f[G+(C<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){k=1;z=40;break}}if((z|0)==40){u=d;return k|0}return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;Zd(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Tj(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Tj(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(w|0)==(di(5)|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Tj(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{ee(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Tj(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=20;break}}v=X(w,i)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Vj(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=z;z=x;x=B;B=C;C=0;while(1){y=Tj(u|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=u;F=z}else{ee(k+(C<<2)|0,(f[d>>2]|0)+u|0,w|0)|0;y=l;A=Tj(f[y>>2]|0,f[y+4>>2]|0,v|0,0)|0;y=I;G=l;f[G>>2]=A;f[G+4>>2]=y;E=A;F=y}y=C+1|0;if((y|0)==(i|0)){D=20;break a}A=j;u=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0;C=y}}}else if(Rf(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?La[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}yi(k,i,k);H=F;J=1}while(0);if((D|0)==21){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Oa[f[(f[J>>2]|0)+44>>2]&15](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function Nb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)fn(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;$k(e,9793);f[e>>2]=3708;va(e|0,856,80)}e=dj(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)fn(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){o=j;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(m|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=e;x=o;while(1){y=u+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:z&255)|0)){r=x;break c}if(!w?mh(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=x;break c}y=f[u>>2]|0;if(!y){r=u;break c}else{A=u;u=y;x=A}}}if(w){x=e;u=o;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=e;x=o;while(1){w=u+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:y&255)|0)){r=x;break c}y=A?f[w>>2]|0:w;if((f[s>>2]&255)<<24>>24==(b[y>>0]|0)){B=v;C=s;D=y}else{r=x;break c}while(1){B=B+-1|0;C=C+1|0;if(!B)break;D=D+1|0;if((b[C>>0]|0)!=(b[D>>0]|0)){r=x;break c}}y=f[u>>2]|0;if(!y){r=u;break}else{w=u;u=y;x=w}}}while(0);f[d>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}j=f[o>>2]|0;if(!j){E=43;break a}else{g=o;d=o}}f[q>>2]=d;l=f[o>>2]|0;if(!l){E=43;break}else{k=o;m=p;n=o}}if((E|0)==43)return}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+16|0;e=d+12|0;g=d+4|0;h=d+8|0;i=d;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=k;q=0;r=k;while(1){k=(q|0)==1;if(k){s=(r|0)==-1;do if(!s)if(!((r>>>0)%3|0)){t=r+2|0;break}else{t=r+-1|0;break}else t=-1;while(0);f[h>>2]=t;f[e>>2]=f[h>>2];if((Nd(a,e)|0)==-1){v=r;break}w=r+1|0;if(s){x=12;break}y=((w>>>0)%3|0|0)==0?r+-2|0:w;f[c>>2]=y;w=y+1|0;if((y|0)==-1){z=r;x=16;break}A=((w>>>0)%3|0|0)==0?y+-2|0:w;if((A|0)==-1){z=r;x=16;break}w=f[(f[(f[m>>2]|0)+12>>2]|0)+(A<<2)>>2]|0;A=w+1|0;if((w|0)==-1){z=r;x=16;break}y=((A>>>0)%3|0|0)==0?w+-2|0:A;f[c>>2]=y;if((y|0)==-1){v=r;break}else{B=0;C=r;D=y;x=18}}else{E=f[g>>2]|0;F=p;G=0;H=r}while(1){if((x|0)==18){x=0;y=(D>>>0)/3|0;f[g>>2]=y;E=y;F=D;G=B;H=C}y=(f[n>>2]|0)+(E>>>5<<2)|0;A=1<<(E&31);w=f[y>>2]|0;if(A&w|0){I=F;J=G;K=H;break}f[y>>2]=w|A;A=f[l>>2]|0;if((A|0)==(f[o>>2]|0))yf(j,g);else{f[A>>2]=f[g>>2];f[l>>2]=A+4}A=G+1|0;if((G|0)>0){do if(!(A&1)){w=k?F:H;if((F|0)!=-1)if(!((F>>>0)%3|0)){L=F+2|0;M=w;break}else{L=F+-1|0;M=w;break}else{L=-1;M=w}}else{w=F+1|0;if((F|0)==-1){L=-1;M=H}else{L=((w>>>0)%3|0|0)==0?F+-2|0:w;M=H}}while(0);f[c>>2]=L;N=L;O=M}else{N=F;O=H}f[i>>2]=N;f[e>>2]=f[i>>2];D=Nd(a,e)|0;f[c>>2]=D;if((D|0)==-1){I=-1;J=A;K=O;break}else{B=A;C=O;x=18}}if(!((J&1|0)==0|k^1)){s=f[l>>2]|0;w=f[s+-4>>2]|0;y=(f[n>>2]|0)+(w>>>5<<2)|0;f[y>>2]=f[y>>2]&~(1<<(w&31));f[l>>2]=s+-4}q=q+1|0;if((q|0)>=2){v=K;break}else{p=I;r=K}}if((x|0)==12){f[c>>2]=-1;z=-1;x=16}if((x|0)==16){f[c>>2]=-1;v=z}f[a+44+(b<<2)>>2]=v;v=f[l>>2]|0;l=f[j>>2]|0;j=l;if((v|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=v-l>>2;l=0;do{v=f[j+(l<<2)>>2]|0;a=b+(v>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(v&31));l=l+1|0}while(l>>>0>>0);u=d;return}function Pb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;Db(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)fn(f[g>>2]|0);l=b[j+7>>0]|0;if((l&255|0)!=(La[f[(f[c>>2]|0)+8>>2]&127](c)|0)){m=dj(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=9581;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=dj(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=9632;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&r>>>0>(l<<24>>24==0?3:2)>>>0){l=dj(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=9655;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}l=(r|(m&255)<<8)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Tc(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)fn(f[g>>2]|0)}if(!(La[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=dj(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=9678;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}if(!(La[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=dj(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=9712;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}if(La[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=dj(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=9744;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Sf(g,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);u=i;return}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Kl(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ie(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=r;n=a+16|0;while(1){l=f[e+16>>2]|0;if((d|0)<(l|0)){j=f[e>>2]|0;if(!j){x=23;break}else{y=j;z=e}}else{if((l|0)>=(d|0)){x=27;break}A=e+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=l;z=A}}e=y;n=z}if((x|0)==23){B=e;C=e;break}else if((x|0)==26){B=e;C=A;break}else if((x|0)==27){B=e;C=n;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=dj(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Gc(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;fg(h+4|0,f[k>>2]|0);fg(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(q|0)==(m|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(mh(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(q|0)==(a|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(mh(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Lc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+4194304|0;f[n>>2]=k;o=k>>>0>1073741823;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<4194304){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<4194304){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&1048575;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>20)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(m|0)==(q|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(mh(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(a|0)==(q|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(mh(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Mc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+2097152|0;f[n>>2]=k;o=k>>>0>536870911;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<2097152){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<2097152){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&524287;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>19)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Nc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+1048576|0;f[n>>2]=k;o=k>>>0>268435455;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<1048576){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<1048576){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&262143;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>18)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Oc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+262144|0;f[n>>2]=k;o=k>>>0>67108863;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<262144){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<262144){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&65535;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>16)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Pc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+131072|0;f[n>>2]=k;o=k>>>0>33554431;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<131072){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<131072){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&32767;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>15)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Qc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+32768|0;f[n>>2]=k;o=k>>>0>8388607;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<32768){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<32768){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&8191;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>13)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+64|0;g=e;i=e+8|0;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Rc(i,c)|0){j=(a|0)==0;if(!j?(f[i+12>>2]|0)==0:0){l=0;break}if(Gf(g,c)|0?(k=g,m=f[k>>2]|0,n=f[k+4>>2]|0,k=c+8|0,o=c+16|0,p=o,q=f[p>>2]|0,r=f[p+4>>2]|0,p=Vj(f[k>>2]|0,f[k+4>>2]|0,q|0,r|0)|0,k=I,!(n>>>0>k>>>0|(n|0)==(k|0)&m>>>0>p>>>0)):0){p=(f[c>>2]|0)+q|0;k=Tj(q|0,r|0,m|0,n|0)|0;n=o;f[n>>2]=k;f[n+4>>2]=I;b:do if((m|0)>=1){f[i+40>>2]=p;n=m+-1|0;k=p+n|0;switch((h[k>>0]|0)>>>6&3){case 0:{f[i+44>>2]=n;s=n;t=b[k>>0]&63;break}case 1:{if((m|0)<2)break b;k=m+-2|0;f[i+44>>2]=k;n=p+m+-2|0;s=k;t=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((m|0)<3)break b;n=m+-3|0;f[i+44>>2]=n;k=p+m+-3|0;s=n;t=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break}case 3:{k=m+-4|0;f[i+44>>2]=k;n=p+m+-4|0;s=k;t=(h[n+2>>0]|0)<<16|(h[n+3>>0]|0)<<24&1056964608|(h[n+1>>0]|0)<<8|(h[n>>0]|0);break}default:{}}n=i+48|0;k=t+16384|0;f[n>>2]=k;o=k>>>0>4194303;if(o|j){l=o^1;break a}o=i+44|0;r=i+16|0;q=i+28|0;v=s;w=k;k=0;while(1){c:do if(w>>>0<16384){x=v;y=w;while(1){if((x|0)<=0){z=y;A=x;break c}B=x+-1|0;f[o>>2]=B;C=h[p+B>>0]|0|y<<8;f[n>>2]=C;if(C>>>0<16384){x=B;y=C}else{z=C;A=B;break}}}else{z=w;A=v}while(0);y=z&4095;x=f[(f[r>>2]|0)+(y<<2)>>2]|0;B=f[q>>2]|0;w=(X(f[B+(x<<3)>>2]|0,z>>>12)|0)+y-(f[B+(x<<3)+4>>2]|0)|0;f[n>>2]=w;f[d+(k<<2)>>2]=x;k=k+1|0;if((k|0)==(a|0)){l=1;break a}else v=A}}while(0);l=0;break}l=0}else l=0;while(0);A=f[i+28>>2]|0;if(A|0){a=i+32|0;d=f[a>>2]|0;if((d|0)!=(A|0))f[a>>2]=d+(~((d+-8-A|0)>>>3)<<3);fn(A)}A=f[i+16>>2]|0;if(A|0){d=i+20|0;a=f[d>>2]|0;if((a|0)!=(A|0))f[d>>2]=a+(~((a+-4-A|0)>>>2)<<2);fn(A)}A=f[i>>2]|0;if(!A){u=e;return l|0}a=i+4|0;i=f[a>>2]|0;if((i|0)!=(A|0))f[a>>2]=i+(~((i+-4-A|0)>>>2)<<2);fn(A);u=e;return l|0}function _b(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=mh(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=mh(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=36}else r=20;if((r|0)==20?!k:0)r=36;if((r|0)==36){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=i+4|0;m=f[k>>2]|0;if(!m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=m;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){m=t+16|0;l=b[m+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=mh(n?f[g>>2]|0:g,q?f[m>>2]|0:m,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=30;if((r|0)==30?o>>>0

>>0:0)break;s=Fd(a,d,g)|0;return s|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;s=k;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((i|0)==(f[a>>2]|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){k=f[h+4>>2]|0;if(!k){w=h;break}else h=k}}h=w;k=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[k+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=mh(j?f[k>>2]|0:k,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=12;if((r|0)==12?p>>>0>>0:0){v=h;break}s=Fd(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{i=v;f[d>>2]=i;s=i+4|0;return s|0}return 0}function $b(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Rc(i,d)|0?zd(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}bh(d,0,0)|0;if(!j){j=i+44|0;k=i+48|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=f[k>>2]|0;w=0;x=0;while(1){b:do if(v>>>0<16384){y=f[j>>2]|0;z=v;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[j>>2]=y;C=h[B+y>>0]|z<<8;f[k>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=v;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;v=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[k>>2]=v;c:do if(p){if((y|0)>0){D=0;E=x}else{C=(b[q>>0]|0)==0;z=0;B=x;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=f[r>>2]|0;F=0;H=0;while(1){I=B+(C>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(C&7)&1;I=C+1|0;f[r>>2]=I;K=I;L=J}else{K=C;L=0}H=L<>2]=H;D=D+1|0;if((D|0)>=(c|0)){G=C;break}else E=C}}else G=x;while(0);w=w+c|0;if(w>>>0>=a>>>0)break;else x=G}}}else bh(d,0,0)|0;ei(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);fn(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);fn(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d);u=g;return l|0}function ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Ai(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Ai(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Tj(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Vj(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Vj(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function bc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=f[e>>2]|0;l=(((j|0)>-1?j:0-j|0)+((h|0)>-1?h:0-h|0)|0)<=(k|0);if(l){m=h;n=j}else{if((j|h|0)>-1){o=1;p=1}else{q=(h|0)<1&(j|0)<1;o=q?-1:(h|0)>0?1:-1;p=q?-1:(j|0)>0?1:-1}q=X(k,o)|0;r=X(k,p)|0;k=(h<<1)-q|0;f[c>>2]=k;h=(j<<1)-r|0;f[i>>2]=h;if((X(o,p)|0)>-1){p=0-h|0;f[c>>2]=p;s=0-k|0;t=p}else{f[c>>2]=h;s=k;t=h}h=(t+q|0)/2|0;f[c>>2]=h;q=(s+r|0)/2|0;f[i>>2]=q;m=h;n=q}if(!m)u=(n|0)==0;else u=(m|0)<0&(n|0)<1;if(!m)v=(n|0)==0?0:(n|0)>0?3:1;else v=(m|0)>0?(n>>31)+2|0:(n|0)<1?0:3;if(u){w=m;x=n;y=1}else{switch(v|0){case 1:{z=n;A=0-m|0;break}case 2:{z=0-m|0;A=0-n|0;break}case 3:{z=0-n|0;A=m;break}default:{z=m;A=n}}n=c;f[n>>2]=z;f[n+4>>2]=A;w=z;x=A;y=0}A=(f[d>>2]|0)+w|0;f[a>>2]=A;w=(f[d+4>>2]|0)+x|0;x=a+4|0;f[x>>2]=w;d=f[e>>2]|0;if((d|0)>=(A|0))if((A|0)<(0-d|0))B=(f[b+4>>2]|0)+A|0;else B=A;else B=A-(f[b+4>>2]|0)|0;f[a>>2]=B;if((d|0)>=(w|0))if((w|0)<(0-d|0))C=(f[b+4>>2]|0)+w|0;else C=w;else C=w-(f[b+4>>2]|0)|0;f[x>>2]=C;if(y){D=B;E=C}else{switch((4-v|0)%4|0|0){case 1:{F=C;G=0-B|0;break}case 2:{F=0-B|0;G=0-C|0;break}case 3:{F=0-C|0;G=B;break}default:{F=B;G=C}}C=a;f[C>>2]=F;f[C+4>>2]=G;D=F;E=G}if(l){H=D;I=E;J=H+g|0;K=I+g|0;L=a;M=L;f[M>>2]=J;N=L+4|0;O=N;f[O>>2]=K;return}if((E|D|0)>-1){P=1;Q=1}else{l=(D|0)<1&(E|0)<1;P=l?-1:(D|0)>0?1:-1;Q=l?-1:(E|0)>0?1:-1}l=X(d,P)|0;G=X(d,Q)|0;d=(D<<1)-l|0;f[a>>2]=d;D=(E<<1)-G|0;f[x>>2]=D;if((X(P,Q)|0)>-1){Q=0-D|0;f[a>>2]=Q;R=0-d|0;S=Q}else{f[a>>2]=D;R=d;S=D}D=(S+l|0)/2|0;f[a>>2]=D;l=(R+G|0)/2|0;f[x>>2]=l;H=D;I=l;J=H+g|0;K=I+g|0;L=a;M=L;f[M>>2]=J;N=L+4|0;O=N;f[O>>2]=K;return}function cc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=dj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1572;i=c;f[a>>2]=i;return}case 4:{c=dj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1628;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=dj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1684;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=dj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1740;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1796;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Vk(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function dc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=dj(60)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1320;i=c;f[a>>2]=i;return}case 4:{c=dj(112)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1376;h=c+60|0;b=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));i=c;f[a>>2]=i;return}case 5:{c=dj(104)|0;f[c>>2]=1208;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1432;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=dj(124)|0;f[c>>2]=1208;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Dg(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1488;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1544;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Vk(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c;if(!(sd(a+80|0,a)|0)){e=0;u=c;return e|0}if(!(sf(a)|0)){e=0;u=c;return e|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));h=a+176|0;f[h>>2]=2;g=a+180|0;f[g>>2]=7;i=f[a+152>>2]|0;if((i|0)<0){e=0;u=c;return e|0}j=a+156|0;f[d>>2]=0;k=a+160|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(i>>>0<=n>>>0)if(i>>>0>>0?(l=o+(i<<2)|0,(m|0)!=(l|0)):0){f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2);p=2;q=7}else{p=2;q=7}else{Ae(j,i-n|0,d);p=f[h>>2]|0;q=f[g>>2]|0}g=q-p+1|0;p=a+184|0;q=a+188|0;h=f[q>>2]|0;n=f[p>>2]|0;i=(h-n|0)/12|0;j=n;n=h;if(g>>>0<=i>>>0)if(g>>>0>>0?(l=j+(g*12|0)|0,(n|0)!=(l|0)):0){j=n;while(1){n=j+-12|0;f[q>>2]=n;m=f[n>>2]|0;if(!m)r=n;else{n=j+-8|0;k=f[n>>2]|0;if((k|0)!=(m|0))f[n>>2]=k+(~((k+-4-m|0)>>>2)<<2);fn(m);r=f[q>>2]|0}if((r|0)==(l|0))break;else j=r}s=r}else s=h;else{ld(p,g-i|0);s=f[q>>2]|0}i=a+196|0;g=f[p>>2]|0;h=(s-g|0)/12|0;r=a+200|0;a=f[r>>2]|0;j=f[i>>2]|0;l=a-j>>2;m=j;j=a;if(h>>>0<=l>>>0)if(h>>>0>>0?(a=m+(h<<2)|0,(j|0)!=(a|0)):0){f[r>>2]=j+(~((j+-4-a|0)>>>2)<<2);t=s;v=g}else{t=s;v=g}else{jf(i,h-l|0);t=f[q>>2]|0;v=f[p>>2]|0}if((t|0)==(v|0)){e=1;u=c;return e|0}v=0;do{eg(d,b)|0;t=f[d>>2]|0;if(t|0){l=f[p>>2]|0;h=l+(v*12|0)|0;g=l+(v*12|0)+4|0;s=f[g>>2]|0;a=f[h>>2]|0;j=s-a>>2;r=a;a=s;if(t>>>0<=j>>>0)if(t>>>0>>0?(s=r+(t<<2)|0,(a|0)!=(s|0)):0){f[g>>2]=a+(~((a+-4-s|0)>>>2)<<2);w=l;x=t}else{w=l;x=t}else{jf(h,t-j|0);w=f[p>>2]|0;x=f[d>>2]|0}Rf(x,1,b,f[w+(v*12|0)>>2]|0)|0;f[(f[i>>2]|0)+(v<<2)>>2]=f[d>>2]}v=v+1|0}while(v>>>0<(((f[q>>2]|0)-(f[p>>2]|0)|0)/12|0)>>>0);e=1;u=c;return e|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)fn(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}d=dj(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)fn(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){b:do if(h){e=j;i=k;c=m;while(1){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=c;r=o;s=n;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[c>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}i=f[d>>2]|0;if(!i){v=37;break a}else{e=d;c=d}}}else{c=j;e=k;i=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(l|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=i;r=w;s=x;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[i>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[c>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{c=o;i=o}}}while(0);f[r>>2]=q;k=f[p>>2]|0;if(!k){v=37;break}else{j=p;l=s;m=p}}if((v|0)==37)return}function gc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;eg(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(mc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;eg(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Tj(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;ig(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Lh(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Tj(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}ee(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Tj(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=dj(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(gc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;Od(c,h,j)|0;uf(j);G=0}else G=1;uf(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)fn(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=dj(88)|0;f[l+4>>2]=0;f[l>>2]=2440;m=l+12|0;f[m>>2]=2420;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=2420;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;ge(i+8|0,c,g);Qa[f[(f[i>>2]|0)+8>>2]&127](i);id(j,i);id(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;vd(c,g)|0;f[g>>2]=2420;p=f[g+20>>2]|0;if(p|0)fn(p);p=f[g+8>>2]|0;if(p|0)fn(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=2420;k=f[j+20>>2]|0;if(k|0)fn(k);k=f[j+8>>2]|0;if(k|0)fn(k);f[l+8>>2]=f[h>>2];vd(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;yd(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=2420;q=f[i+20>>2]|0;if(q|0)fn(q);q=f[i+8>>2]|0;if(q|0)fn(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);fn(q)}f[r>>2]=2420;r=f[h+24>>2]|0;if(r|0)fn(r);r=f[h+12>>2]|0;if(!r){u=e;return}fn(r);u=e;return}function ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{jf(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=cn(l)|0;Vf(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){dn(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=u;u=e;while(1){k=c+(u<<2)|0;l=k+(n<<2)|0;q=b+(u<<2)|0;if((a|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=k+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=a;u=u+e|0;if((u|0)>=(d|0))break;else a=z}dn(h);return 1}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=f[a+44+(b<<2)>>2]|0;b=0;while(1){o=(n|0)==-1;p=o?-1:(n>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(b){if(o)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else yf(k,e);if(!(b&1)){p=n+1|0;if(o){s=-1;break}t=((p>>>0)%3|0|0)==0?n+-2|0:p;v=35;break}if(!o)if(!((n>>>0)%3|0)){t=n+2|0;v=35;break}else{t=n+-1|0;v=35;break}else s=-1}else{if(o)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else yf(k,e);p=n+1|0;if(!o?(q=((p>>>0)%3|0|0)==0?n+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else yf(k,e);if(!o?(q=(((n>>>0)%3|0|0)==0?2:-1)+n|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else yf(k,e);t=n;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}b=b+1|0;if((b|0)>=(h|0))break;else n=s}u=d;return}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Xf(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=l;l=b;b=0;while(1){if(!(f[(f[m>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31))){B=b*3|0;f[g>>2]=B;f[e>>2]=f[g>>2];Ob(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=B+1;f[e>>2]=f[g>>2];Ob(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=B+2;f[e>>2]=f[g>>2];Ob(a,2,e);B=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else yf(w,e);E=f[a+44+(B<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else yf(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else yf(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];jc(a,B,e);G=f[j>>2]|0;H=f[k>>2]|0}else{G=A;H=l}b=b+1|0;if(b>>>0>=((H-G|0)/12|0)>>>0){i=1;break}else{A=G;l=H}}u=d;return i|0}function lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=g;i=d+2|0;break}else{h=g;i=d+-1|0;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1){k=1;l=e;m=-1;n=28}else{k=1;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1){k=2;l=e;m=-1;n=28}else{k=2;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((i|0)==-1){k=1;l=e;m=-1;n=28}else{k=1;l=e;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1){k=2;l=d;m=-1;n=28}else{k=2;l=d;m=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;n=28}break}default:{}}if((n|0)==28){n=l+(m<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((h|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;h=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((h|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(h|0)>(c|0)?c:h;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Tj(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;ig(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Lh(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Tj(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}ee(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Tj(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(eg(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)ym(h);s=dj(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=s;s=x;do{b[q>>0]=0;q=(f[y>>2]|0)+1|0;f[y>>2]=q;s=s+-1|0}while((s|0)!=0);s=f[g>>2]|0;q=f[a>>2]|0;x=q+8|0;p=f[x>>2]|0;r=f[x+4>>2]|0;x=q+16|0;m=x;t=f[m>>2]|0;w=Tj(t|0,f[m+4>>2]|0,s|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{ee(f[h>>2]|0,(f[q>>2]|0)+t|0,s|0)|0;t=x;q=Tj(f[t>>2]|0,f[t+4>>2]|0,s|0,0)|0;s=x;f[s>>2]=q;f[s+4>>2]=I;Ii(c,e,h);B=1}s=f[h>>2]|0;if(s|0){if((f[y>>2]|0)!=(s|0))f[y>>2]=s;fn(s)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}fn(f[e>>2]|0);u=d;return z|0}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Ja,t=Ja,u=Ja,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=dj(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|s>$(t*u)){r=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;j=~~$(W($(s/u)))>>>0;Ue(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function oc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else jf(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;ym(v)}else{w=n;x=0}while(1){f[i>>2]=f[w+(x<<2)>>2];f[h>>2]=f[i>>2];if(!(tb(j,h,c,x)|0)){q=0;y=24;break}n=X(x,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}x=x+1|0;if((x|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=x>>>0){v=n;y=8;break}}if((y|0)==8)ym(v);else if((y|0)==24){u=d;return q|0}return 0}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(n|0)!=(m|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else jf(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){q=1;u=d;return q|0}l=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(n|0)){v=k;ym(v)}else{w=n;x=0}while(1){f[i>>2]=f[w+(x<<2)>>2];f[h>>2]=f[i>>2];if(!(sb(j,h,c,x)|0)){q=0;y=24;break}n=X(x,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{z=f[a+68+(n<<2)>>2]|0;A=f[l>>2]|0;if((z|0)>(A|0)){B=f[r>>2]|0;f[B+(n<<2)>>2]=A;C=B}else{B=f[s>>2]|0;A=f[r>>2]|0;f[A+(n<<2)>>2]=(z|0)<(B|0)?B:z;C=A}n=n+1|0;D=f[g>>2]|0}while((n|0)<(D|0));if((D|0)>0){n=0;do{A=(f[k+(n<<2)>>2]|0)+(f[C+(n<<2)>>2]|0)|0;z=m+(n<<2)|0;f[z>>2]=A;if((A|0)<=(f[l>>2]|0)){if((A|0)<(f[s>>2]|0)){E=(f[t>>2]|0)+A|0;y=20}}else{E=A-(f[t>>2]|0)|0;y=20}if((y|0)==20){y=0;f[z>>2]=E}n=n+1|0}while((n|0)<(f[g>>2]|0))}}x=x+1|0;if((x|0)>=(p|0)){q=1;y=24;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=x>>>0){v=n;y=8;break}}if((y|0)==8)ym(v);else if((y|0)==24){u=d;return q|0}return 0}function rc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;qd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)ym(l);else{q=o<<1;e=dj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Vf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);qd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(kb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(kb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=v;A=0;while(1){d[e+(y<<1)>>1]=d[q+(A<<1)>>1]|0;A=A+1|0;if((A|0)==(o|0))break;else y=y+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=o+v|0}}while(0);v=f[l>>2]|0;if(v|0){l=f[g>>2]|0;if((l|0)!=(v|0))f[g>>2]=l+(~((l+-2-v|0)>>>1)<<1);fn(v)}r=t;u=i;return r|0}function sc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;qd(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)ym(l);else{q=o<<1;e=dj(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Vf(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);qd(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(lb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(lb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=v;A=0;while(1){d[e+(y<<1)>>1]=d[q+(A<<1)>>1]|0;A=A+1|0;if((A|0)==(o|0))break;else y=y+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=o+v|0}}while(0);v=f[l>>2]|0;if(v|0){l=f[g>>2]|0;if((l|0)!=(v|0))f[g>>2]=l+(~((l+-2-v|0)>>>1)<<1);fn(v)}r=t;u=i;return r|0}function tc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)ym(k);else{p=n<<2;d=dj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Vf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);rd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(mb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(mb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=t;z=0;while(1){f[d+(x<<2)>>2]=f[p+(z<<2)>>2];z=z+1|0;if((z|0)==(n|0))break;else x=x+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=n+t|0}}while(0);t=f[k>>2]|0;if(t|0){k=f[e>>2]|0;if((k|0)!=(t|0))f[e>>2]=k+(~((k+-4-t|0)>>>2)<<2);fn(t)}q=s;u=h;return q|0}function uc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rd(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)ym(k);else{p=n<<2;d=dj(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Vf(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);rd(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(nb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(nb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=t;z=0;while(1){f[d+(x<<2)>>2]=f[p+(z<<2)>>2];z=z+1|0;if((z|0)==(n|0))break;else x=x+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=n+t|0}}while(0);t=f[k>>2]|0;if(t|0){k=f[e>>2]|0;if((k|0)!=(t|0))f[e>>2]=k+(~((k+-4-t|0)>>>2)<<2);fn(t)}q=s;u=h;return q|0}function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Tj(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=Zb(a,c,d)|0;return l|0}case 2:{l=Zb(a,c,d)|0;return l|0}case 3:{l=Zb(a,c,d)|0;return l|0}case 4:{l=Zb(a,c,d)|0;return l|0}case 5:{l=cd(a,c,d)|0;return l|0}case 6:{l=Zb(a,c,d)|0;return l|0}case 7:{l=Zb(a,c,d)|0;return l|0}case 8:{l=Zb(a,c,d)|0;return l|0}case 9:{l=Yb(a,c,d)|0;return l|0}case 10:{l=Xb(a,c,d)|0;return l|0}case 11:{l=Wb(a,c,d)|0;return l|0}case 12:{l=Vb(a,c,d)|0;return l|0}case 13:{l=Ub(a,c,d)|0;return l|0}case 14:{l=Sb(a,c,d)|0;return l|0}case 15:{l=Sb(a,c,d)|0;return l|0}case 16:{l=Sb(a,c,d)|0;return l|0}case 17:{l=Sb(a,c,d)|0;return l|0}case 18:{l=Sb(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function wc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Id(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)ym(k);p=dj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=p;p=n;do{b[d>>0]=0;d=(f[e>>2]|0)+1|0;f[e>>2]=d;p=p+-1|0}while((p|0)!=0)}Id(g,0,0+a|0);a:do if(!o)r=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24>0){s=0;t=0}else{d=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(d<<2)>>2]|0;else v=d;w=f[k>>2]|0;f[j>>2]=v;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(pb(c,i,x,w)|0)){r=0;break a}d=d+1|0;if(d>>>0>=o>>>0){r=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[p>>2]|0)+(t<<2)>>2]|0;else y=t;d=f[k>>2]|0;f[j>>2]=y;w=b[l>>0]|0;f[i>>2]=f[j>>2];if(pb(c,i,w,d)|0){z=s;A=0}else{r=0;break a}while(1){b[(f[g>>2]|0)+z>>0]=b[(f[k>>2]|0)+A>>0]|0;A=A+1|0;if((A|0)==(n|0))break;else z=z+1|0}t=t+1|0;if(t>>>0>=o>>>0){r=1;break}else s=n+s|0}}while(0);s=f[k>>2]|0;if(s|0){if((f[e>>2]|0)!=(s|0))f[e>>2]=s;fn(s)}q=r;u=h;return q|0}function xc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Id(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)ym(k);p=dj(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=p;p=n;do{b[d>>0]=0;d=(f[e>>2]|0)+1|0;f[e>>2]=d;p=p+-1|0}while((p|0)!=0)}Id(g,0,0+a|0);a:do if(!o)r=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24>0){s=0;t=0}else{d=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(d<<2)>>2]|0;else v=d;w=f[k>>2]|0;f[j>>2]=v;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(qb(c,i,x,w)|0)){r=0;break a}d=d+1|0;if(d>>>0>=o>>>0){r=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[p>>2]|0)+(t<<2)>>2]|0;else y=t;d=f[k>>2]|0;f[j>>2]=y;w=b[l>>0]|0;f[i>>2]=f[j>>2];if(qb(c,i,w,d)|0){z=s;A=0}else{r=0;break a}while(1){b[(f[g>>2]|0)+z>>0]=b[(f[k>>2]|0)+A>>0]|0;A=A+1|0;if((A|0)==(n|0))break;else z=z+1|0}t=t+1|0;if(t>>>0>=o>>>0){r=1;break}else s=n+s|0}}while(0);s=f[k>>2]|0;if(s|0){if((f[e>>2]|0)!=(s|0))f[e>>2]=s;fn(s)}q=r;u=h;return q|0}function yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=f[e>>2]|0;n=c;o=e;p=h}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=r>>>(g+u|0)|f[s>>2]&~(-1>>>(32-w|0));f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=x;n=v;o=e;p=h-q|0}q=32-m|0;h=-1<31){m=~h;e=f[d>>2]|0;v=p+-32|0;x=v>>>5;c=x+1|0;w=v-(x<<5)|0;x=f[e>>2]|0;v=e;s=p;u=n;while(1){g=f[u>>2]|0;r=x&m;f[v>>2]=r;f[v>>2]=g<>2]|r;v=v+4|0;x=f[v>>2]&h|g>>>q;f[v>>2]=x;s=s+-32|0;if((s|0)<=31)break;else u=u+4|0}u=n+(c<<2)|0;f[b>>2]=u;f[d>>2]=e+(c<<2);y=u;z=w}else{y=n;z=p}if((z|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[y>>2]&-1>>>(32-z|0);y=(q|0)<(z|0)?q:z;n=f[d>>2]|0;w=f[n>>2]&~(-1<>2]&-1>>>(q-y|0));f[n>>2]=w;f[n>>2]=w|p<>2];w=(f[o>>2]|0)+y|0;q=n+(w>>>5<<2)|0;f[d>>2]=q;f[o>>2]=w&31;w=z-y|0;if((w|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[q>>2]=f[q>>2]&~(-1>>>(32-w|0))|p>>>y;f[o>>2]=w;i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d+4|0;i=d;if(!(eg(e,c)|0)){j=-1;u=d;return j|0}k=f[e>>2]|0;if(k|0){l=f[a+8>>2]|0;if(k>>>0>(((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0)>>>0){j=-1;u=d;return j|0}l=g+4|0;k=a+40|0;m=a+44|0;n=a+36|0;o=0;p=0;do{eg(i,c)|0;f[l>>2]=(f[i>>2]|0)+p;eg(i,c)|0;q=f[i>>2]|0;p=f[l>>2]|0;if(p>>>0>>0){r=22;break}f[g>>2]=p-q;q=f[k>>2]|0;if((q|0)==(f[m>>2]|0))df(n,g);else{f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[k>>2]=(f[k>>2]|0)+12}o=o+1|0}while(o>>>0<(f[e>>2]|0)>>>0);if((r|0)==22){j=-1;u=d;return j|0}bh(c,0,0)|0;r=f[e>>2]|0;if(r|0){e=a+4|0;o=c+36|0;k=c+32|0;g=c+24|0;n=c+28|0;m=a+36|0;a=0;p=0;while(1){l=f[e>>2]|0;i=(b[o>>0]|0)==0;if(((h[l+36>>0]<<8|h[l+37>>0])&65535)<514)if(!i){l=f[k>>2]|0;q=f[g>>2]|0;s=f[n>>2]|0;t=q+(l>>>3)|0;if(t>>>0>>0){v=(h[t>>0]|0)>>>(l&7)&1;t=l+1|0;f[k>>2]=t;w=t;x=v}else{w=l;x=0}if((q+(w>>>3)|0)>>>0>>0){f[k>>2]=w+1;y=x}else y=x}else y=a;else if(!i){i=f[k>>2]|0;s=(f[g>>2]|0)+(i>>>3)|0;if(s>>>0<(f[n>>2]|0)>>>0){q=(h[s>>0]|0)>>>(i&7)&1;f[k>>2]=i+1;y=q}else y=0}else y=a;q=(f[m>>2]|0)+(p*12|0)+8|0;b[q>>0]=b[q>>0]&-2|y&1;p=p+1|0;if(p>>>0>=r>>>0)break;else a=y}}ei(c)}j=f[c+16>>2]|0;u=d;return j|0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)ym(a);p=k<<6;k=b+31&-32;bf(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;ui(q|0,k|0,p<<2|0)|0;k=r-(p<<5)|0;r=q+(p<<2)|0;s=r;if((k|0)>0){t=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~t|f[l+(p<<2)>>2]&t;v=s;w=k}else{v=s;w=0}}else{v=q;w=0}f[g>>2]=v;f[g+4>>2]=w;w=g;g=f[w>>2]|0;v=f[w+4>>2]|0;w=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=w;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(w|0)fn(w);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=x;A=v;B=m}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Vf(z|0,-1,b<<2|0)|0;z=B-(b<<5)|0;B=A+(b<<2)|0;if(!z){u=d;return}f[B>>2]=f[B>>2]|-1>>>(32-z|0);u=d;return}else{if(i){C=x;D=v;E=m}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Vf(C|0,0,i<<2|0)|0;C=E-(i<<5)|0;E=D+(i<<2)|0;if(!C){u=d;return}f[E>>2]=f[E>>2]&~(-1>>>(32-C|0));u=d;return}}function Bc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=f[e>>2]|0;o=c;p=e;q=i}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=w;o=u;p=c;q=i-r|0}r=32-n|0;i=-1<31){n=~i;c=o;u=q;do{w=f[c>>2]|0;v=f[d>>2]|0;e=f[v>>2]&n;f[v>>2]=e;f[v>>2]=w<>2]|e;e=v+4|0;f[d>>2]=e;f[e>>2]=f[e>>2]&i|w>>>r;u=u+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((u|0)>31);x=c;y=q&31}else{x=o;y=q}if((y|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}q=f[x>>2]&-1>>>(32-y|0);x=(r|0)<(y|0)?r:y;o=f[d>>2]|0;c=f[o>>2]&~(-1<>2]&-1>>>(r-x|0));f[o>>2]=c;f[o>>2]=c|q<>2];c=(f[p>>2]|0)+x|0;r=o+(c>>>5<<2)|0;f[d>>2]=r;f[p>>2]=c&31;c=y-x|0;if((c|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[r>>2]=f[r>>2]&~(-1>>>(32-c|0))|q>>>x;f[p>>2]=c;j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function Cc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Tj(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Na[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Ma[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=La[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Ma[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){jf(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(q|0)!=(s|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(La[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=La[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function Dc(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2296;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do{e=e+-16|0;ln(e)}while((e|0)!=(c|0))}dn(b)}ln(a+352|0);ln(a+312|0);ln(a+296|0);ln(a+256|0);gf(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;fn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)fn(b);b=f[a+120>>2]|0;if(b|0)fn(b);b=f[a+108>>2]|0;if(b|0)fn(b);b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=f[a+60>>2]|0;if(b|0)fn(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;of(a);fn(a);return}function Ec(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+16|0;d=c;e=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(La[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if((f[n>>2]|0)!=0?(n=f[(f[h>>2]|0)+(m<<2)>>2]|0,o=f[n+8>>2]|0,p=Je(n)|0,(p|0)!=0):0){n=(La[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;q=f[n>>2]|0;n=f[o+56>>2]|0;o=dj(32)|0;f[d>>2]=o;f[j>>2]=-2147483616;f[k>>2]=24;r=o;s=8412;t=r+24|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[o+24>>0]=0;s=q+16|0;r=f[s>>2]|0;if(r){t=s;v=r;a:while(1){r=v;while(1){if((f[r+16>>2]|0)>=(n|0))break;w=f[r+4>>2]|0;if(!w){x=t;break a}else r=w}v=f[r>>2]|0;if(!v){x=r;break}else t=r}if(((x|0)!=(s|0)?(n|0)>=(f[x+16>>2]|0):0)?(t=x+20|0,(Ge(t,d)|0)!=0):0)y=wg(t,d,0)|0;else z=14}else z=14;if((z|0)==14){z=0;y=wg(q,d,0)|0}if((b[l>>0]|0)<0)fn(f[d>>2]|0);if(y)Zc(f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0,p);else z=19}else z=19;if((z|0)==19?(z=0,t=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Ma[f[(f[t>>2]|0)+24>>2]&127](t,i)|0)):0){g=0;z=21;break}m=m+1|0;if((m|0)>=(e|0)){g=1;z=21;break}}if((z|0)==21){u=c;return g|0}return 0}function Fc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=j;l=c;do{f[k>>2]=-1;$g(k+4|0);b[k+100>>0]=1;m=k+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));k=(f[i>>2]|0)+144|0;f[i>>2]=k;l=l+-1|0}while((l|0)!=0);u=d;return}l=f[a>>2]|0;k=(j-l|0)/144|0;j=k+c|0;if(j>>>0>29826161)ym(a);o=(h-l|0)/144|0;l=o<<1;h=o>>>0<14913080?(l>>>0>>0?j:l):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){l=ra(8)|0;$k(l,9793);f[l>>2]=3708;va(l|0,856,80)}else{p=dj(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;l=p+(k*144|0)|0;k=e+8|0;f[k>>2]=l;j=e+4|0;f[j>>2]=l;o=e+12|0;f[o>>2]=p+(h*144|0);h=l;l=c;do{f[h>>2]=-1;$g(h+4|0);b[h+100>>0]=1;m=h+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));h=(f[k>>2]|0)+144|0;f[k>>2]=h;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;h=f[i>>2]|0;if((h|0)==(l|0)){q=j;r=f[j>>2]|0;s=l;t=h}else{m=f[j>>2]|0;n=h;do{m=m+-144|0;n=n+-144|0;oc(m,n)}while((n|0)!=(l|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=f[k>>2];f[k>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=f[q>>2];nf(e);u=d;return}function Gc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=f[e+8>>2]|0;c=g+12|0;if(b[c>>0]|0){h=23;break}i=g+8|0;j=f[i>>2]|0;d=f[j>>2]|0;if((d|0)==(g|0)){k=f[j+4>>2]|0;if(!k){h=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{h=7;break}}else{if(!d){h=16;break}l=d+12|0;if(!(b[l>>0]|0))m=l;else{h=16;break}}b[c>>0]=1;c=(j|0)==(a|0);b[j+12>>0]=c&1;b[m>>0]=1;if(c){h=23;break}else e=j}if((h|0)==7){if((f[g>>2]|0)==(e|0)){n=g;o=j}else{m=g+4|0;a=f[m>>2]|0;c=f[a>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[i>>2]|0}f[a+8>>2]=p;p=f[i>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=a;f[a>>2]=g;f[i>>2]=a;n=a;o=f[a+8>>2]|0}b[n+12>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;a=n+4|0;p=f[a>>2]|0;f[o>>2]=p;if(p|0)f[p+8>>2]=o;p=o+8|0;f[n+8>>2]=f[p>>2];c=f[p>>2]|0;f[((f[c>>2]|0)==(o|0)?c:c+4|0)>>2]=n;f[a>>2]=o;f[p>>2]=n;return}else if((h|0)==16){if((f[g>>2]|0)==(e|0)){e=f[g>>2]|0;n=e+4|0;p=f[n>>2]|0;f[g>>2]=p;if(!p)q=j;else{f[p+8>>2]=g;q=f[i>>2]|0}f[e+8>>2]=q;q=f[i>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=e;f[n>>2]=g;f[i>>2]=e;r=e;s=f[e+8>>2]|0}else{r=g;s=j}b[r+12>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;g=f[j>>2]|0;f[r>>2]=g;if(g|0)f[g+8>>2]=s;g=s+8|0;f[j+8>>2]=f[g>>2];r=f[g>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[g>>2]=j;return}else if((h|0)==23)return}function Hc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Tj(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}Ac(a+76|0,l,0);Vk(d);if(sd(d,b)|0){if((l|0)>0){k=a+76|0;i=0;m=1;do{m=m^((Xg(d)|0)^1);j=(f[k>>2]|0)+(i>>>5<<2)|0;o=1<<(i&31);p=f[j>>2]|0;f[j>>2]=m?p|o:p&~o;i=i+1|0}while((i|0)<(l|0))}l=e;e=f[l>>2]|0;i=f[l+4>>2]|0;l=g;m=f[l>>2]|0;k=f[l+4>>2]|0;l=Tj(m|0,k|0,4,0)|0;o=I;if(((!((i|0)<(o|0)|(i|0)==(o|0)&e>>>0>>0)?(p=f[b>>2]|0,b=p+m|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=o,o=Tj(m|0,k|0,8,0)|0,k=I,!((i|0)<(k|0)|(i|0)==(k|0)&e>>>0>>0)):0)?(e=p+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=o,f[e+4>>2]=k,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,k=Vj(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&k>>>0<2147483647):0){j=k+1|0;f[a+20>>2]=j;k=(j|0)/2|0;l=a+24|0;f[l>>2]=k;f[a+28>>2]=0-k;if(!(j&1)){f[l>>2]=k+-1;q=1}else q=1}else q=0}else q=0;ln(d);n=q;u=c;return n|0}function Ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=La[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Ma[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Ma[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=dj(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2024;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2080;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Vk(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=dj(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=1940;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=1996;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Vk(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Jc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;Ud(a+232|0);gf(a+216|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;fn(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)fn(b);b=f[a+120>>2]|0;if(b|0)fn(b);b=f[a+108>>2]|0;if(b|0)fn(b);b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+60>>2]|0;if(b|0)fn(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;of(a);fn(a);return}function Kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+16|0;e=c;g=0;do{eg(d,b)|0;i=f[d>>2]|0;if(i|0){j=a+60+(g*12|0)|0;Ac(j,i,0);Vk(e);if(!(sd(e,b)|0)){k=9;break}if(f[d>>2]|0){i=0;do{l=Xg(e)|0;m=(f[j>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);o=f[m>>2]|0;f[m>>2]=l?o|n:o&~n;i=i+1|0}while(i>>>0<(f[d>>2]|0)>>>0)}ln(e)}g=g+1|0}while((g|0)<4);if((k|0)==9){ln(e);p=0;u=c;return p|0}e=b+8|0;k=f[e>>2]|0;g=f[e+4>>2]|0;e=b+16|0;d=e;i=f[d>>2]|0;j=f[d+4>>2]|0;d=Tj(i|0,j|0,4,0)|0;n=I;if((g|0)<(n|0)|(g|0)==(n|0)&k>>>0>>0){p=0;u=c;return p|0}o=f[b>>2]|0;b=o+i|0;l=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=e;f[b>>2]=d;f[b+4>>2]=n;n=Tj(i|0,j|0,8,0)|0;j=I;if((g|0)<(j|0)|(g|0)==(j|0)&k>>>0>>0){p=0;u=c;return p|0}k=o+d|0;d=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;k=e;f[k>>2]=n;f[k+4>>2]=j;if((l|0)>(d|0)){p=0;u=c;return p|0}f[a+12>>2]=l;f[a+16>>2]=d;j=Vj(d|0,((d|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=I;if(!(l>>>0<0|(l|0)==0&j>>>0<2147483647)){p=0;u=c;return p|0}l=j+1|0;f[a+20>>2]=l;j=(l|0)/2|0;d=a+24|0;f[d>>2]=j;f[a+28>>2]=0-j;if(l&1|0){p=1;u=c;return p|0}f[d>>2]=j+-1;p=1;u=c;return p|0}function Lc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=pe(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Mc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=qe(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Nc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=re(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Oc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=te(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Pc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=ue(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Qc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=ve(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Rc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(d[c+38>>1]|0)){e=0;return e|0}g=a+12|0;if(!(eg(g,c)|0)){e=0;return e|0}h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0)if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=h}else n=h;else{jf(a,h-l|0);n=f[g>>2]|0}if(!n){e=1;return e|0}l=c+8|0;h=c+16|0;j=n;n=0;a:while(1){k=l;i=f[k>>2]|0;m=f[k+4>>2]|0;k=h;o=f[k>>2]|0;p=f[k+4>>2]|0;if(!((m|0)>(p|0)|(m|0)==(p|0)&i>>>0>o>>>0)){e=0;q=19;break}k=f[c>>2]|0;r=b[k+o>>0]|0;s=Tj(o|0,p|0,1,0)|0;p=I;o=h;f[o>>2]=s;f[o+4>>2]=p;o=r&255;t=o&3;u=o>>>2;switch(r&3){case 3:{r=u+n|0;if(r>>>0>=j>>>0){e=0;q=19;break a}Vf((f[a>>2]|0)+(n<<2)|0,0,(u<<2)+4|0)|0;v=r;break}case 0:{w=u;q=16;break}default:{r=p;p=s;s=0;o=u;while(1){if(!((m|0)>(r|0)|(m|0)==(r|0)&i>>>0>p>>>0)){e=0;q=19;break a}u=b[k+p>>0]|0;p=Tj(p|0,r|0,1,0)|0;r=I;x=h;f[x>>2]=p;f[x+4>>2]=r;x=(u&255)<<(s<<3|6)|o;s=s+1|0;if((s|0)>=(t|0)){w=x;q=16;break}else o=x}}}if((q|0)==16){q=0;f[(f[a>>2]|0)+(n<<2)>>2]=w;v=n}n=v+1|0;j=f[g>>2]|0;if(n>>>0>=j>>>0){q=18;break}}if((q|0)==18){e=we(a+16|0,f[a>>2]|0,j)|0;return e|0}else if((q|0)==19)return e|0;return 0}function Sc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(Lb(a,c)|0)){g=0;u=d;return g|0}h=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else Jd(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Tj(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Sa[f[(f[a>>2]|0)+48>>2]&7](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=La[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Ma[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Na[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=dj(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;Hm(e);if(ce(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){Df(o);fn(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}fn(l)}Df(c);fn(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=9554;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Df(i);fn(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}fn(p)}Df(h);fn(h);u=d;return}}function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=f[b>>2]|0;f[d>>2]=g;b=a+8|0;h=(g|0)==-1;i=g+1|0;do if(!h){f[d+4>>2]=((i>>>0)%3|0|0)==0?g+-2|0:i;if(!((g>>>0)%3|0)){j=g+2|0;break}else{j=g+-1|0;break}}else{f[d+4>>2]=-1;j=-1}while(0);f[d+8>>2]=j;j=h?-1:(g>>>0)/3|0;h=a+216|0;i=a+220|0;k=a+368|0;a=g;g=0;while(1){if((a|0)!=-1?(l=f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(l|0)!=-1):0){if(((l>>>0)/3|0)>>>0>=j>>>0?(f[i>>2]|0)!=(f[h>>2]|0):0){l=0;do{if(Xg((f[k>>2]|0)+(l<<4)|0)|0){m=f[h>>2]|0;f[e>>2]=a;n=m+(l*144|0)+136|0;o=f[n>>2]|0;if(o>>>0<(f[m+(l*144|0)+140>>2]|0)>>>0){f[o>>2]=a;f[n>>2]=o+4}else yf(m+(l*144|0)+132|0,e)}l=l+1|0}while(l>>>0<(((f[i>>2]|0)-(f[h>>2]|0)|0)/144|0)>>>0)}}else p=10;if((p|0)==10?(p=0,l=f[i>>2]|0,m=f[h>>2]|0,(l|0)!=(m|0)):0){o=l;l=m;m=0;while(1){n=l;f[e>>2]=a;q=n+(m*144|0)+136|0;r=f[q>>2]|0;if(r>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[r>>2]=a;f[q>>2]=r+4;s=l;t=o}else{yf(n+(m*144|0)+132|0,e);s=f[h>>2]|0;t=f[i>>2]|0}m=m+1|0;if(m>>>0>=((t-s|0)/144|0)>>>0)break;else{o=t;l=s}}}l=g+1|0;if((l|0)==3)break;a=f[d+(l<<2)>>2]|0;g=l}u=c;return 1}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=dj(124)|0;f[k+4>>2]=0;f[k>>2]=2396;f[k+12>>2]=2420;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=2420;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=2420;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;ge(i+8|0,o,g);Qa[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];vd(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;Vd(k,h);f[a>>2]=n;f[i>>2]=2420;n=f[i+20>>2]|0;if(n|0)fn(n);n=f[i+8>>2]|0;if(!n){wf(h);u=e;return}fn(n);wf(h);u=e;return}function Xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=2;k=0;l=(j|0)==2;m=l?0:k;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=h;h=0;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;r=Tf(f[q>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(r){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?mh(z,A,w)|0:0){B=0;C=h;break b}}else if(!y){if((x&255)<<24>>24==(b[A>>0]|0)){D=v;E=g;F=A}else{B=0;C=h;break b}while(1){D=D+-1|0;E=E+1|0;if(!D)break c;F=F+1|0;if((b[E>>0]|0)!=(b[F>>0]|0)){B=0;C=h;break b}}}while(0);B=1;C=f[q>>2]|0}else{B=0;C=h}}else{B=3;C=h}while(0);if(s<<24>>24<0)fn(f[g>>2]|0);switch(B&3){case 3:case 0:break;default:{j=B;k=C;G=17;break a}}q=q+4|0;if((q|0)==(i|0)){j=2;k=C;G=17;break}else h=C}if((G|0)==17){l=(j|0)==2;m=l?0:k;u=e;return m|0}return 0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+32|0;e=d+12|0;g=d;h=Ch(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)ym(e);else{n=dj(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Vf(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;f[c>>2]=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2];s=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=s;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=f[c>>2];f[o+(q*12|0)+8>>2]=s;q=q+1|0}while(q>>>0>>0)}while(0);lg(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);fn(a)}u=d;return}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=dj(32)|0;tj(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;fn(d)}fn(g);h=f[e>>2]|0}Wg(a,h,0,0,0,0);j=a}else j=a;if(!(Of(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))yd(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;fn(c)}fn(h);return}h=dj(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)ym(c);l=dj(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){ee(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;fn(h)}fn(a);return}function _c(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ug(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(k|0)!=(j|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(jb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=i;i=0;while(1){f[d>>2]=f[a+(i<<2)>>2];f[c>>2]=f[d>>2];i=i+1|0;if(!(jb(e,c)|0)){n=0;o=15;break}g=f[l>>2]|0;a=f[g>>2]|0;if(i>>>0>=(f[g+4>>2]|0)-a>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function $c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(p|0)!=(o|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else jf(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(_a(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(_a(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=w;o=0;while(1){f[k+(t<<2)>>2]=f[i+(o<<2)>>2];o=o+1|0;if((o|0)==(l|0))break;else t=t+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=l+w|0}if((v|0)==18){u=e;return s|0}return 0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Rc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=zd(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=f[g>>2]|0;o=0;while(1){a:do if(n>>>0<16384){p=f[i>>2]|0;q=n;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=h[s+p>>0]|0|q<<8;f[g>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=n;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;n=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=n;f[c+(o<<2)>>2]=p;o=o+1|0;if((o|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);fn(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);fn(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);fn(a);u=d;return j|0}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;fn(a)}if((b[s+11>>0]|0)<0)fn(f[s>>2]|0);fn(d);return c|0}function ed(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));Db(a,h,i);if(f[a>>2]|0){n=h+24|0;ln(n);u=g;return}o=a+4|0;p=o+11|0;if((b[p>>0]|0)<0)fn(f[o>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;q=dj(32)|0;f[j>>2]=q;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=q;l=8391;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+20>>0]=0;f[a>>2]=-1;Sf(o,j);if((b[j+11>>0]|0)<0)fn(f[j>>2]|0);n=h+24|0;ln(n);u=g;return}Me(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){q=j+16|0;l=f[q>>2]|0;f[q>>2]=0;qi(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[p>>0]|0)<0)fn(f[o>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Qa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Sf(o,j+4|0)}o=j+16|0;i=f[o>>2]|0;f[o>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)fn(f[i>>2]|0);n=h+24|0;ln(n);u=g;return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)ym(d);else{i=b*12|0;j=dj(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Vf(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(Rf(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(i<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+k|0;f[e>>2]=q;p=f[n+(i+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(i+2<<2)>>2]|0;n=q>>>1;k=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=k;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))df(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else i=i+3|0}}else m=0;i=f[d>>2]|0;if(!i){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(i|0))f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);fn(i);u=c;return m|0}function gd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ae(i,h-m|0,2384);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=0;while(1){h=d*3|0;i=f[o+(h<<2)>>2]|0;if((i|0)==-1){q=0;r=11;break}g=f[(f[m>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=p>>>0){q=0;r=11;break}i=f[a>>2]|0;f[i+(f[c+(d*12|0)>>2]<<2)>>2]=k;k=f[o+(h+1<<2)>>2]|0;if((k|0)==-1){q=0;r=11;break}l=f[g+(k<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+4>>2]<<2)>>2]=l;l=f[o+(h+2<<2)>>2]|0;if((l|0)==-1){q=0;r=11;break}h=f[g+(l<<2)>>2]|0;if(h>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+8>>2]<<2)>>2]=h;d=d+1|0;if(d>>>0>=e>>>0){q=1;r=11;break}}if((r|0)==11)return q|0;return 0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2372;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)ym(i);else{o=((n+-1|0)>>>5)+1|0;p=dj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];md(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)ym(i);k=((l+-1|0)>>>5)+1|0;l=dj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];md(i,e,d);u=c;return}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=2420;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)ym(i);else{o=((n+-1|0)>>>5)+1|0;p=dj(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];md(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)ym(i);k=((l+-1|0)>>>5)+1|0;l=dj(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];md(i,e,d);u=c;return}function jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=0,x=0,y=Ja,z=0,A=Ja;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=cn(j>>>0>1073741823?-1:j<<2)|0;Cl(e);if(!(Zi(e,$(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;dn(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){ee((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}dn(l);u=d;return m|0}while(1){a=f[p>>2]|0;t=$(n[g>>2]);v=$(n[e>>2]);i=0;w=s;while(1){x=f[o+(w<<2)>>2]|0;if((x|0)>-1)y=$($($(x|0)*t)*v);else{z=Vj(0,0,x|0,((x|0)<0)<<31>>31|0)|0;y=$(-$(v*$(t*$(+(z>>>0)+4294967296.0*+(I|0)))))}A=$(y+$(n[a+(i<<2)>>2]));n[l+(i<<2)>>2]=A;i=i+1|0;if((i|0)==(j|0))break;else w=w+1|0}ee((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+r|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+k|0;s=j+s|0}}dn(l);u=d;return m|0}function kd(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=cn(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)dn(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Tj(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}ee(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Tj(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Tj(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Tj(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Tj(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Vf(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)ym(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{n=dj(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Vf(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=d;d=h;h=j;do{j=i+-12|0;b=d;d=d+-12|0;f[j>>2]=0;n=i+-8|0;f[n>>2]=0;f[i+-4>>2]=0;f[j>>2]=f[d>>2];j=b+-8|0;f[n>>2]=f[j>>2];n=b+-4|0;f[i+-4>>2]=f[n>>2];f[n>>2]=0;f[j>>2]=0;f[d>>2]=0;i=h+-12|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);fn(m)}}while((c|0)!=(g|0))}if(!p)return;fn(p);return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((o|0)!=(a|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];yc(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=b;t=n;v=j;w=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=l+(e>>>5<<2)|0;s=b;t=b;v=j-p|0;w=e&31}e=(v|0)/32|0;ui(r|0,s|0,e<<2|0)|0;s=v-(e<<5)|0;v=r+(e<<2)|0;r=v;if((s|0)>0){p=-1>>>(32-s|0);f[v>>2]=f[v>>2]&~p|f[t+(e<<2)>>2]&p;x=r;y=s}else{x=r;y=w}}else{x=m;y=o}f[k>>2]=x;f[k+4>>2]=y;u=d;return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;if(g-i>>2>>>0>=b>>>0){Vf(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}j=f[a>>2]|0;k=i-j>>2;i=k+b|0;if(i>>>0>1073741823)ym(a);l=g-j|0;j=l>>1;g=l>>2>>>0<536870911?(j>>>0>>0?i:j):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(g)if(g>>>0>1073741823){j=ra(8)|0;$k(j,9793);f[j>>2]=3708;va(j|0,856,80)}else{m=dj(g<<2)|0;break}else m=0;while(0);f[d>>2]=m;j=m+(k<<2)|0;k=d+8|0;i=d+4|0;f[i>>2]=j;l=d+12|0;f[l>>2]=m+(g<<2);Vf(j|0,0,b<<2|0)|0;f[k>>2]=j+(b<<2);b=f[a>>2]|0;j=f[h>>2]|0;if((j|0)==(b|0)){n=i;o=f[i>>2]|0;p=b;q=j}else{g=f[i>>2]|0;m=j;do{m=m+-4|0;j=f[m>>2]|0;f[m>>2]=0;f[g+-4>>2]=j;g=(f[i>>2]|0)+-4|0;f[i>>2]=g}while((m|0)!=(b|0));n=i;o=g;p=f[a>>2]|0;q=f[h>>2]|0}f[a>>2]=o;f[n>>2]=p;f[h>>2]=f[k>>2];f[k>>2]=q;q=f[e>>2]|0;f[e>>2]=f[l>>2];f[l>>2]=q;f[d>>2]=f[n>>2];Se(d);u=c;return}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)ui(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);fn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)ym(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)ym(a);h=dj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+(p<<2);return}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){f[j>>2]=f[c>>2];o=o+-1|0;if(!o)break;else j=j+4|0}}if(!l){j=h+(b<<2)|0;if((n|0)==(j|0))return;else{p=i;q=n+(~((n+-4-j|0)>>>2)<<2)|0;break}}else{j=b-k|0;o=n;m=j;while(1){f[o>>2]=f[c>>2];m=m+-1|0;if(!m)break;else o=o+4|0}p=i;q=n+(j<<2)|0;break}}else{o=g;if(!g)r=e;else{m=a+4|0;k=f[m>>2]|0;if((k|0)!=(h|0))f[m>>2]=k+(~((k+-4-g|0)>>>2)<<2);fn(o);f[d>>2]=0;f[m>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)ym(a);m=r>>1;o=r>>2>>>0<536870911?(m>>>0>>0?b:m):1073741823;if(o>>>0>1073741823)ym(a);m=dj(o<<2)|0;k=a+4|0;f[k>>2]=m;f[a>>2]=m;f[d>>2]=m+(o<<2);o=m;l=b;while(1){f[o>>2]=f[c>>2];l=l+-1|0;if(!l)break;else o=o+4|0}p=k;q=m+(b<<2)|0}while(0);f[p>>2]=q;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)ui(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=n;o=p;while(1){d[q>>1]=d[o>>1]|0;o=o+2|0;if((o|0)==(c|0))break;else q=q+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);fn(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)ym(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)ym(a);t=dj(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=t;i=b;while(1){d[e>>1]=d[i>>1]|0;i=i+2|0;if((i|0)==(c|0))break;else e=e+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)ui(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);fn(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)ym(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)ym(a);h=dj(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;j=f[i+4>>2]|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;if(!((j|0)>(n|0)|((j|0)==(n|0)?(f[i>>2]|0)>>>0>m>>>0:0))){o=0;u=d;return o|0}b[a+12>>0]=b[(f[c>>2]|0)+m>>0]|0;m=k;i=Tj(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=k;f[m>>2]=i;f[m+4>>2]=I;a:do if((eg(e,c)|0?(m=f[e>>2]|0,i=g,n=k,j=f[n>>2]|0,l=f[n+4>>2]|0,n=Vj(f[i>>2]|0,f[i+4>>2]|0,j|0,l|0)|0,i=I,!(0>(i|0)|0==(i|0)&m>>>0>n>>>0)):0)?(n=(f[c>>2]|0)+j|0,(m|0)>=1):0){f[a>>2]=n;i=m+-1|0;p=n+i|0;switch((h[p>>0]|0)>>>6&3){case 0:{f[a+4>>2]=i;q=b[p>>0]&63;break}case 1:{if((m|0)<2){r=0;break a}f[a+4>>2]=m+-2;p=n+m+-2|0;q=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break}case 2:{if((m|0)<3){r=0;break a}f[a+4>>2]=m+-3;p=n+m+-3|0;q=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}p=q+4096|0;f[a+8>>2]=p;if(p>>>0<=1048575){p=Tj(j|0,l|0,m|0,0)|0;m=k;f[m>>2]=p;f[m+4>>2]=I;r=1}else r=0}else r=0;while(0);o=r;u=d;return o|0}function td(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;dc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;cc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)fn(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)fn(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(l|0)!=(o|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{jf(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(xb(a,d)|0)){s=0;u=c;return s|0}fb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{fn(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)ym(c);else{j=((k+-1|0)>>>5)+1|0;l=dj(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);ui(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{fn(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)ym(h);else{n=((p+-1|0)>>>5)+1|0;c=dj(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);ui(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Yg(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=d;d=0;do{k=j+(d<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Yg(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;d=d+1|0;j=f[i>>2]|0}while(d>>>0<(f[c>>2]|0)-j>>2>>>0)}j=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Yg(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ug(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(ob(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(ob(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);fn(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)ym(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)ym(a);j=dj(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;ee(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;ee(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((c|0)==(p|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+16|0;e=d;if(!(Gf(e,c)|0)){g=0;u=d;return g|0}i=e;e=f[i>>2]|0;j=f[i+4>>2]|0;i=c+8|0;k=c+16|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=Vj(f[i>>2]|0,f[i+4>>2]|0,m|0,n|0)|0;i=I;if(j>>>0>i>>>0|(j|0)==(i|0)&e>>>0>l>>>0){g=0;u=d;return g|0}l=(f[c>>2]|0)+m|0;c=Tj(m|0,n|0,e|0,j|0)|0;j=k;f[j>>2]=c;f[j+4>>2]=I;if((e|0)<1){g=0;u=d;return g|0}f[a+40>>2]=l;j=e+-1|0;c=l+j|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=j;o=b[c>>0]&63;break}case 1:{if((e|0)<2){g=0;u=d;return g|0}else{f[a+44>>2]=e+-2;k=l+e+-2|0;o=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}break}case 2:{if((e|0)<3){g=0;u=d;return g|0}else{f[a+44>>2]=e+-3;k=l+e+-3|0;o=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=e+-4;k=l+e+-4|0;o=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);e=o+16384|0;f[a+48>>2]=e;g=e>>>0<4194304;u=d;return g|0}function Ad(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;ug(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(rb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(rb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(kc(e,a,d)|0){d=f[g>>2]|0;rd(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+56>>2]|0;if(d|0)fn(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}of(e);fn(e);u=c;return l|0}function Cd(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Ja,f=Ja,g=Ja,h=Ja,i=Ja,j=Ja,k=Ja,l=Ja,m=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Ja,u=Ja,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=g;j=$(g-h);k=$(h+g);l=h;m=-1.0}else{i=b;j=f;k=e;l=c;m=1.0}c=$(+i*2.0+-1.0);i=$(+l*2.0+-1.0);o=+k*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=t;w=d+8|0;n[w>>2]=u;return}else{l=$($(1.0)/$(L($(k))));k=$(j*l);n[d>>2]=k;t=$(c*l);u=$(i*l);v=d+4|0;n[v>>2]=t;w=d+8|0;n[w>>2]=u;return}}function Dd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=d;j=a;while(1){if((b[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=d;r=a;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=c&255;if((b[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=X(e,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){a=f[g>>2]^q;if((a&-2139062144^-2139062144)&a+-16843009|0)break;a=g+4|0;d=s+-4|0;if(d>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((b[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+16|0;g=e;h=d+8|0;i=f[h>>2]|0;j=f[h+4>>2]|0;h=d+16|0;k=h;l=f[k>>2]|0;m=f[k+4>>2]|0;if((j|0)>(m|0)|(j|0)==(m|0)&i>>>0>l>>>0){k=b[(f[d>>2]|0)+l>>0]|0;n=Tj(l|0,m|0,1,0)|0;o=I;p=h;f[p>>2]=n;f[p+4>>2]=o;if(k<<24>>24!=-2){q=o;r=n;s=k;t=3}}else{q=m;r=l;s=0;t=3}if((t|0)==3){if((j|0)>(q|0)|(j|0)==(q|0)&i>>>0>r>>>0){i=b[(f[d>>2]|0)+r>>0]|0;j=Tj(r|0,q|0,1,0)|0;q=h;f[q>>2]=j;f[q+4>>2]=I;v=i}else v=0;Ta[f[(f[a>>2]|0)+40>>2]&7](g,a,s<<24>>24,v<<24>>24);v=a+20|0;s=f[g>>2]|0;f[g>>2]=0;i=f[v>>2]|0;f[v>>2]=s;if(i){Qa[f[(f[i>>2]|0)+4>>2]&127](i);i=f[g>>2]|0;f[g>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Ma[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){w=0;u=e;return w|0}w=Na[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=e;return w|0}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=g;g=a+4|0;while(1){a=d+16|0;i=b[a+11>>0]|0;k=i<<24>>24<0;l=k?f[d+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=mh(e,k?f[a>>2]|0:a,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[d>>2]|0;if(!n){o=9;break}else{p=n;q=d}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=mh(k?f[a>>2]|0:a,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=d+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=i;q=r}}d=p;g=q}if((o|0)==9){f[c>>2]=d;h=d;return h|0}else if((o|0)==15){f[c>>2]=d;h=r;return h|0}else if((o|0)==16){f[c>>2]=d;h=g;return h|0}return 0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;Bc(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=l;p=c;q=h;r=j;s=0}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=l;p=l;q=h-n|0;r=j+(g>>>5<<2)|0;s=g&31}g=(q|0)/32|0;ui(r|0,o|0,g<<2|0)|0;o=q-(g<<5)|0;q=r+(g<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);f[q>>2]=f[q>>2]&~j|f[p+(g<<2)>>2]&j;t=r;v=o}else{t=r;v=s}}else{t=k;v=m}f[i>>2]=t;f[i+4>>2]=v;u=d;return}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=gg(c)|0;if(i>>>0>4294967279)ym(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=dj(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){ee(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=gg(d)|0;if(i>>>0>4294967279)ym(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=dj(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){ee(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Xc(i,g,h)|0,(o|0)!=0):0)q=lh(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)fn(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}fn(f[g>>2]|0);u=e;return q|0}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;fn(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)ym(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)ym(a);i=dj(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}else{o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;n=a-e|0;if(n|0)ui(k|0,c|0,n|0)|0;c=k+n|0;if(!j){if((f[o>>2]|0)==(c|0))return;f[o>>2]=c;return}if((a|0)==(d|0))return;a=f[o>>2]|0;c=g;do{b[a>>0]=b[c>>0]|0;c=c+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((c|0)!=(d|0));return}}function Jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Vf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)ym(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{n=dj(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Vf(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=d;d=h;h=b;do{d=d+-4|0;b=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=b;i=h+-4|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Qa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;fn(p);return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)ym(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;$k(e,9793);f[e>>2]=3708;va(e|0,856,80)}else{l=dj(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;Sf(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=e;e=l;l=g;do{g=j+-12|0;e=e+-12|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=l+-12|0;l=j}while((e|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)fn(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;fn(n);return}function Ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)ui(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;ee(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);fn(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)ym(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)ym(a);j=dj(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;ee(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=dj(64)|0;g=dj(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=2592;f[g+8>>2]=h;f[d>>2]=g;Eh(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){Jd(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(m|0)!=(n|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Qa[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Qa[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Qa[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=0;i=-1;j=b}else{h=0;i=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;j=b}}else{h=1;i=-1;j=-1}if((g|0)!=(i|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(h){l=-1;m=-1;n=j;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(h){l=-1;m=e;n=j;break}else o=e}e=j+1|0;b=((e>>>0)%3|0|0)==0?j+-2|0:e;if((b|0)==-1){l=-1;m=o;n=j}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=j}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(Tb(e,c)|0){g=0;return g|0}a=Ab(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Ye(c+8|0);fn(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)fn(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)fn(a);fn(d);g=1;return g|0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))ye(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){yf(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;fn(b)}fn(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);fn(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;fn(e)}fn(h)}fn(c);u=d;return}function Qd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2696;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}Re(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){Df(i);fn(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}fn(g)}Df(a);fn(a);return}function Rd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=kk(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=f[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=(q<<31>>31)+n|0;t=g-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;g=kk(Aa(146,e|0)|0)|0;if((o|0)==(g|0)){v=3;break a}else{m=r;n=s}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((n|0)==2)w=0;else w=c-(f[m+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|0}function Td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=mh(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=mh(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Ud(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);fn(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}fn(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);fn(g)}g=a+136|0;j=f[g>>2]|0;f[g>>2]=0;if(!j){l=a+120|0;ln(l);m=a+80|0;ln(m);n=a+64|0;ln(n);o=a+24|0;ln(o);return}g=j+-4|0;b=f[g>>2]|0;if(b|0){h=j+(b<<4)|0;do{h=h+-16|0;ln(h)}while((h|0)!=(j|0))}dn(g);l=a+120|0;ln(l);m=a+80|0;ln(m);n=a+64|0;ln(n);o=a+24|0;ln(o);return}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];vd(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{yd(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);yd(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);yd(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Ld(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=h;j=b;do{f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];i=(f[g>>2]|0)+12|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/12|0;h=i+b|0;if(h>>>0>357913941)ym(a);k=(e-j|0)/12|0;j=k<<1;e=k>>>0<178956970?(j>>>0>>0?h:j):357913941;do if(e)if(e>>>0>357913941){j=ra(8)|0;$k(j,9793);f[j>>2]=3708;va(j|0,856,80)}else{l=dj(e*12|0)|0;break}else l=0;while(0);j=l+(i*12|0)|0;i=l+(e*12|0)|0;e=j;l=b;b=j;do{f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];e=b+12|0;b=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;c=j+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)ee(c|0,l|0,e|0)|0;f[a>>2]=c;f[g>>2]=b;f[d>>2]=i;if(!l)return;fn(l);return}function Xd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+32|0;g=e+8|0;i=e;if((d|0)!=3){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{b=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((La[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Ic(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);m=f[i>>2]|0;if(!m){f[i>>2]=0;break}else{n=m;o=i;break a}}while(0);m=dj(24)|0;f[m+4>>2]=b;p=m+8|0;f[p>>2]=f[g>>2];f[p+4>>2]=f[g+4>>2];f[p+8>>2]=f[g+8>>2];f[p+12>>2]=f[g+12>>2];f[m>>2]=1884;k=m;l=8}while(0);if((l|0)==8){f[i>>2]=k;n=k;o=i}f[a>>2]=n;f[o>>2]=0;u=e;return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)ym(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{k=dj(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){Df(n);fn(n)}}while((h|0)!=(g|0))}if(!m)return;fn(m);return}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Uh(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(di(5)|0,d)|0;kg(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=dj(96)|0;Gh(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);ag(j,c)|0;f[h>>2]=j;Kf(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;fn(h)}fn(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);fn(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;fn(j)}fn(c)}fn(a);u=e;return}function _d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function $d(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=cn(k)|0;Vf(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;bc(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){dn(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;bc(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));dn(l);u=g;return 1}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Pd(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);fn(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;fn(c)}fn(h)}fn(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Fe(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((b|0)==(e|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;n=m+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((o|0)>(g|0)){l=0;return l|0}f[a+12>>2]=o;f[a+16>>2]=g;j=Vj(g|0,((g|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;if(!(o>>>0<0|(o|0)==0&j>>>0<2147483647)){l=0;return l|0}o=j+1|0;f[a+20>>2]=o;j=(o|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(!(o&1))f[g>>2]=j+-1;l=sd(a+108|0,b)|0;return l|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;eg(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){eg(g,f[a>>2]|0)|0;k=dj(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(gc(a,k)|0))break;f[h>>2]=k;Ig(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){Df(l);fn(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}Df(k);fn(k);m=0}while(0);if((j|0)==8)m=gc(a,c)|0;i=m;u=d;return i|0}function de(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;do if(!(Dl(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Dl(a,f[c>>2]|0,g)|0)){i=f[h>>2]|0;Ua[f[(f[i>>2]|0)+24>>2]&3](i,c,d,e,g);break}i=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(j=c+20|0,(f[j>>2]|0)!=(d|0)):0){f[i>>2]=e;k=c+44|0;if((f[k>>2]|0)==4)break;l=c+52|0;b[l>>0]=0;m=c+53|0;b[m>>0]=0;n=f[h>>2]|0;Va[f[(f[n>>2]|0)+20>>2]&3](n,c,d,d,1,g);if(b[m>>0]|0)if(!(b[l>>0]|0)){o=3;p=11}else q=3;else{o=4;p=11}if((p|0)==11){f[j>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;q=o}else q=o}f[k>>2]=q;break}if((e|0)==1)f[i>>2]=1}else Wi(0,c,d,e);while(0);return}function ee(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(k>>>0<=o>>>0)if(k>>>0>>0?(m=p+(k<<2)|0,(n|0)!=(m|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{jf(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=4;o=0;k=j;while(1){f[g+(o<<2)>>2]=k;q=q+4|0;o=o+1|0;d=r+q|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((o|0)>=(i|0)){s=c;break}else k=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)ym(a);n=j<<6;j=c+31&-32;bf(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)fn(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Vf(h|0,0,n|0)|0;d=c-(a<<5)|0;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Vf(h|0,-1,n|0)|0;n=c-(a<<5)|0;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function he(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=dj(384)|0;qg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Qa[f[(f[c>>2]|0)+4>>2]&127](c);m=9}break}case 2:{c=dj(440)|0;lf(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Qa[f[(f[d>>2]|0)+4>>2]&127](d);m=9}break}default:m=9}if((m|0)==9){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Ma[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function ie(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=_b(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=dj(40)|0;Sf(c+16|0,d);Sf(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Gc(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Vj(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=dj(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;ee(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}kf(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;ee(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>4294967279)ym(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=a;m=0;n=j;o=13}else{Qk(a,j,(e&255)+1|0)|0;fn(j);o=15}}else{j=dj(k+1|0)|0;if(g){l=j;m=1;n=f[a>>2]|0;o=13;break}else{Qk(j,a,(e&255)+1|0)|0;p=j;o=14;break}}while(0);if((o|0)==13){Qk(l,n,(f[a+4>>2]|0)+1|0)|0;fn(n);if(m){p=l;o=14}else o=15}if((o|0)==14){f[a+8>>2]=k+1|-2147483648;f[a+4>>2]=h;f[a>>2]=p;break}else if((o|0)==15){b[d>>0]=h;break}}while(0);return}function me(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){fn(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=g;m=j;while(1){j=m+8|0;if((l|0)==(f[i>>2]|0))Kd(a,j);else{Sf(l,j);f[h>>2]=(f[h>>2]|0)+12}j=f[m>>2]|0;if(!j)break a;l=f[h>>2]|0;m=j}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Sa[e&7](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;fn(d)}fn(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);fn(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;fn(a)}fn(e)}fn(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=g;i=b;do{j=h;f[j>>2]=0;f[j+4>>2]=0;h=(f[e>>2]|0)+8|0;f[e>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;h=g-i>>3;g=h+b|0;if(g>>>0>536870911)ym(a);j=d-i|0;i=j>>2;d=j>>3>>>0<268435455?(i>>>0>>0?g:i):536870911;do if(d)if(d>>>0>536870911){i=ra(8)|0;$k(i,9793);f[i>>2]=3708;va(i|0,856,80)}else{k=dj(d<<3)|0;break}else k=0;while(0);i=k+(h<<3)|0;h=k+(d<<3)|0;d=i;k=b;b=i;do{g=d;f[g>>2]=0;f[g+4>>2]=0;d=b+8|0;b=d;k=k+-1|0}while((k|0)!=0);k=f[a>>2]|0;d=(f[e>>2]|0)-k|0;g=i+(0-(d>>3)<<3)|0;if((d|0)>0)ee(g|0,k|0,d|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=h;if(!k)return;fn(k);return}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==1048576;return k|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==524288;return k|0}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==262144;return k|0}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)fn(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)fn(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;ge(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;ge(a+12|0,k,e);pd(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,2684);ug(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);ug(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==65536;return k|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==32768;return k|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==8192;return k|0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(g|0)!=(e|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else jf(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else oe(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(g<<2)|0;f[i+(g<<3)>>2]=f[d>>2];f[i+(g<<3)+4>>2]=h;e=h;h=(f[d>>2]|0)+h|0;if(h>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=g;j=j+1|0}while((j|0)!=(h|0))}g=g+1|0}while(g>>>0>>0);if((l|0)==19)return k|0;k=(h|0)==4096;return k|0}function xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((eb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=mn(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=eb(a,c,g,i,h)|0;if(!o)s=j;else{Na[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=eb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)ln(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){nd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((h|0)==(g|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;fn(h)}fn(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);fn(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(a)}fn(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=El(f[a+8>>2]|0,e)|0;h=El(f[a+12>>2]|0,e)|0;i=El(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=El(f[a+(q<<2)>>2]|0,e)|0;s=El(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=xh(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=El(f[a+(m<<2)>>2]|0,e)|0;j=El(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=i;k=b;while(1){f[j>>2]=f[c>>2];k=k+-1|0;if(!k)break;else j=j+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;j=h-i|0;h=j>>2;k=h+b|0;if(k>>>0>1073741823)ym(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?k:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;$k(e,9793);f[e>>2]=3708;va(e|0,856,80)}else{n=dj(m<<2)|0;break}else n=0;while(0);e=n+(h<<2)|0;k=n+(m<<2)|0;m=e;n=b;while(1){f[m>>2]=f[c>>2];n=n+-1|0;if(!n)break;else m=m+4|0}m=e+(0-h<<2)|0;if((j|0)>0)ee(m|0,i|0,j|0)|0;f[a>>2]=m;f[g>>2]=e+(b<<2);f[d>>2]=k;if(!i)return;fn(i);return}function Be(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Dl(l,e,0)|0){f[i+48>>2]=1;Va[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ua[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=Ja,q=0;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=j;j=0;n=0;o=0;while(1){p=$($(1.0)/$(m|0));Cd(g,$($(f[k+(o<<2)>>2]|0)*p),$($(f[k+((o|1)<<2)>>2]|0)*p),e);ee((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+n|0,e|0,i|0)|0;q=j+1|0;if((q|0)==(c|0)){l=1;break}m=f[a>>2]|0;j=q;n=n+i|0;o=o+2|0}u=d;return l|0}function De(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Rb(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;b[s>>0]=b[e>>0];b[s+1>>0]=b[e+1>>0];b[s+2>>0]=b[e+2>>0];b[s+3>>0]=b[e+3>>0];b[s+4>>0]=b[e+4>>0];b[s+5>>0]=b[e+5>>0];b[s+6>>0]=b[e+6>>0];b[s+7>>0]=b[e+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];g=1;return g|0}function Ee(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=h;j=b;while(1){f[i>>2]=1;j=j+-1|0;if(!j)break;else i=i+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)ym(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{m=dj(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;j=m+(l<<2)|0;l=d;m=b;while(1){f[l>>2]=1;m=m+-1|0;if(!m)break;else l=l+4|0}l=d+(0-g<<2)|0;if((i|0)>0)ee(l|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=d+(b<<2);f[c>>2]=j;if(!h)return;fn(h);return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=mh(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=mh(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=gg(c)|0;if(h>>>0>4294967279)ym(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=dj(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Xc(i,g,e)|0,(j|0)!=0):0)n=lh(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)fn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}fn(f[e>>2]|0);u=d;return n|0}function Ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((La[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){td(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=dj(44)|0;f[d>>2]=1208;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];Dg(d+32|0,e+24|0);f[d>>2]=1264;g=d}f[a>>2]=g;return}function Je(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(k|0)!=(a|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{Ae(h,i-l|0,1076);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function Ke(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=cn(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){dn(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}ee((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=i+a|0}}dn(k);return}else{ee(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){dn(k);return}else{p=1;q=0}do{q=q+j|0;ee((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+q|0,k|0,j|0)|0;p=p+1|0}while((p|0)!=(c|0));dn(k);return}}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=cn(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){dn(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}ee((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=h+a|0}}dn(j);return}else{ee(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){dn(j);return}else{o=1;p=0}do{p=p+i|0;ee((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+p|0,j|0,i|0)|0;o=o+1|0}while((o|0)!=(c|0));dn(j);return}}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=dj(48)|0;Ul(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=dj(52)|0;Yk(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=8335;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Sf(c,g);f[a>>2]=f[e>>2];Sf(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)fn(f[c>>2]|0);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=d;return}}}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(n&1)){l=0;return l|0}j=(_(n|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;n=2<>2]=n+-1;j=n+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=sd(a+88|0,b)|0;return l|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Fc(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((h|0)==(g|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);fn(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);fn(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);fn(h)}vf(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Nb(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Nb(a,e);return}function Qe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1088;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}fn(g)}f[a>>2]=984;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);fn(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);fn(g);return}function Re(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;fn(d)}fn(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);fn(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;fn(i)}fn(j)}fn(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}fn(e);return}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;fn(d)}fn(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);fn(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;fn(h)}fn(i)}fn(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;fn(b);return}function Te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=cn((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){dn(i);return}if(g<<24>>24>0){g=0;j=0;while(1){a=0;l=j;while(1){b[i+a>>0]=f[k+(l<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else l=l+1|0}ee((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+j|0,i|0,h|0)|0;g=g+1|0;if((g|0)==(c|0))break;else j=j+h|0}dn(i);return}else{ee(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1){dn(i);return}else{m=1;n=0}do{n=n+h|0;ee((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+n|0,i|0,h|0)|0;m=m+1|0}while((m|0)!=(c|0));dn(i);return}}function Ue(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){fc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;fc(a,e);return}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(La[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(La[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Ma[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Ma[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Ma[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function We(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Tf(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){fn(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}fn(f[e>>2]|0);u=a;return i|0}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Ih(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=k;m=0;n=c;o=a;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Na[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=f[g>>2]|0;m=e;n=c-e|0;o=a+e|0}else{l=k;m=0;n=c;o=a}while(0);ee(l|0,o|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function Ye(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Ye(c+8|0);fn(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)fn(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;fn(h)}if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);fn(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)fn(e);fn(d)}if((b[a+11>>0]|0)>=0)return;fn(f[a>>2]|0);return}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=cn((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;dn(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Tj(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}ee(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;ee((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+k|0,g|0,a|0)|0;j=j+1|0;if((j|0)>=(b|0)){i=1;q=5;break}else k=k+a|0}if((q|0)==5){dn(g);return i|0}return 0}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=g;g=0;a:while(1){j=f[a+(g*144|0)>>2]|0;if(((j|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(La[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Ma[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(c|0))break a;j=j+1|0}while((j|0)<(La[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=g+1|0;a=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-a|0)/144|0)>>>0){h=0;m=11;break}else g=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(g*144|0)+100>>0]|0)==0?0:m+(g*144|0)+4|0;return h|0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Tj(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=Tj(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(_(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=e;i=0;b:while(1){j=f[h+(i*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(La[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Ma[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(La[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=i+1|0;h=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-h|0)/144|0)>>>0)break a;else i=k}m=(f[c>>2]|0)+(i*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)ym(d);k=((b+-1|0)>>>5)+1|0;b=dj(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Gd(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)fn(g);u=c;return}function cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Tj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=928;f[e+4>>2]=-1;Il(e,n);o=ih(e,f[a+16>>2]|0)|0;u=c;return o|0}function df(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)ym(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;$k(k,9793);f[k>>2]=3708;va(k|0,856,80)}else{m=dj(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)ee(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;fn(d);return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Fd(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=dj(40)|0;Sf(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Gc(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function ff(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)ym(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=dj(p)|0;if(g|0)Qk(o,m,g)|0;if(i|0)Qk(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Qk(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)fn(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Vl(o+p|0,l);u=k;return}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);fn(d)}vf(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}fn(e);return}function hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=gg(d)|0;if(g>>>0>4294967279)ym(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=dj(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){ee(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(Rb(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}fn(f[e>>2]|0);u=a;return g|0}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Vf(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)ym(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;$k(d,9793);f[d>>2]=3708;va(d|0,856,80)}else{m=dj(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;Vf(d|0,0,b<<2|0)|0;j=d+(0-g<<2)|0;if((i|0)>0)ee(j|0,h|0,i|0)|0;f[a>>2]=j;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;fn(h);return}function kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=h;j=c;do{b[i>>0]=0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=h-j|0;h=i+c|0;if((h|0)<0)ym(a);k=e-j|0;j=k<<1;e=k>>>0<1073741823?(j>>>0>>0?h:j):2147483647;if(!e)l=0;else l=dj(e)|0;j=l+i|0;i=l+e|0;e=j;l=c;c=j;do{b[e>>0]=0;e=c+1|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;h=j+(0-e)|0;if((e|0)>0)ee(h|0,l|0,e|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=i;if(!l)return;fn(l);return}function lf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2464;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ji(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(La[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=956;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Oh(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=ih(c,f[a+16>>2]|0)|0;f[c>>2]=956;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);fn(a)}e=i;u=d;return e|0}function nf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);fn(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);fn(d)}vf(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;fn(b);return}function of(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function pf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Tf(c,g,e)|0;if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}fn(f[e>>2]|0);u=a;return h|0}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=yj(l,i+1|0,12308,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;ig(c,n,0);k=b[h>>0]|0;i=n}ig(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function rf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(i|0)!=(h|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{jf(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)ym(b);else if((m|0)==12)return d|0;return 0}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=cn(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Vk(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do{i=i+-16|0;ln(i)}while((i|0)!=(c|0))}dn(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(sd((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function tf(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=jj()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=f[899];Cj(12397,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;j=Na[f[(f[194]|0)+16>>2]&31](776,k,g)|0;k=f[899]|0;if(j){j=f[g>>2]|0;g=La[f[(f[j>>2]|0)+8>>2]&127](j)|0;f[e>>2]=k;f[e+4>>2]=h;f[e+8>>2]=g;Cj(12311,e)}else{f[d>>2]=k;f[d+4>>2]=h;Cj(12356,d)}}Cj(12435,b)}function uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;uf(a+20|0);if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)fn(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;fn(g)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)fn(d);fn(c);return}function vf(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+12>>2]|0;if(b|0)fn(b);b=f[a>>2]|0;if(!b)return;fn(b);return}function wf(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b)}f[a+4>>2]=2420;b=f[a+24>>2]|0;if(b|0)fn(b);b=f[a+12>>2]|0;if(!b)return;fn(b);return}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(bn()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=Um()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=Um()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)ym(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;$k(k,9793);f[k>>2]=3708;va(k|0,856,80)}else{m=dj(l<<2)|0;break}else m=0;while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];b=k+(0-g<<2)|0;if((e|0)>0)ee(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;fn(d);return} +function Wa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[3222]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=12928+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[3222]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[3224]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=12928+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[3227]|0;k=m>>>3;l=12928+(k<<1<<2)|0;i=1<>2]|0}f[q>>2]=h;f[r+12>>2]=h;f[h+8>>2]=r;f[h+12>>2]=l}f[3224]=n;f[3227]=j;o=e;u=b;return o|0}e=f[3223]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[13192+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=i;v=s}else{h=k;k=i;i=s;while(1){s=(f[h+4>>2]&-8)-d|0;l=s>>>0>>0;n=l?s:k;s=l?h:i;h=f[h+16+(((f[h+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=n;v=s;break}else{k=n;i=s}}}i=v+d|0;if(v>>>0>>0){k=f[v+24>>2]|0;h=f[v+12>>2]|0;do if((h|0)==(v|0)){s=v+20|0;n=f[s>>2]|0;if(!n){l=v+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=n;y=s}while(1){s=x+20|0;n=f[s>>2]|0;if(n|0){x=n;y=s;continue}s=x+16|0;n=f[s>>2]|0;if(!n)break;else{x=n;y=s}}f[y>>2]=0;w=x}else{s=f[v+8>>2]|0;f[s+12>>2]=h;f[h+8>>2]=s;w=h}while(0);do if(k|0){h=f[v+28>>2]|0;s=13192+(h<<2)|0;if((v|0)==(f[s>>2]|0)){f[s>>2]=w;if(!w){f[3223]=e&~(1<>2]|0)!=(v|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=k;h=f[v+16>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[v+20>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}while(0);if(t>>>0<16){k=t+d|0;f[v+4>>2]=k|3;e=v+k+4|0;f[e>>2]=f[e>>2]|1}else{f[v+4>>2]=d|3;f[i+4>>2]=t|1;f[i+t>>2]=t;if(m|0){e=f[3227]|0;k=m>>>3;h=12928+(k<<1<<2)|0;s=1<>2]|0}f[z>>2]=e;f[A+12>>2]=e;f[e+8>>2]=A;f[e+12>>2]=h}f[3224]=t;f[3227]=i}o=v+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){h=a+11|0;e=h&-8;s=f[3223]|0;if(s){k=0-e|0;n=h>>>8;if(n)if(e>>>0>16777215)C=31;else{h=(n+1048320|0)>>>16&8;l=n<>>16&4;j=l<>>16&2;D=14-(n|h|l)+(j<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[13192+(C<<2)>>2]|0;a:do if(!D){E=k;F=0;G=0;H=57}else{l=k;j=0;h=e<<((C|0)==31?0:25-(C>>>1)|0);n=D;I=0;while(1){J=(f[n+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=n;M=n;H=61;break a}else{N=J;O=n}else{N=l;O=I}J=f[n+20>>2]|0;n=f[n+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(n|0)?j:J;J=(n|0)==0;if(J){E=N;F=P;G=O;H=57;break}else{l=N;j=P;h=h<<((J^1)&1);I=O}}}while(0);if((H|0)==57){if((F|0)==0&(G|0)==0){D=2<>>12&16;d=D>>>k;D=d>>>5&8;i=d>>>D;d=i>>>2&4;g=i>>>d;i=g>>>1&2;m=g>>>i;g=m>>>1&1;Q=f[13192+((D|k|d|i|g)+(m>>>g)<<2)>>2]|0;R=0}else{Q=F;R=G}if(!Q){S=E;T=R}else{K=E;L=Q;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;i=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=i;T=g;break}else{K=i;M=g;H=61}}if((T|0)!=0?S>>>0<((f[3224]|0)-e|0)>>>0:0){g=T+e|0;if(T>>>0>=g>>>0){o=0;u=b;return o|0}i=f[T+24>>2]|0;m=f[T+12>>2]|0;do if((m|0)==(T|0)){d=T+20|0;k=f[d>>2]|0;if(!k){D=T+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=k;W=d}while(1){d=V+20|0;k=f[d>>2]|0;if(k|0){V=k;W=d;continue}d=V+16|0;k=f[d>>2]|0;if(!k)break;else{V=k;W=d}}f[W>>2]=0;U=V}else{d=f[T+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(i){m=f[T+28>>2]|0;d=13192+(m<<2)|0;if((T|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=s&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=s;break}}f[U+24>>2]=i;d=f[T+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[T+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=s}else X=s}else X=s;while(0);do if(S>>>0>=16){f[T+4>>2]=e|3;f[g+4>>2]=S|1;f[g+S>>2]=S;s=S>>>3;if(S>>>0<256){i=12928+(s<<1<<2)|0;d=f[3222]|0;m=1<>2]|0}f[Y>>2]=g;f[Z+12>>2]=g;f[g+8>>2]=Z;f[g+12>>2]=i;break}i=S>>>8;if(i)if(S>>>0>16777215)_=31;else{m=(i+1048320|0)>>>16&8;d=i<>>16&4;s=d<>>16&2;k=14-(i|m|d)+(s<>>15)|0;_=S>>>(k+7|0)&1|k<<1}else _=0;k=13192+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[3223]=X|d;f[k>>2]=g;f[g+24>>2]=k;f[g+12>>2]=g;f[g+8>>2]=g;break}d=S<<((_|0)==31?0:25-(_>>>1)|0);s=f[k>>2]|0;while(1){if((f[s+4>>2]&-8|0)==(S|0)){H=97;break}$=s+16+(d>>>31<<2)|0;k=f[$>>2]|0;if(!k){H=96;break}else{d=d<<1;s=k}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=s;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=s+8|0;k=f[d>>2]|0;f[k+12>>2]=g;f[d>>2]=g;f[g+8>>2]=k;f[g+12>>2]=s;f[g+24>>2]=0;break}}else{k=S+e|0;f[T+4>>2]=k|3;d=T+k+4|0;f[d>>2]=f[d>>2]|1}while(0);o=T+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);T=f[3224]|0;if(T>>>0>=B>>>0){S=T-B|0;$=f[3227]|0;if(S>>>0>15){_=$+B|0;f[3227]=_;f[3224]=S;f[_+4>>2]=S|1;f[_+S>>2]=S;f[$+4>>2]=B|3}else{f[3224]=0;f[3227]=0;f[$+4>>2]=T|3;S=$+T+4|0;f[S>>2]=f[S>>2]|1}o=$+8|0;u=b;return o|0}$=f[3225]|0;if($>>>0>B>>>0){S=$-B|0;f[3225]=S;T=f[3228]|0;_=T+B|0;f[3228]=_;f[_+4>>2]=S|1;f[T+4>>2]=B|3;o=T+8|0;u=b;return o|0}if(!(f[3340]|0)){f[3342]=4096;f[3341]=4096;f[3343]=-1;f[3344]=-1;f[3345]=0;f[3333]=0;T=c&-16^1431655768;f[c>>2]=T;f[3340]=T;aa=4096}else aa=f[3342]|0;T=B+48|0;c=B+47|0;S=aa+c|0;_=0-aa|0;aa=S&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[3332]|0;if(X|0?(Z=f[3330]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[3333]&4)){X=f[3228]|0;c:do if(X){Y=13336;while(1){Z=f[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=f[Y+8>>2]|0;if(!Z){H=118;break c}else Y=Z}s=S-$&_;if(s>>>0<2147483647){Z=Qh(s|0)|0;if((Z|0)==((f[Y>>2]|0)+(f[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=s;else{da=Z;ea=s;H=135;break b}else{fa=Z;ga=s;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Qh(0)|0;if((X|0)!=(-1|0)?(e=X,s=f[3341]|0,Z=s+-1|0,U=((Z&e|0)==0?0:(Z+e&0-s)-e|0)+aa|0,e=f[3330]|0,s=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Z=f[3332]|0;if(Z|0?s>>>0<=e>>>0|s>>>0>Z>>>0:0){ca=0;break}Z=Qh(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;H=135;break b}else{fa=Z;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;H=135;break b}Z=f[3342]|0;X=c-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;H=135;break b}if((Qh(X|0)|0)==(-1|0)){Qh(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;H=135;break b}}while(0);f[3333]=f[3333]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Qh(aa|0)|0,aa=Qh(0)|0,ga=aa-ca|0,fa=ga>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;H=135}if((H|0)==135){ha=(f[3330]|0)+ea|0;f[3330]=ha;if(ha>>>0>(f[3331]|0)>>>0)f[3331]=ha;ha=f[3228]|0;do if(ha){ga=13336;while(1){ia=f[ga>>2]|0;ja=ga+4|0;ka=f[ja>>2]|0;if((da|0)==(ia+ka|0)){H=145;break}fa=f[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((H|0)==145?(f[ga+12>>2]&8|0)==0:0)?ha>>>0>>0&ha>>>0>=ia>>>0:0){f[ja>>2]=ka+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(f[3225]|0)+(ea-ca)|0;f[3228]=fa;f[3225]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[3229]=f[3344];break}if(da>>>0<(f[3226]|0)>>>0)f[3226]=da;aa=da+ea|0;fa=13336;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ca=f[fa+8>>2]|0;if(!ca)break;else fa=ca}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=da;ga=fa+4|0;f[ga>>2]=(f[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;c=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+B|0;T=c-ca-B|0;f[ca+4>>2]=B|3;do if((c|0)!=(ha|0)){if((c|0)==(f[3227]|0)){ba=(f[3224]|0)+T|0;f[3224]=ba;f[3227]=ga;f[ga+4>>2]=ba|1;f[ga+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){S=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(S|0)){f[3222]=f[3222]&~(1<<$);break}else{f[S+12>>2]=X;f[X+8>>2]=S;break}}else{S=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Z=U+4|0;s=f[Z>>2]|0;if(!s){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=s;na=Z}while(1){Z=ma+20|0;s=f[Z>>2]|0;if(s|0){ma=s;na=Z;continue}Z=ma+16|0;s=f[Z>>2]|0;if(!s)break;else{ma=s;na=Z}}f[na>>2]=0;la=ma}else{Z=f[c+8>>2]|0;f[Z+12>>2]=X;f[X+8>>2]=Z;la=X}while(0);if(!S)break;X=f[c+28>>2]|0;Z=13192+(X<<2)|0;do if((c|0)!=(f[Z>>2]|0)){f[S+16+(((f[S+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Z>>2]=la;if(la|0)break;f[3223]=f[3223]&~(1<>2]=S;X=c+16|0;Z=f[X>>2]|0;if(Z|0){f[la+16>>2]=Z;f[Z+24>>2]=la}Z=f[X+4>>2]|0;if(!Z)break;f[la+20>>2]=Z;f[Z+24>>2]=la}while(0);oa=c+_|0;pa=_+T|0}else{oa=c;pa=T}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ga+4>>2]=pa|1;f[ga+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=12928+($<<1<<2)|0;Y=f[3222]|0;Z=1<<$;if(!(Y&Z)){f[3222]=Y|Z;qa=ba+8|0;ra=ba}else{Z=ba+8|0;qa=Z;ra=f[Z>>2]|0}f[qa>>2]=ga;f[ra+12>>2]=ga;f[ga+8>>2]=ra;f[ga+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Z=(ba+1048320|0)>>>16&8;Y=ba<>>16&4;X=Y<<$;Y=(X+245760|0)>>>16&2;s=14-($|Z|Y)+(X<>>15)|0;sa=pa>>>(s+7|0)&1|s<<1}while(0);ba=13192+(sa<<2)|0;f[ga+28>>2]=sa;_=ga+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[3223]|0;s=1<>2]=ga;f[ga+24>>2]=ba;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}s=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(s>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{s=s<<1;_=ba}}if((H|0)==193){f[ta>>2]=ga;f[ga+24>>2]=_;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}else if((H|0)==194){s=_+8|0;ba=f[s>>2]|0;f[ba+12>>2]=ga;f[s>>2]=ga;f[ga+8>>2]=ba;f[ga+12>>2]=_;f[ga+24>>2]=0;break}}else{ba=(f[3225]|0)+T|0;f[3225]=ba;f[3228]=ga;f[ga+4>>2]=ba|1}while(0);o=ca+8|0;u=b;return o|0}ga=13336;while(1){T=f[ga>>2]|0;if(T>>>0<=ha>>>0?(ua=T+(f[ga+4>>2]|0)|0,ua>>>0>ha>>>0):0)break;ga=f[ga+8>>2]|0}ga=ua+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0>>0?ha:T;T=ga+8|0;c=da+8|0;aa=(c&7|0)==0?0:0-c&7;c=da+aa|0;fa=ea+-40-aa|0;f[3228]=c;f[3225]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[3229]=f[3344];fa=ga+4|0;f[fa>>2]=27;f[T>>2]=f[3334];f[T+4>>2]=f[3335];f[T+8>>2]=f[3336];f[T+12>>2]=f[3337];f[3334]=da;f[3335]=ea;f[3337]=0;f[3336]=T;T=ga+24|0;do{c=T;T=T+4|0;f[T>>2]=7}while((c+8|0)>>>0>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;f[fa>>2]=f[fa>>2]&-2;f[ha+4>>2]=T|1;f[ga>>2]=T;c=T>>>3;if(T>>>0<256){aa=12928+(c<<1<<2)|0;ba=f[3222]|0;s=1<>2]|0}f[va>>2]=ha;f[wa+12>>2]=ha;f[ha+8>>2]=wa;f[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)xa=31;else{s=(aa+1048320|0)>>>16&8;ba=aa<>>16&4;c=ba<>>16&2;Y=14-(aa|s|ba)+(c<>>15)|0;xa=T>>>(Y+7|0)&1|Y<<1}else xa=0;Y=13192+(xa<<2)|0;f[ha+28>>2]=xa;f[ha+20>>2]=0;f[ca>>2]=0;ba=f[3223]|0;c=1<>2]=ha;f[ha+24>>2]=Y;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}c=T<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Y>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(T|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Y=f[ya>>2]|0;if(!Y){H=215;break}else{c=c<<1;ba=Y}}if((H|0)==215){f[ya>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==216){c=ba+8|0;T=f[c>>2]|0;f[T+12>>2]=ha;f[c>>2]=ha;f[ha+8>>2]=T;f[ha+12>>2]=ba;f[ha+24>>2]=0;break}}}else{T=f[3226]|0;if((T|0)==0|da>>>0>>0)f[3226]=da;f[3334]=da;f[3335]=ea;f[3337]=0;f[3231]=f[3340];f[3230]=-1;T=0;do{c=12928+(T<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;T=T+1|0}while((T|0)!=32);T=da+8|0;ba=(T&7|0)==0?0:0-T&7;T=da+ba|0;c=ea+-40-ba|0;f[3228]=T;f[3225]=c;f[T+4>>2]=c|1;f[T+c+4>>2]=40;f[3229]=f[3344]}while(0);ea=f[3225]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[3225]=da;ea=f[3228]|0;ha=ea+B|0;f[3228]=ha;f[ha+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=Um()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Xa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+40|0;h=d+16|0;i=d+4|0;j=d+36|0;k=d;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+216>>2]|0)==(f[a+220>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+232|0;s=a+404|0;t=a+400|0;v=a+8|0;w=g+8|0;x=a+36|0;y=a+40|0;z=c+-1|0;A=a+428|0;B=a+416|0;C=h+4|0;D=a+388|0;E=i+8|0;F=0;while(1){G=F+1|0;H=f[s>>2]|0;b:do if((H|0)==-1){f[t>>2]=7;I=93}else{J=(f[A>>2]|0)+(H<<2)|0;K=f[J>>2]|0;L=K+-1|0;f[J>>2]=L;if((K|0)<1){M=-1;I=175;break a}K=f[(f[(f[B>>2]|0)+((f[s>>2]|0)*12|0)>>2]|0)+(L<<2)>>2]|0;L=f[2504+(K<<2)>>2]|0;f[t>>2]=L;if(!K){J=f[l>>2]|0;if((f[g>>2]|0)==(J|0)){M=-1;I=175;break a}N=J+-4|0;O=f[N>>2]|0;P=f[v>>2]|0;Q=(O|0)==-1;R=O+1|0;if(!Q?(S=((R>>>0)%3|0|0)==0?O+-2|0:R,(S|0)!=-1):0)T=f[(f[P>>2]|0)+(S<<2)>>2]|0;else T=-1;S=f[P+24>>2]|0;R=f[S+(T<<2)>>2]|0;U=R+1|0;if((R|0)==-1)V=-1;else V=((U>>>0)%3|0|0)==0?R+-2|0:U;U=F*3|0;R=U+1|0;W=f[P+12>>2]|0;f[W+(O<<2)>>2]=R;f[W+(R<<2)>>2]=O;X=U+2|0;f[W+(V<<2)>>2]=X;f[W+(X<<2)>>2]=V;W=f[P>>2]|0;f[W+(U<<2)>>2]=T;P=V+1|0;if((V|0)!=-1?(Y=((P>>>0)%3|0|0)==0?V+-2|0:P,(Y|0)!=-1):0)Z=f[W+(Y<<2)>>2]|0;else Z=-1;f[W+(R<<2)>>2]=Z;if(!Q?(Q=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(Q|0)!=-1):0){O=f[W+(Q<<2)>>2]|0;f[W+(X<<2)>>2]=O;if((O|0)!=-1)f[S+(O<<2)>>2]=X}else f[W+(X<<2)>>2]=-1;X=(f[p>>2]|0)+(T>>>5<<2)|0;f[X>>2]=f[X>>2]&~(1<<(T&31));f[N>>2]=U;f[j>>2]=f[J+-4>>2];f[e>>2]=f[j>>2];lc(r,e);break}J=(K|0)==3;switch(L|0){case 7:{I=93;break b;break}case 3:case 5:{L=f[l>>2]|0;if((f[g>>2]|0)==(L|0)){M=-1;I=175;break a}K=f[L+-4>>2]|0;L=F*3|0;U=J?L:L+2|0;N=(J&1)+L|0;X=(J?2:1)+L|0;J=f[v>>2]|0;W=f[J+12>>2]|0;f[W+(X<<2)>>2]=K;f[W+(K<<2)>>2]=X;W=J+24|0;O=J+28|0;S=f[O>>2]|0;if((S|0)==(f[J+32>>2]|0)){yf(W,2336);_=f[O>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[O>>2]=J;_=J}J=_-(f[W>>2]|0)>>2;W=J+-1|0;O=f[v>>2]|0;S=f[O+24>>2]|0;Q=S;if(((f[O+28>>2]|0)-S>>2|0)>(q|0)){M=-1;I=175;break a}S=f[O>>2]|0;f[S+(X<<2)>>2]=W;if(J|0)f[Q+(W<<2)>>2]=X;if((K|0)!=-1){X=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((X|0)!=-1){W=f[S+(X<<2)>>2]|0;f[S+(U<<2)>>2]=W;if((W|0)!=-1)f[Q+(W<<2)>>2]=U}else f[S+(U<<2)>>2]=-1;W=K+1|0;Q=((W>>>0)%3|0|0)==0?K+-2|0:W;if((Q|0)==-1)aa=-1;else aa=f[S+(Q<<2)>>2]|0}else{f[S+(U<<2)>>2]=-1;aa=-1}f[S+(N<<2)>>2]=aa;N=f[l>>2]|0;f[N+-4>>2]=L;ba=N;I=113;break b;break}case 1:break;default:{M=-1;I=175;break a}}N=f[g>>2]|0;L=f[l>>2]|0;if((N|0)==(L|0)){M=-1;I=175;break a}S=L+-4|0;U=f[S>>2]|0;f[l>>2]=S;Q=f[C>>2]|0;c:do if(Q){W=Q+-1|0;K=(W&Q|0)==0;if(!K)if(F>>>0>>0)ca=F;else ca=(F>>>0)%(Q>>>0)|0;else ca=W&F;X=f[(f[h>>2]|0)+(ca<<2)>>2]|0;if((X|0)!=0?(J=f[X>>2]|0,(J|0)!=0):0){d:do if(K){X=J;while(1){O=f[X+4>>2]|0;R=(O|0)==(F|0);if(!(R|(O&W|0)==(ca|0))){da=N;ea=S;break c}if(R?(f[X+8>>2]|0)==(F|0):0){fa=X;break d}X=f[X>>2]|0;if(!X){da=N;ea=S;break c}}}else{X=J;while(1){R=f[X+4>>2]|0;if((R|0)==(F|0)){if((f[X+8>>2]|0)==(F|0)){fa=X;break d}}else{if(R>>>0>>0)ga=R;else ga=(R>>>0)%(Q>>>0)|0;if((ga|0)!=(ca|0)){da=N;ea=S;break c}}X=f[X>>2]|0;if(!X){da=N;ea=S;break c}}}while(0);J=fa+12|0;if((S|0)==(f[w>>2]|0)){yf(g,J);da=f[g>>2]|0;ea=f[l>>2]|0;break}else{f[S>>2]=f[J>>2];f[l>>2]=L;da=N;ea=L;break}}else{da=N;ea=S}}else{da=N;ea=S}while(0);if((da|0)==(ea|0)){M=-1;I=175;break a}S=f[ea+-4>>2]|0;N=(S|0)==-1;if(!N?(f[(f[(f[v>>2]|0)+12>>2]|0)+(S<<2)>>2]|0)!=-1:0){M=-1;I=175;break a}L=(U|0)==-1;Q=f[v>>2]|0;J=f[Q+12>>2]|0;if(!L?(f[J+(U<<2)>>2]|0)!=-1:0){M=-1;I=175;break a}W=F*3|0;K=W+2|0;f[J+(S<<2)>>2]=K;f[J+(K<<2)>>2]=S;X=W+1|0;f[J+(U<<2)>>2]=X;f[J+(X<<2)>>2]=U;if(!N){N=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((N|0)==-1)ha=-1;else ha=f[(f[Q>>2]|0)+(N<<2)>>2]|0;N=f[Q>>2]|0;f[N+(W<<2)>>2]=ha;R=S+1|0;O=((R>>>0)%3|0|0)==0?S+-2|0:R;if((O|0)==-1){ia=N;ja=Q;ka=-1;la=ha}else{ia=N;ja=Q;ka=f[N+(O<<2)>>2]|0;la=ha}}else{O=f[Q>>2]|0;f[O+(W<<2)>>2]=-1;ia=O;ja=Q;ka=-1;la=-1}f[ia+(X<<2)>>2]=ka;if(!L){L=(((U>>>0)%3|0|0)==0?2:-1)+U|0;if((L|0)!=-1){X=f[ia+(L<<2)>>2]|0;f[ia+(K<<2)>>2]=X;if((X|0)!=-1)f[(f[Q+24>>2]|0)+(X<<2)>>2]=K}else f[ia+(K<<2)>>2]=-1;X=U+1|0;L=((X>>>0)%3|0|0)==0?U+-2|0:X;if((L|0)==-1){ma=-1;na=-1}else{ma=L;na=f[ia+(L<<2)>>2]|0}}else{f[ia+(K<<2)>>2]=-1;ma=-1;na=-1}f[e>>2]=na;K=f[D>>2]|0;L=K+(la<<2)|0;f[L>>2]=(f[L>>2]|0)+(f[K+(na<<2)>>2]|0);K=f[Q+24>>2]|0;if((la|0)!=-1)f[K+(la<<2)>>2]=f[K+(f[e>>2]<<2)>>2];e:do if((ma|0)!=-1){Q=f[ja>>2]|0;L=ma;do{f[Q+(L<<2)>>2]=la;X=L+1|0;O=((X>>>0)%3|0|0)==0?L+-2|0:X;if((O|0)==-1)break e;X=f[J+(O<<2)>>2]|0;O=X+1|0;if((X|0)==-1)break e;L=((O>>>0)%3|0|0)==0?X+-2|0:O}while((L|0)!=-1)}while(0);f[K+(f[e>>2]<<2)>>2]=-1;do if(o){J=f[m>>2]|0;if((J|0)==(f[E>>2]|0)){yf(i,e);oa=f[l>>2]|0;break}else{f[J>>2]=f[e>>2];f[m>>2]=J+4;oa=ea;break}}else oa=ea;while(0);f[oa+-4>>2]=W;f[j>>2]=f[oa+-4>>2];f[e>>2]=f[j>>2];lc(r,e)}while(0);if((I|0)==93){I=0;f[e>>2]=F*3;H=f[v>>2]|0;K=H+24|0;J=H+28|0;U=f[J>>2]|0;if((U|0)==(f[H+32>>2]|0)){yf(K,2336);pa=f[J>>2]|0}else{f[U>>2]=-1;H=U+4|0;f[J>>2]=H;pa=H}H=pa-(f[K>>2]|0)>>2;K=H+-1|0;J=f[v>>2]|0;U=f[e>>2]|0;L=f[J>>2]|0;f[L+(U<<2)>>2]=K;Q=J+24|0;O=J+28|0;X=f[O>>2]|0;if((X|0)==(f[J+32>>2]|0)){yf(Q,2336);qa=f[O>>2]|0;ra=f[J>>2]|0}else{f[X>>2]=-1;J=X+4|0;f[O>>2]=J;qa=J;ra=L}f[ra+(U+1<<2)>>2]=(qa-(f[Q>>2]|0)>>2)+-1;Q=f[v>>2]|0;U=(f[e>>2]|0)+2|0;L=Q+24|0;J=Q+28|0;O=f[J>>2]|0;if((O|0)==(f[Q+32>>2]|0)){yf(L,2336);sa=f[J>>2]|0}else{f[O>>2]=-1;X=O+4|0;f[J>>2]=X;sa=X}f[(f[Q>>2]|0)+(U<<2)>>2]=(sa-(f[L>>2]|0)>>2)+-1;L=f[v>>2]|0;U=f[L+24>>2]|0;Q=U;if(((f[L+28>>2]|0)-U>>2|0)>(q|0))break;U=f[e>>2]|0;if(H){f[Q+(K<<2)>>2]=U;if((H|0)!=-1){f[Q+(H<<2)>>2]=(f[e>>2]|0)+1;K=H+1|0;if((K|0)!=-1){ta=K;I=107}}else{ta=0;I=107}}else{f[Q+(H<<2)>>2]=U+1;ta=1;I=107}if((I|0)==107){I=0;f[Q+(ta<<2)>>2]=(f[e>>2]|0)+2}Q=f[l>>2]|0;if((Q|0)==(f[w>>2]|0)){yf(g,e);ua=f[l>>2]|0}else{f[Q>>2]=f[e>>2];U=Q+4|0;f[l>>2]=U;ua=U}ba=ua;I=113}f:do if((I|0)==113?(I=0,f[j>>2]=f[ba+-4>>2],f[e>>2]=f[j>>2],lc(r,e),U=c-F+-1|0,Q=f[y>>2]|0,(Q|0)!=(f[x>>2]|0)):0){H=Q;do{Q=H;K=f[Q+-8>>2]|0;if(K>>>0>U>>>0){M=-1;I=175;break a}if((K|0)!=(U|0))break f;K=b[Q+-4>>0]|0;L=f[Q+-12>>2]|0;f[y>>2]=Q+-12;if((L|0)<0){M=-1;I=175;break a}Q=f[(f[l>>2]|0)+-4>>2]|0;X=(Q|0)==-1;do if(!(K&1))if(!X)if(!((Q>>>0)%3|0)){va=Q+2|0;break}else{va=Q+-1|0;break}else va=-1;else{J=Q+1|0;if(X)va=-1;else va=((J>>>0)%3|0|0)==0?Q+-2|0:J}while(0);f[e>>2]=z-L;Q=nc(h,e)|0;f[Q>>2]=va;H=f[y>>2]|0}while((H|0)!=(f[x>>2]|0))}while(0);if((G|0)<(c|0))F=G;else{wa=v;xa=G;I=126;break a}}M=-1;I=175}else{wa=a+8|0;xa=0;I=126}while(0);g:do if((I|0)==126){c=f[wa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){va=f[l>>2]|0;do if((va|0)!=(f[g>>2]|0)){j=a+312|0;ba=a+60|0;ua=a+64|0;ta=a+68|0;sa=a+76|0;qa=a+80|0;ra=a+72|0;pa=va;oa=xa;h:while(1){ea=pa;f[e>>2]=f[ea+-4>>2];f[l>>2]=ea+-4;do if(!(Xg(j)|0)){ea=f[ua>>2]|0;o=f[ta>>2]|0;if((ea|0)==(o<<5|0)){if((ea+1|0)<0){I=154;break h}la=o<<6;o=ea+32&-32;bf(ba,ea>>>0<1073741823?(la>>>0>>0?o:la):2147483647);ya=f[ua>>2]|0}else ya=ea;f[ua>>2]=ya+1;ea=(f[ba>>2]|0)+(ya>>>5<<2)|0;f[ea>>2]=f[ea>>2]&~(1<<(ya&31));ea=f[sa>>2]|0;if((ea|0)==(f[qa>>2]|0)){yf(ra,e);za=oa;break}else{f[ea>>2]=f[e>>2];f[sa>>2]=ea+4;za=oa;break}}else{ea=f[wa>>2]|0;la=f[ea>>2]|0;o=la;if((oa|0)>=(((f[ea+4>>2]|0)-la>>2>>>0)/3|0|0)){I=160;break h}la=f[e>>2]|0;ma=la+1|0;if((la|0)!=-1?(ja=((ma>>>0)%3|0|0)==0?la+-2|0:ma,(ja|0)!=-1):0)Aa=f[o+(ja<<2)>>2]|0;else Aa=-1;ja=f[ea+24>>2]|0;ma=f[ja+(Aa<<2)>>2]|0;na=ma+1|0;if((ma|0)!=-1?(ia=((na>>>0)%3|0|0)==0?ma+-2|0:na,na=ia+1|0,(ia|0)!=-1):0){ma=((na>>>0)%3|0|0)==0?ia+-2|0:na;if((ma|0)==-1){Ba=ia;Ca=-1}else{Ba=ia;Ca=f[o+(ma<<2)>>2]|0}}else{Ba=-1;Ca=-1}ma=f[ja+(Ca<<2)>>2]|0;ja=ma+1|0;if((ma|0)!=-1?(ia=((ja>>>0)%3|0|0)==0?ma+-2|0:ja,ja=ia+1|0,(ia|0)!=-1):0){ma=((ja>>>0)%3|0|0)==0?ia+-2|0:ja;if((ma|0)==-1){Da=ia;Ea=-1}else{Da=ia;Ea=f[o+(ma<<2)>>2]|0}}else{Da=-1;Ea=-1}ma=oa*3|0;f[k>>2]=ma;ia=f[ea+12>>2]|0;f[ia+(ma<<2)>>2]=la;f[ia+(la<<2)>>2]=ma;ma=(f[k>>2]|0)+1|0;f[ia+(ma<<2)>>2]=Ba;f[ia+(Ba<<2)>>2]=ma;ma=(f[k>>2]|0)+2|0;f[ia+(ma<<2)>>2]=Da;f[ia+(Da<<2)>>2]=ma;ma=f[k>>2]|0;ia=o+(ma<<2)|0;f[ia>>2]=Ca;f[o+(ma+1<<2)>>2]=Ea;f[o+(ma+2<<2)>>2]=Aa;if((ma|0)==-1)Fa=-1;else Fa=f[ia>>2]|0;ia=f[p>>2]|0;ma=ia+(Fa>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Fa&31));ma=(f[k>>2]|0)+1|0;if((ma|0)==-1)Ga=-1;else Ga=f[o+(ma<<2)>>2]|0;ma=ia+(Ga>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Ga&31));ma=(f[k>>2]|0)+2|0;if((ma|0)==-1)Ha=-1;else Ha=f[o+(ma<<2)>>2]|0;ma=ia+(Ha>>>5<<2)|0;f[ma>>2]=f[ma>>2]&~(1<<(Ha&31));ma=oa+1|0;ia=f[ua>>2]|0;o=f[ta>>2]|0;if((ia|0)==(o<<5|0)){if((ia+1|0)<0){I=144;break h}la=o<<6;o=ia+32&-32;bf(ba,ia>>>0<1073741823?(la>>>0>>0?o:la):2147483647);Ia=f[ua>>2]|0}else Ia=ia;f[ua>>2]=Ia+1;ia=(f[ba>>2]|0)+(Ia>>>5<<2)|0;f[ia>>2]=f[ia>>2]|1<<(Ia&31);ia=f[sa>>2]|0;if((ia|0)==(f[qa>>2]|0))yf(ra,k);else{f[ia>>2]=f[k>>2];f[sa>>2]=ia+4}za=ma}while(0);pa=f[l>>2]|0;if((pa|0)==(f[g>>2]|0)){I=161;break}else oa=za}if((I|0)==144)ym(ba);else if((I|0)==154)ym(ba);else if((I|0)==160){M=-1;I=175;break g}else if((I|0)==161){Ja=f[wa>>2]|0;Ka=za;break}}else{Ja=c;Ka=xa}while(0);if((Ka|0)==(((f[Ja+4>>2]|0)-(f[Ja>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ja+28>>2]|0)-(f[Ja+24>>2]|0)>>2;va=f[i>>2]|0;oa=f[m>>2]|0;if((va|0)==(oa|0)){La=va;Ma=c}else{pa=e+4|0;sa=e+8|0;ra=e+12|0;qa=Ja;ua=va;va=c;while(1){c=f[ua>>2]|0;ta=va+-1|0;j=f[qa+24>>2]|0;if((f[j+(ta<<2)>>2]|0)==-1){G=va;while(1){ma=G+-1|0;ia=G+-2|0;if((f[j+(ia<<2)>>2]|0)==-1)G=ma;else{Na=ma;Oa=ia;break}}}else{Na=va;Oa=ta}if(Oa>>>0>>0){Pa=qa;Qa=Na}else{f[e>>2]=qa;G=f[j+(Oa<<2)>>2]|0;f[pa>>2]=G;f[sa>>2]=G;b[ra>>0]=1;if((G|0)==-1)Ra=qa;else{ba=qa;ia=G;while(1){f[(f[ba>>2]|0)+(ia<<2)>>2]=c;Ee(e);ia=f[sa>>2]|0;G=f[wa>>2]|0;if((ia|0)==-1){Ra=G;break}else ba=G}}ba=f[Ra+24>>2]|0;if((c|0)==-1)Sa=ba+(Oa<<2)|0;else{ia=ba+(Oa<<2)|0;f[ba+(c<<2)>>2]=f[ia>>2];Sa=ia}f[Sa>>2]=-1;ia=f[p>>2]|0;ba=ia+(Oa>>>5<<2)|0;j=1<<(Oa&31);ta=ia+(c>>>5<<2)|0;ia=1<<(c&31);G=f[ta>>2]|0;f[ta>>2]=f[ba>>2]&j|0?G|ia:G&~ia;f[ba>>2]=f[ba>>2]&~j;Pa=Ra;Qa=Na+-1|0}ua=ua+4|0;if((ua|0)==(oa|0)){M=Qa;I=175;break}else{qa=Pa;va=Qa}}}}else{M=-1;I=175}}else{M=-1;I=175}}while(0);if((I|0)==175){La=f[i>>2]|0;Ma=M}if(La|0){M=f[m>>2]|0;if((M|0)!=(La|0))f[m>>2]=M+(~((M+-4-La|0)>>>2)<<2);fn(La)}La=f[h+8>>2]|0;if(La|0){M=La;do{La=M;M=f[M>>2]|0;fn(La)}while((M|0)!=0)}M=f[h>>2]|0;f[h>>2]=0;if(M|0)fn(M);M=f[g>>2]|0;if(!M){u=d;return Ma|0}g=f[l>>2]|0;if((g|0)!=(M|0))f[l>>2]=g+(~((g+-4-M|0)>>>2)<<2);fn(M);u=d;return Ma|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;j=d+8|0;k=d;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;o=(f[a+216>>2]|0)==(f[a+220>>2]|0);p=a+120|0;q=f[a+124>>2]|0;a:do if((c|0)>0){r=a+308|0;s=g+4|0;t=a+8|0;v=i+8|0;w=e+8|0;x=a+304|0;y=a+296|0;z=a+300|0;A=a+36|0;B=a+40|0;C=c+-1|0;D=0;b:while(1){E=D+1|0;c:do if(!(b[r>>0]|0))F=43;else{G=f[x>>2]|0;H=f[y>>2]|0;I=f[z>>2]|0;J=H+(G>>>3)|0;if(J>>>0>>0?(K=h[J>>0]|0,J=G+1|0,f[x>>2]=J,K&1<<(G&7)|0):0){K=H+(J>>>3)|0;if(K>>>0>>0){L=(h[K>>0]|0)>>>(J&7)&1;K=G+2|0;f[x>>2]=K;M=K;N=L}else{M=J;N=0}J=H+(M>>>3)|0;if(J>>>0>>0){I=(h[J>>0]|0)>>>(M&7);f[x>>2]=M+1;O=I<<1&2}else O=0;I=(O|N)<<1|1;J=(I|0)==5;switch(I&7){case 1:{F=43;break c;break}case 3:case 5:{I=f[l>>2]|0;if((f[e>>2]|0)==(I|0)){P=-1;F=179;break a}H=f[I+-4>>2]|0;I=D*3|0;L=J?I:I+2|0;K=(J&1)+I|0;G=(J?2:1)+I|0;J=f[t>>2]|0;Q=f[J+12>>2]|0;f[Q+(G<<2)>>2]=H;f[Q+(H<<2)>>2]=G;Q=J+24|0;R=J+28|0;S=f[R>>2]|0;if((S|0)==(f[J+32>>2]|0)){yf(Q,2336);T=f[R>>2]|0}else{f[S>>2]=-1;J=S+4|0;f[R>>2]=J;T=J}J=T-(f[Q>>2]|0)>>2;Q=J+-1|0;R=f[t>>2]|0;S=f[R+24>>2]|0;U=S;if(((f[R+28>>2]|0)-S>>2|0)>(q|0)){P=-1;F=179;break a}S=f[R>>2]|0;f[S+(G<<2)>>2]=Q;if(J|0)f[U+(Q<<2)>>2]=G;if((H|0)!=-1){G=(((H>>>0)%3|0|0)==0?2:-1)+H|0;if((G|0)!=-1){Q=f[S+(G<<2)>>2]|0;f[S+(L<<2)>>2]=Q;if((Q|0)!=-1)f[U+(Q<<2)>>2]=L}else f[S+(L<<2)>>2]=-1;Q=H+1|0;U=((Q>>>0)%3|0|0)==0?H+-2|0:Q;if((U|0)==-1)V=-1;else V=f[S+(U<<2)>>2]|0}else{f[S+(L<<2)>>2]=-1;V=-1}f[S+(K<<2)>>2]=V;f[(f[l>>2]|0)+-4>>2]=I;break}case 7:{f[j>>2]=D*3;I=f[t>>2]|0;K=I+24|0;S=I+28|0;L=f[S>>2]|0;if((L|0)==(f[I+32>>2]|0)){yf(K,2336);W=f[S>>2]|0}else{f[L>>2]=-1;I=L+4|0;f[S>>2]=I;W=I}I=W-(f[K>>2]|0)>>2;K=I+-1|0;S=f[t>>2]|0;L=f[j>>2]|0;U=f[S>>2]|0;f[U+(L<<2)>>2]=K;Q=S+24|0;H=S+28|0;G=f[H>>2]|0;if((G|0)==(f[S+32>>2]|0)){yf(Q,2336);X=f[H>>2]|0;Y=f[S>>2]|0}else{f[G>>2]=-1;S=G+4|0;f[H>>2]=S;X=S;Y=U}f[Y+(L+1<<2)>>2]=(X-(f[Q>>2]|0)>>2)+-1;Q=f[t>>2]|0;L=(f[j>>2]|0)+2|0;U=Q+24|0;S=Q+28|0;H=f[S>>2]|0;if((H|0)==(f[Q+32>>2]|0)){yf(U,2336);Z=f[S>>2]|0}else{f[H>>2]=-1;G=H+4|0;f[S>>2]=G;Z=G}f[(f[Q>>2]|0)+(L<<2)>>2]=(Z-(f[U>>2]|0)>>2)+-1;U=f[t>>2]|0;L=f[U+24>>2]|0;Q=L;if(((f[U+28>>2]|0)-L>>2|0)>(q|0)){F=114;break b}L=f[j>>2]|0;if(I){f[Q+(K<<2)>>2]=L;if((I|0)!=-1){f[Q+(I<<2)>>2]=(f[j>>2]|0)+1;K=I+1|0;if((K|0)!=-1){_=K;F=109}}else{_=0;F=109}}else{f[Q+(I<<2)>>2]=L+1;_=1;F=109}if((F|0)==109){F=0;f[Q+(_<<2)>>2]=(f[j>>2]|0)+2}Q=f[l>>2]|0;if((Q|0)==(f[w>>2]|0))yf(e,j);else{f[Q>>2]=f[j>>2];f[l>>2]=Q+4}break}default:{F=178;break b}}Q=c-D+-1|0;L=f[B>>2]|0;if((L|0)==(f[A>>2]|0))break;else aa=L;while(1){L=aa;I=f[L+-8>>2]|0;if(I>>>0>Q>>>0){P=-1;F=179;break a}if((I|0)!=(Q|0))break c;I=b[L+-4>>0]|0;K=f[L+-12>>2]|0;f[B>>2]=L+-12;if((K|0)<0){P=-1;F=179;break a}L=f[(f[l>>2]|0)+-4>>2]|0;U=(L|0)==-1;do if(!(I&1))if(!U)if(!((L>>>0)%3|0)){ba=L+2|0;break}else{ba=L+-1|0;break}else ba=-1;else{G=L+1|0;if(U)ba=-1;else ba=((G>>>0)%3|0|0)==0?L+-2|0:G}while(0);f[j>>2]=C-K;L=nc(g,j)|0;f[L>>2]=ba;aa=f[B>>2]|0;if((aa|0)==(f[A>>2]|0))break c}}Q=f[l>>2]|0;if((f[e>>2]|0)==(Q|0)){P=-1;F=179;break a}L=Q+-4|0;Q=f[L>>2]|0;U=f[t>>2]|0;I=(Q|0)==-1;G=Q+1|0;if(!I?(S=((G>>>0)%3|0|0)==0?Q+-2|0:G,(S|0)!=-1):0)ca=f[(f[U>>2]|0)+(S<<2)>>2]|0;else ca=-1;S=f[U+24>>2]|0;G=f[S+(ca<<2)>>2]|0;H=G+1|0;if((G|0)==-1)da=-1;else da=((H>>>0)%3|0|0)==0?G+-2|0:H;H=D*3|0;G=H+1|0;J=f[U+12>>2]|0;f[J+(Q<<2)>>2]=G;f[J+(G<<2)>>2]=Q;R=H+2|0;f[J+(da<<2)>>2]=R;f[J+(R<<2)>>2]=da;J=f[U>>2]|0;f[J+(H<<2)>>2]=ca;U=da+1|0;if((da|0)!=-1?(ea=((U>>>0)%3|0|0)==0?da+-2|0:U,(ea|0)!=-1):0)fa=f[J+(ea<<2)>>2]|0;else fa=-1;f[J+(G<<2)>>2]=fa;if(!I?(I=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(I|0)!=-1):0){Q=f[J+(I<<2)>>2]|0;f[J+(R<<2)>>2]=Q;if((Q|0)!=-1)f[S+(Q<<2)>>2]=R}else f[J+(R<<2)>>2]=-1;R=(f[p>>2]|0)+(ca>>>5<<2)|0;f[R>>2]=f[R>>2]&~(1<<(ca&31));f[L>>2]=H}while(0);if((F|0)==43){F=0;H=f[e>>2]|0;L=f[l>>2]|0;if((H|0)==(L|0)){P=-1;F=179;break a}R=L+-4|0;J=f[R>>2]|0;f[l>>2]=R;Q=f[s>>2]|0;d:do if(Q){S=Q+-1|0;I=(S&Q|0)==0;if(!I)if(D>>>0>>0)ga=D;else ga=(D>>>0)%(Q>>>0)|0;else ga=S&D;G=f[(f[g>>2]|0)+(ga<<2)>>2]|0;if((G|0)!=0?(ea=f[G>>2]|0,(ea|0)!=0):0){e:do if(I){G=ea;while(1){U=f[G+4>>2]|0;ha=(U|0)==(D|0);if(!(ha|(U&S|0)==(ga|0))){ia=H;ja=R;break d}if(ha?(f[G+8>>2]|0)==(D|0):0){ka=G;break e}G=f[G>>2]|0;if(!G){ia=H;ja=R;break d}}}else{G=ea;while(1){K=f[G+4>>2]|0;if((K|0)==(D|0)){if((f[G+8>>2]|0)==(D|0)){ka=G;break e}}else{if(K>>>0>>0)la=K;else la=(K>>>0)%(Q>>>0)|0;if((la|0)!=(ga|0)){ia=H;ja=R;break d}}G=f[G>>2]|0;if(!G){ia=H;ja=R;break d}}}while(0);ea=ka+12|0;if((R|0)==(f[w>>2]|0)){yf(e,ea);ia=f[e>>2]|0;ja=f[l>>2]|0;break}else{f[R>>2]=f[ea>>2];f[l>>2]=L;ia=H;ja=L;break}}else{ia=H;ja=R}}else{ia=H;ja=R}while(0);if((ia|0)==(ja|0)){P=-1;F=179;break a}R=f[ja+-4>>2]|0;H=(R|0)==-1;if(!H?(f[(f[(f[t>>2]|0)+12>>2]|0)+(R<<2)>>2]|0)!=-1:0){P=-1;F=179;break a}L=(J|0)==-1;Q=f[t>>2]|0;ea=f[Q+12>>2]|0;if(!L?(f[ea+(J<<2)>>2]|0)!=-1:0){P=-1;F=179;break a}S=D*3|0;I=S+2|0;f[ea+(R<<2)>>2]=I;f[ea+(I<<2)>>2]=R;G=S+1|0;f[ea+(J<<2)>>2]=G;f[ea+(G<<2)>>2]=J;if(!H){H=(((R>>>0)%3|0|0)==0?2:-1)+R|0;if((H|0)==-1)ma=-1;else ma=f[(f[Q>>2]|0)+(H<<2)>>2]|0;H=f[Q>>2]|0;f[H+(S<<2)>>2]=ma;K=R+1|0;ha=((K>>>0)%3|0|0)==0?R+-2|0:K;if((ha|0)==-1){na=H;oa=Q;pa=-1;qa=ma}else{na=H;oa=Q;pa=f[H+(ha<<2)>>2]|0;qa=ma}}else{ha=f[Q>>2]|0;f[ha+(S<<2)>>2]=-1;na=ha;oa=Q;pa=-1;qa=-1}f[na+(G<<2)>>2]=pa;if(!L){L=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((L|0)!=-1){G=f[na+(L<<2)>>2]|0;f[na+(I<<2)>>2]=G;if((G|0)!=-1)f[(f[Q+24>>2]|0)+(G<<2)>>2]=I}else f[na+(I<<2)>>2]=-1;G=J+1|0;L=((G>>>0)%3|0|0)==0?J+-2|0:G;if((L|0)==-1){ra=-1;sa=-1}else{ra=L;sa=f[na+(L<<2)>>2]|0}}else{f[na+(I<<2)>>2]=-1;ra=-1;sa=-1}f[j>>2]=sa;I=f[Q+24>>2]|0;if((qa|0)!=-1)f[I+(qa<<2)>>2]=f[I+(sa<<2)>>2];f:do if((ra|0)!=-1){Q=f[oa>>2]|0;L=ra;do{f[Q+(L<<2)>>2]=qa;G=L+1|0;ha=((G>>>0)%3|0|0)==0?L+-2|0:G;if((ha|0)==-1)break f;G=f[ea+(ha<<2)>>2]|0;ha=G+1|0;if((G|0)==-1)break f;L=((ha>>>0)%3|0|0)==0?G+-2|0:ha}while((L|0)!=-1)}while(0);f[I+(f[j>>2]<<2)>>2]=-1;do if(o){ea=f[m>>2]|0;if((ea|0)==(f[v>>2]|0)){yf(i,j);ta=f[l>>2]|0;break}else{f[ea>>2]=f[j>>2];f[m>>2]=ea+4;ta=ja;break}}else ta=ja;while(0);f[ta+-4>>2]=S}if((E|0)<(c|0))D=E;else{ua=t;va=E;F=129;break a}}if((F|0)==114){P=-1;F=179;break}}else{ua=a+8|0;va=0;F=129}while(0);g:do if((F|0)==129){c=f[ua>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(q|0)){ta=f[l>>2]|0;do if((ta|0)!=(f[e>>2]|0)){ja=a+312|0;o=a+60|0;qa=a+64|0;ra=a+68|0;oa=a+76|0;sa=a+80|0;na=a+72|0;pa=ta;ma=va;h:while(1){ia=pa;f[j>>2]=f[ia+-4>>2];f[l>>2]=ia+-4;do if(!(Xg(ja)|0)){ia=f[qa>>2]|0;ka=f[ra>>2]|0;if((ia|0)==(ka<<5|0)){if((ia+1|0)<0){F=157;break h}ga=ka<<6;ka=ia+32&-32;bf(o,ia>>>0<1073741823?(ga>>>0>>0?ka:ga):2147483647);wa=f[qa>>2]|0}else wa=ia;f[qa>>2]=wa+1;ia=(f[o>>2]|0)+(wa>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(wa&31));ia=f[oa>>2]|0;if((ia|0)==(f[sa>>2]|0)){yf(na,j);xa=ma;break}else{f[ia>>2]=f[j>>2];f[oa>>2]=ia+4;xa=ma;break}}else{ia=f[ua>>2]|0;ga=f[ia>>2]|0;ka=ga;if((ma|0)>=(((f[ia+4>>2]|0)-ga>>2>>>0)/3|0|0)){F=163;break h}ga=f[j>>2]|0;la=ga+1|0;if((ga|0)!=-1?(ca=((la>>>0)%3|0|0)==0?ga+-2|0:la,(ca|0)!=-1):0)ya=f[ka+(ca<<2)>>2]|0;else ya=-1;ca=f[ia+24>>2]|0;la=f[ca+(ya<<2)>>2]|0;fa=la+1|0;if((la|0)!=-1?(da=((fa>>>0)%3|0|0)==0?la+-2|0:fa,fa=da+1|0,(da|0)!=-1):0){la=((fa>>>0)%3|0|0)==0?da+-2|0:fa;if((la|0)==-1){za=da;Aa=-1}else{za=da;Aa=f[ka+(la<<2)>>2]|0}}else{za=-1;Aa=-1}la=f[ca+(Aa<<2)>>2]|0;ca=la+1|0;if((la|0)!=-1?(da=((ca>>>0)%3|0|0)==0?la+-2|0:ca,ca=da+1|0,(da|0)!=-1):0){la=((ca>>>0)%3|0|0)==0?da+-2|0:ca;if((la|0)==-1){Ba=da;Ca=-1}else{Ba=da;Ca=f[ka+(la<<2)>>2]|0}}else{Ba=-1;Ca=-1}la=ma*3|0;f[k>>2]=la;da=f[ia+12>>2]|0;f[da+(la<<2)>>2]=ga;f[da+(ga<<2)>>2]=la;la=(f[k>>2]|0)+1|0;f[da+(la<<2)>>2]=za;f[da+(za<<2)>>2]=la;la=(f[k>>2]|0)+2|0;f[da+(la<<2)>>2]=Ba;f[da+(Ba<<2)>>2]=la;la=f[k>>2]|0;da=ka+(la<<2)|0;f[da>>2]=Aa;f[ka+(la+1<<2)>>2]=Ca;f[ka+(la+2<<2)>>2]=ya;if((la|0)==-1)Da=-1;else Da=f[da>>2]|0;da=f[p>>2]|0;la=da+(Da>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Da&31));la=(f[k>>2]|0)+1|0;if((la|0)==-1)Ea=-1;else Ea=f[ka+(la<<2)>>2]|0;la=da+(Ea>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Ea&31));la=(f[k>>2]|0)+2|0;if((la|0)==-1)Fa=-1;else Fa=f[ka+(la<<2)>>2]|0;la=da+(Fa>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Fa&31));la=ma+1|0;da=f[qa>>2]|0;ka=f[ra>>2]|0;if((da|0)==(ka<<5|0)){if((da+1|0)<0){F=147;break h}ga=ka<<6;ka=da+32&-32;bf(o,da>>>0<1073741823?(ga>>>0>>0?ka:ga):2147483647);Ga=f[qa>>2]|0}else Ga=da;f[qa>>2]=Ga+1;da=(f[o>>2]|0)+(Ga>>>5<<2)|0;f[da>>2]=f[da>>2]|1<<(Ga&31);da=f[oa>>2]|0;if((da|0)==(f[sa>>2]|0))yf(na,k);else{f[da>>2]=f[k>>2];f[oa>>2]=da+4}xa=la}while(0);pa=f[l>>2]|0;if((pa|0)==(f[e>>2]|0)){F=164;break}else ma=xa}if((F|0)==147)ym(o);else if((F|0)==157)ym(o);else if((F|0)==163){P=-1;F=179;break g}else if((F|0)==164){Ha=f[ua>>2]|0;Ia=xa;break}}else{Ha=c;Ia=va}while(0);if((Ia|0)==(((f[Ha+4>>2]|0)-(f[Ha>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ha+28>>2]|0)-(f[Ha+24>>2]|0)>>2;ta=f[i>>2]|0;ma=f[m>>2]|0;if((ta|0)==(ma|0)){Ja=ta;Ka=c}else{pa=j+4|0;oa=j+8|0;na=j+12|0;sa=Ha;qa=ta;ta=c;while(1){c=f[qa>>2]|0;ra=ta+-1|0;ja=f[sa+24>>2]|0;if((f[ja+(ra<<2)>>2]|0)==-1){E=ta;while(1){S=E+-1|0;la=E+-2|0;if((f[ja+(la<<2)>>2]|0)==-1)E=S;else{La=S;Ma=la;break}}}else{La=ta;Ma=ra}if(Ma>>>0>>0){Na=sa;Oa=La}else{f[j>>2]=sa;E=f[ja+(Ma<<2)>>2]|0;f[pa>>2]=E;f[oa>>2]=E;b[na>>0]=1;if((E|0)==-1)Pa=sa;else{o=sa;la=E;while(1){f[(f[o>>2]|0)+(la<<2)>>2]=c;Ee(j);la=f[oa>>2]|0;E=f[ua>>2]|0;if((la|0)==-1){Pa=E;break}else o=E}}o=f[Pa+24>>2]|0;if((c|0)==-1)Qa=o+(Ma<<2)|0;else{la=o+(Ma<<2)|0;f[o+(c<<2)>>2]=f[la>>2];Qa=la}f[Qa>>2]=-1;la=f[p>>2]|0;o=la+(Ma>>>5<<2)|0;ja=1<<(Ma&31);ra=la+(c>>>5<<2)|0;la=1<<(c&31);E=f[ra>>2]|0;f[ra>>2]=f[o>>2]&ja|0?E|la:E&~la;f[o>>2]=f[o>>2]&~ja;Na=Pa;Oa=La+-1|0}qa=qa+4|0;if((qa|0)==(ma|0)){P=Oa;F=179;break}else{sa=Na;ta=Oa}}}}else{P=-1;F=179}}else{P=-1;F=179}}while(0);if((F|0)==179){Ja=f[i>>2]|0;Ka=P}if(Ja|0){P=f[m>>2]|0;if((P|0)!=(Ja|0))f[m>>2]=P+(~((P+-4-Ja|0)>>>2)<<2);fn(Ja)}Ja=f[g+8>>2]|0;if(Ja|0){P=Ja;do{Ja=P;P=f[P>>2]|0;fn(Ja)}while((P|0)!=0)}P=f[g>>2]|0;f[g>>2]=0;if(P|0)fn(P);P=f[e>>2]|0;if(!P){u=d;return Ka|0}e=f[l>>2]|0;if((e|0)!=(P|0))f[l>>2]=e+(~((e+-4-P|0)>>>2)<<2);fn(P);u=d;return Ka|0}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=(Rh(3400,3592,e,c)|0)-3400>>2;j=g;g=h;h=0;a:while(1){k=(f[3400+(i<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=211;n=h;o=8;break}p=f[3208+(l<<2)>>2]|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((k|0)==(X(q,p)|0)){r=h;break}else l=l+1|0}b:do if((o|0)==8){c:while(1){o=0;l=(k>>>0)/(m>>>0)|0;do if(l>>>0>=m>>>0)if((k|0)!=(X(l,m)|0)){p=m+10|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((k|0)!=(X(q,p)|0)){q=m+12|0;s=(k>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((k|0)!=(X(s,q)|0)){s=m+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(X(t,s)|0)){t=m+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(X(v,t)|0)){v=m+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(X(w,v)|0)){w=m+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(X(x,w)|0)){y=9;z=w;A=n}else{x=m+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(k|0)==(X(B,x)|0);y=C?1:D?9:0;z=C|D?x:m+210|0;A=C?k:n}else{y=1;z=w;A=k}}else{y=9;z=v;A=n}else{y=1;z=v;A=k}}else{y=9;z=t;A=n}else{y=1;z=t;A=k}}else{y=9;z=s;A=n}else{y=1;z=s;A=k}}else{y=9;z=q;A=n}else{y=1;z=q;A=k}}else{y=9;z=p;A=n}else{y=1;z=p;A=k}}else{y=9;z=m;A=n}else{y=1;z=m;A=k}while(0);switch(y&15){case 9:{r=A;break b;break}case 0:{m=z;n=A;o=8;break}default:break c}}if(!y)r=A;else{o=107;break a}}while(0);l=i+1|0;p=(l|0)==48;q=(p&1)+j|0;i=p?0:l;j=q;g=q*210|0;h=r}if((o|0)==106){f[d>>2]=k;E=k;break}else if((o|0)==107){f[d>>2]=k;E=A;break}}else{h=Rh(3208,3400,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function _a(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ja,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=0;m=o;while(1){s=$(b[m>>0]|0);n[g+(r<<2)>>2]=s;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else m=m+1|0}}else{m=0;r=o;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(h[k>>0]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else k=k+1|0}}else{k=0;u=o;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$(d[l>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else l=l+2|0}}else{l=0;u=o;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){s=$(j[m>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else m=m+2|0}}else{m=0;u=o;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(f[k>>2]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else k=k+4|0}}else{k=0;u=o;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$((f[l>>2]|0)>>>0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else l=l+4|0}}else{l=0;u=o;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){q=m;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else m=m+8|0}}else{m=0;u=o;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Tj(lj(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){q=k;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else k=k+8|0}}else{k=0;u=o;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;l=r+q|0;while(1){f[g+(o<<2)>>2]=f[l>>2];o=o+1|0;q=b[u>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){C=q;break}else l=l+4|0}}else C=k;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 10:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;q=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;r=Tj(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;q=u+r|0;while(1){s=$(+p[q>>3]);n[g+(m<<2)>>2]=s;m=m+1|0;r=b[l>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){D=r;break}else q=q+8|0}}else D=o;q=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 11:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;k=a+40|0;r=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;u=Tj(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;r=l+u|0;while(1){s=$((b[r>>0]|0)!=0&1);n[g+(k<<2)>>2]=s;k=k+1|0;u=b[q>>0]|0;if((k|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){E=u;break}else r=r+1|0}}else E=m;r=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function $a(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(m|0)!=(l|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else jf(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=dj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)ym(h);else{l=e<<2;r=dj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Vf(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+64|0;x=j+28|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;if(l-p>>2>>>0>1){E=p;F=1}else{G=q;ym(G)}while(1){H=f[E+(F<<2)>>2]|0;I=(((H>>>0)%3|0|0)==0?2:-1)+H|0;J=I>>>5;K=1<<(I&31);L=(H|0)==-1|(I|0)==-1;M=H;N=1;O=0;b:while(1){P=N^1;Q=M;R=O;while(1){if((Q|0)==-1){S=R;v=58;break b}T=f[d+(R*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0?(U=f[(f[(f[o>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0,(U|0)!=-1):0)?(V=f[x>>2]|0,W=f[t>>2]|0,Y=f[W+(f[V+(U<<2)>>2]<<2)>>2]|0,Z=U+1|0,_=f[W+(f[V+((((Z>>>0)%3|0|0)==0?U+-2|0:Z)<<2)>>2]<<2)>>2]|0,Z=f[W+(f[V+((((U>>>0)%3|0|0)==0?2:-1)+U<<2)>>2]<<2)>>2]|0,(Y|0)<(F|0)&(_|0)<(F|0)&(Z|0)<(F|0)):0){U=X(Y,e)|0;Y=X(_,e)|0;_=X(Z,e)|0;if(y){Z=0;do{f[T+(Z<<2)>>2]=(f[c+(Z+_<<2)>>2]|0)+(f[c+(Z+Y<<2)>>2]|0)-(f[c+(Z+U<<2)>>2]|0);Z=Z+1|0}while((Z|0)!=(e|0))}Z=R+1|0;if((Z|0)==4){$=4;v=38;break b}else aa=Z}else aa=R;do if(N){Z=Q+1|0;U=((Z>>>0)%3|0|0)==0?Q+-2|0:Z;if(((U|0)!=-1?(f[(f[j>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)==0:0)?(Z=f[(f[(f[o>>2]|0)+12>>2]|0)+(U<<2)>>2]|0,U=Z+1|0,(Z|0)!=-1):0)ba=((U>>>0)%3|0|0)==0?Z+-2|0:U;else ba=-1}else{U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if(((U|0)!=-1?(f[(f[j>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)==0:0)?(Z=f[(f[(f[o>>2]|0)+12>>2]|0)+(U<<2)>>2]|0,(Z|0)!=-1):0)if(!((Z>>>0)%3|0)){ba=Z+2|0;break}else{ba=Z+-1|0;break}else ba=-1}while(0);if((ba|0)==(H|0)){S=aa;v=58;break b}if((ba|0)!=-1|P){Q=ba;R=aa}else break}if(L){M=-1;N=0;O=aa;continue}if(f[(f[j>>2]|0)+(J<<2)>>2]&K|0){M=-1;N=0;O=aa;continue}R=f[(f[(f[o>>2]|0)+12>>2]|0)+(I<<2)>>2]|0;if((R|0)==-1){M=-1;N=0;O=aa;continue}if(!((R>>>0)%3|0)){M=R+2|0;N=0;O=aa;continue}else{M=R+-1|0;N=0;O=aa;continue}}if((v|0)==58){v=0;if((S|0)>0){$=S;v=38}else{ca=X(F,e)|0;v=72}}if((v|0)==38){v=0;if(y){Vf(f[h>>2]|0,0,D|0)|0;O=$+-1|0;N=s+(O<<2)|0;M=a+60+(O*12|0)+4|0;I=a+60+(O*12|0)|0;O=f[h>>2]|0;K=0;J=0;while(1){L=f[N>>2]|0;f[N>>2]=L+1;if((f[M>>2]|0)>>>0<=L>>>0){da=O;ea=0;break a}if(!(f[(f[I>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31))){L=f[d+(K*12|0)>>2]|0;H=0;do{R=O+(H<<2)|0;f[R>>2]=(f[R>>2]|0)+(f[L+(H<<2)>>2]|0);H=H+1|0}while((H|0)!=(e|0));fa=J+1|0}else fa=J;K=K+1|0;if((K|0)>=($|0)){ga=fa;break}else J=fa}}else{J=$+-1|0;K=s+(J<<2)|0;O=a+60+(J*12|0)|0;I=f[h>>2]|0;M=f[a+60+(J*12|0)+4>>2]|0;J=f[K>>2]|0;N=0;H=0;while(1){L=J;J=J+1|0;f[K>>2]=J;if(M>>>0<=L>>>0){da=I;ea=0;break a}R=H+((f[(f[O>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31)|0)==0&1)|0;N=N+1|0;if((N|0)>=($|0)){ga=R;break}else H=R}}H=X(F,e)|0;if(ga){N=f[h>>2]|0;if(y){O=0;do{I=N+(O<<2)|0;f[I>>2]=(f[I>>2]|0)/(ga|0)|0;O=O+1|0}while((O|0)!=(e|0))}O=b+(H<<2)|0;I=c+(H<<2)|0;if((f[i>>2]|0)>0){M=0;do{J=f[N+(M<<2)>>2]|0;K=f[z>>2]|0;if((J|0)>(K|0)){R=f[A>>2]|0;f[R+(M<<2)>>2]=K;ha=R}else{R=f[B>>2]|0;K=f[A>>2]|0;f[K+(M<<2)>>2]=(J|0)<(R|0)?R:J;ha=K}M=M+1|0;ia=f[i>>2]|0}while((M|0)<(ia|0));if((ia|0)>0){M=0;do{N=(f[O+(M<<2)>>2]|0)+(f[ha+(M<<2)>>2]|0)|0;K=I+(M<<2)|0;f[K>>2]=N;do if((N|0)>(f[z>>2]|0)){ja=N-(f[C>>2]|0)|0;v=94}else{if((N|0)>=(f[B>>2]|0))break;ja=(f[C>>2]|0)+N|0;v=94}while(0);if((v|0)==94){v=0;f[K>>2]=ja}M=M+1|0}while((M|0)<(f[i>>2]|0))}}}else{ca=H;v=72}}if((v|0)==72?(v=0,M=c+((X(F+-1|0,e)|0)<<2)|0,I=b+(ca<<2)|0,O=c+(ca<<2)|0,(f[i>>2]|0)>0):0){N=0;do{J=f[M+(N<<2)>>2]|0;R=f[z>>2]|0;if((J|0)>(R|0)){L=f[A>>2]|0;f[L+(N<<2)>>2]=R;ka=L}else{L=f[B>>2]|0;R=f[A>>2]|0;f[R+(N<<2)>>2]=(J|0)<(L|0)?L:J;ka=R}N=N+1|0;la=f[i>>2]|0}while((N|0)<(la|0));if((la|0)>0){N=0;do{M=(f[I+(N<<2)>>2]|0)+(f[ka+(N<<2)>>2]|0)|0;H=O+(N<<2)|0;f[H>>2]=M;if((M|0)<=(f[z>>2]|0)){if((M|0)<(f[B>>2]|0)){ma=(f[C>>2]|0)+M|0;v=82}}else{ma=M-(f[C>>2]|0)|0;v=82}if((v|0)==82){v=0;f[H>>2]=ma}N=N+1|0}while((N|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=99;break}N=f[r>>2]|0;E=f[N>>2]|0;if((f[N+4>>2]|0)-E>>2>>>0<=F>>>0){G=N;v=28;break}}if((v|0)==28)ym(G);else if((v|0)==99){da=f[h>>2]|0;ea=1;break}}else{da=w;ea=1}while(0);if(da|0){w=f[n>>2]|0;if((w|0)!=(da|0))f[n>>2]=w+(~((w+-4-da|0)>>>2)<<2);fn(da)}fn(s);s=f[d+36>>2]|0;if(s|0){da=d+40|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;da=f[w>>2]|0;if((da|0)!=(s|0))f[w>>2]=da+(~((da+-4-s|0)>>>2)<<2);fn(s)}s=f[d+12>>2]|0;if(s|0){da=d+16|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);fn(s);u=g;return ea|0}function ab(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(m|0)!=(l|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else jf(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{Ae(d,e,h);p=f[d+12>>2]|0;q=f[d+16>>2]|0}f[h>>2]=0;n=d+16|0;j=q-p>>2;l=p;p=q;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(q=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=p+(~((p+-4-q|0)>>>2)<<2)}else Ae(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;q=d+28|0;p=f[q>>2]|0;n=f[j>>2]|0;l=p-n>>2;m=n;n=p;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[q>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;p=f[j>>2]|0;n=f[l>>2]|0;q=p-n>>2;m=n;n=p;if(q>>>0>=e>>>0){if(q>>>0>e>>>0?(p=m+(e<<2)|0,(n|0)!=(p|0)):0)f[j>>2]=n+(~((n+-4-p|0)>>>2)<<2)}else Ae(l,e-q|0,h);q=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;p=a+32|0;n=a+12|0;j=0;do{m=f[q+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[p>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[p>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{p=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;q=c+(j<<2)|0;f[q>>2]=p;if((p|0)<=(f[l>>2]|0)){if((p|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+p|0;v=18}}else{t=p-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[q>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=dj(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)ym(h);else{l=e<<2;r=dj(l)|0;f[h>>2]=r;q=r+(e<<2)|0;f[h+8>>2]=q;Vf(r|0,0,l|0)|0;f[n>>2]=q;w=r;break}else w=0;while(0);r=a+56|0;q=f[r>>2]|0;l=f[q+4>>2]|0;p=f[q>>2]|0;k=l-p|0;m=k>>2;a:do if((k|0)>4){o=j+12|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;if(l-p>>2>>>0>1){D=p;E=1}else{F=q;ym(F)}while(1){G=f[D+(E<<2)>>2]|0;H=(((G>>>0)%3|0|0)==0?2:-1)+G|0;I=(G|0)==-1|(H|0)==-1;J=G;K=1;L=0;b:while(1){M=K^1;N=J;O=L;while(1){if((N|0)==-1){P=O;v=58;break b}Q=f[d+(O*12|0)>>2]|0;R=f[o>>2]|0;S=f[R+(N<<2)>>2]|0;if((S|0)!=-1){T=f[j>>2]|0;U=f[t>>2]|0;V=f[U+(f[T+(S<<2)>>2]<<2)>>2]|0;W=S+1|0;Y=((W>>>0)%3|0|0)==0?S+-2|0:W;if((Y|0)==-1)Z=-1;else Z=f[T+(Y<<2)>>2]|0;Y=f[U+(Z<<2)>>2]|0;W=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((W|0)==-1)_=-1;else _=f[T+(W<<2)>>2]|0;W=f[U+(_<<2)>>2]|0;if((V|0)<(E|0)&(Y|0)<(E|0)&(W|0)<(E|0)){U=X(V,e)|0;V=X(Y,e)|0;Y=X(W,e)|0;if(x){W=0;do{f[Q+(W<<2)>>2]=(f[c+(W+Y<<2)>>2]|0)+(f[c+(W+V<<2)>>2]|0)-(f[c+(W+U<<2)>>2]|0);W=W+1|0}while((W|0)!=(e|0))}W=O+1|0;if((W|0)==4){$=4;v=41;break b}else aa=W}else aa=O}else aa=O;do if(K){W=N+1|0;U=((W>>>0)%3|0|0)==0?N+-2|0:W;if((U|0)!=-1?(W=f[R+(U<<2)>>2]|0,U=W+1|0,(W|0)!=-1):0)ba=((U>>>0)%3|0|0)==0?W+-2|0:U;else ba=-1}else{U=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((U|0)!=-1?(W=f[R+(U<<2)>>2]|0,(W|0)!=-1):0)if(!((W>>>0)%3|0)){ba=W+2|0;break}else{ba=W+-1|0;break}else ba=-1}while(0);if((ba|0)==(G|0)){P=aa;v=58;break b}if((ba|0)!=-1|M){N=ba;O=aa}else break}if(I){J=-1;K=0;L=aa;continue}O=f[R+(H<<2)>>2]|0;if((O|0)==-1){J=-1;K=0;L=aa;continue}if(!((O>>>0)%3|0)){J=O+2|0;K=0;L=aa;continue}else{J=O+-1|0;K=0;L=aa;continue}}if((v|0)==58){v=0;if((P|0)>0){$=P;v=41}else{ca=X(E,e)|0;v=72}}if((v|0)==41){v=0;if(x){Vf(f[h>>2]|0,0,C|0)|0;L=$+-1|0;K=s+(L<<2)|0;J=a+60+(L*12|0)+4|0;H=a+60+(L*12|0)|0;L=f[h>>2]|0;I=0;G=0;while(1){O=f[K>>2]|0;f[K>>2]=O+1;if((f[J>>2]|0)>>>0<=O>>>0){da=L;ea=0;break a}if(!(f[(f[H>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31))){O=f[d+(I*12|0)>>2]|0;N=0;do{M=L+(N<<2)|0;f[M>>2]=(f[M>>2]|0)+(f[O+(N<<2)>>2]|0);N=N+1|0}while((N|0)!=(e|0));fa=G+1|0}else fa=G;I=I+1|0;if((I|0)>=($|0)){ga=fa;break}else G=fa}}else{G=$+-1|0;I=s+(G<<2)|0;L=a+60+(G*12|0)|0;H=f[h>>2]|0;J=f[a+60+(G*12|0)+4>>2]|0;G=f[I>>2]|0;K=0;N=0;while(1){O=G;G=G+1|0;f[I>>2]=G;if(J>>>0<=O>>>0){da=H;ea=0;break a}M=N+((f[(f[L>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31)|0)==0&1)|0;K=K+1|0;if((K|0)>=($|0)){ga=M;break}else N=M}}N=X(E,e)|0;if(ga){K=f[h>>2]|0;if(x){L=0;do{H=K+(L<<2)|0;f[H>>2]=(f[H>>2]|0)/(ga|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(N<<2)|0;H=c+(N<<2)|0;if((f[i>>2]|0)>0){J=0;do{G=f[K+(J<<2)>>2]|0;I=f[y>>2]|0;if((G|0)>(I|0)){M=f[z>>2]|0;f[M+(J<<2)>>2]=I;ha=M}else{M=f[A>>2]|0;I=f[z>>2]|0;f[I+(J<<2)>>2]=(G|0)<(M|0)?M:G;ha=I}J=J+1|0;ia=f[i>>2]|0}while((J|0)<(ia|0));if((ia|0)>0){J=0;do{K=(f[L+(J<<2)>>2]|0)+(f[ha+(J<<2)>>2]|0)|0;I=H+(J<<2)|0;f[I>>2]=K;do if((K|0)>(f[y>>2]|0)){ja=K-(f[B>>2]|0)|0;v=94}else{if((K|0)>=(f[A>>2]|0))break;ja=(f[B>>2]|0)+K|0;v=94}while(0);if((v|0)==94){v=0;f[I>>2]=ja}J=J+1|0}while((J|0)<(f[i>>2]|0))}}}else{ca=N;v=72}}if((v|0)==72?(v=0,J=c+((X(E+-1|0,e)|0)<<2)|0,H=b+(ca<<2)|0,L=c+(ca<<2)|0,(f[i>>2]|0)>0):0){K=0;do{G=f[J+(K<<2)>>2]|0;M=f[y>>2]|0;if((G|0)>(M|0)){O=f[z>>2]|0;f[O+(K<<2)>>2]=M;ka=O}else{O=f[A>>2]|0;M=f[z>>2]|0;f[M+(K<<2)>>2]=(G|0)<(O|0)?O:G;ka=M}K=K+1|0;la=f[i>>2]|0}while((K|0)<(la|0));if((la|0)>0){K=0;do{J=(f[H+(K<<2)>>2]|0)+(f[ka+(K<<2)>>2]|0)|0;N=L+(K<<2)|0;f[N>>2]=J;if((J|0)<=(f[y>>2]|0)){if((J|0)<(f[A>>2]|0)){ma=(f[B>>2]|0)+J|0;v=82}}else{ma=J-(f[B>>2]|0)|0;v=82}if((v|0)==82){v=0;f[N>>2]=ma}K=K+1|0}while((K|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(m|0)){v=99;break}K=f[r>>2]|0;D=f[K>>2]|0;if((f[K+4>>2]|0)-D>>2>>>0<=E>>>0){F=K;v=28;break}}if((v|0)==28)ym(F);else if((v|0)==99){da=f[h>>2]|0;ea=1;break}}else{da=w;ea=1}while(0);if(da|0){w=f[n>>2]|0;if((w|0)!=(da|0))f[n>>2]=w+(~((w+-4-da|0)>>>2)<<2);fn(da)}fn(s);s=f[d+36>>2]|0;if(s|0){da=d+40|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d+24>>2]|0;if(s|0){w=d+28|0;da=f[w>>2]|0;if((da|0)!=(s|0))f[w>>2]=da+(~((da+-4-s|0)>>>2)<<2);fn(s)}s=f[d+12>>2]|0;if(s|0){da=d+16|0;w=f[da>>2]|0;if((w|0)!=(s|0))f[da>>2]=w+(~((w+-4-s|0)>>>2)<<2);fn(s)}s=f[d>>2]|0;if(!s){u=g;return ea|0}w=d+4|0;d=f[w>>2]|0;if((d|0)!=(s|0))f[w>>2]=d+(~((d+-4-s|0)>>>2)<<2);fn(s);u=g;return ea|0}function bb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Bk(c)|0;if((I|0)<0){q=1;r=10363;s=-c}else{q=(g&2049|0)!=0&1;r=(g&2048|0)==0?((g&1|0)==0?10364:10369):10366;s=c}Bk(s)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+Mm(s,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?r:r+9|0;z=q|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((b[y>>0]|0)==45){D=-(C+(-c-C));break}else{D=c+C-C;break}}else D=c;while(0);A=f[l>>2]|0;B=(A|0)<0?0-A|0:A;E=sg(B,((B|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){B=o+11|0;b[B>>0]=48;F=B}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;B=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[10398+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(B&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;B=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+B|0;fh(a,32,d,x,g);ml(a,y,z);fh(a,48,d,x,g^65536);ml(a,m,G);fh(a,48,B-G|0,0,0);ml(a,A,E);fh(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=E;O=c*268435456.0}else{N=f[l>>2]|0;O=c}E=(N|0)<0?k:k+288|0;H=O;G=E;do{B=~~H>>>0;f[G>>2]=B;G=G+4|0;H=(H-+(B>>>0))*1.0e9}while(H!=0.0);if((N|0)>0){v=N;A=E;z=G;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=Qj(f[J>>2]|0,0,y|0)|0;P=Tj(B|0,I|0,K|0,0)|0;B=I;Q=bj(P|0,B|0,1e9,0)|0;f[J>>2]=Q;K=Jl(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;f[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(f[B>>2]|0))J=B;else break}K=(f[l>>2]|0)-y|0;f[l>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{S=K;T=R;U=J;break}}}else{S=N;T=E;U=G}if((S|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;K=T;B=U;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0>>0){P=(1<>>Q;W=0;Y=K;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0>>0);Y=(f[K>>2]|0)==0?K+4|0:K;if(!W){_=Y;$=B}else{f[B>>2]=W;_=Y;$=B+4|0}}else{_=(f[K>>2]|0)==0?K+4|0:K;$=B}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(f[l>>2]|0)+Q|0;f[l>>2]=v;if((v|0)>=0){aa=_;ba=V;break}else{K=_;B=V}}}else{aa=T;ba=U}B=E;if(aa>>>0>>0){K=(B-aa>>2)*9|0;v=f[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=10;V=G;while(1){G=A*10|0;V=V+1|0;if((V|0)==9){da=G;break}else A=G}}else da=10;A=f[v>>2]|0;V=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(V|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(da|0)/2|0;H=V>>>0>>0?.5:w&(V|0)==(G|0)?1.0:1.5;if(!q){ea=C;fa=H}else{G=(b[r>>0]|0)==45;ea=G?-C:C;fa=G?-H:H}G=A-V|0;f[v>>2]=G;if(ea+fa!=ea){V=G+da|0;f[v>>2]=V;if(V>>>0>999999999){V=aa;G=v;while(1){A=G+-4|0;f[G>>2]=0;if(A>>>0>>0){w=V+-4|0;f[w>>2]=0;ga=w}else ga=V;w=(f[A>>2]|0)+1|0;f[A>>2]=w;if(w>>>0>999999999){V=ga;G=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}G=(B-ha>>2)*9|0;V=f[ha>>2]|0;if(V>>>0<10){ja=ha;ka=ia;la=G}else{A=G;G=10;while(1){G=G*10|0;w=A+1|0;if(V>>>0>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}G=A+-4|0;if(!(f[G>>2]|0))A=G;else{pa=1;break}}v=0-na|0;do if(z){G=((K^1)&1)+x|0;if((G|0)>(na|0)&(na|0)>-5){qa=G+-1-na|0;ra=i+-1|0}else{qa=G+-1|0;ra=i+-2|0}G=g&8;if(!G){if(pa?(V=f[A+-4>>2]|0,(V|0)!=0):0)if(!((V>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((V>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;V=(w|0)>0?w:0;ta=0;ua=(qa|0)<(V|0)?qa:V;va=ra;break}else{V=Y+na-sa|0;Y=(V|0)>0?V:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=G;ua=qa;va=ra}}else{ta=g&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=sg(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-Y|0)<2){V=Y;while(1){w=V+-1|0;b[w>>0]=48;if((z-w|0)<2)V=w;else{ya=w;break}}}else ya=Y;b[ya+-1>>0]=(na>>31&2)+43;V=ya+-2|0;b[V>>0]=va;wa=V;xa=z-V|0}V=q+1+ua+B+xa|0;fh(a,32,d,V,g);ml(a,r,q);fh(a,48,d,V,g^65536);if(K){v=ma>>>0>E>>>0?E:ma;w=m+9|0;Q=w;W=m+8|0;P=v;do{J=sg(f[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){b[W>>0]=48;za=W}else za=J;else if(J>>>0>m>>>0){Vf(m|0,48,J-n|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=J;ml(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)ml(a,10414,1);if(P>>>0>>0&(ua|0)>0){E=P;Q=ua;while(1){W=sg(f[E>>2]|0,0,w)|0;if(W>>>0>m>>>0){Vf(m|0,48,W-n|0)|0;v=W;while(1){K=v+-1|0;if(K>>>0>m>>>0)v=K;else{Aa=K;break}}}else Aa=W;ml(a,Aa,(Q|0)<9?Q:9);E=E+4|0;v=Q+-9|0;if(!(E>>>0>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;fh(a,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){E=m+9|0;w=(ta|0)==0;P=E;x=0-n|0;v=m+8|0;J=ma;K=ua;while(1){B=sg(f[J>>2]|0,0,E)|0;if((B|0)==(E|0)){b[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;ml(a,Ca,1);if(w&(K|0)<1){Da=B;break}ml(a,10414,1);Da=B}else{if(Ca>>>0<=m>>>0){Da=Ca;break}Vf(m|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>m>>>0)B=z;else{Da=z;break}}}while(0);W=P-Da|0;ml(a,Da,(K|0)>(W|0)?W:K);B=K-W|0;J=J+4|0;if(!(J>>>0>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;fh(a,48,Ea+18|0,18,0);ml(a,wa,p-wa|0)}fh(a,32,d,V,g^8192);M=V}else{K=(i&32|0)!=0;Q=q+3|0;fh(a,32,d,Q,g&-65537);ml(a,r,q);ml(a,s!=s|0.0!=0.0?(K?10390:10394):K?10382:10386,3);fh(a,32,d,Q,g^8192);M=Q}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function cb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(o|0)!=(j|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else Wd(l,m-p|0,d);p=a+216|0;m=a+220|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=j;j=n;n=l;v=l;l=o;o=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;w=o*3|0;if((w|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(w<<2)>>2]|0;f[e>>2]=x;y=w+1|0;if((y|0)==-1){f[q>>2]=-1;z=x;A=0;B=92}else{C=x;D=y;B=91}}else{f[e>>2]=-1;C=-1;D=0;B=91}if((B|0)==91){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(D<<2)>>2];y=w+2|0;if((y|0)==-1){E=C;F=-1}else{z=C;A=y;B=92}}if((B|0)==92){B=0;E=z;F=f[(f[f[k>>2]>>2]|0)+(A<<2)>>2]|0}f[s>>2]=F;y=t+96|0;w=t+100|0;x=(l-j|0)/12|0;G=j;H=o;o=o+1|0;if(H>>>0>>0){I=n;J=t;K=v;L=G;M=j;N=l}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(o>>>0<=x>>>0)if(o>>>0>>0?(P=G+(o*12|0)|0,(O|0)!=(P|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[w>>2]=Q;R=G;S=v;T=t;U=Q;V=j}else{R=G;S=v;T=t;U=l;V=j}else{Wd(y,o-x|0,d);x=f[i>>2]|0;G=f[x+44>>2]|0;R=f[y>>2]|0;S=x;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=V;N=U}f[L+(H*12|0)>>2]=E;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(o>>>0>=((N-M|0)/12|0)>>>0){r=I;break}else{t=J;j=M;n=I;v=K;l=N}}}f[(f[r+4>>2]|0)+80>>2]=b;W=1;u=c;return W|0}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;N=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=N>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)ym(g);else{v=dj(N)|0;f[g>>2]=v;I=v+(l<<2)|0;f[g+8>>2]=I;Vf(v|0,0,N|0)|0;f[K>>2]=I;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){N=a+120|0;l=e+8|0;I=r;v=0;while(1){n=f[(f[I+24>>2]|0)+(v<<2)>>2]|0;b:do if((n|0)!=-1){c:do if((f[(f[N>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0?(M=f[m>>2]|0,j=f[p>>2]|0,J=j,(M|0)!=(j|0)):0){t=(((n>>>0)%3|0|0)==0?2:-1)+n|0;o=(M-j|0)/144|0;if((t|0)==-1){j=0;while(1){M=f[(f[f[J+(j*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(M&31)&f[(f[J+(j*144|0)+16>>2]|0)+(M>>>5<<2)>>2]|0){X=0;break a}j=j+1|0;if(j>>>0>=o>>>0){Y=n;break c}}}j=I+12|0;M=0;while(1){s=f[(f[f[J+(M*144|0)+68>>2]>>2]|0)+(n<<2)>>2]|0;if(1<<(s&31)&f[(f[J+(M*144|0)+16>>2]|0)+(s>>>5<<2)>>2]|0){s=f[J+(M*144|0)+32>>2]|0;L=f[s+(n<<2)>>2]|0;q=f[j>>2]|0;E=f[q+(t<<2)>>2]|0;do if((E|0)!=-1)if(!((E>>>0)%3|0)){Z=E+2|0;break}else{Z=E+-1|0;break}else Z=-1;while(0);if((Z|0)!=(n|0)){E=Z;while(1){if((E|0)==-1){X=0;break a}if((f[s+(E<<2)>>2]|0)!=(L|0)){Y=E;break c}U=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((U|0)!=-1){V=f[q+(U<<2)>>2]|0;if((V|0)==-1){_=-1;break}if(!((V>>>0)%3|0)){_=V+2|0;break}else{_=V+-1|0;break}}else _=-1;while(0);if((_|0)==(n|0))break;else E=_}}}M=M+1|0;if(M>>>0>=o>>>0){Y=n;break}}}else Y=n;while(0);o=f[b>>2]|0;f[(f[g>>2]|0)+(Y<<2)>>2]=o-(f[e>>2]|0)>>2;f[d>>2]=Y;M=o;if(M>>>0<(f[l>>2]|0)>>>0){f[M>>2]=Y;f[b>>2]=M+4;$=I}else{yf(e,d);$=f[k>>2]|0}if((((Y|0)!=-1?(M=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0,(M|0)!=-1):0)?(o=f[(f[$+12>>2]|0)+(M<<2)>>2]|0,(o|0)!=-1):0)?(M=o+(((o>>>0)%3|0|0)==0?2:-1)|0,(M|0)!=-1&(M|0)!=(Y|0)):0){o=$;t=M;M=Y;while(1){j=f[m>>2]|0;J=f[p>>2]|0;E=J;d:do if((j|0)==(J|0))B=66;else{q=(j-J|0)/144|0;L=0;while(1){s=f[E+(L*144|0)+32>>2]|0;L=L+1|0;if((f[s+(t<<2)>>2]|0)!=(f[s+(M<<2)>>2]|0))break;if(L>>>0>=q>>>0){B=66;break d}}q=f[b>>2]|0;f[(f[g>>2]|0)+(t<<2)>>2]=q-(f[e>>2]|0)>>2;f[d>>2]=t;L=q;if(L>>>0<(f[l>>2]|0)>>>0){f[L>>2]=t;f[b>>2]=L+4;aa=o}else{yf(e,d);aa=f[k>>2]|0}ba=aa}while(0);if((B|0)==66){B=0;E=f[g>>2]|0;f[E+(t<<2)>>2]=f[E+(M<<2)>>2];ba=o}if((t|0)==-1){ca=ba;break b}E=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((E|0)==-1){ca=ba;break b}J=f[(f[ba+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1){ca=ba;break b}E=J+(((J>>>0)%3|0|0)==0?2:-1)|0;if((E|0)!=-1&(E|0)!=(Y|0)){J=t;o=ba;t=E;M=J}else{ca=ba;break}}}else ca=$}else ca=I;while(0);v=v+1|0;if((v|0)>=((f[ca+28>>2]|0)-(f[ca+24>>2]|0)>>2|0)){B=27;break}else I=ca}}else B=27;while(0);if((B|0)==27){B=f[i>>2]|0;ca=f[B+44>>2]|0;$=f[ca+100>>2]|0;ba=f[ca+96>>2]|0;if(($|0)==(ba|0))da=B;else{Y=h+4|0;aa=h+8|0;k=B;p=B;B=ca;ca=ba;ba=$;$=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;m=(f[g>>2]|0)+($*3<<2)|0;f[h>>2]=f[m>>2];f[h+4>>2]=f[m+4>>2];f[h+8>>2]=f[m+8>>2];m=B+96|0;_=B+100|0;Z=(ba-ca|0)/12|0;r=ca;a=$;$=$+1|0;if(a>>>0>>0){ea=r;fa=ca;ga=ba;ha=k;ia=B;ja=p}else{I=ba;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if($>>>0<=Z>>>0)if($>>>0>>0?(v=r+($*12|0)|0,(I|0)!=(v|0)):0){l=I+(~(((I+-12-v|0)>>>0)/12|0)*12|0)|0;f[_>>2]=l;ka=r;la=p;ma=B;na=l;oa=ca}else{ka=r;la=p;ma=B;na=ba;oa=ca}else{Wd(m,$-Z|0,d);Z=f[i>>2]|0;r=f[Z+44>>2]|0;ka=f[m>>2]|0;la=Z;ma=r;na=f[r+100>>2]|0;oa=f[r+96>>2]|0}ea=ka;fa=oa;ga=na;ha=la;ia=ma;ja=la}f[ea+(a*12|0)>>2]=f[h>>2];f[ea+(a*12|0)+4>>2]=f[Y>>2];f[ea+(a*12|0)+8>>2]=f[aa>>2];if($>>>0>=((ga-fa|0)/12|0)>>>0){da=ha;break}else{k=ha;p=ja;B=ia;ca=fa;ba=ga}}}f[(f[da+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[e>>2]|0)>>2;X=1}da=f[g>>2]|0;if(da|0){g=f[K>>2]|0;if((g|0)!=(da|0))f[K>>2]=g+(~((g+-4-da|0)>>>2)<<2);fn(da)}da=f[e>>2]|0;if(da|0){e=f[b>>2]|0;if((e|0)!=(da|0))f[b>>2]=e+(~((e+-4-da|0)>>>2)<<2);fn(da)}W=X;u=c;return W|0}function db(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;c=u;u=u+80|0;e=c+40|0;g=c+68|0;h=c+64|0;i=c+60|0;j=c+52|0;k=c;l=c+56|0;m=c+48|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;fn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(eg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];if(((eg(h,f[(f[n>>2]|0)+32>>2]|0)|0?(g=f[h>>2]|0,g>>>0<=1431655765):0)?(f[o>>2]|0)>>>0<=(g*3|0)>>>0:0)?(g=f[(f[n>>2]|0)+32>>2]|0,p=g+8|0,q=f[p+4>>2]|0,s=g+16|0,t=s,v=f[t>>2]|0,w=f[t+4>>2]|0,(q|0)>(w|0)|((q|0)==(w|0)?(f[p>>2]|0)>>>0>v>>>0:0)):0){p=b[(f[g>>2]|0)+v>>0]|0;q=Tj(v|0,w|0,1,0)|0;w=s;f[w>>2]=q;f[w+4>>2]=I;if((eg(i,g)|0?(g=f[h>>2]|0,w=f[i>>2]|0,g>>>0>=w>>>0):0)?g>>>0<=(((w>>>0)/3|0)+w|0)>>>0:0){do if(eg(j,f[(f[n>>2]|0)+32>>2]|0)|0?(f[j>>2]|0)>>>0<=(f[i>>2]|0)>>>0:0){w=f[a+24>>2]|0;g=a+28|0;q=f[g>>2]|0;if((q|0)!=(w|0))f[g>>2]=q+(~((q+-4-w|0)>>>2)<<2);w=dj(88)|0;gi(w);q=a+8|0;g=f[q>>2]|0;f[q>>2]=w;if(g|0?(of(g),fn(g),(f[q>>2]|0)==0):0){x=0;break}g=a+160|0;w=f[g>>2]|0;s=a+164|0;v=f[s>>2]|0;if((v|0)!=(w|0))f[s>>2]=v+(~((v+-4-w|0)>>>2)<<2);ug(g,f[h>>2]|0);g=a+172|0;w=f[g>>2]|0;v=a+176|0;s=f[v>>2]|0;if((s|0)!=(w|0))f[v>>2]=s+(~((s+-4-w|0)>>>2)<<2);ug(g,f[h>>2]|0);g=f[a+36>>2]|0;w=a+40|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~(((s+-12-g|0)>>>0)/12|0)*12|0);g=f[a+48>>2]|0;s=a+52|0;w=f[s>>2]|0;if((w|0)!=(g|0))f[s>>2]=w+(~((w+-4-g|0)>>>2)<<2);f[a+64>>2]=0;g=f[a+72>>2]|0;w=a+76|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~((s+-4-g|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;s=f[g>>2]|0;w=a+220|0;v=f[w>>2]|0;if((v|0)!=(s|0)){t=v;do{f[w>>2]=t+-144;v=f[t+-12>>2]|0;if(v|0){y=t+-8|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-28>>2]|0;if(v|0){z=t+-24|0;y=f[z>>2]|0;if((y|0)!=(v|0))f[z>>2]=y+(~((y+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-40>>2]|0;if(v|0){y=t+-36|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}vf(t+-140|0);t=f[w>>2]|0}while((t|0)!=(s|0))}s=p&255;Oe(g,s);if(!(Hf(f[q>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0)){x=0;break}t=(f[j>>2]|0)+(f[o>>2]|0)|0;b[e>>0]=1;ge(a+120|0,t,e);if((zc(a,f[(f[n>>2]|0)+32>>2]|0)|0)==-1){x=0;break}t=a+232|0;f[a+376>>2]=a;v=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;z=f[v>>2]|0;v=(f[z>>2]|0)+(f[z+16>>2]|0)|0;z=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;y=f[z>>2]|0;z=y+8|0;A=y+16|0;y=Vj(f[z>>2]|0,f[z+4>>2]|0,f[A>>2]|0,f[A+4>>2]|0)|0;A=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Yi(t,v,y,d[(f[A>>2]|0)+38>>1]|0);f[a+372>>2]=s;Fi(k);s=a+272|0;A=s;y=t;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));a:do if(bh(s,1,e)|0){A=t;y=s;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));z=e;B=f[z>>2]|0;C=f[z+4>>2]|0;z=a+240|0;D=a+248|0;E=D;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[z>>2]|0,f[z+4>>2]|0,F|0,G|0)|0;z=I;if(C>>>0>z>>>0|(C|0)==(z|0)&B>>>0>E>>>0){H=50;break}E=Tj(F|0,G|0,B|0,C|0)|0;C=D;f[C>>2]=E;f[C+4>>2]=I;if(!(sd(a+312|0,t)|0)){J=0;break}if(!(sf(t)|0)){J=0;break}A=k;y=t;v=A+40|0;do{f[A>>2]=f[y>>2];A=A+4|0;y=y+4|0}while((A|0)<(v|0));C=Ya(a,f[i>>2]|0)|0;if((C|0)==-1){J=0;break}E=f[(f[n>>2]|0)+32>>2]|0;D=k+16|0;B=f[D>>2]|0;G=(f[k>>2]|0)+B|0;F=k+8|0;z=Vj(f[F>>2]|0,f[F+4>>2]|0,B|0,f[D+4>>2]|0)|0;Yi(E,G,z,d[E+38>>1]|0);do if((f[w>>2]|0)!=(f[g>>2]|0)){E=f[q>>2]|0;if((f[E+4>>2]|0)==(f[E>>2]|0))break;E=0;do{f[l>>2]=E;f[e>>2]=f[l>>2];E=E+3|0;if(!(Uc(a,e)|0)){J=0;break a}z=f[q>>2]|0}while(E>>>0<(f[z+4>>2]|0)-(f[z>>2]|0)>>2>>>0)}while(0);if(b[a+308>>0]|0)ei(s);E=f[g>>2]|0;if((f[w>>2]|0)!=(E|0)){z=E;E=0;do{se(z+(E*144|0)+4|0,f[q>>2]|0)|0;G=f[g>>2]|0;D=f[G+(E*144|0)+132>>2]|0;B=f[G+(E*144|0)+136>>2]|0;if((D|0)==(B|0))K=G;else{F=G;G=D;while(1){f[m>>2]=f[G>>2];f[e>>2]=f[m>>2];_d(F+(E*144|0)+4|0,e);G=G+4|0;D=f[g>>2]|0;if((G|0)==(B|0)){K=D;break}else F=D}}Nh(K+(E*144|0)+4|0,0,0);E=E+1|0;z=f[g>>2]|0}while(E>>>0<(((f[w>>2]|0)-z|0)/144|0)>>>0)}z=f[q>>2]|0;E=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;z=a+196|0;F=a+200|0;B=f[F>>2]|0;G=f[z>>2]|0;D=B-G>>2;L=G;G=B;do if(E>>>0>D>>>0)jf(z,E-D|0);else{if(E>>>0>=D>>>0)break;B=L+(E<<2)|0;if((G|0)==(B|0))break;f[F>>2]=G+(~((G+-4-B|0)>>>2)<<2)}while(0);ug(a+184|0,E);G=f[g>>2]|0;if((f[w>>2]|0)!=(G|0)){F=G;G=0;do{L=F;D=(f[L+(G*144|0)+60>>2]|0)-(f[L+(G*144|0)+56>>2]|0)>>2;z=f[q>>2]|0;B=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;z=(D|0)<(B|0)?B:D;D=L+(G*144|0)+116|0;B=L+(G*144|0)+120|0;M=f[B>>2]|0;N=f[D>>2]|0;O=M-N>>2;P=N;N=M;do if(z>>>0>O>>>0)jf(D,z-O|0);else{if(z>>>0>=O>>>0)break;M=P+(z<<2)|0;if((N|0)==(M|0))break;f[B>>2]=N+(~((N+-4-M|0)>>>2)<<2)}while(0);ug(L+(G*144|0)+104|0,z);G=G+1|0;F=f[g>>2]|0}while(G>>>0<(((f[w>>2]|0)-F|0)/144|0)>>>0)}J=cb(a,C)|0}else H=50;while(0);if((H|0)==50)J=0;ln(k+24|0);x=J}else x=0;while(0);Q=x}else Q=0;R=Q}else R=0;r=R;u=c;return r|0}function eb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=c;c=0;v=0;w=0;a:while(1){do if((c|0)>-1)if((v|0)>(2147483647-c|0)){x=Um()|0;f[x>>2]=75;y=-1;break}else{y=v+c|0;break}else y=c;while(0);x=b[t>>0]|0;if(!(x<<24>>24)){z=87;break}else{A=x;B=t}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}x=B+1|0;f[j>>2]=x;A=b[x>>0]|0;B=x}c:do if((z|0)==9)while(1){z=0;if((b[C+1>>0]|0)!=37){E=C;F=D;break c}x=D+1|0;G=C+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=G;D=x;z=9}else{E=G;F=x;break}}while(0);x=F-t|0;if(o)ml(a,t,x);if(x|0){t=E;c=y;v=x;continue}x=E+1|0;G=(b[x>>0]|0)+-48|0;if(G>>>0<10){H=(b[E+2>>0]|0)==36;J=H?G:-1;K=H?1:w;L=H?E+3|0:x}else{J=-1;K=w;L=x}f[j>>2]=L;x=b[L>>0]|0;H=(x<<24>>24)+-32|0;d:do if(H>>>0<32){G=x;M=0;N=L;O=H;while(1){P=1<>2]=P;U=b[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{G=U;M=T;N=P}}}else{Q=x;R=L;S=0}while(0);if(Q<<24>>24==42){x=R+1|0;H=(b[x>>0]|0)+-48|0;if(H>>>0<10?(b[R+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=1;W=R+3|0;X=f[g+((b[x>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);N=f[H>>2]|0;f[e>>2]=H+4;V=0;W=x;X=N}else{V=0;W=x;X=0}}f[j>>2]=W;x=(X|0)<0;Z=W;_=x?S|8192:S;$=V;aa=x?0-X|0:X}else{x=Th(j)|0;if((x|0)<0){Y=-1;break}Z=f[j>>2]|0;_=S;$=K;aa=x}do if((b[Z>>0]|0)==46){if((b[Z+1>>0]|0)!=42){f[j>>2]=Z+1;x=Th(j)|0;ba=f[j>>2]|0;ca=x;break}x=Z+2|0;N=(b[x>>0]|0)+-48|0;if(N>>>0<10?(b[Z+3>>0]|0)==36:0){f[h+(N<<2)>>2]=10;N=f[g+((b[x>>0]|0)+-48<<3)>>2]|0;H=Z+4|0;f[j>>2]=H;ba=H;ca=N;break}if($|0){Y=-1;break a}if(o){N=(f[e>>2]|0)+(4-1)&~(4-1);H=f[N>>2]|0;f[e>>2]=N+4;da=H}else da=0;f[j>>2]=x;ba=x;ca=da}else{ba=Z;ca=-1}while(0);x=ba;H=0;while(1){if(((b[x>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=x+1|0;f[j>>2]=ea;fa=b[(b[x>>0]|0)+-65+(9882+(H*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){x=ea;H=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;G=f[M+4>>2]|0;O=k;f[O>>2]=f[M>>2];f[O+4>>2]=G;z=49;break}if(!o){Y=0;break a}Vc(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=ea;c=y;v=0;w=$;continue}N=b[x>>0]|0;G=(H|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(G|0){case 110:{switch((H&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=ea;c=y;v=0;w=$;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=ea;c=y;v=0;w=$;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}default:{t=ea;c=y;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=G;z=61;break}case 111:{M=k;P=f[M>>2]|0;T=f[M+4>>2]|0;M=Yh(P,T,q)|0;U=r-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=10346;z=67;break}case 105:case 100:{U=k;M=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=Vj(0,0,M|0,T|0)|0;P=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=P;sa=U;ta=P;ua=1;va=10346;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?10346:10348):10347;z=66;break e}break}case 117:{T=k;sa=f[T>>2]|0;ta=f[T+4>>2]|0;ua=0;va=10346;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=N;ya=1;za=0;Aa=10346;Ba=q;break}case 109:{T=Um()|0;Ca=sl(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:10356;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=m;Ea=-1;z=75;break}case 83:{T=f[k>>2]|0;if(!ca){fh(a,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=ea;c=y;v=bb(a,+p[k>>3],aa,ca,O,G)|0;w=$;continue a;break}default:{wa=t;xa=O;ya=ca;za=0;Aa=10346;Ba=q}}while(0);f:do if((z|0)==61){z=0;G=k;H=f[G>>2]|0;x=f[G+4>>2]|0;G=Hh(H,x,q,ja&32)|0;T=(ha&8|0)==0|(H|0)==0&(x|0)==0;ka=H;la=x;ma=G;na=ha;oa=ia;pa=T?0:2;qa=T?10346:10346+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=sg(sa,ta,q)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=Dd(Ca,0,ca)|0;G=(T|0)==0;wa=Ca;xa=N;ya=G?ca:T-Ca|0;za=0;Aa=10346;Ba=G?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;G=0;x=Da;while(1){H=f[x>>2]|0;if(!H){Ga=T;Ha=G;break}M=bl(n,H)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}H=M+T|0;if(Ea>>>0>H>>>0){T=H;G=M;x=x+4|0}else{Ga=H;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}fh(a,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{x=0;G=Da;while(1){T=f[G>>2]|0;if(!T){Fa=Ga;z=84;break f}M=bl(n,T)|0;x=M+x|0;if((x|0)>(Ga|0)){Fa=Ga;z=84;break f}ml(a,n,M);if(x>>>0>=Ga>>>0){Fa=Ga;z=84;break}else G=G+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;G=(oa|0)!=0|N;x=((N^1)&1)+(r-ma)|0;wa=G?ma:q;xa=(oa|0)>-1?na&-65537:na;ya=G?((oa|0)>(x|0)?oa:x):oa;za=pa;Aa=qa;Ba=q}else if((z|0)==84){z=0;fh(a,32,aa,Fa,O^8192);t=ea;c=y;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}x=Ba-wa|0;G=(ya|0)<(x|0)?x:ya;N=G+za|0;M=(aa|0)<(N|0)?N:aa;fh(a,32,M,N,xa);ml(a,Aa,za);fh(a,48,M,N,xa^65536);fh(a,48,G,x,0);ml(a,wa,x);fh(a,32,M,N,xa^8192);t=ea;c=y;v=M;w=$}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{$=1;while(1){v=f[h+($<<2)>>2]|0;if(!v){Ia=$;break}Vc(g+($<<3)|0,v,e);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(k|0)!=(j|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ae(h,b-l|0,2652);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)ym(d);k=((b+-1|0)>>>5)+1|0;m=dj(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Vf(m|0,0,k<<2|0)|0;n=b-(k<<5)|0;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)ym(e);v=((o+-1|0)>>>5)+1|0;w=dj(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Vf(w|0,0,v<<2|0)|0;x=o-(v<<5)|0;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=k;B=q;C=r;D=0;E=b;a:while(1){F=A;G=D*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=C;J=B;F=0;I=E;while(1){M=F+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[H+(N>>>5<<2)>>2]&1<<(N&31))){O=N;P=0;Q=I}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))yf(h,2652);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))yf(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=52;break a}T=R<<6;R=N+32&-32;bf(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=I;O=I;P=1;Q=I+1|0}N=f[d>>2]|0;T=N+(O>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(O&31);T=N;b:do if(P){R=M;while(1){if((R|0)==-1){S=66;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=66;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==66){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!P){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=T;aa=N;ba=Q}else{$=J;aa=H;ba=I}F=F+1|0;if((F|0)>=3){ca=$;da=aa;ea=ba;break}else{H=aa;J=$;I=ba}}}else{ca=B;da=C;ea=E}}else{ca=B;da=C;ea=E}D=D+1|0;A=f[a>>2]|0;if(D>>>0>=(((f[m>>2]|0)-A>>2>>>0)/3|0)>>>0){S=18;break}else{B=ca;C=da;E=ea}}if((S|0)==18){fa=ca;ga=f[l>>2]|0;break}else if((S|0)==52)ym(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0){if(!S){l=a;ca=0;ea=ga;while(1){e:do if(ea){da=ca;m=0;while(1){if(!(f[l>>2]&1<>2]=ba;ha=ba}else ha=da;if((m|0)==31){ia=ha;break}else{da=ha;m=m+1|0}}}else{m=ca;da=0;while(1){if(!(f[l>>2]&1<>2]=N;ja=N}else ja=m;if((da|0)==31){ia=ja;break e}da=da+1|0;if(!da)break d;else m=ja}}while(0);l=l+4|0;if((l|0)==(q|0))break d;else{ca=ia;ea=1}}}if(ga){ea=a;ca=0;l=0;while(1){m=l;da=ca;N=0;while(1){if(!(f[ea>>2]&1<>2]=T;ka=T;la=T}else{ka=da;la=m}if((N|0)==31)break;else{m=la;da=ka;N=N+1|0}}N=ea+4|0;if((N|0)==(q|0)){ma=N;na=ka;break}else{ea=N;ca=ka;l=la}}}else{ma=a;na=0}l=na;ca=0;while(1){if(!(f[ma>>2]&1<>2]=ea;oa=ea}else oa=l;ca=ca+1|0;if((ca|0)==(S|0))break;else l=oa}}while(0);oa=f[e>>2]|0;if(oa|0)fn(oa);oa=f[d>>2]|0;if(!oa){u=c;return 1}fn(oa);u=c;return 1}function gb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;c=u;u=u+80|0;e=c+64|0;g=c+60|0;h=c+56|0;i=c+52|0;j=c+48|0;k=c;l=c+44|0;m=c+40|0;f[a+132>>2]=0;n=a+148|0;if(f[n>>2]|0){o=a+144|0;p=f[o>>2]|0;if(p|0){q=p;do{p=q;q=f[q>>2]|0;fn(p)}while((q|0)!=0)}f[o>>2]=0;o=f[a+140>>2]|0;if(o|0){q=a+136|0;p=0;do{f[(f[q>>2]|0)+(p<<2)>>2]=0;p=p+1|0}while((p|0)!=(o|0))}f[n>>2]=0}n=a+4|0;if(!(eg(g,f[(f[n>>2]|0)+32>>2]|0)|0)){r=0;u=c;return r|0}o=a+156|0;f[o>>2]=f[g>>2];if(((eg(h,f[(f[n>>2]|0)+32>>2]|0)|0?(g=f[h>>2]|0,g>>>0<=1431655765):0)?(f[o>>2]|0)>>>0<=(g*3|0)>>>0:0)?(g=f[(f[n>>2]|0)+32>>2]|0,p=g+8|0,q=f[p+4>>2]|0,s=g+16|0,t=s,v=f[t>>2]|0,w=f[t+4>>2]|0,(q|0)>(w|0)|((q|0)==(w|0)?(f[p>>2]|0)>>>0>v>>>0:0)):0){p=b[(f[g>>2]|0)+v>>0]|0;q=Tj(v|0,w|0,1,0)|0;w=s;f[w>>2]=q;f[w+4>>2]=I;if((eg(i,g)|0?(g=f[h>>2]|0,w=f[i>>2]|0,g>>>0>=w>>>0):0)?g>>>0<=(((w>>>0)/3|0)+w|0)>>>0:0){do if(eg(j,f[(f[n>>2]|0)+32>>2]|0)|0?(f[j>>2]|0)>>>0<=(f[i>>2]|0)>>>0:0){w=f[a+24>>2]|0;g=a+28|0;q=f[g>>2]|0;if((q|0)!=(w|0))f[g>>2]=q+(~((q+-4-w|0)>>>2)<<2);w=dj(88)|0;gi(w);q=a+8|0;g=f[q>>2]|0;f[q>>2]=w;if(g|0?(of(g),fn(g),(f[q>>2]|0)==0):0){x=0;break}g=a+160|0;w=f[g>>2]|0;s=a+164|0;v=f[s>>2]|0;if((v|0)!=(w|0))f[s>>2]=v+(~((v+-4-w|0)>>>2)<<2);ug(g,f[h>>2]|0);g=a+172|0;w=f[g>>2]|0;v=a+176|0;s=f[v>>2]|0;if((s|0)!=(w|0))f[v>>2]=s+(~((s+-4-w|0)>>>2)<<2);ug(g,f[h>>2]|0);g=f[a+36>>2]|0;w=a+40|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~(((s+-12-g|0)>>>0)/12|0)*12|0);g=f[a+48>>2]|0;s=a+52|0;w=f[s>>2]|0;if((w|0)!=(g|0))f[s>>2]=w+(~((w+-4-g|0)>>>2)<<2);f[a+64>>2]=0;g=f[a+72>>2]|0;w=a+76|0;s=f[w>>2]|0;if((s|0)!=(g|0))f[w>>2]=s+(~((s+-4-g|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;s=f[g>>2]|0;w=a+220|0;v=f[w>>2]|0;if((v|0)!=(s|0)){t=v;do{f[w>>2]=t+-144;v=f[t+-12>>2]|0;if(v|0){y=t+-8|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-28>>2]|0;if(v|0){z=t+-24|0;y=f[z>>2]|0;if((y|0)!=(v|0))f[z>>2]=y+(~((y+-4-v|0)>>>2)<<2);fn(v)}v=f[t+-40>>2]|0;if(v|0){y=t+-36|0;z=f[y>>2]|0;if((z|0)!=(v|0))f[y>>2]=z+(~((z+-4-v|0)>>>2)<<2);fn(v)}vf(t+-140|0);t=f[w>>2]|0}while((t|0)!=(s|0))}s=p&255;Oe(g,s);if(!(Hf(f[q>>2]|0,f[h>>2]|0,(f[j>>2]|0)+(f[o>>2]|0)|0)|0)){x=0;break}t=(f[j>>2]|0)+(f[o>>2]|0)|0;b[e>>0]=1;ge(a+120|0,t,e);if((zc(a,f[(f[n>>2]|0)+32>>2]|0)|0)==-1){x=0;break}t=a+232|0;f[a+376>>2]=a;v=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;z=f[v>>2]|0;v=(f[z>>2]|0)+(f[z+16>>2]|0)|0;z=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;y=f[z>>2]|0;z=y+8|0;A=y+16|0;y=Vj(f[z>>2]|0,f[z+4>>2]|0,f[A>>2]|0,f[A+4>>2]|0)|0;A=(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Yi(t,v,y,d[(f[A>>2]|0)+38>>1]|0);A=La[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=A;f[a+384>>2]=(f[j>>2]|0)+(f[o>>2]|0);f[a+372>>2]=s;Fi(k);a:do if(ec(t,k)|0){s=Xa(a,f[i>>2]|0)|0;if((s|0)==-1){B=0;break}A=f[(f[n>>2]|0)+32>>2]|0;y=k+16|0;v=f[y>>2]|0;z=(f[k>>2]|0)+v|0;C=k+8|0;D=Vj(f[C>>2]|0,f[C+4>>2]|0,v|0,f[y+4>>2]|0)|0;Yi(A,z,D,d[A+38>>1]|0);do if((f[w>>2]|0)!=(f[g>>2]|0)){A=f[q>>2]|0;if((f[A+4>>2]|0)==(f[A>>2]|0))break;A=0;do{f[l>>2]=A;f[e>>2]=f[l>>2];A=A+3|0;if(!(Uc(a,e)|0)){B=0;break a}D=f[q>>2]|0}while(A>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}while(0);if(b[a+308>>0]|0)ei(a+272|0);A=f[g>>2]|0;if((f[w>>2]|0)!=(A|0)){D=A;A=0;do{se(D+(A*144|0)+4|0,f[q>>2]|0)|0;z=f[g>>2]|0;y=f[z+(A*144|0)+132>>2]|0;v=f[z+(A*144|0)+136>>2]|0;if((y|0)==(v|0))E=z;else{C=z;z=y;while(1){f[m>>2]=f[z>>2];f[e>>2]=f[m>>2];_d(C+(A*144|0)+4|0,e);z=z+4|0;y=f[g>>2]|0;if((z|0)==(v|0)){E=y;break}else C=y}}Nh(E+(A*144|0)+4|0,0,0);A=A+1|0;D=f[g>>2]|0}while(A>>>0<(((f[w>>2]|0)-D|0)/144|0)>>>0)}D=f[q>>2]|0;A=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;D=a+196|0;C=a+200|0;v=f[C>>2]|0;z=f[D>>2]|0;y=v-z>>2;F=z;z=v;do if(A>>>0>y>>>0)jf(D,A-y|0);else{if(A>>>0>=y>>>0)break;v=F+(A<<2)|0;if((z|0)==(v|0))break;f[C>>2]=z+(~((z+-4-v|0)>>>2)<<2)}while(0);ug(a+184|0,A);z=f[g>>2]|0;if((f[w>>2]|0)!=(z|0)){C=z;z=0;do{F=C;y=(f[F+(z*144|0)+60>>2]|0)-(f[F+(z*144|0)+56>>2]|0)>>2;D=f[q>>2]|0;v=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;D=(y|0)<(v|0)?v:y;y=F+(z*144|0)+116|0;v=F+(z*144|0)+120|0;G=f[v>>2]|0;H=f[y>>2]|0;J=G-H>>2;K=H;H=G;do if(D>>>0>J>>>0)jf(y,D-J|0);else{if(D>>>0>=J>>>0)break;G=K+(D<<2)|0;if((H|0)==(G|0))break;f[v>>2]=H+(~((H+-4-G|0)>>>2)<<2)}while(0);ug(F+(z*144|0)+104|0,D);z=z+1|0;C=f[g>>2]|0}while(z>>>0<(((f[w>>2]|0)-C|0)/144|0)>>>0)}B=cb(a,s)|0}else B=0;while(0);ln(k+24|0);x=B}else x=0;while(0);L=x}else L=0;M=L}else M=0;r=M;u=c;return r|0}function hb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){r=b[q>>0]|0;m=g+(o<<3)|0;f[m>>2]=r;f[m+4>>2]=((r|0)<0)<<31>>31;o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Tj(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){t=g+(r<<3)|0;f[t>>2]=h[m>>0];f[t+4>>2]=0;r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Tj(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){k=d[t>>1]|0;q=g+(l<<3)|0;f[q>>2]=k;f[q+4>>2]=((k|0)<0)<<31>>31;l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){q=g+(o<<3)|0;f[q>>2]=j[k>>1];f[q+4>>2]=0;o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Tj(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){m=f[q>>2]|0;t=g+(r<<3)|0;f[t>>2]=m;f[t+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){t=g+(l<<3)|0;f[t>>2]=f[m>>2];f[t+4>>2]=0;l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){k=t;q=f[k+4>>2]|0;z=g+(o<<3)|0;f[z>>2]=f[k>>2];f[z+4>>2]=q;o=o+1|0;q=b[m>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else t=t+8|0}}else A=l;t=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;q=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;z=Tj(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=m+z|0;while(1){z=q;m=f[z+4>>2]|0;k=g+(r<<3)|0;f[k>>2]=f[z>>2];f[k+4>>2]=m;r=r+1|0;m=b[t>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+8|0}}else B=o;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 9:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=t+k|0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;t=g+(l<<3)|0;f[t>>2]=~~+C>>>0;f[t+4>>2]=k;l=l+1|0;k=b[q>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=r;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=q+t|0;while(1){E=+p[k>>3];t=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;q=g+(o<<3)|0;f[q>>2]=~~E>>>0;f[q+4>>2]=t;o=o+1|0;t=b[m>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){F=t;break}else k=k+8|0}}else F=l;k=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;t=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Tj(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=m+q|0;while(1){q=g+(r<<3)|0;f[q>>2]=h[t>>0];f[q+4>>2]=0;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){G=q;break}else t=t+1|0}}else G=o;t=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function ib(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+32|0;if(!(eg(d,f[j>>2]|0)|0)){k=0;u=c;return k|0}if(!(eg(e,f[j>>2]|0)|0)){k=0;u=c;return k|0}l=f[d>>2]|0;if(l>>>0>1431655765){k=0;u=c;return k|0}m=f[e>>2]|0;n=lj(l|0,0,3,0)|0;o=I;if(0>o>>>0|0==(o|0)&m>>>0>n>>>0){k=0;u=c;return k|0}n=f[j>>2]|0;o=n+8|0;p=f[o+4>>2]|0;q=n+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((p|0)>(t|0)|((p|0)==(t|0)?(f[o>>2]|0)>>>0>s>>>0:0))){k=0;u=c;return k|0}o=b[(f[n>>2]|0)+s>>0]|0;p=Tj(s|0,t|0,1,0)|0;r=I;v=q;f[v>>2]=p;f[v+4>>2]=r;a:do if(!(o<<24>>24)){if(!(fd(a,l)|0)){k=0;u=c;return k|0}}else{if(m>>>0<256){if(!l)break;v=a+44|0;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;x=n+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;b:do if((z|0)>(r|0)|(z|0)==(r|0)&y>>>0>p>>>0){x=n;A=l;B=p;C=r;D=z;E=y;F=0;while(1){G=x+16|0;H=f[x>>2]|0;J=b[H+B>>0]|0;K=Tj(B|0,C|0,1,0)|0;L=I;M=G;f[M>>2]=K;f[M+4>>2]=L;f[g>>2]=J&255;if(!((D|0)>(L|0)|(D|0)==(L|0)&E>>>0>K>>>0))break b;L=b[H+K>>0]|0;K=Tj(B|0,C|0,2,0)|0;J=I;M=G;f[M>>2]=K;f[M+4>>2]=J;f[q>>2]=L&255;if(!((D|0)>(J|0)|(D|0)==(J|0)&E>>>0>K>>>0))break b;J=b[H+K>>0]|0;K=Tj(B|0,C|0,3,0)|0;H=G;f[H>>2]=K;f[H+4>>2]=I;f[w>>2]=J&255;J=f[v>>2]|0;H=J+100|0;K=f[H>>2]|0;if((K|0)==(f[J+104>>2]|0)){df(J+96|0,g);N=f[d>>2]|0}else{f[K>>2]=f[g>>2];f[K+4>>2]=f[g+4>>2];f[K+8>>2]=f[g+8>>2];f[H>>2]=(f[H>>2]|0)+12;N=A}F=F+1|0;if(F>>>0>=N>>>0)break a;x=f[j>>2]|0;H=x+16|0;B=f[H>>2]|0;C=f[H+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;H=x+8|0;E=f[H>>2]|0;D=f[H+4>>2]|0;if(!((D|0)>(C|0)|(D|0)==(C|0)&E>>>0>B>>>0))break;else A=N}}while(0);k=0;u=c;return k|0}if(m>>>0<65536){if(!l)break;v=a+44|0;w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=n+8|0;z=f[y>>2]|0;A=f[y+4>>2]|0;y=Tj(s|0,t|0,3,0)|0;B=I;c:do if(!((A|0)<(B|0)|(A|0)==(B|0)&z>>>0>>0)){E=n;C=p;D=y;x=B;F=r;H=A;K=z;J=l;G=0;while(1){L=E+16|0;M=f[E>>2]|0;O=M+C|0;P=h[O>>0]|h[O+1>>0]<<8;O=L;f[O>>2]=D;f[O+4>>2]=x;f[g>>2]=P&65535;P=Tj(C|0,F|0,4,0)|0;O=I;if((H|0)<(O|0)|(H|0)==(O|0)&K>>>0

>>0)break c;Q=M+D|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=P;f[Q+4>>2]=O;f[w>>2]=R&65535;R=Tj(C|0,F|0,6,0)|0;O=I;if((H|0)<(O|0)|(H|0)==(O|0)&K>>>0>>0)break c;Q=M+P|0;P=h[Q>>0]|h[Q+1>>0]<<8;Q=L;f[Q>>2]=R;f[Q+4>>2]=O;f[q>>2]=P&65535;P=f[v>>2]|0;O=P+100|0;Q=f[O>>2]|0;if((Q|0)==(f[P+104>>2]|0)){df(P+96|0,g);S=f[d>>2]|0}else{f[Q>>2]=f[g>>2];f[Q+4>>2]=f[g+4>>2];f[Q+8>>2]=f[g+8>>2];f[O>>2]=(f[O>>2]|0)+12;S=J}G=G+1|0;if(G>>>0>=S>>>0)break a;E=f[j>>2]|0;O=E+16|0;C=f[O>>2]|0;F=f[O+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;O=E+8|0;K=f[O>>2]|0;H=f[O+4>>2]|0;D=Tj(C|0,F|0,2,0)|0;x=I;if((H|0)<(x|0)|(H|0)==(x|0)&K>>>0>>0)break;else J=S}}while(0);k=0;u=c;return k|0}v=a+44|0;if((f[(f[v>>2]|0)+80>>2]|0)>>>0<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!l)break;q=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(eg(i,n)|0){z=0;do{f[g>>2]=f[i>>2];if(!(eg(i,f[j>>2]|0)|0))break d;f[q>>2]=f[i>>2];if(!(eg(i,f[j>>2]|0)|0))break d;f[w>>2]=f[i>>2];A=f[v>>2]|0;B=A+100|0;y=f[B>>2]|0;if((y|0)==(f[A+104>>2]|0))df(A+96|0,g);else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[B>>2]=(f[B>>2]|0)+12}z=z+1|0;if(z>>>0>=(f[d>>2]|0)>>>0)break a;B=f[j>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(eg(i,B)|0)}while(0);k=0;u=c;return k|0}if(l|0){w=g+4|0;q=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=n+8|0;B=f[z>>2]|0;y=f[z+4>>2]|0;z=Tj(s|0,t|0,5,0)|0;A=I;e:do if(!((y|0)<(A|0)|(y|0)==(A|0)&B>>>0>>0)){J=n;D=p;K=z;x=A;H=r;F=y;C=B;E=l;G=0;while(1){O=J+16|0;Q=f[J>>2]|0;P=Q+D|0;R=h[P>>0]|h[P+1>>0]<<8|h[P+2>>0]<<16|h[P+3>>0]<<24;P=O;f[P>>2]=K;f[P+4>>2]=x;f[g>>2]=R;R=Tj(D|0,H|0,8,0)|0;P=I;if((F|0)<(P|0)|(F|0)==(P|0)&C>>>0>>0)break e;L=Q+K|0;M=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=R;f[L+4>>2]=P;f[w>>2]=M;M=Tj(D|0,H|0,12,0)|0;P=I;if((F|0)<(P|0)|(F|0)==(P|0)&C>>>0>>0)break e;L=Q+R|0;R=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;L=O;f[L>>2]=M;f[L+4>>2]=P;f[q>>2]=R;R=f[v>>2]|0;P=R+100|0;L=f[P>>2]|0;if((L|0)==(f[R+104>>2]|0)){df(R+96|0,g);T=f[d>>2]|0}else{f[L>>2]=f[g>>2];f[L+4>>2]=f[g+4>>2];f[L+8>>2]=f[g+8>>2];f[P>>2]=(f[P>>2]|0)+12;T=E}G=G+1|0;if(G>>>0>=T>>>0)break a;J=f[j>>2]|0;P=J+16|0;D=f[P>>2]|0;H=f[P+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;P=J+8|0;C=f[P>>2]|0;F=f[P+4>>2]|0;K=Tj(D|0,H|0,4,0)|0;x=I;if((F|0)<(x|0)|(F|0)==(x|0)&C>>>0>>0)break;else E=T}}while(0);k=0;u=c;return k|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];k=1;u=c;return k|0}function jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){yf(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=-1;n=l}else{m=f[(f[h>>2]|0)+(k<<2)>>2]|0;n=l}}else{m=-1;n=-1}l=a+24|0;k=f[l>>2]|0;h=k+(n>>>5<<2)|0;g=1<<(n&31);j=f[h>>2]|0;if(!(j&g)){f[h>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;h=f[o>>2]|0;if((h|0)==(f[g+8>>2]|0))yf(g,d);else{f[h>>2]=j;f[o>>2]=h+4}h=a+40|0;o=f[h>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){yf(o,e);p=f[h>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(n<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[l>>2]|0}else q=k;k=q+(m>>>5<<2)|0;q=1<<(m&31);o=f[k>>2]|0;if(!(o&q)){f[k>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;k=f[r>>2]|0;if((k|0)==(f[o+8>>2]|0))yf(o,d);else{f[k>>2]=q;f[r>>2]=k+4}k=a+40|0;r=f[k>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){yf(r,e);s=f[k>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(m<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[l>>2]|0)+(t>>>5<<2)|0;m=1<<(t&31);s=f[r>>2]|0;if(!(m&s)){f[r>>2]=s|m;m=f[i>>2]|0;f[e>>2]=m;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[a+48>>2]|0;f[d>>2]=s;r=f[m+4>>2]|0;m=r+4|0;o=f[m>>2]|0;if((o|0)==(f[r+8>>2]|0))yf(r,d);else{f[o>>2]=s;f[m>>2]=o+4}o=a+40|0;m=f[o>>2]|0;s=m+4|0;r=f[s>>2]|0;if((r|0)==(f[m+8>>2]|0)){yf(m,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=m}m=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1}m=f[b>>2]|0;a:do if((m|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=m;while(1){k=q;while(1){w=a+52+(k*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(k*12|0)>>2]|0)!=(x|0))break;n=k+1|0;if((n|0)<3)k=n;else break a}n=x+-4|0;p=f[n>>2]|0;f[w>>2]=n;f[b>>2]=k;f[i>>2]=p;if((p|0)==-1)break;n=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(n>>>5<<2)>>2]&1<<(n&31))){j=p;h=g;b:while(1){y=(j>>>0)/3|0;z=h+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[l>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))yf(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){yf(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[l>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))yf(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[l>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;h=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;h=a+52+(O*12|0)+4|0;j=f[h>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))yf(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[h>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=k;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;o=l+q|0;while(1){d[g+(m<<1)>>1]=b[o>>0]|0;m=m+1|0;q=b[j>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){r=q;break}else o=o+1|0}}else r=k;o=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 2:{o=a+24|0;m=b[o>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){j=f[f[a>>2]>>2]|0;q=a+40|0;l=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;s=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;l=j+s|0;while(1){d[g+(q<<1)>>1]=h[l>>0]|0;q=q+1|0;s=b[o>>0]|0;if((q|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){t=s;break}else l=l+1|0}}else t=m;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;s=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;j=Tj(s|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;s=o+j|0;while(1){d[g+(k<<1)>>1]=d[s>>1]|0;k=k+1|0;j=b[l>>0]|0;if((k|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){u=j;break}else s=s+2|0}}else u=q;s=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 4:{s=a+24|0;k=b[s>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;j=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;o=Tj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;j=l+o|0;while(1){d[g+(m<<1)>>1]=d[j>>1]|0;m=m+1|0;o=b[s>>0]|0;if((m|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else j=j+2|0}}else v=k;j=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 5:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){s=f[f[a>>2]>>2]|0;q=a+40|0;o=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;l=Tj(o|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;o=s+l|0;while(1){d[g+(q<<1)>>1]=f[o>>2];q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){w=l;break}else o=o+4|0}}else w=m;o=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 6:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;k=a+40|0;l=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;s=Tj(l|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;l=j+s|0;while(1){d[g+(k<<1)>>1]=f[l>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){x=s;break}else l=l+4|0}}else x=q;l=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 7:{l=a+24|0;k=b[l>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;j=Tj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;s=o+j|0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;j=b[l>>0]|0;if((m|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){y=j;break}else s=s+8|0}}else y=k;s=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 8:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;j=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;o=Tj(j|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;j=l+o|0;while(1){d[g+(q<<1)>>1]=f[j>>2];q=q+1|0;o=b[s>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else j=j+8|0}}else z=m;j=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 9:{j=a+24|0;q=b[j>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){s=f[f[a>>2]>>2]|0;k=a+40|0;o=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(o|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;o=s+l|0;while(1){l=~~$(n[o>>2])&65535;d[g+(k<<1)>>1]=l;k=k+1|0;l=b[j>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else o=o+4|0}}else A=q;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 10:{o=a+24|0;k=b[o>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){j=f[f[a>>2]>>2]|0;m=a+40|0;l=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;s=Tj(l|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;l=j+s|0;while(1){d[g+(m<<1)>>1]=~~+p[l>>3];m=m+1|0;s=b[o>>0]|0;if((m|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){B=s;break}else l=l+8|0}}else B=k;l=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 11:{l=a+24|0;m=b[l>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){o=f[f[a>>2]>>2]|0;q=a+40|0;s=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(s|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;s=o+j|0;while(1){d[g+(q<<1)>>1]=h[s>>0]|0;q=q+1|0;j=b[l>>0]|0;if((q|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){C=j;break}else s=s+1|0}}else C=m;s=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Tj(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;o=l+q|0;while(1){d[g+(m<<1)>>1]=b[o>>0]|0;m=m+1|0;q=b[j>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){r=q;break}else o=o+1|0}}else r=k;o=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 2:{o=a+24|0;m=b[o>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){j=f[f[a>>2]>>2]|0;q=a+40|0;l=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;s=Tj(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;l=j+s|0;while(1){d[g+(q<<1)>>1]=h[l>>0]|0;q=q+1|0;s=b[o>>0]|0;if((q|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){t=s;break}else l=l+1|0}}else t=m;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;s=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;j=Tj(s|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;s=o+j|0;while(1){d[g+(k<<1)>>1]=d[s>>1]|0;k=k+1|0;j=b[l>>0]|0;if((k|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){u=j;break}else s=s+2|0}}else u=q;s=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 4:{s=a+24|0;k=b[s>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;j=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;o=Tj(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;j=l+o|0;while(1){d[g+(m<<1)>>1]=d[j>>1]|0;m=m+1|0;o=b[s>>0]|0;if((m|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else j=j+2|0}}else v=k;j=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 5:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){s=f[f[a>>2]>>2]|0;q=a+40|0;o=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;l=Tj(o|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;o=s+l|0;while(1){d[g+(q<<1)>>1]=f[o>>2];q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){w=l;break}else o=o+4|0}}else w=m;o=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 6:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;k=a+40|0;l=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;s=Tj(l|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;l=j+s|0;while(1){d[g+(k<<1)>>1]=f[l>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){x=s;break}else l=l+4|0}}else x=q;l=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 7:{l=a+24|0;k=b[l>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;j=Tj(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;s=o+j|0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;j=b[l>>0]|0;if((m|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){y=j;break}else s=s+8|0}}else y=k;s=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 8:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;j=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;o=Tj(j|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;j=l+o|0;while(1){d[g+(q<<1)>>1]=f[j>>2];q=q+1|0;o=b[s>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else j=j+8|0}}else z=m;j=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 9:{j=a+24|0;q=b[j>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){s=f[f[a>>2]>>2]|0;k=a+40|0;o=lj(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Tj(o|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;o=s+l|0;while(1){l=~~$(n[o>>2]);d[g+(k<<1)>>1]=l;k=k+1|0;l=b[j>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else o=o+4|0}}else A=q;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 10:{o=a+24|0;k=b[o>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){j=f[f[a>>2]>>2]|0;m=a+40|0;l=lj(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;s=Tj(l|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;l=j+s|0;while(1){d[g+(m<<1)>>1]=~~+p[l>>3];m=m+1|0;s=b[o>>0]|0;if((m|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){B=s;break}else l=l+8|0}}else B=k;l=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 11:{l=a+24|0;m=b[l>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){o=f[f[a>>2]>>2]|0;q=a+40|0;s=lj(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Tj(s|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=0;s=o+j|0;while(1){d[g+(q<<1)>>1]=h[s>>0]|0;q=q+1|0;j=b[l>>0]|0;if((q|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){C=j;break}else s=s+1|0}}else C=m;s=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Tj(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Tj(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Tj(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Tj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Tj(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2])>>>0;f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Tj(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3]>>>0;o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=Tj(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=Tj(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=Tj(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=Tj(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Tj(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2]);f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=Tj(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3];o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=lj(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Tj(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Vf(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))yf(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=m;r=p;s=g+2|0;break}else{q=m;r=p;s=g+-1|0;break}}else{p=f[n+28>>2]|0;q=p;r=f[p+-4>>2]|0;s=-1}while(0);n=f[q+(s<<2)>>2]|0;if((r|0)==-1|(n|0)==-1){h=0;u=c;return h|0}s=a+24|0;q=f[s>>2]|0;g=q+(r>>>5<<2)|0;k=1<<(r&31);p=f[g>>2]|0;if(!(p&k)){f[g>>2]=p|k;k=f[b>>2]|0;p=k+1|0;if((k|0)==-1)t=-1;else t=((p>>>0)%3|0|0)==0?k+-2|0:p;f[e>>2]=t;p=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=p;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))yf(k,d);else{f[g>>2]=p;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;p=t+4|0;k=f[p>>2]|0;if((k|0)==(f[t+8>>2]|0)){yf(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(r<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[s>>2]|0}else w=q;q=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[q>>2]|0;if(!(t&w)){f[q>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;q=f[x>>2]|0;if((q|0)==(f[t+8>>2]|0))yf(t,d);else{f[q>>2]=w;f[x>>2]=q+4}q=a+40|0;x=f[q>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){yf(x,e);y=f[q>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;q=x;x=n;a:while(1){n=f[x+-4>>2]|0;f[b>>2]=n;r=(n>>>0)/3|0;if((n|0)!=-1?(n=(f[j>>2]|0)+(r>>>5<<2)|0,v=1<<(r&31),r=f[n>>2]|0,(r&v|0)==0):0){f[n>>2]=r|v;v=f[a>>2]|0;r=f[b>>2]|0;n=f[(f[v+28>>2]|0)+(r<<2)>>2]|0;if((n|0)==-1){h=0;z=79;break}else{A=r;B=v;C=n}b:while(1){n=(f[s>>2]|0)+(C>>>5<<2)|0;v=1<<(C&31);r=f[n>>2]|0;do if(!(r&v)){k=f[(f[B+40>>2]|0)+(C<<2)>>2]|0;if((k|0)==-1)D=1;else{p=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(p&31)&f[(f[B+12>>2]|0)+(p>>>5<<2)>>2]|0)!=0}f[n>>2]=r|v;p=f[b>>2]|0;f[e>>2]=p;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]|0;p=f[t>>2]|0;f[d>>2]=k;g=f[p+4>>2]|0;p=g+4|0;m=f[p>>2]|0;if((m|0)==(f[g+8>>2]|0))yf(g,d);else{f[m>>2]=k;f[p>>2]=m+4}m=f[w>>2]|0;p=m+4|0;k=f[p>>2]|0;if((k|0)==(f[m+8>>2]|0)){yf(m,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;E=m}m=E+24|0;f[(f[E+12>>2]|0)+(C<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1;m=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=m;z=59;break}p=k+1|0;do if((k|0)==-1)H=-1;else{g=((p>>>0)%3|0|0)==0?k+-2|0:p;if((g|0)==-1){H=-1;break}if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[m+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=m;J=(H>>>0)/3|0}else{F=A;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=63;break}r=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((r|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((r|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);r=(K|0)==-1;v=(K>>>0)/3|0;n=r?-1:v;p=(L|0)==-1;k=(L>>>0)/3|0;g=p?-1:k;do if(!r){M=f[j>>2]|0;if(f[M+(n>>>5<<2)>>2]&1<<(n&31)|0){z=69;break}if(p){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(p){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=G;J=O}v=(f[j>>2]|0)+(J>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(J&31);A=f[b>>2]|0;C=f[(f[I+28>>2]|0)+(A<<2)>>2]|0;if((C|0)==-1){h=0;z=79;break a}else B=I}do if((z|0)==63){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){yf(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];n=v+4|0;f[l>>2]=n;P=n;break}}while(0);if((z|0)==71){z=0;n=(f[l>>2]|0)+-4|0;f[l>>2]=n;P=n}Q=f[i>>2]|0;R=P}else{n=x+-4|0;f[l>>2]=n;Q=q;R=n}if((Q|0)==(R|0)){h=1;z=79;break}else{q=Q;x=R}}if((z|0)==79){u=c;return h|0}return 0}function pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+o|0;while(1){b[g+l>>0]=b[m>>0]|0;l=l+1|0;o=b[i>>0]|0;if((l|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){q=o;break}else m=m+1|0}}else q=j;m=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 2:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){i=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=i+r|0;while(1){b[g+o>>0]=b[k>>0]|0;o=o+1|0;r=b[m>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else k=k+1|0}}else s=l;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;j=a+40|0;r=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;i=Tj(r|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;r=m+i|0;while(1){b[g+j>>0]=d[r>>1];j=j+1|0;i=b[k>>0]|0;if((j|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){t=i;break}else r=r+2|0}}else t=o;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 4:{r=a+24|0;j=b[r>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;i=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Tj(i|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;i=k+m|0;while(1){b[g+l>>0]=d[i>>1];l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else i=i+2|0}}else u=j;i=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 5:{i=a+24|0;l=b[i>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;m=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=r+k|0;while(1){b[g+o>>0]=f[m>>2];o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else m=m+4|0}}else v=l;m=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 6:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;j=a+40|0;k=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;r=Tj(k|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;k=i+r|0;while(1){b[g+j>>0]=f[k>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){w=r;break}else k=k+4|0}}else w=o;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 7:{k=a+24|0;j=b[k>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;i=Tj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;r=m+i|0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;i=b[k>>0]|0;if((l|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){x=i;break}else r=r+8|0}}else x=j;r=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 8:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;i=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;m=Tj(i|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;i=k+m|0;while(1){b[g+o>>0]=f[i>>2];o=o+1|0;m=b[r>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else i=i+8|0}}else y=l;i=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 9:{i=a+24|0;o=b[i>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;j=a+40|0;m=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Tj(m|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;m=r+k|0;while(1){k=~~$(n[m>>2])&255;b[g+j>>0]=k;j=j+1|0;k=b[i>>0]|0;if((j|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else m=m+4|0}}else z=o;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 10:{m=a+24|0;j=b[m>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){i=f[f[a>>2]>>2]|0;l=a+40|0;k=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;k=i+r|0;while(1){b[g+l>>0]=~~+p[k>>3];l=l+1|0;r=b[m>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=j;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 11:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;r=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;r=m+i|0;while(1){b[g+o>>0]=b[r>>0]|0;o=o+1|0;i=b[k>>0]|0;if((o|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){B=i;break}else r=r+1|0}}else B=l;r=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Tj(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+o|0;while(1){b[g+l>>0]=b[m>>0]|0;l=l+1|0;o=b[i>>0]|0;if((l|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){q=o;break}else m=m+1|0}}else q=j;m=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 2:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){i=f[f[a>>2]>>2]|0;o=a+40|0;k=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Tj(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=i+r|0;while(1){b[g+o>>0]=b[k>>0]|0;o=o+1|0;r=b[m>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else k=k+1|0}}else s=l;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;j=a+40|0;r=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;i=Tj(r|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;r=m+i|0;while(1){b[g+j>>0]=d[r>>1];j=j+1|0;i=b[k>>0]|0;if((j|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){t=i;break}else r=r+2|0}}else t=o;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 4:{r=a+24|0;j=b[r>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;i=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=Tj(i|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;i=k+m|0;while(1){b[g+l>>0]=d[i>>1];l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else i=i+2|0}}else u=j;i=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 5:{i=a+24|0;l=b[i>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;m=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=Tj(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=r+k|0;while(1){b[g+o>>0]=f[m>>2];o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else m=m+4|0}}else v=l;m=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 6:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;j=a+40|0;k=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;r=Tj(k|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;k=i+r|0;while(1){b[g+j>>0]=f[k>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){w=r;break}else k=k+4|0}}else w=o;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 7:{k=a+24|0;j=b[k>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;i=Tj(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;r=m+i|0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;i=b[k>>0]|0;if((l|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){x=i;break}else r=r+8|0}}else x=j;r=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 8:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;i=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;m=Tj(i|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;i=k+m|0;while(1){b[g+o>>0]=f[i>>2];o=o+1|0;m=b[r>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else i=i+8|0}}else y=l;i=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 9:{i=a+24|0;o=b[i>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;j=a+40|0;m=lj(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Tj(m|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=0;m=r+k|0;while(1){k=~~$(n[m>>2]);b[g+j>>0]=k;j=j+1|0;k=b[i>>0]|0;if((j|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else m=m+4|0}}else z=o;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 10:{m=a+24|0;j=b[m>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){i=f[f[a>>2]>>2]|0;l=a+40|0;k=lj(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Tj(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;k=i+r|0;while(1){b[g+l>>0]=~~+p[k>>3];l=l+1|0;r=b[m>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=j;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 11:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;r=lj(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Tj(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;r=m+i|0;while(1){b[g+o>>0]=b[r>>0]|0;o=o+1|0;i=b[k>>0]|0;if((o|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){B=i;break}else r=r+1|0}}else B=l;r=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Vf(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))yf(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))yf(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){yf(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))yf(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){yf(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))yf(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){yf(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=D;J=(H>>>0)/3|0}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=G;J=N}t=(f[j>>2]|0)+(J>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(J&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=I}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){yf(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function sb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)ym(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)ym(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];hb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];hb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];hb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Vj(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Vj(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=lj(s|0,x|0,s|0,x|0)|0;N=I;O=lj(E|0,D|0,E|0,D|0)|0;P=Tj(O|0,I|0,M|0,N|0)|0;N=I;M=lj(J|0,H|0,J|0,H|0)|0;O=Tj(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Vj(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Vj(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Vj(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=lj(P|0,C|0,s|0,x|0)|0;F=I;Q=lj(N|0,G|0,E|0,D|0)|0;R=Tj(Q|0,I|0,K|0,F|0)|0;F=I;K=lj(y|0,L|0,J|0,H|0)|0;Q=Tj(R|0,F|0,K|0,I|0)|0;K=I;F=Vj(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;R=Vj(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;S=lj(O|0,M|0,p|0,q|0)|0;q=I;p=lj(O|0,M|0,n|0,o|0)|0;o=I;n=lj(Q|0,K|0,F|0,t|0)|0;T=I;U=lj(Q|0,K|0,R|0,v|0)|0;V=I;W=Tj(n|0,T|0,S|0,q|0)|0;q=I;S=Tj(U|0,V|0,p|0,o|0)|0;o=I;p=lj(Q|0,K|0,s|0,x|0)|0;x=I;s=lj(Q|0,K|0,E|0,D|0)|0;D=I;E=lj(Q|0,K|0,J|0,H|0)|0;H=I;J=Ug(p|0,x|0,O|0,M|0)|0;x=I;p=Ug(s|0,D|0,O|0,M|0)|0;D=I;s=Ug(E|0,H|0,O|0,M|0)|0;H=I;E=Vj(P|0,C|0,J|0,x|0)|0;x=I;J=Vj(N|0,G|0,p|0,D|0)|0;D=I;p=Vj(y|0,L|0,s|0,H|0)|0;H=I;s=lj(E|0,x|0,E|0,x|0)|0;x=I;E=lj(J|0,D|0,J|0,D|0)|0;D=Tj(E|0,I|0,s|0,x|0)|0;x=I;s=lj(p|0,H|0,p|0,H|0)|0;H=Tj(D|0,x|0,s|0,I|0)|0;s=I;x=Vj(0,0,F|0,t|0)|0;t=I;F=lj(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=23}break}case 1:{if(!s){ca=1;da=0;ba=24}else{Z=1;_=0;$=F;aa=s;ba=23}break}default:{Z=1;_=0;$=F;aa=s;ba=23}}if((ba|0)==23)while(1){ba=0;H=Qj(Z|0,_|0,1)|0;D=I;p=$;$=Wj($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&p>>>0>7)){ca=H;da=D;ba=24;break}else{Z=H;_=D;aa=I;ba=23}}if((ba|0)==24)while(1){ba=0;D=Jl(F|0,s|0,ca|0,da|0)|0;H=Tj(D|0,I|0,ca|0,da|0)|0;D=Wj(H|0,I|0,1)|0;H=I;p=lj(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&p>>>0>F>>>0){ca=D;da=H;ba=24}else{X=D;Y=H;break}}F=lj(X|0,Y|0,R|0,v|0)|0;s=I;H=lj(X|0,Y|0,x|0,t|0)|0;D=I;p=a+20|0;E=f[p>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[p>>2]=J;J=Vj(0,0,F|0,s|0)|0;p=Tj(W|0,q|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Vj(0,0,H|0,D|0)|0;F=Tj(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Ug(p|0,s|0,O|0,M|0)|0;s=Ug(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(r)fa=m<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function tb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=o;q=n+2|0;break}else{p=o;q=n+-1|0;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(p<<2)>>2]|0;p=f[n+(q<<2)>>2]|0;q=f[a+36>>2]|0;n=f[q>>2]|0;c=(f[q+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)ym(q);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=p>>>0)ym(q);q=f[o+(p<<2)>>2]|0;p=(n|0)<(e|0);do if(p&(q|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=q<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];hb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];hb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];hb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=Vj(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=I;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=Vj(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=I;H=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=Vj(f[H>>2]|0,f[H+4>>2]|0,K|0,L|0)|0;H=I;M=lj(s|0,x|0,s|0,x|0)|0;N=I;O=lj(E|0,D|0,E|0,D|0)|0;P=Tj(O|0,I|0,M|0,N|0)|0;N=I;M=lj(J|0,H|0,J|0,H|0)|0;O=Tj(P|0,N|0,M|0,I|0)|0;M=I;if((O|0)==0&(M|0)==0)break;N=j;P=Vj(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=I;y=j+8|0;N=Vj(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=I;F=j+16|0;y=Vj(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=I;K=lj(P|0,C|0,s|0,x|0)|0;F=I;Q=lj(N|0,G|0,E|0,D|0)|0;R=Tj(Q|0,I|0,K|0,F|0)|0;F=I;K=lj(y|0,L|0,J|0,H|0)|0;Q=Tj(R|0,F|0,K|0,I|0)|0;K=I;F=Vj(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;R=Vj(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;S=lj(O|0,M|0,c|0,m|0)|0;m=I;c=lj(O|0,M|0,r|0,o|0)|0;o=I;r=lj(Q|0,K|0,F|0,t|0)|0;T=I;U=lj(Q|0,K|0,R|0,v|0)|0;V=I;W=Tj(r|0,T|0,S|0,m|0)|0;m=I;S=Tj(U|0,V|0,c|0,o|0)|0;o=I;c=lj(Q|0,K|0,s|0,x|0)|0;x=I;s=lj(Q|0,K|0,E|0,D|0)|0;D=I;E=lj(Q|0,K|0,J|0,H|0)|0;H=I;J=Ug(c|0,x|0,O|0,M|0)|0;x=I;c=Ug(s|0,D|0,O|0,M|0)|0;D=I;s=Ug(E|0,H|0,O|0,M|0)|0;H=I;E=Vj(P|0,C|0,J|0,x|0)|0;x=I;J=Vj(N|0,G|0,c|0,D|0)|0;D=I;c=Vj(y|0,L|0,s|0,H|0)|0;H=I;s=lj(E|0,x|0,E|0,x|0)|0;x=I;E=lj(J|0,D|0,J|0,D|0)|0;D=Tj(E|0,I|0,s|0,x|0)|0;x=I;s=lj(c|0,H|0,c|0,H|0)|0;H=Tj(D|0,x|0,s|0,I|0)|0;s=I;x=Vj(0,0,F|0,t|0)|0;t=I;F=lj(H|0,s|0,O|0,M|0)|0;s=I;switch(F|0){case 0:{if(!s){X=0;Y=0}else{Z=1;_=0;$=F;aa=s;ba=22}break}case 1:{if(!s){ca=1;da=0;ba=23}else{Z=1;_=0;$=F;aa=s;ba=22}break}default:{Z=1;_=0;$=F;aa=s;ba=22}}if((ba|0)==22)while(1){ba=0;H=Qj(Z|0,_|0,1)|0;D=I;c=$;$=Wj($|0,aa|0,2)|0;if(!(aa>>>0>0|(aa|0)==0&c>>>0>7)){ca=H;da=D;ba=23;break}else{Z=H;_=D;aa=I;ba=22}}if((ba|0)==23)while(1){ba=0;D=Jl(F|0,s|0,ca|0,da|0)|0;H=Tj(D|0,I|0,ca|0,da|0)|0;D=Wj(H|0,I|0,1)|0;H=I;c=lj(D|0,H|0,D|0,H|0)|0;E=I;if(E>>>0>s>>>0|(E|0)==(s|0)&c>>>0>F>>>0){ca=D;da=H;ba=23}else{X=D;Y=H;break}}F=lj(X|0,Y|0,R|0,v|0)|0;s=I;H=lj(X|0,Y|0,x|0,t|0)|0;D=I;c=a+20|0;E=f[c>>2]|0;if(!E)ea=0;else{J=E+-1|0;E=(f[(f[a+16>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)|0)!=0;f[c>>2]=J;J=Vj(0,0,F|0,s|0)|0;c=Tj(W|0,m|0,(E?F:J)|0,(E?s:I)|0)|0;s=I;J=Vj(0,0,H|0,D|0)|0;F=Tj(S|0,o|0,(E?H:J)|0,(E?D:I)|0)|0;D=I;E=Ug(c|0,s|0,O|0,M|0)|0;s=Ug(F|0,D|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=s;ea=1}w=ea;u=g;return w|0}while(0);do if(p)fa=n<<1;else{if((e|0)>0){fa=(e<<1)+-2|0;break}ea=a+8|0;f[ea>>2]=0;f[ea+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(fa<<2)>>2];f[a+12>>2]=f[d+(fa+1<<2)>>2];w=1;u=g;return w|0}function ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)ym(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];hb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=o;J=a;K=o;while(1){do if(J){L=H+1|0;if((H|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?H+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A;T=Q;U=A+2|0;V=19;break}else{R=A;S=A;T=Q;U=A+-1|0;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=K+1|0;L=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if(!((K>>>0)%3|0)){R=A;S=H;T=L;U=K+2|0;V=19;break}else{R=A;S=H;T=L;U=K+-1|0;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=S;O=U;P=-1}else{M=R;N=S;O=U;P=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=P>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(P<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];hb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];hb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Vj(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Vj(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Vj(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Vj(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Vj(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Vj(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=lj($|0,ia|0,ca|0,ba|0)|0;da=I;la=lj(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=lj(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=lj($|0,ia|0,Q|0,L|0)|0;ia=I;$=lj(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=lj(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Vj(B|0,C|0,la|0,ma|0)|0;ma=Tj(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Tj(na|0,fa|0,D|0,E|0)|0;fa=Vj(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Vj(F|0,G|0,Q|0,ba|0)|0;ba=Tj(ga|0,I|0,$|0,L|0)|0;L=I;Ee(i);K=f[c>>2]|0;$=(f[v>>2]|0)==0;if((K|0)==-1){oa=da;pa=ma;qa=ia;ra=fa;sa=L;ta=ba;ua=$;break a}else{A=M;B=ma;C=da;D=fa;E=ia;F=ba;G=L;H=N;J=$}}if((V|0)==22)ym(W);else if((V|0)==28)ym(Z)}else{oa=0;pa=0;qa=0;ra=0;sa=0;ta=0;ua=a}while(0);a=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;Z=Vj(0,0,pa|0,oa|0)|0;V=a?oa:I;W=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;N=Vj(0,0,ra|0,qa|0)|0;M=W?qa:I;v=(sa|0)>-1|(sa|0)==-1&ta>>>0>4294967295;c=Vj(0,0,ta|0,sa|0)|0;i=Tj((W?ra:N)|0,M|0,(v?ta:c)|0,(v?sa:I)|0)|0;v=Tj(i|0,I|0,(a?pa:Z)|0,V|0)|0;V=I;if(ua){if((v|0)<=536870912){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}ua=Wj(v|0,V|0,29)|0;Z=ua&7;ua=Ug(pa|0,oa|0,Z|0,0)|0;a=Ug(ra|0,qa|0,Z|0,0)|0;i=Ug(ta|0,sa|0,Z|0,0)|0;va=ua;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Wj(v|0,V|0,29)|0;V=I;v=Ug(pa|0,oa|0,i|0,V|0)|0;oa=Ug(ra|0,qa|0,i|0,V|0)|0;qa=Ug(ta|0,sa|0,i|0,V|0)|0;va=v;wa=oa;xa=qa;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Tb(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];dd(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{kf(j,m);o=f[j>>2]|0;p=f[d>>2]|0}ee(o|0,p|0,m|0)|0;Sf(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=p;r=0;s=o}else{kf(c,d);q=f[k>>2]|0;r=f[c>>2]|0;s=f[j>>2]|0}ee(r|0,s|0,q-s|0)|0;s=i+11|0;q=b[s>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;d=r?f[i+4>>2]|0:q&255;if(d>>>0>3){q=c;r=d;o=d;while(1){p=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(p>>>24^p,1540483477)|0)^(X(r,1540483477)|0);o=o+-4|0;if(o>>>0<=3)break;else q=q+4|0}q=d+-4|0;o=q&-4;t=c+(o+4)|0;v=r;w=q-o|0}else{t=c;v=d;w=d}switch(w|0){case 3:{x=h[t+2>>0]<<16^v;y=12;break}case 2:{x=v;y=12;break}case 1:{z=v;y=13;break}default:A=v}if((y|0)==12){z=h[t+1>>0]<<8^x;y=13}if((y|0)==13)A=X(h[t>>0]^z,1540483477)|0;z=X(A>>>13^A,1540483477)|0;A=z>>>15^z;z=a+4|0;t=f[z>>2]|0;x=(t|0)==0;a:do if(!x){v=t+-1|0;w=(v&t|0)==0;if(!w)if(A>>>0>>0)B=A;else B=(A>>>0)%(t>>>0)|0;else B=A&v;o=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((o|0)!=0?(q=f[o>>2]|0,(q|0)!=0):0){o=(d|0)==0;if(w){if(o){w=q;while(1){r=f[w+4>>2]|0;if(!((r|0)==(A|0)|(r&v|0)==(B|0))){C=B;y=54;break a}r=b[w+8+11>>0]|0;if(!((r<<24>>24<0?f[w+12>>2]|0:r&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else D=q;while(1){w=f[D+4>>2]|0;if(!((w|0)==(A|0)|(w&v|0)==(B|0))){C=B;y=54;break a}w=D+8|0;r=b[w+11>>0]|0;p=r<<24>>24<0;l=r&255;do if(((p?f[D+12>>2]|0:l)|0)==(d|0)){r=f[w>>2]|0;if(p)if(!(mh(r,c,d)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=l;E=w;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(o){v=q;while(1){w=f[v+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)G=w;else G=(w>>>0)%(t>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}w=b[v+8+11>>0]|0;if(!((w<<24>>24<0?f[v+12>>2]|0:w&255)|0))break a;v=f[v>>2]|0;if(!v){C=B;y=54;break a}}}else H=q;while(1){v=f[H+4>>2]|0;if((v|0)!=(A|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(t>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}v=H+8|0;o=b[v+11>>0]|0;w=o<<24>>24<0;l=o&255;do if(((w?f[H+12>>2]|0:l)|0)==(d|0)){o=f[v>>2]|0;if(w)if(!(mh(o,c,d)|0))break a;else break;if((o&255)<<24>>24==(b[c>>0]|0)){o=l;p=v;F=c;do{o=o+-1|0;p=p+1|0;if(!o)break a;F=F+1|0}while((b[p>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){ke(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(t>>>0);L=$(n[a+16>>2]);do if(x|J>$(K*L)){B=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;H=~~$(W($(J/L)))>>>0;Pe(a,B>>>0>>0?H:B);B=f[z>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=t;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){t=a+8|0;f[f[g>>2]>>2]=f[t>>2];f[t>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=t;t=f[g>>2]|0;N=f[t>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=t;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;fn(O)}if((b[s>>0]|0)<0)fn(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;fn(i);u=e;return}function wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)ym(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];hb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=0;B=0;C=0;D=0;E=0;F=0;G=o;H=a;J=o;while(1){do if(H){K=G+1|0;if((G|0)!=-1){L=((K>>>0)%3|0|0)==0?G+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z;O=L;P=z+2|0;break}else{M=z;N=z;O=L;P=z+-1|0;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=J+1|0;K=((L>>>0)%3|0|0)==0?J+-2|0:L;if(!((J>>>0)%3|0)){M=z;N=G;O=K;P=J+2|0;break}else{M=z;N=G;O=K;P=J+-1|0;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];hb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(P<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];hb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Vj(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Vj(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Vj(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Vj(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Vj(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Vj(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=lj(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=lj(da|0,_|0,aa|0,$|0)|0;ga=I;ha=lj(ea|0,W|0,aa|0,$|0)|0;$=I;aa=lj(K|0,ca|0,S|0,L|0)|0;ca=I;K=lj(da|0,_|0,S|0,L|0)|0;L=I;S=lj(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Vj(A|0,B|0,fa|0,ga|0)|0;ga=Tj(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Tj(ha|0,$|0,C|0,D|0)|0;$=Vj(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Vj(E|0,F|0,S|0,X|0)|0;X=Tj(aa|0,I|0,K|0,L|0)|0;L=I;Rd(i);J=f[c>>2]|0;K=(f[t>>2]|0)==0;if((J|0)==-1){ia=Z;ja=ga;ka=ca;la=$;ma=L;na=X;oa=K;break a}else{z=M;A=ga;B=Z;C=$;D=ca;E=X;F=L;G=N;H=K}}if((R|0)==17)ym(Q);else if((R|0)==21)ym(U)}else{ia=0;ja=0;ka=0;la=0;ma=0;na=0;oa=a}while(0);a=(ia|0)>-1|(ia|0)==-1&ja>>>0>4294967295;U=Vj(0,0,ja|0,ia|0)|0;R=a?ia:I;Q=(ka|0)>-1|(ka|0)==-1&la>>>0>4294967295;N=Vj(0,0,la|0,ka|0)|0;M=Q?ka:I;t=(ma|0)>-1|(ma|0)==-1&na>>>0>4294967295;c=Vj(0,0,na|0,ma|0)|0;i=Tj((Q?la:N)|0,M|0,(t?na:c)|0,(t?ma:I)|0)|0;t=Tj(i|0,I|0,(a?ja:U)|0,R|0)|0;R=I;if(oa){if((t|0)<=536870912){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}oa=Wj(t|0,R|0,29)|0;U=oa&7;oa=Ug(ja|0,ia|0,U|0,0)|0;a=Ug(la|0,ka|0,U|0,0)|0;i=Ug(na|0,ma|0,U|0,0)|0;pa=oa;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Wj(t|0,R|0,29)|0;R=I;t=Ug(ja|0,ia|0,i|0,R|0)|0;ia=Ug(la|0,ka|0,i|0,R|0)|0;ka=Ug(na|0,ma|0,i|0,R|0)|0;pa=t;qa=ia;ra=ka;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(p|0)!=(o|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Ae(i,m-q|0,2652);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;ug(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=t;t=m;m=s;s=k;k=0;while(1){p=f[o+(k<<2)>>2]|0;n=f[q>>2]|0;if(p>>>0>2>>>0){x=l;y=s;z=o;A=m}else{r=p+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(D|0)!=(n|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=m;G=o}else{E=l;F=m;G=o}else{Ae(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(p<<2)|0;f[B>>2]=(f[B>>2]|0)+1;k=k+1|0;if(k>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;o=z;t=y;m=A;s=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)ym(e);s=dj(y<<1)|0;f[w>>2]=s;f[e>>2]=s;f[e+8>>2]=s+(v<<3);y=s;A=v;m=s;while(1){t=y;f[t>>2]=-1;f[t+4>>2]=-1;t=m+8|0;z=A+-1|0;if(!z)break;else{y=t;A=z;m=t}}f[w>>2]=s+(v<<3);H=s;I=s}s=f[q>>2]|0;v=f[d>>2]|0;m=s-v|0;A=m>>2;f[g>>2]=0;y=g+4|0;f[y>>2]=0;f[g+8>>2]=0;t=v;do if(A)if(A>>>0>1073741823)ym(g);else{z=dj(m)|0;f[g>>2]=z;o=z+(A<<2)|0;f[g+8>>2]=o;Vf(z|0,0,m|0)|0;f[y>>2]=o;J=z;K=o;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(v|0)){v=0;s=0;do{f[J+(v<<2)>>2]=s;s=(f[t+(v<<2)>>2]|0)+s|0;v=v+1|0}while(v>>>0>>0)}v=f[j>>2]|0;j=f[a>>2]|0;s=j;if((v|0)!=(j|0)){m=a+40|0;a=v-j>>2;j=J;v=0;g=H;z=H;o=H;x=H;l=H;k=H;while(1){F=f[s+(v<<2)>>2]|0;G=v+1|0;E=((G>>>0)%3|0|0)==0?v+-2|0:G;if((E|0)==-1)M=-1;else M=f[s+(E<<2)>>2]|0;E=((v>>>0)%3|0|0)==0;G=(E?2:-1)+v|0;if((G|0)==-1)N=-1;else N=f[s+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[m>>2]=(f[m>>2]|0)+1;O=j;P=v+2|0;Q=g;R=z;S=o;T=x;U=l;V=k}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[j+(N<<2)>>2]|0;while(1){p=f[l+(B<<3)>>2]|0;if((p|0)==-1){X=g;Y=z;Z=x;_=l;break b}if((p|0)==(M|0)){p=f[l+(B<<3)+4>>2]|0;if((p|0)==-1)$=-1;else $=f[s+(p<<2)>>2]|0;if((F|0)!=($|0))break}p=G+1|0;if((p|0)<(E|0)){G=p;B=B+1|0}else{X=g;Y=z;Z=x;_=l;break b}}p=f[x+(B<<3)+4>>2]|0;r=G;n=B;D=z;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[g+(n<<3)>>2]|0)==-1)break;else{n=C;D=g}}f[o+(n<<3)>>2]=-1;if((p|0)==-1){X=o;Y=o;Z=o;_=o}else{D=f[i>>2]|0;f[D+(v<<2)>>2]=p;f[D+(p<<2)>>2]=v;O=j;P=v;Q=o;R=o;S=o;T=o;U=o;V=k;break a}}else{X=g;Y=z;Z=x;_=l}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=k+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=J;P=v;Q=k;R=k;S=k;T=k;U=k;V=k;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=v;O=J;P=v;Q=H;R=H;S=H;T=H;U=H;V=H}else{O=j;P=v;Q=X;R=Y;S=o;T=Z;U=_;V=k}}while(0);v=P+1|0;if(v>>>0>=a>>>0)break;else{j=O;g=Q;z=R;o=S;x=T;l=U;k=V}}}f[b>>2]=A;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[y>>2]=K+(~((K+-4-J|0)>>>2)<<2);fn(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);fn(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);fn(ca)}h=1;u=c;return h|0}function yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Tj(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Tj(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if(z>>>0>=(((f[a+220>>2]|0)-A|0)/144|0)>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=Tj(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=I;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{hc(e,a,E);F=f[e>>2]|0;break}case 1:{Wc(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(D|0){v=0;u=d;return v|0}D=n<<24>>24;if(n<<24>>24<0){v=0;u=d;return v|0}n=dj(88)|0;F=f[a+216>>2]|0;a=F+(D*144|0)+104|0;f[n+4>>2]=0;f[n>>2]=2348;E=n+12|0;f[E>>2]=2372;x=n+64|0;f[x>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;m=n+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[n+76>>2]=o;f[n+80>>2]=a;f[n+84>>2]=0;s=g+4|0;f[s>>2]=2372;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=F+(D*144|0)+4|0;f[i>>2]=2372;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[F+(D*144|0)+68>>2]|0;D=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;ge(i+8|0,D,e);Qa[f[(f[i>>2]|0)+8>>2]&127](i);hd(j,i);hd(e,j);f[g>>2]=f[e+4>>2];D=g+4|0;vd(D,e)|0;f[e>>2]=2372;t=f[e+20>>2]|0;if(t|0)fn(t);t=f[e+8>>2]|0;if(t|0)fn(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=n;f[j>>2]=2372;o=f[j+20>>2]|0;if(o|0)fn(o);o=f[j+8>>2]|0;if(o|0)fn(o);f[n+8>>2]=f[g>>2];vd(E,D)|0;D=n+44|0;E=g+36|0;f[D>>2]=f[E>>2];f[D+4>>2]=f[E+4>>2];f[D+8>>2]=f[E+8>>2];f[D+12>>2]=f[E+12>>2];b[D+16>>0]=b[E+16>>0]|0;yd(x,f[w>>2]|0,f[r>>2]|0);x=n;f[i>>2]=2372;n=f[i+20>>2]|0;if(n|0)fn(n);n=f[i+8>>2]|0;if(n|0)fn(n);n=f[w>>2]|0;if(n|0){w=f[r>>2]|0;if((w|0)!=(n|0))f[r>>2]=w+(~((w+-4-n|0)>>>2)<<2);fn(n)}f[s>>2]=2372;s=f[g+24>>2]|0;if(s|0)fn(s);s=f[g+12>>2]|0;if(s|0)fn(s);G=x}x=dj(64)|0;f[k>>2]=G;Eh(x,k);G=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Qa[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Qa[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){n=c+1|0;w=s;if(n>>>0>g>>>0){Jd(x,n-g|0);break}if(n>>>0>>0?(r=k+(n<<2)|0,(w|0)!=(r|0)):0){n=w;do{w=n+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);n=f[l>>2]|0}while((n|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Qa[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function zb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[3226]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((h|0)==(f[3227]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}f[3224]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[3222]=f[3222]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=h;n=i;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=13192+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[3223]=f[3223]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=h;n=i;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=e>>>0)return;a=e+4|0;b=f[a>>2]|0;if(!(b&1))return;if(!(b&2)){r=f[3227]|0;if((e|0)==(f[3228]|0)){s=(f[3225]|0)+n|0;f[3225]=s;f[3228]=m;f[m+4>>2]=s|1;if((m|0)!=(r|0))return;f[3227]=0;f[3224]=0;return}if((e|0)==(r|0)){r=(f[3224]|0)+n|0;f[3224]=r;f[3227]=l;f[m+4>>2]=r|1;f[l+r>>2]=r;return}r=(b&-8)+n|0;s=b>>>3;do if(b>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[3222]=f[3222]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;i=13192+(c<<2)|0;if((e|0)==(f[i>>2]|0)){f[i>>2]=u;if(!u){f[3223]=f[3223]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;i=f[c>>2]|0;if(i|0){f[u+16>>2]=i;f[i+24>>2]=u}i=f[c+4>>2]|0;if(i|0){f[u+20>>2]=i;f[i+24>>2]=u}}}while(0);f[m+4>>2]=r|1;f[l+r>>2]=r;if((m|0)==(f[3227]|0)){f[3224]=r;return}else x=r}else{f[a>>2]=b&-2;f[m+4>>2]=n|1;f[l+n>>2]=n;x=n}n=x>>>3;if(x>>>0<256){l=12928+(n<<1<<2)|0;b=f[3222]|0;a=1<>2]|0}f[y>>2]=m;f[z+12>>2]=m;f[m+8>>2]=z;f[m+12>>2]=l;return}l=x>>>8;if(l)if(x>>>0>16777215)A=31;else{z=(l+1048320|0)>>>16&8;y=l<>>16&4;a=y<>>16&2;b=14-(l|z|y)+(a<>>15)|0;A=x>>>(b+7|0)&1|b<<1}else A=0;b=13192+(A<<2)|0;f[m+28>>2]=A;f[m+20>>2]=0;f[m+16>>2]=0;y=f[3223]|0;a=1<>>1)|0);l=f[b>>2]|0;while(1){if((f[l+4>>2]&-8|0)==(x|0)){B=73;break}C=l+16+(z>>>31<<2)|0;n=f[C>>2]|0;if(!n){B=72;break}else{z=z<<1;l=n}}if((B|0)==72){f[C>>2]=m;f[m+24>>2]=l;f[m+12>>2]=m;f[m+8>>2]=m;break}else if((B|0)==73){z=l+8|0;t=f[z>>2]|0;f[t+12>>2]=m;f[z>>2]=m;f[m+8>>2]=t;f[m+12>>2]=l;f[m+24>>2]=0;break}}else{f[3223]=y|a;f[b>>2]=m;f[m+24>>2]=b;f[m+12>>2]=m;f[m+8>>2]=m}while(0);m=(f[3230]|0)+-1|0;f[3230]=m;if(!m)D=13344;else return;while(1){m=f[D>>2]|0;if(!m)break;else D=m+8|0}f[3230]=-1;return}function Ab(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ja,F=Ja,G=Ja,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=g+(j+4)|0;m=e;o=d-j|0}else{l=g;m=i;o=i}switch(o|0){case 3:{p=h[l+2>>0]<<16^m;q=6;break}case 2:{p=m;q=6;break}case 1:{r=m;q=7;break}default:s=m}if((q|0)==6){r=h[l+1>>0]<<8^p;q=7}if((q|0)==7)s=X(h[l>>0]^r,1540483477)|0;r=X(s>>>13^s,1540483477)|0;s=r>>>15^r;r=a+4|0;l=f[r>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;o=(m&l|0)==0;if(!o)if(s>>>0>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&m;j=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((j|0)!=0?(d=f[j>>2]|0,(d|0)!=0):0){j=(i|0)==0;if(o){if(j){o=d;while(1){e=f[o+4>>2]|0;if(!((e|0)==(s|0)|(e&m|0)==(t|0))){u=t;break a}e=b[o+8+11>>0]|0;if(!((e<<24>>24<0?f[o+12>>2]|0:e&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else x=d;b:while(1){o=f[x+4>>2]|0;if(!((o|0)==(s|0)|(o&m|0)==(t|0))){u=t;break a}o=x+8|0;e=b[o+11>>0]|0;k=e<<24>>24<0;y=e&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){e=f[o>>2]|0;if(k)if(!(mh(e,g,i)|0)){v=x;q=63;break b}else break;if((e&255)<<24>>24==(b[g>>0]|0)){e=y;z=o;A=g;do{e=e+-1|0;z=z+1|0;if(!e){v=x;q=63;break b}A=A+1|0}while((b[z>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(j){m=d;while(1){o=f[m+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)B=o;else B=(o>>>0)%(l>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[m+8+11>>0]|0;if(!((o<<24>>24<0?f[m+12>>2]|0:o&255)|0)){v=m;break}m=f[m>>2]|0;if(!m){u=t;break a}}w=v+20|0;return w|0}else C=d;c:while(1){m=f[C+4>>2]|0;if((m|0)!=(s|0)){if(m>>>0>>0)D=m;else D=(m>>>0)%(l>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}m=C+8|0;j=b[m+11>>0]|0;o=j<<24>>24<0;y=j&255;do if(((o?f[C+12>>2]|0:y)|0)==(i|0)){j=f[m>>2]|0;if(o)if(!(mh(j,g,i)|0)){v=C;q=63;break c}else break;if((j&255)<<24>>24==(b[g>>0]|0)){j=y;k=m;A=g;do{j=j+-1|0;k=k+1|0;if(!j){v=C;q=63;break c}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=dj(24)|0;Sf(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(l>>>0);G=$(n[a+16>>2]);do if(p|E>$(F*G)){C=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;g=~~$(W($(E/G)))>>>0;Pe(a,C>>>0>>0?g:C);C=f[r>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=l;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){l=a+8|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[u>>2]=l;l=f[t>>2]|0;if(l|0){u=f[l+4>>2]|0;l=H+-1|0;if(l&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&l;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Bb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{jf(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=cn(i)|0;Vf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){dn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=v;v=1;while(1){if(t>>>0<=v>>>0){u=24;break}p=f[o+(v<<2)>>2]|0;q=X(v,e)|0;if((p|0)!=-1?(w=f[(f[a>>2]|0)+(p<<2)>>2]|0,(w|0)!=-1):0){p=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[p+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[p+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[p+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(v|0)&(A|0)<(v|0)&(z|0)<(v|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((s|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;p=f[h>>2]|0;if((A|0)>(p|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=p;D=w}else{w=f[l>>2]|0;p=f[n>>2]|0;f[p+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=p}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{p=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=p;if((p|0)<=(f[h>>2]|0)){if((p|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+p|0;u=56}}else{F=p-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=s}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(v+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((s|0)>0){A=0;do{p=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((p|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(p|0)<(H|0)?H:p;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=s}v=v+1|0;if((v|0)>=(t|0)){u=22;break}else s=G}if((u|0)==22){dn(j);return 1}else if((u|0)==24)ym(m);return 0}function Cb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(j|0)!=(i|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{jf(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=cn(i)|0;Vf(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){dn(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=v;v=1;while(1){if(t>>>0<=v>>>0){u=24;break}q=f[p+(v<<2)>>2]|0;w=X(v,e)|0;if((((q|0)!=-1?(f[(f[k>>2]|0)+(q>>>5<<2)>>2]&1<<(q&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(q<<2)>>2]|0,(x|0)!=-1):0)?(q=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[q+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[q+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[q+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(v|0)&(B|0)<(v|0)&(A|0)<(v|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((s|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;q=f[h>>2]|0;if((B|0)>(q|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=q;C=y}else{y=f[l>>2]|0;q=f[n>>2]|0;f[q+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=q}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{q=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=q;if((q|0)<=(f[h>>2]|0)){if((q|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+q|0;u=53}}else{E=q-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=s}else{z=c+((X(v+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((s|0)>0){B=0;do{q=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((q|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(q|0)<(G|0)?G:q;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=s}v=v+1|0;if((v|0)>=(t|0)){u=22;break}else s=F}if((u|0)==22){dn(j);return 1}else if((u|0)==24)ym(m);return 0}function Db(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Tj(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=dj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Tj(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if(mh(d,9530,5)|0){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=9536;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Tj(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=dj(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Tj(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=dj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Tj(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=dj(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Tj(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Tj(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Tj(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=dj(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=9500;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Sf(a+4|0,g);if((b[g+11>>0]|0)<0)fn(f[g>>2]|0);u=e;return}function Eb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;fn(k)}fn(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);fn(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;fn(m)}fn(n)}fn(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=j;p=g;q=24}}else{o=h;p=e;q=24}if((q|0)==24){q=o;do{o=q+-4|0;f[c>>2]=o;e=f[o>>2]|0;f[o>>2]=0;if(e|0){o=e+88|0;h=f[o>>2]|0;f[o>>2]=0;if(h|0){o=f[h+8>>2]|0;if(o|0){g=h+12|0;if((f[g>>2]|0)!=(o|0))f[g>>2]=o;fn(o)}fn(h)}h=f[e+68>>2]|0;if(h|0){o=e+72|0;g=f[o>>2]|0;if((g|0)!=(h|0))f[o>>2]=g+(~((g+-4-h|0)>>>2)<<2);fn(h)}h=e+64|0;g=f[h>>2]|0;f[h>>2]=0;if(g|0){h=f[g>>2]|0;if(h|0){o=g+4|0;if((f[o>>2]|0)!=(h|0))f[o>>2]=h;fn(h)}fn(g)}fn(e)}q=f[c>>2]|0}while((q|0)!=(p|0))}p=f[a+4>>2]|0;a:do if(p|0){q=p+44|0;c=f[q>>2]|0;e=f[p+40>>2]|0;while(1){if((e|0)==(c|0))break a;r=e+4|0;if((f[(f[e>>2]|0)+40>>2]|0)==(i|0))break;else e=r}if((r|0)!=(c|0)){g=r;h=e;do{o=f[g>>2]|0;f[g>>2]=0;j=f[h>>2]|0;f[h>>2]=o;if(j|0){Df(j);fn(j)}g=g+4|0;h=h+4|0}while((g|0)!=(c|0));g=f[q>>2]|0;if((g|0)==(h|0))break;else{s=g;t=h}}else{s=c;t=e}g=s;do{j=g+-4|0;f[q>>2]=j;o=f[j>>2]|0;f[j>>2]=0;if(o|0){Df(o);fn(o)}g=f[q>>2]|0}while((g|0)!=(t|0))}while(0);b:do if((d|0)<5){t=f[a+20+(d*12|0)>>2]|0;s=a+20+(d*12|0)+4|0;r=f[s>>2]|0;i=r;c:do if((t|0)==(r|0))u=t;else{p=t;while(1){if((f[p>>2]|0)==(b|0)){u=p;break c}p=p+4|0;if((p|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){t=u+4|0;p=i-t|0;g=p>>2;if(!g)v=r;else{ui(u|0,t|0,p|0)|0;v=f[s>>2]|0}p=u+(g<<2)|0;if((v|0)!=(p|0))f[s>>2]=v+(~((v+-4-p|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((p|0)!=(u|0)){g=p-u>>2;u=0;do{p=d+(u<<2)|0;v=f[p>>2]|0;if((v|0)>(b|0))f[p>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}g=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((g|0)!=(u|0)){v=g-u>>2;u=0;do{g=d+(u<<2)|0;p=f[g>>2]|0;if((p|0)>(b|0))f[g>>2]=p+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((p|0)==(u|0))return;d=p-u>>2;u=0;do{p=a+(u<<2)|0;g=f[p>>2]|0;if((g|0)>(b|0))f[p>>2]=g+-1;u=u+1|0}while(u>>>0>>0);return}function Fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=k;k=0;w=0;while(1){x=f[(f[v+24>>2]|0)+(w<<2)>>2]|0;if((x|0)==-1){y=v;z=k}else{A=k+1|0;B=f[(f[l>>2]|0)+(((x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else yf(c,g);f[g>>2]=x;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=x;else{B=x+1|0;E=((B>>>0)%3|0|0)==0?x+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=x;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=x}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=k;x=f[s>>2]|0;if((x|0)==(f[t>>2]|0))yf(r,g);else{f[x>>2]=f[g>>2];f[s>>2]=x+4}x=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[x+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=E;E=k;H=A;while(1){I=F+1|0;J=((I>>>0)%3|0|0)==0?F+-2|0:I;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){I=H+1|0;K=f[(f[l>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else yf(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){yf(r,h);M=H;N=I;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=H;N=I;break}}else{M=E;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=M;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;I=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((I|0)==-1)break;J=f[(f[O+12>>2]|0)+(I<<2)>>2]|0;if((J|0)==-1)break;F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=F;if(!((F|0)!=-1?(F|0)!=(f[g>>2]|0):0)){P=O;Q=N;break b}else{E=M;H=N}}f[h>>2]=-1;P=O;Q=N}else{P=x;Q=A}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=x;Q=A}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2>>>0)break;else{v=y;k=z}}u=e;return}function Gb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;ym(z)}else{A=a;B=0}while(1){f[j>>2]=f[A+(B<<2)>>2];f[d>>2]=f[j>>2];wb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Tj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Tj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;E=f[p>>2]|0;if((l|0)==0&(F|0)==0){G=h;H=E}else{J=((E|0)<0)<<31>>31;K=lj(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ug(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=lj(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ug(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=o;H=D?F:0-F|0}f[G>>2]=H;F=Xg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C;N=a}else{L=D;M=f[m>>2]|0;N=f[o>>2]|0}if((L|0)<=-1){D=(N|0)>-1?N:0-N|0;if((M|0)<0)O=D;else O=(f[s>>2]|0)-D|0;D=(M|0)>-1?M:0-M|0;if((N|0)<0){P=O;Q=D}else{P=O;Q=(f[s>>2]|0)-D|0}}else{D=f[p>>2]|0;P=D+M|0;Q=D+N|0}D=(P|0)==0;a=(Q|0)==0;C=f[s>>2]|0;do if((Q|P|0)!=0?(F=(C|0)==(Q|0),E=(C|0)==(P|0),!(D&F|a&E)):0){if(D?(l=f[p>>2]|0,(l|0)<(Q|0)):0){R=0;S=(l<<1)-Q|0;break}if(E?(E=f[p>>2]|0,(E|0)>(Q|0)):0){R=P;S=(E<<1)-Q|0;break}if(F?(F=f[p>>2]|0,(F|0)>(P|0)):0){R=(F<<1)-P|0;S=Q;break}if(a){F=f[p>>2]|0;R=(F|0)<(P|0)?(F<<1)-P|0:P;S=0}else{R=P;S=Q}}else{R=C;S=C}while(0);f[i>>2]=R;f[r>>2]=S;C=B<<1;a=b+(C<<2)|0;D=c+(C<<2)|0;if((f[t>>2]|0)>0){C=R;F=0;while(1){E=f[v>>2]|0;if((C|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(C|0)<(l|0)?l:C;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;C=f[i+(E<<2)>>2]|0;F=E}if((U|0)>0){F=0;do{C=(f[a+(F<<2)>>2]|0)+(f[T+(F<<2)>>2]|0)|0;E=D+(F<<2)|0;f[E>>2]=C;if((C|0)<=(f[v>>2]|0)){if((C|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+C|0;W=40}}else{V=C-(f[y>>2]|0)|0;W=40}if((W|0)==40){W=0;f[E>>2]=V}F=F+1|0}while((F|0)<(f[t>>2]|0))}}B=B+1|0;if((B|0)>=(n|0)){W=3;break}F=f[g>>2]|0;A=f[F>>2]|0;if((f[F+4>>2]|0)-A>>2>>>0<=B>>>0){z=F;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)ym(z);return 0}function Hb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;ym(z)}else{A=a;B=0}while(1){f[j>>2]=f[A+(B<<2)>>2];f[d>>2]=f[j>>2];ub(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Tj(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Tj(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;E=f[p>>2]|0;if((l|0)==0&(F|0)==0){G=h;H=E}else{J=((E|0)<0)<<31>>31;K=lj(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ug(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=lj(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ug(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=o;H=D?F:0-F|0}f[G>>2]=H;F=Xg(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C;N=a}else{L=D;M=f[m>>2]|0;N=f[o>>2]|0}if((L|0)<=-1){D=(N|0)>-1?N:0-N|0;if((M|0)<0)O=D;else O=(f[s>>2]|0)-D|0;D=(M|0)>-1?M:0-M|0;if((N|0)<0){P=O;Q=D}else{P=O;Q=(f[s>>2]|0)-D|0}}else{D=f[p>>2]|0;P=D+M|0;Q=D+N|0}D=(P|0)==0;a=(Q|0)==0;C=f[s>>2]|0;do if((Q|P|0)!=0?(F=(C|0)==(Q|0),E=(C|0)==(P|0),!(D&F|a&E)):0){if(D?(l=f[p>>2]|0,(l|0)<(Q|0)):0){R=0;S=(l<<1)-Q|0;break}if(E?(E=f[p>>2]|0,(E|0)>(Q|0)):0){R=P;S=(E<<1)-Q|0;break}if(F?(F=f[p>>2]|0,(F|0)>(P|0)):0){R=(F<<1)-P|0;S=Q;break}if(a){F=f[p>>2]|0;R=(F|0)<(P|0)?(F<<1)-P|0:P;S=0}else{R=P;S=Q}}else{R=C;S=C}while(0);f[i>>2]=R;f[r>>2]=S;C=B<<1;a=b+(C<<2)|0;D=c+(C<<2)|0;if((f[t>>2]|0)>0){C=R;F=0;while(1){E=f[v>>2]|0;if((C|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(C|0)<(l|0)?l:C;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;C=f[i+(E<<2)>>2]|0;F=E}if((U|0)>0){F=0;do{C=(f[a+(F<<2)>>2]|0)+(f[T+(F<<2)>>2]|0)|0;E=D+(F<<2)|0;f[E>>2]=C;if((C|0)<=(f[v>>2]|0)){if((C|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+C|0;W=40}}else{V=C-(f[y>>2]|0)|0;W=40}if((W|0)==40){W=0;f[E>>2]=V}F=F+1|0}while((F|0)<(f[t>>2]|0))}}B=B+1|0;if((B|0)>=(n|0)){W=3;break}F=f[g>>2]|0;A=f[F>>2]|0;if((f[F+4>>2]|0)-A>>2>>>0<=B>>>0){z=F;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)ym(z);return 0}function Ib(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;ym(y)}else{z=x;A=0}while(1){f[k>>2]=f[z+(A<<2)>>2];f[d>>2]=f[k>>2];wb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Tj(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Tj(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;D=f[r>>2]|0;if((n|0)==0&(E|0)==0){F=j;G=D}else{H=((D|0)<0)<<31>>31;J=lj(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ug(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=lj(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ug(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=q;G=C?E:0-E|0}f[F>>2]=G;E=Xg(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B;M=x}else{K=C;L=f[o>>2]|0;M=f[q>>2]|0}if((K|0)<=-1){C=(M|0)>-1?M:0-M|0;if((L|0)<0)N=C;else N=(f[t>>2]|0)-C|0;C=(L|0)>-1?L:0-L|0;if((M|0)<0){O=N;P=C}else{O=N;P=(f[t>>2]|0)-C|0}}else{C=f[r>>2]|0;O=C+L|0;P=C+M|0}C=(O|0)==0;x=(P|0)==0;B=f[t>>2]|0;do if((P|O|0)!=0?(E=(B|0)==(P|0),D=(B|0)==(O|0),!(C&E|x&D)):0){if(C?(n=f[r>>2]|0,(n|0)<(P|0)):0){Q=0;R=(n<<1)-P|0;break}if(D?(D=f[r>>2]|0,(D|0)>(P|0)):0){Q=O;R=(D<<1)-P|0;break}if(E?(E=f[r>>2]|0,(E|0)>(O|0)):0){Q=(E<<1)-O|0;R=P;break}if(x){E=f[r>>2]|0;Q=(E|0)<(O|0)?(E<<1)-O|0:O;R=0}else{Q=O;R=P}}else{Q=B;R=B}while(0);B=A<<1;x=b+(B<<2)|0;C=c+(B<<2)|0;B=f[x>>2]|0;E=f[x+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=B;f[v>>2]=E;bc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];A=A+1|0;if((A|0)>=(p|0)){S=5;break}C=f[g>>2]|0;z=f[C>>2]|0;if((f[C+4>>2]|0)-z>>2>>>0<=A>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)ym(y);return 0} +function zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;De(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}fn(f[g>>2]|0);u=a;return +n}function Af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=3084;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=1;n=h;o=4}else{h=Um()|0;f[h>>2]=75;p=-1}else{m=c;n=a;o=4}if((o|0)==4){o=-2-n|0;a=m>>>0>o>>>0?o:m;f[i+48>>2]=a;m=i+20|0;f[m>>2]=n;f[i+44>>2]=n;o=n+a|0;n=i+16|0;f[n>>2]=o;f[i+28>>2]=o;o=xe(i,d,e)|0;if(!a)p=o;else{a=f[m>>2]|0;b[a+(((a|0)==(f[n>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));Db(i,e,g);k=f[i>>2]|0;if(!k){j=i+4|0;if((b[j+11>>0]|0)<0)fn(f[j>>2]|0);j=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=j;l=e+24|0;ln(l);u=d;return}else{f[a>>2]=k;k=i+4|0;Sf(a+4|0,k);if((b[k+11>>0]|0)<0)fn(f[k>>2]|0);l=e+24|0;ln(l);u=d;return}}function Cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;dg(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}fn(f[g>>2]|0);u=a;return c|0}function Df(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){Df(h);fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)fn(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;fn(h)}if((b[e+11>>0]|0)<0)fn(f[e>>2]|0);fn(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;fn(d);return}function Ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=De(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}fn(f[g>>2]|0);u=a;return h|0}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=gg(d)|0;if(h>>>0>4294967279)ym(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=dj(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){ee(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=dg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}fn(f[g>>2]|0);u=a;return h|0}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(Gf(a,c)|0){j=a;e=Qj(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;pd(a,e,2656);pd(a+12|0,e,2652);ug(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)fn(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}fn(b);d=1;return d|0}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Ie(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);fn(i)}f[a>>2]=f[h>>2];u=e;return}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}l=j+c|0;if((k-j|0)>>>0>>0){_f(a,k,l-k|0,j,j,0,0);m=b[h>>0]|0}else m=i;if(m<<24>>24<0)n=f[a>>2]|0;else n=a;Oj(n+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=l;else b[h>>0]=l;b[g>>0]=0;Vl(n+l|0,g)}u=e;return a|0}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;fn(a)}fn(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;fn(c)}fn(d)}fn(b);return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=oi(e,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=7;break}e=wh(f[c>>2]|0,g)|0;if(!e){d=0;h=7;break}a=a+1|0;if(!(Ma[f[(f[b>>2]|0)+28>>2]&127](b,e)|0)){d=0;h=7;break}if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=7;break}}if((h|0)==7)return d|0;return 0}function Mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Ok(l,c,d)|0;b[g>>0]=0;Vl(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;ff(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function Nf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+8|0;d=f[c>>2]|0;if(!d){fn(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}fn(g);fn(a);return}function Of(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Yf(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function Pf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;i=c+54|0;j=c+48|0;k=c+24|0;l=c+36|0;if(!h){f[a>>2]=d;f[k>>2]=g;f[l>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[i>>0]=1;break}if((h|0)!=(d|0)){f[l>>2]=(f[l>>2]|0)+1;b[i>>0]=1;break}l=f[k>>2]|0;if((l|0)==2){f[k>>2]=g;m=g}else m=l;if((f[j>>2]|0)==1&(m|0)==1)b[i>>0]=1}while(0);return}function Qf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2236;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=2616;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Qa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}fn(e);return}function Rf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Tj(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=$b(a,c,d,e)|0;return g|0}case 1:{g=vc(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function Sf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)ym(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=dj(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Qk(i,g,h)|0;b[e>>0]=0;Vl(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=Rb(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}ig(c,d-a|0,0);a=Lh(c,0)|0;c=f[b>>2]|0;ee(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Uf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;do if(!(Dl(a,f[c+8>>2]|0,g)|0)){if(Dl(a,f[c>>2]|0,g)|0){h=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[h>>2]=e;f[i>>2]=d;i=c+40|0;f[i>>2]=(f[i>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[h>>2]=1}}else Wi(0,c,d,e);while(0);return}function Vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Wf(a,b){a=a|0;b=b|0;var c=0;switch(f[(f[a+8>>2]|0)+28>>2]|0){case 2:{Te(a,b);c=1;return c|0}case 1:{Te(a,b);c=1;return c|0}case 4:{Ke(a,b);c=1;return c|0}case 3:{Ke(a,b);c=1;return c|0}case 6:{Le(a,b);c=1;return c|0}case 5:{Le(a,b);c=1;return c|0}default:{c=0;return c|0}}return 0}function Xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Yc(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(i){of(i);fn(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){of(i);fn(i)}}else f[e>>2]=0;if(!(f[g>>2]|0)){j=0;u=d;return j|0}g=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;ge(a+56|0,g,e);j=1;u=d;return j|0}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(c>>>0>i>>>0){kf(a,c-i|0);break}if(c>>>0>>0?(i=h+c|0,(g|0)!=(i|0)):0)f[d>>2]=i}else Id(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Tj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Zf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1040;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}fn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;fn(c)}fn(d)}fn(a);return}function _f(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)ym(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=dj(m)|0;if(g|0)Qk(l,j,g)|0;k=e-h-g|0;if(k|0)Qk(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)fn(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function $f(a,b){a=a|0;b=b|0;if(!b)return;else{$f(a,f[b>>2]|0);$f(a,f[b+4>>2]|0);fg(b+20|0,f[b+24>>2]|0);fn(b);return}}function ag(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=dj(32)|0,tj(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;fn(e)}fn(g)}g=di(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,g)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=lj(e|0,g|0,c|0,0)|0;if(!(Yf(h,0,i,I)|0)){j=0;return j|0}Wg(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[226];f[i+4>>2]=f[227];f[i+8>>2]=f[228];f[i+12>>2]=f[229];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(_a(a,g,j,i)|0)){k=0;u=e;return k|0}od(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Dl(a,b,0)|0))if((b|0)!=0?(g=Be(b,800,784,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ta[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Rb(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function eg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Tj(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(eg(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function fg(a,c){a=a|0;c=c|0;var d=0;if(!c)return;fg(a,f[c>>2]|0);fg(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)fn(f[d>>2]|0);if((b[a+11>>0]|0)<0)fn(f[a>>2]|0);fn(c);return}function gg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=c;h=a;while(1){if(!(b[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){d=j;e=4;break}else h=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function hg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;d=f[b>>2]|0;if(!d){fn(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}fn(g);fn(a);return}function ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Vl(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Vl(a+c|0,g);b[h>>0]=c;break}else Jf(a,c-k|0,d)|0;while(0);u=e;return}function jg(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;fn(b)}fn(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);fn(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;fn(c)}fn(d)}fn(a);return}function kg(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=dj(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=ud(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;of(a);fn(a);return}function mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Ih(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Na[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=dj(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=8412;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;tg(Qb(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}fn(f[g>>2]|0);u=d;return}function og(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;while(1){d=b[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Am(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=d;j=0;k=c}}if((h|0)==5){i=b[f>>0]|0;j=g;k=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=f;f=0;g=k;while(1){g=g+1|0;k=(f*10|0)-i|0;i=(b[g>>0]|0)+-48|0;if(i>>>0>=10){l=k;break}else f=k}}else l=0;return (j|0?l:0-l|0)|0}function pg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=2616;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Qa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}fn(e);return}function qg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2296;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;Ji(a+232|0);return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a&255;e=a&255;if((f[c+76>>2]|0)>=0?(mn(c)|0)!=0:0){if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=mg(c,a)|0;ln(c);j=i}else k=3;do if((k|0)==3){if((e|0)!=(b[c+75>>0]|0)?(i=c+20|0,h=f[i>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=h+1;b[h>>0]=d;j=e;break}j=mg(c,a)|0}while(0);return j|0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=a;f=c;c=d;while(1){g=bj(e|0,f|0,10,0)|0;c=c+-1|0;b[c>>0]=g&255|48;g=e;e=Jl(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=I}h=c;i=e}else{h=d;i=a}if(!i)j=h;else{a=h;h=i;while(1){i=a+-1|0;b[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{a=i;h=(h>>>0)/10|0}}}return j|0}function tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;zh(g,d&1);d=ef(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}le(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;$k(g,9793);f[g>>2]=3708;va(g|0,856,80)}g=(f[e>>2]|0)-d|0;h=g>>2;i=dj(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;if((g|0)>0)ee(k|0,d|0,g|0)|0;f[a>>2]=k;f[e>>2]=j;f[c>>2]=i+(b<<2);if(!d)return;fn(d);return}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Td(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=og(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function xg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function yg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[10416+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=87;j=10504;e=5;break}else d=g}if((e|0)==2)if(!d)k=10504;else{i=d;j=10504;e=5}if((e|0)==5)while(1){e=0;d=j;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);i=i+-1|0;if(!i){k=d;break}else{j=d;e=5}}return Fm(k,f[c+20>>2]|0)|0}function zg(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Wj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+zg(a*18446744073709551616.0,b);h=(f[b>>2]|0)+-64|0;i=g}else{h=0;i=a}f[b>>2]=h;j=i;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function Ag(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;e=u;u=u+16|0;d=e;c=dj(32)|0;f[d>>2]=c;f[d+8>>2]=-2147483616;f[d+4>>2]=26;g=c;h=8364;i=g+26|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;Sf(a+4|0,d);if((b[d+11>>0]|0)>=0){u=e;return}fn(f[d>>2]|0);u=e;return}function Bg(a){a=a|0;var b=0,c=0;f[a>>2]=1628;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Cg(a){a=a|0;var b=0,c=0;f[a>>2]=1376;b=f[a+96>>2]|0;if(b|0)fn(b);b=f[a+84>>2]|0;if(b|0)fn(b);b=f[a+72>>2]|0;if(b|0)fn(b);b=f[a+60>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)ym(a);h=dj(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;ee(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=dj(20)|0;fk(c);d=c;break}case 1:{c=dj(24)|0;Fk(c);d=c;break}case 2:{c=dj(36)|0;uj(c);d=c;break}case 3:{c=dj(28)|0;xk(c);d=c;break}default:d=0}f[a>>2]=d;return}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=La[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Yd(a+40|0,b);d=1;return d|0}return 0}function Jg(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function Kg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Lg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Yg(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function Mg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Ng(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Og(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)fn(f[c>>2]|0);$f(a+12|0,f[a+16>>2]|0);fg(a,f[a+4>>2]|0);fn(a);return}function Pg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2348;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2372;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b)return;fn(b);return}function Qg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){fn(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}fn(g)}fn(a);return}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Eb(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{ui(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Sg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}f[a+12>>2]=2420;b=f[a+32>>2]|0;if(b|0)fn(b);b=f[a+20>>2]|0;if(!b)return;fn(b);return}function Tg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+84>>2]|0;if(!b){Qd(a);fn(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);Qd(a);fn(a);return}function Ug(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Vj(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Vj((ac(i,b,Vj(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Vg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=c+16|0;g=f[a>>2]|0;h=c+36|0;i=c+24|0;do if(g){if((g|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[a>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Wg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Xg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=h[a+12>>0]|0;c=a+8|0;d=f[c>>2]|0;if(d>>>0<4096?(e=a+4|0,g=f[e>>2]|0,(g|0)>0):0){i=f[a>>2]|0;a=g+-1|0;f[e>>2]=a;e=h[i+a>>0]|0|d<<8;f[c>>2]=e;j=e}else j=d;d=j&255;e=0-b&255;b=X(j>>>8,e)|0;a=d>>>0>>0;f[c>>2]=a?b+d|0:j-e-b|0;return a|0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(b>>>0<=g>>>0){if(b>>>0>>0?(d=h+b|0,(e|0)!=(d|0)):0)f[c>>2]=d}else kf(a,b-g|0);g=a+24|0;a=g;b=Tj(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ag(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ki(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}fn(f[c>>2]|0);u=e;return d|0}function _g(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2668;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);fn(b)}b=f[a+84>>2]|0;if(!b){Qd(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);Qd(a);return}function $g(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;ed(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ki(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}fn(f[c>>2]|0);u=e;return d|0}function bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(c?!(Gf(d,a)|0):0){e=0;return e|0}b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;g=(f[a>>2]|0)+c|0;h=a+8|0;i=Vj(f[h>>2]|0,f[h+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=g;f[a+28>>2]=g+i;e=1;return e|0}function ch(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function dh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Ma[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(ag(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Na[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function fh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Vf(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ml(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ml(a,g,h)}u=f;return}function gh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function hh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Dl(a,f[b+8>>2]|0,g)|0)Pf(0,b,c,d,e);else{h=f[a+8>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function ih(a,b){a=a|0;b=b|0;var c=0;c=dj(40)|0;f[c>>2]=-1;tj(c+8|0);Ra[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;fn(c)}fn(b);return 1}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function kh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=984;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+4>>2]|0;if(!b){fn(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function nh(a){a=a|0;var b=0,c=0;f[a>>2]=1684;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function oh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1740;ln(a+108|0);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function ph(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)dn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Zf(a);fn(a);return}Qa[f[(f[b>>2]|0)+4>>2]&127](b);Zf(a);fn(a);return}function qh(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;ig(a,d,0);return}function rh(a){a=a|0;var b=0,c=0;f[a>>2]=1432;b=f[a+76>>2]|0;if(b|0)fn(b);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function sh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1488;ln(a+108|0);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function th(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=984;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function uh(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)dn(c);f[a>>2]=1148;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Zf(a);return}Qa[f[(f[b>>2]|0)+4>>2]&127](b);Zf(a);return}function vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Dl(a,f[b+8>>2]|0,0)|0)Vg(0,b,c,d);else{e=f[a+8>>2]|0;Ta[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function wh(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function xh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=a;a=c;do{d=d+1|0;a=a+1|0;c=b[d>>0]|0;e=b[a>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function yh(a){a=a|0;var b=0,c=0;f[a>>2]=1740;ln(a+108|0);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function zh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;qh(d);qf(a,d,b);Kk(d);u=c;return}function Ah(a){a=a|0;var b=0,c=0;f[a>>2]=1488;ln(a+108|0);f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((kk(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=Je(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function Eh(a,b){a=a|0;b=b|0;var c=0;Mi(a);f[a>>2]=1088;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function Fh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Hh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=h[10398+(g&15)>>0]|0|e;g=Wj(g|0,a|0,4)|0;a=I;if((g|0)==0&(a|0)==0){f=d;break}else c=d}}return f|0}function Ih(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Kh(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)ym(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Mh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Fb(a,b,c);return}else{Jb(a,0,0);return}}function Oh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;od(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Ph(a,b){a=a|0;b=b|0;var c=0;if(!(Ma[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Qh(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(Aj(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Th(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;g=d;while(1){d=g+(c*10|0)|0;e=e+1|0;f[a>>2]=e;g=(b[e>>0]|0)+-48|0;if(g>>>0>=10){h=d;break}else c=d}}else h=0;return h|0}function Uh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Vh(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;Bf(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}fn(f[e>>2]|0);u=a;return c|0}function Wh(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(Aj(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=f&7|48;f=Wj(f|0,a|0,3)|0;a=I;if((f|0)==0&(a|0)==0){e=d;break}else c=d}}return e|0}function Zh(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function _h(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Dl(a,f[b+8>>2]|0,g)|0)Pf(0,b,c,d,e);return}function $h(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Zf(a);fn(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Zf(a);fn(a);return}function ai(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;ge(a+20|0,g,d);u=c;return}function bi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b){fn(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function ci(a,b,c){a=a|0;b=b|0;c=c|0;return Mb(a,b,c)|0}function di(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function ei(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Tj(f[a+32>>2]|0,0,7,0)|0;d=Wj(c|0,I|0,3)|0;c=a+16|0;a=c;e=Tj(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function fi(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;ge(a+20|0,g,d);u=c;return}function gi(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;rd(c,d,d+12|0);return 1}function ii(){var a=0,b=0;a=dj(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function ji(a){a=a|0;f[a>>2]=2396;wf(a+8|0);fn(a);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Mf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=gg(b)|0;d=dj(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=bm(d)|0;ee(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=1148;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Zf(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Zf(a);return}function oi(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function pi(a){a=a|0;f[a>>2]=2396;wf(a+8|0);return}function qi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Pb(a,b,c,d,e);return}function ri(a){a=a|0;var b=0,c=0;f[a>>2]=1208;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function si(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Dl(a,f[b+8>>2]|0,0)|0)Vg(0,b,c,d);return}function ti(a){a=a|0;var b=0;f[a>>2]=2616;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else ee(a,c,d)|0;return a|0}function vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b){fn(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b);fn(a);return}function wi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function xi(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function zi(){var a=0,b=0;a=jj()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Tk(f[b+12>>2]|0);Tk(pm()|0)}function Ai(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function Bi(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);fn(b)}fn(a);return}function Ci(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);fn(b)}fn(a);return}function Di(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Ei(a){a=a|0;var b=0,c=0;if(Lm(a)|0?(b=hm(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)fn(b);return}function Fi(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function Gi(a,b){a=a|0;b=b|0;return Ma[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function Hi(a){a=a|0;var b=0,c=0;f[a>>2]=956;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);fn(b);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;vb(a,b,c);return}function Ji(a){a=a|0;Fi(a);Fi(a+40|0);Vk(a+80|0);Fi(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;return tc(a,b,5,6,c)|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;return rc(a,b,3,4,c)|0}function Mi(a){a=a|0;var b=0;f[a>>2]=984;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return wc(a,b,1,2,c)|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;return sc(a,b,3,4,c)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return uc(a,b,5,6,c)|0}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;ee(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,1,2,c)|0}function Si(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Ti(){var a=0,b=0;a=dj(24)|0;f[a>>2]=956;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Ui(a){a=a|0;var c=0;Uh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Vi(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;fn(b)}fn(a);return}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Xi(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b){fn(a);return}fn(b);fn(a);return}function Yi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Zi(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=Ja;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function $i(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;fn(b)}fn(a);return}function aj(a){a=a|0;var b=0;Kl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;ac(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function cj(a){a=a|0;var b=0;_j(a);f[a>>2]=2668;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function dj(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Wa(b)|0;if(a|0){c=a;break}a=jm()|0;if(!a){c=0;break}Pa[a&3]()}return c|0}function ej(a){a=a|0;f[a>>2]=1940;ln(a+88|0);fn(a);return}function fj(a){a=a|0;var b=0;f[a>>2]=2372;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b)return;fn(b);return}function gj(a){a=a|0;f[a>>2]=2024;ln(a+88|0);fn(a);return}function hj(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=jn(f[a+60>>2]|0)|0;f[c>>2]=d;d=kk(Ba(6,c|0)|0)|0;u=b;return d|0}function ij(a){a=a|0;f[a>>2]=1940;ln(a+88|0);return}function jj(){var a=0,b=0;a=u;u=u+16|0;if(!(Ga(13448,3)|0)){b=Ea(f[3363]|0)|0;u=a;return b|0}else Cj(12586,a);return 0}function kj(a){a=a|0;var b=0;f[a>>2]=2420;b=f[a+20>>2]|0;if(b|0)fn(b);b=f[a+8>>2]|0;if(!b)return;fn(b);return}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=li(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ki(b,c,d)|0}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Li(b,c,d)|0}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $c(b,c,d)|0}function pj(a){a=a|0;var b=0;b=u;u=u+16|0;zb(a);if(!(Ha(f[3363]|0,0)|0)){u=b;return}else Cj(12685,b)}function qj(a){a=a|0;f[a>>2]=2024;ln(a+88|0);return}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ni(b,c,d)|0}function sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oi(b,c,d)|0}function tj(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function uj(a){a=a|0;Fk(a);f[a>>2]=2108;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ri(b,c,d)|0}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pi(b,c,d)|0}function xj(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Af(a,b,c,g)|0;u=e;return d|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return _i(a,b,c)|0}function Bj(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 Oa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[678]|0;xe(b,a,d)|0;rg(10,b)|0;Ca()}function Dj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Ma[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;return oi(b,c)|0}function Fj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Ma[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Gj(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Ma[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Hj(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hd(b,c,d)|0}function Jj(){var a=0;a=u;u=u+16|0;if(!(Fa(13452,83)|0)){u=a;return}else Cj(12635,a)}function Kj(a){a=a|0;Jc(a);fn(a);return}function Lj(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Mj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return La[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bg(b,c,d)|0}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Vf(a|0,(Gm(c)|0)&255|0,b|0)|0;return a|0}function Pj(a){a=a|0;return 4}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)fn(f[c>>2]|0);fn(a);return}function Sj(){}function Tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Uj(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=ze(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Wj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;return Zg(a,b,c)|0}function Yj(a){a=a|0;Dc(a);fn(a);return}function Zj(a){a=a|0;return 5}function _j(a){a=a|0;var b=0;f[a>>2]=2696;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function $j(a){a=a|0;return 6}function ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hi(b,c,d)|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return Ej(a,b,c)|0}function dk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return La[f[(f[b>>2]|0)+28>>2]&127](b)|0}function ek(a,b,c){a=a|0;b=b|0;c=c|0;return Bd(b,c)|0}function fk(a){a=a|0;f[a>>2]=1040;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function gk(a){a=a|0;var b=0;b=f[a+48>>2]|0;return La[f[(f[b>>2]|0)+24>>2]&127](b)|0}function hk(a,b){a=a|0;b=b|0;ng(a,b);return}function ik(a){a=a|0;var b=0;b=f[a+48>>2]|0;return La[f[(f[b>>2]|0)+36>>2]&127](b)|0}function jk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0)}function kk(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=Um()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;return ah(a,b,c)|0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;return pf(a,b,c)|0}function nk(a,b,c){a=a|0;b=b|0;c=c|0;return Ef(a,b,c)|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;return We(a,b,c)|0}function pk(a,b,c){a=a|0;b=b|0;c=c|0;return +(+zf(a,b,c))}function qk(a,b){a=a|0;b=b|0;return Ma[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function rk(a,b){a=a|0;b=b|0;return Ma[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;return Eg(a,b,c)|0}function tk(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return Mk(b,c)|0}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return Ff(a,b,c)|0}function wk(a,b,c){a=a|0;b=b|0;c=c|0;return Cf(a,b,c)|0}function xk(a){a=a|0;Fk(a);f[a>>2]=1824;f[a+24>>2]=-1;return}function yk(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return me(a,b,c)|0}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;return He(b,c)|0}function Bk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Ck(){var a=0;a=dj(40)|0;f[a>>2]=-1;tj(a+8|0);return a|0}function Dk(){var a=0;a=dj(8)|0;f[a>>2]=928;f[a+4>>2]=-1;return a|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return hf(a,b,c)|0}function Fk(a){a=a|0;fk(a);f[a>>2]=1148;f[a+20>>2]=0;return}function Gk(a,b){a=a|0;b=b|0;hk(a,b);return}function Hk(a){a=a|0;var b=0;if(!a)b=0;else b=(Be(a,800,888,0)|0)!=0;return b&1|0}function Ik(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Jk(a,b){a=a|0;b=b|0;return Vh(a,b)|0}function Kk(a){a=a|0;if((b[a+11>>0]|0)<0)fn(f[a>>2]|0);return}function Lk(a){a=a|0;if(!a)return;Qa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Mk(a,b){a=a|0;b=b|0;return jh(a,b)|0}function Nk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ta[a&7](b|0,c|0,d|0,e|0)}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ui(a|0,b|0,c|0)|0;return a|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;return al(b,c)|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ee(a|0,b|0,c|0)|0;return a|0}function Rk(a,b){a=a|0;b=b|0;return -1}function Sk(a){a=a|0;return 3}function Tk(a){a=a|0;var b=0;b=u;u=u+16|0;Pa[a&3]();Cj(12738,b)}function Uk(a,b){a=a|0;b=b|0;return Ql(a,b)|0}function Vk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function Wk(a){a=a|0;Qe(a);fn(a);return}function Xk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Yk(a){a=a|0;hl(a);f[a>>2]=2236;f[a+48>>2]=0;return}function Zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function _k(a,b,c){a=a|0;b=b|0;c=c|0;xj(a,b,c);return}function $k(a,b){a=a|0;b=b|0;f[a>>2]=3688;mi(a+4|0,b);return}function al(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function bl(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=xf(a,b,0)|0;return c|0}function cl(a){a=a|0;if(!a)return;ln(a+24|0);fn(a);return}function dl(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function el(){var a=0;a=dj(64)|0;Uh(a);return a|0}function fl(a,b){a=a|0;b=b|0;return $(ll(a,b))}function gl(a){a=a|0;return f[a+8>>2]|0}function hl(a){a=a|0;ti(a);f[a>>2]=2176;f[a+44>>2]=0;return}function il(a){a=a|0;if(!a)return;Df(a);fn(a);return}function jl(a,b){a=a|0;b=b|0;return Yl(a,b)|0}function kl(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function ll(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function ml(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Xe(b,c,a)|0;return}function nl(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&7](b|0,c|0,d|0)}function pl(){var a=0;a=dj(96)|0;Ui(a);return a|0}function ql(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function rl(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function sl(a){a=a|0;var b=0;b=(bn()|0)+188|0;return yg(a,f[b>>2]|0)|0}function tl(){var a=0;a=dj(16)|0;Xk(a);return a|0}function ul(){var a=0;a=dj(40)|0;Fi(a);return a|0}function vl(a,b){a=a|0;b=b|0;return 1}function wl(a,b){a=a|0;b=b|0;return Gl(a,b)|0}function xl(a,b){a=a|0;b=b|0;return Hl(a,b)|0}function yl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function zl(a,b){a=a|0;b=b|0;return Wl(a,b)|0}function Al(){var a=0;a=dj(12)|0;Ol(a);return a|0}function Bl(a){a=a|0;Zf(a);fn(a);return}function Cl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function El(a,b){a=a|0;b=b|0;var c=0;c=Tl(a|0)|0;return ((b|0)==0?a:c)|0}function Fl(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Gl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Hl(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Il(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ac(a,b,c,d,0)|0}function Kl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Ll(){var a=0;a=dj(84)|0;_j(a);return a|0}function Ml(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Nl(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function Ol(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Pl(a){a=a|0;f[a>>2]=3688;Ei(a+4|0);return}function Ql(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[a&127](b|0,c|0)|0}function Sl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Tl(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ul(a){a=a|0;hl(a);f[a>>2]=2532;return}function Vl(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Wl(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Xl(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Yl(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Zl(a){a=a|0;return $(n[a+20>>2])}function _l(a){a=a|0;return f[a+4>>2]|0}function $l(a){a=a|0;if(!a)return;fn(a);return}function am(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function bm(a){a=a|0;return a+12|0}function cm(a){a=a|0;return f[a+88>>2]|0}function dm(a,b,c){a=a|0;b=b|0;c=c|0;Ra[a&7](b|0,c|0)}function em(){var a=0;a=dj(40)|0;aj(a);return a|0}function fm(){var a=0;a=dj(108)|0;cj(a);return a|0}function gm(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function hm(a){a=a|0;return a+-12|0}function im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function jm(){var a=0;a=f[3364]|0;f[3364]=a+0;return a|0}function km(a){a=a|0;return Jm(a+4|0)|0}function lm(a){a=a|0;return f[a+56>>2]|0}function mm(a){a=a|0;Qd(a);fn(a);return}function nm(a){a=a|0;ln(a);fn(a);return}function om(a){a=a|0;return b[a+24>>0]|0}function pm(){var a=0;a=f[898]|0;f[898]=a+0;return a|0}function qm(a,b){a=a|0;b=b|0;return 0}function rm(a){a=a|0;return f[a+40>>2]|0}function sm(a){a=a|0;return f[a+48>>2]|0}function tm(a,b){a=a|0;b=b|0;return La[a&127](b|0)|0}function um(a){a=a|0;return f[a+60>>2]|0}function vm(a){a=a|0;return f[a+28>>2]|0}function wm(a){a=a|0;sa(a|0)|0;zi()}function xm(a){a=a|0;Pl(a);fn(a);return}function ym(a){a=a|0;Ca()}function zm(a,b){a=a|0;b=b|0;u=a;v=b}function Am(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Bm(a){a=a|0;return (f[a>>2]|0)==0|0}function Cm(a){a=a|0;return f[a+80>>2]|0}function Dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Em(a,b){a=a|0;b=b|0;Qa[a&127](b|0)}function Fm(a,b){a=a|0;b=b|0;return Uj(a,b)|0}function Gm(a){a=a|0;return a&255|0}function Hm(a){a=a|0;f[a>>2]=0;return}function Im(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Jm(a){a=a|0;return f[a>>2]|0}function Km(a){a=a|0;return 2}function Lm(a){a=a|0;return 1}function Mm(a,b){a=+a;b=b|0;return +(+zg(a,b))}function Nm(){return 3}function Om(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Pm(){return -4}function Qm(){return 4}function Rm(){return -3}function Sm(){return 1}function Tm(){return 2}function Um(){return (bn()|0)+64|0}function Vm(){return -5}function Wm(a,b){a=a|0;b=b|0;aa(1);return 0}function Xm(a){a=a|0;Pa[a&3]()}function Ym(){return -2}function Zm(){ua()}function _m(){return -1}function $m(a,b){a=a|0;b=b|0;aa(6)}function an(){return 0}function bn(){return qn()|0}function cn(a){a=a|0;return dj(a)|0}function dn(a){a=a|0;fn(a);return}function en(a){a=a|0;u=a}function fn(a){a=a|0;zb(a);return}function gn(a){a=a|0;I=a}function hn(){return 13384}function jn(a){a=a|0;return a|0}function kn(a){a=a|0;aa(0);return 0}function ln(a){a=a|0;return}function mn(a){a=a|0;return 0}function nn(){return I|0}function on(){return u|0}function pn(a){a=a|0;aa(5)}function qn(){return 2840}function rn(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Na=[jn,Jm,Km,ml,um,Km,Ic,jl,Zl,ln,ln,Km,ln,Km,Km,Kh,Pj,Kh,Zj,Eh,Km,$j,Og,Km,um,Km,Kh,Pj,Kh,Zj,Eh,Km,$j,Og,Km,um,Jm,ln,Zl,Km,ln,Km,Sk,$j,Kg,Km,um,$j,Kg,Km,um,md,Km,Km,Mj,Hc,fh,Km,ln,je,dk,ik,gk,gb,Km,Zl,fl,zd,bd,Dd,ib,Km,Zl,fl,kb,sf,ln,Km,fj,jm,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn,jn];var Oa=[Vm,Jh,he,Qb,Ph,cl,pm,ul,yk,ul,Mf,Xc,We,Bh,Ig,Fg,Fi,sc,Rk,pm,me,Pb,pm,Zh,Nc,pm,Vh,de,vi,Pb,pm,Zh,Nc,pm,Vh,de,vi,De,Rk,pm,af,pm,Mh,Oe,vi,pm,Mh,Oe,vi,rk,id,pm,pm,Gj,Fj,Dj,tk,$e,bf,Ab,Bd,jd,gd,tk,$e,bf,Ab,Pd,Bi,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm,Vm];var Pa=[Hm,bk,_i,gh,yj,_e,zj,Hd,Rb,Rh,df,bi,Wh,nf,bi,Td,zh,Qi,dg,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm,Hm];var Qa=[xl,mc,Db,db,vc,Jb,Eb,cb,uc,Ib,be,Lb,Mb,xl,xl,xl];var Ra=[rn,Zm,xf,Jj];var Sa=[pn,kn,dn,Gi,ti,rh,Wm,_f,Al,Re,Wk,Ji,Ei,pi,Wm,_h,_h,Cg,xg,qh,hh,Fh,xh,kn,dn,_h,Bg,vg,nh,dh,Dh,sh,kn,dn,Ei,kn,dn,xj,pj,kn,dn,Cj,wj,kn,dn,th,oh,qg,Wm,Rf,Of,Jc,Yj,Qg,Lg,ej,Si,ai,ni,ii,hj,Xi,ei,Tg,Ng,Pc,Kj,hg,kn,dn,Wm,$g,Vg,Ud,lm,kn,mm,kn,kn,mm,Ol,wm,wm,mj,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn];var Ta=[an,Mg,yd,Sg,Hb,an,an,an];var Ua=[Nm,Hg,wb,yb,yb,wb,ce,Sd];var Va=[Cm,Jf,Yd,qi,uh,Cm,Cm,Cm];var Wa=[hm,Yf,ie,hm];var Xa=[Rl,$h,ih,Rl];return{___cxa_can_catch:ui,___cxa_is_pointer_type:Hk,___divdi3:Wg,___muldi3:ij,___udivdi3:Il,___uremdi3:bj,_bitshift64Lshr:Wj,_bitshift64Shl:Qj,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Dk,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:qk,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Lk,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Zl,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Ti,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:qk,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Lk,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Ik,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Zl,_emscripten_bind_AttributeQuantizationTransform_range_0:Yl,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Ck,_emscripten_bind_AttributeTransformData___destroy___0:Vi,_emscripten_bind_AttributeTransformData_transform_type_0:Im,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:tl,_emscripten_bind_DecoderBuffer_Init_2:_k,_emscripten_bind_DecoderBuffer___destroy___0:_l,_emscripten_bind_Decoder_DecodeBufferToMesh_2:lk,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Xj,_emscripten_bind_Decoder_Decoder_0:dm,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:uk,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:lj,_emscripten_bind_Decoder_GetAttributeFloat_3:Nj,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Ij,_emscripten_bind_Decoder_GetAttributeIdByName_2:Ak,_emscripten_bind_Decoder_GetAttributeId_2:ck,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:oj,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:tj,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:sj,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:tj,_emscripten_bind_Decoder_GetAttributeMetadata_2:sk,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:kj,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:jj,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:nj,_emscripten_bind_Decoder_GetAttribute_2:Pk,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Jk,_emscripten_bind_Decoder_GetFaceFromMesh_3:ak,_emscripten_bind_Decoder_GetMetadata_1:il,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:ek,_emscripten_bind_Decoder_SkipAttributeTransform_1:Gk,_emscripten_bind_Decoder___destroy___0:Pg,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:zl,_emscripten_bind_DracoFloat32Array_GetValue_1:el,_emscripten_bind_DracoFloat32Array___destroy___0:zi,_emscripten_bind_DracoFloat32Array_size_0:Ll,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:zl,_emscripten_bind_DracoInt16Array_GetValue_1:wl,_emscripten_bind_DracoInt16Array___destroy___0:Ai,_emscripten_bind_DracoInt16Array_size_0:Ml,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:zl,_emscripten_bind_DracoInt32Array_GetValue_1:vl,_emscripten_bind_DracoInt32Array___destroy___0:zi,_emscripten_bind_DracoInt32Array_size_0:Ll,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:zl,_emscripten_bind_DracoInt8Array_GetValue_1:yl,_emscripten_bind_DracoInt8Array___destroy___0:$i,_emscripten_bind_DracoInt8Array_size_0:Wl,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:zl,_emscripten_bind_DracoUInt16Array_GetValue_1:wl,_emscripten_bind_DracoUInt16Array___destroy___0:Ai,_emscripten_bind_DracoUInt16Array_size_0:Ml,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:zl,_emscripten_bind_DracoUInt32Array_GetValue_1:vl,_emscripten_bind_DracoUInt32Array___destroy___0:zi,_emscripten_bind_DracoUInt32Array_size_0:Ll,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:zl,_emscripten_bind_DracoUInt8Array_GetValue_1:yl,_emscripten_bind_DracoUInt8Array___destroy___0:$i,_emscripten_bind_DracoUInt8Array_size_0:Wl,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:dl,_emscripten_bind_GeometryAttribute___destroy___0:_l,_emscripten_bind_Mesh_Mesh_0:em,_emscripten_bind_Mesh___destroy___0:Lk,_emscripten_bind_Mesh_num_attributes_0:El,_emscripten_bind_Mesh_num_faces_0:rl,_emscripten_bind_Mesh_num_points_0:Bm,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:pk,_emscripten_bind_MetadataQuerier_GetEntryName_2:zk,_emscripten_bind_MetadataQuerier_GetIntEntry_2:wk,_emscripten_bind_MetadataQuerier_GetStringEntry_2:ok,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:nk,_emscripten_bind_MetadataQuerier_HasEntry_2:Ek,_emscripten_bind_MetadataQuerier_HasIntEntry_2:vk,_emscripten_bind_MetadataQuerier_HasStringEntry_2:mk,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:sl,_emscripten_bind_MetadataQuerier_NumEntries_1:Uk,_emscripten_bind_MetadataQuerier___destroy___0:Rg,_emscripten_bind_Metadata_Metadata_0:hi,_emscripten_bind_Metadata___destroy___0:hl,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:bm,_emscripten_bind_PointAttribute_PointAttribute_0:ol,_emscripten_bind_PointAttribute___destroy___0:kg,_emscripten_bind_PointAttribute_attribute_type_0:km,_emscripten_bind_PointAttribute_byte_offset_0:rm,_emscripten_bind_PointAttribute_byte_stride_0:qm,_emscripten_bind_PointAttribute_data_type_0:um,_emscripten_bind_PointAttribute_normalized_0:fm,_emscripten_bind_PointAttribute_num_components_0:nm,_emscripten_bind_PointAttribute_size_0:Bm,_emscripten_bind_PointAttribute_unique_id_0:tm,_emscripten_bind_PointCloud_PointCloud_0:Kl,_emscripten_bind_PointCloud___destroy___0:Lk,_emscripten_bind_PointCloud_num_attributes_0:El,_emscripten_bind_PointCloud_num_points_0:Bm,_emscripten_bind_Status___destroy___0:Rj,_emscripten_bind_Status_code_0:Im,_emscripten_bind_Status_error_msg_0:Hj,_emscripten_bind_Status_ok_0:Am,_emscripten_bind_VoidPtr___destroy___0:_l,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:_m,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:bn,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Tm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Sm,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:_m,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:bn,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Sm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Tm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Pm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:_m,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Sm,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:bn,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Mm,_emscripten_enum_draco_StatusCode_ERROR:_m,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Rm,_emscripten_enum_draco_StatusCode_IO_ERROR:Ym,_emscripten_enum_draco_StatusCode_OK:bn,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Um,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Om,_emscripten_replace_memory:Ma,_free:Bb,_i64Add:Tj,_i64Subtract:Vj,_llvm_bswap_i32:Sl,_malloc:Ya,_memcpy:ge,_memmove:si,_memset:Xf,_sbrk:Xh,dynCall_ii:sm,dynCall_iii:Ql,dynCall_iiii:Zk,dynCall_iiiiiii:Aj,dynCall_v:Xm,dynCall_vi:Dm,dynCall_vii:cm,dynCall_viii:nl,dynCall_viiii:Nk,dynCall_viiiii:jk,dynCall_viiiiii:Lj,establishStackSpace:ym,getTempRet0:mn,runPostSets:Sj,setTempRet0:gn,setThrew:$l,stackAlloc:pl,stackRestore:en,stackSave:on}}) +var La=[kn,Km,Lm,nl,vm,Lm,Ec,kl,_l,mn,mn,Lm,mn,Lm,Lm,Kh,Pj,Kh,Zj,Fh,Lm,$j,Ng,Lm,vm,Lm,Kh,Pj,Kh,Zj,Fh,Lm,$j,Ng,Lm,vm,Km,mn,_l,Lm,mn,Lm,Sk,$j,Jg,Lm,vm,$j,Jg,Lm,vm,kd,Lm,Lm,Mj,Cc,dh,Lm,mn,he,dk,ik,gk,db,Lm,_l,gl,xd,_c,Ad,gb,Lm,_l,gl,ib,rf,mn,Lm,hj,km,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn];var Ma=[Wm,Jh,fe,Lb,Ph,dl,qm,vl,yk,vl,Lf,Sc,Ve,Dh,Hg,Fg,Gi,Wf,Rk,qm,je,Kc,qm,Zh,Hc,qm,Wh,be,xi,Kc,qm,Zh,Hc,qm,Wh,be,xi,Ce,Rk,qm,$e,qm,Mh,Ne,xi,qm,Mh,Ne,xi,rk,jd,qm,qm,Gj,Fj,Dj,tk,_e,af,yb,gd,bd,ad,tk,_e,af,yb,Md,Di,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm];var Na=[Im,bk,_i,eh,zj,Ze,Aj,Ed,Mb,Sh,cf,ci,Xh,mf,ci,Sd,Bh,Qi,cg,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im];var Oa=[yl,ic,Bb,ab,qc,Hb,Cb,$a,pc,Gb,$d,Ib,Kb,yl,yl,yl];var Pa=[rn,Zm,tf,Jj];var Qa=[pn,ln,dn,Hi,vi,th,kh,Zf,Bl,Qe,Wk,ni,$h,ri,bi,bi,bi,Cg,xg,rh,gh,Ah,sh,ln,dn,bi,Bg,vg,nh,ch,yh,oh,ln,dn,$h,ln,dn,ij,ej,ln,dn,qj,gj,ln,dn,uh,ph,pg,hg,Qf,Nf,Dc,Yj,Pg,Kg,fj,Si,ai,pi,ji,kj,Xi,fi,Sg,Mg,Jc,Kj,hg,ln,dn,hg,_g,Tg,Qd,mm,ln,nm,ln,ln,nm,Pl,xm,xm,pj,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn,pn];var Ra=[$m,Lg,wd,Rg,Eb,$m,$m,$m];var Sa=[Om,Gg,ub,wb,wb,ub,ae,Pd];var Ta=[Dm,If,Xd,si,vh,Dm,Dm,Dm];var Ua=[im,Uf,de,im];var Va=[Sl,_h,hh,Sl];return{___cxa_can_catch:wi,___cxa_is_pointer_type:Hk,___divdi3:Ug,___muldi3:lj,___udivdi3:Jl,___uremdi3:bj,_bitshift64Lshr:Wj,_bitshift64Shl:Qj,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Dk,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:qk,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Lk,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:_l,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Ti,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:qk,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Lk,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Ik,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:_l,_emscripten_bind_AttributeQuantizationTransform_range_0:Zl,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Ck,_emscripten_bind_AttributeTransformData___destroy___0:Vi,_emscripten_bind_AttributeTransformData_transform_type_0:Jm,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:ul,_emscripten_bind_DecoderBuffer_Init_2:_k,_emscripten_bind_DecoderBuffer___destroy___0:cl,_emscripten_bind_Decoder_DecodeBufferToMesh_2:lk,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Xj,_emscripten_bind_Decoder_Decoder_0:em,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:uk,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:oj,_emscripten_bind_Decoder_GetAttributeFloat_3:Nj,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Ij,_emscripten_bind_Decoder_GetAttributeIdByName_2:Ak,_emscripten_bind_Decoder_GetAttributeId_2:ck,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:sj,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:wj,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:vj,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:wj,_emscripten_bind_Decoder_GetAttributeMetadata_2:sk,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:nj,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:mj,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:rj,_emscripten_bind_Decoder_GetAttribute_2:Pk,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Jk,_emscripten_bind_Decoder_GetFaceFromMesh_3:ak,_emscripten_bind_Decoder_GetMetadata_1:jl,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:ek,_emscripten_bind_Decoder_SkipAttributeTransform_1:Gk,_emscripten_bind_Decoder___destroy___0:Og,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Al,_emscripten_bind_DracoFloat32Array_GetValue_1:fl,_emscripten_bind_DracoFloat32Array___destroy___0:Bi,_emscripten_bind_DracoFloat32Array_size_0:Ml,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:Al,_emscripten_bind_DracoInt16Array_GetValue_1:xl,_emscripten_bind_DracoInt16Array___destroy___0:Ci,_emscripten_bind_DracoInt16Array_size_0:Nl,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Al,_emscripten_bind_DracoInt32Array_GetValue_1:wl,_emscripten_bind_DracoInt32Array___destroy___0:Bi,_emscripten_bind_DracoInt32Array_size_0:Ml,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Al,_emscripten_bind_DracoInt8Array_GetValue_1:zl,_emscripten_bind_DracoInt8Array___destroy___0:$i,_emscripten_bind_DracoInt8Array_size_0:Xl,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:Al,_emscripten_bind_DracoUInt16Array_GetValue_1:xl,_emscripten_bind_DracoUInt16Array___destroy___0:Ci,_emscripten_bind_DracoUInt16Array_size_0:Nl,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:Al,_emscripten_bind_DracoUInt32Array_GetValue_1:wl,_emscripten_bind_DracoUInt32Array___destroy___0:Bi,_emscripten_bind_DracoUInt32Array_size_0:Ml,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:Al,_emscripten_bind_DracoUInt8Array_GetValue_1:zl,_emscripten_bind_DracoUInt8Array___destroy___0:$i,_emscripten_bind_DracoUInt8Array_size_0:Xl,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:el,_emscripten_bind_GeometryAttribute___destroy___0:$l,_emscripten_bind_Mesh_Mesh_0:fm,_emscripten_bind_Mesh___destroy___0:Lk,_emscripten_bind_Mesh_num_attributes_0:Fl,_emscripten_bind_Mesh_num_faces_0:rl,_emscripten_bind_Mesh_num_points_0:Cm,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:pk,_emscripten_bind_MetadataQuerier_GetEntryName_2:zk,_emscripten_bind_MetadataQuerier_GetIntEntry_2:wk,_emscripten_bind_MetadataQuerier_GetStringEntry_2:ok,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:nk,_emscripten_bind_MetadataQuerier_HasEntry_2:Ek,_emscripten_bind_MetadataQuerier_HasIntEntry_2:vk,_emscripten_bind_MetadataQuerier_HasStringEntry_2:mk,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:tl,_emscripten_bind_MetadataQuerier_NumEntries_1:Uk,_emscripten_bind_MetadataQuerier___destroy___0:Qg,_emscripten_bind_Metadata_Metadata_0:ii,_emscripten_bind_Metadata___destroy___0:il,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:cm,_emscripten_bind_PointAttribute_PointAttribute_0:pl,_emscripten_bind_PointAttribute___destroy___0:jg,_emscripten_bind_PointAttribute_attribute_type_0:lm,_emscripten_bind_PointAttribute_byte_offset_0:sm,_emscripten_bind_PointAttribute_byte_stride_0:rm,_emscripten_bind_PointAttribute_data_type_0:vm,_emscripten_bind_PointAttribute_normalized_0:gm,_emscripten_bind_PointAttribute_num_components_0:om,_emscripten_bind_PointAttribute_size_0:Cm,_emscripten_bind_PointAttribute_unique_id_0:um,_emscripten_bind_PointCloud_PointCloud_0:Ll,_emscripten_bind_PointCloud___destroy___0:Lk,_emscripten_bind_PointCloud_num_attributes_0:Fl,_emscripten_bind_PointCloud_num_points_0:Cm,_emscripten_bind_Status___destroy___0:Rj,_emscripten_bind_Status_code_0:Jm,_emscripten_bind_Status_error_msg_0:Hj,_emscripten_bind_Status_ok_0:Bm,_emscripten_bind_VoidPtr___destroy___0:$l,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:_m,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:an,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Tm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Sm,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:_m,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:an,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Sm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Tm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Qm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:_m,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Sm,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:an,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Nm,_emscripten_enum_draco_StatusCode_ERROR:_m,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Rm,_emscripten_enum_draco_StatusCode_IO_ERROR:Ym,_emscripten_enum_draco_StatusCode_OK:an,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Vm,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Pm,_emscripten_get_global_libc:hn,_emscripten_replace_memory:Ka,_free:zb,_i64Add:Tj,_i64Subtract:Vj,_llvm_bswap_i32:Tl,_malloc:Wa,_memcpy:ee,_memmove:ui,_memset:Vf,_sbrk:Qh,dynCall_ii:tm,dynCall_iii:Rl,dynCall_iiii:Zk,dynCall_iiiiiii:Bj,dynCall_v:Xm,dynCall_vi:Em,dynCall_vii:dm,dynCall_viii:ol,dynCall_viiii:Nk,dynCall_viiiii:jk,dynCall_viiiiii:Lj,establishStackSpace:zm,getTempRet0:nn,runPostSets:Sj,setTempRet0:gn,setThrew:am,stackAlloc:ql,stackRestore:en,stackSave:on}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=asm["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"];var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoInt16Array_GetValue_1"];var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=asm["_emscripten_bind_DracoInt16Array___destroy___0"];var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=asm["_emscripten_bind_DracoInt16Array_size_0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=asm["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"];var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt16Array_GetValue_1"];var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=asm["_emscripten_bind_DracoUInt16Array___destroy___0"];var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=asm["_emscripten_bind_DracoUInt16Array_size_0"];var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=asm["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"];var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt32Array_GetValue_1"];var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=asm["_emscripten_bind_DracoUInt32Array___destroy___0"];var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=asm["_emscripten_bind_DracoUInt32Array_size_0"];var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=asm["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"];var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt8Array_GetValue_1"];var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=asm["_emscripten_bind_DracoUInt8Array___destroy___0"];var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=asm["_emscripten_bind_DracoUInt8Array_size_0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=asm["_emscripten_bind_MetadataQuerier_GetEntryName_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasEntry_2"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=asm["_emscripten_bind_MetadataQuerier_NumEntries_1"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;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"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+20112;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,kBwAAAAdAAC4HAAATh0AACAAAAAAAAAAkBwAAHUdAAC4HAAAkh0AACAAAAAAAAAAkBwAALsdAAC4HAAA1x0AADgAAAAAAAAAkBwAAPkdAAC4HAAAHh4AADgAAAAAAAAAuBwAANYqAABQAAAAAAAAALgcAABOHgAAiAAAAAAAAAC4HAAApx4AAJgAAAAAAAAAuBwAAPseAACoAAAAAAAAALgcAAAvHwAAuAAAAAAAAACQHAAAWh8AALgcAAB+HwAA0AAAAAAAAACQHAAAHCAAALgcAAC6IAAA6AAAAAAAAAC4HAAAUiEAAIgAAAAAAAAAuBwAANshAADoAAAAAAAAALgcAAB1IgAA6AAAAAAAAAC4HAAAByMAAOgAAAAAAAAAuBwAAK0jAADoAAAAAAAAALgcAABIJAAA6AAAAAAAAAC4HAAA3iQAAFgBAAAAAAAAkBwAAIklAAC4HAAANCYAAHABAAAAAAAAuBwAANkmAACIAAAAAAAAALgcAABvJwAAcAEAAAAAAAC4HAAAFigAAHABAAAAAAAAuBwAALUoAABwAQAAAAAAALgcAABoKQAAcAEAAAAAAAC4HAAAECoAAHABAAAAAAAAuBwAAMQ4AABoAAAAAAAAALgcAAACKwAA8AEAAAAAAAC4HAAAcysAAJgAAAAAAAAAuBwAAN8rAAAQAgAAAAAAAJAcAACVLAAAuBwAAEstAAAoAgAAAAAAALgcAAD7LQAA8AEAAAAAAAC4HAAAnC4AACgCAAAAAAAAuBwAAE4vAAAoAgAAAAAAALgcAAD4LwAAKAIAAAAAAAC4HAAAtjAAACgCAAAAAAAAuBwAAGkxAAAoAgAAAAAAALgcAAAXMgAAmAIAAAAAAACQHAAA2jIAALgcAACdMwAAsAIAAAAAAAC4HAAAWjQAAPABAAAAAAAAuBwAAAg1AACwAgAAAAAAALgcAADHNQAAsAIAAAAAAAC4HAAAfjYAALACAAAAAAAAuBwAAEk3AACwAgAAAAAAALgcAAAJOAAAsAIAAAAAAAC4HAAA7zgAAGgAAAAAAAAAuBwAAGU5AAAIAAAAAAAAAJAcAAAyOQAAuBwAAL05AAAwAwAAAAAAALgcAABPOgAAyAMAAAAAAAC4HAAAUT0AALADAAAAAAAAkBwAAHA6AAC4HAAAuDoAAIADAAAAAAAAkBwAAII7AACQHAAAnDsAALgcAADXOwAAgAMAAAAAAAC4HAAAlDwAAIADAAAAAAAAkBwAAJ09AAC4HAAAyz0AALADAAAAAAAAuBwAADw+AAD4AwAAAAAAALgcAACCPgAAyAMAAAAAAAC4HAAAaD4AAIADAAAAAAAAkBwAAKI+AAC4HAAAlz8AAPgDAAAAAAAAuBwAALk/AAD4AwAAAAAAALgcAAAYQAAAMAQAAAAAAACQHAAAakAAAJAcAACZSgAAuBwAAPlKAABQBAAAAAAAALgcAACmSgAAYAQAAAAAAACQHAAAx0oAALgcAADUSgAAQAQAAAAAAAC4HAAA20sAADgEAAAAAAAAuBwAAOtLAAB4BAAAAAAAALgcAAAgTAAAUAQAAAAAAAC4HAAA/EsAAJgEAAAAAAAAAAAAAAgAAAABAAAAAgAAAAAAAAAQAAAAAwAAAAQAAAABAAAAAQAAAAEAAAAAAAAAKAAAAAUAAAAGAAAAAgAAAAIAAAACAAAA//////////8AAAAAOAAAAAcAAAAIAAAAAQAAAAMAAAABAAAABAAAAAUAAAACAAAABgAAAAcAAAADAAAAAQAAAAgAAAAAAAAAQAAAAAkAAAAKAAAAAQAAAAMAAAAEAAAABAAAAAUAAAACAAAABgAAAAcAAAAFAAAACQAAAAoAAAAAAAAAUAAAAAsAAAAMAAAAAwAAAAsAAAAMAAAABAAAAA0AAAAGAAAABwAAAA4AAAAPAAAABQAAAAAAAABYAAAADQAAAA4AAAAGAAAAEAAAAAgAAAARAAAAEgAAAAcAAAATAAAAFAAAAAkAAAAVAAAAFgAAAAoAAAABAAAAAAAAAGgAAAAPAAAAEAAAAAgAAAALAAAAFwAAAAQAAAANAAAABgAAAAsAAAAOAAAADwAAAAkAAAACAAAACgAAAP////8AAAAAiAAAABEAAAASAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAB4AAAAEQAAABMAAAAQAAAADAAAABEAAAANAAAAGAAAABkAAAAOAAAADwAAABoAAAABAAAAAAAAADgBAAARAAAAFAAAABIAAAAMAAAAEwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAIAAAAAAAAAKAEAABEAAAAVAAAAFAAAAAwAAAAVAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAwAAAAAAAAAIAQAAFgAAABcAAAAWAAAADAAAABcAAAAYAAAAGwAAABwAAAAOAAAADwAAAB0AAAAEAAAAAAAAAPgAAAAYAAAAGQAAABkAAAAMAAAAGgAAABsAAAAeAAAAHwAAAA4AAAAPAAAAIAAAAAUAAAAAAAAA2AAAABoAAAAbAAAAHAAAAAwAAAAdAAAAHgAAACEAAAAiAAAADgAAAA8AAAAjAAAABgAAAAAAAADAAAAAHAAAAB0AAAAkAAAAHwAAAAMAAAAAAAAA6AAAABEAAAAeAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAAYAQAAHwAAACAAAAAgAAAADAAAACEAAAANAAAAGAAAABkAAAAOAAAADwAAACUAAAAHAAAAAAAAAMABAAARAAAAIQAAACIAAAAMAAAAIwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAgAAAAAAAAAsAEAABEAAAAiAAAAJAAAAAwAAAAlAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAACQAAAAAAAACQAQAAIwAAACQAAAAmAAAADAAAACcAAAAoAAAAJgAAACcAAAAOAAAADwAAACgAAAAKAAAAAAAAAIABAAAlAAAAJgAAACkAAAAMAAAAKgAAACsAAAApAAAAKgAAAA4AAAAPAAAAKwAAAAsAAAAAAAAAYAEAACcAAAAoAAAALAAAAAwAAAAtAAAALgAAACwAAAAtAAAADgAAAA8AAAAuAAAADAAAAAAAAABIAQAAKQAAACoAAAAvAAAALwAAAAQAAAAAAAAAcAEAABEAAAArAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAACgAQAALAAAAC0AAAAwAAAADAAAADEAAAANAAAAGAAAABkAAAAOAAAADwAAADAAAAANAAAAAAAAANABAAAuAAAALwAAAAsAAAALAAAAFwAAAAQAAAAxAAAAMgAAADMAAAAOAAAADwAAAAkAAAAFAAAADAAAAAAAAADgAQAAMAAAADEAAAA0AAAANQAAADYAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAOAAAAAAAAAHgCAAAwAAAAMgAAADoAAAA1AAAAOwAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAAA8AAAAAAAAAaAIAADAAAAAzAAAAPAAAADUAAAA9AAAANwAAADIAAAAzAAAAOAAAADkAAAA0AAAAEAAAAAAAAABYAgAANAAAADUAAAA+AAAANQAAAD8AAAA3AAAAMgAAADMAAAA4AAAAOQAAADUAAAARAAAAAAAAAEgCAAA2AAAANwAAAEAAAAA1AAAAQQAAAEIAAAA2AAAANwAAADgAAAA5AAAAOAAAABIAAAAAAAAAOAIAADgAAAA5AAAAQwAAADUAAABEAAAARQAAADkAAAA6AAAAOAAAADkAAAA7AAAAEwAAAAAAAAAYAgAAOgAAADsAAABGAAAANQAAAEcAAABIAAAAPAAAAD0AAAA4AAAAOQAAAD4AAAAUAAAAAAAAAAACAAA8AAAAPQAAAD8AAABJAAAABgAAAAAAAAAAAwAAMAAAAD4AAABKAAAANQAAAEsAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAVAAAAAAAAAPACAAAwAAAAPwAAAEwAAAA1AAAATQAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAABYAAAAAAAAA4AIAAEAAAABBAAAATgAAADUAAABPAAAANwAAADIAAAAzAAAAOAAAADkAAABAAAAAFwAAAAAAAADQAgAAQgAAAEMAAABQAAAANQAAAFEAAABSAAAAQQAAAEIAAAA4AAAAOQAAAEMAAAAYAAAAAAAAAMACAABEAAAARQAAAFMAAAA1AAAAVAAAAFUAAABEAAAARQAAADgAAAA5AAAARgAAABkAAAAAAAAAoAIAAEYAAABHAAAAVgAAADUAAABXAAAAWAAAAEcAAABIAAAAOAAAADkAAABJAAAAGgAAAAAAAACIAgAASAAAAEkAAABKAAAAWQAAAAcAAAAAAAAAEAMAAEoAAABLAAAADQAAAAsAAAAXAAAABAAAAEsAAABaAAAAWwAAAA4AAAAPAAAACQAAAAIAAAAOAAAAAAAAACADAAABAAAATAAAAAEAAAACAAAAAAAAADADAABNAAAATgAAAAAAAAA4AwAATQAAAE8AAAAAAAAASAMAAFAAAABRAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAEwAAABNAAAAYwAAAFIAAABkAAAATgAAAE8AAABlAAAAUwAAAAAAAABYAwAAVAAAAFUAAABQAAAAUQAAAFIAAABTAAAAVAAAAGYAAABnAAAAVQAAAGgAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABwAwAAVgAAAFcAAABWAAAAaQAAAAAAAABoAwAAWAAAAFkAAABaAAAA/////wAAAACQAwAAWwAAAFwAAABXAAAAagAAAAAAAACIAwAAXQAAAF4AAABfAAAAAAAAAKADAABgAAAAYQAAAFgAAABrAAAAAAAAALgDAABiAAAAYwAAAFkAAABaAAAAWwAAAFwAAABdAAAAbAAAAG0AAABeAAAAbgAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAMgDAABkAAAAZQAAAFwAAAABAAAAbwAAAF8AAABgAAAAYQAAAGIAAAABAAAAXwAAAGMAAAABAAAAcAAAAGAAAABhAAAAAQAAAAEAAAAAAAAA2AMAAGQAAABmAAAAXAAAAHEAAABvAAAAXwAAAGAAAABhAAAAYgAAAGIAAABfAAAAYwAAAGcAAABwAAAAYAAAAGEAAAByAAAAaAAAAAAAAADoAwAAaQAAAGoAAABjAAAAcwAAAAAAAAD4AwAAZAAAAGsAAAB0AAAAAQAAAG8AAABfAAAAdQAAAGEAAABiAAAAAQAAAF8AAABjAAAAAQAAAAAAAAAABAAAZAAAAGwAAAB0AAAAdgAAAG8AAABfAAAAdwAAAGEAAABiAAAAZAAAAF8AAABjAAAAbQAAAAAAAAAQBAAAZAAAAG4AAAB0AAAAeAAAAG8AAABfAAAAeQAAAGEAAABiAAAAZQAAAF8AAABjAAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFZVVVUCAAAAAAAAAAIAAACamZmZAwAAAFZVVVUDAAAAJUmSJAMAAAAAAAAAAwAAAMhxHMcEAAAAmpmZmQQAAABGF110BAAAAFZVVVUEAAAAPLETOwQAAAAlSZIkBAAAABIREREEAAAAAAAAAAQAAADi4eHhBQAAAMhxHMcFAAAAy2sorwUAAACamZmZBQAAAIdhGIYFAAAARhdddAUAAACRhSxkBQAAAFZVVVUFAAAAexSuRwUAAAA8sRM7BQAAANtLaC8FAAAAJUmSJAUAAAASlnsaBQAAABIREREFAAAAhRBCCAUAAAAAAAAABQAAAAgffPAGAAAA4uHh4QYAAADVQR3UBgAAAMhxHMcGAAAATZHPugYAAADLayivBgAAAKVBGqQGAAAAmpmZmQYAAAD6GJyPBgAAAIdhGIYGAAAAGPQFfQYAAABGF110BgAAAG3BFmwGAAAAkYUsZAYAAAC6gphcBgAAAFZVVVUGAAAAcwpeTgYAAAB7FK5HBgAAAEJBQUEGAAAAPLETOwYAAACzzyE1BgAAANtLaC8GAAAAnxLkKQYAAAAlSZIkBgAAAN1HcB8GAAAAEpZ7GgYAAAD45bEVBgAAABIREREGAAAA/BSXDAYAAACFEEIIBgAAAAVBEAQGAAAAAAAAAAYAAAD5gR/4BwAAAAgffPAHAAAAwBoT6QcAAADi4eHhBwAAAGwH5toHAAAA1UEd1AcAAACRaIXNBwAAAMhxHMcHAAAAOXDgwAcAAABNkc+6BwAAAE8b6LQHAAAAy2sorwcAAAAH9o6pBwAAAKVBGqQHAAAAUunIngcAAACamZmZBwAAAM4Pi5QHAAAA+hicjwcAAAD3kMuKBwAAAIdhGIYHAAAAgoGBgQcAAAAY9AV9BwAAABjIpHgHAAAARhdddAcAAADBBS5wBwAAAG3BFmwHAAAAaYEWaAcAAACRhSxkBwAAAAYWWGAHAAAAuoKYXAcAAAAJI+1YBwAAAFZVVVUHAAAAr37QUQcAAABzCl5OBwAAAAZq/UoHAAAAexSuRwcAAABXhm9EBwAAAEJBQUEHAAAAz8siPgcAAAA8sRM7BwAAADmBEzgHAAAAs88hNQcAAACjND4yBwAAANtLaC8HAAAA2bSfLAcAAACfEuQpBwAAAIkLNScHAAAAJUmSJAcAAAATePshBwAAAN1HcB8HAAAA22rwHAcAAAASlnsaBwAAABmBERgHAAAA+OWxFQcAAAAUgVwTBwAAABIREREHAAAAv1bPDgcAAAD8FJcMBwAAAKcQaAoHAAAAhRBCCAcAAAAw3SQGBwAAAAVBEAQHAAAAEQgEAgcAAAAAAAAABwAAACDwB/wIAAAA+YEf+AgAAADlWUb0CAAAAAgffPAIAAAAMXvA7AgAAADAGhPpCAAAAJGsc+UIAAAA4uHh4QgAAABAbl3eCAAAAGwH5toIAAAATGV71wgAAADVQR3UCAAAAPdYy9AIAAAAkWiFzQgAAABWMEvKCAAAAMhxHMcIAAAAHfD4wwgAAAA5cODACAAAAJq40r0IAAAATZHPuggAAADew9a3CAAAAE8b6LQIAAAAB2QDsggAAADLayivCAAAAK0BV6wIAAAAB/aOqQgAAABuGtCmCAAAAKVBGqQIAAAAmD9toQgAAABS6cieCAAAAO8ULZwIAAAAmpmZmQgAAACBTw6XCAAAAM4Pi5QIAAAAnrQPkggAAAD6GJyPCAAAANQYMI0IAAAA95DLiggAAAALX26ICAAAAIdhGIYIAAAArHfJgwgAAACCgYGBCAAAANFfQH8IAAAAGPQFfQgAAACPINJ6CAAAABjIpHgIAAAARM59dggAAABGF110CAAAAPWHQnIIAAAAwQUucAgAAAC1dh9uCAAAAG3BFmwIAAAAFs0TaggAAABpgRZoCAAAAKbGHmYIAAAAkYUsZAgAAABxpz9iCAAAAAYWWGAIAAAAjrt1XggAAAC6gphcCAAAALFWwFoIAAAACSPtWAgAAADG0x5XCAAAAFZVVVUIAAAAkJSQUwgAAACvftBRCAAAAFEBFVAIAAAAcwpeTggAAABziKtMCAAAAAZq/UoIAAAAPJ5TSQgAAAB7FK5HCAAAAIC8DEYIAAAAV4ZvRAgAAABeYtZCCAAAAEJBQUEIAAAA/BOwPwgAAADPyyI+CAAAAEhamTwIAAAAPLETOwgAAADCwpE5CAAAADmBEzgIAAAAPt+YNggAAACzzyE1CAAAALZFrjMIAAAAozQ+MggAAAAUkNEwCAAAANtLaC8IAAAABVwCLggAAADZtJ8sCAAAANFKQCsIAAAAnxLkKQgAAAApAYsoCAAAAIkLNScIAAAACSfiJQgAAAAlSZIkCAAAAIpnRSMIAAAAE3j7IQgAAADHcLQgCAAAAN1HcB8IAAAAtPMuHggAAADbavAcCAAAAAWktBsIAAAAEpZ7GggAAAAJOEUZCAAAABmBERgIAAAAlWjgFggAAAD45bEVCAAAAOHwhRQIAAAAFIFcEwgAAAB2jjUSCAAAABIREREIAAAAEAHvDwgAAAC/Vs8OCAAAAIkKsg0IAAAA/BSXDAgAAADDbn4LCAAAAKcQaAoIAAAAkfNTCQgAAACFEEIICAAAAKVgMgcIAAAAMN0kBggAAAB+fxkFCAAAAAVBEAQIAAAAUhsJAwgAAAARCAQCCAAAAAIBAQEIAAAA/////wAAAAAgBAAAcAAAAHEAAAAIAAAAAwAAAHoAAAByAAAACQAAAP////8AAAAAMAQAAHMAAAB0AAAACgAAAAQAAAB6AAAAcgAAAAsAAAD/////8BgAAAUAAAAAAAAAAAAAAHsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAAkE4AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGROAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAAAAAAEAEAAB1AAAAdgAAAHcAAAB4AAAAEgAAAAEAAAABAAAAAwAAAAAAAABoBAAAdQAAAHkAAAB3AAAAeAAAABIAAAACAAAAAgAAAAQAAAAAAAAAeAQAAHoAAAB7AAAAfAAAAAAAAACIBAAAegAAAHwAAAB8AAAATjVkcmFjbzExRW5jb2RlckJhc2VJTlNfMThFbmNvZGVyT3B0aW9uc0Jhc2VJTlNfMTdHZW9tZXRyeUF0dHJpYnV0ZTRUeXBlRUVFRUUATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRW5jb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVFbmNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAdXNlX2J1aWx0X2luX2F0dHJpYnV0ZV9jb21wcmVzc2lvbgBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzhTZXF1ZW50aWFsUXVhbnRpemF0aW9uQXR0cmlidXRlRW5jb2RlckUAcHJlZGljdGlvbl9zY2hlbWUATjVkcmFjbzExRW5jb2RlckJhc2VJTlNfMThFbmNvZGVyT3B0aW9uc0Jhc2VJaUVFRUUATjVkcmFjbzdFbmNvZGVyRQBlbmNvZGluZ19zcGVlZABkZWNvZGluZ19zcGVlZABxdWFudGl6YXRpb25fb3JpZ2luAHF1YW50aXphdGlvbl9yYW5nZQAgAE41ZHJhY28xM0V4cGVydEVuY29kZXJFAGVuY29kaW5nX21ldGhvZABxdWFudGl6YXRpb25fYml0cwBJbnZhbGlkIGVuY29kaW5nIG1ldGhvZC4Ac3RhbmRhcmRfZWRnZWJyZWFrZXIAcHJlZGljdGl2ZV9lZGdlYnJlYWtlcgBlZGdlYnJlYWtlcl9tZXRob2QATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRW5jb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUAc3BsaXRfbWVzaF9vbl9zZWFtcwBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbEVuY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZUVuY29kZXJFRUUAc3RvcmVfbnVtYmVyX29mX2VuY29kZWRfZmFjZXMATjVkcmFjbzExTWVzaEVuY29kZXJFAGNvbXByZXNzX2Nvbm5lY3Rpdml0eQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRW5jb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZEVuY29kZXJFAEludmFsaWQgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBpbml0aWFsaXplIGVuY29kZXIuAEZhaWxlZCB0byBlbmNvZGUgaW50ZXJuYWwgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZW5jb2RlIHBvaW50IGF0dHJpYnV0ZXMuAHN0b3JlX251bWJlcl9vZl9lbmNvZGVkX3BvaW50cwBGYWlsZWQgdG8gZW5jb2RlIG1ldGFkYXRhLgBEUkFDTwBONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRW5jb2RlckUATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxFbmNvZGVyRQBzeW1ib2xfZW5jb2RpbmdfbWV0aG9kAHN5bWJvbF9lbmNvZGluZ19jb21wcmVzc2lvbl9sZXZlbABONWRyYWNvNE1lc2hFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATjVkcmFjbzEwUG9pbnRDbG91ZEUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAGluZmluaXR5AG5hbgAlZAAlZgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function 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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+20112;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,lBwAAAQdAAC8HAAAUh0AACAAAAAAAAAAlBwAAHkdAAC8HAAAlh0AACAAAAAAAAAAlBwAAL8dAAC8HAAA2x0AADgAAAAAAAAAlBwAAP0dAAC8HAAAIh4AADgAAAAAAAAAvBwAANoqAABQAAAAAAAAALwcAABSHgAAiAAAAAAAAAC8HAAAqx4AAJgAAAAAAAAAvBwAAP8eAACoAAAAAAAAALwcAAAzHwAAuAAAAAAAAACUHAAAXh8AALwcAACCHwAA0AAAAAAAAACUHAAAICAAALwcAAC+IAAA6AAAAAAAAAC8HAAAViEAAIgAAAAAAAAAvBwAAN8hAADoAAAAAAAAALwcAAB5IgAA6AAAAAAAAAC8HAAACyMAAOgAAAAAAAAAvBwAALEjAADoAAAAAAAAALwcAABMJAAA6AAAAAAAAAC8HAAA4iQAAFgBAAAAAAAAlBwAAI0lAAC8HAAAOCYAAHABAAAAAAAAvBwAAN0mAACIAAAAAAAAALwcAABzJwAAcAEAAAAAAAC8HAAAGigAAHABAAAAAAAAvBwAALkoAABwAQAAAAAAALwcAABsKQAAcAEAAAAAAAC8HAAAFCoAAHABAAAAAAAAvBwAAMg4AABoAAAAAAAAALwcAAAGKwAA8AEAAAAAAAC8HAAAdysAAJgAAAAAAAAAvBwAAOMrAAAQAgAAAAAAAJQcAACZLAAAvBwAAE8tAAAoAgAAAAAAALwcAAD/LQAA8AEAAAAAAAC8HAAAoC4AACgCAAAAAAAAvBwAAFIvAAAoAgAAAAAAALwcAAD8LwAAKAIAAAAAAAC8HAAAujAAACgCAAAAAAAAvBwAAG0xAAAoAgAAAAAAALwcAAAbMgAAmAIAAAAAAACUHAAA3jIAALwcAAChMwAAsAIAAAAAAAC8HAAAXjQAAPABAAAAAAAAvBwAAAw1AACwAgAAAAAAALwcAADLNQAAsAIAAAAAAAC8HAAAgjYAALACAAAAAAAAvBwAAE03AACwAgAAAAAAALwcAAANOAAAsAIAAAAAAAC8HAAA8zgAAGgAAAAAAAAAvBwAAGk5AAAIAAAAAAAAAJQcAAA2OQAAvBwAAHw5AAAwAwAAAAAAALwcAABTOgAAyAMAAAAAAAC8HAAAVT0AALADAAAAAAAAlBwAAHQ6AAC8HAAAvDoAAIADAAAAAAAAlBwAAIY7AACUHAAAoDsAALwcAADbOwAAgAMAAAAAAAC8HAAAmDwAAIADAAAAAAAAlBwAAKE9AAC8HAAAzz0AALADAAAAAAAAvBwAAEA+AAD4AwAAAAAAALwcAACGPgAAyAMAAAAAAAC8HAAAbD4AAIADAAAAAAAAlBwAAKY+AAC8HAAAmz8AAPgDAAAAAAAAvBwAAL0/AAD4AwAAAAAAALwcAAAcQAAAMAQAAAAAAACUHAAAbkAAAJQcAACdSgAAvBwAAP1KAABQBAAAAAAAALwcAACqSgAAYAQAAAAAAACUHAAAy0oAALwcAADYSgAAQAQAAAAAAAC8HAAA30sAADgEAAAAAAAAvBwAAO9LAAB4BAAAAAAAALwcAAAkTAAAUAQAAAAAAAC8HAAAAEwAAJgEAAAAAAAAAAAAAAgAAAABAAAAAgAAAAAAAAAQAAAAAwAAAAQAAAABAAAAAQAAAAEAAAAAAAAAKAAAAAUAAAAGAAAAAgAAAAIAAAACAAAA//////////8AAAAAOAAAAAcAAAAIAAAAAQAAAAMAAAABAAAABAAAAAUAAAACAAAABgAAAAcAAAADAAAAAQAAAAgAAAAAAAAAQAAAAAkAAAAKAAAAAQAAAAMAAAAEAAAABAAAAAUAAAACAAAABgAAAAcAAAAFAAAACQAAAAoAAAAAAAAAUAAAAAsAAAAMAAAAAwAAAAsAAAAMAAAABAAAAA0AAAAGAAAABwAAAA4AAAAPAAAABQAAAAAAAABYAAAADQAAAA4AAAAGAAAAEAAAAAgAAAARAAAAEgAAAAcAAAATAAAAFAAAAAkAAAAVAAAAFgAAAAoAAAABAAAAAAAAAGgAAAAPAAAAEAAAAAgAAAALAAAAFwAAAAQAAAANAAAABgAAAAsAAAAOAAAADwAAAAkAAAACAAAACgAAAP////8AAAAAiAAAABEAAAASAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAB4AAAAEQAAABMAAAAQAAAADAAAABEAAAANAAAAGAAAABkAAAAOAAAADwAAABoAAAABAAAAAAAAADgBAAARAAAAFAAAABIAAAAMAAAAEwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAIAAAAAAAAAKAEAABEAAAAVAAAAFAAAAAwAAAAVAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAwAAAAAAAAAIAQAAFgAAABcAAAAWAAAADAAAABcAAAAYAAAAGwAAABwAAAAOAAAADwAAAB0AAAAEAAAAAAAAAPgAAAAYAAAAGQAAABkAAAAMAAAAGgAAABsAAAAeAAAAHwAAAA4AAAAPAAAAIAAAAAUAAAAAAAAA2AAAABoAAAAbAAAAHAAAAAwAAAAdAAAAHgAAACEAAAAiAAAADgAAAA8AAAAjAAAABgAAAAAAAADAAAAAHAAAAB0AAAAkAAAAHwAAAAMAAAAAAAAA6AAAABEAAAAeAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAAYAQAAHwAAACAAAAAgAAAADAAAACEAAAANAAAAGAAAABkAAAAOAAAADwAAACUAAAAHAAAAAAAAAMABAAARAAAAIQAAACIAAAAMAAAAIwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAgAAAAAAAAAsAEAABEAAAAiAAAAJAAAAAwAAAAlAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAACQAAAAAAAACQAQAAIwAAACQAAAAmAAAADAAAACcAAAAoAAAAJgAAACcAAAAOAAAADwAAACgAAAAKAAAAAAAAAIABAAAlAAAAJgAAACkAAAAMAAAAKgAAACsAAAApAAAAKgAAAA4AAAAPAAAAKwAAAAsAAAAAAAAAYAEAACcAAAAoAAAALAAAAAwAAAAtAAAALgAAACwAAAAtAAAADgAAAA8AAAAuAAAADAAAAAAAAABIAQAAKQAAACoAAAAvAAAALwAAAAQAAAAAAAAAcAEAABEAAAArAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAACgAQAALAAAAC0AAAAwAAAADAAAADEAAAANAAAAGAAAABkAAAAOAAAADwAAADAAAAANAAAAAAAAANABAAAuAAAALwAAAAsAAAALAAAAFwAAAAQAAAAxAAAAMgAAADMAAAAOAAAADwAAAAkAAAAFAAAADAAAAAAAAADgAQAAMAAAADEAAAA0AAAANQAAADYAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAOAAAAAAAAAHgCAAAwAAAAMgAAADoAAAA1AAAAOwAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAAA8AAAAAAAAAaAIAADAAAAAzAAAAPAAAADUAAAA9AAAANwAAADIAAAAzAAAAOAAAADkAAAA0AAAAEAAAAAAAAABYAgAANAAAADUAAAA+AAAANQAAAD8AAAA3AAAAMgAAADMAAAA4AAAAOQAAADUAAAARAAAAAAAAAEgCAAA2AAAANwAAAEAAAAA1AAAAQQAAAEIAAAA2AAAANwAAADgAAAA5AAAAOAAAABIAAAAAAAAAOAIAADgAAAA5AAAAQwAAADUAAABEAAAARQAAADkAAAA6AAAAOAAAADkAAAA7AAAAEwAAAAAAAAAYAgAAOgAAADsAAABGAAAANQAAAEcAAABIAAAAPAAAAD0AAAA4AAAAOQAAAD4AAAAUAAAAAAAAAAACAAA8AAAAPQAAAD8AAABJAAAABgAAAAAAAAAAAwAAMAAAAD4AAABKAAAANQAAAEsAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAVAAAAAAAAAPACAAAwAAAAPwAAAEwAAAA1AAAATQAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAABYAAAAAAAAA4AIAAEAAAABBAAAATgAAADUAAABPAAAANwAAADIAAAAzAAAAOAAAADkAAABAAAAAFwAAAAAAAADQAgAAQgAAAEMAAABQAAAANQAAAFEAAABSAAAAQQAAAEIAAAA4AAAAOQAAAEMAAAAYAAAAAAAAAMACAABEAAAARQAAAFMAAAA1AAAAVAAAAFUAAABEAAAARQAAADgAAAA5AAAARgAAABkAAAAAAAAAoAIAAEYAAABHAAAAVgAAADUAAABXAAAAWAAAAEcAAABIAAAAOAAAADkAAABJAAAAGgAAAAAAAACIAgAASAAAAEkAAABKAAAAWQAAAAcAAAAAAAAAEAMAAEoAAABLAAAADQAAAAsAAAAXAAAABAAAAEsAAABaAAAAWwAAAA4AAAAPAAAACQAAAAIAAAAOAAAAAAAAACADAAABAAAATAAAAAEAAAACAAAAAAAAADADAABNAAAATgAAAAAAAAA4AwAATQAAAE8AAAAAAAAASAMAAFAAAABRAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAEwAAABNAAAAYwAAAFIAAABkAAAATgAAAE8AAABlAAAAUwAAAAAAAABYAwAAVAAAAFUAAABQAAAAUQAAAFIAAABTAAAAVAAAAGYAAABnAAAAVQAAAGgAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABwAwAAVgAAAFcAAABWAAAAaQAAAAAAAABoAwAAWAAAAFkAAABaAAAA/////wAAAACQAwAAWwAAAFwAAABXAAAAagAAAAAAAACIAwAAXQAAAF4AAABfAAAAAAAAAKADAABgAAAAYQAAAFgAAABrAAAAAAAAALgDAABiAAAAYwAAAFkAAABaAAAAWwAAAFwAAABdAAAAbAAAAG0AAABeAAAAbgAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAMgDAABkAAAAZQAAAFwAAAABAAAAbwAAAF8AAABgAAAAYQAAAGIAAAABAAAAXwAAAGMAAAABAAAAcAAAAGAAAABhAAAAAQAAAAEAAAAAAAAA2AMAAGQAAABmAAAAXAAAAHEAAABvAAAAXwAAAGAAAABhAAAAYgAAAGIAAABfAAAAYwAAAGcAAABwAAAAYAAAAGEAAAByAAAAaAAAAAAAAADoAwAAaQAAAGoAAABjAAAAcwAAAAAAAAD4AwAAZAAAAGsAAAB0AAAAAQAAAG8AAABfAAAAdQAAAGEAAABiAAAAAQAAAF8AAABjAAAAAQAAAAAAAAAABAAAZAAAAGwAAAB0AAAAdgAAAG8AAABfAAAAdwAAAGEAAABiAAAAZAAAAF8AAABjAAAAbQAAAAAAAAAQBAAAZAAAAG4AAAB0AAAAeAAAAG8AAABfAAAAeQAAAGEAAABiAAAAZQAAAF8AAABjAAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFZVVVUCAAAAAAAAAAIAAACamZmZAwAAAFZVVVUDAAAAJUmSJAMAAAAAAAAAAwAAAMhxHMcEAAAAmpmZmQQAAABGF110BAAAAFZVVVUEAAAAPLETOwQAAAAlSZIkBAAAABIREREEAAAAAAAAAAQAAADi4eHhBQAAAMhxHMcFAAAAy2sorwUAAACamZmZBQAAAIdhGIYFAAAARhdddAUAAACRhSxkBQAAAFZVVVUFAAAAexSuRwUAAAA8sRM7BQAAANtLaC8FAAAAJUmSJAUAAAASlnsaBQAAABIREREFAAAAhRBCCAUAAAAAAAAABQAAAAgffPAGAAAA4uHh4QYAAADVQR3UBgAAAMhxHMcGAAAATZHPugYAAADLayivBgAAAKVBGqQGAAAAmpmZmQYAAAD6GJyPBgAAAIdhGIYGAAAAGPQFfQYAAABGF110BgAAAG3BFmwGAAAAkYUsZAYAAAC6gphcBgAAAFZVVVUGAAAAcwpeTgYAAAB7FK5HBgAAAEJBQUEGAAAAPLETOwYAAACzzyE1BgAAANtLaC8GAAAAnxLkKQYAAAAlSZIkBgAAAN1HcB8GAAAAEpZ7GgYAAAD45bEVBgAAABIREREGAAAA/BSXDAYAAACFEEIIBgAAAAVBEAQGAAAAAAAAAAYAAAD5gR/4BwAAAAgffPAHAAAAwBoT6QcAAADi4eHhBwAAAGwH5toHAAAA1UEd1AcAAACRaIXNBwAAAMhxHMcHAAAAOXDgwAcAAABNkc+6BwAAAE8b6LQHAAAAy2sorwcAAAAH9o6pBwAAAKVBGqQHAAAAUunIngcAAACamZmZBwAAAM4Pi5QHAAAA+hicjwcAAAD3kMuKBwAAAIdhGIYHAAAAgoGBgQcAAAAY9AV9BwAAABjIpHgHAAAARhdddAcAAADBBS5wBwAAAG3BFmwHAAAAaYEWaAcAAACRhSxkBwAAAAYWWGAHAAAAuoKYXAcAAAAJI+1YBwAAAFZVVVUHAAAAr37QUQcAAABzCl5OBwAAAAZq/UoHAAAAexSuRwcAAABXhm9EBwAAAEJBQUEHAAAAz8siPgcAAAA8sRM7BwAAADmBEzgHAAAAs88hNQcAAACjND4yBwAAANtLaC8HAAAA2bSfLAcAAACfEuQpBwAAAIkLNScHAAAAJUmSJAcAAAATePshBwAAAN1HcB8HAAAA22rwHAcAAAASlnsaBwAAABmBERgHAAAA+OWxFQcAAAAUgVwTBwAAABIREREHAAAAv1bPDgcAAAD8FJcMBwAAAKcQaAoHAAAAhRBCCAcAAAAw3SQGBwAAAAVBEAQHAAAAEQgEAgcAAAAAAAAABwAAACDwB/wIAAAA+YEf+AgAAADlWUb0CAAAAAgffPAIAAAAMXvA7AgAAADAGhPpCAAAAJGsc+UIAAAA4uHh4QgAAABAbl3eCAAAAGwH5toIAAAATGV71wgAAADVQR3UCAAAAPdYy9AIAAAAkWiFzQgAAABWMEvKCAAAAMhxHMcIAAAAHfD4wwgAAAA5cODACAAAAJq40r0IAAAATZHPuggAAADew9a3CAAAAE8b6LQIAAAAB2QDsggAAADLayivCAAAAK0BV6wIAAAAB/aOqQgAAABuGtCmCAAAAKVBGqQIAAAAmD9toQgAAABS6cieCAAAAO8ULZwIAAAAmpmZmQgAAACBTw6XCAAAAM4Pi5QIAAAAnrQPkggAAAD6GJyPCAAAANQYMI0IAAAA95DLiggAAAALX26ICAAAAIdhGIYIAAAArHfJgwgAAACCgYGBCAAAANFfQH8IAAAAGPQFfQgAAACPINJ6CAAAABjIpHgIAAAARM59dggAAABGF110CAAAAPWHQnIIAAAAwQUucAgAAAC1dh9uCAAAAG3BFmwIAAAAFs0TaggAAABpgRZoCAAAAKbGHmYIAAAAkYUsZAgAAABxpz9iCAAAAAYWWGAIAAAAjrt1XggAAAC6gphcCAAAALFWwFoIAAAACSPtWAgAAADG0x5XCAAAAFZVVVUIAAAAkJSQUwgAAACvftBRCAAAAFEBFVAIAAAAcwpeTggAAABziKtMCAAAAAZq/UoIAAAAPJ5TSQgAAAB7FK5HCAAAAIC8DEYIAAAAV4ZvRAgAAABeYtZCCAAAAEJBQUEIAAAA/BOwPwgAAADPyyI+CAAAAEhamTwIAAAAPLETOwgAAADCwpE5CAAAADmBEzgIAAAAPt+YNggAAACzzyE1CAAAALZFrjMIAAAAozQ+MggAAAAUkNEwCAAAANtLaC8IAAAABVwCLggAAADZtJ8sCAAAANFKQCsIAAAAnxLkKQgAAAApAYsoCAAAAIkLNScIAAAACSfiJQgAAAAlSZIkCAAAAIpnRSMIAAAAE3j7IQgAAADHcLQgCAAAAN1HcB8IAAAAtPMuHggAAADbavAcCAAAAAWktBsIAAAAEpZ7GggAAAAJOEUZCAAAABmBERgIAAAAlWjgFggAAAD45bEVCAAAAOHwhRQIAAAAFIFcEwgAAAB2jjUSCAAAABIREREIAAAAEAHvDwgAAAC/Vs8OCAAAAIkKsg0IAAAA/BSXDAgAAADDbn4LCAAAAKcQaAoIAAAAkfNTCQgAAACFEEIICAAAAKVgMgcIAAAAMN0kBggAAAB+fxkFCAAAAAVBEAQIAAAAUhsJAwgAAAARCAQCCAAAAAIBAQEIAAAA/////wAAAAAgBAAAcAAAAHEAAAAIAAAAAwAAAHoAAAByAAAACQAAAP////8AAAAAMAQAAHMAAAB0AAAACgAAAAQAAAB6AAAAcgAAAAsAAAD/////8BgAAAUAAAAAAAAAAAAAAHsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAAjE4AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAlEoAAAAAAABABAAAdQAAAHYAAAB3AAAAeAAAABIAAAABAAAAAQAAAAMAAAAAAAAAaAQAAHUAAAB5AAAAdwAAAHgAAAASAAAAAgAAAAIAAAAEAAAAAAAAAHgEAAB6AAAAewAAAHwAAAAAAAAAiAQAAHoAAAB8AAAAfAAAAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSU5TXzE3R2VvbWV0cnlBdHRyaWJ1dGU0VHlwZUVFRUVFAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzIzS2RUcmVlQXR0cmlidXRlc0VuY29kZXJFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRW5jb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZEVuY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRW5jb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAHVzZV9idWlsdF9pbl9hdHRyaWJ1dGVfY29tcHJlc3Npb24ATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRW5jb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZUVuY29kZXJFAHByZWRpY3Rpb25fc2NoZW1lAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSWlFRUVFAE41ZHJhY283RW5jb2RlckUAIABONWRyYWNvMTNFeHBlcnRFbmNvZGVyRQBlbmNvZGluZ19tZXRob2QAcXVhbnRpemF0aW9uX2JpdHMASW52YWxpZCBlbmNvZGluZyBtZXRob2QuAGVuY29kaW5nX3NwZWVkAGRlY29kaW5nX3NwZWVkAHF1YW50aXphdGlvbl9vcmlnaW4AcXVhbnRpemF0aW9uX3JhbmdlAHN0YW5kYXJkX2VkZ2VicmVha2VyAHByZWRpY3RpdmVfZWRnZWJyZWFrZXIAZWRnZWJyZWFrZXJfbWV0aG9kAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckVuY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAHNwbGl0X21lc2hfb25fc2VhbXMATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxFbmNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VFbmNvZGVyRUVFAHN0b3JlX251bWJlcl9vZl9lbmNvZGVkX2ZhY2VzAE41ZHJhY28xMU1lc2hFbmNvZGVyRQBjb21wcmVzc19jb25uZWN0aXZpdHkATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbEVuY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWRFbmNvZGVyRQBJbnZhbGlkIGlucHV0IGdlb21ldHJ5LgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBlbmNvZGVyLgBGYWlsZWQgdG8gZW5jb2RlIGludGVybmFsIGRhdGEuAEZhaWxlZCB0byBlbmNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBzdG9yZV9udW1iZXJfb2ZfZW5jb2RlZF9wb2ludHMARmFpbGVkIHRvIGVuY29kZSBtZXRhZGF0YS4ARFJBQ08ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZUVuY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRW5jb2RlckUAc3ltYm9sX2VuY29kaW5nX21ldGhvZABzeW1ib2xfZW5jb2RpbmdfY29tcHJlc3Npb25fbGV2ZWwATjVkcmFjbzRNZXNoRQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAE41ZHJhY28xMFBvaW50Q2xvdWRFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABpbmZpbml0eQBuYW4AJWQAJWYAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=Runtime.staticAlloc(4);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_ii;var ga=env.invoke_iii;var ha=env.invoke_iiii;var ia=env.invoke_iiiiiii;var ja=env.invoke_v;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viii;var na=env.invoke_viiii;var oa=env.invoke_viiiii;var pa=env.invoke_viiiiii;var qa=env.__ZSt18uncaught_exceptionv;var ra=env.___cxa_allocate_exception;var sa=env.___cxa_begin_catch;var ta=env.___cxa_find_matching_catch;var ua=env.___cxa_pure_virtual;var va=env.___cxa_throw;var wa=env.___gxx_personality_v0;var xa=env.___resumeException;var ya=env.___setErrNo;var za=env.___syscall140;var Aa=env.___syscall146;var Ba=env.___syscall6;var Ca=env._abort;var Da=env._emscripten_memcpy_big;var Ea=env._pthread_getspecific;var Fa=env._pthread_key_create;var Ga=env._pthread_once;var Ha=env._pthread_setspecific;var Ia=$(0);const Ja=$(0);function Ka(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function be(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)$q(l);l=a+8|0;Ph(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;nq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Cc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)nq(y);return 0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Oa,t=Oa,u=Oa,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=vn(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;Ii(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0>>0?(q=o+(k<<2)|0,(q|0)!=(p|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{Di(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=hh(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0>>0?(r=m+(d<<2)|0,(r|0)!=(n|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{Di(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Mf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((i|0)==(v|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);br(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Uc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Vc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Wc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Xc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Yc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));Zc(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=2097152;if(d){d=c;c=2097152;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Of(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));_c(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=1048576;if(d){d=c;c=1048576;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Pf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));$c(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=262144;if(d){d=c;c=262144;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Sf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));ad(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=131072;if(d){d=c;c=131072;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Tf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));bd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=32768;if(d){d=c;c=32768;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Vf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));cd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));dd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));ed(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));fd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));gd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function te(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));hd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));id(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function ve(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)nq(h);else{l=vn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;uj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=ho(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;l=i;p=l+36|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(p|0));jd(i,n,o-n>>3,e)|0;n=i+16|0;o=fo(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=ho(o|0,I|0,39,0)|0;o=ko(l|0,I|0,3)|0;l=ho(o|0,I|0,8,0)|0;o=ho(l|0,I|0,n|0,0)|0;Jl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}$f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);br(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);br(e);u=g;return 1}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Me(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Me(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,i,i+1|0)|0;u=d;return 1}function ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Ph(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;nq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];ub(k,i,b,x)|0;l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)nq(z);return 0}function Ae(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Ph(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;nq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];tb(k,i,b,x)|0;l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)nq(z);return 0}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=0;m=g;while(1){f[d>>2]=(a>>>0)/3|0;f[c>>2]=f[d>>2];if(!(dk(m,c)|0)?(g=f[e>>2]|0,(f[(f[g+12>>2]|0)+(a<<2)>>2]|0)==-1):0){n=a+1|0;o=((n>>>0)%3|0|0)==0?a+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[g>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){g=f[k>>2]|0;n=f[l>>2]|0;if((g|0)==(n<<5|0)){if((g+1|0)<0){q=11;break}r=n<<6;n=g+32&-32;wi(j,g>>>0<1073741823?(r>>>0>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=g;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=a;n=o;while(1){f[n>>2]=g;o=r+1|0;a:do if((r|0)!=-1?(v=((o>>>0)%3|0|0)==0?r+-2|0:o,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=y;C=-1}else{B=y;C=f[(f[w>>2]|0)+(A<<2)>>2]|0}}else{B=-1;C=-1}while(0);n=t+(C<<2)|0;if((f[n>>2]|0)!=-1)break;else r=B}}}}r=a+1|0;if(r>>>0>=h>>>0){q=3;break}a=r;m=f[e>>2]|0}if((q|0)==3){u=b;return 1}else if((q|0)==11)nq(j);return 0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)nq(a);p=k<<6;k=b+31&-32;wi(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;qm(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)br(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;uj(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;uj(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function De(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Jj(d)|0;if(l>>>0>4294967279)nq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=vn(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){kh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Jj(e)|0;if(l>>>0>4294967279)nq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=vn(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){kh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Jj(d)|0;if(l>>>0>4294967279)nq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=vn(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){kh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Jj(e)|0;if(l>>>0>4294967279)nq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=vn(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){kh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;wn(c,i,j);if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if((b[i+11>>0]|0)<0)br(f[i>>2]|0);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);k=1;u=a;return k|0}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];f[a+132>>2]=f[c+132>>2];return}function Fe(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Th(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0<=28){f[k>>2]=p;c=1<>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))q=g;else{c=d+84|0;r=d+68|0;s=d+48|0;t=d+40|0;v=0;w=0;x=p;while(1){p=f[x+(v<<2)>>2]|0;if(!(b[c>>0]|0))y=f[(f[r>>2]|0)+(p<<2)>>2]|0;else y=p;p=s;z=f[p>>2]|0;A=f[p+4>>2]|0;p=t;B=f[p>>2]|0;C=En(B|0,f[p+4>>2]|0,y|0,0)|0;p=ho(C|0,I|0,z|0,A|0)|0;kh(j|0,(f[f[d>>2]>>2]|0)+p|0,B|0)|0;tf(k,j,l,m);f[o+(w<<2)>>2]=f[l>>2];f[o+((w|1)<<2)>>2]=f[m>>2];v=v+1|0;x=f[e>>2]|0;if(v>>>0>=(f[n>>2]|0)-x>>2>>>0)break;else w=w+2|0}q=f[i>>2]|0}f[a>>2]=q;f[i>>2]=0;u=h;return}f[a>>2]=0;f[i>>2]=0;if(!g){u=h;return}i=g+88|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){q=a+12|0;if((f[q>>2]|0)!=(i|0))f[q>>2]=i;br(i)}br(a)}a=f[g+68>>2]|0;if(a|0){i=g+72|0;q=f[i>>2]|0;if((q|0)!=(a|0))f[i>>2]=q+(~((q+-4-a|0)>>>2)<<2);br(a)}a=g+64|0;q=f[a>>2]|0;f[a>>2]=0;if(q|0){a=f[q>>2]|0;if(a|0){i=q+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;br(a)}br(q)}br(g);u=h;return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=c;j=h;do{f[j>>2]=-1;Vk(j+4|0);b[j+100>>0]=1;k=j+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;j=(f[g>>2]|0)+136|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/136|0;h=j+c|0;if(h>>>0>31580641)nq(a);k=(e-i|0)/136|0;i=k<<1;e=k>>>0<15790320?(i>>>0>>0?h:i):31580641;do if(e)if(e>>>0>31580641){i=ra(8)|0;ap(i,16422);f[i>>2]=7412;va(i|0,1160,122)}else{l=vn(e*136|0)|0;break}else l=0;while(0);i=l+(j*136|0)|0;j=i;h=l+(e*136|0)|0;e=c;c=j;l=i;do{f[l>>2]=-1;Vk(l+4|0);b[l+100>>0]=1;k=l+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;l=c+136|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=f[g>>2]|0;if((l|0)==(e|0)){m=j;n=e;o=e}else{k=l;l=j;j=i;do{k=k+-136|0;Ee(j+-136|0,k);j=l+-136|0;l=j}while((k|0)!=(e|0));m=l;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);br(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);br(o)}Oi(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;br(n);return}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[b>>2]|0;b=a+12|0;d=(c|0)==-1;e=c+1|0;do if(!d){g=((e>>>0)%3|0|0)==0?c+-2|0:e;if(!((c>>>0)%3|0)){h=g;i=c+2|0;break}else{h=g;i=c+-1|0;break}}else{h=-1;i=-1}while(0);e=d?-1:(c>>>0)/3|0;g=a+28|0;j=(f[g>>2]|0)+(e>>>5<<2)|0;f[j>>2]=1<<(e&31)|f[j>>2];j=a+172|0;e=a+176|0;k=a+280|0;if(((!d?(d=f[(f[(f[b>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(d|0)!=-1):0)?(a=(d>>>0)/3|0,(f[(f[g>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0):0)?(a=f[j>>2]|0,(f[e>>2]|0)!=(a|0)):0){d=c>>>5;l=1<<(c&31);c=0;m=a;do{a=(f[k>>2]|0)+(c<<5)|0;if(!(l&f[(f[m+(c*136|0)+4>>2]|0)+(d<<2)>>2]))hj(a,0);else hj(a,1);c=c+1|0;m=f[j>>2]|0}while(c>>>0<(((f[e>>2]|0)-m|0)/136|0)>>>0)}if((((h|0)!=-1?(m=f[(f[(f[b>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0)?(c=(m>>>0)/3|0,(f[(f[g>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31)|0)==0):0)?(c=f[j>>2]|0,(f[e>>2]|0)!=(c|0)):0){m=h>>>5;d=1<<(h&31);h=0;l=c;do{c=(f[k>>2]|0)+(h<<5)|0;if(!(d&f[(f[l+(h*136|0)+4>>2]|0)+(m<<2)>>2]))hj(c,0);else hj(c,1);h=h+1|0;l=f[j>>2]|0}while(h>>>0<(((f[e>>2]|0)-l|0)/136|0)>>>0)}if((i|0)==-1)return 1;l=f[(f[(f[b>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((l|0)==-1)return 1;b=(l>>>0)/3|0;if(f[(f[g>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31)|0)return 1;b=f[j>>2]|0;if((f[e>>2]|0)==(b|0))return 1;g=i>>>5;l=1<<(i&31);i=0;h=b;do{b=(f[k>>2]|0)+(i<<5)|0;if(!(l&f[(f[h+(i*136|0)+4>>2]|0)+(g<<2)>>2]))hj(b,0);else hj(b,1);i=i+1|0;h=f[j>>2]|0}while(i>>>0<(((f[e>>2]|0)-h|0)/136|0)>>>0);return 1}function Ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;di((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=0;s=k;do{k=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[s+(r<<2)>>2]<<2)>>2]|0;b[h>>0]=f[k+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[k+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[k+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[k+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}di(f[k+60>>2]|0,c)|0;r=r+1|0;s=f[i>>2]|0}while(r>>>0<(f[j>>2]|0)-s>>2>>>0);u=d;return 1}function Je(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Th(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;Pp(i);Yo(i,$(n[c+20>>2]),(1<>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){$q(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=En(z|0,f[j+4>>2]|0,x|0,0)|0;j=ho(A|0,I|0,m|0,y|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0>>0);$q(g);u=h;return}while(1){k=f[e+(v<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=En(j|0,f[k+4>>2]|0,B|0,0)|0;k=ho(y|0,I|0,x|0,z|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=w;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($(F*$(f[c>>2]|0))+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=t>>>0)break;else w=w+l|0}$q(g);u=h;return}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;yp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;yp(k);l=b+4|0;if((a|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+8;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(a,g,e)}l=b+28|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+32;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+20|0;b=m;m=c;c=0;while(1){o=f[(f[b+(c<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Id(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=c;w=b;x=m}}else{v=c;w=b;x=m}c=v+1|0;f[j>>2]=c;if((c|0)>=(x-w>>2|0))break;else{b=w;m=x}}u=d;return}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;di(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}function Me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=r;u=o;while(1){b[u>>0]=b[t>>0]|0;t=t+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((t|0)==(e|0)){s=v;break}else u=v}}if((q|0)>0){w=r;x=s}else{k=c;return k|0}}else{w=e;x=o}s=x-(c+j)|0;r=c+s|0;if(r>>>0>>0){q=r;r=x;do{b[r>>0]=b[q>>0]|0;q=q+1|0;r=(f[n>>2]|0)+1|0;f[n>>2]=r}while((q|0)!=(o|0))}if(s|0)qm(x+(0-s)|0,c|0,s|0)|0;if((w|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(w|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)nq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0>>0?z:h):2147483647;h=c;if(!m)A=0;else A=vn(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=i;C=g}else{g=d;d=i;i=z;do{b[i>>0]=b[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(e|0));B=d;C=f[a>>2]|0}d=h-C|0;e=z+(0-d)|0;if((d|0)>0)kh(e|0,C|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=B;kh(h|0,c|0,d|0)|0;D=h+d|0;E=f[a>>2]|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=D;f[l>>2]=j;if(!E){k=z;return k|0}br(E);k=z;return k|0}function Ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=vn(40)|0;Ko(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=vn(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14821;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Lh(h,g)|0)!=0):0)t=Ok(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Ok(i,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=vn(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));Ko(c);f[c>>2]=2560;f[c+40>>2]=1232;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=vn(64)|0;Gm(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=vn(36)|0;Pm(c);j=c;k=j;f[a>>2]=k;u=e;return}function Oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=-1;i=n;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0;i=q}while(0);if(c){c=(f[a+84>>2]|0)+(h>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(h&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(h<<2)>>2]|0;q=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(c&31);if(!g){g=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((g|0)==-1){s=-1;t=i}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=i}}else{s=-1;t=-1}if((s|0)==(h|0)){u=r;return u|0}i=f[a+84>>2]|0;a=r;r=s;s=t;while(1){t=i+(r>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(r&31);t=a+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){q=f[b>>2]|0;d=f[q+12>>2]|0;p=c;while(1){c=f[d+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)==-1){v=-1;w=p}else{v=f[(f[q>>2]|0)+(d<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(h|0)){u=t;break}else{a=t;r=v;s=w}}return u|0}function Qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Th(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;Pp(h);Yo(h,$(n[c+20>>2]),(1<>>0>1073741823?-1:j<<2)|0;if(!e){$q(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=En(y|0,f[v+4>>2]|0,t|0,0)|0;v=ho(z|0,I|0,w|0,x|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));$q(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=En(v|0,f[i+4>>2]|0,A|0,0)|0;i=ho(x|0,I|0,t|0,y|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($(E*$(f[c>>2]|0))+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=r+j|0}$q(k);u=g;return}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Ui(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Ui(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=d;l=j}else{k=d;l=j}break}default:{k=0;l=g}}if((l+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=0;j=l;while(1){g=j+-48+(g*10|0)|0;l=f[c>>2]|0;if(l>>>0<(f[e>>2]|0)>>>0){f[c>>2]=l+1;o=h[l>>0]|0}else o=Ui(a)|0;if(!((o+-48|0)>>>0<10&(g|0)<214748364))break;else j=o}j=((g|0)<0)<<31>>31;if((o+-48|0)>>>0<10){l=o;d=g;b=j;while(1){i=En(d|0,b|0,10,0)|0;p=I;q=ho(l|0,((l|0)<0)<<31>>31|0,-48,-1)|0;r=ho(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Ui(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){l=s;d=r;b=p}else{t=s;u=r;v=p;break}}}else{t=o;u=g;v=j}if((t+-48|0)>>>0<10)do{t=f[c>>2]|0;if(t>>>0<(f[e>>2]|0)>>>0){f[c>>2]=t+1;w=h[t>>0]|0}else w=Ui(a)|0}while((w+-48|0)>>>0<10);if(f[e>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;c=(k|0)!=0;k=jo(0,0,u|0,v|0)|0;m=c?I:v;n=c?k:u}I=m;return n|0}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;ql(n);o=a+1088|0;ql(o);p=a+1068|0;ql(p);q=a+1036|0;Ij(q);r=a+12|0;Qh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+1108|0;ql(n);o=a+1088|0;ql(o);p=a+1068|0;ql(p);q=a+1036|0;Ij(q);r=a+12|0;Qh(r);return}function Te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Sa[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Sa[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)nq(e);else{l=a<<2;m=vn(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;uj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);br(q)}j=1;u=d;return j|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Rh(a+12|0);Gn(a+1036|0);Go(a+1068|0);Go(a+1088|0);Go(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+1164|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+1176|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function Ve(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=0;r=o;s=n;n=o;while(1){o=f[c+(q<<2)>>2]|0;t=f[k>>2]|0;if(t-s>>2>>>0>o>>>0){v=r;w=n}else{x=o+1|0;f[h>>2]=0;y=t-s>>2;z=s;A=t;if(x>>>0<=y>>>0)if(x>>>0>>0?(t=z+(x<<2)|0,(t|0)!=(A|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=r}else B=r;else{Eh(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(o<<2)|0;x=f[y>>2]|0;s=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,o>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=o;C=0.0}else C=0.0;else{D=+(x|0);C=+_g(D)*D}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=+_g(D)*D-C;p[a>>3]=+p[a>>3]+E;q=q+1|0;if((q|0)==(d|0))break;else{r=v;n=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Xe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=n;s=m}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0;q=k;r=f[k>>2]|0;s=f[l>>2]|0}a:do if((r|0)!=(s|0)){l=a+4|0;k=r;while(1){g=f[k>>2]|0;k=k+4|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,a,f[l>>2]|0)|0)){h=0;break}if((k|0)==(s|0))break a}u=c;return h|0}while(0);if(!(xc(a)|0)){h=0;u=c;return h|0}s=a+32|0;r=f[s>>2]|0;k=a+36|0;l=f[k>>2]|0;b:do if((r|0)!=(l|0)){g=r;do{if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(l|0));if((t|0)==18){u=c;return h|0}g=f[s>>2]|0;d=f[k>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[q>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ra[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=Qa[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}function Ye(a,b){a=a|0;b=b|0;ld(a,b);ld(a+32|0,b);ld(a+64|0,b);ld(a+96|0,b);ld(a+128|0,b);ld(a+160|0,b);ld(a+192|0,b);ld(a+224|0,b);ld(a+256|0,b);ld(a+288|0,b);ld(a+320|0,b);ld(a+352|0,b);ld(a+384|0,b);ld(a+416|0,b);ld(a+448|0,b);ld(a+480|0,b);ld(a+512|0,b);ld(a+544|0,b);ld(a+576|0,b);ld(a+608|0,b);ld(a+640|0,b);ld(a+672|0,b);ld(a+704|0,b);ld(a+736|0,b);ld(a+768|0,b);ld(a+800|0,b);ld(a+832|0,b);ld(a+864|0,b);ld(a+896|0,b);ld(a+928|0,b);ld(a+960|0,b);ld(a+992|0,b);ld(a+1024|0,b);return}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)nq(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}else{m=vn(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=m+(l<<2)|0;l=d+12|0;f[l>>2]=k;m=f[b>>2]|0;f[b>>2]=0;f[g>>2]=m;m=g+4|0;f[h>>2]=m;b=f[a>>2]|0;n=f[e>>2]|0;if((n|0)==(b|0)){o=g;p=l;q=h;r=b;s=m;t=n;v=k;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;li(d);u=c;return}else{y=n;z=g}do{y=y+-4|0;g=f[y>>2]|0;f[y>>2]=0;f[z+-4>>2]=g;z=(f[i>>2]|0)+-4|0;f[i>>2]=z}while((y|0)!=(b|0));o=z;p=l;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[l>>2]|0;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;li(d);u=c;return}function _e(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=f[a+64>>2]|0;if(!b)return;c=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;b=f[c+28>>2]|0;d=f[c+24>>2]|0;e=b-d>>2;g=e-(f[c+44>>2]|0)|0;h=f[a+56>>2]|0;i=d;if((b|0)==(d|0)?1:((f[h+12>>2]|0)-(f[h+8>>2]|0)|0)<5)j=g;else{d=c+12|0;c=h+96|0;h=g;g=0;while(1){b=f[i+(g<<2)>>2]|0;if((b|0)==-1)k=h;else{l=f[c>>2]|0;m=f[l+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;n=(((b>>>0)%3|0|0)==0?2:-1)+b|0;a:do if(((n|0)!=-1?(o=f[(f[d>>2]|0)+(n<<2)>>2]|0,(o|0)!=-1):0)?(p=o+(((o>>>0)%3|0|0)==0?2:-1)|0,(p|0)!=-1&(p|0)!=(b|0)):0){o=0;q=p;p=m;while(1){r=f[l+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;s=o+((r|0)!=(p|0)&1)|0;t=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((t|0)==-1){u=s;v=r;break a}w=f[(f[d>>2]|0)+(t<<2)>>2]|0;if((w|0)==-1){u=s;v=r;break a}q=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if(!((q|0)!=-1&(q|0)!=(b|0))){u=s;v=r;break}else{o=s;p=r}}}else{u=0;v=m}while(0);l=b+1|0;n=((l>>>0)%3|0|0)==0?b+-2|0:l;if((n|0)!=-1?(l=f[(f[d>>2]|0)+(n<<2)>>2]|0,n=l+1|0,(l|0)!=-1):0)x=u+(((v|0)==(m|0)&(u|0?((((n>>>0)%3|0|0)==0?l+-2|0:n)|0)!=-1:0))<<31>>31)|0;else x=u;k=x+h|0}g=g+1|0;if(g>>>0>=e>>>0){j=k;break}else h=k}}f[a+52>>2]=j;return}function $e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=ul(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)nq(e);else{n=vn(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);uj(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);Oj(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);br(a)}u=d;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Gn(a+12|0);Go(a+44|0);Go(a+64|0);Go(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+140|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+152|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Go(a+12|0);Go(a+32|0);Go(a+52|0);Go(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)nq(e);else{i=b<<2;j=vn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;uj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;uj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=vn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;uj(i|0,0,k|0)|0;f[e>>2]=j}sk(a+128|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);br(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=vn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;uj(k|0,0,h|0)|0;f[j>>2]=e}sk(a+140|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g);u=c;return}function cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=vn(40)|0;e=d+16|0;rj(e,c);rj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0>>0?n:j;if((l|0)!=0?(o=al(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function df(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3808;xi(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}mj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+140>>2]|0;if(b|0)br(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;br(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)br(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0)br(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ji(a);br(a);return}function ef(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+140|0;c=f[b>>2]|0;if(c|0){d=a+144|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;ql(n);o=a+52|0;ql(o);p=a+32|0;ql(p);q=a+12|0;ql(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+72|0;ql(n);o=a+52|0;ql(o);p=a+32|0;ql(p);q=a+12|0;ql(q);return}function ff(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Eh(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(wb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(wb(e,c)|0)){n=0;o=15;break}i=f[l>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+152|0;c=f[b>>2]|0;if(c|0){d=a+156|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}br(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);br(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;ql(n);o=a+64|0;ql(o);p=a+44|0;ql(p);q=a+12|0;Ij(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(l);n=a+84|0;ql(n);o=a+64|0;ql(o);p=a+44|0;ql(p);q=a+12|0;Ij(q);return}function hf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3608;xj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}mj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+140>>2]|0;if(b|0)br(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;br(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)br(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0)br(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ji(a);br(a);return}function jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=vn(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3784;f[j+12>>2]=3764;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3764;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3764;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,m,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];gg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Ug(j,i);f[a>>2]=o;Si(i);f[h>>2]=3764;i=f[h+20>>2]|0;if(i|0)br(i);i=f[h+8>>2]|0;if(!i){u=e;return}br(i);u=e;return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}Gn(i);Ak(i);if((f[h>>2]|0)>0){k=a+56|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;hj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Ij(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(i);u=c;return 1}function lf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=vn(96)|0;Al(j,c);f[h>>2]=j;j=vh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;br(h)}br(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);br(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;br(k)}br(l)}br(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){Eh(m,h-q|0,6376);break}if(h>>>0>>0?(q=p+(h<<2)|0,(q|0)!=(r|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}Ej(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function mf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)$q(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;nq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Bc(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)nq(x);return 0}function nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;br(a)}if((b[s+11>>0]|0)<0)br(f[s>>2]|0);br(d);return c|0}function of(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+56|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(n*12|0)>>2]|0;s=r-m|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((h|0)==(p|0)){Ti(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[h>>2]=t;t=h+4|0;f[e>>2]=t;v=t;w=p}t=f[q+(n*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ti(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(n*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ti(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=n+1|0;if(t>>>0>=j>>>0)break;m=r;n=t;o=f[g>>2]|0;h=f[e>>2]|0;p=f[i>>2]|0}k=f[c>>2]|0;l=f[e>>2]|0}Mc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);br(a);u=b;return 1}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}Gn(i);Ak(i);if((f[h>>2]|0)>0){k=a+76|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;hj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Ij(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(i);u=c;return 1}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=vn(76)|0;j=vn(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=4052;f[j+8>>2]=k;f[h>>2]=j;yl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Sg(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Va[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ti(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0>>0?(g=m+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{Eh(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function rf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)$q(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;nq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Ac(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)nq(x);return 0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){o=c;p=f[o+4>>2]|0;q=m;f[q>>2]=f[o>>2];f[q+4>>2]=p;j=j+-1|0;if(!j)break;else m=m+8|0}}if(!l){m=h+(b<<3)|0;if((m|0)==(n|0))return;else{r=i;s=n+(~((n+-8-m|0)>>>3)<<3)|0;break}}else{m=b-k|0;j=m;p=n;while(1){q=c;o=f[q+4>>2]|0;t=p;f[t>>2]=f[q>>2];f[t+4>>2]=o;j=j+-1|0;if(!j)break;else p=p+8|0}r=i;s=n+(m<<3)|0;break}}else{p=g;if(!g)u=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-8-g|0)>>>3)<<3);br(p);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)nq(a);j=u>>2;p=u>>3>>>0<268435455?(j>>>0>>0?b:j):536870911;if(p>>>0>536870911)nq(a);j=vn(p<<3)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(p<<3);p=b;l=j;while(1){o=c;t=f[o+4>>2]|0;q=l;f[q>>2]=f[o>>2];f[q+4>>2]=t;p=p+-1|0;if(!p)break;else l=l+8|0}r=k;s=j+(b<<3)|0}while(0);f[r>>2]=s;return}function tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=+$(n[b>>2]);g=+K(+e);h=+$(n[b+4>>2]);i=g+ +K(+h);g=+$(n[b+8>>2]);j=i+ +K(+g);b=j>1.0e-06;i=1.0/j;k=f[a+12>>2]|0;j=+(k|0);l=~~+J(+((b?i*e:1.0)*j+.5));m=~~+J(+((b?i*h:0.0)*j+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?i*g:0.0)<0.0?0-m|0:m;do if(!o){if((q|0)<0)r=(p|0)>-1?p:0-p|0;else r=(f[a+8>>2]|0)-((p|0)>-1?p:0-p|0)|0;if((p|0)<0){s=(q|0)>-1?q:0-q|0;t=r;break}else{s=(f[a+8>>2]|0)-((q|0)>-1?q:0-q|0)|0;t=r;break}}else{s=k+p|0;t=k+q|0}while(0);q=(t|0)==0;p=(s|0)==0;r=f[a+8>>2]|0;if(!(s|t)){u=r;v=r;f[c>>2]=u;f[d>>2]=v;return}a=(r|0)==(s|0);if(q&a){u=s;v=s;f[c>>2]=u;f[d>>2]=v;return}o=(r|0)==(t|0);if(p&o){u=t;v=t;f[c>>2]=u;f[d>>2]=v;return}if(q&(k|0)<(s|0)){u=0;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(o&(k|0)>(s|0)){u=t;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(t|0)){u=(k<<1)-t|0;v=s;f[c>>2]=u;f[d>>2]=v;return}if(!p){u=t;v=s;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(t|0)?(k<<1)-t|0:t;v=0;f[c>>2]=u;f[d>>2]=v;return}function uf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Kg(d);m=a+1068|0;Vm(m);k=a+1088|0;Vm(k);l=a+1108|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];ib(a,i,h);Ye(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Kg(d);m=a+1068|0;Vm(m);k=a+1088|0;Vm(k);l=a+1108|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];kb(a,i,h);Ye(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){uj(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)nq(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;ap(p,16422);f[p>>2]=7412;va(p|0,1160,122)}else{r=vn(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;uj(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;li(d);u=c;return}function xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function zf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))zi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}function Af(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(b|0)){l=q+8|0;if((((d[l>>1]|0)==c<<16>>16?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function Bf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Vm(d);m=a+32|0;Vm(m);k=a+52|0;Vm(k);l=a+72|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];hb(a,i,h);Gg(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function Cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Ak(d);m=a+44|0;Vm(m);k=a+64|0;Vm(k);l=a+84|0;Vm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];lb(a,i,h);ld(d,e);Gg(m,e);Gg(k,e);Gg(l,e);u=g;return 1}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)nq(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1260;f[k+(e*24|0)+4>>2]=f[b+4>>2];mk(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=k;k=g;g=d;do{f[g+-24>>2]=1260;f[g+-20>>2]=f[j+-20>>2];d=g+-16|0;o=j+-16|0;f[d>>2]=0;p=g+-12|0;f[p>>2]=0;f[g+-8>>2]=0;f[d>>2]=f[o>>2];d=j+-12|0;f[p>>2]=f[d>>2];p=j+-8|0;f[g+-8>>2]=f[p>>2];f[p>>2]=0;f[d>>2]=0;f[o>>2]=0;f[g+-4>>2]=f[j+-4>>2];j=j+-24|0;g=k+-24|0;k=g}while((j|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Va[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;br(m);return}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3716;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)nq(i);else{o=((n+-1|0)>>>5)+1|0;p=vn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)nq(i);k=((l+-1|0)>>>5)+1|0;l=vn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);u=c;return}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(c|0)){l=q+8|0;if((((b[l>>0]|0)==d<<24>>24?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function Hf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;nq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];ub(l,h,b,w)|0;m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)nq(y);return 0}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3764;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)nq(i);else{o=((n+-1|0)>>>5)+1|0;p=vn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)nq(i);k=((l+-1|0)>>>5)+1|0;l=vn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Uf(i,e,d);u=c;return}function Jf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;Dd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;Bd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Kf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;nq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];tb(l,h,b,w)|0;m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)nq(y);return 0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)qm(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((b|0)==(c|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);br(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)nq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(m>>>0>1073741823)nq(a);h=vn(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((k|0)==(m|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){uj(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)nq(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{n=vn(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;uj(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);br(m)}}while((c|0)!=(g|0))}if(!p)return;br(p);return}function Nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-4177920|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+4194304|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1077936128|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Of(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-2080768|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+6291456|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1075838976|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1032192|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+7340032|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074790400|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Qf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g<<1,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Rf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g<<2,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Sf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-245760|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8126464|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074003968|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-114688|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8257536|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073872896|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];we(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;qm(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function Vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-16384|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8355840|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073774592|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Rn(e);Ah(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,o|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=25;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=25;break}k=f[k>>2]|0;if(!k){i=0;o=25;break}}if((o|0)==25)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){if((((f[p+8>>2]|0)==(c|0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=25;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=25;break}}p=f[p>>2]|0;if(!p){i=0;o=25;break}}if((o|0)==25)return i|0;return 0}function Xf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}bn(j);Mj(j,d,0,g&255,i,0,g,0,0,0);i=lf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=En(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}br(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);br(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;br(v)}br(j)}k=w;u=a;return k|0}function Yf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;qd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;pd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=0;i=a+12|0;j=a+8|0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=0;l=e;while(1){e=f[l>>2]|0;m=f[d+(e<<2)>>2]|0;if(m>>>0>>0)n=a;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(e<<2)>>2]|0;else t=e;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}l=l+4|0;if((l|0)==(g|0)){h=n;i=k;j=c;break}else a=n}}n=f[i>>2]|0;a=f[j>>2]|0;if((n-a|0)>0){u=0;v=a;w=n}else return;while(1){n=f[v+(u<<2)>>2]|0;b[n+84>>0]=0;a=n+68|0;c=n+72|0;n=f[c>>2]|0;k=f[a>>2]|0;g=n-k>>2;l=k;k=n;if(h>>>0<=g>>>0)if(h>>>0>>0?(n=l+(h<<2)|0,(n|0)!=(k|0)):0){f[c>>2]=k+(~((k+-4-n|0)>>>2)<<2);x=v;y=w}else{x=v;y=w}else{Eh(a,h-g|0,6376);x=f[j>>2]|0;y=f[i>>2]|0}u=u+1|0;if((u|0)>=(y-x>>2|0))break;else{v=x;w=y}}return}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);br(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)nq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)nq(a);h=vn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function $f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;b[m>>0]=j;b[m+1>>0]=j>>>8;n=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;o=j+8372224|0;b[m>>0]=o;b[m+1>>0]=o>>>8;b[m+2>>0]=o>>>16;n=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;o=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+-1073758208|0;b[o>>0]=m;b[o+1>>0]=m>>>8;b[o+2>>0]=m>>>16;b[o+3>>0]=m>>>24;n=(f[l>>2]|0)+4|0;break}else{n=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;n=(f[l>>2]|0)+1|0}while(0);k=((n|0)<0)<<31>>31;Rn(e);Ah(n,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;qm(h+a|0,h|0,n|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=ho(a|0,0,n|0,k|0)|0;k=ho(h|0,I|0,g|0,j|0)|0;Jl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)br(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c);u=d;return}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);br(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)nq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)nq(a);h=vn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function bg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+80|0;h=g;i=g+64|0;Pl(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X(bm(5)|0,d)|0;Mj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=vn(96)|0;Al(k,h);Ej(k,c)|0;f[i>>2]=k;ij(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;br(i)}br(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);br(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;br(c)}br(h)}br(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0>>0){Eh(a,e-i|0,1596);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((i|0)==(d|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=m;m=k;k=n;while(1){n=f[a>>2]|0;f[d>>2]=n;if((m|0)==(f[b>>2]|0)){Ti(g,d);o=f[l>>2]|0}else{f[m>>2]=n;f[i>>2]=m+4;o=k}n=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((n|0)<(q|0)){s=r;t=n;v=o}else{w=n+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0>>0?(p=r+(w<<2)|0,(p|0)!=(x|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=n;z=r;A=o}else{y=n;z=r;A=o}else{Eh(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}m=f[i>>2]|0;f[s+(t<<2)>>2]=(m-(f[g>>2]|0)>>2)+-1;a=a+4|0;if((a|0)==(h|0))break;else k=v}u=c;return}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)br(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)br(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Di(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(rc(a,d)|0)){s=0;u=c;return s|0}fb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function eg(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){k=p+8|0;if(((d[k>>1]|0)==c<<16>>16?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function fg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=ho(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=ko(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=k;n=h;o=i}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=ho(h|0,i|0,8,0)|0;i=q+(0-k)|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;Ah(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;qm(i+q|0,i+8|0,j|0)|0;kh(i|0,f[d>>2]|0,q|0)|0;i=e;h=ho(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)br(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;br(h)}h=e;l=p;m=p;n=f[h>>2]|0;o=f[h+4>>2]|0}h=f[l>>2]|0;l=f[a>>2]|0;p=h-l|0;k=jo(j|0,g|0,n|0,o|0)|0;o=ho(k|0,I|0,p|0,0)|0;k=l;l=h;if(p>>>0>=o>>>0){if(p>>>0>o>>>0?(h=k+o|0,(h|0)!=(l|0)):0)f[m>>2]=h}else Gi(a,o-p|0);p=e;f[p>>2]=0;f[p+4>>2]=0;u=c;return}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{br(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)nq(c);else{j=((k+-1|0)>>>5)+1|0;l=vn(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);qm(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{br(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)nq(h);else{n=((p+-1|0)>>>5)+1|0;c=vn(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);qm(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Sk(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Sk(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Sk(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);br(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)nq(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)nq(a);j=vn(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function jg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=jh(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=i>>>0)nq(k);m=g;if(l>>>0<=j>>>0)nq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)nq(k);if(l>>>0<=e>>>0)nq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)nq(k);if(l>>>0<=d>>>0)nq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)nq(k);if(l>>>0<=c>>>0)nq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|0}function kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(c|0)){k=p+8|0;if(((b[k>>0]|0)==d<<24>>24?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function lg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Jg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Xa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)Qp(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;di(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(Df(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;di(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Me(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);di(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(Df(0,b,e+8|0)|0)){m=0;r=10;break}mg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 0}function ng(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Tb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Tb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=vn(76)|0;Fn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Sg(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ti(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0>>0?(g=a+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{Eh(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);br(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)nq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)nq(a);j=vn(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;kh(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;kh(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function qg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+96|0;h=g+40|0;i=g;Ym(h,d);Ke(i,c,d);Mh(h,i);Hj(i+24|0,f[i+28>>2]|0);Sj(i+12|0,f[i+16>>2]|0);Hj(i,f[i+4>>2]|0);ej(a,h,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[h+40>>2];f[c+44>>2]=f[h+44>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}f[h>>2]=3496;Hj(h+28|0,f[h+32>>2]|0);Sj(h+16|0,f[h+20>>2]|0);Hj(h+4|0,f[h+8>>2]|0);u=g;return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Eh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;if(!(zh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=vn(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14821;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Lh(d,g)|0)!=0):0)o=Ok(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Ok(i,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}vp(a+40|0,o);h=1;u=e;return h|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=23;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=23;break}j=f[j>>2]|0;if(!j){h=0;n=23;break}}if((n|0)==23)return h|0}else o=a;while(1){a=f[o+4>>2]|0;if((a|0)==(b|0)){if(((f[o+8>>2]|0)==(c|0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=23;break}}else{if(a>>>0>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=23;break}}o=f[o>>2]|0;if(!o){h=0;n=23;break}}if((n|0)==23)return h|0;return 0}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;br(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)nq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)nq(a);i=vn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{o=c;c=k;while(1){b[c>>0]=b[o>>0]|0;o=o+1|0;if((o|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[n>>2]|0)==(p|0))return;f[n>>2]=p;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=ho(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=ho(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<>2]&~i|i&e<>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ti(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<>2]&~l|l&e<>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ti(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function wg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;nk(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Wb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Wb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{qm(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;ap(m,16422);f[m>>2]=7412;va(m|0,1160,122)}m=vn(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{br(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;p=c+4|0;f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;q=f[m+4>>2]|0;m=a+20|0;if((q|0)>0|(q|0)==0&k>>>0>0){r=q;s=k;t=g}else{f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,m,m+4|0)|0;m=l;r=f[m+4>>2]|0;s=f[m>>2]|0;t=g}}else{r=o;s=n;t=g}b[h>>0]=f[i>>2];if(!((r|0)>0|(r|0)==0&s>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=_q((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){$q(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=0;r=n;n=a;s=a;a=m;while(1){m=f[r+(j<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(m<<2)>>2]|0;else t=m;m=s+48|0;v=f[m>>2]|0;w=f[m+4>>2]|0;m=s+40|0;x=f[m>>2]|0;y=En(x|0,f[m+4>>2]|0,t|0,0)|0;m=ho(y|0,I|0,v|0,w|0)|0;kh(k|0,(f[f[s>>2]>>2]|0)+m|0,x|0)|0;x=o;m=f[x+4>>2]|0;if((m|0)>0|(m|0)==0&(f[x>>2]|0)>>>0>0){z=r;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Me(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=j+1|0;if(x>>>0>=A-z>>2>>>0)break;m=f[i>>2]|0;j=x;r=z;n=m;s=m;a=A}$q(k);u=e;return 1}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1)break;d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1)break;else l=d}e=0;g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;f[c>>2]=g;return e|0}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=al(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=al(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;xe(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;qm(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Eg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=vn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14805;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ok(i,h,-1)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);switch(j|0){case -1:{if((ni(i)|0)==10)n=6;else n=5;break}case 1:{n=5;break}default:n=6}if((n|0)==5){j=vn(68)|0;Zo(j);o=j}else if((n|0)==6){n=vn(64)|0;Ip(n);o=n}Io(o,d);zd(a,o,i,e);if(f[a>>2]|0){p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Va[r&127](o);u=g;return}e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[o+52>>2];f[c+44>>2]=f[o+60>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Va[r&127](o);u=g;return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(j>>>0>k>>>0){m=j;n=((m-l>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-m|0;m=p>>2;if(!m)q=j;else{qm(o|0,j|0,p|0)|0;q=f[i>>2]|0}p=o+(m<<2)|0;f[c>>2]=p;f[i>>2]=q+(n<<2);r=p;break}p=h-l>>1;l=(p|0)==0?1:p;if(l>>>0>1073741823){p=ra(8)|0;ap(p,16422);f[p>>2]=7412;va(p|0,1160,122)}p=vn(l<<2)|0;n=p;m=p+(l>>>2<<2)|0;o=m;s=p+(l<<2)|0;if((j|0)==(d|0)){t=o;u=k}else{k=m;m=o;l=j;do{f[k>>2]=f[l>>2];k=m+4|0;m=k;l=l+4|0}while((l|0)!=(d|0));t=m;u=f[a>>2]|0}f[a>>2]=n;f[i>>2]=o;f[c>>2]=t;f[e>>2]=s;if(!u)r=t;else{br(u);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ti(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}function Hg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=a+4|0;a=vn(32)|0;f[k>>2]=a;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=a;m=14821;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[a+17>>0]=0;$j(Id(c,j)|0,k,d);if((b[k+11>>0]|0)<0)br(f[k>>2]|0);d=vn(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14740;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;ti(Id(c,j)|0,k,g,e);if((b[k+11>>0]|0)<0)br(f[k>>2]|0);e=vn(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14760;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Yj(Id(c,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}br(f[k>>2]|0);u=i;return}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;br(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)nq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)nq(a);i=vn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)qm(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){uj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)nq(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{n=vn(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;uj(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Va[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;br(p);return}function Kg(a){a=a|0;Ak(a);Ak(a+32|0);Ak(a+64|0);Ak(a+96|0);Ak(a+128|0);Ak(a+160|0);Ak(a+192|0);Ak(a+224|0);Ak(a+256|0);Ak(a+288|0);Ak(a+320|0);Ak(a+352|0);Ak(a+384|0);Ak(a+416|0);Ak(a+448|0);Ak(a+480|0);Ak(a+512|0);Ak(a+544|0);Ak(a+576|0);Ak(a+608|0);Ak(a+640|0);Ak(a+672|0);Ak(a+704|0);Ak(a+736|0);Ak(a+768|0);Ak(a+800|0);Ak(a+832|0);Ak(a+864|0);Ak(a+896|0);Ak(a+928|0);Ak(a+960|0);Ak(a+992|0);Ak(a+1024|0);return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)qm(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;kh(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);br(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)nq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)nq(a);j=vn(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;kh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(g);else{j=vn(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;uj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=k;n=j;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{j=l+(f[a+(g<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;r=0.0;b=0;while(1){g=f[l+(b<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=c+1|0;v=r+ +_g(s/o)*s}else{t=c;v=r}b=b+1|0;if((b|0)==(h|0)){p=t;q=v;break}else{c=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!l){I=d;u=e;return p|0}if((m|0)!=(l|0))f[i>>2]=m+(~((m+-4-l|0)>>>2)<<2);br(n);I=d;u=e;return p|0}function Ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e+4|0;h=e;i=vn(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ph(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))Dh(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ti(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;br(b)}br(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);br(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(h)}br(c);u=d;return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Fo(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=Fo(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6348;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}ii(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){dj(i);br(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}br(g)}dj(a);br(a);return}function Rg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)nq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;br(m);return}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=al(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=al(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];gg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{pg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);pg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);pg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Lg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)nq(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;ap(i,16422);f[i>>2]=7412;va(i|0,1160,122)}else{l=vn(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)kh(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;br(e);return}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)nq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{k=vn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){dj(n);br(n)}}while((h|0)!=(g|0))}if(!m)return;br(m);return}function Xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)nq(h);j=d;if(i>>>0<=g>>>0)nq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)nq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)nq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)nq(h);if(i>>>0<=c>>>0)nq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+96|0;g=e+40|0;h=e;Um(g,c);Ke(h,b,c);Mh(g,h);Hj(h+24|0,f[h+28>>2]|0);Sj(h+12|0,f[h+16>>2]|0);Hj(h,f[h+4>>2]|0);ej(a,g,d);f[g>>2]=3496;Hj(g+28|0,f[g+32>>2]|0);Sj(g+16|0,f[g+20>>2]|0);Hj(g+4|0,f[g+8>>2]|0);u=e;return}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(b|0)!=(j|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Vg(h,c-k|0,e);k=0;b=f[h>>2]|0;while(1){j=k*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=((f[i>>2]|0)-b|0)/12|0;o=k;k=k+1|0;if(o>>>0>>0){p=b;q=b}else{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Vg(h,k-j|0,e);j=f[h>>2]|0;p=j;q=j}f[p+(o*12|0)>>2]=l;f[p+(o*12|0)+4>>2]=m;f[p+(o*12|0)+8>>2]=n;if((k|0)==(c|0)){g=1;break}else b=q}u=a;return g|0}function _g(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=-1077;i=g;j=f[s>>2]|0;k=g;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=-1023;i=c;j=b;k=c;l=9}else e=a;while(0);if((l|0)==9){l=i+614242|0;f[s>>2]=j;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;j=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=j;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(h+(l>>>20)|0);m=q+o;e=m+(q+(o-m)+(t*1.4426950407214463+(t+r)*1.6751713164886512e-10))}return +e}function $g(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14624;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Lh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Ok(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}br(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Og(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);br(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(h)}br(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Hh(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function bh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Lh(h,e)|0)==0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ni(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(ak(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);u=d;return 1}function ch(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;di(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;di((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;di((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}Ai(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(1<>0]|0);i=(f[j>>2]|0)+l|0;b[i>>0]=k<>0]|0);f[d>>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0>>0);fg(f[(f[g>>2]|0)+44>>2]|0);return 1}function dh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Lh(h,e)|0)==0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ni(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=vn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15677;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(ak(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);u=d;return 1}function eh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Od(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=_q(o)|0;uj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Od(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];$q(e);u=g;return 1}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)nq(d);else{l=vn(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);uj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0>>0)}Oj(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);br(a);u=c;return}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)nq(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Ro(a,j,(e&255)+1|0)|0;br(j);o=16}}else{j=k+1|0;p=vn(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Ro(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Ro(n,m,(f[j>>2]|0)+1|0)|0;br(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=k+2|0;m=h;break}else{l=k+-1|0;m=h;break}}else{h=a;k=g;while(1){i=h+1|0;n=k+1|0;o=((n>>>0)%3|0|0)==0?k+-2|0:n;if((o|0)==-1){l=b;m=i;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=b;m=i;break b}k=((o>>>0)%3|0|0)==0?n+-2|0:o;if((k|0)==-1){l=b;m=i;break b}if((k|0)==(b|0)){d=i;j=15;break a}else h=i}}while(0);if((l|0)==-1){d=m;j=15;break}else{a=m;e=1;g=l}}if((j|0)==15)return d|0;return 0}function ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;Xg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=e;n=c;o=j;while(1){f[n>>2]=o;if((m|0)==(a|0)){p=a;break}j=m+-4|0;o=f[j>>2]|0;if(h>>>0<=o>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(o<<3)>>2]|0)>>>0){p=m;break}else{q=m;m=j;n=q}}f[p>>2]=d}n=c+4|0;if((n|0)==(b|0)){k=3;break}else{m=c;c=n;e=m}}if((k|0)==3)return;else if((k|0)==5)nq(g);else if((k|0)==7)nq(g);else if((k|0)==11)nq(g)}function jh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Xg(a,b,c,e)|0;h=f[d>>2]|0;i=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=h>>>0)nq(j);l=e;if(k>>>0<=i>>>0)nq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)nq(j);if(k>>>0<=d>>>0)nq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)nq(j);if(k>>>0<=c>>>0)nq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1296;g=a+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ti(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0>>0?(j=m+(a<<2)|0,(j|0)!=(w|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{Eh(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function mh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ra[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0>>0?(d=h+(j<<2)|0,(d|0)!=(e|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else Di(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)?(h=f[c>>2]|0,k=e-b>>2,f[h+(f[i>>2]<<2)>>2]=j,k>>>0>1):0){b=1;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0>>0)}j=j+1|0}while(j>>>0>>0);g=1;return g|0}function nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Di(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function oh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(sp(a,f[c+8>>2]|0,g)|0)){if(!(sp(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Za[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;_a[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else dn(0,c,d,e);while(0);return}function ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Ld(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=vn(40)|0;rj(c+16|0,d);rj(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Oe(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function qh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)nq(a);n=j<<6;j=c+31&-32;wi(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)br(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){uj(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{uj(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+88|0;ld(n,b);u=c;return 1}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+108|0;ld(n,b);u=c;return 1}function th(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+32|0;d=f[a+64>>2]|0;e=(Qa[f[(f[d>>2]|0)+40>>2]&127](d)|0)+56|0;d=f[e>>2]|0;Ai(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){fg(c);return}i=a+48|0;j=a+44|0;a=(g>>>2)+-1|0;g=e;while(1){e=f[g+(a<<2)>>2]|0;k=f[3652+(e<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>e&1|0):0){m=l+4|0;n=0;o=f[m>>2]|0;do{p=o>>>3;q=o&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(1<>0]|0);r=(f[l>>2]|0)+p|0;b[r>>0]=(e>>>n&1)<>0]|0);o=(f[m>>2]|0)+1|0;f[m>>2]=o;n=n+1|0}while((n|0)!=(k|0))}k=a+-1|0;if((k|0)<=-1)break;a=k;g=f[d>>2]|0}fg(c);return}function uh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Rn(h);do if((lm(c,0)|0)!=-1){if(d){if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Va[f[(f[c>>2]|0)+20>>2]&127](c)}Yg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)br(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;ug(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)br(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;br(i)}j=k;u=g;return j|0}function vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Xa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;br(d)}br(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);br(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;br(a)}br(e)}br(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function wh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+352>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Hi(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[i+56>>2]|0))j=h;else{k=f[g>>2]|0;f[k+(h*136|0)>>2]=a;l=f[k+(h*136|0)+104>>2]|0;m=k+(h*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;nk(k+(h*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(h*136|0)+128>>2]=0;Gc(l+(h*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=h+1|0}a=a+1|0;if((a|0)>=(d|0))break;else h=j}return 1}function xh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+288>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Hi(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[i+56>>2]|0))j=h;else{k=f[g>>2]|0;f[k+(h*136|0)>>2]=a;l=f[k+(h*136|0)+104>>2]|0;m=k+(h*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;nk(k+(h*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(h*136|0)+128>>2]=0;Gc(l+(h*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=h+1|0}a=a+1|0;if((a|0)>=(d|0))break;else h=j}return 1}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)nq(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;ap(h,16422);f[h>>2]=7412;va(h|0,1160,122)}else{k=vn(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)kh(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;br(d);return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;if(!(mn(a,b,c)|0)){g=0;u=d;return g|0}if((Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){g=0;u=d;return g|0}h=$g(c,f[b+48>>2]|0)|0;Xa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(!c){f[e>>2]=0;i=b}else{Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);i=f[h>>2]|0}if(!i){g=1;u=d;return g|0}if(Ra[f[(f[a>>2]|0)+36>>2]&127](a,i)|0){g=1;u=d;return g|0}i=f[h>>2]|0;f[h>>2]=0;if(!i){g=1;u=d;return g|0}Va[f[(f[i>>2]|0)+4>>2]&127](i);g=1;u=d;return g|0}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;k=ko(a|0,c|0,7)|0;m=Ah(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function Bh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Zi(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((Qa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Yf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=vn(44)|0;f[c>>2]=1608;f[c+4>>2]=g;g=c+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);f[c>>2]=1664;i=c}f[a>>2]=i;return}function Ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((qb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=gr(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=qb(a,c,g,i,h)|0;if(!o)s=j;else{Sa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=qb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)fr(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){wf(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;br(h)}br(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);br(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(a)}br(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)nq(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}else{e=vn(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)kh(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;br(i);return}function Fh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=tp(f[a+8>>2]|0,e)|0;h=tp(f[a+12>>2]|0,e)|0;i=tp(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=tp(f[a+(q<<2)>>2]|0,e)|0;s=tp(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=ol(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=tp(f[a+(m<<2)>>2]|0,e)|0;j=tp(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Gh(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(sp(l,e,0)|0){f[i+48>>2]=1;_a[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Za[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)nq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{d=vn(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)kh(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;br(h);return}function Ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)br(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)br(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;qh(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;qh(a+12|0,k,e);ig(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6336);nk(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);nk(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Jh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Td(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Td(a,e);return}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=al(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=al(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function Mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=a+4|0;j=(i|0)==(b|0);if(!j){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(i,e,d)}if(!j){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Hc(a+16|0,e,d)}if(j){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(a+28|0,e,d);u=c;return}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;bg(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=0;p=d;while(1){d=f[p>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(d<<2)>>2]|0;else q=d;f[h>>2]=q;d=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Qb(i,g,d,a+(o<<2)|0)|0)){m=0;r=7;break}p=p+4|0;if((p|0)==(c|0)){m=1;r=7;break}else o=o+k|0}if((r|0)==7){u=e;return m|0}return 0}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1472;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=f[a+48>>2]|0;if(c|0)br(c);c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Va[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}br(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);br(g);return}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(h|0)!=(i|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else Di(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=j;e=j;h=1;while(1){i=f[b+(h<<2)>>2]|0;g=(i|0)<(e|0);k=g?i:e;l=g?d:(i|0)>(d|0)?i:d;h=h+1|0;if((h|0)==(c|0)){m=l;n=k;break}else{d=l;e=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=jo(m|0,((m|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Qh(a){a=a|0;Ij(a+992|0);Ij(a+960|0);Ij(a+928|0);Ij(a+896|0);Ij(a+864|0);Ij(a+832|0);Ij(a+800|0);Ij(a+768|0);Ij(a+736|0);Ij(a+704|0);Ij(a+672|0);Ij(a+640|0);Ij(a+608|0);Ij(a+576|0);Ij(a+544|0);Ij(a+512|0);Ij(a+480|0);Ij(a+448|0);Ij(a+416|0);Ij(a+384|0);Ij(a+352|0);Ij(a+320|0);Ij(a+288|0);Ij(a+256|0);Ij(a+224|0);Ij(a+192|0);Ij(a+160|0);Ij(a+128|0);Ij(a+96|0);Ij(a+64|0);Ij(a+32|0);Ij(a);return}function Rh(a){a=a|0;Gn(a);Gn(a+32|0);Gn(a+64|0);Gn(a+96|0);Gn(a+128|0);Gn(a+160|0);Gn(a+192|0);Gn(a+224|0);Gn(a+256|0);Gn(a+288|0);Gn(a+320|0);Gn(a+352|0);Gn(a+384|0);Gn(a+416|0);Gn(a+448|0);Gn(a+480|0);Gn(a+512|0);Gn(a+544|0);Gn(a+576|0);Gn(a+608|0);Gn(a+640|0);Gn(a+672|0);Gn(a+704|0);Gn(a+736|0);Gn(a+768|0);Gn(a+800|0);Gn(a+832|0);Gn(a+864|0);Gn(a+896|0);Gn(a+928|0);Gn(a+960|0);Gn(a+992|0);return}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=vn(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=vn(44)|0;Vb(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;tk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}dj(j);br(j);g=1;u=a;return g|0}function Th(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;c=u;u=u+64|0;j=c;k=i?6:5;Pl(j);i=f[h+56>>2]|0;h=X(bm(k)|0,e)|0;Mj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=vn(96)|0;Al(h,j);f[a>>2]=h;Ej(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0>>0){Eh(d,g-j|0,1280);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((j|0)==(e|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rd(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){vd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;vd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Gd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Gd(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Pd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Pd(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){td(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;td(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ad(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ad(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Kd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Kd(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;sd(a,e);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){wd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;wd(a,e);return}function bi(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Hd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Hd(a,e);return} -function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=hc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=_b(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=uc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=mc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=gc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=$b(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=sc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=lc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=gc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=$b(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=sc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=lc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=ec(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Xb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=nc(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=jc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=ec(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Xb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=nc(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=jc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=hc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=_b(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=uc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=mc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=hc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=_b(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=uc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=mc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ra[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(Qa[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(Qa[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(f[n+80>>2]|0,i)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)nq(j);else{v=r<<2;w=vn(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;uj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Ta[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=s;A=f[j>>2]|0;p=20;break}if(!(Qa[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=f[m>>2]|0?x:s;A=x;p=20}}else{z=s;A=y;p=20}while(0);if((p|0)==20)Fm(z,r,A);A=a+4|0;a=f[A>>2]|0;do if(a){z=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=vn(48)|0;f[g>>2]=y;f[g+8>>2]=-2147483600;f[g+4>>2]=34;s=y;w=10931;x=s+34|0;do{b[s>>0]=b[w>>0]|0;s=s+1|0;w=w+1|0}while((s|0)<(x|0));b[y+34>>0]=0;w=ak(z,g,1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;s=0;x=0;do{x=f[w+(s<<2)>>2]|x;s=s+1|0}while((s|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;s=o;w=f[s>>2]|0;z=f[s+4>>2]|0;if((z|0)>0|(z|0)==0&w>>>0>0){C=z;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}if((B|0)==(bm(5)|0)){w=f[j>>2]|0;z=o;s=f[z+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[z>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;z=0;do{s=(f[j>>2]|0)+(z<<2)|0;y=o;v=f[y+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[y>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Me(d,g,s,s+B|0)|0}z=z+1|0}while(z>>>0>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}yp(g);k=f[A>>2]|0;if(k|0)bk(g,10-(ni(f[k+48>>2]|0)|0)|0)|0;k=Mc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Hj(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ra[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);br(d)}q=E}l=q;u=e;return l|0}function xc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0

>>0?(r=q+(l<<2)|0,(r|0)!=(o|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=n;t=k;v=j}else{s=n;t=k;v=j}else{Di(g,l-p|0);p=f[h>>2]|0;s=p;t=p;v=f[i>>2]|0}p=v-t|0;l=p>>2;f[c>>2]=0;j=c+4|0;f[j>>2]=0;k=c+8|0;f[k>>2]=0;if(l|0){if((p|0)<0)nq(c);p=((l+-1|0)>>>5)+1|0;n=vn(p<<2)|0;f[c>>2]=n;f[k>>2]=p;f[j>>2]=l;j=l>>>5;uj(n|0,0,j<<2|0)|0;p=l&31;l=n+(j<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=0;j=s;s=t;t=v;while(1){if(l>>>0>2>>>0){w=0;x=0;y=l;z=s;A=j}else{B=25;break}while(1){v=x>>>5;n=1<<(x&31);do if(!(f[(f[c>>2]|0)+(v<<2)>>2]&n)){k=f[A+(x<<2)>>2]|0;if((f[k+8>>2]|0)!=(f[k+4>>2]|0)){r=0;o=1;m=A;q=k;while(1){k=f[(f[q+4>>2]|0)+(r<<2)>>2]|0;C=0;D=m;while(1){E=f[D+(x<<2)>>2]|0;if((C|0)>=(Ra[f[(f[E>>2]|0)+24>>2]&127](E,k)|0)){F=o;break}E=f[(f[h>>2]|0)+(x<<2)>>2]|0;G=Sa[f[(f[E>>2]|0)+28>>2]&31](E,k,C)|0;if((G|0)!=(x|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=C+1|0;D=f[h>>2]|0}r=r+1|0;m=f[h>>2]|0;q=f[m+(x<<2)>>2]|0;if(r>>>0>=(f[q+8>>2]|0)-(f[q+4>>2]|0)>>2>>>0)break;else o=F}o=m;if(F)H=o;else{I=w;J=y;K=o;break}}else H=z;f[(f[g>>2]|0)+(y<<2)>>2]=x;o=(f[c>>2]|0)+(v<<2)|0;f[o>>2]=f[o>>2]|n;I=1;J=y+1|0;K=H}else{I=w;J=y;K=z}while(0);x=x+1|0;L=f[i>>2]|0;M=L-K>>2;A=K;if(x>>>0>=M>>>0)break;else{w=I;y=J;z=K}}if(J>>>0>>0&(I^1)){N=0;break}else{l=J;j=A;s=K;t=L}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;L=f[a+4>>2]|0;a=(f[L+12>>2]|0)-(f[L+8>>2]|0)|0;L=a>>2;f[e>>2]=0;K=e+4|0;f[K>>2]=0;A=e+8|0;f[A>>2]=0;if(L|0){if((a|0)<0)nq(e);a=((L+-1|0)>>>5)+1|0;J=vn(a<<2)|0;f[e>>2]=J;f[A>>2]=a;f[K>>2]=L;K=L>>>5;uj(J|0,0,K<<2|0)|0;a=L&31;L=J+(K<<2)|0;if(a|0)f[L>>2]=f[L>>2]&~(-1>>>(32-a|0))}a:do if((t|0)==(s|0))O=1;else{a=0;L=j;K=s;J=t;while(1){A=f[(f[g>>2]|0)+(a<<2)>>2]|0;l=f[L+(A<<2)>>2]|0;I=(f[l+8>>2]|0)-(f[l+4>>2]|0)|0;l=I>>2;if((I|0)<8){P=K;Q=J}else{I=f[B>>2]|0;M=f[d>>2]|0;z=I-M>>2;y=M;M=I;if(l>>>0<=z>>>0)if(l>>>0>>0?(I=y+(l<<2)|0,(I|0)!=(M|0)):0){f[B>>2]=M+(~((M+-4-I|0)>>>2)<<2);R=0}else R=0;else{Di(d,l-z|0);R=0}while(1){if((R|0)<(l|0)){S=0;T=0;U=R}else break;while(1){z=f[(f[h>>2]|0)+(A<<2)>>2]|0;I=f[(f[z+4>>2]|0)+(S<<2)>>2]|0;M=S>>>5;y=1<<(S&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){w=0;x=1;H=z;while(1){if((w|0)>=(Ra[f[(f[H>>2]|0)+24>>2]&127](H,I)|0)){V=x;break}z=f[(f[h>>2]|0)+(A<<2)>>2]|0;F=Sa[f[(f[z>>2]|0)+28>>2]&31](z,I,w)|0;z=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=x&z;if(!z){V=F;break}w=w+1|0;x=F;H=f[(f[h>>2]|0)+(A<<2)>>2]|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=S;H=(f[e>>2]|0)+(M<<2)|0;f[H>>2]=f[H>>2]|y;W=1;X=U+1|0}else{W=T;X=U}}else{W=T;X=U}S=S+1|0;if((S|0)>=(l|0))break;else{T=W;U=X}}if(W|(X|0)>=(l|0))R=X;else{O=0;break a}}cg(f[(f[h>>2]|0)+(A<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}a=a+1|0;if(a>>>0>=Q-P>>2>>>0){O=1;break}else{L=P;K=P;J=Q}}}while(0);Q=f[e>>2]|0;if(Q|0)br(Q);Q=f[d>>2]|0;if(Q|0){d=f[B>>2]|0;if((d|0)!=(Q|0))f[B>>2]=d+(~((d+-4-Q|0)>>>2)<<2);br(Q)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}br(O);u=b;return N|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4886]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[4887]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4884]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4882]=f[4882]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=19832+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[4883]=f[4883]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4888]|0)==(e|0)){r=(f[4885]|0)+m|0;f[4885]=r;f[4888]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4887]|0))return;f[4887]=0;f[4884]=0;return}if((f[4887]|0)==(e|0)){r=(f[4884]|0)+m|0;f[4884]=r;f[4887]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4882]=f[4882]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=19832+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[4883]=f[4883]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4887]|0)){f[4884]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=19568+(m<<1<<2)|0;a=f[4882]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=19832+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[4883]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[4883]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[4890]|0)+-1|0;f[4890]=l;if(!l)D=19984;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[4890]=-1;return}function zc(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+56|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;di(j,f[l>>2]|0)|0;di(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=vn(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15954;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=ak(m,e,0)|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}of(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=0;r=m;while(1){s=f[r+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(q*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=w;z=t;A=x}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Me(t,e,h,o)|0;t=f[l>>2]|0;x=t+16|0;y=f[x>>2]|0;z=t;A=f[x+4>>2]|0}b[h>>0]=f[s+(q*12|0)+4>>2];if((A|0)>0|(A|0)==0&y>>>0>0){B=A;C=y;D=z}else{f[g>>2]=f[z+4>>2];f[e>>2]=f[g>>2];Me(z,e,h,p)|0;x=f[l>>2]|0;t=x+16|0;B=f[t+4>>2]|0;C=f[t>>2]|0;D=x}b[h>>0]=f[s+(q*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Me(D,e,h,n)|0}s=q+1|0;if(s>>>0>=j>>>0)break;q=s;r=f[i>>2]|0}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=0;C=m;while(1){B=f[C+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(D*12|0)>>2];z=p+16|0;y=f[z>>2]|0;A=f[z+4>>2]|0;if((A|0)>0|(A|0)==0&y>>>0>0){E=A;F=y;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,h,n)|0;p=f[l>>2]|0;y=p+16|0;E=f[y+4>>2]|0;F=f[y>>2]|0;G=p}d[h>>1]=f[B+(D*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Me(G,e,h,q)|0;p=f[l>>2]|0;y=p+16|0;H=f[y+4>>2]|0;I=f[y>>2]|0;J=p}d[h>>1]=f[B+(D*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Me(J,e,h,r)|0}B=D+1|0;if(B>>>0>=j>>>0)break;D=B;C=f[i>>2]|0}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=0;L=m}else{u=c;return 1}while(1){a=f[L+96>>2]|0;di(f[a+(K*12|0)>>2]|0,f[l>>2]|0)|0;di(f[a+(K*12|0)+4>>2]|0,f[l>>2]|0)|0;di(f[a+(K*12|0)+8>>2]|0,f[l>>2]|0)|0;a=K+1|0;if(a>>>0>=j>>>0)break;K=a;L=f[i>>2]|0}u=c;return 1}if(!C){u=c;return 1}C=0;L=m;while(1){m=(f[L+96>>2]|0)+(C*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Me(K,e,m,m+12|0)|0}m=C+1|0;if(m>>>0>=j>>>0)break;C=m;L=f[i>>2]|0}u=c;return 1}function Ac(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+32>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)nq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+48>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+52|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+48>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+44|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;B=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)nq(d);else{P=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+32>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)nq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+52|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;A=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)nq(d);else{O=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Cc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+52>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)nq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+72|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+68>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+64|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;B=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)nq(d);else{P=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Dc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)nq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)nq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+72|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)nq(d);else{j=k<<6;A=r+32&-32;wi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)nq(d);else{O=k<<6;j=r+32&-32;wi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Ec(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Oa,F=Oa,G=Oa,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(al(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(al(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=vn(24)|0;rj(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;fi(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Fc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0.0,R=0.0,S=0,T=0.0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Ui(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=1.0;q=0.0;r=0;s=k;t=l;u=0;v=0;w=0;x=0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Ui(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Ui(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Ui(a)|0;z=ho(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=1;o=0;p=1.0;q=0.0;r=0;s=A;t=1;u=0;v=0;w=z;x=B;break}}}else{n=1;o=0;p=1.0;q=0.0;r=0;s=y;t=l;u=0;v=0;w=0;x=0}}while(1){l=s+-48|0;y=s|32;if(l>>>0>=10){A=(s|0)==46;if(!(A|(y+-97|0)>>>0<6)){C=s;break}if(A)if(!n){D=1;E=o;F=p;G=q;H=r;J=t;K=v;L=u;M=v;N=u}else{C=46;break}else m=20}else m=20;if((m|0)==20){m=0;A=(s|0)>57?y+-87|0:l;do if(!((u|0)<0|(u|0)==0&v>>>0<8))if((u|0)<0|(u|0)==0&v>>>0<14){O=p*.0625;P=o;Q=O;R=q+O*+(A|0);S=r;break}else{l=(o|0)!=0|(A|0)==0;P=l?o:1;Q=p;R=l?q:q+p*.5;S=r;break}else{P=o;Q=p;R=q;S=A+(r<<4)|0}while(0);A=ho(v|0,u|0,1,0)|0;D=n;E=P;F=Q;G=R;H=S;J=1;K=w;L=x;M=A;N=I}A=f[g>>2]|0;if(A>>>0<(f[j>>2]|0)>>>0){f[g>>2]=A+1;n=D;o=E;p=F;q=G;r=H;s=h[A>>0]|0;t=J;u=N;v=M;w=K;x=L;continue}else{n=D;o=E;p=F;q=G;r=H;s=Ui(a)|0;t=J;u=N;v=M;w=K;x=L;continue}}do if(!t){L=(f[j>>2]|0)==0;if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(!((n|0)==0|L))f[g>>2]=(f[g>>2]|0)+-1}else gn(a,0);T=+(d|0)*0.0}else{L=(n|0)==0;K=L?v:w;M=L?u:x;if((u|0)<0|(u|0)==0&v>>>0<8){L=r;N=v;J=u;while(1){s=L<<4;H=N;N=ho(N|0,J|0,1,0)|0;if(!((J|0)<0|(J|0)==0&H>>>0<7)){U=s;break}else{L=s;J=I}}}else U=r;if((C|32|0)==112){J=Re(a,e)|0;L=I;if((J|0)==0&(L|0)==-2147483648){if(!e){gn(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=J;W=L}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}L=fo(K|0,M|0,2)|0;J=ho(L|0,I|0,-32,-1)|0;L=ho(J|0,I|0,V|0,W|0)|0;J=I;if(!U){T=+(d|0)*0.0;break}N=0-c|0;s=((N|0)<0)<<31>>31;if((J|0)>(s|0)|(J|0)==(s|0)&L>>>0>N>>>0){N=ir()|0;f[N>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}N=c+-106|0;s=((N|0)<0)<<31>>31;if((J|0)<(s|0)|(J|0)==(s|0)&L>>>0>>0){N=ir()|0;f[N>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){G=q;N=U;s=L;H=J;while(1){E=!(G>=.5);o=N<<1|(E^1)&1;F=G+(E?G:G+-1.0);E=ho(s|0,H|0,-1,-1)|0;D=I;if((o|0)>-1){G=F;N=o;s=E;H=D}else{X=F;Y=o;Z=E;_=D;break}}}else{X=q;Y=U;Z=L;_=J}H=((b|0)<0)<<31>>31;s=jo(32,0,c|0,((c|0)<0)<<31>>31|0)|0;N=ho(s|0,I|0,Z|0,_|0)|0;s=I;if((s|0)<(H|0)|(s|0)==(H|0)&N>>>0>>0)if((N|0)>0){$=N;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){G=+(d|0);ca=+Gq(+ik(1.0,ba),G);da=aa;ea=G}N=(Y&1|0)==0&(X!=0.0&(da|0)<32);G=(N?0.0:X)*ea+(ca+ea*+((Y+(N&1)|0)>>>0))-ca;if(!(G!=0.0)){N=ir()|0;f[N>>2]=34}T=+Hq(G,Z)}while(0);return +T}function Gc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Ih(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)br(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)br(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=0;r=d;do{f[i>>2]=(q>>>0)/3|0;f[h>>2]=f[i>>2];d=dk(r,h)|0;r=f[l>>2]|0;do if(!d){s=f[(f[r+12>>2]|0)+(q<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(q>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(q&31);t=q+1|0;v=((t>>>0)%3|0|0)==0?q+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((v|0)==-1)x=-1;else x=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=q>>>0){v=q+1|0;t=((v>>>0)%3|0|0)==0?q+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(q&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?q+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((B|0)==-1)Q=-1;else Q=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);q=q+1|0}while(q>>>0<(f[r+4>>2]|0)-(f[r>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Rc(a,c,e);j=1;u=g;return j|0}else{md(a,0,0);j=1;u=g;return j|0}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=n;n=f[b>>2]|0;while(1){if((n|0)==(f[c>>2]|0))break;o=k+16|0;f[o>>2]=f[n+16>>2];if((k|0)!=(n|0)){f[h>>2]=f[n+20>>2];f[i>>2]=n+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k+20|0,g,e)}p=k+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(k|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[o>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=22;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=25;break}else z=x}s=z}if((y|0)==22){y=0;B=s;C=s;break}else if((y|0)==25){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[k>>2]=0;f[k+4>>2]=0;f[p>>2]=B;f[C>>2]=k;q=f[f[a>>2]>>2]|0;if(!q)D=k;else{f[a>>2]=q;D=f[C>>2]|0}Oe(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[n+4>>2]|0;if(!q){o=n+8|0;r=f[o>>2]|0;if((f[r>>2]|0)==(n|0))E=r;else{r=o;do{o=f[r>>2]|0;r=o+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(o|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=t;n=E}}n=f[k+8>>2]|0;if(!n)F=k;else{m=n;while(1){n=f[m+8>>2]|0;if(!n)break;else m=n}F=m}Sj(a,F)}while(0);F=f[b>>2]|0;E=f[c>>2]|0;if((F|0)==(E|0)){u=d;return}c=a+4|0;t=a+4|0;D=F;while(1){Ng(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=43;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=46;break}else G=z}A=G}if((y|0)==43){y=0;I=A;J=A;K=C;break}else if((y|0)==46){y=0;I=A;J=H;K=C;break}}else{I=c;J=c;K=f[e>>2]|0}while(0);f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=I;f[J>>2]=K;F=f[f[a>>2]>>2]|0;if(!F)L=K;else{f[a>>2]=F;L=f[J>>2]|0}Oe(f[t>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(E|0))break;else D=M}u=d;return}function Ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=_q(l)|0;uj(m|0,0,l|0)|0;n=_q(l)|0;uj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=s;H=F;I=q}else{J=o;nq(J)}while(1){F=f[I+(H<<2)>>2]|0;if(t)uj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=0;L=F;while(1){M=f[s+(L<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(H|0)&(R|0)<(H|0)&(Q|0)<(H|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=K+1|0}else U=K}else U=K;Q=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);L=(V|0)==(F|0)?-1:V;if((L|0)==-1)break;else K=U}K=X(H,e)|0;if(!U){W=K;Y=30}else{if(t){L=0;do{F=m+(L<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(K<<2)|0;F=c+(K<<2)|0;s=f[L+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Od(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(H,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(G+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;L=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=P;Od(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((G|0)<=2)break a;Q=f[l>>2]|0;I=f[Q>>2]|0;P=H+-1|0;if((f[Q+4>>2]|0)-I>>2>>>0<=P>>>0){J=Q;break}else{Q=H;H=P;G=Q}}nq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;$q(n);$q(m);u=g;return 1}uj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;$q(n);$q(m);u=g;return 1}function Jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Ph(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=_q(d)|0;uj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=0;y=h;A=C;while(1){if((A|0)>0){C=0;do{H=f[y+(C<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(C<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(C<<2)>>2]=(H|0)<(J|0)?J:H;K=I}C=C+1|0}while((C|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;C=(f[D+(E<<2)>>2]|0)-(f[L+(E<<2)>>2]|0)|0;I=B+(E<<2)|0;f[I>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){M=C-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+C|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}E=E+1|0;A=f[g>>2]|0;if((E|0)>=(A|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,A=c+(z<<2)|0,E=f[g>>2]|0,(E|0)>0):0){B=0;D=b+((X(x+-2|0,e)|0)<<2)|0;I=E;while(1){if((I|0)>0){E=0;do{C=f[D+(E<<2)>>2]|0;H=f[n>>2]|0;if((C|0)>(H|0)){J=f[o>>2]|0;f[J+(E<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(E<<2)>>2]=(C|0)<(J|0)?J:C;O=H}E=E+1|0}while((E|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;E=(f[y+(B<<2)>>2]|0)-(f[P+(B<<2)>>2]|0)|0;H=A+(B<<2)|0;f[H>>2]=E;if((E|0)>=(f[q>>2]|0)){if((E|0)>(f[s>>2]|0)){Q=E-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+E|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}B=B+1|0;I=f[g>>2]|0;if((B|0)>=(I|0))break;else D=P}}if((x|0)<=2)break a}nq(i)}while(0);if((e|0)>0)uj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=0;K=h;G=e;while(1){if((G|0)>0){e=0;do{F=f[K+(e<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(e<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(e<<2)>>2]=(F|0)<(l|0)?l:F;R=d}e=e+1|0}while((e|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[S+(a<<2)>>2]|0)|0;d=c+(a<<2)|0;f[d>>2]=e;if((e|0)>=(f[O>>2]|0)){if((e|0)>(f[M>>2]|0)){T=e-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+e|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}a=a+1|0;G=f[g>>2]|0;if((a|0)>=(G|0))break;else K=S}$q(h);return 1}function Kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=_q(l)|0;uj(m|0,0,l|0)|0;n=_q(l)|0;uj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=s;I=G;J=q}else{K=o;nq(K)}while(1){G=f[J+(I<<2)>>2]|0;if(t)uj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=0;M=G;while(1){if(((f[s+(M>>>5<<2)>>2]&1<<(M&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(M<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(I|0)&(S|0)<(I|0)&(R|0)<(I|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=L+1|0}else T=L;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);M=(U|0)==(G|0)?-1:U;if((M|0)==-1)break;else L=T}L=X(I,e)|0;if(!T){V=L;W=28}else{if(t){M=0;do{G=m+(M<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;G=c+(L<<2)|0;s=f[M+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[M>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Od(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(I,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(H+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;M=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=M;f[x>>2]=Q;Od(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((H|0)<=2)break a;R=f[l>>2]|0;J=f[R>>2]|0;Q=I+-1|0;if((f[R+4>>2]|0)-J>>2>>>0<=Q>>>0){K=R;break}else{R=I;I=Q;H=R}}nq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;$q(n);$q(m);u=g;return 1}uj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;$q(n);$q(m);u=g;return 1}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Ph(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=_q(d)|0;uj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=0;z=h;C=D;while(1){if((C|0)>0){D=0;do{G=f[z+(D<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(D<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(D<<2)>>2]=(G|0)<(I|0)?I:G;J=H}D=D+1|0}while((D|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;D=(f[E+(F<<2)>>2]|0)-(f[K+(F<<2)>>2]|0)|0;H=B+(F<<2)|0;f[H>>2]=D;if((D|0)>=(f[q>>2]|0)){if((D|0)>(f[s>>2]|0)){L=D-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+D|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}F=F+1|0;C=f[g>>2]|0;if((F|0)>=(C|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,C=c+(A<<2)|0,F=f[g>>2]|0,(F|0)>0):0){B=0;E=b+((X(y+-2|0,e)|0)<<2)|0;H=F;while(1){if((H|0)>0){F=0;do{D=f[E+(F<<2)>>2]|0;G=f[n>>2]|0;if((D|0)>(G|0)){I=f[o>>2]|0;f[I+(F<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(F<<2)>>2]=(D|0)<(I|0)?I:D;N=G}F=F+1|0}while((F|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;F=(f[z+(B<<2)>>2]|0)-(f[O+(B<<2)>>2]|0)|0;G=C+(B<<2)|0;f[G>>2]=F;if((F|0)>=(f[q>>2]|0)){if((F|0)>(f[s>>2]|0)){P=F-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+F|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}B=B+1|0;H=f[g>>2]|0;if((B|0)>=(H|0))break;else E=O}}if((y|0)<=2)break a}nq(i)}while(0);if((e|0)>0)uj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=0;J=h;d=e;while(1){if((d|0)>0){e=0;do{l=f[J+(e<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(e<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(e<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}e=e+1|0}while((e|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[R+(a<<2)>>2]|0)|0;j=c+(a<<2)|0;f[j>>2]=e;if((e|0)>=(f[N>>2]|0)){if((e|0)>(f[L>>2]|0)){S=e-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+e|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}a=a+1|0;d=f[g>>2]|0;if((a|0)>=(d|0))break;else J=R}$q(h);return 1}function Mc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;nk(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(r<<2)>>2]|0;do{v=f[a+(s+r<<2)>>2]|0;t=t>>>0>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>o>>>0?t:o;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ti(k,i);r=r+p|0;if((r|0)>=(c|0)){x=v;break}else o=v}}else{o=0;r=0;while(1){v=f[a+(o<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>r>>>0?v:r;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ti(k,i);o=o+p|0;if((o|0)>=(c|0)){x=w;break}else r=w}}f[l>>2]=0;r=l+4|0;f[r>>2]=0;f[l+8>>2]=0;o=f[k>>2]|0;q=(f[d>>2]|0)-o|0;w=q>>2;if(w){if(w>>>0>1073741823)nq(l);s=vn(q)|0;f[r>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;kh(s|0,o|0,q|0)|0;f[r>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;o=0;v=0;while(1){D=ho(o|0,v|0,f[s+(y<<2)>>2]|0,0)|0;E=I;y=y+1|0;if(y>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{o=D;v=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Mg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=fo(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;v=En(B|0,C|0,p|0,0)|0;C=ho(F|0,z|0,v|0,I|0)|0;v=ho(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[r>>2]|0;if((l|0)!=(w|0))f[r>>2]=l+(~((l+-4-w|0)>>>2)<<2);br(w)}w=Mg(a,c,x,i)|0;l=f[i>>2]|0;r=((x-l|0)/64|0)+l<<3;C=l<<3;z=ho(w|0,I|0,C|0,((C|0)<0)<<31>>31|0)|0;C=ho(z|0,I|0,r|0,((r|0)<0)<<31>>31|0)|0;r=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=vn(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=16351;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=(Lh(e,i)|0)==0;if((b[i+11>>0]|0)<0)br(f[i>>2]|0);if(!w){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=vn(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=16351;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=Tk(e,i)|0;if((b[i+11>>0]|0)<0)br(f[i>>2]|0);H=w}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(r|0)|(A|0)==(r|0)&v>>>0>=C>>>0)&1;b[m>>0]=H;C=g+16|0;v=f[C+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[C>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Me(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=ud(a,c,p,k,g)|0;break}case 1:{J=Tc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);br(g)}n=J;u=h;return n|0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;br(k)}br(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);br(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;br(m)}br(n)}br(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;br(p)}br(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);br(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;br(e)}br(j)}br(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){dj(g);br(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){dj(p);br(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{qm(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return}function Oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=j;j=f[c>>2]|0;while(1){if((j|0)==(f[d>>2]|0))break;k=g+16|0;im(k,j+16|0)|0;im(g+28|0,j+28|0)|0;l=g+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(g|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[k+11>>0]|0;o=n<<24>>24<0;s=o?f[g+20>>2]|0:n&255;n=o?f[k>>2]|0:k;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0>>0?w:s;if((u|0)!=0?(x=al(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=22;else y=24;else if(s>>>0>>0)y=22;else y=24;if((y|0)==22){y=0;w=f[o>>2]|0;if(!w){y=23;break}else z=w}else if((y|0)==24){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=26;break}else z=w}o=z}if((y|0)==23){y=0;B=o;C=o;break}else if((y|0)==26){y=0;B=A;C=o;break}}else{B=h;C=h}while(0);f[g>>2]=0;f[g+4>>2]=0;f[l>>2]=C;f[B>>2]=g;m=f[f[a>>2]>>2]|0;if(!m)D=g;else{f[a>>2]=m;D=f[B>>2]|0}Oe(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[j+4>>2]|0;if(!m){k=j+8|0;s=f[k>>2]|0;if((f[s>>2]|0)==(j|0))E=s;else{s=k;do{k=f[s>>2]|0;s=k+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(k|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=p;j=E}}j=f[g+8>>2]|0;if(!j)F=g;else{i=j;while(1){j=f[i+8>>2]|0;if(!j)break;else i=j}F=i}Hj(a,F)}while(0);F=f[c>>2]|0;E=f[d>>2]|0;if((F|0)==(E|0))return;else G=F;while(1){cf(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;p=f[d>>2]|0;if((f[p>>2]|0)==(G|0))H=p;else{p=d;do{d=f[p>>2]|0;p=d+8|0;e=f[p>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{p=F;while(1){i=f[p>>2]|0;if(!i)break;else p=i}H=p}f[c>>2]=H;if((H|0)==(E|0))break;else G=H}return}function Pc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=vn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14805;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ok(i,h,-1)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);switch(j|0){case 0:{n=vn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n;break}case -1:{if((ni(i)|0)==10){n=vn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n}else q=6;break}default:q=6}a:do if((q|0)==6){n=d+8|0;r=d+12|0;s=f[r>>2]|0;t=f[n>>2]|0;b:do if((s-t|0)>0){v=h+8|0;w=h+4|0;x=c+20|0;y=h+11|0;z=0;A=t;B=s;c:while(1){C=f[(f[A+(z<<2)>>2]|0)+28>>2]|0;switch(C|0){case 9:{q=12;break}case 6:case 5:case 4:case 2:{D=A;E=B;break}default:{if((C|2|0)!=3)break c;if((C|0)==9)q=12;else{D=A;E=B}}}if((q|0)==12){q=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=vn(32)|0;f[h>>2]=C;f[v>>2]=-2147483616;f[w>>2]=17;k=C;l=14821;m=k+17|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[C+17>>0]=0;F=f[x>>2]|0;if(F){G=x;H=F;d:while(1){F=H;while(1){if((f[F+16>>2]|0)>=0)break;I=f[F+4>>2]|0;if(!I){J=G;break d}else F=I}H=f[F>>2]|0;if(!H){J=F;break}else G=F}if(((J|0)!=(x|0)?(f[J+16>>2]|0)<=0:0)?(G=J+20|0,(Lh(G,h)|0)!=0):0)K=Ok(G,h,-1)|0;else q=21}else q=21;if((q|0)==21){q=0;K=Ok(i,h,-1)|0}if((b[y>>0]|0)<0)br(f[h>>2]|0);if((K|0)<1)break;D=f[n>>2]|0;E=f[r>>2]|0}z=z+1|0;if((z|0)>=(E-D>>2|0))break b;else{A=D;B=E}}if((j|0)!=1){B=vn(56)|0;k=B;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(B);o=4196;p=B;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;A=vn(32)|0;f[h>>2]=A;f[h+8>>2]=-2147483616;f[h+4>>2]=24;k=A;l=14839;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[A+24>>0]=0;f[a>>2]=-1;rj(a+4|0,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}while(0);r=vn(56)|0;k=r;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(r);o=4136;p=r}while(0);f[p>>2]=o;vp(p,d);zd(a,p,i,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);f[c+40>>2]=f[p+52>>2];f[c+44>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}Va[f[(f[p>>2]|0)+4>>2]&127](p);u=g;return}function Qc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>112){f[e>>2]=g+-113;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=f[a>>2]|0;o=n;if(i>>>0>n>>>0){p=i;q=((p-o>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-p|0;p=s>>2;if(!p)t=i;else{qm(r|0,i|0,s|0)|0;t=f[g>>2]|0}s=r+(p<<2)|0;f[e>>2]=s;f[g>>2]=t+(q<<2);v=s;break}s=m-o>>1;o=(s|0)==0?1:s;if(o>>>0>1073741823){s=ra(8)|0;ap(s,16422);f[s>>2]=7412;va(s|0,1160,122)}s=vn(o<<2)|0;q=s;p=s+(o>>>2<<2)|0;r=p;w=s+(o<<2)|0;if((i|0)==(j|0)){x=r;y=n}else{n=p;p=r;o=i;do{f[n>>2]=f[o>>2];n=p+4|0;p=n;o=o+4|0}while((o|0)!=(j|0));x=p;y=f[a>>2]|0}f[a>>2]=q;f[g>>2]=r;f[e>>2]=x;f[k>>2]=w;if(!y)v=x;else{br(y);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)|0;y=a+12|0;x=f[y>>2]|0;k=x-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}g=vn(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=vn(4068)|0;f[d>>2]=k;Fg(c,d);d=f[e>>2]|0;while(1){z=f[v>>2]|0;if((d|0)==(z|0))break;k=d+-4|0;yg(c,k);d=k}k=z;z=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=z;f[v>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((d|0)!=(g|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(z|0)br(z);u=b;return}if((x|0)!=(h|0)){h=vn(4068)|0;f[c>>2]=h;Fg(a,c);u=b;return}h=vn(4068)|0;f[c>>2]=h;yg(a,c);c=f[v>>2]|0;h=f[c>>2]|0;x=c+4|0;f[v>>2]=x;c=f[e>>2]|0;z=f[y>>2]|0;k=z;do if((c|0)==(z|0)){g=f[a>>2]|0;j=g;if(x>>>0>g>>>0){d=x;m=((d-j>>2)+1|0)/-2|0;i=x+(m<<2)|0;t=c-d|0;d=t>>2;if(!d)A=x;else{qm(i|0,x|0,t|0)|0;A=f[v>>2]|0}t=i+(d<<2)|0;f[e>>2]=t;f[v>>2]=A+(m<<2);B=t;break}t=k-j>>1;j=(t|0)==0?1:t;if(j>>>0>1073741823){t=ra(8)|0;ap(t,16422);f[t>>2]=7412;va(t|0,1160,122)}t=vn(j<<2)|0;m=t;d=t+(j>>>2<<2)|0;i=d;l=t+(j<<2)|0;if((x|0)==(c|0)){C=i;D=g}else{g=d;d=i;j=x;do{f[g>>2]=f[j>>2];g=d+4|0;d=g;j=j+4|0}while((j|0)!=(c|0));C=d;D=f[a>>2]|0}f[a>>2]=m;f[v>>2]=i;f[e>>2]=C;f[y>>2]=l;if(!D)B=C;else{br(D);B=f[e>>2]|0}}else B=c;while(0);f[B>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Ti(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))Ti(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Ti(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ti(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function Sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=-149;g=24;i=4;break}case 1:{e=-1074;g=53;i=4;break}case 2:{e=-1074;g=53;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Ui(a)|0}while((tq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Ui(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(b[18933+l>>0]|0)){q=l;r=n;break}do if(l>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Ui(a)|0;break}}else t=n;while(0);s=l+1|0;if(s>>>0<8){l=s;n=t}else{q=s;r=t;break}}c:do switch(q|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&q>>>0>3)if((q|0)==8)break c;else{i=23;break c}d:do if(!q){l=0;s=r;while(1){if((s|32|0)!=(b[18942+l>>0]|0)){u=l;v=s;break d}do if(l>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Ui(a)|0;break}}else x=s;while(0);w=l+1|0;if(w>>>0<3){l=w;s=x}else{u=w;v=x;break}}}else{u=q;v=r}while(0);switch(u|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Ui(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Ui(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=ir()|0;f[l>>2]=22;gn(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((v|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Ui(a)|0;if((E|32|0)==120){j=+Fc(a,g,e,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=v;j=+nb(a,F,g,e,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=ir()|0;f[s>>2]=22;gn(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&q>>>0>3){n=q;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Tc(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=vn(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=16374;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Lh(g,j)|0)==0;if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if(!r){r=vn(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=16374;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Tk(g,j)|0;if((b[j+11>>0]|0)<0)br(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Me(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=ve(a,c,d,h)|0;u=i;return n|0}case 2:{n=ue(a,c,d,h)|0;u=i;return n|0}case 3:{n=te(a,c,d,h)|0;u=i;return n|0}case 4:{n=se(a,c,d,h)|0;u=i;return n|0}case 5:{n=re(a,c,d,h)|0;u=i;return n|0}case 6:{n=qe(a,c,d,h)|0;u=i;return n|0}case 7:{n=pe(a,c,d,h)|0;u=i;return n|0}case 8:{n=oe(a,c,d,h)|0;u=i;return n|0}case 9:{n=ne(a,c,d,h)|0;u=i;return n|0}case 10:{n=me(a,c,d,h)|0;u=i;return n|0}case 11:{n=le(a,c,d,h)|0;u=i;return n|0}case 12:{n=ke(a,c,d,h)|0;u=i;return n|0}case 13:{n=je(a,c,d,h)|0;u=i;return n|0}case 14:{n=ie(a,c,d,h)|0;u=i;return n|0}case 15:{n=he(a,c,d,h)|0;u=i;return n|0}case 16:{n=ge(a,c,d,h)|0;u=i;return n|0}case 17:{n=fe(a,c,d,h)|0;u=i;return n|0}case 18:{n=ee(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*524288.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==524288){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;m=x;while(1){v=524288.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==524288){C=p;D=524288;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*1.9073486328125e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*262144.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==262144){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;m=x;while(1){v=262144.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==262144){C=p;D=262144;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*3.814697265625e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*65536.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==65536){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;m=x;while(1){v=65536.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==65536){C=p;D=65536;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.0000152587890625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*32768.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==32768){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;m=x;while(1){v=32768.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==32768){C=p;D=32768;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000030517578125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*8192.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==8192){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;m=x;while(1){v=8192.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==8192){C=p;D=8192;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.0001220703125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Lb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Mb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Nb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=ho(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else yh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)nq(h);else{i=l<<2;t=vn(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;uj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ob(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);br(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +_g(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=_q(j)|0;uj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=q;F=D;G=o}else{H=m;nq(H)}while(1){D=f[G+(F<<2)>>2]|0;q=X(F,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(F|0)&(M|0)<(F|0)&(L|0)<(F|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(E+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Od(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((E|0)<=2)break a;M=f[l>>2]|0;G=f[M>>2]|0;I=F+-1|0;if((f[M+4>>2]|0)-G>>2>>>0<=I>>>0){H=M;break}else{M=F;F=I;E=M}}nq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;$q(k);u=g;return 1}uj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;$q(k);u=g;return 1}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=ho(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=ho(l|0,k|0,(l|0)==0&(k|0)==0&1|0,0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=n+((n|0)==0&1)&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)nq(i);p=vn(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=j;j=p;do{b[j>>0]=0;j=(f[l>>2]|0)+1|0;f[l>>2]=j;q=q+-1|0}while((q|0)!=0);o=f[i>>2]|0}q=a+28|0;j=(f[q>>2]|0)+-1|0;a:do if((j|0)>-1){p=a+24|0;r=j;s=0;t=4096;v=k;while(1){w=(f[p>>2]&1<>>0>>0){y=s;z=t}else{b[o+s>>0]=t;y=s+1|0;z=t>>>8}En(f[4248+(x<<3)>>2]|0,0,z|0,0)|0;A=z+(w?0:0-v&255)+(X((z+I|0)>>>(f[4248+(x<<3)+4>>2]|0),256-x|0)|0)|0;x=r+-1|0;if((x|0)<=-1){B=y;C=A;break a}r=x;s=y;t=A;v=b[h>>0]|0}}else{B=0;C=4096}while(0);y=f[m>>2]|0;if((f[n>>2]|0)==(y|0)){D=B;E=C}else{z=B;B=C;C=y;while(1){C=C+-4|0;y=f[C>>2]|0;k=31;j=z;v=B;while(1){t=b[h>>0]|0;s=(1<>>0>>0){F=j;G=v}else{b[o+j>>0]=v;F=j+1|0;G=v>>>8}En(f[4248+(r<<3)>>2]|0,0,G|0,0)|0;v=G+(s?0:0-t&255)+(X((G+I|0)>>>(f[4248+(r<<3)+4>>2]|0),256-r|0)|0)|0;if((k|0)<=0)break;else{k=k+-1|0;j=F}}if((f[n>>2]|0)==(C|0)){D=F;E=v;break}else{z=F;B=v}}}B=E+-4096|0;do if(B>>>0>=64){if(B>>>0<16384){F=o+D|0;z=E+12288|0;b[F>>0]=z;H=2;J=z>>>8;K=F+1|0;L=25;break}if(B>>>0<4194304){F=o+D|0;z=E+8384512|0;b[F>>0]=z;b[F+1>>0]=z>>>8;H=3;J=z>>>16;K=F+2|0;L=25}else M=D}else{H=1;J=B;K=o+D|0;L=25}while(0);if((L|0)==25){b[K>>0]=J;M=H+D|0}D=c+16|0;H=D;J=f[H+4>>2]|0;if(!((J|0)>0|(J|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}di(M,c)|0;h=f[i>>2]|0;H=D;D=f[H+4>>2]|0;if(!((D|0)>0|(D|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+M|0)|0}M=e;f[M>>2]=0;f[M+4>>2]=0;sf(a,2,e);e=f[a+12>>2]|0;M=f[m>>2]|0;if((M|0)!=(e|0))f[m>>2]=M+(~((M+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[q>>2]=0;q=f[i>>2]|0;if(!q){u=d;return}if((f[l>>2]|0)!=(q|0))f[l>>2]=q;br(q);u=d;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ti(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))Ti(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ti(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ti(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){l=((k>>>0)%3|0|0)==0?j+-2|0:k;if(!((j>>>0)%3|0)){m=j+2|0;n=l;break}else{m=j+-1|0;n=l;break}}else{m=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(n<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(m<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((m|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=1;w=r;while(1){r=f[t>>2]|0;x=f[(f[r>>2]|0)+36>>2]|0;f[e>>2]=(w>>>0)/3|0;f[d>>2]=f[e>>2];if(Ra[x&127](r,d)|0){y=v;break}r=w+1|0;x=((r>>>0)%3|0|0)==0?w+-2|0:r;if((x|0)==-1){z=12;break}w=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=v+1|0;if((w|0)==-1){y=x;break}else v=x}if((z|0)==12)y=v+1|0;A=y;B=f[k>>2]|0;C=f[l>>2]|0}else{A=1;B=q;C=o}f[B+(f[C+(f[i>>2]<<2)>>2]<<2)>>2]=A;A=a+108|0;i=f[A>>2]|0;C=i-B>>2;B=i;if((n|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(i|0)!=-1):0){n=a+64|0;y=1;v=i;while(1){i=f[n>>2]|0;w=f[(f[i>>2]|0)+36>>2]|0;f[g>>2]=(v>>>0)/3|0;f[d>>2]=f[g>>2];if(Ra[w&127](i,d)|0){D=y;break}i=v+1|0;f[(f[l>>2]|0)+((((i>>>0)%3|0|0)==0?v+-2|0:i)<<2)>>2]=C;i=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((i|0)==-1){z=20;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;i=y+1|0;if((v|0)==-1){D=i;break}else y=i}if((z|0)==20)D=y+1|0;E=D;F=f[A>>2]|0}else{E=1;F=B}f[d>>2]=E;if(F>>>0<(f[a+112>>2]|0)>>>0){f[F>>2]=E;f[A>>2]=F+4}else Ti(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;m=f[k>>2]|0;if((m|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3852+(m<<2)>>2]|0;f[d>>2]=a;m=o+(s*12|0)+4|0;G=f[m>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[m>>2]=G+4}else Ti(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function od(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=_q(j)|0;uj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=q;G=E;H=o}else{I=m;nq(I)}while(1){E=f[H+(G<<2)>>2]|0;q=X(G,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(G|0)&(N|0)<(G|0)&(M|0)<(G|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(F+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Od(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((F|0)<=2)break a;N=f[l>>2]|0;H=f[N>>2]|0;K=G+-1|0;if((f[N+4>>2]|0)-H>>2>>>0<=K>>>0){I=N;break}else{N=G;G=K;F=N}}nq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;$q(k);u=g;return 1}uj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;$q(k);u=g;return 1}function pd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2140;i=c;f[a>>2]=i;return}case 2:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2196;i=c;f[a>>2]=i;return}case 4:{c=vn(168)|0;Vi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=vn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2252;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2308;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2364;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2420;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function qd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1720;i=c;f[a>>2]=i;return}case 2:{c=vn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1776;i=c;f[a>>2]=i;return}case 4:{c=vn(168)|0;Wi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=vn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1832;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1888;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mk(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1944;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2e3;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function rd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=e;B=x;while(1){C=B+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=A;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=A;break d}if((d[v>>1]|0)!=(d[B+12>>1]|0)){y=A;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=c;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=d[w>>1]|0;B=e;z=q;while(1){D=z+8|0;if(A<<16>>16!=(d[D>>1]|0)){G=B;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=B;break e}if((d[u>>1]|0)!=(d[z+12>>1]|0)){G=B;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);c=f[p>>2]|0;if(!c){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=e;B=x;while(1){C=B+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=A;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=A;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=A;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=d;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=b[w>>0]|0;B=e;z=q;while(1){D=z+8|0;if(A<<24>>24!=(b[D>>0]|0)){G=B;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=B;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=B;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);d=f[p>>2]|0;if(!d){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=d;z=v;while(1){if((x|0)!=(f[z+8>>2]|0)){w=y;break d}if((f[p>>2]|0)!=(f[z+12>>2]|0)){w=y;break d}if((f[t>>2]|0)!=(f[z+16>>2]|0)){w=y;break d}if((f[u>>2]|0)!=(f[z+20>>2]|0)){w=y;break d}A=f[z>>2]|0;if(!A){w=z;break}else{B=z;z=A;y=B}}}while(0);f[i>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=c;while(1){u=f[d+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(j|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=D;s=u;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{y=f[d+8>>2]|0;z=d;x=v;while(1){if((y|0)!=(f[x+8>>2]|0)){E=z;break e}if((f[u>>2]|0)!=(f[x+12>>2]|0)){E=z;break e}if((f[t>>2]|0)!=(f[x+16>>2]|0)){E=z;break e}if((f[p>>2]|0)!=(f[x+20>>2]|0)){E=z;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;z=A}}}while(0);f[i>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);c=f[o>>2]|0;if(!c){C=43;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){C=43;break}else{j=r;k=q;m=q}}if((C|0)==43)return}function ud(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;uj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=ho(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0>>0)}Rn(m);r=fo(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;s=n;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));fd(n,l,32,g)|0;l=n+16|0;s=fo(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=ho(s|0,I|0,39,0)|0;s=ko(o|0,I|0,3)|0;o=ho(s|0,I|0,8,0)|0;s=ho(o|0,I|0,t|0,0)|0;Jl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;Ai(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=0;K=f[H>>2]|0;do{L=K>>>3;M=K&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(1<>0]|0);N=(f[G>>2]|0)+L|0;b[N>>0]=(F>>>J&1)<>0]|0);K=(f[H>>2]|0)+1|0;f[H>>2]=K;J=J+1|0}while((J|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}$f(n,g);fg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Me(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);br(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)br(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;br(n);u=i;return 1}function vd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=e;A=v;while(1){B=A+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=z;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=z;break d}if((d[u>>1]|0)!=(d[A+12>>1]|0)){w=z;break d}B=f[A>>2]|0;if(!B){w=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=E;t=u;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=d[u>>1]|0;A=u+2|0;y=e;x=q;while(1){C=x+8|0;if(z<<16>>16!=(d[C>>1]|0)){F=y;break e}if((d[A>>1]|0)!=(d[C+2>>1]|0)){F=y;break e}if((d[v>>1]|0)!=(d[x+12>>1]|0)){F=y;break e}C=f[x>>2]|0;if(!C){F=x;break}else{B=x;x=C;y=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);c=f[p>>2]|0;if(!c){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=e;A=w;while(1){B=A+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=z;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=z;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=z;break d}B=f[A>>2]|0;if(!B){x=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=d;while(1){v=f[e+4>>2]|0;if(v>>>0>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(k|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=E;t=v;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=b[v>>0]|0;A=e;y=q;while(1){C=y+8|0;if(z<<24>>24!=(b[C>>0]|0)){F=A;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=A;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=A;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;A=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);d=f[p>>2]|0;if(!d){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function xd(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=ko(c|0,d|0,52)|0;i=h&2047;h=ko(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=fo(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=Jo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=fo(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=fo(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=0;q=n;n=m;while(1){m=o+-1|0;q=fo(q|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&q>>>0>4294967295)){r=m;break}else o=m}}else r=0;o=fo(c|0,d|0,1-r|0)|0;t=r;u=o;v=I}else{t=i;u=c;v=d&1048575|1048576}if(!j){o=fo(e|0,g|0,12)|0;q=I;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){n=0;m=o;o=q;while(1){q=n+-1|0;m=fo(m|0,o|0,1)|0;o=I;if(!((o|0)>-1|(o|0)==-1&m>>>0>4294967295)){w=q;break}else n=q}}else w=0;n=fo(e|0,g|0,1-w|0)|0;x=w;y=n;z=I}else{x=j;y=e;z=g&1048575|1048576}n=jo(u|0,v|0,y|0,z|0)|0;m=I;o=(m|0)>-1|(m|0)==-1&n>>>0>4294967295;b:do if((t|0)>(x|0)){q=t;A=m;B=o;C=u;D=v;E=n;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;G=A}else{F=C;G=D}H=fo(F|0,G|0,1)|0;J=I;K=q+-1|0;L=jo(H|0,J|0,y|0,z|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){q=K;A=M;B=N;C=H;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=H;T=J;break b}}U=a*0.0;break a}else{O=t;P=o;Q=n;R=m;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=O;n=W;o=V;while(1){E=fo(n|0,o|0,1)|0;D=I;C=m+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=C;n=E;o=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){o=ho(Y|0,Z|0,0,-1048576)|0;n=I;m=fo(X|0,0,52)|0;_=n|I;$=o|m}else{m=ko(Y|0,Z|0,1-X|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=vn(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14821;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Lh(c,e)|0)!=0):0)q=Ok(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Ok(i,e,-1)|0;if((b[e+11>>0]|0)<0)br(f[e>>2]|0);i=(1<>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;if(i&1|0?(q=(_(i|0)|0)^31,(q+-1|0)>>>0<=28):0){f[e>>2]=q+1;i=2<>2]=i+-1;q=i+-2|0;f[e+8>>2]=q;f[e+12>>2]=(q|0)/2|0}switch(Zi(f[j>>2]|0,f[h>>2]|0)|0){case 6:{q=f[j>>2]|0;i=f[h>>2]|0;c=f[(f[(f[i+4>>2]|0)+8>>2]|0)+(q<<2)>>2]|0;do if((Qa[f[(f[i>>2]|0)+8>>2]&127](i)|0)==1){Jf(g,i,6,q,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=22;break}else{t=g;v=p;break}}else{s=g;r=22}while(0);if((r|0)==22){q=vn(24)|0;f[q+4>>2]=c;c=q+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[q>>2]=2624;c=q;f[g>>2]=c;t=s;v=c}f[a>>2]=v;f[t>>2]=0;u=d;return}case 0:{t=f[j>>2]|0;j=f[h>>2]|0;h=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(t<<2)>>2]|0;do if((Qa[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Jf(g,j,0,t,e,514);v=f[g>>2]|0;if(!v){f[g>>2]=0;w=g;r=29;break}else{x=g;y=v;break}}else{w=g;r=29}while(0);if((r|0)==29){r=vn(24)|0;f[r+4>>2]=h;h=r+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[r>>2]=2624;e=r;f[g>>2]=e;x=w;y=e}f[a>>2]=y;f[x>>2]=0;u=d;return}default:{f[a>>2]=0;u=d;return}}}function zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;i=c+12|0;j=f[i>>2]|0;if((j|0)!=(e|0)){k=j;do{j=k+-4|0;f[i>>2]=j;l=f[j>>2]|0;f[j>>2]=0;if(l|0)Va[f[(f[l>>2]|0)+4>>2]&127](l);k=f[i>>2]|0}while((k|0)!=(e|0))}e=f[c+20>>2]|0;k=c+24|0;i=f[k>>2]|0;if((i|0)!=(e|0))f[k>>2]=i+(~((i+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;i=c+36|0;k=f[i>>2]|0;if((k|0)!=(e|0))f[i>>2]=k+(~((k+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=vn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;m=e;n=16062;o=m+23|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+23>>0]=0;f[a>>2]=-1;rj(a+4|0,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}Ud(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;k=e+11|0;if((b[k>>0]|0)<0)br(f[e>>2]|0);Yi(a,c);if(f[a>>2]|0){u=g;return}if((b[k>>0]|0)<0)br(f[e>>2]|0);if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=29;m=k;n=16086;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+29>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16116;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+24>>2]&127](c)|0)){k=vn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16148;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+28>>2]&127](c)|0)){k=vn(48)|0;f[h>>2]=k;f[h+8>>2]=-2147483600;f[h+4>>2]=34;m=k;n=16180;o=m+34|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+34>>0]=0;f[a>>2]=-1;rj(e,h);if((b[h+11>>0]|0)<0)br(f[h>>2]|0);u=g;return}e=vn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=30;m=e;n=16215;o=m+30|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+30>>0]=0;e=ak(d,h,0)|0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);if(e)Va[f[(f[c>>2]|0)+48>>2]&127](c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;return}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=d;y=u;while(1){if((w|0)!=(f[y+8>>2]|0)){v=x;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){v=x;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){v=x;break d}z=f[y>>2]|0;if(!z){v=y;break}else{A=y;y=z;x=A}}}while(0);f[i>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=c;while(1){t=f[d+4>>2]|0;if(t>>>0>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(j|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=C;s=t;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{x=f[d+8>>2]|0;y=d;w=u;while(1){if((x|0)!=(f[w+8>>2]|0)){D=y;break e}if((f[t>>2]|0)!=(f[w+12>>2]|0)){D=y;break e}if((f[p>>2]|0)!=(f[w+16>>2]|0)){D=y;break e}A=f[w>>2]|0;if(!A){D=w;break}else{z=w;w=A;y=z}}}while(0);f[i>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);c=f[o>>2]|0;if(!c){B=41;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){B=41;break}else{j=r;k=q;m=q}}if((B|0)==41)return}function Bd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3044;i=c;f[a>>2]=i;return}case 2:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3100;i=c;f[a>>2]=i;return}case 4:{c=vn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3156;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));hn(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=vn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3212;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3268;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=3324;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3380;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?al(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function Dd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2680;i=c;f[a>>2]=i;return}case 2:{c=vn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2736;i=c;f[a>>2]=i;return}case 4:{c=vn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2792;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));hn(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=vn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2848;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=vn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2904;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=vn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2960;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3016;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+44|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+40|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Ij(d)}j=a+56|0;di(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);Ak(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+52|0;i=h;do{hj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;hj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Ij(d)}i=a+68|0;di(f[i>>2]|0,b)|0;if(f[i>>2]|0){Gn(d);Ak(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+64|0;h=j;do{hj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Ij(d)}h=a+80|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+76|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Ij(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+64|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+60|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Ij(d)}j=a+76|0;di(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);Ak(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+72|0;i=h;do{hj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;hj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Ij(d)}i=a+88|0;di(f[i>>2]|0,b)|0;if(f[i>>2]|0){Gn(d);Ak(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+84|0;h=j;do{hj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;hj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Ij(d)}h=a+100|0;di(f[h>>2]|0,b)|0;if(f[h>>2]|0){Gn(d);Ak(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+96|0;j=i;do{hj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;hj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Ij(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Gd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=e;z=u;while(1){A=z+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=y;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=d[u>>1]|0;z=u+2|0;x=e;w=q;while(1){B=w+8|0;if(y<<16>>16!=(d[B>>1]|0)){E=x;break e}if((d[z>>1]|0)!=(d[B+2>>1]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);c=f[p>>2]|0;if(!c){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=e;z=u;while(1){A=z+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=y;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=d;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=b[u>>0]|0;z=u+1|0;x=e;w=q;while(1){B=w+8|0;if(y<<24>>24!=(b[B>>0]|0)){E=x;break e}if((b[z>>0]|0)!=(b[B+1>>0]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);d=f[p>>2]|0;if(!d){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}yp(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ph(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=vn(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Oe(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Hj(h+4|0,f[k>>2]|0);Hj(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(al(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(al(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=d;x=t;while(1){if((v|0)!=(f[x+8>>2]|0)){u=w;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){u=w;break d}y=f[x>>2]|0;if(!y){u=x;break}else{z=x;x=y;w=z}}}while(0);f[i>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=c;while(1){p=f[d+4>>2]|0;if(p>>>0>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=B;s=p;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{w=f[d+8>>2]|0;x=d;v=t;while(1){if((w|0)!=(f[v+8>>2]|0)){C=x;break e}if((f[p>>2]|0)!=(f[v+12>>2]|0)){C=x;break e}z=f[v>>2]|0;if(!z){C=v;break}else{y=v;v=z;x=y}}}while(0);f[i>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);c=f[o>>2]|0;if(!c){A=39;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){A=39;break}else{j=r;k=q;m=q}}if((A|0)==39)return}function Ld(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=al(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=al(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=al(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=Cg(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=al(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=Cg(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function Md(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Dm(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Dm(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=ho(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;jo(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=jo(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Nd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=vn(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14864;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+20>>0]=0;j=Mk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);i=f[h>>2]|0;n=vn(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14885;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Mk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);i=a+64|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Va[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+56>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=vn(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14908;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Ok(o,d,-1)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((ni(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0}j=vn(296)|0;aj(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Va[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Me(n,d,g,g+1|0)|0}g=vn(360)|0;yi(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Va[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ra[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((l|0)>-1)if((m|0)<=-1)if((l|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((m|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(l|0)>0?1:-1;o=(m|0)>0?1:-1}q=X(g,n)|0;r=X(g,o)|0;g=(l<<1)-q|0;f[c>>2]=g;l=(m<<1)-r|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;s=0-g|0;t=o}else{f[c>>2]=l;s=g;t=l}f[c>>2]=(t+q|0)/2|0;f[h>>2]=(s+r|0)/2|0;r=f[d>>2]|0;s=f[j>>2]|0;if((r|0)>-1)if((s|0)<=-1)if((r|0)<1){u=-1;v=-1}else p=14;else{u=1;v=1}else if((s|0)<1){u=-1;v=-1}else p=14;if((p|0)==14){u=(r|0)>0?1:-1;v=(s|0)>0?1:-1}q=f[e>>2]|0;e=X(q,u)|0;t=X(q,v)|0;q=(r<<1)-e|0;f[d>>2]=q;r=(s<<1)-t|0;f[j>>2]=r;if((X(u,v)|0)>-1){v=0-r|0;f[d>>2]=v;w=0-q|0;x=v}else{f[d>>2]=r;w=q;x=r}r=(x+e|0)/2|0;f[d>>2]=r;e=(w+t|0)/2|0;f[j>>2]=e;y=r;z=e}else{y=i;z=k}if(!y)if(!z){A=y;B=z}else p=22;else if((y|0)<0&(z|0)<1){A=y;B=z}else p=22;if((p|0)==22){if(!y)C=(z|0)==0?0:(z|0)>0?3:1;else C=(y|0)>0?(z>>31)+2|0:(z|0)<1?0:3;z=f[c>>2]|0;y=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=y;f[C+4>>2]=0-z;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-z;f[C+4>>2]=0-y;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-y;f[C+4>>2]=z;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=z;f[C+4>>2]=y;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;A=D;B=E}E=(f[c>>2]|0)-A|0;f[a>>2]=E;A=(f[h>>2]|0)-B|0;B=a+4|0;f[B>>2]=A;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((A|0)>=0){G=A;f[B>>2]=G;return}G=(f[b+4>>2]|0)+A|0;f[B>>2]=G;return}function Pd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){b:do if(i){g=l;c=m;j=n;while(1){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}c=f[e>>2]|0;if(!c){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;c=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=c;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[c>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;c=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){b:do if(i){g=l;d=m;j=n;while(1){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}d=f[e>>2]|0;if(!d){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;d=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=d;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[d>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;d=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Rd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=0;n=1;while(1){o=(f[l+(m<<2)>>2]|0)>>>0>(f[l+(n<<2)>>2]|0)>>>0?n:m;n=n+1|0;if(n>>>0>=j>>>0){k=o;break}else m=o}return k|0}if(j){j=f[a+1128>>2]|0;m=f[e>>2]|0;e=f[a+1140>>2]|0;n=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0

>>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[n+(b<<2)>>2]|0)+(1<>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=c;u=f[q>>2]|0;do{v=s+((X(t,p)|0)<<2)+(b<<2)|0;u=u+((f[v>>2]|0)>>>0>>0&1)|0;f[q>>2]=u;t=t+1|0}while((t|0)!=(g|0));t=h-u|0;f[q>>2]=t>>>0>>0?u:t}b=b+1|0;t=f[i>>2]|0}while(b>>>0>>0);r=t}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=h>>>0>>0;w=l?d:h;x=l?g:c}g=g+1|0;if(g>>>0>=r>>>0){y=x;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;if((h|0)<4){r=y&15;g=4-h|0;f[c>>2]=g;h=a+1100|0;i=f[h>>2]|r>>>g;f[h>>2]=i;g=a+1092|0;b=f[g>>2]|0;if((b|0)==(f[a+1096>>2]|0))Ti(x,h);else{f[b>>2]=i;f[g>>2]=b+4}f[h>>2]=r<<32-(f[c>>2]|0);k=y;return k|0}r=a+1100|0;h=f[r>>2]|y<<28>>>w;f[r>>2]=h;b=w+4|0;f[c>>2]=b;if((b|0)!=32){k=y;return k|0}b=a+1092|0;w=f[b>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[w>>2]=h;f[b>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)br(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}d=vn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)br(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function Td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)br(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;ap(e,16422);f[e>>2]=7412;va(e|0,1160,122)}e=vn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)br(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=a+24|0;k=j;j=g;l=d;d=g;a:while(1){g=j;m=l;n=d;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(k|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=o;y=p}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[y+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=x;break c}}while((z|0)<(v|0));z=f[y>>2]|0;if(!z){s=y;break}else{w=y;y=z;x=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=q;j=o;d=o}}if((E|0)==38)return}function Ud(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,16273,16278)|0}n=Qa[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Me(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=h;r=k}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Me(k,g,i,i+1|0)|0;q=h;r=f[m>>2]|0}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=h;r=t}t=Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=t;t=r+16|0;q=f[t+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[t>>2]|0)>>>0>0)){f[h>>2]=f[r+4>>2];f[g>>2]=f[h>>2];Me(r,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;r=f[m+4>>2]|0;if((r|0)>0|(r|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Me(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=vn(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3740;m=k+12|0;f[m>>2]=3764;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3764;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3764;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,s,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);If(j,h);If(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;gg(s,g)|0;f[g>>2]=3764;o=f[g+20>>2]|0;if(o|0)br(o);o=f[g+8>>2]|0;if(o|0)br(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3764;l=f[j+20>>2]|0;if(l|0)br(l);l=f[j+8>>2]|0;if(l|0)br(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];gg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;pg(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);br(r)}f[v>>2]=3764;v=f[i+24>>2]|0;if(v|0)br(v);v=f[i+12>>2]|0;if(v|0)br(v);f[h>>2]=3764;v=f[h+20>>2]|0;if(v|0)br(v);v=f[h+8>>2]|0;if(!v){u=e;return}br(v);u=e;return}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Oa,x=0,y=Oa,z=Oa,A=Oa;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)nq(g);else{l=h<<2;m=vn(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;uj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);br(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=_q(r)|0;q=_q(r)|0;r=c+48|0;o=f[r>>2]|0;g=c+40|0;a=f[g>>2]|0;l=f[c>>2]|0;kh(q|0,(f[l>>2]|0)+o|0,a|0)|0;kh(p|0,(f[l>>2]|0)+o|0,a|0)|0;a=r;r=f[a>>2]|0;o=f[a+4>>2]|0;a=g;g=f[a>>2]|0;l=f[a+4>>2]|0;a=f[c>>2]|0;kh(s|0,(f[a>>2]|0)+r|0,g|0)|0;p=f[c+80>>2]|0;a:do if(p>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=En(g|0,l|0,c|0,0)|0;t=ho(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+t|0,g|0)|0;c=c+1|0;if(c>>>0>=p>>>0)break a}}c=f[k>>2]|0;t=1;do{m=En(g|0,l|0,t|0,0)|0;v=ho(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+v|0,g|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0

>>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;k=0;z=$(n[j>>2]);while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}$q(q);$q(s);i=1;u=e;return i|0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a+8|0;Ph(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=h;h=f[g>>2]|0;while(1){p=b+(o<<2)|0;q=c+(o<<2)|0;if((h|0)>0){r=0;s=p+(d<<2)|0;t=h;while(1){if((t|0)>0){u=0;do{v=f[s+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[p+(r<<2)>>2]|0)-(f[z+(r<<2)>>2]|0)|0;w=q+(r<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}r=r+1|0;w=f[g>>2]|0;if((r|0)>=(w|0)){C=w;break}else{s=z;t=w}}}else C=h;o=o-e|0;if((o|0)<=0){D=C;break}else h=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=_q(C)|0;uj(e|0,0,C|0)|0;if((D|0)<=0){$q(e);return 1}C=a+16|0;h=a+32|0;o=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=0;n=e;l=D;while(1){if((l|0)>0){D=0;do{j=f[n+(D<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[h>>2]|0;f[k+(D<<2)>>2]=y;E=k}else{k=f[o>>2]|0;y=f[h>>2]|0;f[y+(D<<2)>>2]=(j|0)<(k|0)?k:j;E=y}D=D+1|0}while((D|0)<(f[g>>2]|0));F=E}else F=f[h>>2]|0;D=(f[b+(a<<2)>>2]|0)-(f[F+(a<<2)>>2]|0)|0;y=c+(a<<2)|0;f[y>>2]=D;if((D|0)>=(f[z>>2]|0)){if((D|0)>(f[m>>2]|0)){G=D-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+D|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}a=a+1|0;l=f[g>>2]|0;if((a|0)>=(l|0))break;else n=F}$q(e);return 1}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=t;z=v}else{m=b;return m|0}}else{y=c;z=p}c=z-(b+(j<<2))>>2;v=b+(c<<2)|0;if(v>>>0

>>0){t=(p+(0-c<<2)+~r|0)>>>2;r=v;s=z;while(1){f[s>>2]=f[r>>2];r=r+4|0;if(r>>>0>=p>>>0)break;else s=s+4|0}f[o>>2]=z+(t+1<<2)}if(c|0){c=v;v=z;do{c=c+-4|0;v=v+-4|0;f[v>>2]=f[c>>2]}while((c|0)!=(b|0))}c=y;if((k|0)==(c|0)){m=b;return m|0}else{A=b;B=k}while(1){f[A>>2]=f[B>>2];B=B+4|0;if((B|0)==(c|0)){m=b;break}else A=A+4|0}return m|0}A=(q-g>>2)+j|0;if(A>>>0>1073741823)nq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0>>0?A:g):1073741823;g=b;A=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;ap(j,16422);f[j>>2]=7412;va(j|0,1160,122)}else{j=vn(n<<2)|0;C=j;D=j;break}else{C=0;D=0}while(0);j=D+(A<<2)|0;A=D+(n<<2)|0;if((l|0)==(k|0))E=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}E=j+(n<<2)|0}if((h|0)>0)kh(C|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){kh(E|0,b|0,h|0)|0;F=E+(h>>>2<<2)|0}else F=E;f[a>>2]=D;f[o>>2]=F;f[d>>2]=A;if(!e){m=j;return m|0}br(e);m=j;return m|0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;di(f[i>>2]|0,b)|0;Gn(h);Ak(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Ij(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(h);u=c;return 1}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)nq(h);k=i;if(j>>>0<=g>>>0)nq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Xg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{jh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{jg(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Xg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=d;i=0;m=g;b:while(1){n=f[k>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=m;s=k;t=o;while(1){f[s>>2]=t;if((r|0)==(a|0)){u=a;break}o=r+-4|0;t=f[o>>2]|0;if(h>>>0<=t>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(t<<3)>>2]|0)>>>0){u=r;break}else{v=r;r=o;s=v}}f[u>>2]=n;s=i+1|0;if((s|0)==8){w=0;x=(k+4|0)==(b|0);break a}else y=s}else y=i;s=k+4|0;if((s|0)==(b|0)){w=1;x=0;break a}else{r=k;k=s;i=y;m=r}}if((p|0)==14)nq(e);else if((p|0)==16)nq(e);else if((p|0)==20)nq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;di(f[i>>2]|0,b)|0;Gn(h);Ak(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Ij(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Ij(h);u=c;return 1}function ae(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=_q(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)$q(l);l=a+8|0;Ph(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;nq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Dc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)nq(y);return 0} -function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4882]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19568+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4882]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4884]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=19568+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4887]|0;h=m>>>3;l=19568+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4884]=j;f[4887]=k;o=e;u=b;return o|0}e=f[4883]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[19832+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=19832+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[4883]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[4887]|0;n=m>>>3;i=19568+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[4884]=v;f[4887]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[4883]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[19832+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[19832+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[4884]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=19832+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=19568+(j<<1<<2)|0;d=f[4882]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=19832+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4883]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[4884]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[4887]|0;if(T>>>0>15){_=$+B|0;f[4887]=_;f[4884]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[4884]=0;f[4887]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[4885]|0;if($>>>0>B>>>0){T=$-B|0;f[4885]=T;S=f[4888]|0;_=S+B|0;f[4888]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[5e3]|0)){f[5002]=4096;f[5001]=4096;f[5003]=-1;f[5004]=-1;f[5005]=0;f[4993]=0;f[5e3]=c&-16^1431655768;aa=4096}else aa=f[5002]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4992]|0;if(X|0?(Y=f[4990]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4993]&4)){X=f[4888]|0;c:do if(X){Z=19976;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Ul(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Ul(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[5001]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[4990]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[4992]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Ul(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[5002]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Ul(X|0)|0)==(-1|0)){Ul(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[4993]=f[4993]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Ul(aa|0)|0,aa=Ul(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[4990]|0)+da|0;f[4990]=ca;if(ca>>>0>(f[4991]|0)>>>0)f[4991]=ca;ca=f[4888]|0;do if(ca){ha=19976;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[4885]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[4888]=ga;f[4885]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[4889]=f[5004];break}if(ea>>>0<(f[4886]|0)>>>0)f[4886]=ea;fa=ea+da|0;S=19976;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=19976;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[4887]|0)==(aa|0)){ba=(f[4884]|0)+c|0;f[4884]=ba;f[4887]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[4882]=f[4882]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=19832+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[4883]=f[4883]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=19568+($<<1<<2)|0;Z=f[4882]|0;Y=1<<$;if(!(Z&Y)){f[4882]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=19832+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4883]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[4885]|0)+c|0;f[4885]=ba;f[4888]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=19976;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[4888]=fa;f[4885]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[4889]=f[5004];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[4994];f[c+4>>2]=f[4995];f[c+8>>2]=f[4996];f[c+12>>2]=f[4997];f[4994]=ea;f[4995]=da;f[4997]=0;f[4996]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=19568+(ba<<1<<2)|0;S=f[4882]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=19832+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[4883]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[4886]|0;if((c|0)==0|ea>>>0>>0)f[4886]=ea;f[4994]=ea;f[4995]=da;f[4997]=0;f[4891]=f[5e3];f[4890]=-1;f[4895]=19568;f[4894]=19568;f[4897]=19576;f[4896]=19576;f[4899]=19584;f[4898]=19584;f[4901]=19592;f[4900]=19592;f[4903]=19600;f[4902]=19600;f[4905]=19608;f[4904]=19608;f[4907]=19616;f[4906]=19616;f[4909]=19624;f[4908]=19624;f[4911]=19632;f[4910]=19632;f[4913]=19640;f[4912]=19640;f[4915]=19648;f[4914]=19648;f[4917]=19656;f[4916]=19656;f[4919]=19664;f[4918]=19664;f[4921]=19672;f[4920]=19672;f[4923]=19680;f[4922]=19680;f[4925]=19688;f[4924]=19688;f[4927]=19696;f[4926]=19696;f[4929]=19704;f[4928]=19704;f[4931]=19712;f[4930]=19712;f[4933]=19720;f[4932]=19720;f[4935]=19728;f[4934]=19728;f[4937]=19736;f[4936]=19736;f[4939]=19744;f[4938]=19744;f[4941]=19752;f[4940]=19752;f[4943]=19760;f[4942]=19760;f[4945]=19768;f[4944]=19768;f[4947]=19776;f[4946]=19776;f[4949]=19784;f[4948]=19784;f[4951]=19792;f[4950]=19792;f[4953]=19800;f[4952]=19800;f[4955]=19808;f[4954]=19808;f[4957]=19816;f[4956]=19816;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[4888]=ba;f[4885]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[4889]=f[5004]}while(0);ea=f[4885]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4885]=da;ea=f[4888]|0;ca=ea+B|0;f[4888]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=ir()|0;f[ea>>2]=12;o=0;u=b;return o|0}function ab(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Ph(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=(g|0)==1;pa=Q+-1|0;if(F-D>>2>>>0>pa>>>0){qa=Q;ra=pa;sa=D;ta=M;ua=P;va=O;wa=M;xa=N;ya=M;za=N}else{Aa=G;nq(Aa)}b:while(1){pa=f[sa+(ra<<2)>>2]|0;Q=(((pa>>>0)%3|0|0)==0?2:-1)+pa|0;Ba=Q>>>5;Ca=1<<(Q&31);Da=(pa|0)==-1|(Q|0)==-1;Ea=1;Fa=0;Ga=pa;c:while(1){Ha=Ea^1;Ia=Fa;Ja=Ga;while(1){if((Ja|0)==-1){Ka=Ia;break c}La=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0?(Ma=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Ma|0)!=-1):0)?(Na=f[S>>2]|0,Oa=f[A>>2]|0,Pa=f[Oa+(f[Na+(Ma<<2)>>2]<<2)>>2]|0,Qa=Ma+1|0,Ra=f[Oa+(f[Na+((((Qa>>>0)%3|0|0)==0?Ma+-2|0:Qa)<<2)>>2]<<2)>>2]|0,Qa=f[Oa+(f[Na+((((Ma>>>0)%3|0|0)==0?2:-1)+Ma<<2)>>2]<<2)>>2]|0,(Pa|0)<(ra|0)&(Ra|0)<(ra|0)&(Qa|0)<(ra|0)):0){Ma=X(Pa,g)|0;Pa=X(Ra,g)|0;Ra=X(Qa,g)|0;if(T){Qa=0;do{f[La+(Qa<<2)>>2]=(f[c+(Qa+Ra<<2)>>2]|0)+(f[c+(Qa+Pa<<2)>>2]|0)-(f[c+(Qa+Ma<<2)>>2]|0);Qa=Qa+1|0}while((Qa|0)!=(g|0))}Qa=Ia+1|0;if((Qa|0)==4){Ka=4;break c}else Sa=Qa}else Sa=Ia;do if(Ea){Qa=Ja+1|0;Ma=((Qa>>>0)%3|0|0)==0?Ja+-2|0:Qa;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,Ma=Qa+1|0,(Qa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Qa+-2|0:Ma;else Ta=-1}else{Ma=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,(Qa|0)!=-1):0)if(!((Qa>>>0)%3|0)){Ta=Qa+2|0;break}else{Ta=Qa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(pa|0)){Ka=Sa;break c}if((Ta|0)!=-1|Ha){Ia=Sa;Ja=Ta}else break}if(Da){Ea=0;Fa=Sa;Ga=-1;continue}if(f[(f[e>>2]|0)+(Ba<<2)>>2]&Ca|0){Ea=0;Fa=Sa;Ga=-1;continue}Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ja|0)==-1){Ea=0;Fa=Sa;Ga=-1;continue}if(!((Ja>>>0)%3|0)){Ea=0;Fa=Sa;Ga=Ja+2|0;continue}else{Ea=0;Fa=Sa;Ga=Ja+-1|0;continue}}Ga=X(ra,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Fa=c+((X(qa+-2|0,g)|0)<<2)|0;Ea=c+(Ga<<2)|0;Q=f[_>>2]|0;if(T){Ca=0;Ba=0;while(1){Da=(f[Fa+(Ca<<2)>>2]|0)-(f[Ea+(Ca<<2)>>2]|0)|0;pa=((Da|0)>-1?Da:0-Da|0)+Ba|0;f[ta+(Ca<<2)>>2]=Da;f[Q+(Ca<<2)>>2]=Da<<1^Da>>31;Ca=Ca+1|0;if((Ca|0)==(g|0)){Ua=pa;break}else Ba=pa}}else Ua=0;xo(j,$,Q,g);Ba=el(j)|0;Ca=I;pa=Jm(j)|0;Da=ho(pa|0,I|0,Ba|0,Ca|0)|0;Ca=I;Ba=(Ka|0)>0;if(Ba){pa=Ka+-1|0;Ja=p+(pa<<3)|0;Ia=Ja;Ha=ho(f[Ia>>2]|0,f[Ia+4>>2]|0,Ka|0,((Ka|0)<0)<<31>>31|0)|0;Ia=I;Qa=Ja;f[Qa>>2]=Ha;f[Qa+4>>2]=Ia;Va=+W(+(+Em(Ha,f[o+(pa<<3)>>2]|0)*(+(Ha>>>0)+4294967296.0*+(Ia|0))));Ia=ho(Da|0,Ca|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Wa=Ia}else Wa=Da;Da=r;f[Da>>2]=Wa;f[Da+4>>2]=Ua;b[V>>0]=0;f[Z>>2]=0;ag(aa,Fa,Fa+(g<<2)|0);f[s>>2]=ua;f[t>>2]=va;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Lf(ba,k,j);if((Ka|0)<1){Xa=za;Ya=ya;Za=xa;_a=wa;$a=va;ab=ua;bb=ua}else{Da=n+Ka|0;Ia=f[q>>2]|0;Ca=Ka+-1|0;Ha=o+(Ca<<3)|0;pa=p+(Ca<<3)|0;Ca=Ia;Qa=f[H>>2]|0;Ja=Da+-1|0;Ma=(Ja|0)==(n|0);Pa=Da+-2|0;Ra=ma>>>0>>0;La=~Ka;Na=Ka+2+((La|0)>-2?La:-2)|0;La=Qa;Oa=Ja>>>0>n>>>0;cb=0;db=1;while(1){cb=cb+1|0;uj(n|0,1,Na|0)|0;uj(n|0,0,cb|0)|0;d:while(1){if(T){uj(f[m>>2]|0,0,na|0)|0;eb=f[m>>2]|0;fb=0;gb=0;while(1){if(!(b[n+fb>>0]|0)){hb=f[l+(fb*12|0)>>2]|0;ib=0;do{jb=eb+(ib<<2)|0;f[jb>>2]=(f[jb>>2]|0)+(f[hb+(ib<<2)>>2]|0);ib=ib+1|0}while((ib|0)!=(g|0));kb=(1<>0]|0))mb=(1<>2]|0;do if(T){f[fb>>2]=(f[fb>>2]|0)/(db|0)|0;if(!oa){gb=1;do{eb=fb+(gb<<2)|0;f[eb>>2]=(f[eb>>2]|0)/(db|0)|0;gb=gb+1|0}while((gb|0)!=(g|0));gb=f[_>>2]|0;if(T)nb=gb;else{ob=0;pb=gb;break}}else nb=f[_>>2]|0;gb=0;eb=0;while(1){ib=(f[fb+(gb<<2)>>2]|0)-(f[Ea+(gb<<2)>>2]|0)|0;hb=((ib|0)>-1?ib:0-ib|0)+eb|0;f[Ia+(gb<<2)>>2]=ib;f[nb+(gb<<2)>>2]=ib<<1^ib>>31;gb=gb+1|0;if((gb|0)==(g|0)){ob=hb;pb=nb;break}else eb=hb}}else{ob=0;pb=f[_>>2]|0}while(0);xo(j,$,pb,g);fb=el(j)|0;eb=I;gb=Jm(j)|0;hb=ho(gb|0,I|0,fb|0,eb|0)|0;eb=I;if(Ba){fb=Ha;gb=ho(f[fb>>2]|0,f[fb+4>>2]|0,db|0,0)|0;fb=pa;ib=f[fb>>2]|0;jb=f[fb+4>>2]|0;Va=+W(+(+Em(ib,gb)*(+(ib>>>0)+4294967296.0*+(jb|0))));jb=ho(hb|0,eb|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;qb=jb}else qb=hb;hb=f[r>>2]|0;if(!((qb|0)>=(hb|0)?!((qb|0)<=(hb|0)?(ob|0)<(f[U>>2]|0):0):0)){hb=r;f[hb>>2]=qb;f[hb+4>>2]=ob;b[V>>0]=lb;f[Z>>2]=db;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Lf(aa,k,j);f[x>>2]=Ca;f[y>>2]=Qa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Lf(ba,k,j)}if(Ma)break;rb=b[Ja>>0]|0;hb=-1;jb=rb;while(1){eb=hb+-1|0;sb=Da+eb|0;ib=jb;jb=b[sb>>0]|0;if((jb&255)<(ib&255))break;if((sb|0)==(n|0)){tb=86;break d}else hb=eb}eb=Da+hb|0;if((jb&255)<(rb&255)){ub=Ja;vb=rb}else{ib=Da;gb=Ja;while(1){fb=gb+-1|0;if((jb&255)<(h[ib+-2>>0]|0)){ub=fb;vb=1;break}else{wb=gb;gb=fb;ib=wb}}}b[sb>>0]=vb;b[ub>>0]=jb;if((hb|0)<-1){xb=eb;yb=Ja}else continue;while(1){ib=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=ib;ib=xb+1|0;gb=yb+-1|0;if(ib>>>0>>0){xb=ib;yb=gb}else continue d}}if(((tb|0)==86?(tb=0,Oa):0)?(eb=b[n>>0]|0,b[n>>0]=rb,b[Ja>>0]=eb,Ra):0){eb=Pa;hb=ma;do{jb=b[hb>>0]|0;b[hb>>0]=b[eb>>0]|0;b[eb>>0]=jb;hb=hb+1|0;eb=eb+-1|0}while(hb>>>0>>0)}if((db|0)>=(Ka|0)){Xa=La;Ya=Ia;Za=La;_a=Ia;$a=Qa;ab=Ca;bb=Ia;break}else db=db+1|0}}if(Ba){db=f[Z>>2]|0;Ia=o+(Ka+-1<<3)|0;Ca=Ia;Qa=ho(f[Ca>>2]|0,f[Ca+4>>2]|0,db|0,((db|0)<0)<<31>>31|0)|0;db=Ia;f[db>>2]=Qa;f[db+4>>2]=I}if(T){db=f[ba>>2]|0;Qa=f[C>>2]|0;Ia=0;do{Ca=f[db+(Ia<<2)>>2]|0;f[Qa+(Ia<<2)>>2]=Ca<<1^Ca>>31;Ia=Ia+1|0}while((Ia|0)!=(g|0));zb=Qa}else zb=f[C>>2]|0;wo(j,$,zb,g);if(Ba){Qa=Ka+-1|0;Ab=a+60+(Qa*12|0)|0;Ia=a+60+(Qa*12|0)+4|0;db=a+60+(Qa*12|0)+8|0;Qa=0;do{Ca=f[Ia>>2]|0;La=f[db>>2]|0;Pa=(Ca|0)==(La<<5|0);if(!(1<>0])){if(Pa){if((Ca+1|0)<0){tb=114;break b}Ra=La<<6;Ja=Ca+32&-32;wi(Ab,Ca>>>0<1073741823?(Ra>>>0>>0?Ja:Ra):2147483647);Bb=f[Ia>>2]|0}else Bb=Ca;f[Ia>>2]=Bb+1;Ra=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ra>>2]=f[Ra>>2]|1<<(Bb&31)}else{if(Pa){if((Ca+1|0)<0){tb=119;break b}Pa=La<<6;La=Ca+32&-32;wi(Ab,Ca>>>0<1073741823?(Pa>>>0>>0?La:Pa):2147483647);Cb=f[Ia>>2]|0}else Cb=Ca;f[Ia>>2]=Cb+1;Ca=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[Ca>>2]=f[Ca>>2]&~(1<<(Cb&31))}Qa=Qa+1|0}while((Qa|0)<(Ka|0))}Qa=d+(Ga<<2)|0;Ia=f[z>>2]|0;if((Ia|0)>0){db=0;Ba=f[aa>>2]|0;Ca=Ia;while(1){if((Ca|0)>0){Ia=0;do{Pa=f[Ba+(Ia<<2)>>2]|0;La=f[ca>>2]|0;if((Pa|0)>(La|0)){Ra=f[da>>2]|0;f[Ra+(Ia<<2)>>2]=La;Db=Ra}else{Ra=f[ea>>2]|0;La=f[da>>2]|0;f[La+(Ia<<2)>>2]=(Pa|0)<(Ra|0)?Ra:Pa;Db=La}Ia=Ia+1|0}while((Ia|0)<(f[z>>2]|0));Eb=Db}else Eb=f[da>>2]|0;Ia=(f[Ea+(db<<2)>>2]|0)-(f[Eb+(db<<2)>>2]|0)|0;La=Qa+(db<<2)|0;f[La>>2]=Ia;do if((Ia|0)<(f[fa>>2]|0)){Fb=(f[ga>>2]|0)+Ia|0;tb=109}else{if((Ia|0)<=(f[ha>>2]|0))break;Fb=Ia-(f[ga>>2]|0)|0;tb=109}while(0);if((tb|0)==109){tb=0;f[La>>2]=Fb}db=db+1|0;Ca=f[z>>2]|0;if((db|0)>=(Ca|0))break;else Ba=Eb}}Ba=f[ia>>2]|0;if(Ba|0){Ca=f[la>>2]|0;if((Ca|0)!=(Ba|0))f[la>>2]=Ca+(~((Ca+-4-Ba|0)>>>2)<<2);br(Ba)}Ba=f[ja>>2]|0;if(Ba|0){Ca=f[ka>>2]|0;if((Ca|0)!=(Ba|0))f[ka>>2]=Ca+(~((Ca+-4-Ba|0)>>>2)<<2);br(Ba)}if((qa|0)<=2){Gb=_a;Hb=Za;break a}Ba=f[B>>2]|0;sa=f[Ba>>2]|0;Ca=ra+-1|0;if((f[Ba+4>>2]|0)-sa>>2>>>0<=Ca>>>0){Aa=Ba;tb=18;break}else{Ba=ra;ra=Ca;ta=bb;ua=ab;va=$a;wa=_a;xa=Za;ya=Ya;za=Xa;qa=Ba}}if((tb|0)==18)nq(Aa);else if((tb|0)==114)nq(Ab);else if((tb|0)==119)nq(Ab)}else{Gb=M;Hb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Ab=a+32|0;Aa=a+12|0;qa=a+28|0;Xa=a+20|0;za=a+24|0;a=0;Ya=N;N=g;while(1){if((N|0)>0){g=0;do{ya=f[Ya+(g<<2)>>2]|0;Za=f[M>>2]|0;if((ya|0)>(Za|0)){xa=f[Ab>>2]|0;f[xa+(g<<2)>>2]=Za;Ib=xa}else{xa=f[Aa>>2]|0;Za=f[Ab>>2]|0;f[Za+(g<<2)>>2]=(ya|0)<(xa|0)?xa:ya;Ib=Za}g=g+1|0}while((g|0)<(f[z>>2]|0));Jb=Ib}else Jb=f[Ab>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Jb+(a<<2)>>2]|0)|0;Za=d+(a<<2)|0;f[Za>>2]=g;if((g|0)>=(f[qa>>2]|0)){if((g|0)>(f[za>>2]|0)){Kb=g-(f[Xa>>2]|0)|0;tb=145}}else{Kb=(f[Xa>>2]|0)+g|0;tb=145}if((tb|0)==145){tb=0;f[Za>>2]=Kb}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Ya=Jb}}if(Gb|0){if((Hb|0)!=(Gb|0))f[H>>2]=Hb+(~((Hb+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[m>>2]|0;if(Gb|0){m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+36>>2]|0;if(Gb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+24>>2]|0;if(Gb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l+12>>2]|0;if(Gb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);br(Gb)}Gb=f[l>>2]|0;if(!Gb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Gb|0))f[E>>2]=l+(~((l+-4-Gb|0)>>>2)<<2);br(Gb);u=i;return 1}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Ph(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=(g|0)==1;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=Q;qa=oa;ra=D;sa=M;ta=P;ua=O;va=M;wa=N;xa=M;ya=N}else{za=G;nq(za)}b:while(1){oa=f[ra+(qa<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=(oa|0)==-1|(Q|0)==-1;Ba=1;Ca=0;Da=oa;c:while(1){Ea=Ba^1;Fa=Ca;Ga=Da;while(1){if((Ga|0)==-1){Ha=Fa;break c}Ia=f[l+(Fa*12|0)>>2]|0;Ja=f[R>>2]|0;Ka=f[Ja+(Ga<<2)>>2]|0;if((Ka|0)!=-1){La=f[e>>2]|0;Ma=f[A>>2]|0;Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0;Oa=Ka+1|0;Pa=((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa;if((Pa|0)==-1)Qa=-1;else Qa=f[La+(Pa<<2)>>2]|0;Pa=f[Ma+(Qa<<2)>>2]|0;Oa=(((Ka>>>0)%3|0|0)==0?2:-1)+Ka|0;if((Oa|0)==-1)Ra=-1;else Ra=f[La+(Oa<<2)>>2]|0;Oa=f[Ma+(Ra<<2)>>2]|0;if((Na|0)<(qa|0)&(Pa|0)<(qa|0)&(Oa|0)<(qa|0)){Ma=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(S){Oa=0;do{f[Ia+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ma<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Fa+1|0;if((Oa|0)==4){Ha=4;break c}else Sa=Oa}else Sa=Fa}else Sa=Fa;do if(Ba){Oa=Ga+1|0;Ma=((Oa>>>0)%3|0|0)==0?Ga+-2|0:Oa;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,Ma=Oa+1|0,(Oa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Oa+-2|0:Ma;else Ta=-1}else{Ma=(((Ga>>>0)%3|0|0)==0?2:-1)+Ga|0;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ta=Oa+2|0;break}else{Ta=Oa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(oa|0)){Ha=Sa;break c}if((Ta|0)!=-1|Ea){Fa=Sa;Ga=Ta}else break}if(Aa){Ba=0;Ca=Sa;Da=-1;continue}Ga=f[Ja+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=0;Ca=Sa;Da=-1;continue}if(!((Ga>>>0)%3|0)){Ba=0;Ca=Sa;Da=Ga+2|0;continue}else{Ba=0;Ca=Sa;Da=Ga+-1|0;continue}}Da=X(qa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ca=c+((X(pa+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Q=f[Z>>2]|0;if(S){Aa=0;oa=0;while(1){Ga=(f[Ca+(Aa<<2)>>2]|0)-(f[Ba+(Aa<<2)>>2]|0)|0;Fa=((Ga|0)>-1?Ga:0-Ga|0)+oa|0;f[sa+(Aa<<2)>>2]=Ga;f[Q+(Aa<<2)>>2]=Ga<<1^Ga>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Ua=Fa;break}else oa=Fa}}else Ua=0;xo(j,_,Q,g);oa=el(j)|0;Aa=I;Fa=Jm(j)|0;Ga=ho(Fa|0,I|0,oa|0,Aa|0)|0;Aa=I;oa=(Ha|0)>0;if(oa){Fa=Ha+-1|0;Ea=p+(Fa<<3)|0;Oa=Ea;Ma=ho(f[Oa>>2]|0,f[Oa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Oa=I;Na=Ea;f[Na>>2]=Ma;f[Na+4>>2]=Oa;Va=+W(+(+Em(Ma,f[o+(Fa<<3)>>2]|0)*(+(Ma>>>0)+4294967296.0*+(Oa|0))));Oa=ho(Ga|0,Aa|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Wa=Oa}else Wa=Ga;Ga=r;f[Ga>>2]=Wa;f[Ga+4>>2]=Ua;b[U>>0]=0;f[V>>2]=0;ag($,Ca,Ca+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Lf(aa,k,j);if((Ha|0)<1){Xa=ya;Ya=xa;Za=wa;_a=va;$a=ua;ab=ta;bb=ta}else{Ga=n+Ha|0;Oa=f[q>>2]|0;Aa=Ha+-1|0;Ma=o+(Aa<<3)|0;Fa=p+(Aa<<3)|0;Aa=Oa;Na=f[H>>2]|0;Ea=Ga+-1|0;Pa=(Ea|0)==(n|0);Ia=Ga+-2|0;La=la>>>0>>0;Ka=~Ha;cb=Ha+2+((Ka|0)>-2?Ka:-2)|0;Ka=Na;db=Ea>>>0>n>>>0;eb=0;fb=1;while(1){eb=eb+1|0;uj(n|0,1,cb|0)|0;uj(n|0,0,eb|0)|0;d:while(1){if(S){uj(f[m>>2]|0,0,ma|0)|0;gb=f[m>>2]|0;hb=0;ib=0;while(1){if(!(b[n+hb>>0]|0)){jb=f[l+(hb*12|0)>>2]|0;kb=0;do{lb=gb+(kb<<2)|0;f[lb>>2]=(f[lb>>2]|0)+(f[jb+(kb<<2)>>2]|0);kb=kb+1|0}while((kb|0)!=(g|0));mb=(1<>0]|0))ob=(1<>2]|0;do if(S){f[hb>>2]=(f[hb>>2]|0)/(fb|0)|0;if(!na){ib=1;do{gb=hb+(ib<<2)|0;f[gb>>2]=(f[gb>>2]|0)/(fb|0)|0;ib=ib+1|0}while((ib|0)!=(g|0));ib=f[Z>>2]|0;if(S)pb=ib;else{qb=0;rb=ib;break}}else pb=f[Z>>2]|0;ib=0;gb=0;while(1){kb=(f[hb+(ib<<2)>>2]|0)-(f[Ba+(ib<<2)>>2]|0)|0;jb=((kb|0)>-1?kb:0-kb|0)+gb|0;f[Oa+(ib<<2)>>2]=kb;f[pb+(ib<<2)>>2]=kb<<1^kb>>31;ib=ib+1|0;if((ib|0)==(g|0)){qb=jb;rb=pb;break}else gb=jb}}else{qb=0;rb=f[Z>>2]|0}while(0);xo(j,_,rb,g);hb=el(j)|0;gb=I;ib=Jm(j)|0;jb=ho(ib|0,I|0,hb|0,gb|0)|0;gb=I;if(oa){hb=Ma;ib=ho(f[hb>>2]|0,f[hb+4>>2]|0,fb|0,0)|0;hb=Fa;kb=f[hb>>2]|0;lb=f[hb+4>>2]|0;Va=+W(+(+Em(kb,ib)*(+(kb>>>0)+4294967296.0*+(lb|0))));lb=ho(jb|0,gb|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;sb=lb}else sb=jb;jb=f[r>>2]|0;if(!((sb|0)>=(jb|0)?!((sb|0)<=(jb|0)?(qb|0)<(f[T>>2]|0):0):0)){jb=r;f[jb>>2]=sb;f[jb+4>>2]=qb;b[U>>0]=nb;f[V>>2]=fb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Lf($,k,j);f[x>>2]=Aa;f[y>>2]=Na;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Lf(aa,k,j)}if(Pa)break;tb=b[Ea>>0]|0;jb=-1;lb=tb;while(1){gb=jb+-1|0;ub=Ga+gb|0;kb=lb;lb=b[ub>>0]|0;if((lb&255)<(kb&255))break;if((ub|0)==(n|0)){vb=86;break d}else jb=gb}gb=Ga+jb|0;if((lb&255)<(tb&255)){wb=Ea;xb=tb}else{kb=Ga;ib=Ea;while(1){hb=ib+-1|0;if((lb&255)<(h[kb+-2>>0]|0)){wb=hb;xb=1;break}else{yb=ib;ib=hb;kb=yb}}}b[ub>>0]=xb;b[wb>>0]=lb;if((jb|0)<-1){zb=gb;Ab=Ea}else continue;while(1){kb=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=kb;kb=zb+1|0;ib=Ab+-1|0;if(kb>>>0>>0){zb=kb;Ab=ib}else continue d}}if(((vb|0)==86?(vb=0,db):0)?(gb=b[n>>0]|0,b[n>>0]=tb,b[Ea>>0]=gb,La):0){gb=Ia;jb=la;do{lb=b[jb>>0]|0;b[jb>>0]=b[gb>>0]|0;b[gb>>0]=lb;jb=jb+1|0;gb=gb+-1|0}while(jb>>>0>>0)}if((fb|0)>=(Ha|0)){Xa=Ka;Ya=Oa;Za=Ka;_a=Oa;$a=Na;ab=Aa;bb=Oa;break}else fb=fb+1|0}}if(oa){fb=f[V>>2]|0;Oa=o+(Ha+-1<<3)|0;Aa=Oa;Na=ho(f[Aa>>2]|0,f[Aa+4>>2]|0,fb|0,((fb|0)<0)<<31>>31|0)|0;fb=Oa;f[fb>>2]=Na;f[fb+4>>2]=I}if(S){fb=f[aa>>2]|0;Na=f[C>>2]|0;Oa=0;do{Aa=f[fb+(Oa<<2)>>2]|0;f[Na+(Oa<<2)>>2]=Aa<<1^Aa>>31;Oa=Oa+1|0}while((Oa|0)!=(g|0));Bb=Na}else Bb=f[C>>2]|0;wo(j,_,Bb,g);if(oa){Na=Ha+-1|0;Cb=a+60+(Na*12|0)|0;Oa=a+60+(Na*12|0)+4|0;fb=a+60+(Na*12|0)+8|0;Na=0;do{Aa=f[Oa>>2]|0;Ka=f[fb>>2]|0;Ia=(Aa|0)==(Ka<<5|0);if(!(1<>0])){if(Ia){if((Aa+1|0)<0){vb=114;break b}La=Ka<<6;Ea=Aa+32&-32;wi(Cb,Aa>>>0<1073741823?(La>>>0>>0?Ea:La):2147483647);Db=f[Oa>>2]|0}else Db=Aa;f[Oa>>2]=Db+1;La=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[La>>2]=f[La>>2]|1<<(Db&31)}else{if(Ia){if((Aa+1|0)<0){vb=119;break b}Ia=Ka<<6;Ka=Aa+32&-32;wi(Cb,Aa>>>0<1073741823?(Ia>>>0>>0?Ka:Ia):2147483647);Eb=f[Oa>>2]|0}else Eb=Aa;f[Oa>>2]=Eb+1;Aa=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Eb&31))}Na=Na+1|0}while((Na|0)<(Ha|0))}Na=d+(Da<<2)|0;Oa=f[z>>2]|0;if((Oa|0)>0){fb=0;oa=f[$>>2]|0;Aa=Oa;while(1){if((Aa|0)>0){Oa=0;do{Ia=f[oa+(Oa<<2)>>2]|0;Ka=f[ba>>2]|0;if((Ia|0)>(Ka|0)){La=f[ca>>2]|0;f[La+(Oa<<2)>>2]=Ka;Fb=La}else{La=f[da>>2]|0;Ka=f[ca>>2]|0;f[Ka+(Oa<<2)>>2]=(Ia|0)<(La|0)?La:Ia;Fb=Ka}Oa=Oa+1|0}while((Oa|0)<(f[z>>2]|0));Gb=Fb}else Gb=f[ca>>2]|0;Oa=(f[Ba+(fb<<2)>>2]|0)-(f[Gb+(fb<<2)>>2]|0)|0;Ka=Na+(fb<<2)|0;f[Ka>>2]=Oa;do if((Oa|0)<(f[ea>>2]|0)){Hb=(f[fa>>2]|0)+Oa|0;vb=109}else{if((Oa|0)<=(f[ga>>2]|0))break;Hb=Oa-(f[fa>>2]|0)|0;vb=109}while(0);if((vb|0)==109){vb=0;f[Ka>>2]=Hb}fb=fb+1|0;Aa=f[z>>2]|0;if((fb|0)>=(Aa|0))break;else oa=Gb}}oa=f[ha>>2]|0;if(oa|0){Aa=f[ka>>2]|0;if((Aa|0)!=(oa|0))f[ka>>2]=Aa+(~((Aa+-4-oa|0)>>>2)<<2);br(oa)}oa=f[ia>>2]|0;if(oa|0){Aa=f[ja>>2]|0;if((Aa|0)!=(oa|0))f[ja>>2]=Aa+(~((Aa+-4-oa|0)>>>2)<<2);br(oa)}if((pa|0)<=2){Ib=_a;Jb=Za;break a}oa=f[B>>2]|0;ra=f[oa>>2]|0;Aa=qa+-1|0;if((f[oa+4>>2]|0)-ra>>2>>>0<=Aa>>>0){za=oa;vb=18;break}else{oa=qa;qa=Aa;sa=bb;ta=ab;ua=$a;va=_a;wa=Za;xa=Ya;ya=Xa;pa=oa}}if((vb|0)==18)nq(za);else if((vb|0)==114)nq(Cb);else if((vb|0)==119)nq(Cb)}else{Ib=M;Jb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Cb=a+32|0;za=a+12|0;pa=a+28|0;Xa=a+20|0;ya=a+24|0;a=0;Ya=N;N=g;while(1){if((N|0)>0){g=0;do{xa=f[Ya+(g<<2)>>2]|0;Za=f[M>>2]|0;if((xa|0)>(Za|0)){wa=f[Cb>>2]|0;f[wa+(g<<2)>>2]=Za;Kb=wa}else{wa=f[za>>2]|0;Za=f[Cb>>2]|0;f[Za+(g<<2)>>2]=(xa|0)<(wa|0)?wa:xa;Kb=Za}g=g+1|0}while((g|0)<(f[z>>2]|0));Lb=Kb}else Lb=f[Cb>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Lb+(a<<2)>>2]|0)|0;Za=d+(a<<2)|0;f[Za>>2]=g;if((g|0)>=(f[pa>>2]|0)){if((g|0)>(f[ya>>2]|0)){Mb=g-(f[Xa>>2]|0)|0;vb=145}}else{Mb=(f[Xa>>2]|0)+g|0;vb=145}if((vb|0)==145){vb=0;f[Za>>2]=Mb}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Ya=Lb}}if(Ib|0){if((Jb|0)!=(Ib|0))f[H>>2]=Jb+(~((Jb+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[m>>2]|0;if(Ib|0){m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+36>>2]|0;if(Ib|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+24>>2]|0;if(Ib|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l+12>>2]|0;if(Ib|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);br(Ib)}Ib=f[l>>2]|0;if(!Ib){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Ib|0))f[E>>2]=l+(~((l+-4-Ib|0)>>>2)<<2);br(Ib);u=i;return 1}function cb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Ol(7108,7300,e,c)|0)-7108>>2;k=h;a:while(1){l=(f[7108+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[6916+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Ol(6916,7108,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function db(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=(g|0)==1;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=Q;pa=na;qa=D;ra=M;sa=P;ta=O;ua=M;va=N;wa=M;xa=N}else{ya=G;nq(ya)}b:while(1){na=f[qa+(pa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=Q>>>5;Aa=1<<(Q&31);Ba=(na|0)==-1|(Q|0)==-1;Ca=1;Da=0;Ea=na;c:while(1){Fa=Ca^1;Ga=Da;Ha=Ea;while(1){if((Ha|0)==-1){Ia=Ga;break c}Ja=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(Ka=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(Ka|0)!=-1):0)?(La=f[S>>2]|0,Ma=f[A>>2]|0,Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0,Oa=Ka+1|0,Pa=f[Ma+(f[La+((((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa)<<2)>>2]<<2)>>2]|0,Oa=f[Ma+(f[La+((((Ka>>>0)%3|0|0)==0?2:-1)+Ka<<2)>>2]<<2)>>2]|0,(Na|0)<(pa|0)&(Pa|0)<(pa|0)&(Oa|0)<(pa|0)):0){Ka=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(T){Oa=0;do{f[Ja+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ka<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Ga+1|0;if((Oa|0)==4){Ia=4;break c}else Qa=Oa}else Qa=Ga;do if(Ca){Oa=Ha+1|0;Ka=((Oa>>>0)%3|0|0)==0?Ha+-2|0:Oa;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,Ka=Oa+1|0,(Oa|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Oa+-2|0:Ka;else Ra=-1}else{Ka=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ra=Oa+2|0;break}else{Ra=Oa+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(na|0)){Ia=Qa;break c}if((Ra|0)!=-1|Fa){Ga=Qa;Ha=Ra}else break}if(Ba){Ca=0;Da=Qa;Ea=-1;continue}if(f[(f[z>>2]|0)+(za<<2)>>2]&Aa|0){Ca=0;Da=Qa;Ea=-1;continue}Ha=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ha|0)==-1){Ca=0;Da=Qa;Ea=-1;continue}if(!((Ha>>>0)%3|0)){Ca=0;Da=Qa;Ea=Ha+2|0;continue}else{Ca=0;Da=Qa;Ea=Ha+-1|0;continue}}Ea=X(pa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Da=c+((X(oa+-2|0,g)|0)<<2)|0;Ca=c+(Ea<<2)|0;Q=f[_>>2]|0;if(T){Aa=0;za=0;while(1){Ba=(f[Da+(Aa<<2)>>2]|0)-(f[Ca+(Aa<<2)>>2]|0)|0;na=((Ba|0)>-1?Ba:0-Ba|0)+za|0;f[ra+(Aa<<2)>>2]=Ba;f[Q+(Aa<<2)>>2]=Ba<<1^Ba>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Sa=na;break}else za=na}}else Sa=0;xo(e,$,Q,g);za=el(e)|0;Aa=I;na=Jm(e)|0;Ba=ho(na|0,I|0,za|0,Aa|0)|0;Aa=I;za=(Ia|0)>0;if(za){na=Ia+-1|0;Ha=p+(na<<3)|0;Ga=Ha;Fa=ho(f[Ga>>2]|0,f[Ga+4>>2]|0,Ia|0,((Ia|0)<0)<<31>>31|0)|0;Ga=I;Oa=Ha;f[Oa>>2]=Fa;f[Oa+4>>2]=Ga;Ta=+W(+(+Em(Fa,f[o+(na<<3)>>2]|0)*(+(Fa>>>0)+4294967296.0*+(Ga|0))));Ga=ho(Ba|0,Aa|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;Ua=Ga}else Ua=Ba;Ba=r;f[Ba>>2]=Ua;f[Ba+4>>2]=Sa;b[V>>0]=0;f[Z>>2]=0;ag(aa,Da,Da+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Lf(ba,j,e);if((Ia|0)<1){Va=xa;Wa=wa;Xa=va;Ya=ua;Za=ta;_a=sa;$a=sa}else{Ba=n+Ia|0;Ga=f[q>>2]|0;Aa=Ia+-1|0;Fa=o+(Aa<<3)|0;na=p+(Aa<<3)|0;Aa=Ga;Oa=f[H>>2]|0;Ha=Ba+-1|0;Ka=(Ha|0)==(n|0);Na=Ba+-2|0;Pa=ka>>>0>>0;Ja=~Ia;La=Ia+2+((Ja|0)>-2?Ja:-2)|0;Ja=Oa;Ma=Ha>>>0>n>>>0;ab=0;bb=1;while(1){ab=ab+1|0;uj(n|0,1,La|0)|0;uj(n|0,0,ab|0)|0;d:while(1){if(T){uj(f[m>>2]|0,0,la|0)|0;cb=f[m>>2]|0;db=0;eb=0;while(1){if(!(b[n+db>>0]|0)){fb=f[l+(db*12|0)>>2]|0;gb=0;do{hb=cb+(gb<<2)|0;f[hb>>2]=(f[hb>>2]|0)+(f[fb+(gb<<2)>>2]|0);gb=gb+1|0}while((gb|0)!=(g|0));ib=(1<>0]|0))kb=(1<>2]|0;do if(T){f[db>>2]=(f[db>>2]|0)/(bb|0)|0;if(!ma){eb=1;do{cb=db+(eb<<2)|0;f[cb>>2]=(f[cb>>2]|0)/(bb|0)|0;eb=eb+1|0}while((eb|0)!=(g|0));eb=f[_>>2]|0;if(T)lb=eb;else{mb=0;nb=eb;break}}else lb=f[_>>2]|0;eb=0;cb=0;while(1){gb=(f[db+(eb<<2)>>2]|0)-(f[Ca+(eb<<2)>>2]|0)|0;fb=((gb|0)>-1?gb:0-gb|0)+cb|0;f[Ga+(eb<<2)>>2]=gb;f[lb+(eb<<2)>>2]=gb<<1^gb>>31;eb=eb+1|0;if((eb|0)==(g|0)){mb=fb;nb=lb;break}else cb=fb}}else{mb=0;nb=f[_>>2]|0}while(0);xo(e,$,nb,g);db=el(e)|0;cb=I;eb=Jm(e)|0;fb=ho(eb|0,I|0,db|0,cb|0)|0;cb=I;if(za){db=Fa;eb=ho(f[db>>2]|0,f[db+4>>2]|0,bb|0,0)|0;db=na;gb=f[db>>2]|0;hb=f[db+4>>2]|0;Ta=+W(+(+Em(gb,eb)*(+(gb>>>0)+4294967296.0*+(hb|0))));hb=ho(fb|0,cb|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;ob=hb}else ob=fb;fb=f[r>>2]|0;if(!((ob|0)>=(fb|0)?!((ob|0)<=(fb|0)?(mb|0)<(f[U>>2]|0):0):0)){fb=r;f[fb>>2]=ob;f[fb+4>>2]=mb;b[V>>0]=jb;f[Z>>2]=bb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Lf(aa,j,e);f[x>>2]=Aa;f[y>>2]=Oa;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Lf(ba,j,e)}if(Ka)break;pb=b[Ha>>0]|0;fb=-1;hb=pb;while(1){cb=fb+-1|0;qb=Ba+cb|0;gb=hb;hb=b[qb>>0]|0;if((hb&255)<(gb&255))break;if((qb|0)==(n|0)){rb=86;break d}else fb=cb}cb=Ba+fb|0;if((hb&255)<(pb&255)){sb=Ha;tb=pb}else{gb=Ba;eb=Ha;while(1){db=eb+-1|0;if((hb&255)<(h[gb+-2>>0]|0)){sb=db;tb=1;break}else{ub=eb;eb=db;gb=ub}}}b[qb>>0]=tb;b[sb>>0]=hb;if((fb|0)<-1){vb=cb;wb=Ha}else continue;while(1){gb=b[vb>>0]|0;b[vb>>0]=b[wb>>0]|0;b[wb>>0]=gb;gb=vb+1|0;eb=wb+-1|0;if(gb>>>0>>0){vb=gb;wb=eb}else continue d}}if(((rb|0)==86?(rb=0,Ma):0)?(cb=b[n>>0]|0,b[n>>0]=pb,b[Ha>>0]=cb,Pa):0){cb=Na;fb=ka;do{hb=b[fb>>0]|0;b[fb>>0]=b[cb>>0]|0;b[cb>>0]=hb;fb=fb+1|0;cb=cb+-1|0}while(fb>>>0>>0)}if((bb|0)>=(Ia|0)){Va=Ja;Wa=Ga;Xa=Ja;Ya=Ga;Za=Oa;_a=Aa;$a=Ga;break}else bb=bb+1|0}}if(za){bb=f[Z>>2]|0;Ga=o+(Ia+-1<<3)|0;Aa=Ga;Oa=ho(f[Aa>>2]|0,f[Aa+4>>2]|0,bb|0,((bb|0)<0)<<31>>31|0)|0;bb=Ga;f[bb>>2]=Oa;f[bb+4>>2]=I}if(T){bb=f[ba>>2]|0;Oa=f[C>>2]|0;Ga=0;do{Aa=f[bb+(Ga<<2)>>2]|0;f[Oa+(Ga<<2)>>2]=Aa<<1^Aa>>31;Ga=Ga+1|0}while((Ga|0)!=(g|0));xb=Oa}else xb=f[C>>2]|0;wo(e,$,xb,g);if(za){Oa=Ia+-1|0;yb=a+40+(Oa*12|0)|0;Ga=a+40+(Oa*12|0)+4|0;bb=a+40+(Oa*12|0)+8|0;Oa=0;do{Aa=f[Ga>>2]|0;Ja=f[bb>>2]|0;Na=(Aa|0)==(Ja<<5|0);if(!(1<>0])){if(Na){if((Aa+1|0)<0){rb=101;break b}Pa=Ja<<6;Ha=Aa+32&-32;wi(yb,Aa>>>0<1073741823?(Pa>>>0>>0?Ha:Pa):2147483647);zb=f[Ga>>2]|0}else zb=Aa;f[Ga>>2]=zb+1;Pa=(f[yb>>2]|0)+(zb>>>5<<2)|0;f[Pa>>2]=f[Pa>>2]|1<<(zb&31)}else{if(Na){if((Aa+1|0)<0){rb=106;break b}Na=Ja<<6;Ja=Aa+32&-32;wi(yb,Aa>>>0<1073741823?(Na>>>0>>0?Ja:Na):2147483647);Ab=f[Ga>>2]|0}else Ab=Aa;f[Ga>>2]=Ab+1;Aa=(f[yb>>2]|0)+(Ab>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Ab&31))}Oa=Oa+1|0}while((Oa|0)<(Ia|0))}Oa=f[aa>>2]|0;Ga=d+(Ea<<2)|0;bb=f[Ca+4>>2]|0;za=f[Oa>>2]|0;Aa=f[Oa+4>>2]|0;f[j>>2]=f[Ca>>2];f[da>>2]=bb;f[k>>2]=za;f[ea>>2]=Aa;Od(e,ca,j,k);f[Ga>>2]=f[e>>2];f[Ga+4>>2]=f[fa>>2];Ga=f[ga>>2]|0;if(Ga|0){Aa=f[ja>>2]|0;if((Aa|0)!=(Ga|0))f[ja>>2]=Aa+(~((Aa+-4-Ga|0)>>>2)<<2);br(Ga)}Ga=f[ha>>2]|0;if(Ga|0){Aa=f[ia>>2]|0;if((Aa|0)!=(Ga|0))f[ia>>2]=Aa+(~((Aa+-4-Ga|0)>>>2)<<2);br(Ga)}if((oa|0)<=2){Bb=Ya;Cb=Xa;break a}Ga=f[B>>2]|0;qa=f[Ga>>2]|0;Aa=pa+-1|0;if((f[Ga+4>>2]|0)-qa>>2>>>0<=Aa>>>0){ya=Ga;rb=18;break}else{Ga=pa;pa=Aa;ra=$a;sa=_a;ta=Za;ua=Ya;va=Xa;wa=Wa;xa=Va;oa=Ga}}if((rb|0)==18)nq(ya);else if((rb|0)==101)nq(yb);else if((rb|0)==106)nq(yb)}else{Bb=M;Cb=N}while(0);if((g|0)>0)uj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;yb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=yb;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Bb|0){if((Cb|0)!=(Bb|0))f[H>>2]=Cb+(~((Cb+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[m>>2]|0;if(Bb|0){m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+36>>2]|0;if(Bb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+24>>2]|0;if(Bb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l+12>>2]|0;if(Bb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);br(Bb)}Bb=f[l>>2]|0;if(!Bb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Bb|0))f[E>>2]=l+(~((l+-4-Bb|0)>>>2)<<2);br(Bb);u=i;return 1}function eb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Di(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Di(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Di(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)nq(m);else{D=g<<2;B=vn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;uj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Di(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=vn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;uj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=(g|0)==1;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=Q;oa=ma;pa=M;qa=P;ra=O;sa=M;ta=N;ua=M;va=N;wa=D}else{xa=G;nq(xa)}b:while(1){ma=f[wa+(oa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=(ma|0)==-1|(Q|0)==-1;za=1;Aa=0;Ba=ma;c:while(1){Ca=za^1;Da=Aa;Ea=Ba;while(1){if((Ea|0)==-1){Fa=Da;break c}Ga=f[l+(Da*12|0)>>2]|0;Ha=f[R>>2]|0;Ia=f[Ha+(Ea<<2)>>2]|0;if((Ia|0)!=-1){Ja=f[z>>2]|0;Ka=f[A>>2]|0;La=f[Ka+(f[Ja+(Ia<<2)>>2]<<2)>>2]|0;Ma=Ia+1|0;Na=((Ma>>>0)%3|0|0)==0?Ia+-2|0:Ma;if((Na|0)==-1)Oa=-1;else Oa=f[Ja+(Na<<2)>>2]|0;Na=f[Ka+(Oa<<2)>>2]|0;Ma=(((Ia>>>0)%3|0|0)==0?2:-1)+Ia|0;if((Ma|0)==-1)Pa=-1;else Pa=f[Ja+(Ma<<2)>>2]|0;Ma=f[Ka+(Pa<<2)>>2]|0;if((La|0)<(oa|0)&(Na|0)<(oa|0)&(Ma|0)<(oa|0)){Ka=X(La,g)|0;La=X(Na,g)|0;Na=X(Ma,g)|0;if(S){Ma=0;do{f[Ga+(Ma<<2)>>2]=(f[c+(Ma+Na<<2)>>2]|0)+(f[c+(Ma+La<<2)>>2]|0)-(f[c+(Ma+Ka<<2)>>2]|0);Ma=Ma+1|0}while((Ma|0)!=(g|0))}Ma=Da+1|0;if((Ma|0)==4){Fa=4;break c}else Qa=Ma}else Qa=Da}else Qa=Da;do if(za){Ma=Ea+1|0;Ka=((Ma>>>0)%3|0|0)==0?Ea+-2|0:Ma;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,Ka=Ma+1|0,(Ma|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Ma+-2|0:Ka;else Ra=-1}else{Ka=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,(Ma|0)!=-1):0)if(!((Ma>>>0)%3|0)){Ra=Ma+2|0;break}else{Ra=Ma+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(ma|0)){Fa=Qa;break c}if((Ra|0)!=-1|Ca){Da=Qa;Ea=Ra}else break}if(ya){za=0;Aa=Qa;Ba=-1;continue}Ea=f[Ha+(Q<<2)>>2]|0;if((Ea|0)==-1){za=0;Aa=Qa;Ba=-1;continue}if(!((Ea>>>0)%3|0)){za=0;Aa=Qa;Ba=Ea+2|0;continue}else{za=0;Aa=Qa;Ba=Ea+-1|0;continue}}Ba=X(oa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Aa=c+((X(na+-2|0,g)|0)<<2)|0;za=c+(Ba<<2)|0;Q=f[Z>>2]|0;if(S){ya=0;ma=0;while(1){Ea=(f[Aa+(ya<<2)>>2]|0)-(f[za+(ya<<2)>>2]|0)|0;Da=((Ea|0)>-1?Ea:0-Ea|0)+ma|0;f[pa+(ya<<2)>>2]=Ea;f[Q+(ya<<2)>>2]=Ea<<1^Ea>>31;ya=ya+1|0;if((ya|0)==(g|0)){Sa=Da;break}else ma=Da}}else Sa=0;xo(e,_,Q,g);ma=el(e)|0;ya=I;Da=Jm(e)|0;Ea=ho(Da|0,I|0,ma|0,ya|0)|0;ya=I;ma=(Fa|0)>0;if(ma){Da=Fa+-1|0;Ca=p+(Da<<3)|0;Ma=Ca;Ka=ho(f[Ma>>2]|0,f[Ma+4>>2]|0,Fa|0,((Fa|0)<0)<<31>>31|0)|0;Ma=I;La=Ca;f[La>>2]=Ka;f[La+4>>2]=Ma;Ta=+W(+(+Em(Ka,f[o+(Da<<3)>>2]|0)*(+(Ka>>>0)+4294967296.0*+(Ma|0))));Ma=ho(Ea|0,ya|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;Ua=Ma}else Ua=Ea;Ea=r;f[Ea>>2]=Ua;f[Ea+4>>2]=Sa;b[U>>0]=0;f[V>>2]=0;ag($,Aa,Aa+(g<<2)|0);f[s>>2]=qa;f[t>>2]=ra;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Lf(aa,j,e);if((Fa|0)<1){Va=va;Wa=ua;Xa=ta;Ya=sa;Za=ra;_a=qa;$a=qa}else{Ea=n+Fa|0;Ma=f[q>>2]|0;ya=Fa+-1|0;Ka=o+(ya<<3)|0;Da=p+(ya<<3)|0;ya=Ma;La=f[H>>2]|0;Ca=Ea+-1|0;Na=(Ca|0)==(n|0);Ga=Ea+-2|0;Ja=ja>>>0>>0;Ia=~Fa;ab=Fa+2+((Ia|0)>-2?Ia:-2)|0;Ia=La;bb=Ca>>>0>n>>>0;cb=0;db=1;while(1){cb=cb+1|0;uj(n|0,1,ab|0)|0;uj(n|0,0,cb|0)|0;d:while(1){if(S){uj(f[m>>2]|0,0,ka|0)|0;eb=f[m>>2]|0;fb=0;gb=0;while(1){if(!(b[n+fb>>0]|0)){hb=f[l+(fb*12|0)>>2]|0;ib=0;do{jb=eb+(ib<<2)|0;f[jb>>2]=(f[jb>>2]|0)+(f[hb+(ib<<2)>>2]|0);ib=ib+1|0}while((ib|0)!=(g|0));kb=(1<>0]|0))mb=(1<>2]|0;do if(S){f[fb>>2]=(f[fb>>2]|0)/(db|0)|0;if(!la){gb=1;do{eb=fb+(gb<<2)|0;f[eb>>2]=(f[eb>>2]|0)/(db|0)|0;gb=gb+1|0}while((gb|0)!=(g|0));gb=f[Z>>2]|0;if(S)nb=gb;else{ob=0;pb=gb;break}}else nb=f[Z>>2]|0;gb=0;eb=0;while(1){ib=(f[fb+(gb<<2)>>2]|0)-(f[za+(gb<<2)>>2]|0)|0;hb=((ib|0)>-1?ib:0-ib|0)+eb|0;f[Ma+(gb<<2)>>2]=ib;f[nb+(gb<<2)>>2]=ib<<1^ib>>31;gb=gb+1|0;if((gb|0)==(g|0)){ob=hb;pb=nb;break}else eb=hb}}else{ob=0;pb=f[Z>>2]|0}while(0);xo(e,_,pb,g);fb=el(e)|0;eb=I;gb=Jm(e)|0;hb=ho(gb|0,I|0,fb|0,eb|0)|0;eb=I;if(ma){fb=Ka;gb=ho(f[fb>>2]|0,f[fb+4>>2]|0,db|0,0)|0;fb=Da;ib=f[fb>>2]|0;jb=f[fb+4>>2]|0;Ta=+W(+(+Em(ib,gb)*(+(ib>>>0)+4294967296.0*+(jb|0))));jb=ho(hb|0,eb|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;qb=jb}else qb=hb;hb=f[r>>2]|0;if(!((qb|0)>=(hb|0)?!((qb|0)<=(hb|0)?(ob|0)<(f[T>>2]|0):0):0)){hb=r;f[hb>>2]=qb;f[hb+4>>2]=ob;b[U>>0]=lb;f[V>>2]=db;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Lf($,j,e);f[x>>2]=ya;f[y>>2]=La;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Lf(aa,j,e)}if(Na)break;rb=b[Ca>>0]|0;hb=-1;jb=rb;while(1){eb=hb+-1|0;sb=Ea+eb|0;ib=jb;jb=b[sb>>0]|0;if((jb&255)<(ib&255))break;if((sb|0)==(n|0)){tb=86;break d}else hb=eb}eb=Ea+hb|0;if((jb&255)<(rb&255)){ub=Ca;vb=rb}else{ib=Ea;gb=Ca;while(1){fb=gb+-1|0;if((jb&255)<(h[ib+-2>>0]|0)){ub=fb;vb=1;break}else{wb=gb;gb=fb;ib=wb}}}b[sb>>0]=vb;b[ub>>0]=jb;if((hb|0)<-1){xb=eb;yb=Ca}else continue;while(1){ib=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=ib;ib=xb+1|0;gb=yb+-1|0;if(ib>>>0>>0){xb=ib;yb=gb}else continue d}}if(((tb|0)==86?(tb=0,bb):0)?(eb=b[n>>0]|0,b[n>>0]=rb,b[Ca>>0]=eb,Ja):0){eb=Ga;hb=ja;do{jb=b[hb>>0]|0;b[hb>>0]=b[eb>>0]|0;b[eb>>0]=jb;hb=hb+1|0;eb=eb+-1|0}while(hb>>>0>>0)}if((db|0)>=(Fa|0)){Va=Ia;Wa=Ma;Xa=Ia;Ya=Ma;Za=La;_a=ya;$a=Ma;break}else db=db+1|0}}if(ma){db=f[V>>2]|0;Ma=o+(Fa+-1<<3)|0;ya=Ma;La=ho(f[ya>>2]|0,f[ya+4>>2]|0,db|0,((db|0)<0)<<31>>31|0)|0;db=Ma;f[db>>2]=La;f[db+4>>2]=I}if(S){db=f[aa>>2]|0;La=f[C>>2]|0;Ma=0;do{ya=f[db+(Ma<<2)>>2]|0;f[La+(Ma<<2)>>2]=ya<<1^ya>>31;Ma=Ma+1|0}while((Ma|0)!=(g|0));zb=La}else zb=f[C>>2]|0;wo(e,_,zb,g);if(ma){La=Fa+-1|0;Ab=a+40+(La*12|0)|0;Ma=a+40+(La*12|0)+4|0;db=a+40+(La*12|0)+8|0;La=0;do{ya=f[Ma>>2]|0;Ia=f[db>>2]|0;Ga=(ya|0)==(Ia<<5|0);if(!(1<>0])){if(Ga){if((ya+1|0)<0){tb=101;break b}Ja=Ia<<6;Ca=ya+32&-32;wi(Ab,ya>>>0<1073741823?(Ja>>>0>>0?Ca:Ja):2147483647);Bb=f[Ma>>2]|0}else Bb=ya;f[Ma>>2]=Bb+1;Ja=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ja>>2]=f[Ja>>2]|1<<(Bb&31)}else{if(Ga){if((ya+1|0)<0){tb=106;break b}Ga=Ia<<6;Ia=ya+32&-32;wi(Ab,ya>>>0<1073741823?(Ga>>>0>>0?Ia:Ga):2147483647);Cb=f[Ma>>2]|0}else Cb=ya;f[Ma>>2]=Cb+1;ya=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[ya>>2]=f[ya>>2]&~(1<<(Cb&31))}La=La+1|0}while((La|0)<(Fa|0))}La=f[$>>2]|0;Ma=d+(Ba<<2)|0;db=f[za+4>>2]|0;ma=f[La>>2]|0;ya=f[La+4>>2]|0;f[j>>2]=f[za>>2];f[ca>>2]=db;f[k>>2]=ma;f[da>>2]=ya;Od(e,ba,j,k);f[Ma>>2]=f[e>>2];f[Ma+4>>2]=f[ea>>2];Ma=f[fa>>2]|0;if(Ma|0){ya=f[ia>>2]|0;if((ya|0)!=(Ma|0))f[ia>>2]=ya+(~((ya+-4-Ma|0)>>>2)<<2);br(Ma)}Ma=f[ga>>2]|0;if(Ma|0){ya=f[ha>>2]|0;if((ya|0)!=(Ma|0))f[ha>>2]=ya+(~((ya+-4-Ma|0)>>>2)<<2);br(Ma)}if((na|0)<=2){Db=Ya;Eb=Xa;break a}Ma=f[B>>2]|0;wa=f[Ma>>2]|0;ya=oa+-1|0;if((f[Ma+4>>2]|0)-wa>>2>>>0<=ya>>>0){xa=Ma;tb=18;break}else{Ma=oa;oa=ya;pa=$a;qa=_a;ra=Za;sa=Ya;ta=Xa;ua=Wa;va=Va;na=Ma}}if((tb|0)==18)nq(xa);else if((tb|0)==101)nq(Ab);else if((tb|0)==106)nq(Ab)}else{Db=M;Eb=N}while(0);if((g|0)>0)uj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Ab=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Ab;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Db|0){if((Eb|0)!=(Db|0))f[H>>2]=Eb+(~((Eb+-4-Db|0)>>>2)<<2);br(Db)}Db=f[m>>2]|0;if(Db|0){m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+36>>2]|0;if(Db|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+24>>2]|0;if(Db|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l+12>>2]|0;if(Db|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);br(Db)}Db=f[l>>2]|0;if(!Db){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Db|0))f[E>>2]=l+(~((l+-4-Db|0)>>>2)<<2);br(Db);u=i;return 1}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,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,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Eh(h,b-l|0,6296);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)nq(d);k=((b+-1|0)>>>5)+1|0;m=vn(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;uj(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)nq(e);v=((o+-1|0)>>>5)+1|0;w=vn(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;uj(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Ti(h,6296);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ti(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;wi(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)nq(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)br(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}br(_b);u=c;return 1}function gb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=Oa,La=0,Ma=0,Na=0,Pa=0,Qa=Oa,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{r=r+(b[(f[w+(f[t+(q<<2)>>2]<<2)>>2]|0)+24>>0]|0)|0;q=q+1|0}while(q>>>0>>0);f[a+72>>2]=r;if(s){v=1;u=c;return v|0}s=g+4|0;r=g+8|0;x=d+8|0;q=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=0;ia=t;t=l;l=k;a:while(1){k=f[ia+(ha<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(k<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1260;f[s>>2]=-1;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=vn(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[q>>2]=17;ma=la;na=14821;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(k|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Lh(ra,d)|0)!=0):0)va=Ok(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Ok(ka,d,-1)|0}if((b[w>>0]|0)<0)br(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=vn(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14740;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(k|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(k|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Lh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=vn(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14760;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(k|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(k|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Lh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)br(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)br(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=vn(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;uj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=vn(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14740;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(k|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(k|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Lh(Fa,i)|0)!=0):0){Ga=Tg(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){rj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ja=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{Ka=$(qq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=Ka;Fa=Fa+1|0}while((Fa|0)<(ra|0));La=b[M>>0]|0}else La=Ga;Ja=La}if(Ja<<24>>24<0)br(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Tg(pa,i)|0,(Fa|0)!=(pa+4|0)):0){rj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Ma=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{Ka=$(qq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=Ka;ya=ya+1|0}while((ya|0)<(ra|0));Na=b[G>>0]|0}else Na=Fa;Ma=Na}if(Ma<<24>>24<0)br(f[d>>2]|0)}if((b[I>>0]|0)<0)br(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=vn(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14760;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(k|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Lh(oa,d)|0)){wa=91;break}Qa=$(zk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(zk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)br(f[d>>2]|0);Kl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);k=f[h>>2]|0;if(k|0){na=f[C>>2]|0;if((na|0)!=(k|0))f[C>>2]=na+(~((na+-4-k|0)>>>2)<<2);br(k)}}else Wd(g,ja,va)|0;k=f[P>>2]|0;if((k|0)==(f[Q>>2]|0))Ef(R,g);else{f[k>>2]=1260;f[k+4>>2]=f[s>>2];Ra=k+8|0;f[Ra>>2]=0;na=k+12|0;f[na>>2]=0;f[k+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=vn(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[k+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){kh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[k+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Qe(d,g,ja,m);k=f[S>>2]|0;if(k>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[k>>2]=ma;f[S>>2]=k+4}else Ze(U,d);k=f[d>>2]|0;f[d>>2]=0;if(k|0){ma=k+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;br(ma)}br(oa)}oa=f[k+68>>2]|0;if(oa|0){ma=k+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);br(oa)}oa=k+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;br(oa)}br(na)}br(k)}xa=0}f[g>>2]=1260;k=f[r>>2]|0;if(k|0){na=f[y>>2]|0;if((na|0)!=(k|0))f[y>>2]=na+(~((na+-4-k|0)>>>2)<<2);br(k)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{k=ja+24|0;na=b[k>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=vn(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=oa;oa=na;while(1){f[oa>>2]=2147483647;ya=ya+-1|0;if(!ya)break;else oa=oa+4|0}f[_>>2]=ma;Sa=b[k>>0]|0}oa=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}ya=oa<<2;sa=vn(ya)|0;f[h>>2]=sa;ra=sa+(oa<<2)|0;f[da>>2]=ra;uj(sa|0,0,ya|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[k>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{ya=0;oa=ra;na=Ta;while(1){f[e>>2]=ya;f[d>>2]=f[e>>2];Qb(ja,d,oa,na)|0;Fa=b[k>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=ya+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}ya=pa;oa=Fa;na=f[h>>2]|0}}while(0);if(Ua<<24>>24>0){sa=0;ja=Ua;while(1){ra=(f[g>>2]|0)+(sa<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ti(ga,ra);Va=b[k>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=ja}sa=sa+1|0;if((sa|0)>=(Va<<24>>24|0))break;else ja=Va}}ja=f[h>>2]|0;if(ja|0){sa=f[ba>>2]|0;if((sa|0)!=(ja|0))f[ba>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);br(ja)}ja=f[g>>2]|0;if(ja|0){sa=f[_>>2]|0;if((sa|0)!=(ja|0))f[_>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);br(ja)}break}default:{}}ja=ha+1|0;sa=f[o>>2]|0;if(ja>>>0>=(f[p>>2]|0)-sa>>2>>>0){v=1;wa=169;break}k=f[j>>2]|0;ha=ja;ia=sa;t=f[k+4>>2]|0;l=k}if((wa|0)==48)nq(h);else if((wa|0)==103)nq(Ra);else if((wa|0)==137)nq(g);else if((wa|0)==144)nq(h);else if((wa|0)==169){u=c;return v|0}return 0}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+140|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+116|0;y=a+48|0;h=a+44|0;j=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=i+4|0;N=i+24|0;O=i+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){br(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[s>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[w>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=1;ba=$;ca=V;while(1){ca=(ca|0)==(ba+-1|0)?0:ca+1|0;f[U+(aa<<2)>>2]=ca;aa=aa+1|0;da=f[g>>2]|0;if(aa>>>0>=da>>>0){ea=da;break}else ba=da}}else ea=$;if(!z){fa=99;break}else{ga=0;ha=ea}while(1){ba=(f[N>>2]|0)+((X(f[M>>2]|0,S+ga|0)|0)<<2)|0;if(!ha)ia=0;else{aa=0;do{ca=f[(f[w>>2]|0)+(aa<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ca<<2)>>2]|0)|0;do if(U|0){da=f[y>>2]|0;ja=32-da|0;ka=32-U|0;la=f[ba+(ca<<2)>>2]<(ja|0)){ma=la>>>ka;ka=U-ja|0;f[y>>2]=ka;ja=f[h>>2]|ma>>>ka;f[h>>2]=ja;ka=f[j>>2]|0;if((ka|0)==(f[m>>2]|0))Ti(n,h);else{f[ka>>2]=ja;f[j>>2]=ka+4}f[h>>2]=ma<<32-(f[y>>2]|0);break}ma=f[h>>2]|la>>>da;f[h>>2]=ma;la=da+U|0;f[y>>2]=la;if((la|0)!=32)break;la=f[j>>2]|0;if((la|0)==(f[m>>2]|0))Ti(n,h);else{f[la>>2]=ma;f[j>>2]=la+4}f[h>>2]=0;f[y>>2]=0}while(0);aa=aa+1|0;U=f[g>>2]|0}while(aa>>>0>>0);ia=U}ga=ga+1|0;if(ga>>>0>=z>>>0){fa=99;break a}else ha=ia}}$=Z+1|0;Lg(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);aa=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;ba=(f[aa>>2]|0)+(1<>2]=ba;aa=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))na=S;else{ca=f[O>>2]|0;if(!aa){if((f[ca+(V<<2)>>2]|0)>>>0>>0){na=W;break}else{oa=W;pa=S}while(1){la=oa;do{la=la+-1|0;if((pa|0)==(la|0)){na=pa;break b}ma=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[ma>>2]|0)>>>0>=ba>>>0);pa=pa+1|0;if((pa|0)==(la|0)){na=la;break b}else oa=la}}else{qa=W;ra=S}while(1){ma=ra;while(1){sa=ca+((X(ma,aa)|0)<<2)|0;if((f[sa+(V<<2)>>2]|0)>>>0>=ba>>>0){ta=qa;break}da=ma+1|0;if((da|0)==(qa|0)){na=qa;break b}else ma=da}while(1){ta=ta+-1|0;if((ma|0)==(ta|0)){na=ma;break b}ua=(f[P>>2]|0)+((X(ta,U)|0)<<2)|0;if((f[ua+(V<<2)>>2]|0)>>>0>>0){va=0;break}}do{la=sa+(va<<2)|0;da=ua+(va<<2)|0;ka=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ka;va=va+1|0}while((va|0)!=(aa|0));ra=ma+1|0;if((ra|0)==(ta|0)){na=ta;break}else qa=ta}}while(0);ba=(_(z|0)|0)^31;U=na-S|0;ca=W-na|0;ka=U>>>0>>0;if((U|0)!=(ca|0)){da=f[H>>2]|0;if(ka)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ti(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ka){da=f[C>>2]|0;ja=32-da|0;wa=32-ba|0;xa=la-U<(ja|0)){ya=xa>>>wa;wa=ba-ja|0;f[C>>2]=wa;ja=f[D>>2]|ya>>>wa;f[D>>2]=ja;wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ti(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=ya<<32-(f[C>>2]|0);break}ya=f[D>>2]|xa>>>da;f[D>>2]=ya;xa=da+ba|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ti(G,D);else{f[xa>>2]=ya;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;ya=32-xa|0;da=32-ba|0;wa=la-ca<(ya|0)){ja=wa>>>da;da=ba-ya|0;f[C>>2]=da;ya=f[D>>2]|ja>>>da;f[D>>2]=ya;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ti(G,D);else{f[da>>2]=ya;f[E>>2]=da+4}f[D>>2]=ja<<32-(f[C>>2]|0);break}ja=f[D>>2]|wa>>>xa;f[D>>2]=ja;wa=xa+ba|0;f[C>>2]=wa;if((wa|0)==32){wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ti(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=0;f[C>>2]=0}}while(0);ba=f[s>>2]|0;la=f[ba+(Z*12|0)>>2]|0;ka=la+(V<<2)|0;f[ka>>2]=(f[ka>>2]|0)+1;Lg(ba+($*12|0)|0,la,f[ba+(Z*12|0)+4>>2]|0);if((na|0)!=(S|0)){ba=f[o>>2]|0;la=f[t>>2]|0;ka=ba-la>>2;wa=f[v>>2]|0;ja=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ja+wa|0)){Qc(e);za=f[v>>2]|0;Aa=f[l>>2]|0;Ba=f[o>>2]|0;Ca=f[t>>2]|0}else{za=wa;Aa=ja;Ba=ba;Ca=la}la=Aa+za|0;if((Ba|0)==(Ca|0))Da=0;else Da=(f[Ca+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Da>>2]=S;la=Da+4|0;f[la>>2]=r;f[la+4>>2]=x;f[Da+12>>2]=na;f[Da+16>>2]=i;f[Da+20>>2]=aa;f[Da+24>>2]=V;f[Da+28>>2]=U;f[Da+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(na|0)){la=f[o>>2]|0;ba=f[t>>2]|0;ja=la-ba>>2;wa=f[v>>2]|0;ka=f[l>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ka+wa|0)){Qc(e);Ea=f[v>>2]|0;Fa=f[l>>2]|0;Ga=f[o>>2]|0;Ha=f[t>>2]|0}else{Ea=wa;Fa=ka;Ga=la;Ha=ba}ba=Fa+Ea|0;if((Ga|0)==(Ha|0))Ia=0;else Ia=(f[Ha+(((ba>>>0)/113|0)<<2)>>2]|0)+(((ba>>>0)%113|0)*36|0)|0;f[Ia>>2]=na;f[Ia+4>>2]=i;f[Ia+8>>2]=aa;f[Ia+12>>2]=W;ba=Ia+16|0;f[ba>>2]=p;f[ba+4>>2]=q;f[Ia+24>>2]=V;f[Ia+28>>2]=ca;f[Ia+32>>2]=$;ba=(f[l>>2]|0)+1|0;f[l>>2]=ba;Ja=ba}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ja=f[l>>2]|0}if(!Ja)break;else Q=Ja}}Ja=f[t>>2]|0;Q=f[v>>2]|0;Ia=Ja+(((Q>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ja;if((q|0)==(Ja|0)){Ka=0;La=0}else{na=(f[Ia>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;Ka=na;La=na}na=Ia;Ia=La;c:while(1){La=Ia;do{Q=La;if((Ka|0)==(Q|0))break c;La=Q+36|0}while((La-(f[na>>2]|0)|0)!=4068);La=na+4|0;na=La;Ia=f[La>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ja;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ma=f[o>>2]|0;Na=Ma-i>>2}while(Na>>>0>2);Oa=Na;Pa=i;Qa=Ma}else{Oa=l;Pa=Ja;Qa=q}switch(Oa|0){case 1:{Ra=56;fa=113;break}case 2:{Ra=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Ra;if((Pa|0)!=(Qa|0)){Ra=Pa;do{br(f[Ra>>2]|0);Ra=Ra+4|0}while((Ra|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}br(Qa);u=d;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)nq(e);else{l=j<<2;m=vn(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;uj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);br(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[e>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[e+8>>2];f[e>>2]=0;r=e+4|0;f[r>>2]=0;f[e+8>>2]=0;do if(v)if(v>>>0>1073741823)nq(e);else{t=v<<2;q=vn(t)|0;f[e>>2]=q;s=q+(v<<2)|0;f[e+8>>2]=s;uj(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+1176|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);br(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[e>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;A=b+4|0;t=f[A>>2]|0;z=f[A+4>>2]|0;A=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;s=f[q+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;k=t;Qc(h);l=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(l|0))B=0;else B=(f[l+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=y;j=B+4|0;f[j>>2]=t;f[j+4>>2]=z;f[B+12>>2]=A;j=B+16|0;f[j>>2]=r;f[j+4>>2]=s;f[B+24>>2]=0;f[B+28>>2]=A-y;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){y=a+1152|0;A=a+1084|0;j=a+1080|0;l=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=k+4|0;K=k+24|0;L=k+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){br(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[v>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Rd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[y>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=1;$=Y;aa=Q;while(1){aa=(aa|0)==($+-1|0)?0:aa+1|0;f[W+(Z<<2)>>2]=aa;Z=Z+1|0;ba=f[i>>2]|0;if(Z>>>0>=ba>>>0){ca=ba;break}else $=ba}}else ca=Y;if(!U){da=87;break}else{ea=0;fa=ca}while(1){$=(f[K>>2]|0)+((X(f[J>>2]|0,P+ea|0)|0)<<2)|0;if(!fa)ga=0;else{Z=0;do{aa=f[(f[y>>2]|0)+(Z<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+(aa<<2)>>2]|0)|0;do if(W|0){ba=f[A>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[$+(aa<<2)>>2]<(ha|0)){ka=ja>>>ia;ia=W-ha|0;f[A>>2]=ia;ha=f[j>>2]|ka>>>ia;f[j>>2]=ha;ia=f[l>>2]|0;if((ia|0)==(f[o>>2]|0))Ti(p,j);else{f[ia>>2]=ha;f[l>>2]=ia+4}f[j>>2]=ka<<32-(f[A>>2]|0);break}ka=f[j>>2]|ja>>>ba;f[j>>2]=ka;ja=ba+W|0;f[A>>2]=ja;if((ja|0)!=32)break;ja=f[l>>2]|0;if((ja|0)==(f[o>>2]|0))Ti(p,j);else{f[ja>>2]=ka;f[l>>2]=ja+4}f[j>>2]=0;f[A>>2]=0}while(0);Z=Z+1|0;W=f[i>>2]|0}while(Z>>>0>>0);ga=W}ea=ea+1|0;if(ea>>>0>=U>>>0){da=87;break a}else fa=ga}}Y=V+1|0;Z=f[m>>2]|0;$=Z+(Y*12|0)|0;if(($|0)==(S|0))la=Z;else{Lg($,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);la=f[m>>2]|0}$=(f[la+(Y*12|0)>>2]|0)+(Q<<2)|0;Z=(f[$>>2]|0)+(1<>2]=Z;$=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))ma=P;else{aa=f[L>>2]|0;if(!$){if((f[aa+(Q<<2)>>2]|0)>>>0>>0){ma=T;break}else{na=T;oa=P}while(1){ja=na;do{ja=ja+-1|0;if((oa|0)==(ja|0)){ma=oa;break b}ka=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[ka>>2]|0)>>>0>=Z>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){ma=ja;break b}else na=ja}}else{pa=T;qa=P}while(1){ka=qa;while(1){ra=aa+((X(ka,$)|0)<<2)|0;if((f[ra+(Q<<2)>>2]|0)>>>0>=Z>>>0){sa=pa;break}ba=ka+1|0;if((ba|0)==(pa|0)){ma=pa;break b}else ka=ba}while(1){sa=sa+-1|0;if((ka|0)==(sa|0)){ma=ka;break b}ta=(f[M>>2]|0)+((X(sa,W)|0)<<2)|0;if((f[ta+(Q<<2)>>2]|0)>>>0>>0){ua=0;break}}do{ja=ra+(ua<<2)|0;ba=ta+(ua<<2)|0;ia=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ia;ua=ua+1|0}while((ua|0)!=($|0));qa=ka+1|0;if((qa|0)==(sa|0)){ma=sa;break}else pa=sa}}while(0);Z=(_(U|0)|0)^31;W=ma-P|0;aa=T-ma|0;ia=W>>>0>>0;if((W|0)!=(aa|0)){ba=f[E>>2]|0;if(ia)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ti(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ia){ia=ja-W|0;if(Z|0){ba=0;ha=1<>>1}}}else{ha=ja-aa|0;if(Z|0){ba=0;ia=1<>>1}}}ia=f[v>>2]|0;Z=f[ia+(V*12|0)>>2]|0;ba=Z+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Lg(ia+(Y*12|0)|0,Z,f[ia+(V*12|0)+4>>2]|0);if((ma|0)!=(P|0)){ia=f[q>>2]|0;Z=f[w>>2]|0;ba=ia-Z>>2;ha=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ha|0)){Qc(h);va=f[x>>2]|0;wa=f[n>>2]|0;xa=f[q>>2]|0;ya=f[w>>2]|0}else{va=ha;wa=ja;xa=ia;ya=Z}Z=wa+va|0;if((xa|0)==(ya|0))za=0;else za=(f[ya+(((Z>>>0)/113|0)<<2)>>2]|0)+(((Z>>>0)%113|0)*36|0)|0;f[za>>2]=P;Z=za+4|0;f[Z>>2]=t;f[Z+4>>2]=z;f[za+12>>2]=ma;f[za+16>>2]=k;f[za+20>>2]=$;f[za+24>>2]=Q;f[za+28>>2]=W;f[za+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(ma|0)){Z=f[q>>2]|0;ia=f[w>>2]|0;ja=Z-ia>>2;ha=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ha|0)){Qc(h);Aa=f[x>>2]|0;Ba=f[n>>2]|0;Ca=f[q>>2]|0;Da=f[w>>2]|0}else{Aa=ha;Ba=ba;Ca=Z;Da=ia}ia=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((ia>>>0)/113|0)<<2)>>2]|0)+(((ia>>>0)%113|0)*36|0)|0;f[Ea>>2]=ma;f[Ea+4>>2]=k;f[Ea+8>>2]=$;f[Ea+12>>2]=T;ia=Ea+16|0;f[ia>>2]=r;f[ia+4>>2]=s;f[Ea+24>>2]=Q;f[Ea+28>>2]=aa;f[Ea+32>>2]=Y;ia=(f[n>>2]|0)+1|0;f[n>>2]=ia;Fa=ia}else da=87}else da=87;while(0);if((da|0)==87){da=0;Fa=f[n>>2]|0}if(!Fa)break;else N=Fa}}Fa=f[w>>2]|0;N=f[x>>2]|0;Ea=Fa+(((N>>>0)/113|0)<<2)|0;s=f[q>>2]|0;r=s;k=Fa;if((s|0)==(Fa|0)){Ga=0;Ha=0}else{ma=(f[Ea>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ga=ma;Ha=ma}ma=Ea;Ea=Ha;c:while(1){Ha=Ea;do{N=Ha;if((Ga|0)==(N|0))break c;Ha=N+36|0}while((Ha-(f[ma>>2]|0)|0)!=4068);Ha=ma+4|0;ma=Ha;Ea=f[Ha>>2]|0}f[n>>2]=0;n=r-k>>2;if(n>>>0>2){k=Fa;do{br(f[k>>2]|0);k=(f[w>>2]|0)+4|0;f[w>>2]=k;Ia=f[q>>2]|0;Ja=Ia-k>>2}while(Ja>>>0>2);Ka=Ja;La=k;Ma=Ia}else{Ka=n;La=Fa;Ma=s}switch(Ka|0){case 1:{Na=56;da=101;break}case 2:{Na=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Na;if((La|0)!=(Ma|0)){Na=La;do{br(f[Na>>2]|0);Na=Na+4|0}while((Na|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}br(Ma);u=d;return}function jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=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;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(ni(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)nq(G);else{K=H<<2;L=vn(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;uj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=0;aa=0;ba=0;ca=0;da=M;ea=C;b:while(1){fa=f[(f[(f[ea+4>>2]|0)+8>>2]|0)+(f[da+(ca<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=fa;ha=aa;break}case 9:{ga=f[(f[Z>>2]|0)+(aa<<2)>>2]|0;ha=aa+1|0;break}default:{ia=0;break a}}if(!ga){ia=0;break a}c:do switch(f[ga+28>>2]|0){case 6:{if(Q){ja=ba;ka=ga+24|0;break c}fa=ga+84|0;la=ga+68|0;ma=ga+48|0;na=ga+40|0;oa=ga+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=En(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=ho(ua|0,I|0,sa|0,ta|0)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,(f[f[ga>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=ba;ka=oa;break}case 1:case 3:case 5:{oa=ga+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=vn(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;uj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=vn(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;uj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ga+84|0;na=ga+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Qb(ga,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ba<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=ba+(b[oa>>0]|0)|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);br(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);br(na)}ja=pa;ka=oa;break}default:{pa=ga+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=vn(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;uj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ga+84|0;sa=ga+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];Pb(ga,e,ra,ma)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+($<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);br(Ga)}ja=ba;ka=pa}}while(0);na=ca+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=$+(b[ka>>0]|0)|0;aa=ha;ba=ja;ca=na;da=sa;ea=f[A>>2]|0}if((wa|0)==24)nq(j);else if((wa|0)==30)nq(k);else if((wa|0)==53)nq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{A=(_(D|0)|0)^31;Ka=(A|0)<(H|0)?H:A+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ue(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=uf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 5:{Ue(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=vf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 4:{Ue(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=vf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 3:{af(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=Cf(j,g,e,k,c)|0;gf(j);if(!H){ia=0;break d}break}case 2:{af(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=Cf(j,g,e,k,c)|0;gf(j);if(!H){ia=0;break d}break}case 1:{bf(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=Bf(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}case 0:{bf(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=Bf(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);br(j);u=d;return ia|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+1176|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+1152|0;y=a+1084|0;h=a+1080|0;j=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=i+4|0;I=i+24|0;J=i+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){br(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[s>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[w>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=1;W=U;Y=Q;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[P+(V<<2)>>2]=Y;V=V+1|0;Z=f[g>>2]|0;if(V>>>0>=Z>>>0){$=Z;break}else W=Z}}else $=U;if(!z){aa=85;break}else{ba=0;ca=$}while(1){W=(f[I>>2]|0)+((X(f[H>>2]|0,N+ba|0)|0)<<2)|0;if(!ca)da=0;else{V=0;do{Y=f[(f[w>>2]|0)+(V<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Y<<2)>>2]|0)|0;do if(P|0){Z=f[y>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[W+(Y<<2)>>2]<(ea|0)){ha=ga>>>fa;fa=P-ea|0;f[y>>2]=fa;ea=f[h>>2]|ha>>>fa;f[h>>2]=ea;fa=f[j>>2]|0;if((fa|0)==(f[m>>2]|0))Ti(n,h);else{f[fa>>2]=ea;f[j>>2]=fa+4}f[h>>2]=ha<<32-(f[y>>2]|0);break}ha=f[h>>2]|ga>>>Z;f[h>>2]=ha;ga=Z+P|0;f[y>>2]=ga;if((ga|0)!=32)break;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=ha;f[j>>2]=ga+4}f[h>>2]=0;f[y>>2]=0}while(0);V=V+1|0;P=f[g>>2]|0}while(V>>>0

>>0);da=P}ba=ba+1|0;if(ba>>>0>=z>>>0){aa=85;break a}else ca=da}}U=T+1|0;Lg(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);V=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;W=(f[V>>2]|0)+(1<>2]=W;V=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ia=N;else{Y=f[J>>2]|0;if(!V){if((f[Y+(Q<<2)>>2]|0)>>>0>>0){ia=R;break}else{ja=R;ka=N}while(1){ga=ja;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ia=ka;break b}ha=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ha>>2]|0)>>>0>=W>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ia=ga;break b}else ja=ga}}else{la=R;ma=N}while(1){ha=ma;while(1){na=Y+((X(ha,V)|0)<<2)|0;if((f[na+(Q<<2)>>2]|0)>>>0>=W>>>0){oa=la;break}Z=ha+1|0;if((Z|0)==(la|0)){ia=la;break b}else ha=Z}while(1){oa=oa+-1|0;if((ha|0)==(oa|0)){ia=ha;break b}pa=(f[K>>2]|0)+((X(oa,P)|0)<<2)|0;if((f[pa+(Q<<2)>>2]|0)>>>0>>0){qa=0;break}}do{ga=na+(qa<<2)|0;Z=pa+(qa<<2)|0;fa=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=fa;qa=qa+1|0}while((qa|0)!=(V|0));ma=ha+1|0;if((ma|0)==(oa|0)){ia=oa;break}else la=oa}}while(0);W=(_(z|0)|0)^31;P=ia-N|0;Y=R-ia|0;fa=P>>>0>>0;if((P|0)!=(Y|0)){Z=f[C>>2]|0;if(fa)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ti(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(fa){fa=ga-P|0;if(W|0){Z=0;ea=1<>>1}}}else{ea=ga-Y|0;if(W|0){Z=0;fa=1<>>1}}}fa=f[s>>2]|0;W=f[fa+(T*12|0)>>2]|0;Z=W+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Lg(fa+(U*12|0)|0,W,f[fa+(T*12|0)+4>>2]|0);if((ia|0)!=(N|0)){fa=f[o>>2]|0;W=f[t>>2]|0;Z=fa-W>>2;ea=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+ea|0)){Qc(e);ra=f[v>>2]|0;sa=f[l>>2]|0;ta=f[o>>2]|0;ua=f[t>>2]|0}else{ra=ea;sa=ga;ta=fa;ua=W}W=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[va>>2]=N;W=va+4|0;f[W>>2]=r;f[W+4>>2]=x;f[va+12>>2]=ia;f[va+16>>2]=i;f[va+20>>2]=V;f[va+24>>2]=Q;f[va+28>>2]=P;f[va+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ia|0)){W=f[o>>2]|0;fa=f[t>>2]|0;ga=W-fa>>2;ea=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+ea|0)){Qc(e);wa=f[v>>2]|0;xa=f[l>>2]|0;ya=f[o>>2]|0;za=f[t>>2]|0}else{wa=ea;xa=Z;ya=W;za=fa}fa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((fa>>>0)/113|0)<<2)>>2]|0)+(((fa>>>0)%113|0)*36|0)|0;f[Aa>>2]=ia;f[Aa+4>>2]=i;f[Aa+8>>2]=V;f[Aa+12>>2]=R;fa=Aa+16|0;f[fa>>2]=p;f[fa+4>>2]=q;f[Aa+24>>2]=Q;f[Aa+28>>2]=Y;f[Aa+32>>2]=U;fa=(f[l>>2]|0)+1|0;f[l>>2]=fa;Ba=fa}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ba=f[l>>2]|0}if(!Ba)break;else L=Ba}}Ba=f[t>>2]|0;L=f[v>>2]|0;Aa=Ba+(((L>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ba;if((q|0)==(Ba|0)){Ca=0;Da=0}else{ia=(f[Aa>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Ca=ia;Da=ia}ia=Aa;Aa=Da;c:while(1){Da=Aa;do{L=Da;if((Ca|0)==(L|0))break c;Da=L+36|0}while((Da-(f[ia>>2]|0)|0)!=4068);Da=ia+4|0;ia=Da;Aa=f[Da>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ba;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ea=f[o>>2]|0;Fa=Ea-i>>2}while(Fa>>>0>2);Ga=Fa;Ha=i;Ia=Ea}else{Ga=l;Ha=Ba;Ia=q}switch(Ga|0){case 1:{Ja=56;aa=99;break}case 2:{Ja=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ja;if((Ha|0)!=(Ia|0)){Ja=Ha;do{br(f[Ja>>2]|0);Ja=Ja+4|0}while((Ja|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}br(Ia);u=d;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)nq(e);else{j=h<<2;k=vn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;uj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);br(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)nq(e);else{r=s<<2;o=vn(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;uj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+152|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);br(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Qc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+128|0;y=a+60|0;h=a+56|0;j=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=i+4|0;J=i+24|0;K=i+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){br(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[s>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[w>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=1;Y=V;Z=R;while(1){Z=(Z|0)==(Y+-1|0)?0:Z+1|0;f[Q+(W<<2)>>2]=Z;W=W+1|0;$=f[g>>2]|0;if(W>>>0>=$>>>0){aa=$;break}else Y=$}}else aa=V;if(!z){ba=81;break}else{ca=0;da=aa}while(1){Y=(f[J>>2]|0)+((X(f[I>>2]|0,O+ca|0)|0)<<2)|0;if(!da)ea=0;else{W=0;do{Z=f[(f[w>>2]|0)+(W<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Z<<2)>>2]|0)|0;do if(Q|0){$=f[y>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[Y+(Z<<2)>>2]<(fa|0)){ia=ha>>>ga;ga=Q-fa|0;f[y>>2]=ga;fa=f[h>>2]|ia>>>ga;f[h>>2]=fa;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=fa;f[j>>2]=ga+4}f[h>>2]=ia<<32-(f[y>>2]|0);break}ia=f[h>>2]|ha>>>$;f[h>>2]=ia;ha=$+Q|0;f[y>>2]=ha;if((ha|0)!=32)break;ha=f[j>>2]|0;if((ha|0)==(f[m>>2]|0))Ti(n,h);else{f[ha>>2]=ia;f[j>>2]=ha+4}f[h>>2]=0;f[y>>2]=0}while(0);W=W+1|0;Q=f[g>>2]|0}while(W>>>0>>0);ea=Q}ca=ca+1|0;if(ca>>>0>=z>>>0){ba=81;break a}else da=ea}}V=U+1|0;Lg(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);W=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;Y=(f[W>>2]|0)+(1<>2]=Y;W=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ja=O;else{Z=f[K>>2]|0;if(!W){if((f[Z+(R<<2)>>2]|0)>>>0>>0){ja=S;break}else{ka=S;la=O}while(1){ha=ka;do{ha=ha+-1|0;if((la|0)==(ha|0)){ja=la;break b}ia=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ia>>2]|0)>>>0>=Y>>>0);la=la+1|0;if((la|0)==(ha|0)){ja=ha;break b}else ka=ha}}else{ma=S;na=O}while(1){ia=na;while(1){oa=Z+((X(ia,W)|0)<<2)|0;if((f[oa+(R<<2)>>2]|0)>>>0>=Y>>>0){pa=ma;break}$=ia+1|0;if(($|0)==(ma|0)){ja=ma;break b}else ia=$}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[L>>2]|0)+((X(pa,Q)|0)<<2)|0;if((f[qa+(R<<2)>>2]|0)>>>0>>0){ra=0;break}}do{ha=oa+(ra<<2)|0;$=qa+(ra<<2)|0;ga=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ga;ra=ra+1|0}while((ra|0)!=(W|0));na=ia+1|0;if((na|0)==(pa|0)){ja=pa;break}else ma=pa}}while(0);Y=(_(z|0)|0)^31;Q=ja-O|0;Z=S-ja|0;ga=Q>>>0>>0;if((Q|0)!=(Z|0)){$=f[D>>2]|0;if(ga)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ti(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ga)vg(C,Y,ha-Q|0);else vg(C,Y,ha-Z|0);ha=f[s>>2]|0;Y=f[ha+(U*12|0)>>2]|0;ga=Y+(R<<2)|0;f[ga>>2]=(f[ga>>2]|0)+1;Lg(ha+(V*12|0)|0,Y,f[ha+(U*12|0)+4>>2]|0);if((ja|0)!=(O|0)){ha=f[o>>2]|0;Y=f[t>>2]|0;ga=ha-Y>>2;$=f[v>>2]|0;fa=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(fa+$|0)){Qc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=$;ta=fa;ua=ha;va=Y}Y=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[wa>>2]=O;Y=wa+4|0;f[Y>>2]=r;f[Y+4>>2]=x;f[wa+12>>2]=ja;f[wa+16>>2]=i;f[wa+20>>2]=W;f[wa+24>>2]=R;f[wa+28>>2]=Q;f[wa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ja|0)){Q=f[o>>2]|0;Y=f[t>>2]|0;ha=Q-Y>>2;fa=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+fa|0)){Qc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=$;za=Q;Aa=Y}Y=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=i;f[Ba+8>>2]=W;f[Ba+12>>2]=S;Y=Ba+16|0;f[Y>>2]=p;f[Y+4>>2]=q;f[Ba+24>>2]=R;f[Ba+28>>2]=Z;f[Ba+32>>2]=V;Z=(f[l>>2]|0)+1|0;f[l>>2]=Z;Ca=Z}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Ca=f[l>>2]|0}if(!Ca)break;else M=Ca}}Ca=f[t>>2]|0;M=f[v>>2]|0;Ba=Ca+(((M>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ca;if((q|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{M=Ea;if((Da|0)==(M|0))break c;Ea=M+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ca;do{br(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Fa=f[o>>2]|0;Ga=Fa-i>>2}while(Ga>>>0>2);Ha=Ga;Ia=i;Ja=Fa}else{Ha=l;Ia=Ca;Ja=q}switch(Ha|0){case 1:{Ka=56;ba=95;break}case 2:{Ka=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=Ka;if((Ia|0)!=(Ja|0)){Ka=Ia;do{br(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}br(Ja);u=d;return}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Oa,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(ho(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=ho(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=ho(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=ho(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0.0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Ui(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Ui(a)|0;if((x|0)==48){o=0;w=0;while(1){y=ho(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Ui(a)|0;if((B|0)==48){o=y;w=z}else{q=1;r=B;s=1;t=y;v=z;break}}}else{q=1;r=x;s=b;t=0;v=0}}f[j>>2]=0;b=r+-48|0;x=(r|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=0;o=0;z=0;y=q;A=s;C=r;D=x;E=b;F=t;G=v;H=0;J=0;c:while(1){do if(D)if(!y){L=w;M=o;N=1;O=z;P=A;Q=H;R=J;S=H;T=J}else break c;else{U=ho(H|0,J|0,1,0)|0;V=I;W=(C|0)!=48;if((o|0)>=125){if(!W){L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}Y=j+(o<<2)|0;if(!w)Z=E;else Z=C+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=w+1|0;_=(Y|0)==9;L=_?0:Y;M=o+(_&1)|0;N=y;O=W?U:z;P=1;Q=F;R=G;S=U;T=V}while(0);V=f[m>>2]|0;if(V>>>0<(f[n>>2]|0)>>>0){f[m>>2]=V+1;$=h[V>>0]|0}else $=Ui(a)|0;E=$+-48|0;D=($|0)==46;if(!(D|E>>>0<10)){aa=L;ba=M;ca=O;da=N;ea=$;fa=P;ga=S;ha=Q;ia=T;ja=R;p=29;break b}else{w=L;o=M;z=O;y=N;A=P;C=$;F=Q;G=R;H=S;J=T}}ka=w;la=o;ma=z;na=H;oa=J;pa=F;qa=G;ra=(A|0)!=0;p=37}else{aa=0;ba=0;ca=0;da=q;ea=r;fa=s;ga=0;ha=t;ia=0;ja=v;p=29}while(0);do if((p|0)==29){v=(da|0)==0;t=v?ga:ha;s=v?ia:ja;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=aa;la=ba;ma=ca;na=ga;oa=ia;pa=t;qa=s;ra=v;p=37;break}else{sa=aa;ta=ba;ua=ca;va=ga;wa=ia;xa=v;ya=t;za=s;p=39;break}v=Re(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){gn(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=ho(Ba|0,Ca|0,t|0,s|0)|0;Da=aa;Ea=ba;Fa=ca;Ga=r;Ha=ga;Ia=I;Ja=ia;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ka;Ea=la;Fa=ma;Ga=pa;Ha=na;Ia=qa;Ja=oa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=ra;ya=pa;za=qa;p=39}if((p|0)==39)if(xa){Da=sa;Ea=ta;Fa=ua;Ga=ya;Ha=va;Ia=za;Ja=wa;p=41}else p=40;do if((p|0)==40){wa=ir()|0;f[wa>>2]=22;gn(a,0);Aa=0.0}else if((p|0)==41){wa=f[j>>2]|0;if(!wa){Aa=+(e|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(c|0)>30|(wa>>>c|0)==0:0){Aa=+(e|0)*+(wa>>>0);break}wa=(d|0)/-2|0;za=((wa|0)<0)<<31>>31;if((Ia|0)>(za|0)|(Ia|0)==(za|0)&Ga>>>0>wa>>>0){wa=ir()|0;f[wa>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}wa=d+-106|0;za=((wa|0)<0)<<31>>31;if((Ia|0)<(za|0)|(Ia|0)==(za|0)&Ga>>>0>>0){wa=ir()|0;f[wa>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Da)Ka=Ea;else{if((Da|0)<9){wa=j+(Ea<<2)|0;za=Da;va=f[wa>>2]|0;while(1){va=va*10|0;if((za|0)>=8)break;else za=za+1|0}f[wa>>2]=va}Ka=Ea+1|0}if((Fa|0)<9?(Fa|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){Aa=+(e|0)*+((f[j>>2]|0)>>>0);break}if((Ga|0)<9){Aa=+(e|0)*+((f[j>>2]|0)>>>0)/+(f[6876+(8-Ga<<2)>>2]|0);break}za=c+27+(X(Ga,-3)|0)|0;A=f[j>>2]|0;if((za|0)>30|(A>>>za|0)==0){Aa=+(e|0)*+(A>>>0)*+(f[6876+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=0;Ma=Ka;Na=0;Oa=Ga}else{za=(Ga|0)>-1?A:A+9|0;A=f[6876+(8-za<<2)>>2]|0;if(Ka){G=1e9/(A|0)|0;F=0;J=0;H=Ga;z=0;do{o=j+(z<<2)|0;w=f[o>>2]|0;ya=((w>>>0)/(A>>>0)|0)+F|0;f[o>>2]=ya;F=X(G,(w>>>0)%(A>>>0)|0)|0;w=(z|0)==(J|0)&(ya|0)==0;H=w?H+-9|0:H;J=w?J+1&127:J;z=z+1|0}while((z|0)!=(Ka|0));if(!F){Pa=J;Qa=Ka;Ra=H}else{f[j+(Ka<<2)>>2]=F;Pa=J;Qa=Ka+1|0;Ra=H}}else{Pa=0;Qa=0;Ra=Ga}La=0;Ma=Qa;Na=Pa;Oa=9-za+Ra|0}d:while(1){z=(Oa|0)<18;A=(Oa|0)==18;G=j+(Na<<2)|0;va=La;wa=Ma;while(1){if(!z){if(!A){Sa=va;Ta=Na;Ua=Oa;Va=wa;break d}if((f[G>>2]|0)>>>0>=9007199){Sa=va;Ta=Na;Ua=18;Va=wa;break d}}w=0;Wa=wa;ya=wa+127|0;while(1){o=ya&127;ua=j+(o<<2)|0;ta=fo(f[ua>>2]|0,0,29)|0;sa=ho(ta|0,I|0,w|0,0)|0;ta=I;if(ta>>>0>0|(ta|0)==0&sa>>>0>1e9){xa=wp(sa|0,ta|0,1e9,0)|0;qa=sn(sa|0,ta|0,1e9,0)|0;Xa=xa;Ya=qa}else{Xa=0;Ya=sa}f[ua>>2]=Ya;ua=(o|0)==(Na|0);Wa=(Ya|0)==0&(((o|0)!=(Wa+127&127|0)|ua)^1)?o:Wa;if(ua)break;else{w=Xa;ya=o+-1|0}}va=va+-29|0;if(Xa|0)break;else wa=Wa}wa=Na+127&127;G=Wa+127&127;A=j+((Wa+126&127)<<2)|0;if((wa|0)==(Wa|0)){f[A>>2]=f[A>>2]|f[j+(G<<2)>>2];Za=G}else Za=Wa;f[j+(wa<<2)>>2]=Xa;La=va;Ma=Za;Na=wa;Oa=Oa+9|0}e:while(1){za=Va+1&127;H=j+((Va+127&127)<<2)|0;J=Sa;F=Ta;wa=Ua;while(1){G=(wa|0)==18;A=(wa|0)>27?9:1;_a=J;$a=F;while(1){z=0;while(1){ya=z+$a&127;if((ya|0)==(Va|0)){ab=2;p=88;break}w=f[j+(ya<<2)>>2]|0;ya=f[6908+(z<<2)>>2]|0;if(w>>>0>>0){ab=2;p=88;break}if(w>>>0>ya>>>0)break;ya=z+1|0;if((z|0)<1)z=ya;else{ab=ya;p=88;break}}if((p|0)==88?(p=0,G&(ab|0)==2):0){bb=0.0;cb=0;db=Va;break e}eb=A+_a|0;if(($a|0)==(Va|0)){_a=eb;$a=Va}else break}G=(1<>>A;fb=0;gb=$a;hb=wa;ya=$a;do{w=j+(ya<<2)|0;o=f[w>>2]|0;ua=(o>>>A)+fb|0;f[w>>2]=ua;fb=X(o&G,z)|0;o=(ya|0)==(gb|0)&(ua|0)==0;hb=o?hb+-9|0:hb;gb=o?gb+1&127:gb;ya=ya+1&127}while((ya|0)!=(Va|0));if(!fb){J=eb;F=gb;wa=hb;continue}if((za|0)!=(gb|0))break;f[H>>2]=f[H>>2]|1;J=eb;F=gb;wa=hb}f[j+(Va<<2)>>2]=fb;Sa=eb;Ta=gb;Ua=hb;Va=za}while(1){wa=cb+$a&127;F=db+1&127;if((wa|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;bb=bb*1.0e9+ +((f[j+(wa<<2)>>2]|0)>>>0);cb=cb+1|0;if((cb|0)==2)break;else db=ib}jb=+(e|0);kb=bb*jb;wa=_a+53|0;F=wa-d|0;J=(F|0)<(c|0);H=J?((F|0)>0?F:0):c;if((H|0)<53){lb=+Gq(+ik(1.0,105-H|0),kb);mb=+Sq(kb,+ik(1.0,53-H|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}va=$a+2&127;if((va|0)!=(ib|0)){ya=f[j+(va<<2)>>2]|0;do if(ya>>>0>=5e8){if((ya|0)!=5e8){qb=jb*.75+ob;break}if(($a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ya|0)==0?($a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-H|0)>1?!(+Sq(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((wa&2147483647|0)>(-2-k|0)){ya=!(+K(+jb)>=9007199254740992.0);va=_a+((ya^1)&1)|0;kb=ya?jb:jb*.5;if((va+50|0)<=(l|0)?!(rb!=0.0&(J&((H|0)!=(F|0)|ya))):0){sb=kb;tb=va;break}ya=ir()|0;f[ya>>2]=34;sb=kb;tb=va}else{sb=jb;tb=_a}while(0);Aa=+Hq(sb,tb)}while(0);u=i;return +Aa}function ob(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Jo(c)|0;if((I|0)<0){q=-c;r=1;s=16992}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?16993:16998):16995}Jo(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;Xk(a,32,d,v,g&-65537);ip(a,s,r);ip(a,q!=q|0.0!=0.0?(t?18942:17019):t?17011:17015,3);Xk(a,32,d,v,g^8192);w=v}else{c=+Iq(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=Wj(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[17023+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;Xk(a,32,d,G,g);ip(a,y,z);Xk(a,48,d,G,g^65536);ip(a,m,M);Xk(a,48,N-M|0,0,0);ip(a,A,E);Xk(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=fo(f[K>>2]|0,0,y|0)|0;Q=ho(J|0,I|0,x|0,0)|0;J=I;R=sn(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=wp(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=Wj(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;Xk(a,32,d,A,g);ip(a,s,r);Xk(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=Wj(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){uj(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;ip(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)ip(a,17039,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=Wj(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){uj(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;ip(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;Xk(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=Wj(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;ip(a,Da,1);if(Z&(K|0)<1){Ea=x;break}ip(a,17039,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}uj(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;ip(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;Xk(a,48,Fa+18|0,18,0);ip(a,xa,p-xa|0)}Xk(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function pb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){$e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ji(v);br(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ji(v);br(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ji(s);br(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ji(s);br(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;di(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;di((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;ig(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;nk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;br(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;ig(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;nk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(xh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;fj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(dk(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=Bg(a,d,e)|0;hj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=W;T=-1;U=Z;break}S=W;T=f[V+(Y<<2)>>2]|0;U=Z}while(0);Y=f[C>>2]|0;V=Y+(S>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(S&31);V=Y+(U>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(U&31);V=Y+(T>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(T&31);f[d>>2]=1;V=f[B>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=1;f[B>>2]=V+4}else Ti(A,d);V=(f[t>>2]|0)+(O<<2)|0;f[V>>2]=f[V>>2]|P;V=Q+1|0;if(R)_=-1;else _=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[d>>2]=_;Y=f[H>>2]|0;if(Y>>>0<(f[K>>2]|0)>>>0){f[Y>>2]=_;f[H>>2]=Y+4}else Ti(i,d);if(R)break;Y=((V>>>0)%3|0|0)==0?Q+-2|0:V;if((Y|0)==-1)break;V=f[(f[(f[s>>2]|0)+12>>2]|0)+(Y<<2)>>2]|0;Y=(V|0)==-1;W=Y?-1:(V>>>0)/3|0;if(Y)break;if(f[(f[t>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)break;f[l>>2]=V;f[d>>2]=f[l>>2];if(!(kc(a,d)|0))break b}else{V=Q+1|0;if(R)$=-1;else $=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[m>>2]=$;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(kc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}th(v);F=a+232|0;ld(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(ld(E,F),(f[h>>2]|0)>1):0){E=1;do{ld((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}di((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;di(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(ch(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);br(F)}w=ba;u=c;return w|0}function qb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=ir()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)ip(a,w,y);if(y|0){s=y;t=x;continue}y=(Pq(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Pq(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Sl(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Sl(j)|0;$=O;aa=f[j>>2]|0;break}if(Pq(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(16511+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}We(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Vl(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=16975;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=jo(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=16975;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?16975:16977):16976;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=16975;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=16975;za=o;Aa=1;Ba=O;break}case 109:{ja=ir()|0;Ca=mp(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:16985;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){Xk(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=ob(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=16975;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=Bl(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?16975:16975+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=Wj(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=xg(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=16975;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=bp(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}Xk(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=bp(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}ip(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;Xk(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;Xk(a,32,ja,O,Ba);ip(a,ya,xa);Xk(a,48,ja,O,Ba^65536);Xk(a,48,F,Q,0);ip(a,wa,Q);Xk(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}We(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function rb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){$e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ji(v);br(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ji(v);br(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ji(s);br(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ji(s);br(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;de(t,a)|0;v=f[s>>2]|0;x=a+4|0;di(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;di((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;ig(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;nk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;br(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;ig(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;nk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(wh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;fj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(dk(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=Bg(a,d,e)|0;hj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ti(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ti(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(ac(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(ac(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}qi(t);di(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;di(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(ch(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);br(t)}w=aa;u=c;return w|0}function sb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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=Oa,ma=Oa,na=Oa,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Kh(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)nq(e);else{o=k<<2;p=vn(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;uj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(A<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(v<<2)>>2]|0;else D=v;C=D+239^B;A=A+1|0;if((A|0)>=(x|0)){E=C;break}else B=C}}else E=0;B=f[q>>2]|0;x=(B|0)==0;a:do if(!x){A=B+-1|0;C=(A&B|0)==0;if(!C)if(E>>>0>>0)F=E;else F=(E>>>0)%(B>>>0)|0;else F=A&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&A|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(v<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=v;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0>>0)X=L;else X=(L>>>0)%(B>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(v<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=v;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(v<<2)>>2]=f[Q+12>>2];_=t}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){A=f[z+(I<<2)>>2]|0;if(!(b[A+84>>0]|0))aa=f[(f[A+68>>2]|0)+(v<<2)>>2]|0;else aa=v;A=aa+239^H;I=I+1|0;if((I|0)>=(J|0)){ba=A;break}else H=A}}else ba=0;e:do if(!x){H=B+-1|0;J=(H&B|0)==0;if(!J)if(ba>>>0>>0)ca=ba;else ca=(ba>>>0)%(B>>>0)|0;else ca=H&ba;I=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((I|0)!=0?(A=f[I>>2]|0,(A|0)!=0):0){I=f[s>>2]|0;C=I+8|0;G=I+12|0;if(J){J=A;while(1){I=f[J+4>>2]|0;if(!((I|0)==(ba|0)|(I&H|0)==(ca|0))){da=ca;M=76;break e}I=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=v;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(v<<2)>>2]|0;ga=f[P+(I<<2)>>2]|0}else{fa=v;ga=I}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=v;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=A;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0>>0)ia=J;else ia=(J>>>0)%(B>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;H=f[C>>2]|0;L=(f[G>>2]|0)-H|0;O=H;if((L|0)<=0){ea=v;break e}H=L>>>2;L=0;while(1){I=f[O+(L<<2)>>2]|0;if(!(b[I+84>>0]|0)){K=f[I+68>>2]|0;ja=f[K+(v<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=v;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(H|0)){ea=v;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=vn(16)|0;f[G+8>>2]=v;f[G+12>>2]=t;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(B>>>0);na=$(n[l>>2]);do if(x|$(na*ma)>>0<3|(B+-1&B|0)!=0)&1;A=~~$(W($(la/na)))>>>0;Kh(d,C>>>0>>0?A:C);C=f[q>>2]|0;A=C+-1|0;if(!(A&C)){oa=C;pa=A&ba;break}if(ba>>>0>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=B;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;A=f[C>>2]|0;if(!A){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){H=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(H>>>0>>0)qa=H;else qa=(H>>>0)%(oa>>>0)|0;else qa=H&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[A>>2];ra=A;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}A=t+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=t;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ti(g,h);_=A;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=A;break}}while(0);v=(f[h>>2]|0)+1|0;f[h>>2]=v;sa=f[j>>2]|0;if(v>>>0>=sa>>>0)break;else t=_}if((_|0)!=(sa|0)){Xa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);br(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);br(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;br(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}br(e);u=c;return}function tb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)nq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)nq(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=jo(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=jo(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=jo(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=ho(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=ho(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=jo(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=jo(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=jo(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=ho(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=ho(Q|0,E|0,J|0,I|0)|0;J=I;E=jo(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=jo(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=En(N|0,L|0,p|0,q|0)|0;q=I;p=En(N|0,L|0,n|0,o|0)|0;o=I;n=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=ho(n|0,S|0,R|0,q|0)|0;q=I;R=ho(T|0,U|0,p|0,o|0)|0;o=I;p=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Pk(p|0,w|0,N|0,L|0)|0;w=I;p=Pk(s|0,C|0,N|0,L|0)|0;C=I;s=Pk(D|0,G|0,N|0,L|0)|0;G=I;D=jo(O|0,B|0,H|0,w|0)|0;w=I;H=jo(M|0,F|0,p|0,C|0)|0;C=I;p=jo(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=ho(D|0,I|0,s|0,w|0)|0;w=I;s=En(p|0,G|0,p|0,G|0)|0;G=ho(C|0,w|0,s|0,I|0)|0;s=I;w=jo(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=fo(Y|0,Z|0,1)|0;C=I;p=_;_=ko(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=wp(E|0,s|0,ba|0,ca|0)|0;G=ho(C|0,I|0,ba|0,ca|0)|0;C=ko(G|0,I|0,1)|0;G=I;p=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;p=ho(E|0,s|0,V|0,q|0)|0;D=I;H=ho(G|0,C|0,R|0,o|0)|0;K=I;x=Pk(p|0,D|0,N|0,L|0)|0;D=I;p=Pk(H|0,K|0,N|0,L|0)|0;K=I;H=jo(V|0,q|0,E|0,s|0)|0;s=I;E=jo(R|0,o|0,G|0,C|0)|0;C=I;G=Pk(H|0,s|0,N|0,L|0)|0;s=I;H=Pk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=jo(F|0,M|0,x|0,D|0)|0;J=I;P=jo(B|0,E|0,p|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=ho(O|0,I|0,T|0,J|0)|0;J=I;T=jo(F|0,M|0,G|0,s|0)|0;M=I;F=jo(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=ho(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)nq(B);else{E=O<<6;U=F+32&-32;wi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)nq(B);else{L=O<<6;N=F+32&-32;wi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function ub(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)nq(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)nq(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=jo(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=jo(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=jo(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=ho(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=ho(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=jo(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=jo(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=jo(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=ho(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=ho(Q|0,E|0,J|0,I|0)|0;J=I;E=jo(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=jo(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=En(N|0,L|0,c|0,m|0)|0;m=I;c=En(N|0,L|0,r|0,o|0)|0;o=I;r=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=ho(r|0,S|0,R|0,m|0)|0;m=I;R=ho(T|0,U|0,c|0,o|0)|0;o=I;c=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Pk(c|0,w|0,N|0,L|0)|0;w=I;c=Pk(s|0,C|0,N|0,L|0)|0;C=I;s=Pk(D|0,G|0,N|0,L|0)|0;G=I;D=jo(O|0,B|0,H|0,w|0)|0;w=I;H=jo(M|0,F|0,c|0,C|0)|0;C=I;c=jo(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=ho(D|0,I|0,s|0,w|0)|0;w=I;s=En(c|0,G|0,c|0,G|0)|0;G=ho(C|0,w|0,s|0,I|0)|0;s=I;w=jo(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=fo(Y|0,Z|0,1)|0;C=I;c=_;_=ko(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=wp(E|0,s|0,ba|0,ca|0)|0;G=ho(C|0,I|0,ba|0,ca|0)|0;C=ko(G|0,I|0,1)|0;G=I;c=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;c=ho(E|0,s|0,V|0,m|0)|0;D=I;H=ho(G|0,C|0,R|0,o|0)|0;K=I;x=Pk(c|0,D|0,N|0,L|0)|0;D=I;c=Pk(H|0,K|0,N|0,L|0)|0;K=I;H=jo(V|0,m|0,E|0,s|0)|0;s=I;E=jo(R|0,o|0,G|0,C|0)|0;C=I;G=Pk(H|0,s|0,N|0,L|0)|0;s=I;H=Pk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=jo(F|0,M|0,x|0,D|0)|0;J=I;P=jo(B|0,E|0,c|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=ho(O|0,I|0,T|0,J|0)|0;J=I;T=jo(F|0,M|0,G|0,s|0)|0;M=I;F=jo(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=ho(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)nq(B);else{E=O<<6;U=F+32&-32;wi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)nq(B);else{L=O<<6;N=F+32&-32;wi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(q)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function vb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Oa,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=ho(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=En(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=ho(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ti(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))Ti(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Ti(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))Ti(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Ti(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))Ti(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){Ti(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Ti(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Ti(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Ti(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}xb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;xb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}yb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;yb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}zb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;zb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ab(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ab(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}} -function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Bb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Bb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Cb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Cb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Db(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Db(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Eb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Eb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Fb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Fb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Gb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Gb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Hb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Hb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ib(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ib(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Jb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Jb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Kb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Kb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Lb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Lb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Mb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Mb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Nb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Nb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=jg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Xg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ob(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ob(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)nq(d);_=$;if(i>>>0<=Y>>>0)nq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Xg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{jg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{nq(p);break}case 22:{nq(p);break}case 26:{nq(p);break}case 32:{nq(p);break}case 38:{nq(A);break}case 40:{nq(A);break}case 46:{nq(A);break}case 47:{nq(A);break}case 51:{nq(p);break}case 57:{nq(R);break}case 59:{nq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)nq(S);else nq(S);break}case 66:{nq(S);break}case 72:{nq(Z);break}case 74:{nq(Z);break}case 84:return}}function Pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=En(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=ho(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=En(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=ho(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=ho(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=ho(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=ho(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=ho(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=ho(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}uj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=Oa,J=0,K=0,L=0,M=0,N=Oa;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(zh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=vn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14821;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Lh(o,g)|0)!=0):0)y=Ok(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Ok(c,g,-1)|0;if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=vn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14740;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Lh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=vn(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14760;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Lh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)br(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)br(f[g>>2]|0);if(!C){Wd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)nq(i);else{D=B<<2;c=vn(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;uj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=vn(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14740;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Lh(o,j)|0)!=0):0){t=Tg(o,j)|0;if((t|0)!=(G+24|0)){rj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(qq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)br(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Tg(B,j)|0,(H|0)!=(B+4|0)):0){rj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(qq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)br(f[g>>2]|0)}if((b[j+11>>0]|0)<0)br(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=vn(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14760;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Lh(d,g)|0)!=0):0)N=$(zk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(zk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)br(f[g>>2]|0);Kl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);br(C)}k=1;u=e;return k|0}function Sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;Ak(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){hj(g,0);ua=k}else{hj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)nq(J);return 0}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=m;break}else{q=p;r=g+-1|0;s=m;break}}else{m=f[n+28>>2]|0;q=f[m+-4>>2]|0;r=-1;s=m}while(0);n=f[s+(r<<2)>>2]|0;if((q|0)==-1|(n|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;k=1<<(q&31);m=f[g>>2]|0;if(!(m&k)){f[g>>2]=m|k;k=f[b>>2]|0;m=k+1|0;if((k|0)==-1)t=-1;else t=((m>>>0)%3|0|0)==0?k+-2|0:m;f[e>>2]=t;m=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=m;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Ti(k,d);else{f[g>>2]=m;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;m=t+4|0;k=f[m>>2]|0;if((k|0)==(f[t+8>>2]|0)){Ti(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[s>>2]|0;if(!(t&w)){f[s>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;s=f[x>>2]|0;if((s|0)==(f[t+8>>2]|0))Ti(t,d);else{f[s>>2]=w;f[x>>2]=s+4}s=a+40|0;x=f[s>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Ti(x,e);y=f[s>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;s=n;n=x;a:while(1){x=f[s+-4>>2]|0;f[b>>2]=x;q=(x>>>0)/3|0;if((x|0)!=-1?(x=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[x>>2]|0,(q&v|0)==0):0){f[x>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;x=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((x|0)==-1){h=0;z=79;break}else{A=x;B=v;C=q}b:while(1){q=(f[r>>2]|0)+(A>>>5<<2)|0;v=1<<(A&31);x=f[q>>2]|0;do if(!(x&v)){k=f[(f[B+40>>2]|0)+(A<<2)>>2]|0;if((k|0)==-1)D=1;else{m=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(m&31)&f[(f[B+12>>2]|0)+(m>>>5<<2)>>2]|0)!=0}f[q>>2]=x|v;m=f[b>>2]|0;f[e>>2]=m;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[t>>2]|0;f[d>>2]=k;g=f[m+4>>2]|0;m=g+4|0;p=f[m>>2]|0;if((p|0)==(f[g+8>>2]|0))Ti(g,d);else{f[p>>2]=k;f[m>>2]=p+4}p=f[w>>2]|0;m=p+4|0;k=f[m>>2]|0;if((k|0)==(f[p+8>>2]|0)){Ti(p,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[m>>2]=k+4;E=p}p=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[p>>2];f[p>>2]=(f[p>>2]|0)+1;p=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=p;z=59;break}m=k+1|0;do if((k|0)==-1)H=-1;else{g=((m>>>0)%3|0|0)==0?k+-2|0:m;if((g|0)==-1){H=-1;break}if(f[(f[p>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[p+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=p}else{F=C;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=60;break}x=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((x|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);f[d>>2]=K;x=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((x|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(x<<2)>>2]|0}while(0);x=(K|0)==-1;v=(K>>>0)/3|0;q=x?-1:v;m=(L|0)==-1;k=(L>>>0)/3|0;g=m?-1:k;do if(!x){M=f[j>>2]|0;if(f[M+(q>>>5<<2)>>2]&1<<(q&31)|0){z=69;break}if(m){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(m){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=O;J=G}v=(f[j>>2]|0)+(I>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(I&31);C=f[b>>2]|0;A=f[(f[J+28>>2]|0)+(C<<2)>>2]|0;if((A|0)==-1){h=0;z=79;break a}else B=J}do if((z|0)==60){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Ti(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];q=v+4|0;f[l>>2]=q;P=q;break}}while(0);if((z|0)==71){z=0;q=(f[l>>2]|0)+-4|0;f[l>>2]=q;P=q}Q=f[i>>2]|0;R=P}else{q=s+-4|0;f[l>>2]=q;Q=n;R=q}if((Q|0)==(R|0)){h=1;z=79;break}else{s=R;n=Q}}if((z|0)==79){u=c;return h|0}return 0}function Ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;Ak(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];cc(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){hj(g,0);ua=k}else{hj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)nq(J);return 0}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,Y=Oa,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=r-w|0;z=t+(w+4)|0;A=s}else{y=v;z=t;A=v}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=8;break}case 2:{B=A;C=8;break}case 1:{D=A;C=9;break}default:E=A}if((C|0)==8){C=0;D=h[z+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(D^h[z>>0],1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(al(K,t,v)|0))break b;else break;if((b[t>>0]|0)==(K&255)<<24>>24){K=G;P=O;Q=t;do{P=P+-1|0;K=K+1|0;if(!P)break b;Q=Q+1|0}while((b[K>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){O=f[F+4>>2]|0;if((O|0)!=(r|0)){if(O>>>0>>0)R=O;else R=(O>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}O=b[F+8+11>>0]|0;if(!((O<<24>>24<0?f[F+12>>2]|0:O&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;O=I<<24>>24<0;G=I&255;do if(((O?f[S+12>>2]|0:G)|0)==(v|0)){I=f[F>>2]|0;if(O)if(!(al(I,t,v)|0))break b;else break;if((b[t>>0]|0)==(I&255)<<24>>24){I=F;N=G;Q=t;do{N=N+-1|0;I=I+1|0;if(!N)break b;Q=Q+1|0}while((b[I>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Ei(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|$(Y*V)>>0<3|(w+-1&w|0)!=0)&1;v=~~$(W($(U/Y)))>>>0;fi(a,t>>>0>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=vn(40)|0;Vb(c,f[e+20>>2]|0);aa=Ec(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;si(c+8|0);br(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)br(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;br(Z)}if((b[a+11>>0]|0)<0)br(f[a>>2]|0);br(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)br(aa);br(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Ti(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Ti(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Ti(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Ti(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Ti(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0;J=D}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=N;J=G}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=J}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Ti(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Xb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=r;G=r&65535;F=r>>>16;H=F&65535;J=(r&65535^318)+239^F;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=vn(16)|0;G=H+8|0;d[G>>1]=r;d[G+2>>1]=r>>>16;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;Wh(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=En(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Eh(Z,la-Y|0,1284);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;br(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Eh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,x,e);x=vn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,E,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Ff(j,h);Ff(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;gg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)br(s);s=f[e+8>>2]|0;if(s|0)br(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)br(s);s=f[j+8>>2]|0;if(s|0)br(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];gg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;pg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);br(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)br(E);E=f[i+12>>2]|0;if(E|0)br(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)br(E);E=f[h+8>>2]|0;if(E|0)br(E);M=0;N=s;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ni(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>=5):0){O=31;break}jf(e,a,P);Q=1;R=f[e>>2]|0}else O=31;while(0);if((O|0)==31){Vd(e,a,P);Q=0;R=f[e>>2]|0}if(!R)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=M;M=vn(76)|0;f[k>>2]=N;yl(M,k,c);c=M;M=f[k>>2]|0;f[k>>2]=0;if(M|0)Va[f[(f[M>>2]|0)+4>>2]&127](M);M=a+188|0;k=f[M>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[M>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;M=f[a>>2]|0;if(M>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[M>>2]=c;f[a>>2]=M+4;U=l}else{Sg(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Zb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Eh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,x,e);x=vn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,E,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Ff(j,h);Ff(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;gg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)br(s);s=f[e+8>>2]|0;if(s|0)br(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)br(s);s=f[j+8>>2]|0;if(s|0)br(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];gg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;pg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);br(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)br(E);E=f[i+12>>2]|0;if(E|0)br(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)br(E);E=f[h+8>>2]|0;if(E|0)br(E);M=0;N=s;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;ig(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ni(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>=5):0){O=31;break}jf(e,a,P);Q=1;R=f[e>>2]|0}else O=31;while(0);if((O|0)==31){Vd(e,a,P);Q=0;R=f[e>>2]|0}if(!R)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=M;M=vn(76)|0;f[k>>2]=N;yl(M,k,c);c=M;M=f[k>>2]|0;f[k>>2]=0;if(M|0)Va[f[(f[M>>2]|0)+4>>2]&127](M);M=a+188|0;k=f[M>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[M>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;M=f[a>>2]|0;if(M>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[M>>2]=c;f[a>>2]=M+4;U=l}else{Sg(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=0;z=0;A=q;B=q;C=q;q=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(f[D>>2]|0,f[D+4>>2]|0,x+y|0,0)|0;D=ho(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(q|0)==0;a:do if(!G){H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)K=D;else K=(D>>>0)%(q>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0>>0)S=P;else S=(P>>>0)%(q>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[A+(y<<2)>>2]=f[R+16>>2];T=d;U=z;V=C;X=B;Y=A;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)_=D;else _=(D>>>0)%(q>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0>>0)ba=J;else ba=(J>>>0)%(q>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=vn(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=z;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(q>>>0);ea=$(n[k>>2]);do if(G|$(ea*da)>>0<3|(q+-1&q|0)!=0)&1;H=~~$(W($(ca/ea)))>>>0;_h(g,J>>>0>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=q;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=En(D|0,f[G+4>>2]|0,z|0,0)|0;kh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(y<<2)>>2]=z;T=D;U=z+1|0;V=D;X=D;Y=D}D=y+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=D;z=U;A=Y;B=X;C=V;q=f[m>>2]|0}if((U|0)==(ja|0))ka=X;else{X=a+84|0;if(!(b[X>>0]|0)){m=f[a+72>>2]|0;q=f[a+68>>2]|0;C=q;if((m|0)==(q|0))la=T;else{B=m-q>>2;q=0;do{m=C+(q<<2)|0;f[m>>2]=f[V+(f[m>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);la=T}}else{b[X>>0]=0;X=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[X>>2]|0;V=B-q>>2;C=q;q=B;if(ja>>>0<=V>>>0)if(ja>>>0>>0?(B=C+(ja<<2)|0,(B|0)!=(q|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{Eh(X,ja-V|0,1284);ma=f[l>>2]|0}V=f[j>>2]|0;if(!ma)la=V;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[V+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=V}}f[l>>2]=U;ka=la}if(!ka)na=U;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);br(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;br(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}br(ka);u=e;return na|0}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=r&255;F=(r&65535)>>>8;H=F&255;J=((r&255^318)+239<<16>>16^F)&65535;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=K&J;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=vn(16)|0;G=H+8|0;b[G>>0]=r;b[G+1>>0]=r>>8;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;bi(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(G>>>0>J>>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=En(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Eh(Z,la-Y|0,1284);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;br(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=0;L=K;b:while(1){K=J+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=L+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ti(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=V+2|0;Z=X;break}else{Y=V+-1|0;Z=X;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Z<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Y<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3852+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ti(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=R?-1:(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)zf(a,f[i>>2]|0,N,0,fa);nd(t,3);ga=f[e>>2]|0}else{if(!R){zf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}nd(t,5);ga=da}f[b>>2]=ga}if((K|0)>=(k|0))break a;J=K;L=f[n>>2]|0}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{zf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;nd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(L=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(L&31)&f[(f[G>>2]|0)+(L>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}L=f[i>>2]|0;f[d>>2]=N;J=ce(H,d)|0;f[J>>2]=L;L=f[j>>2]|0;f[L+-4>>2]=da;if((L|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[L>>2]=f[e>>2];f[j>>2]=L+4;break}}while(0);if((U|0)==54){U=0;nd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Oa,K=Oa,L=Oa,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Gi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;rj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Gi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=q-m|0;t=c+(m+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(m=f[r>>2]|0,(m|0)!=0):0){r=(o|0)==0;if(s){if(r){s=m;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=m;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(al(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=m;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=m;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(al(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){pi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;fi(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;br(O)}if((b[p>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)nq(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];vb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];vb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];vb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=jo(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=jo(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=jo(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=jo(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=jo(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=jo(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=En($|0,ia|0,ca|0,ba|0)|0;da=I;la=En(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=En(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=En($|0,ia|0,Q|0,L|0)|0;ia=I;$=En(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=En(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=jo(C|0,D|0,la|0,ma|0)|0;ma=ho(ca|0,I|0,ha|0,da|0)|0;da=I;ha=ho(na|0,fa|0,E|0,F|0)|0;fa=jo(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=jo(G|0,H|0,Q|0,ba|0)|0;ba=ho(ga|0,I|0,$|0,L|0)|0;L=I;Jh(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)nq(W);else if((V|0)==28)nq(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=jo(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=jo(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=jo(0,0,ua|0,ta|0)|0;i=ho((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=ho(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=ko(v|0,V|0,29)|0;Z=oa&7;oa=Pk(qa|0,pa|0,Z|0,0)|0;a=Pk(sa|0,ra|0,Z|0,0)|0;i=Pk(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=ko(v|0,V|0,29)|0;V=I;v=Pk(qa|0,pa|0,i|0,V|0)|0;pa=Pk(sa|0,ra|0,i|0,V|0)|0;ra=Pk(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=Oa,M=Oa,N=Oa,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Gi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;kh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;rj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Gi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}kh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=w-s|0;z=c+(s+4)|0;A=x}else{y=d;z=c;A=d}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=12;break}case 2:{B=A;C=12;break}case 1:{D=A;C=13;break}default:E=A}if((C|0)==12){D=h[z+1>>0]<<8^B;C=13}if((C|0)==13)E=X(D^h[z>>0],1540483477)|0;z=X(E>>>13^E,1540483477)|0;E=z>>>15^z;z=a+4|0;D=f[z>>2]|0;B=(D|0)==0;a:do if(!B){A=D+-1|0;y=(A&D|0)==0;if(!y)if(E>>>0>>0)F=E;else F=(E>>>0)%(D>>>0)|0;else F=E&A;x=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((x|0)!=0?(s=f[x>>2]|0,(s|0)!=0):0){x=(d|0)==0;if(y){if(x){y=s;while(1){w=f[y+4>>2]|0;if(!((w|0)==(E|0)|(w&A|0)==(F|0))){G=F;C=54;break a}w=b[y+8+11>>0]|0;if(!((w<<24>>24<0?f[y+12>>2]|0:w&255)|0))break a;y=f[y>>2]|0;if(!y){G=F;C=54;break a}}}else H=s;while(1){y=f[H+4>>2]|0;if(!((y|0)==(E|0)|(y&A|0)==(F|0))){G=F;C=54;break a}y=H+8|0;w=b[y+11>>0]|0;o=w<<24>>24<0;t=w&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){w=f[y>>2]|0;if(o)if(!(al(w,c,d)|0))break a;else break;if((b[c>>0]|0)==(w&255)<<24>>24){w=y;l=t;q=c;do{l=l+-1|0;w=w+1|0;if(!l)break a;q=q+1|0}while((b[w>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(x){A=s;while(1){t=f[A+4>>2]|0;if((t|0)!=(E|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(D>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}t=b[A+8+11>>0]|0;if(!((t<<24>>24<0?f[A+12>>2]|0:t&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else J=s;while(1){A=f[J+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0>>0)K=A;else K=(A>>>0)%(D>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}A=J+8|0;x=b[A+11>>0]|0;t=x<<24>>24<0;y=x&255;do if(((t?f[J+12>>2]|0:y)|0)==(d|0)){x=f[A>>2]|0;if(t)if(!(al(x,c,d)|0))break a;else break;if((b[c>>0]|0)==(x&255)<<24>>24){x=A;o=y;q=c;do{o=o+-1|0;x=x+1|0;if(!o)break a;q=q+1|0}while((b[x>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){pi(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(D>>>0);N=$(n[a+16>>2]);do if(B|$(N*M)>>0<3|(D+-1&D|0)!=0)&1;J=~~$(W($(L/N)))>>>0;fi(a,F>>>0>>0?J:F);F=f[z>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=D;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){D=a+8|0;f[f[g>>2]>>2]=f[D>>2];f[D>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=D;D=f[g>>2]|0;P=f[D>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=D;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;br(Q)}if((b[v>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function ec(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=0;B=0;C=r;D=r;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=En(f[r>>2]|0,f[r+4>>2]|0,y+A|0,0)|0;r=ho(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=(r^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(e>>>0>G>>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==r<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==r<<16>>16){Q=N;break c}}else{if(P>>>0>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[E+(A<<2)>>2]=f[Q+12>>2];S=z;T=B;U=D;V=C;X=E;break a}while(0);if(!H)if(e>>>0>G>>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=Y;_=e;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=Y;_=e;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=Y;_=e;aa=0;ba=40;break a}if((d[M+8>>1]|0)==r<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=Y;_=e;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=Y;_=e;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==r<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=vn(16)|0;d[L+8>>1]=r;f[L+12>>2]=B;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(_>>>0);ga=$(n[l>>2]);do if(aa|$(ga*fa)>>0<3|(_+-1&_|0)!=0)&1;F=~~$(W($(ea/ga)))>>>0;Xh(i,M>>>0>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(M>>>0>G>>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=_;ia=Z}while(0);G=(f[i>>2]|0)+(ia<<2)|0;r=f[G>>2]|0;if(!r){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[r>>2];ka=r;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;r=w;G=f[r>>2]|0;M=En(G|0,f[r+4>>2]|0,B|0,0)|0;kh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=B;S=G;T=B+1|0;U=G;V=G;X=G}G=A+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=G;B=T;C=V;D=U;E=X}if((T|0)==(la|0))ma=V;else{V=a+84|0;if(!(b[V>>0]|0)){X=f[a+72>>2]|0;E=f[a+68>>2]|0;D=E;if((X|0)==(E|0))na=S;else{C=X-E>>2;E=0;do{X=D+(E<<2)|0;f[X>>2]=f[U+(f[X>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=S}}else{b[V>>0]=0;V=a+68|0;S=a+72|0;C=f[S>>2]|0;E=f[V>>2]|0;U=C-E>>2;D=E;E=C;if(la>>>0<=U>>>0)if(la>>>0>>0?(C=D+(la<<2)|0,(C|0)!=(E|0)):0){f[S>>2]=E+(~((E+-4-C|0)>>>2)<<2);oa=la}else oa=la;else{Eh(V,la-U|0,1284);oa=f[m>>2]|0}U=f[k>>2]|0;if(!oa)na=U;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[U+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=U}}f[m>>2]=T;ma=na}if(!ma)pa=T;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);br(ma);pa=T}}else pa=0;T=f[i+8>>2]|0;if(T|0){ma=T;do{T=ma;ma=f[ma>>2]|0;br(T)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}br(ma);u=g;return pa|0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Oa,K=Oa,L=Oa,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Jd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];nf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Gi(j,4);l=f[j>>2]|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;rj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Gi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=q-l|0;t=c+(l+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(l=f[r>>2]|0,(l|0)!=0):0){r=(o|0)==0;if(s){if(r){s=l;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=l;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(al(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=l;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=l;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(al(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){pi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;fi(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;br(O)}if((b[p>>0]|0)<0)br(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;br(i);u=e;return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)nq(i);o=l<<2;p=vn(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;uj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=0;z=0;A=p;B=p;C=p;while(1){p=q;D=f[p>>2]|0;E=f[p+4>>2]|0;p=o;F=En(f[p>>2]|0,f[p+4>>2]|0,w+y|0,0)|0;p=ho(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+p>>0]|0;b[h>>0]=E;p=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(p>>>0>>0)G=p;else G=(p>>>0)%(d>>>0)|0;else G=D&p;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(p|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(p|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[C+(y<<2)>>2]=f[O+12>>2];Q=x;R=z;S=B;T=A;U=C;break a}while(0);if(!F)if(p>>>0>>0)V=p;else V=(p>>>0)%(d>>>0)|0;else V=D&p;J=f[H+(V<<2)>>2]|0;if(!J){X=V;Y=d;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=V;Y=d;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(p|0)|(L&D|0)==(V|0))){X=V;Y=d;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=V;Y=d;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(p|0)){if(K>>>0>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=V;Y=d;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=vn(16)|0;b[J+8>>0]=E;f[J+12>>2]=z;f[J+4>>2]=p;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(Y>>>0);ea=$(n[j>>2]);do if(Z|$(ea*da)>>0<3|(Y+-1&Y|0)!=0)&1;D=~~$(W($(ca/ea)))>>>0;ci(g,K>>>0>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&p;break}if(p>>>0>>0){fa=K;ga=p}else{fa=K;ga=(p>>>0)%(K>>>0)|0}}else{fa=Y;ga=X}while(0);p=(f[g>>2]|0)+(ga<<2)|0;E=f[p>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[p>>2]=s;p=f[J>>2]|0;if(p|0){K=f[p+4>>2]|0;p=fa+-1|0;if(p&fa)if(K>>>0>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&p;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;p=f[E>>2]|0;K=En(p|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[v>>2]>>2]|0)+K|0,h|0,p|0)|0;p=f[i>>2]|0;f[p+(y<<2)>>2]=z;Q=p;R=z+1|0;S=p;T=p;U=p}p=y+1|0;ja=f[k>>2]|0;if(p>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=p;z=R;A=T;B=S;C=U}if((R|0)==(ja|0))ka=T;else{T=a+84|0;if(!(b[T>>0]|0)){U=f[a+72>>2]|0;C=f[a+68>>2]|0;B=C;if((U|0)==(C|0))la=Q;else{A=U-C>>2;C=0;do{U=B+(C<<2)|0;f[U>>2]=f[S+(f[U>>2]<<2)>>2];C=C+1|0}while(C>>>0>>0);la=Q}}else{b[T>>0]=0;T=a+68|0;Q=a+72|0;A=f[Q>>2]|0;C=f[T>>2]|0;S=A-C>>2;B=C;C=A;if(ja>>>0<=S>>>0)if(ja>>>0>>0?(A=B+(ja<<2)|0,(A|0)!=(C|0)):0){f[Q>>2]=C+(~((C+-4-A|0)>>>2)<<2);ma=ja}else ma=ja;else{Eh(T,ja-S|0,1284);ma=f[k>>2]|0}S=f[i>>2]|0;if(!ma)la=S;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=S}}f[k>>2]=R;ka=la}if(!ka)na=R;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);br(ka);na=R}}else na=0;R=f[g+8>>2]|0;if(R|0){ka=R;do{R=ka;ka=f[ka>>2]|0;br(R)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}br(ka);u=e;return na|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Oa,ea=Oa,fa=Oa,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=0;A=0;B=q;C=q;D=q;while(1){q=r;E=f[q>>2]|0;F=f[q+4>>2]|0;q=p;G=En(f[q>>2]|0,f[q+4>>2]|0,x+z|0,0)|0;q=ho(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+q|0;q=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=q;F=q^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(q|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(q|0)){P=M;break c}}else{if(O>>>0>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[D+(z<<2)>>2]=f[P+12>>2];R=y;S=A;T=C;U=B;V=D;break a}while(0);if(!G)if(F>>>0>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=X;Z=d;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=X;Z=d;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=X;Z=d;_=0;aa=40;break a}if((f[L+8>>2]|0)==(q|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=X;Z=d;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=X;Z=d;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(q|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=vn(16)|0;f[K+8>>2]=q;f[K+12>>2]=A;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Z>>>0);fa=$(n[k>>2]);do if(_|$(fa*ea)>>0<3|(Z+-1&Z|0)!=0)&1;E=~~$(W($(da/fa)))>>>0;Ii(g,L>>>0>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Z;ha=Y}while(0);F=(f[g>>2]|0)+(ha<<2)|0;q=f[F>>2]|0;if(!q){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[q>>2];ja=q;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;q=v;F=f[q>>2]|0;L=En(F|0,f[q+4>>2]|0,A|0,0)|0;kh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(z<<2)>>2]=A;R=F;S=A+1|0;T=F;U=F;V=F}F=z+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=F;A=S;B=U;C=T;D=V}if((S|0)==(ka|0))la=U;else{U=a+84|0;if(!(b[U>>0]|0)){V=f[a+72>>2]|0;D=f[a+68>>2]|0;C=D;if((V|0)==(D|0))ma=R;else{B=V-D>>2;D=0;do{V=C+(D<<2)|0;f[V>>2]=f[T+(f[V>>2]<<2)>>2];D=D+1|0}while(D>>>0>>0);ma=R}}else{b[U>>0]=0;U=a+68|0;R=a+72|0;B=f[R>>2]|0;D=f[U>>2]|0;T=B-D>>2;C=D;D=B;if(ka>>>0<=T>>>0)if(ka>>>0>>0?(B=C+(ka<<2)|0,(B|0)!=(D|0)):0){f[R>>2]=D+(~((D+-4-B|0)>>>2)<<2);na=ka}else na=ka;else{Eh(U,ka-T|0,1284);na=f[l>>2]|0}T=f[j>>2]|0;if(!na)ma=T;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ma=T}}f[l>>2]=S;la=ma}if(!la)oa=S;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);br(la);oa=S}}else oa=0;S=f[g+8>>2]|0;if(S|0){la=S;do{S=la;la=f[la>>2]|0;br(S)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}br(la);u=e;return oa|0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)nq(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];vb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];vb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];vb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=jo(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=jo(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=jo(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=jo(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=jo(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=jo(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=En(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=En(da|0,_|0,aa|0,$|0)|0;ga=I;ha=En(ea|0,W|0,aa|0,$|0)|0;$=I;aa=En(K|0,ca|0,S|0,L|0)|0;ca=I;K=En(da|0,_|0,S|0,L|0)|0;L=I;S=En(ea|0,W|0,Y|0,X|0)|0;X=I;Y=jo(B|0,C|0,fa|0,ga|0)|0;ga=ho(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=ho(ha|0,$|0,D|0,E|0)|0;$=jo(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=jo(F|0,G|0,S|0,X|0)|0;X=ho(aa|0,I|0,K|0,L|0)|0;L=I;Rg(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)nq(Q);else if((R|0)==21)nq(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=jo(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=jo(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=jo(0,0,oa|0,na|0)|0;i=ho((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=ho(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=ko(t|0,R|0,29)|0;U=ia&7;ia=Pk(ka|0,ja|0,U|0,0)|0;a=Pk(ma|0,la|0,U|0,0)|0;i=Pk(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=ko(t|0,R|0,29)|0;R=I;t=Pk(ka|0,ja|0,i|0,R|0)|0;ja=Pk(ma|0,la|0,i|0,R|0)|0;la=Pk(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function jc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)nq(l);r=p<<2;s=vn(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;uj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=En(f[A>>2]|0,f[A+4>>2]|0,t+y|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=Af(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=ko(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=ko(B|0,D|0,48)|0;J=H&65535;K=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H&65535;H=f[s>>2]|0;E=(H|0)==0;a:do if(!E){L=H+-1|0;M=(L&H|0)==0;if(!M)if(K>>>0>>0)N=K;else N=(K>>>0)%(H>>>0)|0;else N=K&L;O=f[(f[i>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(K|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[M+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==J<<16>>16:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(K|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(H>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((d[M>>1]|0)==A<<16>>16?(d[M+2>>1]|0)==F<<16>>16:0)?(d[S+12>>1]|0)==G<<16>>16:0)?(d[M+6>>1]|0)==J<<16>>16:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;J=vn(20)|0;G=J+8|0;F=G;d[F>>1]=B;d[F+2>>1]=B>>>16;F=G+4|0;d[F>>1]=D;d[F+2>>1]=D>>>16;f[J+16>>2]=z;f[J+4>>2]=K;f[J>>2]=0;U=$(((f[p>>2]|0)+1|0)>>>0);V=$(H>>>0);X=$(n[m>>2]);do if(E|$(X*V)>>0<3|(H+-1&H|0)!=0)&1;G=~~$(W($(U/X)))>>>0;Uh(i,F>>>0>>0?G:F);F=f[s>>2]|0;G=F+-1|0;if(!(G&F)){Y=F;Z=G&K;break}if(K>>>0>>0){Y=F;Z=K}else{Y=F;Z=(K>>>0)%(F>>>0)|0}}else{Y=H;Z=Q}while(0);H=(f[i>>2]|0)+(Z<<2)|0;K=f[H>>2]|0;if(!K){f[J>>2]=f[v>>2];f[v>>2]=J;f[H>>2]=v;H=f[J>>2]|0;if(H|0){E=f[H+4>>2]|0;H=Y+-1|0;if(H&Y)if(E>>>0>>0)_=E;else _=(E>>>0)%(Y>>>0)|0;else _=E&H;aa=(f[i>>2]|0)+(_<<2)|0;R=44}}else{f[J>>2]=f[K>>2];aa=K;R=44}if((R|0)==44){R=0;f[aa>>2]=J}f[p>>2]=(f[p>>2]|0)+1}K=w;H=f[K>>2]|0;E=En(H|0,f[K+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+E|0,j|0,H|0)|0;H=f[l>>2]|0;f[H+(y<<2)>>2]=z;ba=z+1|0;ca=H}else{H=f[l>>2]|0;f[H+(y<<2)>>2]=f[C+16>>2];ba=z;ca=H}y=y+1|0;da=f[o>>2]|0;if(y>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))fa=ca;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[ca+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;w=f[ca>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(da>>>0<=x>>>0)if(da>>>0>>0?(w=y+(da<<2)|0,(w|0)!=(j|0)):0){f[ca>>2]=j+(~((j+-4-w|0)>>>2)<<2);ga=da}else ga=da;else{Eh(z,da-x|0,1284);ga=f[o>>2]|0}x=f[l>>2]|0;if(!ga)fa=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=x}}f[o>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[q>>2]|0;if((fa|0)!=(ea|0))f[q>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[i+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[i>>2]|0;f[i>>2]=0;if(!ea){u=g;return ha|0}br(ea);u=g;return ha|0}function kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=0;F=E;b:while(1){E=D+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=F+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ti(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ti(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=L?-1:(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)zf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){zf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((E|0)>=(k|0))break a;D=E;F=f[n>>2]|0}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{zf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ti(y,d);else{f[F>>2]=1;f[w>>2]=F+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(F=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(F&31)&f[(f[A>>2]|0)+(F>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}F=f[i>>2]|0;f[d>>2]=H;D=ce(B,d)|0;f[D>>2]=F;F=f[j>>2]|0;f[F+-4>>2]=U;if((F|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[F>>2]=f[e>>2];f[j>>2]=F+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ti(y,d);else{f[F>>2]=7;f[w>>2]=F+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=En(f[z>>2]|0,f[z+4>>2]|0,s+x|0,0)|0;z=ho(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=Gf(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=C&255;C=E&255;E=(((B&255^318)+239^J)+239^C)+239^G;G=f[r>>2]|0;K=(G|0)==0;a:do if(!K){L=G+-1|0;M=(L&G|0)==0;if(!M)if(E>>>0>>0)N=E;else N=(E>>>0)%(G>>>0)|0;else N=E&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(E|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((b[O>>0]|0)==A<<24>>24?(b[O+1>>0]|0)==D<<24>>24:0)?(b[O+2>>0]|0)==F<<24>>24:0)?(b[O+3>>0]|0)==H<<24>>24:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(E|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(G>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((b[M>>0]|0)==A<<24>>24?(b[M+1>>0]|0)==D<<24>>24:0)?(b[M+2>>0]|0)==F<<24>>24:0)?(b[M+3>>0]|0)==H<<24>>24:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;H=vn(16)|0;F=H+8|0;D=B&-16776961|C<<16|J<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;U=$(((f[o>>2]|0)+1|0)>>>0);V=$(G>>>0);X=$(n[l>>2]);do if(K|$(X*V)>>0<3|(G+-1&G|0)!=0)&1;F=~~$(W($(U/X)))>>>0;$h(g,D>>>0>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Y=D;Z=F&E;break}if(E>>>0>>0){Y=D;Z=E}else{Y=D;Z=(E>>>0)%(D>>>0)|0}}else{Y=G;Z=Q}while(0);G=(f[g>>2]|0)+(Z<<2)|0;E=f[G>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[G>>2]=t;G=f[H>>2]|0;if(G|0){K=f[G+4>>2]|0;G=Y+-1|0;if(G&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&G;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[H>>2]=f[E>>2];aa=E;R=44}if((R|0)==44){R=0;f[aa>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;G=f[E>>2]|0;K=En(G|0,f[E+4>>2]|0,y|0,0)|0;kh((f[f[w>>2]>>2]|0)+K|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(x<<2)>>2]=y;ba=y+1|0;ca=G}else{G=f[k>>2]|0;f[G+(x<<2)>>2]=f[z+12>>2];ba=y;ca=G}x=x+1|0;da=f[m>>2]|0;if(x>>>0>=da>>>0)break;else y=ba}if((ba|0)==(da|0))ea=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))fa=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);fa=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(da>>>0<=w>>>0)if(da>>>0>>0?(v=x+(da<<2)|0,(v|0)!=(i|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ga=da}else ga=da;else{Eh(y,da-w|0,1284);ga=f[m>>2]|0}w=f[k>>2]|0;if(!ga)fa=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=w}}f[m>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[p>>2]|0;if((fa|0)!=(ea|0))f[p>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}br(ea);u=e;return ha|0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=En(f[B>>2]|0,f[B+4>>2]|0,r+A|0,0)|0;B=ho(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));qm(i|0,D|0,16)|0;C=Wf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=vn(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=z;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|$(X*V)>>0<3|(J+-1&J|0)!=0)&1;M=~~$(W($(U/X)))>>>0;Yh(g,P>>>0>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0

>>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=En(J|0,f[H+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(A<<2)>>2]=z;ba=z+1|0;ca=J}else{J=f[j>>2]|0;f[J+(A<<2)>>2]=f[C+24>>2];ba=z;ca=J}A=A+1|0;da=f[l>>2]|0;if(A>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((A|0)==(h|0))fa=ca;else{x=A-h>>2;h=0;do{A=y+(h<<2)|0;f[A>>2]=f[ca+(f[A>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;x=f[ca>>2]|0;h=f[z>>2]|0;y=x-h>>2;A=h;h=x;if(da>>>0<=y>>>0)if(da>>>0>>0?(x=A+(da<<2)|0,(x|0)!=(h|0)):0){f[ca>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{Eh(z,da-y|0,1284);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=y}}f[l>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);br(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;br(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}br(ea);u=e;return ha|0}function nc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)nq(k);q=o<<2;r=vn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;uj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=En(f[B>>2]|0,f[B+4>>2]|0,s+A|0,0)|0;B=ho(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;qm(j|0,D|0,6)|0;D=eg(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=vn(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=z;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;J=~~$(W($(S/U)))>>>0;Vh(h,K>>>0>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=z;_=z+1|0;aa=G}else{G=f[k>>2]|0;f[G+(A<<2)>>2]=f[D+16>>2];_=z;aa=G}A=A+1|0;ba=f[m>>2]|0;if(A>>>0>=ba>>>0)break;else z=_}if((_|0)==(ba|0))ca=aa;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((A|0)==(i|0))da=aa;else{x=A-i>>2;i=0;do{A=y+(i<<2)|0;f[A>>2]=f[aa+(f[A>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);da=aa}}else{b[z>>0]=0;z=a+68|0;aa=a+72|0;x=f[aa>>2]|0;i=f[z>>2]|0;y=x-i>>2;A=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0>>0?(x=A+(ba<<2)|0,(x|0)!=(i|0)):0){f[aa>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{Eh(z,ba-y|0,1284);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=y}}f[m>>2]=_;ca=da}if(!ca)fa=_;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);br(ca);fa=_}}else fa=0;_=f[h+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;br(_)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}br(ca);u=g;return fa|0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0,_=0;g=a+8|0;Ph(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=_q(i)|0;uj(j|0,0,i|0)|0;k=_q(i)|0;uj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=p;B=z;C=n}else nq(i);while(1){z=f[C+(B<<2)>>2]|0;if(q)uj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=0;E=z;while(1){F=f[p+(E<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(B|0)&(K|0)<(B|0)&(J|0)<(B|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=D+1|0}else N=D}else N=D;J=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);E=(O|0)==(z|0)?-1:O;if((E|0)==-1)break;else D=N}D=X(B,e)|0;if(N){if(q){E=0;do{z=j+(E<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(D<<2)|0;z=c+(D<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=0;H=j;I=p;while(1){if((I|0)>0){p=0;do{K=f[H+(p<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(p<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(p<<2)>>2]=(K|0)<(F|0)?F:K;P=G}p=p+1|0}while((p|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;p=(f[E+(J<<2)>>2]|0)-(f[Q+(J<<2)>>2]|0)|0;G=z+(J<<2)|0;f[G>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){R=p-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+p|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}J=J+1|0;I=f[g>>2]|0;if((J|0)>=(I|0))break;else H=Q}}}else{T=D;S=30}}else{T=X(B,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,I=c+(T<<2)|0,J=f[g>>2]|0,(J|0)>0):0){z=0;E=b+((X(A+-2|0,e)|0)<<2)|0;G=J;while(1){if((G|0)>0){J=0;do{p=f[E+(J<<2)>>2]|0;K=f[r>>2]|0;if((p|0)>(K|0)){F=f[s>>2]|0;f[F+(J<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(J<<2)>>2]=(p|0)<(F|0)?F:p;U=K}J=J+1|0}while((J|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;J=(f[H+(z<<2)>>2]|0)-(f[V+(z<<2)>>2]|0)|0;K=I+(z<<2)|0;f[K>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){W=J-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+J|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}z=z+1|0;G=f[g>>2]|0;if((z|0)>=(G|0))break;else E=V}}if((A|0)<=2)break a;C=f[i>>2]|0;E=B+-1|0;if((f[l>>2]|0)-C>>2>>>0<=E>>>0)break;else{G=B;B=E;A=G}}nq(i)}while(0);if((e|0)>0)uj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(k);$q(j);return 1}i=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;l=a+20|0;V=a+24|0;a=0;W=j;U=e;while(1){if((U|0)>0){e=0;do{T=f[W+(e<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[A>>2]|0;f[R+(e<<2)>>2]=Q;Y=R}else{R=f[B>>2]|0;Q=f[A>>2]|0;f[Q+(e<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}e=e+1|0}while((e|0)<(f[g>>2]|0));Z=Y}else Z=f[A>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Z+(a<<2)>>2]|0)|0;Q=c+(a<<2)|0;f[Q>>2]=e;if((e|0)>=(f[C>>2]|0)){if((e|0)>(f[V>>2]|0)){_=e-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+e|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}a=a+1|0;U=f[g>>2]|0;if((a|0)>=(U|0))break;else W=Z}$q(k);$q(j);return 1}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0;g=a+8|0;Ph(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=_q(i)|0;uj(j|0,0,i|0)|0;k=_q(i)|0;uj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=p;C=A;D=n}else nq(i);while(1){A=f[D+(C<<2)>>2]|0;if(q)uj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=0;F=A;while(1){if(((f[p+(F>>>5<<2)>>2]&1<<(F&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(F<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(C|0)&(L|0)<(C|0)&(K|0)<(C|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=E+1|0}else M=E;K=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);F=(N|0)==(A|0)?-1:N;if((F|0)==-1)break;else E=M}E=X(C,e)|0;if(M){if(q){F=0;do{A=j+(F<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;F=F+1|0}while((F|0)!=(e|0))}F=b+(E<<2)|0;A=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=0;G=j;J=p;while(1){if((J|0)>0){p=0;do{L=f[G+(p<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(p<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(p<<2)>>2]=(L|0)<(I|0)?I:L;O=H}p=p+1|0}while((p|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;p=(f[F+(K<<2)>>2]|0)-(f[P+(K<<2)>>2]|0)|0;H=A+(K<<2)|0;f[H>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){Q=p-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+p|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}K=K+1|0;J=f[g>>2]|0;if((K|0)>=(J|0))break;else G=P}}}else{S=E;R=28}}else{S=X(C,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,J=c+(S<<2)|0,K=f[g>>2]|0,(K|0)>0):0){A=0;F=b+((X(B+-2|0,e)|0)<<2)|0;H=K;while(1){if((H|0)>0){K=0;do{p=f[F+(K<<2)>>2]|0;L=f[r>>2]|0;if((p|0)>(L|0)){I=f[s>>2]|0;f[I+(K<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(K<<2)>>2]=(p|0)<(I|0)?I:p;T=L}K=K+1|0}while((K|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;K=(f[G+(A<<2)>>2]|0)-(f[U+(A<<2)>>2]|0)|0;L=J+(A<<2)|0;f[L>>2]=K;if((K|0)>=(f[u>>2]|0)){if((K|0)>(f[w>>2]|0)){V=K-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+K|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}A=A+1|0;H=f[g>>2]|0;if((A|0)>=(H|0))break;else F=U}}if((B|0)<=2)break a;D=f[i>>2]|0;F=C+-1|0;if((f[l>>2]|0)-D>>2>>>0<=F>>>0)break;else{H=C;C=F;B=H}}nq(i)}while(0);if((e|0)>0)uj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){$q(k);$q(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;D=a+28|0;l=a+20|0;U=a+24|0;a=0;V=j;T=e;while(1){if((T|0)>0){e=0;do{S=f[V+(e<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[B>>2]|0;f[Q+(e<<2)>>2]=P;W=Q}else{Q=f[C>>2]|0;P=f[B>>2]|0;f[P+(e<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}e=e+1|0}while((e|0)<(f[g>>2]|0));Y=W}else Y=f[B>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Y+(a<<2)>>2]|0)|0;P=c+(a<<2)|0;f[P>>2]=e;if((e|0)>=(f[D>>2]|0)){if((e|0)>(f[U>>2]|0)){Z=e-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+e|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}a=a+1|0;T=f[g>>2]|0;if((a|0)>=(T|0))break;else V=Y}$q(k);$q(j);return 1}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;Ak(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){hj(g,0);ja=k}else{hj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)nq(J);return 0}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Eh(i,m-q|0,6296);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;nk(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{Eh(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)nq(e);t=vn(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)nq(g);else{A=vn(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;uj(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);br(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);br(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);br(ca)}h=1;u=c;return h|0}function sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Oa,S=Oa,T=Oa,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;qm(i|0,C|0,3)|0;C=kg(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=vn(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|$(T*S)>>0<3|(F+-1&F|0)!=0)&1;H=~~$(W($(R/T)))>>>0;ai(g,J>>>0>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=En(F|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=z+1|0;_=F}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=z;_=F}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=Z}if((Z|0)==(aa|0))ba=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);ca=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0>>0?(w=y+(aa<<2)|0,(w|0)!=(h|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{Eh(z,aa-x|0,1284);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ca=x}}f[l>>2]=Z;ba=ca}if(!ba)ea=Z;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);br(ba);ea=Z}}else ea=0;Z=f[g+8>>2]|0;if(Z|0){ba=Z;do{Z=ba;ba=f[ba>>2]|0;br(Z)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}br(ba);u=e;return ea|0}function tc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;Ak(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;nq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];cc(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=ho(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=ho(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=En(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Pk(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=En(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Pk(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){hj(g,0);ja=k}else{hj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)nq(J);return 0}function uc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)nq(j);p=m<<2;q=vn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;uj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+z|0,0)|0;A=ho(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));qm(i|0,C|0,12)|0;B=tg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=vn(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=y;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;K=~~$(W($(S/U)))>>>0;Zh(g,N>>>0>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,y|0,0)|0;kh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(z<<2)>>2]=y;_=y+1|0;aa=G}else{G=f[j>>2]|0;f[G+(z<<2)>>2]=f[B+20>>2];_=y;aa=G}z=z+1|0;ba=f[l>>2]|0;if(z>>>0>=ba>>>0)break;else y=_}if((_|0)==(ba|0))ca=aa;else{y=a+84|0;if(!(b[y>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((z|0)==(h|0))da=aa;else{w=z-h>>2;h=0;do{z=x+(h<<2)|0;f[z>>2]=f[aa+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);da=aa}}else{b[y>>0]=0;y=a+68|0;aa=a+72|0;w=f[aa>>2]|0;h=f[y>>2]|0;x=w-h>>2;z=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0>>0?(w=z+(ba<<2)|0,(w|0)!=(h|0)):0){f[aa>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{Eh(y,ba-x|0,1284);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=x}}f[l>>2]=_;ca=da}if(!ca)fa=_;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);br(ca);fa=_}}else fa=0;_=f[g+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;br(_)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}br(ca);u=e;return fa|0} -function ci(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Qd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Qd(a,e);return}function di(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;k=di(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Je(e,a+40|0,f[a+8>>2]|0,b,c);ij(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(b)}br(a);u=d;return 1}function fi(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Cd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Cd(a,e);return}function gi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Rn(g);if((lm(c,0)|0)!=-1?Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Va[f[(f[c>>2]|0)+20>>2]&127](c);qg(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)br(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;ug(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)br(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;br(c)}i=j;u=e;return i|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Fe(e,a+40|0,f[a+8>>2]|0,b,c);ij(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e)}br(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;br(c)}br(b)}br(a);u=d;return 1}function ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;br(d)}br(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);br(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;br(i)}br(j)}br(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}br(e);return}function ji(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Ie(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=0;p=a;do{a=f[p+(o<<2)>>2]|0;q=Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[h>>0]=q;q=l;a=f[q+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}o=o+1|0;p=f[j>>2]|0}while(o>>>0<(f[k>>2]|0)-p>>2>>>0);i=1;u=d;return i|0}function ki(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;yp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;yp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=vn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14864;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;_j(e,d,1);if((b[d+11>>0]|0)<0)br(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=vn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14885;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;_j(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}br(f[d>>2]|0);u=c;return}function li(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;br(d)}br(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);br(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;br(h)}br(i)}br(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;br(b);return}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function ni(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=vn(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14710;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Ok(a,d,-1)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);j=vn(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14725;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Ok(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}br(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function pi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=vn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Gi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function qi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;ld(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(ld(d,b),(f[e>>2]|0)>1):0){d=1;do{ld((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=0;g=a;while(1){a=g;di((f[a+(c*12|0)+4>>2]|0)-(f[a+(c*12|0)>>2]|0)>>2,b)|0;a=f[e>>2]|0;h=f[a+(c*12|0)>>2]|0;i=(f[a+(c*12|0)+4>>2]|0)-h>>2;if(!i)j=a;else{Mc(h,i,1,0,b)|0;j=f[e>>2]|0}c=c+1|0;if(c>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else g=j}return}function ri(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(Cl(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Sa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Sa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);kh(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function si(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;si(c+8|0);br(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)br(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;br(h)}if((b[g+11>>0]|0)<0)br(f[g>>2]|0);br(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)br(e);br(d)}if((b[a+11>>0]|0)>=0)return;br(f[a>>2]|0);return}function ti(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)Kn(h,14779)|0;pl(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;nj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)br(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}im(Bi(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}br(f[h>>2]|0);u=g;return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=lm(k,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ti(j,d);else{f[k>>2]=l;f[h>>2]=k+4}nl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0}function vi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1356;ii(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Va[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}br(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);br(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);br(g);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)nq(d);k=((b+-1|0)>>>5)+1|0;b=vn(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Dg(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)br(g);u=c;return}function xi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+136|0;c=f[b>>2]|0;if(c|0){d=a+140|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);br(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}br(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);br(g)}g=f[a+92>>2]|0;if(!g){xj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);br(g);xj(a);return}function yi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3808;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=-1;f[a+320>>2]=-1;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)nq(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;ap(k,16422);f[k>>2]=7412;va(k|0,1160,122)}else{m=vn(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)kh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;br(d);return}function Ai(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=ho(c|0,d|0,7,0)|0;d=Pk(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=ho(k|0,0,8,0)|0;m=e?l:k;l=ho(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(k>>>0>=l>>>0)if(k>>>0>l>>>0?(g=h+l|0,(g|0)!=(i|0)):0){f[c>>2]=g;n=h}else n=h;else{Gi(a,l-k|0);n=f[a>>2]|0}k=vn(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}br(a);j=1;return j|0}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Cg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=vn(40)|0;rj(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Oe(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Ci(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)nq(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=vn(p)|0;if(g|0)Ro(o,m,g)|0;if(i|0)Ro(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Ro(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)br(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Jp(o+p|0,l);u=k;return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){uj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)nq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;ap(d,16422);f[d>>2]=7412;va(d|0,1160,122)}else{d=vn(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;uj(d|0,0,b<<2|0)|0;if((i|0)>0)kh(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;br(h);return}function Ei(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=vn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;rj(g+8|0,e);h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Gi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function Fi(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=+d;l=j;j=i;while(1){if(j<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Ln(m,l+1|0,18949,g)|0;if((n|0)>-1)if(n>>>0>l>>>0)o=n;else break;else o=l<<1|1;Kj(c,o,0);l=o;j=b[h>>0]|0}Kj(c,n,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Gi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)nq(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=vn(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)kh(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;br(e);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/136|0;h=d;if(g>>>0>>0){Ge(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);br(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);br(h)}Oi(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Ii(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Sd(a,e);return}function Ji(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Ki(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Ln(l,k+1|0,18946,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Kj(c,n,0);k=n;j=b[h>>0]|0}Kj(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Li(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Di(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)nq(b);else if((m|0)==12)return d|0;return 0}function Mi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=30;h=g;i=16215;j=h+30|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+30>>0]=0;g=a+4|0;_j(g,e,c);if((b[e+11>>0]|0)<0)br(f[e>>2]|0);a=vn(32)|0;f[e>>2]=a;f[e+8>>2]=-2147483616;f[e+4>>2]=29;h=a;i=15902;j=h+29|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[a+29>>0]=0;_j(g,e,c);if((b[e+11>>0]|0)>=0){u=d;return}br(f[e>>2]|0);u=d;return}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=vn(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14710;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;$j(a,g,c);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);c=vn(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14725;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;$j(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}br(f[g>>2]|0);u=e;return}function Oi(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+12>>2]|0;if(b|0)br(b);b=f[a>>2]|0;if(!b)return;br(b);return}function Pi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1416;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;br(b)}br(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);br(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;br(d)}br(e)}br(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Qi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=Cn()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=19088;Sn(19038,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Sa[f[(f[270]|0)+16>>2]&31](1080,k,g)|0){k=f[g>>2]|0;g=Qa[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=19088;f[e+4>>2]=h;f[e+8>>2]=g;Sn(18952,e)}else{f[d>>2]=19088;f[d+4>>2]=h;Sn(18997,d)}}Sn(19076,b)}function Ri(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(Yq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=ir()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=ir()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Si(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}f[a+4>>2]=3764;b=f[a+24>>2]|0;if(b|0)br(b);b=f[a+12>>2]|0;if(!b)return;br(b);return}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)nq(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;ap(k,16422);f[k>>2]=7412;va(k|0,1160,122)}else{k=vn(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)kh(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;br(d);return}function Ui(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=en(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=g-(f[a+108>>2]|0)|0;g=i;if((i-j|0)<(k|0)){l=g;m=g}else{l=j+(k+-1)|0;m=g}}else{g=f[c>>2]|0;l=g;m=g}f[a+100>>2]=l;l=a+4|0;if(!m)n=f[l>>2]|0;else{g=f[l>>2]|0;l=a+108|0;f[l>>2]=m+1-g+(f[l>>2]|0);n=g}g=n+-1|0;if((d|0)==(h[g>>0]|0|0))o=d;else{b[g>>0]=d;o=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;o=-1}return o|0}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];mk(a+32|0,c+24|0);f[a>>2]=2448;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2504;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));hn(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];mk(a+32|0,c+24|0);f[a>>2]=2028;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2084;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));hn(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Xi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2504;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0)br(b);b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0)br(b);b=f[a+60>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Yi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Gj(d+12|0,f[c+44>>2]|0,g)|0)){g=vn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=16246;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;rj(a+4|0,e);if((b[e+11>>0]|0)<0)br(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((ni(f[c>>2]|0)|0)>9){d=0;return d|0}if((Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((ni(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=ni(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((ni(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function _i(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2084;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0)br(b);b=f[a+84>>2]|0;if(b|0)br(b);b=f[a+72>>2]|0;if(b|0)br(b);b=f[a+60>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function $i(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=6752;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=ir()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=Ch(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function aj(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3608;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+264|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;return}function bj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Jj(d)|0;if(i>>>0>4294967279)nq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=vn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;fm(c,g,e);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);h=1;u=a;return h|0}function cj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Jj(d)|0;if(i>>>0>4294967279)nq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=vn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;hm(c,g,e);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);h=1;u=a;return h|0}function dj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){dj(h);br(h)}if((b[e+11>>0]|0)<0)br(f[e>>2]|0);br(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)br(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;br(h)}if((b[e+11>>0]|0)<0)br(f[e>>2]|0);br(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;br(d);return}function ej(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=f[c+48>>2]|0;if(!h){i=vn(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=16062;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;rj(a+4|0,g);if((b[g+11>>0]|0)<0)br(f[g>>2]|0);u=e;return}g=f[c+52>>2]|0;if(!g){Pc(a,c,h,d);u=e;return}else{Eg(a,c,g,d);u=e;return}}function fj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;Ak(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=_q(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{Gn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Ij(g)}while((g|0)!=(a|0))}$q(d)}if((f[b>>2]|0)>0)h=0;else return;do{Ak((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!b){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=vn(52)|0;Vb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){dj(j);br(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}br(h)}dj(b);br(b);d=1;return d|0}function hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=ho(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<>2]|0,f[e+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;g=e;h=f[e>>2]|0}e=h+1|0;f[g>>2]=e;if((e|0)!=32)return;e=a+24|0;h=a+16|0;d=f[h>>2]|0;if((d|0)==(f[a+20>>2]|0))Ti(a+12|0,e);else{f[d>>2]=f[e>>2];f[h>>2]=d+4}f[g>>2]=0;f[e>>2]=0;return}function ij(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;br(a)}br(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;br(c)}br(d)}br(b);return}function jj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){Aj(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;bo(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Jp(m+d|0,g)}u=e;return a|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Bh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);br(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function lj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Qo(l,c,d)|0;b[g>>0]=0;Jp(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Ci(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function mj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);br(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);br(d)}Oi(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}br(e);return}function nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Ro(m+k|0,c,d)|0;j=k+d|0;if((b[h>>0]|0)<0)f[a+4>>2]=j;else b[h>>0]=j;b[g>>0]=0;Jp(m+j|0,g)}}else Ci(a,l,d-l+k|0,k,k,0,d,c);u=e;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=4076;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Va[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}br(e);return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=lm(e,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=ml(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ra[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!(to(a,b,c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=0;i=g;while(1){g=f[(f[h>>2]|0)+(a<<2)>>2]|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,b,f[i+(a<<2)>>2]|0)|0)){d=0;j=7;break}a=a+1|0;i=f[c>>2]|0;if(a>>>0>=(f[e>>2]|0)-i>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function rj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)nq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=vn(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Ro(i,g,h)|0;b[e>>0]=0;Jp(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function sj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=0;h=e;do{zg(h+(g*24|0)|0,b)|0;g=g+1|0;h=f[c>>2]|0}while(g>>>0<(((f[d>>2]|0)-h|0)/24|0)>>>0)}h=a+48|0;d=a+52|0;a=f[h>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{i=0;j=a}do{a=f[j+(i<<2)>>2]|0;di(a<<1^a>>31,b)|0;i=i+1|0;j=f[h>>2]|0}while(i>>>0<(f[d>>2]|0)-j>>2>>>0);return 1}function uj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function vj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(sp(a,f[c+8>>2]|0,g)|0)){if(sp(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else dn(0,c,d,e);while(0);return}function wj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if(!(Qa[f[(f[a>>2]|0)+64>>2]&127](a)|0)){e=0;u=c;return e|0}g=f[a+48>>2]|0;h=vn(32)|0;f[d>>2]=h;f[d+8>>2]=-2147483616;f[d+4>>2]=29;i=h;j=15902;k=i+29|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+29>>0]=0;h=ak(g,d,0)|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);if(!h){e=1;u=c;return e|0}Va[f[(f[a>>2]|0)+68>>2]&127](a);e=1;u=c;return e|0}function xj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<5)|0;do{e=e+-32|0;Ij(e)}while((e|0)!=(c|0))}$q(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);br(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)br(e);e=f[a+32>>2]|0;if(!e){Ij(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;br(e);Ij(a);return}function yj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3156;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0)br(b);b=f[a+64>>2]|0;if(b|0)br(b);b=f[a+52>>2]|0;if(b|0)br(b);b=f[a+40>>2]|0;if(!b)return;br(b);return}function zj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){Gi(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else Ig(a,b,b+c|0);while(0);c=a+24|0;a=c;b=ho(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Aj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)nq(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=vn(m)|0;if(g|0)Ro(l,j,g)|0;k=e-h-g|0;if(k|0)Ro(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)br(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function Bj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2792;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b)}b=f[a+76>>2]|0;if(b|0)br(b);b=f[a+64>>2]|0;if(b|0)br(b);b=f[a+52>>2]|0;if(b|0)br(b);b=f[a+40>>2]|0;if(!b)return;br(b);return}function Cj(a,b){a=a|0;b=b|0;if(!b)return;else{Cj(a,f[b>>2]|0);Cj(a,f[b+4>>2]|0);Hj(b+20|0,f[b+24>>2]|0);br(b);return}}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Zf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0>>0);return}function Ej(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=vn(32)|0,In(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;br(e)}br(g)}g=bm(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=En(e|0,g|0,c|0,0)|0;if(!(zj(h,0,i,I)|0)){j=0;return j|0}Rk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(sp(a,b,0)|0))if((b|0)!=0?(g=Gh(b,1104,1088,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ya[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;di((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){di(f[h+40>>2]|0,b)|0;mg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}mg(a,b,c)|0;d=1;return d|0}function Hj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Hj(a,f[c>>2]|0);Hj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)br(f[d>>2]|0);if((b[a+11>>0]|0)<0)br(f[a>>2]|0);br(c);return}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;sf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);br(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);br(c);u=b;return}function Jj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Jp(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Jp(a+c|0,g);b[h>>0]=c;break}else jj(a,c-k|0,d)|0;while(0);u=e;return}function Lj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;br(b)}br(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;br(c)}br(d)}br(a);return}function Mj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=e+4|0;f[g>>2]=c;c=a+4|0;a=vn(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=a;j=14821;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+17>>0]=0;$j(Id(c,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}br(f[h>>2]|0);u=e;return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=vn(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=dg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ji(a);br(a);return}function Pj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(gr(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Rj(c,a)|0;fr(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=Rj(c,a)|0}while(0);return j|0}function Qj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Rj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(Cl(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Sa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Sj(a,b){a=a|0;b=b|0;if(!b)return;else{Sj(a,f[b>>2]|0);Sj(a,f[b+4>>2]|0);Hj(b+20|0,f[b+24>>2]|0);br(b);return}}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)Ce(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}Qp(f[c+(e<<2)>>2]|0);d=1;return d|0}function Uj(a){a=a|0;if(!a)return;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function Vj(a){a=a|0;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);return}function Wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=sn(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=wp(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function Xj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(tq(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Pq(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Pq(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function Yj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;pl(g,d);h=Bi(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}gh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Zj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Me(g,c,e,e+4|0)|0;u=b;return 1}function _j(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;sl(g,d&1);d=Bi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}gh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function $j(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;sl(g,d);d=Bi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}gh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function ak(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Xj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function bk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(c>>>0>10){g=0;u=d;return g|0}h=vn(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=16374;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;$j(a,e,c);if((b[e+11>>0]|0)<0)br(f[e>>2]|0);g=1;u=d;return g|0}function ck(a){a=a|0;f[a>>2]=1216;Hj(a+28|0,f[a+32>>2]|0);Cj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function ek(a){a=a|0;f[a>>2]=3496;Hj(a+28|0,f[a+32>>2]|0);Sj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);return}function fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[17041+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=17129;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=17129;else{i=17129;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return yq(k,f[c+20>>2]|0)|0}function gk(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=ko(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+gk(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function hk(a){a=a|0;f[a>>2]=3496;Hj(a+28|0,f[a+32>>2]|0);Sj(a+16|0,f[a+20>>2]|0);Hj(a+4|0,f[a+8>>2]|0);br(a);return}function ik(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0.0,h=0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=(b|0)<-2044;e=b+2044|0;g=d?c*2.2250738585072014e-308:c;h=d?((e|0)>-1022?e:-1022):b+1022|0}else{g=a;h=b}else{c=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;g=e?c*8988465674311579538646525.0e283:c;h=e?((d|0)<1023?d:1023):b+-1023|0}b=fo(h+1023|0,0,52)|0;h=I;f[s>>2]=b;f[s+4>>2]=h;return +(g*+p[s>>3])}function jk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=0;g=a}else{b=1;return b|0}while(1){a=f[g+(e<<2)>>2]|0;e=e+1|0;if(!(Nl(a,a)|0)){b=0;h=5;break}g=f[c>>2]|0;if((e|0)>=((f[d>>2]|0)-g>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=0;i=e;while(1){e=f[i+(a<<2)>>2]|0;a=a+1|0;if(!(Sa[f[(f[e>>2]|0)+20>>2]&31](e,h,b)|0)){g=0;j=5;break}i=f[c>>2]|0;if(a>>>0>=(f[d>>2]|0)-i>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=0;h=a}while(1){a=f[h+(g<<2)>>2]|0;g=g+1|0;if(!(Ra[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}h=f[c>>2]|0;if(g>>>0>=(f[d>>2]|0)-h>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)nq(a);h=vn(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;kh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;ap(g,16422);f[g>>2]=7412;va(g|0,1160,122)}g=(f[e>>2]|0)-d|0;h=vn(b<<2)|0;if((g|0)>0)kh(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;br(d);return}function ok(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=0;h=d;while(1){d=f[h+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[d>>2]|0)+16>>2]&127](d,g)|0)){e=0;i=5;break}h=f[b>>2]|0;if(a>>>0>=(f[c>>2]|0)-h>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function pk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=vn(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14805;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;$j(a+4|0,e,c);if((b[e+11>>0]|0)>=0){u=d;return}br(f[e>>2]|0);u=d;return}function qk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function rk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)nq(a);e=vn(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=b;b=e;do{mk(b,c);b=(f[d>>2]|0)+12|0;f[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Wg(a+40|0,b);d=1;return d|0}return 0}function uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b){br(a);return}br(b);br(a);return}function vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Pi(a);br(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Pi(a);br(a);return}function wk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Sk(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b){br(a);return}br(b);br(a);return}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){br(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c);br(a);return}function zk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Oa,h=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+Xq(h));return $(g)}function Ak(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;sf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0)){g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}function Bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b)return;br(b);return}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){br(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);br(c);br(a);return}function Ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Pi(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Pi(a);return}function Fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Nc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{qm(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Gk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ra[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)br(b);b=f[a+20>>2]|0;if(!b)return;br(b);return}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;gn(e,0);i=+Sc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Jk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Kk(a){a=a|0;var b=0,c=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Lk(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Sa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Tg(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Xj(g)|0)+1|0)>>>0>1;return e|0}function Nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+84>>2]|0;if(!b){Qg(a);br(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b);Qg(a);br(a);return}function Ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Tg(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Xj(h)|0;return g|0}function Pk(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=jo(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return jo((Md(i,b,jo(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Qk(a){a=a|0;var b=0,c=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)br(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)$q(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);br(c);return}function Rk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else Gi(a,b-g|0);g=a+24|0;a=g;b=ho(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Tk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Tg(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Xj(g)|0;return e|0}function Uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);br(b)}b=f[a+84>>2]|0;if(!b){Qg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);br(b);Qg(a);return}function Vk(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Xk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;uj(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ip(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ip(a,g,h)}u=f;return}function Yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Zk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(sp(a,f[b+8>>2]|0,g)|0)sj(0,b,c,d,e);else{h=f[a+8>>2]|0;_a[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function _k(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2364;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function $k(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1944;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function al(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function bl(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function cl(a){a=a|0;var b=0,c=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function dl(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Kj(a,d,0);return}function el(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=+_g(e)*e;e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function fl(a){a=a|0;var b=0,c=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)br(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function hl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function il(a){a=a|0;var b=0,c=0;f[a>>2]=2364;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function jl(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(sp(a,f[b+8>>2]|0,0)|0)Jk(0,b,c,d);else{e=f[a+8>>2]|0;Ya[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function ll(a){a=a|0;var b=0,c=0;f[a>>2]=1944;Ij(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function ml(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ra[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function nl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ra[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function ol(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function pl(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;dl(d);Fi(a,d,b);No(d);u=c;return}function ql(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);br(b);return}function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;dl(d);Ki(a,d,b);No(d);u=c;return}function tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Fo(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function wl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function xl(a){a=a|0;var b=0;if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}b=(f[a+36>>2]|0)!=0;return b|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;lh(a,c);f[a>>2]=1472;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function zl(a){a=a|0;var b=0,c=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){br(a);return}$q(c);br(a);return}function Al(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Bl(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[17023+(c&15)>>0]|0|e;c=ko(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Cl(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Dl(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function El(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Fl(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Gl(a){a=a|0;yj(a);br(a);return}function Hl(a){a=a|0;var b=0,c=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){br(a);return}$q(c);br(a);return}function Il(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(g>>>0>>0){Gi(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+b|0;if((g|0)==(d|0))return;f[c>>2]=g;return}function Kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;_f(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Ll(a,b){a=a|0;b=b|0;var c=0;if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Ml(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+40>>2]=c;d=1;return d|0}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];e=vc(a,b,d)|0;u=c;return e|0}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Pl(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Ql(a){a=a|0;Bj(a);br(a);return}function Rl(a){a=a|0;var b=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;$q(a);return}function Sl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Pq(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Pq(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Tl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Ul(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Vl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=ko(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Wl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+60>>2]=c;d=1;return d|0}function Xl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){br(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function Yl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(sp(a,f[b+8>>2]|0,g)|0)sj(0,b,c,d,e);return}function Zl(a){a=a|0;var b=0,c=0;b=f[a+64>>2]|0;if(!b)return;c=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;f[a+60>>2]=(((f[c+4>>2]|0)-(f[c>>2]|0)>>2>>>0)/3|0)-(f[c+40>>2]|0);return}function _l(a){a=a|0;var b=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)br(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;$q(a);return}function $l(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;qh(a+20|0,g,d);u=c;return}function am(a){a=a|0;Xi(a);br(a);return}function bm(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function cm(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;qh(a+20|0,g,d);u=c;return}function dm(){var a=0,b=0;a=vn(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function em(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function fm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;bc(a,b,e);u=d;return}function gm(a){a=a|0;f[a>>2]=3784;Si(a+8|0);br(a);return}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;fc(a,b,e);u=d;return}function im(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;lj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Jj(b)|0;d=vn(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=Tp(d)|0;kh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function lm(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function mm(a){a=a|0;_i(a);br(a);return}function nm(a){a=a|0;f[a>>2]=3784;Si(a+8|0);return}function om(a){a=a|0;var b=0,c=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(sp(a,f[b+8>>2]|0,0)|0)Jk(0,b,c,d);return}function qm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else kh(a,c,d)|0;return a|0}function rm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b){br(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);br(b);br(a);return}function sm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b){br(a);return}br(b);br(a);return}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Sa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function um(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function vm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){oj(a);return}Va[f[(f[c>>2]|0)+4>>2]&127](c);oj(a);return}function wm(){var a=0,b=0;a=Cn()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Vo(f[b+12>>2]|0);Vo(cq()|0)}function xm(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 Rf(a,b,c,d,e,f,6)|0}function ym(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 Qf(a,b,c,d,e,f,4)|0}function zm(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 Xf(a,b,c,d,e,f,2)|0}function Am(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 Qf(a,b,c,d,e,f,3)|0}function Bm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b){br(a);return}br(b);br(a);return}function Cm(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 Xf(a,b,c,d,e,f,1)|0}function Dm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function Em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+_g(d);c=-(f+e*+_g(e));return +c}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function Gm(a){a=a|0;var b=0;Ko(a);f[a>>2]=3408;f[a+40>>2]=1260;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Hm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Im(a){a=a|0;var b=0,c=0;if(Eq(a)|0?(b=_p(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)br(b);return}function Jm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=ho(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Km(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 Rf(a,b,c,d,e,f,5)|0}function Lm(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 Rf(a,b,c,d,e,f,9)|0}function Mm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b)return;br(b);return}function Nm(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Pi(a);br(a);return}function Om(a){a=a|0;var b=0,c=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function Pm(a){a=a|0;var c=0;f[a>>2]=1416;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function Qm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b)return;br(b);return}function Rm(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Pi(a);return}function Sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Hg(a,b,c,d,e,f);return}function Tm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);oj(a);br(a);return}function Um(a,b){a=a|0;b=b|0;f[a>>2]=3496;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=0;return}function Vm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;kh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Xm(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b){br(a);return}br(b);br(a);return}function Ym(a,b){a=a|0;b=b|0;f[a>>2]=3496;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=b;return}function Zm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);br(b);return}function _m(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);br(b);return}function $m(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function an(a,b,c){a=a|0;b=b|0;c=c|0;return Sa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function bn(a){a=a|0;var c=0;Pl(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function cn(a){a=a|0;f[a>>2]=3324;Ij(a+88|0);br(a);return}function dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function en(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Lk(a)|0)==0?(Sa[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function fn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b){br(a);return}br(b);br(a);return}function gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function hn(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;return}function jn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Sm(a,b,c,d,e,f);return}function kn(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 xm(a,b,c,d,e,f)|0}function ln(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 ym(a,b,c,d,e,f)|0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function nn(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;br(b)}br(a);return}function on(a){a=a|0;f[a>>2]=2960;Ij(a+88|0);br(a);return}function pn(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 zm(a,b,c,d,e,f)|0}function qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Am(a,b,c,d,e,f)|0}function rn(a){a=a|0;f[a>>2]=3324;Ij(a+88|0);return}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Md(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function tn(a){a=a|0;var b=0;po(a);f[a>>2]=6308;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function un(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 Cm(a,b,c,d,e,f)|0}function vn(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0){c=a;break}a=aq()|0;if(!a){c=0;break}Ua[a&3]()}return c|0}function wn(a,b,c){a=a|0;b=b|0;c=c|0;dc(a,b,c);return}function xn(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b)return;br(b);return}function yn(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 Km(a,b,c,d,e,f)|0}function zn(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 Lm(a,b,c,d,e,f)|0}function An(a){a=a|0;f[a>>2]=2960;Ij(a+88|0);return}function Bn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=dr(f[a+60>>2]|0)|0;f[c>>2]=d;d=Fo(Ba(6,c|0)|0)|0;u=b;return d|0}function Cn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ka(20092,3)|0)){b=Ia(f[5024]|0)|0;u=a;return b|0}else Sn(19227,a);return 0}function Dn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)br(b);b=f[a+8>>2]|0;if(!b)return;br(b);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=jm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function Fn(a,b){a=a|0;b=b|0;lh(a,b);f[a>>2]=1356;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Gn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Hn(a){a=a|0;var b=0;b=u;u=u+16|0;yc(a);if(!(La(f[5024]|0,0)|0)){u=b;return}else Sn(19326,b)}function In(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Jn(a,b){a=a|0;b=b|0;return zg(a+40|0,b)|0}function Kn(a,b){a=a|0;b=b|0;return nj(a,b,Aq(b)|0)|0}function Ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=$i(a,b,c,g)|0;u=e;return d|0}function Mn(a,b){a=a|0;b=b|0;return Qj(a+40|0,b)|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sh(a,b,c,d)|0}function On(a){a=a|0;var b=0;f[a>>2]=4076;f[a+52>>2]=0;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uh(a,b,c,d)|0}function Qn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Rn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[1595]|0;Ch(b,a,d)|0;Pj(10,b)|0;Ca()}function Tn(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 Ta[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Un(a){a=a|0;var b=0;b=f[a+56>>2]|0;f[a+60>>2]=((f[b+100>>2]|0)-(f[b+96>>2]|0)|0)/12|0;return}function Vn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Xn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ra[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Yn(){var a=0;a=u;u=u+16|0;if(!(Ja(20096,125)|0)){u=a;return}else Sn(19276,a)}function Zn(a){a=a|0;f[a>>2]=1216;ki(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3472;return}function _n(a,b,c){a=a|0;b=b|0;c=c|0;Nj(a,b,c);return}function $n(a){a=a|0;df(a);br(a);return}function ao(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;_a[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function bo(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)uj(a|0,(zq(c)|0)&255|0,b|0)|0;return a|0}function co(a){a=a|0;return 4}function eo(a,b,c){a=a|0;b=b|0;c=c|0;return gj(0,b,c)|0}function fo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function io(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Fh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return De(a,b,c,d)|0}function mo(a){a=a|0;hf(a);br(a);return}function no(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return bj(a,b,c,d)|0}function oo(a){a=a|0;return 5}function po(a){a=a|0;var b=0;f[a>>2]=6348;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function qo(a){a=a|0;return 6}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cj(a,b,c,d)|0}function so(a,b){a=a|0;b=b|0;Mi(a,b);return}function to(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function uo(a,b,c){a=a|0;b=b|0;c=c|0;_n(a,b,c);return}function vo(a){a=a|0;var b=0;b=f[a+64>>2]|0;return Qa[f[(f[b>>2]|0)+28>>2]&127](b)|0}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,1);return}function xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,0);return}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zg(a,b,c,d)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;return gi(a,b,c)|0}function Ao(a){a=a|0;var b=0;b=f[a+64>>2]|0;return Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;return gj(a,b,c)|0}function Co(a,b,c){a=a|0;b=b|0;c=c|0;Ni(a+4|0,b,c);return}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return eo(a,b,c)|0}function Eo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Za[a&3](b|0,c|0,d|0,e|0,f|0)}function Fo(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=ir()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Go(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Ho(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Io(a,b){a=a|0;b=b|0;f[a+56>>2]=b;vp(a,b);return}function Jo(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Ko(a){a=a|0;Pm(a);f[a>>2]=1540;f[a+36>>2]=0;return}function Lo(a){a=a|0;On(a);f[a>>2]=3892;f[a+56>>2]=0;f[a+60>>2]=0;return}function Mo(a){a=a|0;var b=0;if(!a)b=0;else b=(Gh(a,1104,1192,0)|0)!=0&1;return b|0}function No(a){a=a|0;if((b[a+11>>0]|0)<0)br(f[a>>2]|0);return}function Oo(a){a=a|0;if(!a)return;Va[f[(f[a>>2]|0)+4>>2]&127](a);return}function Po(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ya[a&7](b|0,c|0,d|0,e|0)}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qm(a|0,b|0,c|0)|0;return a|0}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)kh(a|0,b|0,c|0)|0;return a|0}function So(a){a=a|0;f[a+52>>2]=f[(f[a+4>>2]|0)+80>>2];return}function To(a){a=a|0;f[a+52>>2]=f[(f[a+56>>2]|0)+80>>2];return}function Uo(a,b){a=a|0;b=b|0;return -1}function Vo(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();Sn(19379,b)}function Wo(a){a=a|0;Oh(a);br(a);return}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;ep(a,b,c);return}function Yo(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function Zo(a){a=a|0;Lo(a);f[a>>2]=3528;f[a+64>>2]=0;return}function _o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sa[a&31](b|0,c|0,d|0)|0}function $o(a,b){a=a|0;b=b|0;return (Lp(a,b)|0)<<24>>24|0}function ap(a,b){a=a|0;b=b|0;f[a>>2]=7392;km(a+4|0,b);return}function bp(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Ri(a,b,0)|0;return c|0}function cp(a,b){a=a|0;b=b|0;so(a,b);return}function dp(a){a=a|0;return f[a+12>>2]|0}function ep(a,b,c){a=a|0;b=b|0;c=c|0;Co(a,b,c);return}function fp(){var a=0;a=vn(64)|0;Pl(a);return a|0}function gp(a){a=a|0;if(!a)return;dj(a);br(a);return}function hp(a){a=a|0;return f[a+4>>2]|0}function ip(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))ri(b,c,a)|0;return}function jp(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 kp(){var a=0;a=vn(96)|0;bn(a);return a|0}function lp(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function mp(a){a=a|0;var b=0;b=(Yq()|0)+188|0;return fk(a,f[b>>2]|0)|0}function np(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function op(a,b){a=a|0;b=b|0;xp(a,b);return}function pp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function qp(){var a=0;a=vn(12)|0;Dp(a);return a|0}function rp(a){a=a|0;Pi(a);br(a);return}function sp(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function tp(a,b){a=a|0;b=b|0;var c=0;c=Hp(a|0)|0;return ((b|0)==0?a:c)|0}function up(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function vp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Md(a,b,c,d,0)|0}function xp(a,b){a=a|0;b=b|0;pk(a,b);return}function yp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function zp(a){a=a|0;return oq(a)|0}function Ap(){var a=0;a=vn(84)|0;po(a);return a|0}function Bp(a){a=a|0;vi(a);br(a);return}function Cp(a){a=a|0;return pq(a)|0}function Dp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Ep(a){a=a|0;f[a>>2]=7392;Im(a+4|0);return}function Fp(a,b,c){a=a|0;b=b|0;c=c|0;return Ra[a&127](b|0,c|0)|0}function Gp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Hp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ip(a){a=a|0;Lo(a);f[a>>2]=3972;return}function Jp(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Kp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Lp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Mp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Np(a){a=a|0;oj(a);br(a);return}function Op(a){a=a|0;if(!a)return;br(a);return}function Pp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function Qp(a){a=a|0;b[a+28>>0]=1;return}function Rp(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Sp(a,b){a=a|0;b=b|0;return 1}function Tp(a){a=a|0;return a+12|0}function Up(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;Wa[a&7](b|0,c|0)}function Wp(){var a=0;a=vn(48)|0;Fq(a);return a|0}function Xp(a){a=a|0;return vq(a+4|0)|0}function Yp(){var a=0;a=vn(108)|0;tn(a);return a|0}function Zp(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function _p(a){a=a|0;return a+-12|0}function $p(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function aq(){var a=0;a=f[5025]|0;f[5025]=a+0;return a|0}function bq(a){a=a|0;return f[a+56>>2]|0}function cq(){var a=0;a=f[1825]|0;f[1825]=a+0;return a|0}function dq(a){a=a|0;Qg(a);br(a);return}function eq(a){a=a|0;fr(a);br(a);return}function fq(a){a=a|0;return b[a+24>>0]|0}function gq(a,b){a=a|0;b=b|0;return 0}function hq(a){a=a|0;return f[a+48>>2]|0}function iq(a,b){a=a|0;b=b|0;return Qa[a&127](b|0)|0}function jq(a){a=a|0;return f[a+60>>2]|0}function kq(a){a=a|0;return f[a+28>>2]|0}function lq(a){a=a|0;sa(a|0)|0;wm()}function mq(a){a=a|0;Ep(a);br(a);return}function nq(a){a=a|0;Ca()}function oq(a){a=a|0;return f[a+40>>2]|0}function pq(a){a=a|0;return f[a+44>>2]|0}function qq(a,b){a=a|0;b=b|0;return $(+Ik(a,b,0))}function rq(a){a=a|0;return 3}function sq(a,b){a=a|0;b=b|0;u=a;v=b}function tq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function uq(a){a=a|0;return f[a+80>>2]|0}function vq(a){a=a|0;return f[a>>2]|0}function wq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function xq(a,b){a=a|0;b=b|0;Va[a&127](b|0)}function yq(a,b){a=a|0;b=b|0;return io(a,b)|0}function zq(a){a=a|0;return a&255|0}function Aq(a){a=a|0;return Jj(a)|0}function Bq(a,b){a=a|0;b=b|0;return +(+Ik(a,b,1))}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Dq(a){a=a|0;return 2}function Eq(a){a=a|0;return 1}function Fq(a){a=a|0;Zn(a);return}function Gq(a,b){a=+a;b=+b;return +(+em(a,b))}function Hq(a,b){a=+a;b=b|0;return +(+ik(a,b))}function Iq(a,b){a=+a;b=b|0;return +(+gk(a,b))}function Jq(){return 3}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Lq(){return 0}function Mq(){return -1}function Nq(){return vn(1)|0}function Oq(){return 4}function Pq(a){a=a|0;return (a+-48|0)>>>0<10|0}function Qq(){return 1}function Rq(){return 2}function Sq(a,b){a=+a;b=+b;return +(+xd(a,b))}function Tq(a,b){a=a|0;b=b|0;aa(1);return 0}function Uq(a){a=a|0;Ha()}function Vq(a){a=a|0;Ua[a&3]()}function Wq(){ua()}function Xq(a){a=a|0;return +(+Bq(a,0))}function Yq(){return lr()|0}function Zq(a,b){a=a|0;b=b|0;aa(6)}function _q(a){a=a|0;return vn(a)|0}function $q(a){a=a|0;br(a);return}function ar(a){a=a|0;u=a}function br(a){a=a|0;yc(a);return}function cr(a){a=a|0;I=a}function dr(a){a=a|0;return a|0}function er(a){a=a|0;aa(0);return 0}function fr(a){a=a|0;return}function gr(a){a=a|0;return 0}function hr(){return I|0}function ir(){return 20024}function jr(){return u|0}function kr(a){a=a|0;aa(5)}function lr(){return 6508}function mr(){aa(4)} +function tc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4886]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((h|0)==(f[4887]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}f[4884]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4882]=f[4882]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=h;n=i;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=19832+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[4883]=f[4883]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=h;n=i;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=e>>>0)return;a=e+4|0;b=f[a>>2]|0;if(!(b&1))return;if(!(b&2)){r=f[4887]|0;if((e|0)==(f[4888]|0)){s=(f[4885]|0)+n|0;f[4885]=s;f[4888]=m;f[m+4>>2]=s|1;if((m|0)!=(r|0))return;f[4887]=0;f[4884]=0;return}if((e|0)==(r|0)){r=(f[4884]|0)+n|0;f[4884]=r;f[4887]=l;f[m+4>>2]=r|1;f[l+r>>2]=r;return}r=(b&-8)+n|0;s=b>>>3;do if(b>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4882]=f[4882]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;i=19832+(c<<2)|0;if((e|0)==(f[i>>2]|0)){f[i>>2]=u;if(!u){f[4883]=f[4883]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;i=f[c>>2]|0;if(i|0){f[u+16>>2]=i;f[i+24>>2]=u}i=f[c+4>>2]|0;if(i|0){f[u+20>>2]=i;f[i+24>>2]=u}}}while(0);f[m+4>>2]=r|1;f[l+r>>2]=r;if((m|0)==(f[4887]|0)){f[4884]=r;return}else x=r}else{f[a>>2]=b&-2;f[m+4>>2]=n|1;f[l+n>>2]=n;x=n}n=x>>>3;if(x>>>0<256){l=19568+(n<<1<<2)|0;b=f[4882]|0;a=1<>2]|0}f[y>>2]=m;f[z+12>>2]=m;f[m+8>>2]=z;f[m+12>>2]=l;return}l=x>>>8;if(l)if(x>>>0>16777215)A=31;else{z=(l+1048320|0)>>>16&8;y=l<>>16&4;a=y<>>16&2;b=14-(l|z|y)+(a<>>15)|0;A=x>>>(b+7|0)&1|b<<1}else A=0;b=19832+(A<<2)|0;f[m+28>>2]=A;f[m+20>>2]=0;f[m+16>>2]=0;y=f[4883]|0;a=1<>>1)|0);l=f[b>>2]|0;while(1){if((f[l+4>>2]&-8|0)==(x|0)){B=73;break}C=l+16+(z>>>31<<2)|0;n=f[C>>2]|0;if(!n){B=72;break}else{z=z<<1;l=n}}if((B|0)==72){f[C>>2]=m;f[m+24>>2]=l;f[m+12>>2]=m;f[m+8>>2]=m;break}else if((B|0)==73){z=l+8|0;t=f[z>>2]|0;f[t+12>>2]=m;f[z>>2]=m;f[m+8>>2]=t;f[m+12>>2]=l;f[m+24>>2]=0;break}}else{f[4883]=y|a;f[b>>2]=m;f[m+24>>2]=b;f[m+12>>2]=m;f[m+8>>2]=m}while(0);m=(f[4890]|0)+-1|0;f[4890]=m;if(!m)D=19984;else return;while(1){m=f[D>>2]|0;if(!m)break;else D=m+8|0}f[4890]=-1;return}function uc(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+56|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;ai(j,f[l>>2]|0)|0;ai(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=tn(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15958;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=Yj(m,e,0)|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,h,h+1|0)|0}jf(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=m;r=0;while(1){s=f[q+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(r*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=x;z=w;A=t}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Fe(t,e,h,o)|0;t=f[l>>2]|0;w=t+16|0;y=f[w+4>>2]|0;z=f[w>>2]|0;A=t}b[h>>0]=f[s+(r*12|0)+4>>2];if((y|0)>0|(y|0)==0&z>>>0>0){B=y;C=z;D=A}else{f[g>>2]=f[A+4>>2];f[e>>2]=f[g>>2];Fe(A,e,h,p)|0;t=f[l>>2]|0;w=t+16|0;B=f[w+4>>2]|0;C=f[w>>2]|0;D=t}b[h>>0]=f[s+(r*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Fe(D,e,h,n)|0}s=r+1|0;if(s>>>0>=j>>>0)break;q=f[i>>2]|0;r=s}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=m;C=0;while(1){B=f[D+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(C*12|0)>>2];A=p+16|0;z=f[A>>2]|0;y=f[A+4>>2]|0;if((y|0)>0|(y|0)==0&z>>>0>0){E=y;F=z;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Fe(p,e,h,n)|0;p=f[l>>2]|0;z=p+16|0;E=f[z+4>>2]|0;F=f[z>>2]|0;G=p}d[h>>1]=f[B+(C*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Fe(G,e,h,q)|0;p=f[l>>2]|0;z=p+16|0;H=f[z+4>>2]|0;I=f[z>>2]|0;J=p}d[h>>1]=f[B+(C*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Fe(J,e,h,r)|0}B=C+1|0;if(B>>>0>=j>>>0)break;D=f[i>>2]|0;C=B}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=m;L=0}else{u=c;return 1}while(1){a=f[K+96>>2]|0;ai(f[a+(L*12|0)>>2]|0,f[l>>2]|0)|0;ai(f[a+(L*12|0)+4>>2]|0,f[l>>2]|0)|0;ai(f[a+(L*12|0)+8>>2]|0,f[l>>2]|0)|0;a=L+1|0;if(a>>>0>=j>>>0)break;K=f[i>>2]|0;L=a}u=c;return 1}if(!C){u=c;return 1}C=m;m=0;while(1){L=(f[C+96>>2]|0)+(m*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Fe(K,e,L,L+12|0)|0}L=m+1|0;if(L>>>0>=j>>>0)break;C=f[i>>2]|0;m=L}u=c;return 1}function vc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Ja,w=Ja,x=Ja,y=Ja,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=Ja,P=0,Q=Ja,R=Ja,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;s=-1}else{r=q;s=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;s=-1}c=f[a+32>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Cq(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=s>>>0)Cq(c);c=f[p+(s<<2)>>2]|0;s=(m|0)<(e|0);if(!(s&(c|0)<(e|0))){do if(s)t=m;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}q=f[a+48>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return}while(0);s=a+52|0;p=f[s>>2]|0;r=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+r<<2)>>2];t=t+1|0}while((t|0)<(f[s>>2]|0));u=g;return}s=a+52|0;t=f[s>>2]|0;r=X(t,m)|0;v=$(f[d+(r<<2)>>2]|0);w=$(f[d+(r+1<<2)>>2]|0);r=X(t,c)|0;x=$(f[d+(r<<2)>>2]|0);y=$(f[d+(r+1<<2)>>2]|0);if(!(x!=v|y!=w)){r=f[a+48>>2]|0;f[r>>2]=~~x;f[r+4>>2]=~~y;u=g;return}r=a+44|0;t=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];gb(q,h,z,j)|0;z=f[(f[r>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))A=f[(f[m+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[m+24>>0]|0;f[h>>2]=f[i>>2];gb(m,h,A,k)|0;A=f[(f[r>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);O=$(y-N);x=$(H+v);w=$(y+N);N=$(H-v);j=X(f[s>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-w);v=$(H-N);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;s=f[e>>2]|0;k=f[a+64>>2]|0;l=(s|0)==(k<<5|0);if(j){do if(l)if((s+1|0)<0)Cq(d);else{j=k<<6;B=s+32&-32;si(d,s>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=s;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((s+1|0)<0)Cq(d);else{P=k<<6;j=s+32&-32;si(d,s>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=s;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=w;R=N}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function wc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=Ja,x=Ja,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=0,P=Ja,Q=Ja,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+32>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Cq(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Cq(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+52|0;p=f[q>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[q>>2]|0));u=g;return}q=a+52|0;s=f[q>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,r)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];gb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];gb(r,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$(t+$(G*M));t=$(G*N);G=$(v+$(w*M));M=$(w*N);N=$(x-M);w=$(G+t);v=$(x+M);M=$(G-t);j=X(f[q>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-v);t=$(G-M);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;q=f[e>>2]|0;k=f[a+64>>2]|0;l=(q|0)==(k<<5|0);if(j){do if(l)if((q+1|0)<0)Cq(d);else{j=k<<6;A=q+32&-32;si(d,q>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=q;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((q+1|0)<0)Cq(d);else{O=k<<6;j=q+32&-32;si(d,q>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=q;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=v;Q=M}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function xc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Ja,w=Ja,x=Ja,y=Ja,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=Ja,P=0,Q=Ja,R=Ja,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;s=-1}else{r=q;s=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;s=-1}c=f[a+52>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Cq(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=s>>>0)Cq(c);c=f[p+(s<<2)>>2]|0;s=(m|0)<(e|0);if(!(s&(c|0)<(e|0))){do if(s)t=m;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}q=f[a+68>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return}while(0);s=a+72|0;p=f[s>>2]|0;r=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+r<<2)>>2];t=t+1|0}while((t|0)<(f[s>>2]|0));u=g;return}s=a+72|0;t=f[s>>2]|0;r=X(t,m)|0;v=$(f[d+(r<<2)>>2]|0);w=$(f[d+(r+1<<2)>>2]|0);r=X(t,c)|0;x=$(f[d+(r<<2)>>2]|0);y=$(f[d+(r+1<<2)>>2]|0);if(!(x!=v|y!=w)){r=f[a+68>>2]|0;f[r>>2]=~~x;f[r+4>>2]=~~y;u=g;return}r=a+64|0;t=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];gb(q,h,z,j)|0;z=f[(f[r>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))A=f[(f[m+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[m+24>>0]|0;f[h>>2]=f[i>>2];gb(m,h,A,k)|0;A=f[(f[r>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);O=$(y-N);x=$(H+v);w=$(y+N);N=$(H-v);j=X(f[s>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-w);v=$(H-N);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;s=f[e>>2]|0;k=f[a+84>>2]|0;l=(s|0)==(k<<5|0);if(j){do if(l)if((s+1|0)<0)Cq(d);else{j=k<<6;B=s+32&-32;si(d,s>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=s;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((s+1|0)<0)Cq(d);else{P=k<<6;j=s+32&-32;si(d,s>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=s;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=w;R=N}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function yc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=Ja,x=Ja,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=0,P=Ja,Q=Ja,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+52>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Cq(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Cq(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+72|0;p=f[q>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[q>>2]|0));u=g;return}q=a+72|0;s=f[q>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,r)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];gb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];gb(r,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$(t+$(G*M));t=$(G*N);G=$(v+$(w*M));M=$(w*N);N=$(x-M);w=$(G+t);v=$(x+M);M=$(G-t);j=X(f[q>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-v);t=$(G-M);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;q=f[e>>2]|0;k=f[a+84>>2]|0;l=(q|0)==(k<<5|0);if(j){do if(l)if((q+1|0)<0)Cq(d);else{j=k<<6;A=q+32&-32;si(d,q>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=q;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((q+1|0)<0)Cq(d);else{O=k<<6;j=q+32&-32;si(d,q>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=q;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=v;Q=M}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ja,F=Ja,G=Ja,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=g+(j+4)|0;m=e;o=d-j|0}else{l=g;m=i;o=i}switch(o|0){case 3:{p=h[l+2>>0]<<16^m;q=6;break}case 2:{p=m;q=6;break}case 1:{r=m;q=7;break}default:s=m}if((q|0)==6){r=h[l+1>>0]<<8^p;q=7}if((q|0)==7)s=X(h[l>>0]^r,1540483477)|0;r=X(s>>>13^s,1540483477)|0;s=r>>>15^r;r=a+4|0;l=f[r>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;o=(m&l|0)==0;if(!o)if(s>>>0>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&m;j=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((j|0)!=0?(d=f[j>>2]|0,(d|0)!=0):0){j=(i|0)==0;if(o){if(j){o=d;while(1){e=f[o+4>>2]|0;if(!((e|0)==(s|0)|(e&m|0)==(t|0))){u=t;break a}e=b[o+8+11>>0]|0;if(!((e<<24>>24<0?f[o+12>>2]|0:e&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else x=d;b:while(1){o=f[x+4>>2]|0;if(!((o|0)==(s|0)|(o&m|0)==(t|0))){u=t;break a}o=x+8|0;e=b[o+11>>0]|0;k=e<<24>>24<0;y=e&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){e=f[o>>2]|0;if(k)if(!(Yk(e,g,i)|0)){v=x;q=63;break b}else break;if((e&255)<<24>>24==(b[g>>0]|0)){e=y;z=o;A=g;do{e=e+-1|0;z=z+1|0;if(!e){v=x;q=63;break b}A=A+1|0}while((b[z>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(j){m=d;while(1){o=f[m+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)B=o;else B=(o>>>0)%(l>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[m+8+11>>0]|0;if(!((o<<24>>24<0?f[m+12>>2]|0:o&255)|0)){v=m;break}m=f[m>>2]|0;if(!m){u=t;break a}}w=v+20|0;return w|0}else C=d;c:while(1){m=f[C+4>>2]|0;if((m|0)!=(s|0)){if(m>>>0>>0)D=m;else D=(m>>>0)%(l>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}m=C+8|0;j=b[m+11>>0]|0;o=j<<24>>24<0;y=j&255;do if(((o?f[C+12>>2]|0:y)|0)==(i|0)){j=f[m>>2]|0;if(o)if(!(Yk(j,g,i)|0)){v=C;q=63;break c}else break;if((j&255)<<24>>24==(b[g>>0]|0)){j=y;k=m;A=g;do{j=j+-1|0;k=k+1|0;if(!j){v=C;q=63;break c}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=tn(24)|0;nj(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(l>>>0);G=$(n[a+16>>2]);do if(p|E>$(F*G)){C=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;g=~~$(W($(E/G)))>>>0;ci(a,C>>>0>>0?g:C);C=f[r>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=l;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){l=a+8|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[u>>2]=l;l=f[t>>2]|0;if(l|0){u=f[l+4>>2]|0;l=H+-1|0;if(l&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&l;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.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,J=0,K=0,L=0.0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Ji(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=0;q=0;r=k;s=l;t=0;u=0;v=1.0;w=0;x=0.0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Ji(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Ji(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Ji(a)|0;z=go(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=0;o=0;p=z;q=B;r=A;s=1;t=1;u=0;v=1.0;w=0;x=0.0;break}}}else{n=0;o=0;p=0;q=0;r=y;s=l;t=1;u=0;v=1.0;w=0;x=0.0}}while(1){l=r+-48|0;y=(r|0)==46;if(l>>>0>=10?!(y|((r|32)+-97|0)>>>0<6):0){C=r;break}if(y)if(!t){D=o;E=n;F=o;G=n;H=s;J=1;K=u;L=v;M=w;N=x}else{C=46;break}else{y=(r|0)>57?(r|32)+-87|0:l;do if(!((n|0)<0|(n|0)==0&o>>>0<8))if((n|0)<0|(n|0)==0&o>>>0<14){O=v*.0625;P=u;Q=O;R=w;S=x+O*+(y|0);break}else{l=(u|0)!=0|(y|0)==0;P=l?u:1;Q=v;R=w;S=l?x:x+v*.5;break}else{P=u;Q=v;R=y+(w<<4)|0;S=x}while(0);y=go(o|0,n|0,1,0)|0;D=p;E=q;F=y;G=I;H=1;J=t;K=P;L=Q;M=R;N=S}y=f[g>>2]|0;if(y>>>0<(f[j>>2]|0)>>>0){f[g>>2]=y+1;n=G;o=F;p=D;q=E;r=h[y>>0]|0;s=H;t=J;u=K;v=L;w=M;x=N;continue}else{n=G;o=F;p=D;q=E;r=Ji(a)|0;s=H;t=J;u=K;v=L;w=M;x=N;continue}}do if(!s){M=f[j>>2]|0;K=(M|0)!=0;if(K)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(K)f[g>>2]=(f[g>>2]|0)+-1;if(!((t|0)==0|(M|0)==0))f[g>>2]=(f[g>>2]|0)+-1}else dn(a,0);T=+(d|0)*0.0}else{M=(t|0)==0;K=M?o:p;u=M?n:q;if((n|0)<0|(n|0)==0&o>>>0<8){M=o;J=n;H=w;while(1){r=H<<4;M=go(M|0,J|0,1,0)|0;J=I;if(!((J|0)<0|(J|0)==0&M>>>0<8)){U=r;break}else H=r}}else U=w;if((C|32|0)==112){H=Ie(a,e)|0;M=I;if((H|0)==0&(M|0)==-2147483648){if(!e){dn(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=H;W=M}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}M=eo(K|0,u|0,2)|0;H=go(M|0,I|0,-32,-1)|0;M=go(H|0,I|0,V|0,W|0)|0;H=I;if(!U){T=+(d|0)*0.0;break}J=0-c|0;r=((J|0)<0)<<31>>31;if((H|0)>(r|0)|(H|0)==(r|0)&M>>>0>J>>>0){J=er()|0;f[J>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=c+-106|0;r=((J|0)<0)<<31>>31;if((H|0)<(r|0)|(H|0)==(r|0)&M>>>0>>0){J=er()|0;f[J>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){J=M;r=H;E=U;N=x;while(1){D=!(N>=.5);F=E<<1|(D^1)&1;L=N+(D?N:N+-1.0);D=go(J|0,r|0,-1,-1)|0;G=I;if((F|0)>-1){J=D;r=G;E=F;N=L}else{X=D;Y=G;Z=F;_=L;break}}}else{X=M;Y=H;Z=U;_=x}E=((b|0)<0)<<31>>31;r=io(32,0,c|0,((c|0)<0)<<31>>31|0)|0;J=go(r|0,I|0,X|0,Y|0)|0;r=I;if((E|0)>(r|0)|(E|0)==(r|0)&b>>>0>J>>>0)if((J|0)>0){$=J;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){N=+(d|0);ca=+Wq(+$j(1.0,ba),N);da=aa;ea=N}J=(Z&1|0)==0&(_!=0.0&(da|0)<32);N=ea*(J?0.0:_)+(ca+ea*+(((J&1)+Z|0)>>>0))-ca;if(!(N!=0.0)){J=er()|0;f[J>>2]=34}T=+Xq(N,X)}while(0);return +T}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Ch(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)pr(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)pr(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=d;d=0;do{f[i>>2]=(d>>>0)/3|0;f[h>>2]=f[i>>2];r=ak(q,h)|0;q=f[l>>2]|0;do if(!r){s=f[(f[q+12>>2]|0)+(d<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(d>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(d&31);t=d+1|0;v=((t>>>0)%3|0|0)==0?d+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[q>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((v|0)==-1)x=-1;else x=f[(f[q>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=d>>>0){v=d+1|0;t=((v>>>0)%3|0|0)==0?d+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(d>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(d&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?d+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[q>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((B|0)==-1)Q=-1;else Q=f[(f[q>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[q>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[q>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);d=d+1|0}while(d>>>0<(f[q+4>>2]|0)-(f[q>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Mc(a,c,e);j=1;u=g;return j|0}else{id(a,0,0);j=1;u=g;return j|0}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=f[b>>2]|0;o=n;while(1){if((k|0)==(f[c>>2]|0))break;n=o+16|0;f[n>>2]=f[k+16>>2];if((o|0)!=(k|0)){f[h>>2]=f[k+20>>2];f[i>>2]=k+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(o+20|0,g,e)}p=o+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(o|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[n>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=24;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=27;break}else z=x}s=z}if((y|0)==24){y=0;B=s;C=s;break}else if((y|0)==27){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[o>>2]=0;f[o+4>>2]=0;f[p>>2]=B;f[C>>2]=o;q=f[f[a>>2]>>2]|0;if(!q)D=o;else{f[a>>2]=q;D=f[C>>2]|0}He(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[k+4>>2]|0;if(!q){n=k+8|0;r=f[n>>2]|0;if((f[r>>2]|0)==(k|0))E=r;else{r=n;do{n=f[r>>2]|0;r=n+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(n|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=E;o=t}}k=f[o+8>>2]|0;if(!k)F=o;else{m=k;while(1){k=f[m+8>>2]|0;if(!k)break;else m=k}F=m}Mj(a,F)}while(0);F=f[b>>2]|0;t=f[c>>2]|0;if((F|0)==(t|0)){u=d;return}c=a+4|0;E=a+4|0;D=F;while(1){Ig(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=45;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=48;break}else G=z}A=G}if((y|0)==45){y=0;I=C;J=A;K=A;break}else if((y|0)==48){y=0;I=C;J=A;K=H;break}}else{I=f[e>>2]|0;J=c;K=c}while(0);f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=J;f[K>>2]=I;F=f[f[a>>2]>>2]|0;if(!F)L=I;else{f[a>>2]=F;L=f[K>>2]|0}He(f[E>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(t|0))break;else D=M}u=d;return}function Dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=mr(l)|0;pj(m|0,0,l|0)|0;n=mr(l)|0;pj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=q;H=s;I=F}else{J=o;Cq(J)}while(1){F=f[G+(I<<2)>>2]|0;if(t)pj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=F;L=0;while(1){M=f[s+(K<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(I|0)&(R|0)<(I|0)&(Q|0)<(I|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=L+1|0}else U=L}else U=L;Q=(((K>>>0)%3|0|0)==0?2:-1)+K|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);K=(V|0)==(F|0)?-1:V;if((K|0)==-1)break;else L=U}L=X(I,e)|0;if(!U){W=L;Y=30}else{if(t){K=0;do{F=m+(K<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;K=K+1|0}while((K|0)!=(e|0))}K=b+(L<<2)|0;F=c+(L<<2)|0;s=f[K+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[K>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Nd(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(I,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(H+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;K=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=K;f[x>>2]=P;Nd(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((I|0)<=1)break a;Q=f[l>>2]|0;G=f[Q>>2]|0;P=I+-1|0;if((f[Q+4>>2]|0)-G>>2>>>0<=P>>>0){J=Q;break}else{Q=I;I=P;H=Q}}Cq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Nd(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;nr(n);nr(m);u=g;return 1}pj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Nd(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;nr(n);nr(m);u=g;return 1}function Ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=mr(d)|0;pj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=C;C=0;y=h;while(1){if((E|0)>0){A=0;do{H=f[y+(A<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(A<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(A<<2)>>2]=(H|0)<(J|0)?J:H;K=I}A=A+1|0}while((A|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;A=(f[D+(C<<2)>>2]|0)-(f[L+(C<<2)>>2]|0)|0;I=B+(C<<2)|0;f[I>>2]=A;if((A|0)>=(f[q>>2]|0)){if((A|0)>(f[s>>2]|0)){M=A-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+A|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}C=C+1|0;E=f[g>>2]|0;if((C|0)>=(E|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,E=c+(z<<2)|0,C=f[g>>2]|0,(C|0)>0):0){B=C;C=0;D=b+((X(x+-2|0,e)|0)<<2)|0;while(1){if((B|0)>0){I=0;do{A=f[D+(I<<2)>>2]|0;H=f[n>>2]|0;if((A|0)>(H|0)){J=f[o>>2]|0;f[J+(I<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(I<<2)>>2]=(A|0)<(J|0)?J:A;O=H}I=I+1|0}while((I|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;I=(f[y+(C<<2)>>2]|0)-(f[P+(C<<2)>>2]|0)|0;H=E+(C<<2)|0;f[H>>2]=I;if((I|0)>=(f[q>>2]|0)){if((I|0)>(f[s>>2]|0)){Q=I-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+I|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}C=C+1|0;B=f[g>>2]|0;if((C|0)>=(B|0))break;else D=P}}if((w|0)<=1)break a}Cq(i)}while(0);if((e|0)>0)pj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=e;e=0;K=h;while(1){if((a|0)>0){G=0;do{F=f[K+(G<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(G<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(G<<2)>>2]=(F|0)<(l|0)?l:F;R=d}G=G+1|0}while((G|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;G=(f[b+(e<<2)>>2]|0)-(f[S+(e<<2)>>2]|0)|0;d=c+(e<<2)|0;f[d>>2]=G;if((G|0)>=(f[O>>2]|0)){if((G|0)>(f[M>>2]|0)){T=G-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+G|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else K=S}nr(h);return 1}function Fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=mr(l)|0;pj(m|0,0,l|0)|0;n=mr(l)|0;pj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=q;I=s;J=G}else{K=o;Cq(K)}while(1){G=f[H+(J<<2)>>2]|0;if(t)pj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=G;M=0;while(1){if(((f[s+(L>>>5<<2)>>2]&1<<(L&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(L<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(J|0)&(S|0)<(J|0)&(R|0)<(J|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=M+1|0}else T=M;R=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);L=(U|0)==(G|0)?-1:U;if((L|0)==-1)break;else M=T}M=X(J,e)|0;if(!T){V=M;W=28}else{if(t){L=0;do{G=m+(L<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(M<<2)|0;G=c+(M<<2)|0;s=f[L+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Nd(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(J,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(I+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;L=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=Q;Nd(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((J|0)<=1)break a;R=f[l>>2]|0;H=f[R>>2]|0;Q=J+-1|0;if((f[R+4>>2]|0)-H>>2>>>0<=Q>>>0){K=R;break}else{R=J;J=Q;I=R}}Cq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Nd(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;nr(n);nr(m);u=g;return 1}pj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Nd(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;nr(n);nr(m);u=g;return 1}function Gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=mr(d)|0;pj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=D;D=0;z=h;while(1){if((F|0)>0){C=0;do{G=f[z+(C<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(C<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(C<<2)>>2]=(G|0)<(I|0)?I:G;J=H}C=C+1|0}while((C|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;C=(f[E+(D<<2)>>2]|0)-(f[K+(D<<2)>>2]|0)|0;H=B+(D<<2)|0;f[H>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){L=C-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+C|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}D=D+1|0;F=f[g>>2]|0;if((D|0)>=(F|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,F=c+(A<<2)|0,D=f[g>>2]|0,(D|0)>0):0){B=D;D=0;E=b+((X(y+-2|0,e)|0)<<2)|0;while(1){if((B|0)>0){H=0;do{C=f[E+(H<<2)>>2]|0;G=f[n>>2]|0;if((C|0)>(G|0)){I=f[o>>2]|0;f[I+(H<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(H<<2)>>2]=(C|0)<(I|0)?I:C;N=G}H=H+1|0}while((H|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;H=(f[z+(D<<2)>>2]|0)-(f[O+(D<<2)>>2]|0)|0;G=F+(D<<2)|0;f[G>>2]=H;if((H|0)>=(f[q>>2]|0)){if((H|0)>(f[s>>2]|0)){P=H-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+H|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}D=D+1|0;B=f[g>>2]|0;if((D|0)>=(B|0))break;else E=O}}if((x|0)<=1)break a}Cq(i)}while(0);if((e|0)>0)pj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=e;e=0;J=h;while(1){if((a|0)>0){d=0;do{l=f[J+(d<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(d<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(d<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}d=d+1|0}while((d|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;d=(f[b+(e<<2)>>2]|0)-(f[R+(e<<2)>>2]|0)|0;j=c+(e<<2)|0;f[j>>2]=d;if((d|0)>=(f[N>>2]|0)){if((d|0)>(f[L>>2]|0)){S=d-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+d|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else J=R}nr(h);return 1}function Hc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;Xj(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(o<<2)>>2]|0;do{v=f[a+(s+o<<2)>>2]|0;t=t>>>0>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>r>>>0?t:r;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ti(k,i);o=o+p|0;if((o|0)>=(c|0)){x=v;break}else r=v}}else{r=0;o=0;while(1){v=f[a+(r<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>o>>>0?v:o;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ti(k,i);r=r+p|0;if((r|0)>=(c|0)){x=w;break}else o=w}}f[l>>2]=0;o=l+4|0;f[o>>2]=0;f[l+8>>2]=0;r=f[k>>2]|0;q=(f[d>>2]|0)-r|0;w=q>>2;if(w){if(w>>>0>1073741823)Cq(l);s=tn(q)|0;f[o>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;eh(s|0,r|0,q|0)|0;f[o>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;r=0;v=0;while(1){D=go(f[s+(v<<2)>>2]|0,0,y|0,r|0)|0;E=I;v=v+1|0;if(v>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{y=D;r=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Gg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=eo(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;r=En(B|0,C|0,p|0,0)|0;C=go(F|0,z|0,r|0,I|0)|0;r=go(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[o>>2]|0;if((l|0)!=(w|0))f[o>>2]=l+(~((l+-4-w|0)>>>2)<<2);pr(w)}w=Gg(a,c,x,i)|0;l=f[i>>2]|0;o=((x-l|0)/64|0)+l<<3;C=l<<3;z=go(C|0,((C|0)<0)<<31>>31|0,w|0,I|0)|0;w=go(z|0,I|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;C=tn(32)|0;f[i>>2]=C;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=C;B=16355;y=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(y|0));b[C+22>>0]=0;C=(Hh(e,i)|0)==0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if(!C){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;C=tn(32)|0;f[i>>2]=C;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=C;B=16355;y=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(y|0));b[C+22>>0]=0;C=Ok(e,i)|0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);H=C}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(o|0)|(A|0)==(o|0)&r>>>0>=w>>>0)&1;b[m>>0]=H;w=g+16|0;r=f[w+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[w>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Fe(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=qd(a,c,p,k,g)|0;break}case 1:{J=Pc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);pr(g)}n=J;u=h;return n|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;pr(k)}pr(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);pr(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;pr(m)}pr(n)}pr(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=j;p=g;q=24}}else{o=h;p=e;q=24}if((q|0)==24){q=o;do{o=q+-4|0;f[c>>2]=o;e=f[o>>2]|0;f[o>>2]=0;if(e|0){o=e+88|0;h=f[o>>2]|0;f[o>>2]=0;if(h|0){o=f[h+8>>2]|0;if(o|0){g=h+12|0;if((f[g>>2]|0)!=(o|0))f[g>>2]=o;pr(o)}pr(h)}h=f[e+68>>2]|0;if(h|0){o=e+72|0;g=f[o>>2]|0;if((g|0)!=(h|0))f[o>>2]=g+(~((g+-4-h|0)>>>2)<<2);pr(h)}h=e+64|0;g=f[h>>2]|0;f[h>>2]=0;if(g|0){h=f[g>>2]|0;if(h|0){o=g+4|0;if((f[o>>2]|0)!=(h|0))f[o>>2]=h;pr(h)}pr(g)}pr(e)}q=f[c>>2]|0}while((q|0)!=(p|0))}p=f[a+4>>2]|0;a:do if(p|0){q=p+44|0;c=f[q>>2]|0;e=f[p+40>>2]|0;while(1){if((e|0)==(c|0))break a;r=e+4|0;if((f[(f[e>>2]|0)+40>>2]|0)==(i|0))break;else e=r}if((r|0)!=(c|0)){g=r;h=e;do{o=f[g>>2]|0;f[g>>2]=0;j=f[h>>2]|0;f[h>>2]=o;if(j|0){_i(j);pr(j)}g=g+4|0;h=h+4|0}while((g|0)!=(c|0));g=f[q>>2]|0;if((g|0)==(h|0))break;else{s=g;t=h}}else{s=c;t=e}g=s;do{j=g+-4|0;f[q>>2]=j;o=f[j>>2]|0;f[j>>2]=0;if(o|0){_i(o);pr(o)}g=f[q>>2]|0}while((g|0)!=(t|0))}while(0);b:do if((d|0)<5){t=f[a+20+(d*12|0)>>2]|0;s=a+20+(d*12|0)+4|0;r=f[s>>2]|0;i=r;c:do if((t|0)==(r|0))u=t;else{p=t;while(1){if((f[p>>2]|0)==(b|0)){u=p;break c}p=p+4|0;if((p|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){t=u+4|0;p=i-t|0;g=p>>2;if(!g)v=r;else{qm(u|0,t|0,p|0)|0;v=f[s>>2]|0}p=u+(g<<2)|0;if((v|0)!=(p|0))f[s>>2]=v+(~((v+-4-p|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((p|0)!=(u|0)){g=p-u>>2;u=0;do{p=d+(u<<2)|0;v=f[p>>2]|0;if((v|0)>(b|0))f[p>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}g=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((g|0)!=(u|0)){v=g-u>>2;u=0;do{g=d+(u<<2)|0;p=f[g>>2]|0;if((p|0)>(b|0))f[g>>2]=p+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0

>>0)}p=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((p|0)==(u|0))return;d=p-u>>2;u=0;do{p=a+(u<<2)|0;g=f[p>>2]|0;if((g|0)>(b|0))f[p>>2]=g+-1;u=u+1|0}while(u>>>0>>0);return}function Jc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>112){f[e>>2]=g+-113;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;n=j;do if((j|0)==(l|0)){o=f[a>>2]|0;p=o;if(i>>>0>o>>>0){q=i;r=((q-p>>2)+1|0)/-2|0;s=i+(r<<2)|0;t=n-q|0;q=t>>2;if(!q)v=i;else{qm(s|0,i|0,t|0)|0;v=f[g>>2]|0}t=s+(q<<2)|0;f[e>>2]=t;f[g>>2]=v+(r<<2);w=t;break}t=m-p>>1;p=(t|0)==0?1:t;if(p>>>0>1073741823){t=ra(8)|0;jp(t,16426);f[t>>2]=7416;va(t|0,1160,122)}t=tn(p<<2)|0;r=t;q=t+(p>>>2<<2)|0;s=q;x=t+(p<<2)|0;if((i|0)==(j|0)){y=o;z=s}else{o=q;q=i;p=s;do{f[o>>2]=f[q>>2];o=p+4|0;p=o;q=q+4|0}while((q|0)!=(j|0));y=f[a>>2]|0;z=p}f[a>>2]=r;f[g>>2]=s;f[e>>2]=z;f[k>>2]=x;if(!y)w=z;else{pr(y);w=f[e>>2]|0}}else w=j;while(0);f[w>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;w=a+4|0;j=h-(f[w>>2]|0)|0;y=a+12|0;z=f[y>>2]|0;k=z-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}g=tn(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=tn(4068)|0;f[d>>2]=k;wg(c,d);d=f[e>>2]|0;while(1){A=f[w>>2]|0;if((d|0)==(A|0))break;k=d+-4|0;tg(c,k);d=k}k=A;A=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=A;f[w>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((g|0)!=(d|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(A|0)pr(A);u=b;return}if((z|0)!=(h|0)){h=tn(4068)|0;f[c>>2]=h;wg(a,c);u=b;return}h=tn(4068)|0;f[c>>2]=h;tg(a,c);c=f[w>>2]|0;h=f[c>>2]|0;z=c+4|0;f[w>>2]=z;c=f[e>>2]|0;A=f[y>>2]|0;k=A;g=c;do if((c|0)==(A|0)){j=f[a>>2]|0;d=j;if(z>>>0>j>>>0){m=z;i=((m-d>>2)+1|0)/-2|0;v=z+(i<<2)|0;n=g-m|0;m=n>>2;if(!m)B=z;else{qm(v|0,z|0,n|0)|0;B=f[w>>2]|0}n=v+(m<<2)|0;f[e>>2]=n;f[w>>2]=B+(i<<2);C=n;break}n=k-d>>1;d=(n|0)==0?1:n;if(d>>>0>1073741823){n=ra(8)|0;jp(n,16426);f[n>>2]=7416;va(n|0,1160,122)}n=tn(d<<2)|0;i=n;m=n+(d>>>2<<2)|0;v=m;l=n+(d<<2)|0;if((z|0)==(c|0)){D=j;E=v}else{j=m;m=z;d=v;do{f[j>>2]=f[m>>2];j=d+4|0;d=j;m=m+4|0}while((m|0)!=(c|0));D=f[a>>2]|0;E=d}f[a>>2]=i;f[w>>2]=v;f[e>>2]=E;f[y>>2]=l;if(!D)C=E;else{pr(D);C=f[e>>2]|0}}else C=c;while(0);f[C>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=f[c>>2]|0;k=j;while(1){if((g|0)==(f[d>>2]|0))break;j=k+16|0;gm(j,g+16|0)|0;gm(k+28|0,g+28|0)|0;l=k+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(k|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[j+11>>0]|0;o=n<<24>>24<0;s=o?f[k+20>>2]|0:n&255;n=o?f[j>>2]|0:j;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0>>0?w:s;if((u|0)!=0?(x=Yk(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=24;else y=26;else if(s>>>0>>0)y=24;else y=26;if((y|0)==24){y=0;w=f[o>>2]|0;if(!w){y=25;break}else z=w}else if((y|0)==26){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=28;break}else z=w}o=z}if((y|0)==25){y=0;B=o;C=o;break}else if((y|0)==28){y=0;B=o;C=A;break}}else{B=h;C=h}while(0);f[k>>2]=0;f[k+4>>2]=0;f[l>>2]=B;f[C>>2]=k;m=f[f[a>>2]>>2]|0;if(!m)D=k;else{f[a>>2]=m;D=f[C>>2]|0}He(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[g+4>>2]|0;if(!m){j=g+8|0;s=f[j>>2]|0;if((f[s>>2]|0)==(g|0))E=s;else{s=j;do{j=f[s>>2]|0;s=j+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(j|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=E;k=p}}g=f[k+8>>2]|0;if(!g)F=k;else{i=g;while(1){g=f[i+8>>2]|0;if(!g)break;else i=g}F=i}Cj(a,F)}while(0);F=f[c>>2]|0;p=f[d>>2]|0;if((F|0)==(p|0))return;else G=F;while(1){Ue(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;E=f[d>>2]|0;if((f[E>>2]|0)==(G|0))H=E;else{E=d;do{d=f[E>>2]|0;E=d+8|0;e=f[E>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{E=F;while(1){i=f[E>>2]|0;if(!i)break;else E=i}H=E}f[c>>2]=H;if((H|0)==(p|0))break;else G=H}return}function Lc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=tn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14740;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ik(i,h,-1)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);switch(j|0){case 0:{n=tn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n;break}case -1:{if((ki(i)|0)==10){n=tn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n}else q=6;break}default:q=6}a:do if((q|0)==6){n=d+8|0;r=d+12|0;s=f[r>>2]|0;t=f[n>>2]|0;b:do if((s-t|0)>0){v=h+8|0;w=h+4|0;x=c+20|0;y=h+11|0;z=s;A=t;B=0;c:while(1){C=f[(f[A+(B<<2)>>2]|0)+28>>2]|0;switch(C|0){case 9:{q=12;break}case 6:case 5:case 4:case 2:{D=A;E=z;break}default:{if((C|2|0)!=3)break c;if((C|0)==9)q=12;else{D=A;E=z}}}if((q|0)==12){q=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=tn(32)|0;f[h>>2]=C;f[v>>2]=-2147483616;f[w>>2]=17;k=C;l=14756;m=k+17|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[C+17>>0]=0;F=f[x>>2]|0;if(F){G=x;H=F;d:while(1){F=H;while(1){if((f[F+16>>2]|0)>=0)break;I=f[F+4>>2]|0;if(!I){J=G;break d}else F=I}H=f[F>>2]|0;if(!H){J=F;break}else G=F}if(((J|0)!=(x|0)?(f[J+16>>2]|0)<=0:0)?(G=J+20|0,(Hh(G,h)|0)!=0):0)K=Ik(G,h,-1)|0;else q=21}else q=21;if((q|0)==21){q=0;K=Ik(i,h,-1)|0}if((b[y>>0]|0)<0)pr(f[h>>2]|0);if((K|0)<1)break;D=f[n>>2]|0;E=f[r>>2]|0}B=B+1|0;if((B|0)>=(E-D>>2|0))break b;else{z=E;A=D}}if((j|0)!=1){A=tn(56)|0;k=A;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(A);o=4196;p=A;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;z=tn(32)|0;f[h>>2]=z;f[h+8>>2]=-2147483616;f[h+4>>2]=24;k=z;l=14774;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[z+24>>0]=0;f[a>>2]=-1;nj(a+4|0,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}while(0);r=tn(56)|0;k=r;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(r);o=4136;p=r}while(0);f[p>>2]=o;Hp(p,d);ud(a,p,i,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[p+52>>2];f[c+44>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}Qa[f[(f[p>>2]|0)+4>>2]&127](p);u=g;return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=k;k=0;w=0;while(1){x=f[(f[v+24>>2]|0)+(w<<2)>>2]|0;if((x|0)==-1){y=v;z=k}else{A=k+1|0;B=f[(f[l>>2]|0)+(((x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Ti(c,g);f[g>>2]=x;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=x;else{B=x+1|0;E=((B>>>0)%3|0|0)==0?x+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=x;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=x}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=k;x=f[s>>2]|0;if((x|0)==(f[t>>2]|0))Ti(r,g);else{f[x>>2]=f[g>>2];f[s>>2]=x+4}x=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[x+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=E;E=k;H=A;while(1){I=F+1|0;J=((I>>>0)%3|0|0)==0?F+-2|0:I;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){I=H+1|0;K=f[(f[l>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Ti(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ti(r,h);M=H;N=I;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=H;N=I;break}}else{M=E;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=M;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;I=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((I|0)==-1)break;J=f[(f[O+12>>2]|0)+(I<<2)>>2]|0;if((J|0)==-1)break;F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=F;if(!((F|0)!=-1?(F|0)!=(f[g>>2]|0):0)){P=O;Q=N;break b}else{E=M;H=N}}f[h>>2]=-1;P=O;Q=N}else{P=x;Q=A}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=x;Q=A}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2>>>0)break;else{v=y;k=z}}u=e;return}function Nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=24;g=-149;i=4;break}case 1:{e=53;g=-1074;i=4;break}case 2:{e=53;g=-1074;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Ji(a)|0}while((Hq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Ji(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=o;n=0;while(1){if((l|32|0)!=(b[18937+n>>0]|0)){q=l;r=n;break}do if(n>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Ji(a)|0;break}}else t=l;while(0);s=n+1|0;if(s>>>0<8){l=t;n=s}else{q=t;r=s;break}}c:do switch(r|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&r>>>0>3)if((r|0)==8)break c;else{i=23;break c}d:do if(!r){l=q;s=0;while(1){if((l|32|0)!=(b[18946+s>>0]|0)){u=l;v=s;break d}do if(s>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Ji(a)|0;break}}else x=l;while(0);w=s+1|0;if(w>>>0<3){l=x;s=w}else{u=x;v=w;break}}}else{u=q;v=r}while(0);switch(v|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Ji(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Ji(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=er()|0;f[l>>2]=22;dn(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((u|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Ji(a)|0;if((E|32|0)==120){j=+Ac(a,e,g,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=u;j=+hb(a,F,e,g,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=er()|0;f[s>>2]=22;dn(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&r>>>0>3){n=r;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Oc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;b=u;u=u+16|0;c=b+4|0;d=b;e=f[a+64>>2]|0;if(!e){u=b;return}g=La[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(!g){u=b;return}e=g+24|0;h=g+28|0;i=((f[h>>2]|0)-(f[e>>2]|0)>>2)-(f[g+44>>2]|0)|0;j=a+56|0;k=f[j>>2]|0;if(((f[k+12>>2]|0)-(f[k+8>>2]|0)|0)>4){f[c>>2]=0;l=c+4|0;f[l>>2]=0;f[c+8>>2]=0;m=c+8|0;n=k;k=0;while(1){if(!(f[(f[(f[n+8>>2]|0)+(k<<2)>>2]|0)+56>>2]|0))o=n;else{p=Ma[f[(f[a>>2]|0)+56>>2]&127](a,k)|0;f[d>>2]=p;q=p;do if(p|0){r=f[l>>2]|0;if((r|0)==(f[m>>2]|0)){Ti(c,d);break}else{f[r>>2]=q;f[l>>2]=(f[l>>2]|0)+4;break}}while(0);o=f[j>>2]|0}k=k+1|0;if((k|0)>=((f[o+12>>2]|0)-(f[o+8>>2]|0)>>2|0))break;else n=o}n=f[h>>2]|0;h=f[e>>2]|0;e=h;if((n|0)==(h|0)){s=f[c>>2]|0;t=i}else{k=n-h>>2;h=g+12|0;g=f[l>>2]|0;n=f[c>>2]|0;c=(g|0)==(n|0);j=n;d=g-n>>2;n=o+96|0;o=i;g=0;while(1){m=f[e+(g<<2)>>2]|0;if((m|0)==-1)v=o;else{q=f[n>>2]|0;p=f[q+(((m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]|0;r=(((m>>>0)%3|0|0)==0?2:-1)+m|0;a:do if(((r|0)!=-1?(w=f[(f[h>>2]|0)+(r<<2)>>2]|0,(w|0)!=-1):0)?(x=w+(((w>>>0)%3|0|0)==0?2:-1)|0,(x|0)!=-1):0){if(c){w=x;y=p;z=0;while(1){A=y;y=f[q+(((w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]|0;B=z+((y|0)!=(A|0)&1)|0;if((w|0)==(m|0)){C=B;break a}A=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((A|0)==-1){C=B;break a}D=f[(f[h>>2]|0)+(A<<2)>>2]|0;if((D|0)==-1){C=B;break a}w=D+(((D>>>0)%3|0|0)==0?2:-1)|0;if((w|0)==-1){C=B;break a}else z=B}}else{E=x;F=m;G=p;H=0}while(1){z=f[q+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;b:do if((z|0)==(G|0)){w=0;while(1){y=f[(f[j+(w<<2)>>2]|0)+28>>2]|0;w=w+1|0;if((f[y+(E<<2)>>2]|0)!=(f[y+(F<<2)>>2]|0)){I=G;J=28;break b}if(w>>>0>=d>>>0){K=H;L=G;break}}}else{I=z;J=28}while(0);if((J|0)==28){J=0;K=H+1|0;L=I}if((E|0)==(m|0)){C=K;break a}z=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((z|0)==-1){C=K;break a}w=f[(f[h>>2]|0)+(z<<2)>>2]|0;if((w|0)==-1){C=K;break a}z=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if((z|0)==-1){C=K;break}else{w=E;E=z;G=L;H=K;F=w}}}else C=0;while(0);m=f[e+(g<<2)>>2]|0;q=m+1|0;if(((m|0)!=-1?(p=((q>>>0)%3|0|0)==0?m+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0)M=((((p>>>0)%3|0|0)==0?q+-2|0:p)|0)==-1;else M=1;v=C+o+(((C|0)!=0&(M^1))<<31>>31)|0}g=g+1|0;if(g>>>0>=k>>>0){s=j;t=v;break}else o=v}}if(s|0){v=f[l>>2]|0;if((v|0)!=(s|0))f[l>>2]=v+(~((v+-4-s|0)>>>2)<<2);pr(s)}N=t}else N=i;f[a+52>>2]=N;u=b;return}function Pc(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=tn(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=16378;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Hh(g,j)|0)==0;if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if(!r){r=tn(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=16378;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Ok(g,j)|0;if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Fe(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=pe(a,c,d,h)|0;u=i;return n|0}case 2:{n=oe(a,c,d,h)|0;u=i;return n|0}case 3:{n=ne(a,c,d,h)|0;u=i;return n|0}case 4:{n=me(a,c,d,h)|0;u=i;return n|0}case 5:{n=le(a,c,d,h)|0;u=i;return n|0}case 6:{n=ke(a,c,d,h)|0;u=i;return n|0}case 7:{n=je(a,c,d,h)|0;u=i;return n|0}case 8:{n=ie(a,c,d,h)|0;u=i;return n|0}case 9:{n=he(a,c,d,h)|0;u=i;return n|0}case 10:{n=ge(a,c,d,h)|0;u=i;return n|0}case 11:{n=fe(a,c,d,h)|0;u=i;return n|0}case 12:{n=ee(a,c,d,h)|0;u=i;return n|0}case 13:{n=de(a,c,d,h)|0;u=i;return n|0}case 14:{n=ce(a,c,d,h)|0;u=i;return n|0}case 15:{n=be(a,c,d,h)|0;u=i;return n|0}case 16:{n=ae(a,c,d,h)|0;u=i;return n|0}case 17:{n=$d(a,c,d,h)|0;u=i;return n|0}case 18:{n=_d(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;tb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;ub(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;vb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;wb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*524288.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==524288){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;p=x;while(1){v=524288.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==524288){C=q;D=524288;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*1.9073486328125e-06)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*262144.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==262144){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;p=x;while(1){v=262144.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==262144){C=q;D=262144;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*3.814697265625e-06)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*65536.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==65536){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;p=x;while(1){v=65536.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==65536){C=q;D=65536;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.0000152587890625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*32768.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==32768){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;p=x;while(1){v=32768.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==32768){C=q;D=32768;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000030517578125)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*8192.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==8192){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;p=x;while(1){v=8192.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==8192){C=q;D=8192;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.0001220703125)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=mr(j)|0;pj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=o;F=q;G=D}else{H=m;Cq(H)}while(1){D=f[E+(G<<2)>>2]|0;q=X(G,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(G|0)&(M|0)<(G|0)&(L|0)<(G|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Nd(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(F+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Nd(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((G|0)<=1)break a;M=f[l>>2]|0;E=f[M>>2]|0;I=G+-1|0;if((f[M+4>>2]|0)-E>>2>>>0<=I>>>0){H=M;break}else{M=G;G=I;F=M}}Cq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Nd(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;nr(k);u=g;return 1}pj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Nd(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;nr(k);u=g;return 1}function hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=go(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=go((l|0)==0&(k|0)==0&1|0,0,l|0,k|0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=((n|0)==0&1)+n&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)Cq(i);p=tn(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=p;p=j;do{b[q>>0]=0;q=(f[l>>2]|0)+1|0;f[l>>2]=q;p=p+-1|0}while((p|0)!=0);o=f[i>>2]|0}p=a+28|0;q=(f[p>>2]|0)+-1|0;a:do if((q|0)>-1){j=a+24|0;r=k;s=0;t=4096;v=q;while(1){w=256-(r&255)|0;x=(f[j>>2]&1<>>0>>0){z=t;A=s}else{b[o+s>>0]=t;z=t>>>8;A=s+1|0}En(f[4248+(y<<3)>>2]|0,0,z|0,0)|0;B=z+(x?0:w&255)+(X((I+z|0)>>>(f[4248+(y<<3)+4>>2]|0),256-y|0)|0)|0;y=v+-1|0;if((y|0)<=-1){C=A;D=B;break a}r=b[h>>0]|0;s=A;t=B;v=y}}else{C=0;D=4096}while(0);A=f[m>>2]|0;if((A|0)==(f[n>>2]|0)){E=C;F=D}else{z=A;A=C;C=D;while(1){z=z+-4|0;D=f[z>>2]|0;q=A;k=C;v=31;while(1){t=b[h>>0]|0;s=256-(t&255)|0;r=(1<>>0>>0){G=k;H=q}else{b[o+q>>0]=k;G=k>>>8;H=q+1|0}En(f[4248+(j<<3)>>2]|0,0,G|0,0)|0;k=G+(r?0:s&255)+(X((I+G|0)>>>(f[4248+(j<<3)+4>>2]|0),256-j|0)|0)|0;if((v|0)<=0)break;else{q=H;v=v+-1|0}}if((z|0)==(f[n>>2]|0)){E=H;F=k;break}else{A=H;C=k}}}C=F+-4096|0;do if(C>>>0>=64){if(C>>>0<16384){H=o+E|0;A=F+12288|0;b[H>>0]=A;J=2;K=H+1|0;L=A>>>8;M=20;break}if(C>>>0<4194304){A=o+E|0;H=F+8384512|0;b[A>>0]=H;b[A+1>>0]=H>>>8;J=3;K=A+2|0;L=H>>>16;M=20}else N=E}else{J=1;K=o+E|0;L=C;M=20}while(0);if((M|0)==20){b[K>>0]=L;N=J+E|0}E=c+16|0;J=E;L=f[J+4>>2]|0;if(!((L|0)>0|(L|0)==0&(f[J>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}ai(N,c)|0;h=f[i>>2]|0;J=E;E=f[J+4>>2]|0;if(!((E|0)>0|(E|0)==0&(f[J>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+N|0)|0}N=e;f[N>>2]=0;f[N+4>>2]=0;nf(a,2,e);e=f[a+12>>2]|0;N=f[m>>2]|0;if((N|0)!=(e|0))f[m>>2]=N+(~((N+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;p=f[i>>2]|0;if(!p){u=d;return}if((f[l>>2]|0)!=(p|0))f[l>>2]=p;pr(p);u=d;return}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=h;h=0;r=0;while(1){s=f[(f[q+24>>2]|0)+(r<<2)>>2]|0;if((s|0)==-1){t=q;v=h}else{w=h+1|0;f[b>>2]=h;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ti(i,b);else{f[x>>2]=h;f[j>>2]=x+4}f[d>>2]=s;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=s;else{x=s+1|0;z=((x>>>0)%3|0|0)==0?s+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=s;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=s}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];s=f[o>>2]|0;if((s|0)==(f[p>>2]|0))Ti(n,d);else{f[s>>2]=f[d>>2];f[o>>2]=s+4}s=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[s+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ti(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ti(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=G;I=F;break b}else A=F}f[e>>2]=-1;H=G;I=F}else{H=s;I=w}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=s;I=w}t=H;v=I}r=r+1|0;if(r>>>0>=(f[t+28>>2]|0)-(f[t+24>>2]|0)>>2>>>0)break;else{q=t;h=v}}u=c;return}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){l=((k>>>0)%3|0|0)==0?j+-2|0:k;if(!((j>>>0)%3|0)){m=l;n=j+2|0;break}else{m=l;n=j+-1|0;break}}else{m=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(m<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(n<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((n|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=r;r=1;while(1){w=f[t>>2]|0;x=f[(f[w>>2]|0)+36>>2]|0;f[e>>2]=(v>>>0)/3|0;f[d>>2]=f[e>>2];if(Ma[x&127](w,d)|0){y=r;break}w=v+1|0;x=((w>>>0)%3|0|0)==0?v+-2|0:w;if((x|0)==-1){z=12;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=r+1|0;if((v|0)==-1){y=x;break}else r=x}if((z|0)==12)y=r+1|0;A=f[k>>2]|0;B=f[l>>2]|0;C=y}else{A=q;B=o;C=1}f[A+(f[B+(f[i>>2]<<2)>>2]<<2)>>2]=C;C=a+108|0;i=f[C>>2]|0;B=i-A>>2;A=i;if((m|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(i|0)!=-1):0){m=a+64|0;y=i;i=1;while(1){r=f[m>>2]|0;v=f[(f[r>>2]|0)+36>>2]|0;f[g>>2]=(y>>>0)/3|0;f[d>>2]=f[g>>2];if(Ma[v&127](r,d)|0){D=i;break}r=y+1|0;f[(f[l>>2]|0)+((((r>>>0)%3|0|0)==0?y+-2|0:r)<<2)>>2]=B;r=(((y>>>0)%3|0|0)==0?2:-1)+y|0;if((r|0)==-1){z=20;break}y=f[(f[(f[h>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;r=i+1|0;if((y|0)==-1){D=r;break}else i=r}if((z|0)==20)D=i+1|0;E=f[C>>2]|0;F=D}else{E=A;F=1}f[d>>2]=F;if(E>>>0<(f[a+112>>2]|0)>>>0){f[E>>2]=F;f[C>>2]=E+4}else Ti(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;n=f[k>>2]|0;if((n|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3852+(n<<2)>>2]|0;f[d>>2]=a;n=o+(s*12|0)+4|0;G=f[n>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[n>>2]=G+4}else Ti(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=mr(j)|0;pj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=o;G=q;H=E}else{I=m;Cq(I)}while(1){E=f[F+(H<<2)>>2]|0;q=X(H,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(H|0)&(N|0)<(H|0)&(M|0)<(H|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Nd(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(G+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Nd(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((H|0)<=1)break a;N=f[l>>2]|0;F=f[N>>2]|0;K=H+-1|0;if((f[N+4>>2]|0)-F>>2>>>0<=K>>>0){I=N;break}else{N=H;H=K;G=N}}Cq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Nd(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;nr(k);u=g;return 1}pj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Nd(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;nr(k);u=g;return 1}function ld(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2140;i=c;f[a>>2]=i;return}case 2:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2196;i=c;f[a>>2]=i;return}case 4:{c=tn(168)|0;Oi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=tn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2252;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2308;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2364;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2420;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function md(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1720;i=c;f[a>>2]=i;return}case 2:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1776;i=c;f[a>>2]=i;return}case 4:{c=tn(168)|0;Qi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=tn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1832;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1888;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1944;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2e3;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function nd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=x;B=e;while(1){C=A+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=B;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=B;break d}if((d[v>>1]|0)!=(d[A+12>>1]|0)){y=B;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=B;break d}C=f[A>>2]|0;if(!C){y=A;break}else{D=A;A=C;B=D}}}while(0);f[c>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=j;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(m|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=w;t=F;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{B=d[w>>1]|0;A=q;z=e;while(1){D=A+8|0;if(B<<16>>16!=(d[D>>1]|0)){G=z;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=z;break e}if((d[u>>1]|0)!=(d[A+12>>1]|0)){G=z;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=z;break e}D=f[A>>2]|0;if(!D){G=A;break}else{C=A;A=D;z=C}}}while(0);f[c>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);j=f[p>>2]|0;if(!j){E=43;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){E=43;break}else{k=r;m=t;n=r}}if((E|0)==43)return}function od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=x;B=e;while(1){C=A+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=B;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=B;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=B;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=B;break d}C=f[A>>2]|0;if(!C){y=A;break}else{D=A;A=C;B=D}}}while(0);f[d>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=j;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(m|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=w;t=F;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{B=b[w>>0]|0;A=q;z=e;while(1){D=A+8|0;if(B<<24>>24!=(b[D>>0]|0)){G=z;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=z;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=z;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=z;break e}D=f[A>>2]|0;if(!D){G=A;break}else{C=A;A=D;z=C}}}while(0);f[d>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);j=f[p>>2]|0;if(!j){E=43;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){E=43;break}else{k=r;m=t;n=r}}if((E|0)==43)return}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=v;z=d;while(1){if((x|0)!=(f[y+8>>2]|0)){w=z;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){w=z;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){w=z;break d}if((f[u>>2]|0)!=(f[y+20>>2]|0)){w=z;break d}A=f[y>>2]|0;if(!A){w=y;break}else{B=y;y=A;z=B}}}while(0);f[c>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=i;while(1){u=f[d+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(l|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=u;s=D;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{z=f[d+8>>2]|0;y=v;x=d;while(1){if((z|0)!=(f[y+8>>2]|0)){E=x;break e}if((f[u>>2]|0)!=(f[y+12>>2]|0)){E=x;break e}if((f[t>>2]|0)!=(f[y+16>>2]|0)){E=x;break e}if((f[p>>2]|0)!=(f[y+20>>2]|0)){E=x;break e}B=f[y>>2]|0;if(!B){E=y;break}else{A=y;y=B;x=A}}}while(0);f[c>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);i=f[o>>2]|0;if(!i){C=43;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){C=43;break}else{j=q;l=s;m=q}}if((C|0)==43)return}function qd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;pj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=go(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0>>0)}Rn(m);r=eo(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;s=n;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));bd(n,l,32,g)|0;l=n+16|0;s=eo(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=go(s|0,I|0,39,0)|0;s=jo(o|0,I|0,3)|0;o=go(s|0,I|0,8,0)|0;s=go(o|0,I|0,t|0,0)|0;Gl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;wi(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=f[H>>2]|0;K=0;do{L=J>>>3;M=J&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(h[N>>0]|0)&(1<>2]|0)+L|0;b[N>>0]=h[N>>0]|0|(F>>>K&1)<>2]|0)+1|0;f[H>>2]=J;K=K+1|0}while((K|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}Lf(n,g);eg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Fe(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);pr(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)pr(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;pr(n);u=i;return 1}function rd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=v;A=e;while(1){B=z+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=A;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=A;break d}if((d[u>>1]|0)!=(d[z+12>>1]|0)){w=A;break d}B=f[z>>2]|0;if(!B){w=z;break}else{C=z;z=B;A=C}}}while(0);f[c>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=E;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{A=d[u>>1]|0;z=u+2|0;y=q;x=e;while(1){C=y+8|0;if(A<<16>>16!=(d[C>>1]|0)){F=x;break e}if((d[z>>1]|0)!=(d[C+2>>1]|0)){F=x;break e}if((d[v>>1]|0)!=(d[y+12>>1]|0)){F=x;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;x=B}}}while(0);f[c>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);j=f[p>>2]|0;if(!j){D=41;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){D=41;break}else{k=r;m=t;n=r}}if((D|0)==41)return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=w;A=e;while(1){B=z+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=A;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=A;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=A;break d}B=f[z>>2]|0;if(!B){x=z;break}else{C=z;z=B;A=C}}}while(0);f[d>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=j;while(1){v=f[e+4>>2]|0;if(v>>>0>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(m|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=v;t=E;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{A=b[v>>0]|0;z=q;y=e;while(1){C=z+8|0;if(A<<24>>24!=(b[C>>0]|0)){F=y;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=y;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=y;break e}C=f[z>>2]|0;if(!C){F=z;break}else{B=z;z=C;y=B}}}while(0);f[d>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);j=f[p>>2]|0;if(!j){D=41;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){D=41;break}else{k=r;m=t;n=r}}if((D|0)==41)return}function td(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=jo(c|0,d|0,52)|0;i=h&2047;h=jo(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=eo(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=Lo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=eo(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=eo(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=n;n=m;m=0;while(1){q=m+-1|0;o=eo(o|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&o>>>0>4294967295)){r=q;break}else m=q}}else r=0;m=eo(c|0,d|0,1-r|0)|0;t=m;u=I;v=r}else{t=c;u=d&1048575|1048576;v=i}if(!j){m=eo(e|0,g|0,12)|0;o=I;if((o|0)>-1|(o|0)==-1&m>>>0>4294967295){n=m;m=o;o=0;while(1){q=o+-1|0;n=eo(n|0,m|0,1)|0;m=I;if(!((m|0)>-1|(m|0)==-1&n>>>0>4294967295)){w=q;break}else o=q}}else w=0;o=eo(e|0,g|0,1-w|0)|0;x=o;y=I;z=w}else{x=e;y=g&1048575|1048576;z=j}o=io(t|0,u|0,x|0,y|0)|0;n=I;m=(n|0)>-1|(n|0)==-1&o>>>0>4294967295;b:do if((v|0)>(z|0)){q=t;A=u;B=o;C=n;D=m;E=v;while(1){if(D)if((B|0)==0&(C|0)==0)break;else{F=B;G=C}else{F=q;G=A}H=eo(F|0,G|0,1)|0;J=I;K=E+-1|0;L=io(H|0,J|0,x|0,y|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(z|0)){q=H;A=J;B=L;C=M;D=N;E=K}else{O=M;P=H;Q=J;R=L;S=N;T=K;break b}}U=a*0.0;break a}else{O=n;P=t;Q=u;R=o;S=m;T=v}while(0);if(S)if((R|0)==0&(O|0)==0){U=a*0.0;break}else{V=O;W=R}else{V=Q;W=P}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=W;o=V;n=T;while(1){E=eo(m|0,o|0,1)|0;D=I;C=n+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=E;o=D;n=C}else{X=E;Y=D;Z=C;break}}}else{X=W;Y=V;Z=T}if((Z|0)>0){n=go(X|0,Y|0,0,-1048576)|0;o=I;m=eo(Z|0,0,52)|0;_=o|I;$=n|m}else{m=jo(X|0,Y|0,1-Z|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function ud(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;i=c+12|0;j=f[i>>2]|0;if((j|0)!=(e|0)){k=j;do{j=k+-4|0;f[i>>2]=j;l=f[j>>2]|0;f[j>>2]=0;if(l|0)Qa[f[(f[l>>2]|0)+4>>2]&127](l);k=f[i>>2]|0}while((k|0)!=(e|0))}e=f[c+20>>2]|0;k=c+24|0;i=f[k>>2]|0;if((i|0)!=(e|0))f[k>>2]=i+(~((i+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;i=c+36|0;k=f[i>>2]|0;if((k|0)!=(e|0))f[i>>2]=k+(~((k+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=tn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;m=e;n=16066;o=m+23|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+23>>0]=0;f[a>>2]=-1;nj(a+4|0,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}Od(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;k=e+11|0;if((b[k>>0]|0)<0)pr(f[e>>2]|0);Si(a,c);if(f[a>>2]|0){u=g;return}if((b[k>>0]|0)<0)pr(f[e>>2]|0);if(!(La[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=29;m=k;n=16090;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+29>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+20>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16120;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+24>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16152;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+28>>2]&127](c)|0)){k=tn(48)|0;f[h>>2]=k;f[h+8>>2]=-2147483600;f[h+4>>2]=34;m=k;n=16184;o=m+34|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+34>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}e=tn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=30;m=e;n=16219;o=m+30|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+30>>0]=0;e=Yj(d,h,0)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);if(e)Qa[f[(f[c>>2]|0)+48>>2]&127](c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;return}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=u;y=d;while(1){if((w|0)!=(f[x+8>>2]|0)){v=y;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){v=y;break d}if((f[t>>2]|0)!=(f[x+16>>2]|0)){v=y;break d}z=f[x>>2]|0;if(!z){v=x;break}else{A=x;x=z;y=A}}}while(0);f[c>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=i;while(1){t=f[d+4>>2]|0;if(t>>>0>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(l|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=t;s=C;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{y=f[d+8>>2]|0;x=u;w=d;while(1){if((y|0)!=(f[x+8>>2]|0)){D=w;break e}if((f[t>>2]|0)!=(f[x+12>>2]|0)){D=w;break e}if((f[p>>2]|0)!=(f[x+16>>2]|0)){D=w;break e}A=f[x>>2]|0;if(!A){D=x;break}else{z=x;x=A;w=z}}}while(0);f[c>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);i=f[o>>2]|0;if(!i){B=41;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){B=41;break}else{j=q;l=s;m=q}}if((B|0)==41)return}function wd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3044;i=c;f[a>>2]=i;return}case 2:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3100;i=c;f[a>>2]=i;return}case 4:{c=tn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3156;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));en(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=tn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3212;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3268;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=3324;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3380;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function xd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){o=j;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(m|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=e;x=o;while(1){y=u+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:z&255)|0)){r=x;break c}if(!w?Yk(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=x;break c}y=f[u>>2]|0;if(!y){r=u;break c}else{A=u;u=y;x=A}}}if(w){x=e;u=o;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=e;x=o;while(1){w=u+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:y&255)|0)){r=x;break c}y=A?f[w>>2]|0:w;if((f[s>>2]&255)<<24>>24==(b[y>>0]|0)){B=v;C=s;D=y}else{r=x;break c}while(1){B=B+-1|0;C=C+1|0;if(!B)break;D=D+1|0;if((b[C>>0]|0)!=(b[D>>0]|0)){r=x;break c}}y=f[u>>2]|0;if(!y){r=u;break}else{w=u;u=y;x=w}}}while(0);f[d>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}j=f[o>>2]|0;if(!j){E=43;break a}else{g=o;d=o}}f[q>>2]=d;l=f[o>>2]|0;if(!l){E=43;break}else{k=o;m=p;n=o}}if((E|0)==43)return}function yd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2680;i=c;f[a>>2]=i;return}case 2:{c=tn(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2736;i=c;f[a>>2]=i;return}case 4:{c=tn(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2792;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));en(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=tn(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2848;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=tn(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2904;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=tn(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2960;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3016;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function zd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=u;z=e;while(1){A=y+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=z;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=z;break d}A=f[y>>2]|0;if(!A){v=y;break}else{B=y;y=A;z=B}}}while(0);f[c>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=D;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{z=d[u>>1]|0;y=u+2|0;x=q;w=e;while(1){B=x+8|0;if(z<<16>>16!=(d[B>>1]|0)){E=w;break e}if((d[y>>1]|0)!=(d[B+2>>1]|0)){E=w;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;w=A}}}while(0);f[c>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);j=f[p>>2]|0;if(!j){C=39;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){C=39;break}else{k=r;m=t;n=r}}if((C|0)==39)return}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=u;z=e;while(1){A=y+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=z;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=z;break d}A=f[y>>2]|0;if(!A){v=y;break}else{B=y;y=A;z=B}}}while(0);f[d>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=D;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{z=b[u>>0]|0;y=u+1|0;x=q;w=e;while(1){B=x+8|0;if(z<<24>>24!=(b[B>>0]|0)){E=w;break e}if((b[y>>0]|0)!=(b[B+1>>0]|0)){E=w;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;w=A}}}while(0);f[d>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);j=f[p>>2]|0;if(!j){C=39;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){C=39;break}else{k=r;m=t;n=r}}if((C|0)==39)return}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Kp(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ih(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=r;n=a+16|0;while(1){l=f[e+16>>2]|0;if((d|0)<(l|0)){j=f[e>>2]|0;if(!j){x=23;break}else{y=j;z=e}}else{if((l|0)>=(d|0)){x=27;break}A=e+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=l;z=A}}e=y;n=z}if((x|0)==23){B=e;C=e;break}else if((x|0)==26){B=e;C=A;break}else if((x|0)==27){B=e;C=n;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=tn(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}He(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Cj(h+4|0,f[k>>2]|0);Cj(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0

>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(m|0)==(q|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(Yk(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(a|0)==(q|0);if(!n){if(a>>>0

>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(Yk(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function Dd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=Yk(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=Yk(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=36}else r=20;if((r|0)==20?!k:0)r=36;if((r|0)==36){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=i+4|0;m=f[k>>2]|0;if(!m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=m;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){m=t+16|0;l=b[m+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=Yk(n?f[g>>2]|0:g,q?f[m>>2]|0:m,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=30;if((r|0)==30?o>>>0

>>0:0)break;s=xg(a,d,g)|0;return s|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;s=k;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((i|0)==(f[a>>2]|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){k=f[h+4>>2]|0;if(!k){w=h;break}else h=k}}h=w;k=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[k+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=Yk(j?f[k>>2]|0:k,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=12;if((r|0)==12?p>>>0>>0:0){v=h;break}s=xg(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{i=v;f[d>>2]=i;s=i+4|0;return s|0}return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=t;x=d;while(1){if((v|0)!=(f[w+8>>2]|0)){u=x;break d}if((f[p>>2]|0)!=(f[w+12>>2]|0)){u=x;break d}y=f[w>>2]|0;if(!y){u=w;break}else{z=w;w=y;x=z}}}while(0);f[c>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=i;while(1){p=f[d+4>>2]|0;if(p>>>0>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=B;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{x=f[d+8>>2]|0;w=t;v=d;while(1){if((x|0)!=(f[w+8>>2]|0)){C=v;break e}if((f[p>>2]|0)!=(f[w+12>>2]|0)){C=v;break e}z=f[w>>2]|0;if(!z){C=w;break}else{y=w;w=z;v=y}}}while(0);f[c>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);i=f[o>>2]|0;if(!i){A=39;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){A=39;break}else{j=q;l=s;m=q}}if((A|0)==39)return}function Fd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Dm(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Dm(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=go(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;io(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=io(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=tn(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14756;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Hh(c,e)|0)!=0):0)q=Ik(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Ik(i,e,-1)|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);i=(1<>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;if(i&1|0?(q=(_(i|0)|0)^31,(q+-1|0)>>>0<=28):0){f[e>>2]=q+1;i=2<>2]=i+-1;q=i+-2|0;f[e+8>>2]=q;f[e+12>>2]=(q|0)/2|0}switch(Ui(f[j>>2]|0,f[h>>2]|0)|0){case 6:{q=f[j>>2]|0;i=f[h>>2]|0;c=f[(f[(f[i+4>>2]|0)+8>>2]|0)+(q<<2)>>2]|0;do if((La[f[(f[i>>2]|0)+8>>2]&127](i)|0)==1){If(g,i,6,q,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=22;break}else{t=p;v=g;break}}else{s=g;r=22}while(0);if((r|0)==22){r=tn(24)|0;f[r+4>>2]=c;c=r+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[r>>2]=2624;c=r;f[g>>2]=c;t=c;v=s}f[a>>2]=t;f[v>>2]=0;u=d;return}case 0:{v=f[h>>2]|0;h=f[(f[(f[v+4>>2]|0)+8>>2]|0)+(f[j>>2]<<2)>>2]|0;if((La[f[(f[v>>2]|0)+8>>2]&127](v)|0)==1)La[f[(f[v>>2]|0)+8>>2]&127](v)|0;v=tn(24)|0;f[v+4>>2]=h;h=v+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[v>>2]=2624;f[a>>2]=v;u=d;return}default:{f[a>>2]=0;u=d;return}}}function Hd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=tn(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14868;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+20>>0]=0;j=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);i=f[h>>2]|0;n=tn(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14889;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);i=a+64|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+56>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=tn(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14912;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Ik(o,d,-1)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((ki(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Fe(j,d,g,g+1|0)|0}j=tn(296)|0;Xi(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Qa[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Fe(n,d,g,g+1|0)|0}g=tn(360)|0;ui(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Qa[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ma[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Id(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){b:do if(i){g=k;j=l;c=n;while(1){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=c;s=p;t=o;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[c>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}j=f[e>>2]|0;if(!j){w=37;break a}else{g=e;c=e}}}else{c=k;g=l;j=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(m|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=j;s=x;t=y;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[j>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[c>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{c=p;j=p}}}while(0);f[s>>2]=r;l=f[q>>2]|0;if(!l){w=37;break}else{k=q;m=t;n=q}}if((w|0)==37)return}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){b:do if(i){g=k;j=l;d=n;while(1){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=d;s=p;t=o;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[d>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}j=f[e>>2]|0;if(!j){w=37;break a}else{g=e;d=e}}}else{d=k;g=l;j=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(m|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=j;s=x;t=y;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[j>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[d>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{d=p;j=p}}}while(0);f[s>>2]=r;l=f[q>>2]|0;if(!l){w=37;break}else{k=q;m=t;n=q}}if((w|0)==37)return}function Kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=1;n=0;while(1){o=(f[l+(n<<2)>>2]|0)>>>0>(f[l+(m<<2)>>2]|0)>>>0?m:n;m=m+1|0;if(m>>>0>=j>>>0){k=o;break}else n=o}return k|0}if(j){j=f[a+1128>>2]|0;n=f[e>>2]|0;e=f[a+1140>>2]|0;m=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[n+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0

>>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[n+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[m+(b<<2)>>2]|0)+(1<>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=f[q>>2]|0;u=c;do{v=s+((X(u,p)|0)<<2)+(b<<2)|0;t=t+((f[v>>2]|0)>>>0>>0&1)|0;f[q>>2]=t;u=u+1|0}while((u|0)!=(g|0));u=h-t|0;f[q>>2]=u>>>0>>0?t:u}b=b+1|0;u=f[i>>2]|0}while(b>>>0>>0);r=u}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=c>>>0>>0;w=l?g:h;x=l?d:c}g=g+1|0;if(g>>>0>=r>>>0){y=w;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;r=a+1100|0;g=f[r>>2]|0;if((h|0)<4){i=y&15;b=4-h|0;f[c>>2]=b;h=i>>>b|g;f[r>>2]=h;b=a+1092|0;d=f[b>>2]|0;if((d|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[d>>2]=h;f[b>>2]=d+4}f[r>>2]=i<<32-(f[c>>2]|0);k=y;return k|0}i=g|y<<28>>>w;f[r>>2]=i;g=w+4|0;f[c>>2]=g;if((g|0)!=32){k=y;return k|0}g=a+1092|0;w=f[g>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[w>>2]=i;f[g>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){b:do if(h){e=j;i=k;c=m;while(1){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=c;r=o;s=n;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[c>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}i=f[d>>2]|0;if(!i){v=37;break a}else{e=d;c=d}}}else{c=j;e=k;i=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(l|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=i;r=w;s=x;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[i>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[c>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{c=o;i=o}}}while(0);f[r>>2]=q;k=f[p>>2]|0;if(!k){v=37;break}else{j=p;l=s;m=p}}if((v|0)==37)return}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=a+24|0;k=g;l=d;d=j;j=g;a:while(1){g=k;m=l;n=j;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(d|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=p;y=o}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[x+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=y;break c}}while((z|0)<(v|0));z=f[x>>2]|0;if(!z){s=x;break}else{w=x;x=z;y=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=o;d=q;j=o}}if((E|0)==38)return}function Nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((m|l|0)>-1){n=1;o=1}else{p=(l|0)<1&(m|0)<1;n=p?-1:(l|0)>0?1:-1;o=p?-1:(m|0)>0?1:-1}p=X(g,n)|0;q=X(g,o)|0;g=(l<<1)-p|0;f[c>>2]=g;l=(m<<1)-q|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;r=0-g|0;s=o}else{f[c>>2]=l;r=g;s=l}f[c>>2]=(s+p|0)/2|0;f[h>>2]=(r+q|0)/2|0;q=f[d>>2]|0;r=f[j>>2]|0;if((r|q|0)>-1){t=1;u=1}else{p=(q|0)<1&(r|0)<1;t=p?-1:(q|0)>0?1:-1;u=p?-1:(r|0)>0?1:-1}p=f[e>>2]|0;e=X(p,t)|0;s=X(p,u)|0;p=(q<<1)-e|0;f[d>>2]=p;q=(r<<1)-s|0;f[j>>2]=q;if((X(t,u)|0)>-1){u=0-q|0;f[d>>2]=u;v=0-p|0;w=u}else{f[d>>2]=q;v=p;w=q}q=(w+e|0)/2|0;f[d>>2]=q;e=(v+s|0)/2|0;f[j>>2]=e;x=q;y=e}else{x=i;y=k}if(!x)if(!y){z=x;A=y}else B=16;else if((x|0)<0&(y|0)<1){z=x;A=y}else B=16;if((B|0)==16){if(!x)C=(y|0)==0?0:(y|0)>0?3:1;else C=(x|0)>0?(y>>31)+2|0:(y|0)<1?0:3;y=f[c>>2]|0;x=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=x;f[C+4>>2]=0-y;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-y;f[C+4>>2]=0-x;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-x;f[C+4>>2]=y;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=y;f[C+4>>2]=x;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;z=D;A=E}E=(f[c>>2]|0)-z|0;f[a>>2]=E;z=(f[h>>2]|0)-A|0;A=a+4|0;f[A>>2]=z;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((z|0)>=0){G=z;f[A>>2]=G;return}G=(f[b+4>>2]|0)+z|0;f[A>>2]=G;return}function Od(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Fe(n,g,16277,16282)|0}n=La[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Fe(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Fe(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=h}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Fe(k,g,i,i+1|0)|0;q=f[m>>2]|0;r=h}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=t;r=h}r=La[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=r;r=q+16|0;t=f[r+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[q+4>>2];f[g>>2]=f[h>>2];Fe(q,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;q=f[m+4>>2]|0;if((q|0)>0|(q|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Fe(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=tn(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3740;m=k+12|0;f[m>>2]=3764;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3764;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3764;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;hh(h+8|0,s,g);Qa[f[(f[h>>2]|0)+8>>2]&127](h);Gf(j,h);Gf(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;dg(s,g)|0;f[g>>2]=3764;o=f[g+20>>2]|0;if(o|0)pr(o);o=f[g+8>>2]|0;if(o|0)pr(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3764;l=f[j+20>>2]|0;if(l|0)pr(l);l=f[j+8>>2]|0;if(l|0)pr(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];dg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;mg(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);pr(r)}f[v>>2]=3764;v=f[i+24>>2]|0;if(v|0)pr(v);v=f[i+12>>2]|0;if(v|0)pr(v);f[h>>2]=3764;v=f[h+20>>2]|0;if(v|0)pr(v);v=f[h+8>>2]|0;if(!v){u=e;return}pr(v);u=e;return}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ja,x=0,y=Ja,z=Ja,A=Ja;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)Cq(g);else{l=h<<2;m=tn(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;pj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);pr(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=mr(r)|0;q=mr(r)|0;r=c+48|0;o=f[r>>2]|0;p=c+40|0;g=f[p>>2]|0;a=f[c>>2]|0;eh(q|0,(f[a>>2]|0)+o|0,g|0)|0;eh(f[k>>2]|0,(f[a>>2]|0)+o|0,g|0)|0;g=r;r=f[g>>2]|0;o=f[g+4>>2]|0;g=p;p=f[g>>2]|0;a=f[g+4>>2]|0;g=f[c>>2]|0;eh(s|0,(f[g>>2]|0)+r|0,p|0)|0;l=f[c+80>>2]|0;a:do if(l>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=En(p|0,a|0,c|0,0)|0;t=go(m|0,I|0,r|0,o|0)|0;eh(q|0,(f[g>>2]|0)+t|0,p|0)|0;c=c+1|0;if(c>>>0>=l>>>0)break a}}c=f[k>>2]|0;t=1;do{m=En(p|0,a|0,t|0,0)|0;v=go(m|0,I|0,r|0,o|0)|0;eh(q|0,(f[g>>2]|0)+v|0,p|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0>>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;z=$(n[j>>2]);k=0;while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}nr(q);nr(s);i=1;u=e;return i|0}function Rd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a+8|0;Mh(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=f[g>>2]|0;p=h;while(1){h=b+(p<<2)|0;q=c+(p<<2)|0;if((o|0)>0){r=o;s=0;t=h+(d<<2)|0;while(1){if((r|0)>0){u=0;do{v=f[t+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[h+(s<<2)>>2]|0)-(f[z+(s<<2)>>2]|0)|0;w=q+(s<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}s=s+1|0;w=f[g>>2]|0;if((s|0)>=(w|0)){C=w;break}else{r=w;t=z}}}else C=o;p=p-e|0;if((p|0)<=0){D=C;break}else o=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=mr(C)|0;pj(e|0,0,C|0)|0;if((D|0)<=0){nr(e);return 1}C=a+16|0;o=a+32|0;p=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=D;D=0;n=e;while(1){if((a|0)>0){l=0;do{j=f[n+(l<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[o>>2]|0;f[k+(l<<2)>>2]=y;E=k}else{k=f[p>>2]|0;y=f[o>>2]|0;f[y+(l<<2)>>2]=(j|0)<(k|0)?k:j;E=y}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[o>>2]|0;l=(f[b+(D<<2)>>2]|0)-(f[F+(D<<2)>>2]|0)|0;y=c+(D<<2)|0;f[y>>2]=l;if((l|0)>=(f[z>>2]|0)){if((l|0)>(f[m>>2]|0)){G=l-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+l|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}D=D+1|0;a=f[g>>2]|0;if((D|0)>=(a|0))break;else n=F}nr(e);return 1}function Sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=v;z=t}else{m=b;return m|0}}else{y=p;z=c}c=y-(b+(j<<2))>>2;t=b+(c<<2)|0;if(t>>>0

>>0){v=(p+(0-c<<2)+~r|0)>>>2;r=y;s=t;while(1){f[r>>2]=f[s>>2];s=s+4|0;if(s>>>0>=p>>>0)break;else r=r+4|0}f[o>>2]=y+(v+1<<2)}if(c|0){c=t;t=y;do{c=c+-4|0;t=t+-4|0;f[t>>2]=f[c>>2]}while((c|0)!=(b|0))}c=z;if((k|0)==(c|0)){m=b;return m|0}else{A=k;B=b}while(1){f[B>>2]=f[A>>2];A=A+4|0;if((A|0)==(c|0)){m=b;break}else B=B+4|0}return m|0}B=(q-g>>2)+j|0;if(B>>>0>1073741823)Cq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0>>0?B:g):1073741823;g=b;B=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{C=tn(n<<2)|0;break}else C=0;while(0);j=C+(B<<2)|0;c=C+(n<<2)|0;if((k|0)==(l|0))D=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}D=j+(n<<2)|0}n=j+(0-B<<2)|0;if((h|0)>0)eh(n|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){eh(D|0,b|0,h|0)|0;E=D+(h>>>2<<2)|0}else E=D;f[a>>2]=n;f[o>>2]=E;f[d>>2]=c;if(!e){m=j;return m|0}pr(e);m=j;return m|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;ai(f[i>>2]|0,b)|0;Gn(h);gl(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=j;o=k;p=1;while(1){if(o){q=0;r=p;while(1){s=(f[n>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;v=m;w=f[v>>2]|0;j=f[v+4>>2]|0;if((j|0)>0|(j|0)==0&w>>>0>0){x=j;y=w}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;w=m;x=f[w+4>>2]|0;y=f[w>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Dj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(h);u=c;return 1}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)Cq(h);k=i;if(j>>>0<=g>>>0)Cq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Sg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{dh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{hg(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Sg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=0;i=d;m=g;b:while(1){n=f[i>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=o;o=i;s=m;while(1){f[o>>2]=r;if((s|0)==(a|0)){t=a;break}u=s+-4|0;r=f[u>>2]|0;if(h>>>0<=r>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(r<<3)>>2]|0)>>>0){t=s;break}else{v=s;s=u;o=v}}f[t>>2]=n;o=k+1|0;if((o|0)==8){w=0;x=(i+4|0)==(b|0);break a}else y=o}else y=k;o=i+4|0;if((o|0)==(b|0)){w=1;x=0;break a}else{s=i;k=y;i=o;m=s}}if((p|0)==14)Cq(e);else if((p|0)==16)Cq(e);else if((p|0)==20)Cq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;ai(f[i>>2]|0,b)|0;Gn(h);gl(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=j;o=k;p=1;while(1){if(o){q=0;r=p;while(1){s=(f[n>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;v=m;w=f[v>>2]|0;j=f[v+4>>2]|0;if((j|0)>0|(j|0)==0&w>>>0>0){x=j;y=w}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;w=m;x=f[w+4>>2]|0;y=f[w>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Dj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(h);u=c;return 1}function Wd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)nr(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=n;x=p}else{y=g;Cq(y)}while(1){f[j>>2]=f[w+(x<<2)>>2];f[i>>2]=f[j>>2];yc(a,i,b,x);g=X(x,e)|0;p=b+(g<<2)|0;n=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=g;g=0;z=f[k>>2]|0;while(1){if((m|0)>0){A=0;do{B=f[z+(A<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;A=(f[p+(g<<2)>>2]|0)-(f[F+(g<<2)>>2]|0)|0;C=n+(g<<2)|0;f[C>>2]=A;if((A|0)>=(f[s>>2]|0)){if((A|0)>(f[v>>2]|0)){G=A-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+A|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}g=g+1|0;m=f[l>>2]|0;if((g|0)>=(m|0))break;else z=F}}x=x+-1|0;if((x|0)<=-1){H=5;break}z=f[d>>2]|0;w=f[z>>2]|0;if((f[z+4>>2]|0)-w>>2>>>0<=x>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)Cq(y);return 0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)nr(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=n;x=p}else{y=g;Cq(y)}while(1){f[j>>2]=f[w+(x<<2)>>2];f[i>>2]=f[j>>2];xc(a,i,b,x);g=X(x,e)|0;p=b+(g<<2)|0;n=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=g;g=0;z=f[k>>2]|0;while(1){if((m|0)>0){A=0;do{B=f[z+(A<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;A=(f[p+(g<<2)>>2]|0)-(f[F+(g<<2)>>2]|0)|0;C=n+(g<<2)|0;f[C>>2]=A;if((A|0)>=(f[s>>2]|0)){if((A|0)>(f[v>>2]|0)){G=A-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+A|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}g=g+1|0;m=f[l>>2]|0;if((g|0)>=(m|0))break;else z=F}}x=x+-1|0;if((x|0)<=-1){H=5;break}z=f[d>>2]|0;w=f[z>>2]|0;if((f[z+4>>2]|0)-w>>2>>>0<=x>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)Cq(y);return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Ja,t=Ja,u=Ja,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=tn(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|s>$(t*u)){r=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;j=~~$(W($(s/u)))>>>0;Di(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=La[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0>>0?(q=o+(k<<2)|0,(p|0)!=(q|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{zi(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=ah(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0>>0?(r=m+(d<<2)|0,(n|0)!=(r|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{zi(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Nf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((v|0)==(i|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);pr(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}function _d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Qc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function $d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Rc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Sc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function be(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Tc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Uc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Vc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=2097152;if(d){d=2097152;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Bf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1} +function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Wc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=1048576;if(d){d=1048576;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Cf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Xc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=262144;if(d){d=262144;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Df(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Yc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=131072;if(d){d=131072;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Ef(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Zc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=32768;if(d){d=32768;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Hf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));_c(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));$c(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));ad(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));bd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));cd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));dd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));ed(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));fd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=f[e>>2]|0;n=c;o=e;p=h}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=r>>>(g+u|0)|f[s>>2]&~(-1>>>(32-w|0));f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=x;n=v;o=e;p=h-q|0}q=32-m|0;h=-1<31){m=~h;e=f[d>>2]|0;v=p+-32|0;x=v>>>5;c=x+1|0;w=v-(x<<5)|0;x=f[e>>2]|0;v=e;s=p;u=n;while(1){g=f[u>>2]|0;r=x&m;f[v>>2]=r;f[v>>2]=g<>2]|r;v=v+4|0;x=f[v>>2]&h|g>>>q;f[v>>2]=x;s=s+-32|0;if((s|0)<=31)break;else u=u+4|0}u=n+(c<<2)|0;f[b>>2]=u;f[d>>2]=e+(c<<2);y=u;z=w}else{y=n;z=p}if((z|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[y>>2]&-1>>>(32-z|0);y=(q|0)<(z|0)?q:z;n=f[d>>2]|0;w=f[n>>2]&~(-1<>2]&-1>>>(q-y|0));f[n>>2]=w;f[n>>2]=w|p<>2];w=(f[o>>2]|0)+y|0;q=n+(w>>>5<<2)|0;f[d>>2]=q;f[o>>2]=w&31;w=z-y|0;if((w|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[q>>2]=f[q>>2]&~(-1>>>(32-w|0))|p>>>y;f[o>>2]=w;i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Fe(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Fe(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Fe(p,e,i,i+1|0)|0;u=d;return 1}function se(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=n;y=p}else{z=l;Cq(z)}while(1){f[j>>2]=f[x+(y<<2)>>2];f[i>>2]=f[j>>2];ob(k,i,b,y)|0;l=X(y,e)|0;p=b+(l<<2)|0;n=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=l;l=0;a=o;while(1){if((m|0)>0){A=0;do{B=f[a+(A<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;A=(f[p+(l<<2)>>2]|0)-(f[F+(l<<2)>>2]|0)|0;C=n+(l<<2)|0;f[C>>2]=A;if((A|0)>=(f[t>>2]|0)){if((A|0)>(f[w>>2]|0)){G=A-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+A|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}l=l+1|0;m=f[g>>2]|0;if((l|0)>=(m|0))break;else a=F}}y=y+-1|0;if((y|0)<=-1){H=3;break}a=f[d>>2]|0;x=f[a>>2]|0;if((f[a+4>>2]|0)-x>>2>>>0<=y>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)Cq(z);return 0}function te(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=n;y=p}else{z=l;Cq(z)}while(1){f[j>>2]=f[x+(y<<2)>>2];f[i>>2]=f[j>>2];nb(k,i,b,y)|0;l=X(y,e)|0;p=b+(l<<2)|0;n=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=l;l=0;a=o;while(1){if((m|0)>0){A=0;do{B=f[a+(A<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;A=(f[p+(l<<2)>>2]|0)-(f[F+(l<<2)>>2]|0)|0;C=n+(l<<2)|0;f[C>>2]=A;if((A|0)>=(f[t>>2]|0)){if((A|0)>(f[w>>2]|0)){G=A-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+A|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}l=l+1|0;m=f[g>>2]|0;if((l|0)>=(m|0))break;else a=F}}y=y+-1|0;if((y|0)<=-1){H=3;break}a=f[d>>2]|0;x=f[a>>2]|0;if((f[a+4>>2]|0)-x>>2>>>0<=y>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)Cq(z);return 0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)Cq(a);p=k<<6;k=b+31&-32;si(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;qm(q|0,k|0,p<<2|0)|0;k=r-(p<<5)|0;r=q+(p<<2)|0;s=r;if((k|0)>0){t=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~t|f[l+(p<<2)>>2]&t;v=s;w=k}else{v=s;w=0}}else{v=q;w=0}f[g>>2]=v;f[g+4>>2]=w;w=g;g=f[w>>2]|0;v=f[w+4>>2]|0;w=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=w;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(w|0)pr(w);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=x;A=v;B=m}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;pj(z|0,-1,b<<2|0)|0;z=B-(b<<5)|0;B=A+(b<<2)|0;if(!z){u=d;return}f[B>>2]=f[B>>2]|-1>>>(32-z|0);u=d;return}else{if(i){C=x;D=v;E=m}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;pj(C|0,0,i<<2|0)|0;C=E-(i<<5)|0;E=D+(i<<2)|0;if(!C){u=d;return}f[E>>2]=f[E>>2]&~(-1>>>(32-C|0));u=d;return}}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=f[e>>2]|0;o=c;p=e;q=i}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=w;o=u;p=c;q=i-r|0}r=32-n|0;i=-1<31){n=~i;c=o;u=q;do{w=f[c>>2]|0;v=f[d>>2]|0;e=f[v>>2]&n;f[v>>2]=e;f[v>>2]=w<>2]|e;e=v+4|0;f[d>>2]=e;f[e>>2]=f[e>>2]&i|w>>>r;u=u+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((u|0)>31);x=c;y=q&31}else{x=o;y=q}if((y|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}q=f[x>>2]&-1>>>(32-y|0);x=(r|0)<(y|0)?r:y;o=f[d>>2]|0;c=f[o>>2]&~(-1<>2]&-1>>>(r-x|0));f[o>>2]=c;f[o>>2]=c|q<>2];c=(f[p>>2]|0)+x|0;r=o+(c>>>5<<2)|0;f[d>>2]=r;f[p>>2]=c&31;c=y-x|0;if((c|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[r>>2]=f[r>>2]&~(-1>>>(32-c|0))|q>>>x;f[p>>2]=c;j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function we(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=g;g=0;while(1){f[d>>2]=(g>>>0)/3|0;f[c>>2]=f[d>>2];if(!(ak(a,c)|0)?(m=f[e>>2]|0,(f[(f[m+12>>2]|0)+(g<<2)>>2]|0)==-1):0){n=g+1|0;o=((n>>>0)%3|0|0)==0?g+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[m>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){m=f[k>>2]|0;n=f[l>>2]|0;if((m|0)==(n<<5|0)){if((m+1|0)<0){q=11;break}r=n<<6;n=m+32&-32;si(j,m>>>0<1073741823?(r>>>0>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=m;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=o;o=g;while(1){f[r>>2]=m;n=o+1|0;a:do if((o|0)!=-1?(v=((n>>>0)%3|0|0)==0?o+-2|0:n,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=-1;C=y}else{B=f[(f[w>>2]|0)+(A<<2)>>2]|0;C=y}}else{B=-1;C=-1}while(0);r=t+(B<<2)|0;if((f[r>>2]|0)!=-1)break;else o=C}}}}o=g+1|0;if(o>>>0>=h>>>0){q=3;break}a=f[e>>2]|0;g=o}if((q|0)==3){u=b;return 1}else if((q|0)==11)Cq(j);return 0}function xe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Ej(d)|0;if(l>>>0>4294967279)Cq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=tn(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){eh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Ej(e)|0;if(l>>>0>4294967279)Cq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=tn(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){eh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Ej(d)|0;if(l>>>0>4294967279)Cq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=tn(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){eh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Ej(e)|0;if(l>>>0>4294967279)Cq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=tn(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){eh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;un(c,i,j);if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);k=1;u=a;return k|0}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];f[a+132>>2]=f[c+132>>2];return}function ze(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Qh(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0>28){q=0;r=g}else{f[k>>2]=p;c=1<>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))s=g;else{g=d+84|0;c=d+68|0;t=d+48|0;v=d+40|0;w=p;p=0;x=0;while(1){y=f[w+(x<<2)>>2]|0;if(!(b[g>>0]|0))z=f[(f[c>>2]|0)+(y<<2)>>2]|0;else z=y;y=t;A=f[y>>2]|0;B=f[y+4>>2]|0;y=v;C=f[y>>2]|0;D=En(C|0,f[y+4>>2]|0,z|0,0)|0;y=go(D|0,I|0,A|0,B|0)|0;eh(j|0,(f[f[d>>2]>>2]|0)+y|0,C|0)|0;Jf(k,j,l,m);f[o+(p<<2)>>2]=f[l>>2];f[o+((p|1)<<2)>>2]=f[m>>2];x=x+1|0;w=f[e>>2]|0;if(x>>>0>=(f[n>>2]|0)-w>>2>>>0)break;else p=p+2|0}s=f[i>>2]|0}f[i>>2]=0;q=s;r=0}f[a>>2]=q;f[i>>2]=0;if(!r){u=h;return}i=r+88|0;q=f[i>>2]|0;f[i>>2]=0;if(q|0){i=f[q+8>>2]|0;if(i|0){a=q+12|0;if((f[a>>2]|0)!=(i|0))f[a>>2]=i;pr(i)}pr(q)}q=f[r+68>>2]|0;if(q|0){i=r+72|0;a=f[i>>2]|0;if((a|0)!=(q|0))f[i>>2]=a+(~((a+-4-q|0)>>>2)<<2);pr(q)}q=r+64|0;a=f[q>>2]|0;f[q>>2]=0;if(a|0){q=f[a>>2]|0;if(q|0){i=a+4|0;if((f[i>>2]|0)!=(q|0))f[i>>2]=q;pr(q)}pr(a)}pr(r);u=h;return}function Ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=h;j=c;do{f[i>>2]=-1;Qk(i+4|0);b[i+100>>0]=1;k=i+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;i=(f[g>>2]|0)+136|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/136|0;h=i+c|0;if(h>>>0>31580641)Cq(a);k=(e-j|0)/136|0;j=k<<1;e=k>>>0<15790320?(j>>>0>>0?h:j):31580641;do if(e)if(e>>>0>31580641){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{l=tn(e*136|0)|0;break}else l=0;while(0);j=l+(i*136|0)|0;i=j;h=l+(e*136|0)|0;e=j;l=c;c=i;do{f[e>>2]=-1;Qk(e+4|0);b[e+100>>0]=1;k=e+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;e=c+136|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=f[g>>2]|0;if((e|0)==(l|0)){m=i;n=l;o=l}else{k=j;j=e;e=i;do{j=j+-136|0;ye(k+-136|0,j);k=e+-136|0;e=k}while((j|0)!=(l|0));m=e;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);pr(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);pr(o)}Ki(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;pr(n);return}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;ai((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=k;k=0;do{s=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[r+(k<<2)>>2]<<2)>>2]|0;b[h>>0]=f[s+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[s+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[s+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[s+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}ai(f[s+60>>2]|0,c)|0;k=k+1|0;r=f[i>>2]|0}while(k>>>0<(f[j>>2]|0)-r>>2>>>0);u=d;return 1}function Ce(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Qh(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;bq(i);fp(i,$(n[c+20>>2]),(1<>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){nr(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=En(z|0,f[j+4>>2]|0,x|0,0)|0;j=go(A|0,I|0,m|0,y|0)|0;eh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0>>0);nr(g);u=h;return}while(1){k=f[e+(w<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=En(j|0,f[k+4>>2]|0,B|0,0)|0;k=go(y|0,I|0,x|0,z|0)|0;eh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=v;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($($(f[c>>2]|0)*F)+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}w=w+1|0;if(w>>>0>=t>>>0)break;else v=l+v|0}nr(g);u=h;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;Kp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;Kp(k);l=b+4|0;if((a|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+8;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(a,g,e)}l=b+28|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+32;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+20|0;b=c;c=m;m=0;while(1){o=f[(f[c+(m<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Bd(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=m;w=c;x=b}}else{v=m;w=c;x=b}m=v+1|0;f[j>>2]=m;if((m|0)>=(x-w>>2|0))break;else{b=x;c=w}}u=d;return}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;ai(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}function Fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=o;u=r;while(1){b[t>>0]=b[u>>0]|0;u=u+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((u|0)==(e|0)){s=v;break}else t=v}}if((q|0)>0){w=s;x=r}else{k=c;return k|0}}else{w=o;x=e}r=w-(c+j)|0;s=c+r|0;if(s>>>0>>0){q=w;t=s;do{b[q>>0]=b[t>>0]|0;t=t+1|0;q=(f[n>>2]|0)+1|0;f[n>>2]=q}while((t|0)!=(o|0))}if(r|0)qm(w+(0-r)|0,c|0,r|0)|0;if((x|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(x|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)Cq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0>>0?z:h):2147483647;h=c;if(!m)A=0;else A=tn(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=g;C=i}else{g=z;m=d;d=i;do{b[g>>0]=b[m>>0]|0;g=d+1|0;d=g;m=m+1|0}while((m|0)!=(e|0));B=f[a>>2]|0;C=d}d=h-B|0;e=z+(0-d)|0;if((d|0)>0)eh(e|0,B|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=C;eh(h|0,c|0,d|0)|0;D=f[a>>2]|0;E=h+d|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=E;f[l>>2]=j;if(!D){k=z;return k|0}pr(D);k=z;return k|0}function Ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=tn(40)|0;No(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=tn(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14756;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Hh(h,g)|0)!=0):0)t=Ik(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Ik(i,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=tn(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));No(c);f[c>>2]=2560;f[c+40>>2]=1232;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=tn(64)|0;Gm(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=tn(36)|0;Om(c);j=c;k=j;f[a>>2]=k;u=e;return}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=f[e+8>>2]|0;c=g+12|0;if(b[c>>0]|0){h=23;break}i=g+8|0;j=f[i>>2]|0;d=f[j>>2]|0;if((d|0)==(g|0)){k=f[j+4>>2]|0;if(!k){h=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{h=7;break}}else{if(!d){h=16;break}l=d+12|0;if(!(b[l>>0]|0))m=l;else{h=16;break}}b[c>>0]=1;c=(j|0)==(a|0);b[j+12>>0]=c&1;b[m>>0]=1;if(c){h=23;break}else e=j}if((h|0)==7){if((f[g>>2]|0)==(e|0)){n=g;o=j}else{m=g+4|0;a=f[m>>2]|0;c=f[a>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[i>>2]|0}f[a+8>>2]=p;p=f[i>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=a;f[a>>2]=g;f[i>>2]=a;n=a;o=f[a+8>>2]|0}b[n+12>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;a=n+4|0;p=f[a>>2]|0;f[o>>2]=p;if(p|0)f[p+8>>2]=o;p=o+8|0;f[n+8>>2]=f[p>>2];c=f[p>>2]|0;f[((f[c>>2]|0)==(o|0)?c:c+4|0)>>2]=n;f[a>>2]=o;f[p>>2]=n;return}else if((h|0)==16){if((f[g>>2]|0)==(e|0)){e=f[g>>2]|0;n=e+4|0;p=f[n>>2]|0;f[g>>2]=p;if(!p)q=j;else{f[p+8>>2]=g;q=f[i>>2]|0}f[e+8>>2]=q;q=f[i>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=e;f[n>>2]=g;f[i>>2]=e;r=e;s=f[e+8>>2]|0}else{r=g;s=j}b[r+12>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;g=f[j>>2]|0;f[r>>2]=g;if(g|0)f[g+8>>2]=s;g=s+8|0;f[j+8>>2]=f[g>>2];r=f[g>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[g>>2]=j;return}else if((h|0)==23)return}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Ji(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Ji(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=j;l=d}else{k=j;l=d}break}default:{k=g;l=0}}if((k+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=k;k=0;while(1){k=g+-48+(k*10|0)|0;d=f[c>>2]|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;o=h[d>>0]|0}else o=Ji(a)|0;if(!((o+-48|0)>>>0<10&(k|0)<214748364))break;else g=o}g=((k|0)<0)<<31>>31;if((o+-48|0)>>>0<10){d=k;j=g;b=o;while(1){i=En(d|0,j|0,10,0)|0;p=I;q=go(b|0,((b|0)<0)<<31>>31|0,-48,-1)|0;r=go(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Ji(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){d=r;j=p;b=s}else{t=r;u=p;v=s;break}}}else{t=k;u=g;v=o}o=f[e>>2]|0;if((v+-48|0)>>>0<10){v=o;while(1){g=f[c>>2]|0;if(g>>>0>>0){f[c>>2]=g+1;w=v;x=h[g>>0]|0}else{g=Ji(a)|0;w=f[e>>2]|0;x=g}if((x+-48|0)>>>0<10)v=w;else{y=w;break}}}else y=o;if(y|0)f[c>>2]=(f[c>>2]|0)+-1;c=(l|0)!=0;l=io(0,0,t|0,u|0)|0;m=c?I:u;n=c?l:t}I=m;return n|0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=n;i=-1;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=q;i=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0}while(0);if(c){c=(f[a+84>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(i<<2)>>2]|0;d=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(!g){g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)==-1){s=-1;t=h}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=h}}else{s=-1;t=-1}if((s|0)==(i|0)){u=r;return u|0}h=f[a+84>>2]|0;a=s;s=t;t=r;while(1){r=h+(a>>>5<<2)|0;f[r>>2]=f[r>>2]|1<<(a&31);r=t+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){d=f[b>>2]|0;q=f[d+12>>2]|0;p=c;while(1){c=f[q+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}q=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((q|0)==-1){v=-1;w=p}else{v=f[(f[d>>2]|0)+(q<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(i|0)){u=r;break}else{a=v;s=w;t=r}}return u|0}function Ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Qh(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;bq(h);fp(h,$(n[c+20>>2]),(1<>>0>1073741823?-1:j<<2)|0;if(!e){nr(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=En(y|0,f[v+4>>2]|0,t|0,0)|0;v=go(z|0,I|0,w|0,x|0)|0;eh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));nr(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=En(v|0,f[i+4>>2]|0,A|0,0)|0;i=go(x|0,I|0,t|0,y|0)|0;eh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($($(f[c>>2]|0)*E)+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=j+r|0}nr(k);u=g;return}function Le(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;nl(n);o=a+1088|0;nl(o);p=a+1068|0;nl(p);q=a+1036|0;Dj(q);r=a+12|0;Nh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+1108|0;nl(n);o=a+1088|0;nl(o);p=a+1068|0;nl(p);q=a+1036|0;Dj(q);r=a+12|0;Nh(r);return}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Na[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Na[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)Cq(e);else{l=a<<2;m=tn(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;pj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);pr(q)}j=1;u=d;return j|0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Oh(a+12|0);Gn(a+1036|0);Ho(a+1068|0);Ho(a+1088|0);Ho(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+1164|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+1176|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Oe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=o;r=o;o=n;n=0;while(1){s=f[c+(n<<2)>>2]|0;t=f[k>>2]|0;if(t-o>>2>>>0>s>>>0){v=q;w=r}else{x=s+1|0;f[h>>2]=0;y=t-o>>2;z=o;A=t;if(x>>>0<=y>>>0)if(x>>>0>>0?(t=z+(x<<2)|0,(A|0)!=(t|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=q}else B=q;else{zh(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(s<<2)|0;x=f[y>>2]|0;o=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,s>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=s;C=0.0}else C=0.0;else{D=+(x|0);C=D*+Ug(D)}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=D*+Ug(D)-C;p[a>>3]=+p[a>>3]+E;n=n+1|0;if((n|0)==(d|0))break;else{q=v;r=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Qe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=n;r=m;s=k}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Fe(j,d,g,g+1|0)|0;q=f[k>>2]|0;r=f[l>>2]|0;s=k}a:do if((q|0)!=(r|0)){k=a+4|0;l=q;while(1){g=f[l>>2]|0;l=l+4|0;if(!(Na[f[(f[g>>2]|0)+8>>2]&31](g,a,f[k>>2]|0)|0)){h=0;break}if((l|0)==(r|0))break a}u=c;return h|0}while(0);if(!(sc(a)|0)){h=0;u=c;return h|0}r=a+32|0;q=f[r>>2]|0;l=a+36|0;k=f[l>>2]|0;b:do if((q|0)!=(k|0)){g=q;do{if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(k|0));if((t|0)==18){u=c;return h|0}g=f[r>>2]|0;d=f[l>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[s>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ma[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)Cq(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=d+12|0;f[k>>2]=m+(l<<2);l=f[b>>2]|0;f[b>>2]=0;f[g>>2]=l;f[h>>2]=g+4;g=f[a>>2]|0;l=f[e>>2]|0;if((l|0)==(g|0)){n=i;o=f[i>>2]|0;p=g;q=l;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ii(d);u=c;return}b=f[i>>2]|0;m=l;do{m=m+-4|0;l=f[m>>2]|0;f[m>>2]=0;f[b+-4>>2]=l;b=(f[i>>2]|0)+-4|0;f[i>>2]=b}while((m|0)!=(g|0));n=i;o=b;p=f[a>>2]|0;q=f[e>>2]|0;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ii(d);u=c;return}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Gn(a+12|0);Ho(a+44|0);Ho(a+64|0);Ho(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+140|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+152|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Ho(a+12|0);Ho(a+32|0);Ho(a+52|0);Ho(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+128|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+140|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=tn(40)|0;e=d+16|0;nj(e,c);nj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0>>0?n:j;if((l|0)!=0?(o=Yk(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;He(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;He(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function Ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+32|0;e=d+12|0;g=d;h=rl(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)Cq(e);else{n=tn(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);pj(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;f[c>>2]=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2];s=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=s;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=f[c>>2];f[o+(q*12|0)+8>>2]=s;q=q+1|0}while(q>>>0>>0)}while(0);Ij(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);pr(a)}u=d;return}function We(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3808;ti(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}hj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+140>>2]|0;if(b|0)pr(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;pr(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)pr(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0)pr(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ei(a);pr(a);return}function Xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+140|0;c=f[b>>2]|0;if(c|0){d=a+144|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;nl(n);o=a+52|0;nl(o);p=a+32|0;nl(p);q=a+12|0;nl(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+72|0;nl(n);o=a+52|0;nl(o);p=a+32|0;nl(p);q=a+12|0;nl(q);return}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(k|0)!=(j|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else zh(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(rb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=i;i=0;while(1){f[d>>2]=f[a+(i<<2)>>2];f[c>>2]=f[d>>2];i=i+1|0;if(!(rb(e,c)|0)){n=0;o=15;break}g=f[l>>2]|0;a=f[g>>2]|0;if(i>>>0>=(f[g+4>>2]|0)-a>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function Ze(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+152|0;c=f[b>>2]|0;if(c|0){d=a+156|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;nl(n);o=a+64|0;nl(o);p=a+44|0;nl(p);q=a+12|0;Dj(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+84|0;nl(n);o=a+64|0;nl(o);p=a+44|0;nl(p);q=a+12|0;Dj(q);return}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function $e(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3608;sj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}hj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+140>>2]|0;if(b|0)pr(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;pr(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)pr(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0)pr(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ei(a);pr(a);return}function af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=tn(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3784;f[j+12>>2]=3764;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3764;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3764;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;hh(h+8|0,m,g);Qa[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];dg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Qg(j,i);f[a>>2]=o;Mi(i);f[h>>2]=3764;i=f[h+20>>2]|0;if(i|0)pr(i);i=f[h+8>>2]|0;if(!i){u=e;return}pr(i);u=e;return}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}Dg(a+12|0);d=a+1068|0;Rm(d);m=a+1088|0;Rm(m);k=a+1108|0;Rm(k);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];cb(a,i,h);h=0;do{hd(a+12+(h<<5)|0,e);h=h+1|0}while((h|0)!=32);hd(a+1036|0,e);Ag(d,e);Ag(m,e);Ag(k,e);u=g;return 1}function df(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}Dg(a+12|0);d=a+1068|0;Rm(d);m=a+1088|0;Rm(m);k=a+1108|0;Rm(k);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];eb(a,i,h);h=0;do{hd(a+12+(h<<5)|0,e);h=h+1|0}while((h|0)!=32);hd(a+1036|0,e);Ag(d,e);Ag(m,e);Ag(k,e);u=g;return 1}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,h,h+4|0)|0}Gn(i);gl(i);if((f[h>>2]|0)>0){k=a+56|0;l=0;m=1;do{n=m;m=(f[(f[k>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)!=0;dj(i,n^m^1);l=l+1|0}while((l|0)<(f[h>>2]|0))}hd(i,b);f[g>>2]=f[a+12>>2];h=j;l=f[h>>2]|0;m=f[h+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=m;p=l}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;l=j;o=f[l+4>>2]|0;p=f[l>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Dj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(i);u=c;return 1}function ff(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=tn(96)|0;xl(j,c);f[h>>2]=j;j=qh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;pr(h)}pr(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);pr(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;pr(k)}pr(l)}pr(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){zh(m,h-q|0,6376);break}if(h>>>0>>0?(q=p+(h<<2)|0,(r|0)!=(q|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}zj(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function gf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)nr(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=o;w=q}else{x=g;Cq(x)}while(1){f[k>>2]=f[v+(w<<2)>>2];f[h>>2]=f[k>>2];wc(a,h,b,w);g=X(w,e)|0;q=b+(g<<2)|0;o=f[l>>2]|0;n=c+(g<<2)|0;g=f[q+4>>2]|0;y=f[o>>2]|0;z=f[o+4>>2]|0;f[i>>2]=f[q>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Nd(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];w=w+-1|0;if((w|0)<=-1){A=5;break}n=f[m>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)Cq(x);return 0}function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;pr(a)}if((b[s+11>>0]|0)<0)pr(f[s>>2]|0);pr(d);return c|0}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+56|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(h*12|0)>>2]|0;s=r-p|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((m|0)==(n|0)){Ti(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[m>>2]=t;t=m+4|0;f[e>>2]=t;v=t;w=n}t=f[q+(h*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ti(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(h*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ti(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=h+1|0;if(t>>>0>=j>>>0)break;m=f[e>>2]|0;n=f[i>>2]|0;o=f[g>>2]|0;h=t;p=r}k=f[c>>2]|0;l=f[e>>2]|0}Hc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);pr(a);u=b;return 1}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,h,h+4|0)|0}Gn(i);gl(i);if((f[h>>2]|0)>0){k=a+76|0;l=0;m=1;do{n=m;m=(f[(f[k>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)!=0;dj(i,n^m^1);l=l+1|0}while((l|0)<(f[h>>2]|0))}hd(i,b);f[g>>2]=f[a+12>>2];h=j;l=f[h>>2]|0;m=f[h+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=m;p=l}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;l=j;o=f[l+4>>2]|0;p=f[l>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Dj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(i);u=c;return 1}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=tn(76)|0;j=tn(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=4052;f[j+8>>2]=k;f[h>>2]=j;vl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Ng(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Qa[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Qa[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ti(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0>>0?(g=m+(i<<2)|0,(p|0)!=(g|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{zh(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function mf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)nr(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=o;w=q}else{x=g;Cq(x)}while(1){f[k>>2]=f[v+(w<<2)>>2];f[h>>2]=f[k>>2];vc(a,h,b,w);g=X(w,e)|0;q=b+(g<<2)|0;o=f[l>>2]|0;n=c+(g<<2)|0;g=f[q+4>>2]|0;y=f[o>>2]|0;z=f[o+4>>2]|0;f[i>>2]=f[q>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Nd(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];w=w+-1|0;if((w|0)<=-1){A=5;break}n=f[m>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)Cq(x);return 0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){m=c;p=f[m+4>>2]|0;q=j;f[q>>2]=f[m>>2];f[q+4>>2]=p;o=o+-1|0;if(!o)break;else j=j+8|0}}if(!l){j=h+(b<<3)|0;if((n|0)==(j|0))return;else{r=i;s=n+(~((n+-8-j|0)>>>3)<<3)|0;break}}else{j=b-k|0;o=n;p=j;while(1){q=c;m=f[q+4>>2]|0;t=o;f[t>>2]=f[q>>2];f[t+4>>2]=m;p=p+-1|0;if(!p)break;else o=o+8|0}r=i;s=n+(j<<3)|0;break}}else{o=g;if(!g)u=e;else{p=a+4|0;k=f[p>>2]|0;if((k|0)!=(h|0))f[p>>2]=k+(~((k+-8-g|0)>>>3)<<3);pr(o);f[d>>2]=0;f[p>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)Cq(a);p=u>>2;o=u>>3>>>0<268435455?(p>>>0>>0?b:p):536870911;if(o>>>0>536870911)Cq(a);p=tn(o<<3)|0;k=a+4|0;f[k>>2]=p;f[a>>2]=p;f[d>>2]=p+(o<<3);o=p;l=b;while(1){m=c;t=f[m+4>>2]|0;q=o;f[q>>2]=f[m>>2];f[q+4>>2]=t;l=l+-1|0;if(!l)break;else o=o+8|0}r=k;s=p+(b<<3)|0}while(0);f[r>>2]=s;return}function of(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=26;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=26;break}l=f[l>>2]|0;if(!l){j=0;p=26;break}}if((p|0)==26)return j|0}else q=a;while(1){a=f[q+4>>2]|0;l=(a|0)==(b|0);if(!l){if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=26;break}if(l)p=22}else p=22;if(((((p|0)==22?(p=0,l=q+8|0,(d[l>>1]|0)==c<<16>>16):0)?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=26;break}q=f[q>>2]|0;if(!q){j=0;p=26;break}}if((p|0)==26)return j|0;return 0}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=26;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=26;break}l=f[l>>2]|0;if(!l){j=0;p=26;break}}if((p|0)==26)return j|0}else q=a;while(1){a=f[q+4>>2]|0;l=(a|0)==(c|0);if(!l){if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=26;break}if(l)p=22}else p=22;if(((((p|0)==22?(p=0,l=q+8|0,(b[l>>0]|0)==d<<24>>24):0)?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=26;break}q=f[q>>2]|0;if(!q){j=0;p=26;break}}if((p|0)==26)return j|0;return 0}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=0;do{i=h;h=h+1|0;j=a+40+(i*12|0)+4|0;ai(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);gl(d);k=(f[j>>2]|0)-h|0;if((k|0)>-1){j=a+40+(i*12|0)|0;l=k;do{k=0;while(1){m=k+l|0;dj(d,(f[(f[j>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((k|0)<(i|0))k=k+1|0;else break}l=l-h|0}while((l|0)>-1)}hd(d,b);Dj(d)}}while((h|0)<4);f[g>>2]=f[a+12>>2];h=b+16|0;l=h;i=f[l>>2]|0;j=f[l+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=j;o=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;i=h;n=f[i+4>>2]|0;o=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((n|0)>0|(n|0)==0&o>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=0;do{i=h;h=h+1|0;j=a+60+(i*12|0)+4|0;ai(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);gl(d);k=(f[j>>2]|0)-h|0;if((k|0)>-1){j=a+60+(i*12|0)|0;l=k;do{k=0;while(1){m=k+l|0;dj(d,(f[(f[j>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((k|0)<(i|0))k=k+1|0;else break}l=l-h|0}while((l|0)>-1)}hd(d,b);Dj(d)}}while((h|0)<4);f[g>>2]=f[a+12>>2];h=b+16|0;l=h;i=f[l>>2]|0;j=f[l+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=j;o=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;i=h;n=f[i+4>>2]|0;o=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((n|0)>0|(n|0)==0&o>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function sf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))vi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=0;while(1){h=d*3|0;i=f[o+(h<<2)>>2]|0;if((i|0)==-1){q=0;r=11;break}g=f[(f[m>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=p>>>0){q=0;r=11;break}i=f[a>>2]|0;f[i+(f[c+(d*12|0)>>2]<<2)>>2]=k;k=f[o+(h+1<<2)>>2]|0;if((k|0)==-1){q=0;r=11;break}l=f[g+(k<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+4>>2]<<2)>>2]=l;l=f[o+(h+2<<2)>>2]|0;if((l|0)==-1){q=0;r=11;break}h=f[g+(l<<2)>>2]|0;if(h>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+8>>2]<<2)>>2]=h;d=d+1|0;if(d>>>0>=e>>>0){q=1;r=11;break}}if((r|0)==11)return q|0;return 0}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)Cq(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1260;f[k+(e*24|0)+4>>2]=f[b+4>>2];ik(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=d;d=k;k=g;do{f[j+-24>>2]=1260;f[j+-20>>2]=f[d+-20>>2];g=j+-16|0;o=d+-16|0;f[g>>2]=0;p=j+-12|0;f[p>>2]=0;f[j+-8>>2]=0;f[g>>2]=f[o>>2];g=d+-12|0;f[p>>2]=f[g>>2];p=d+-8|0;f[j+-8>>2]=f[p>>2];f[p>>2]=0;f[g>>2]=0;f[o>>2]=0;f[j+-4>>2]=f[d+-4>>2];d=d+-24|0;j=k+-24|0;k=j}while((d|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Qa[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;pr(m);return}function wf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Rm(d);m=a+32|0;Rm(m);k=a+52|0;Rm(k);j=a+72|0;Rm(j);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];bb(a,i,h);Ag(d,e);Ag(m,e);Ag(k,e);Ag(j,e);u=g;return 1}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3716;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Cq(i);else{o=((n+-1|0)>>>5)+1|0;p=tn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Cq(i);k=((l+-1|0)>>>5)+1|0;l=tn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);u=c;return}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=26;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=26;break}k=f[k>>2]|0;if(!k){i=0;o=26;break}}if((o|0)==26)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(b|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=26;break}if(k)o=22}else o=22;if(((((o|0)==22?(o=0,(f[p+8>>2]|0)==(c|0)):0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=26;break}p=f[p>>2]|0;if(!p){i=0;o=26;break}}if((o|0)==26)return i|0;return 0}function zf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;gl(d);m=a+44|0;Rm(m);k=a+64|0;Rm(k);j=a+84|0;Rm(j);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];fb(a,i,h);hd(d,e);Ag(m,e);Ag(k,e);Ag(j,e);u=g;return 1}function Af(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-4177920|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+4194304|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1077936128|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-2080768|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+6291456|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1075838976|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-1032192|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+7340032|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1074790400|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-245760|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8126464|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1074003968|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-114688|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8257536|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1073872896|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=o;x=q}else{y=m;Cq(y)}while(1){f[k>>2]=f[w+(x<<2)>>2];f[h>>2]=f[k>>2];ob(l,h,b,x)|0;m=X(x,e)|0;q=b+(m<<2)|0;o=c+(m<<2)|0;m=f[q+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[q>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Nd(h,p,i,j);f[o>>2]=f[h>>2];f[o+4>>2]=f[v>>2];x=x+-1|0;if((x|0)<=-1){A=3;break}o=f[g>>2]|0;w=f[o>>2]|0;if((f[o+4>>2]|0)-w>>2>>>0<=x>>>0){y=o;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)Cq(y);return 0}function Gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3764;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Cq(i);else{o=((n+-1|0)>>>5)+1|0;p=tn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Cq(i);k=((l+-1|0)>>>5)+1|0;l=tn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);u=c;return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-16384|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8355840|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1073774592|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function If(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;yd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;wd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Ja,g=0.0,h=Ja,i=0.0,j=Ja,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=$(n[b>>2]);g=+$(K($(e)));h=$(n[b+4>>2]);i=g+ +$(K($(h)));j=$(n[b+8>>2]);g=i+ +$(K($(j)));b=g>1.0e-06;i=1.0/g;k=f[a+12>>2]|0;g=+(k|0);l=~~+J(+(g*(b?+e*i:1.0)+.5));m=~~+J(+(g*(b?+h*i:0.0)+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?+j*i:0.0)<0.0?0-m|0:m;if(!o){o=(p|0)>-1?p:0-p|0;if((q|0)<0)r=o;else r=(f[a+8>>2]|0)-o|0;o=(q|0)>-1?q:0-q|0;if((p|0)<0){s=r;t=o}else{s=r;t=(f[a+8>>2]|0)-o|0}}else{s=k+q|0;t=k+p|0}p=(s|0)==0;q=(t|0)==0;o=f[a+8>>2]|0;if(!(t|s)){u=o;v=o;f[c>>2]=u;f[d>>2]=v;return}a=(o|0)==(t|0);r=(o|0)==(s|0);if(p&a|q&r){u=o;v=o;f[c>>2]=u;f[d>>2]=v;return}if(p&(k|0)<(t|0)){u=0;v=(k<<1)-t|0;f[c>>2]=u;f[d>>2]=v;return}if(r&(k|0)>(t|0)){u=s;v=(k<<1)-t|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(s|0)){u=(k<<1)-s|0;v=t;f[c>>2]=u;f[d>>2]=v;return}if(!q){u=s;v=t;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(s|0)?(k<<1)-s|0:s;v=0;f[c>>2]=u;f[d>>2]=v;return}function Kf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=o;x=q}else{y=m;Cq(y)}while(1){f[k>>2]=f[w+(x<<2)>>2];f[h>>2]=f[k>>2];nb(l,h,b,x)|0;m=X(x,e)|0;q=b+(m<<2)|0;o=c+(m<<2)|0;m=f[q+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[q>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Nd(h,p,i,j);f[o>>2]=f[h>>2];f[o+4>>2]=f[v>>2];x=x+-1|0;if((x|0)<=-1){A=3;break}o=f[g>>2]|0;w=f[o>>2]|0;if((f[o+4>>2]|0)-w>>2>>>0<=x>>>0){y=o;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)Cq(y);return 0}function Lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;b[n>>0]=j;o=2;p=n+1|0;q=l;r=j>>>8;s=9;break}if(k>>>0<4194304){n=(f[i>>2]|0)+m|0;t=j+8372224|0;b[n>>0]=t;b[n+1>>0]=t>>>8;o=3;p=n+2|0;q=l;r=t>>>16;s=9;break}if(k>>>0<1073741824){t=(f[i>>2]|0)+m|0;n=j+-1073758208|0;b[t>>0]=n;b[t+1>>0]=n>>>8;b[t+2>>0]=n>>>16;o=4;p=t+3|0;q=l;r=n>>>24;s=9}else v=m}else{m=a+28|0;o=1;p=(f[i>>2]|0)+(f[m>>2]|0)|0;q=m;r=k;s=9}while(0);if((s|0)==9){b[p>>0]=r;v=(f[q>>2]|0)+o|0}o=((v|0)<0)<<31>>31;Rn(e);uh(v,o,e)|0;q=e+4|0;r=(f[q>>2]|0)-(f[e>>2]|0)|0;qm(h+r|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,r|0)|0;h=g;g=f[h>>2]|0;p=f[h+4>>2]|0;h=go(r|0,0,v|0,o|0)|0;o=go(h|0,I|0,g|0,p|0)|0;Gl(c,o,I);o=e+12|0;c=f[o>>2]|0;f[o>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[q>>2]|0)!=(c|0))f[q>>2]=c;pr(c);u=d;return}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)qm(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((c|0)==(b|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);pr(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)Cq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(m>>>0>1073741823)Cq(a);h=tn(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((m|0)==(k|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);return}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){pj(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)Cq(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{n=tn(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;pj(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=d;d=h;h=j;do{j=i+-12|0;b=d;d=d+-12|0;f[j>>2]=0;n=i+-8|0;f[n>>2]=0;f[i+-4>>2]=0;f[j>>2]=f[d>>2];j=b+-8|0;f[n>>2]=f[j>>2];n=b+-4|0;f[i+-4>>2]=f[n>>2];f[n>>2]=0;f[j>>2]=0;f[d>>2]=0;i=h+-12|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);pr(m)}}while((c|0)!=(g|0))}if(!p)return;pr(p);return}function Of(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=24;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=24;break}k=f[k>>2]|0;if(!k){i=0;o=24;break}}if((o|0)==24)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(b|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=24;break}if(k)o=21}else o=21;if((((o|0)==21?(o=0,k=p+8|0,(d[k>>1]|0)==c<<16>>16):0)?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=24;break}p=f[p>>2]|0;if(!p){i=0;o=24;break}}if((o|0)==24)return i|0;return 0}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((o|0)!=(a|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];qe(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=b;t=n;v=j;w=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=l+(e>>>5<<2)|0;s=b;t=b;v=j-p|0;w=e&31}e=(v|0)/32|0;qm(r|0,s|0,e<<2|0)|0;s=v-(e<<5)|0;v=r+(e<<2)|0;r=v;if((s|0)>0){p=-1>>>(32-s|0);f[v>>2]=f[v>>2]&~p|f[t+(e<<2)>>2]&p;x=r;y=s}else{x=r;y=w}}else{x=m;y=o}f[k>>2]=x;f[k+4>>2]=y;u=d;return}function Qf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g<<1,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Rf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g<<2,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Sf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Tf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;md(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;ld(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=24;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=24;break}k=f[k>>2]|0;if(!k){i=0;o=24;break}}if((o|0)==24)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(c|0);if(!k){if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=24;break}if(k)o=21}else o=21;if((((o|0)==21?(o=0,k=p+8|0,(b[k>>0]|0)==d<<24>>24):0)?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=24;break}p=f[p>>2]|0;if(!p){i=0;o=24;break}}if((o|0)==24)return i|0;return 0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1){m=7;break}d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1){m=7;break}else l=d}if((m|0)==7?(l|0)==-1:0){e=0;g=-1;f[c>>2]=g;return e|0}if(!((l>>>0)%3|0)){e=0;g=l+2|0;f[c>>2]=g;return e|0}else{e=0;g=l+-1|0;f[c>>2]=g;return e|0}return 0}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;if(g-i>>2>>>0>=b>>>0){pj(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}j=f[a>>2]|0;k=i-j>>2;i=k+b|0;if(i>>>0>1073741823)Cq(a);l=g-j|0;j=l>>1;g=l>>2>>>0<536870911?(j>>>0>>0?i:j):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(g)if(g>>>0>1073741823){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{m=tn(g<<2)|0;break}else m=0;while(0);f[d>>2]=m;j=m+(k<<2)|0;k=d+8|0;i=d+4|0;f[i>>2]=j;l=d+12|0;f[l>>2]=m+(g<<2);pj(j|0,0,b<<2|0)|0;f[k>>2]=j+(b<<2);b=f[a>>2]|0;j=f[h>>2]|0;if((j|0)==(b|0)){n=i;o=f[i>>2]|0;p=b;q=j}else{g=f[i>>2]|0;m=j;do{m=m+-4|0;j=f[m>>2]|0;f[m>>2]=0;f[g+-4>>2]=j;g=(f[i>>2]|0)+-4|0;f[i>>2]=g}while((m|0)!=(b|0));n=i;o=g;p=f[a>>2]|0;q=f[h>>2]|0}f[a>>2]=o;f[n>>2]=p;f[h>>2]=f[k>>2];f[k>>2]=q;q=f[e>>2]|0;f[e>>2]=f[l>>2];f[l>>2]=q;f[d>>2]=f[n>>2];ii(d);u=c;return}function Xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=a+8|0;i=a+12|0;j=0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=e;e=0;while(1){l=f[a>>2]|0;m=f[d+(l<<2)>>2]|0;if(m>>>0>>0)n=e;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(l<<2)>>2]|0;else t=l;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}a=a+4|0;if((a|0)==(g|0)){h=c;i=k;j=n;break}else e=n}}n=f[i>>2]|0;e=f[h>>2]|0;if((n-e|0)>0){u=e;v=n;w=0}else return;while(1){n=f[u+(w<<2)>>2]|0;b[n+84>>0]=0;e=n+68|0;k=n+72|0;n=f[k>>2]|0;c=f[e>>2]|0;g=n-c>>2;a=c;c=n;if(j>>>0<=g>>>0)if(j>>>0>>0?(n=a+(j<<2)|0,(c|0)!=(n|0)):0){f[k>>2]=c+(~((c+-4-n|0)>>>2)<<2);x=u;y=v}else{x=u;y=v}else{zh(e,j-g|0,6376);x=f[h>>2]|0;y=f[i>>2]|0}w=w+1|0;if((w|0)>=(y-x>>2|0))break;else{u=x;v=y}}return}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);pr(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Cq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Cq(a);h=tn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+(p<<2);return}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);pr(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Cq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)Cq(a);h=tn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function _f(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+80|0;h=g;i=g+64|0;Ol(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X($l(5)|0,d)|0;Hj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=tn(96)|0;xl(k,h);zj(k,c)|0;f[i>>2]=k;ej(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;pr(i)}pr(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);pr(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;pr(c)}pr(h)}pr(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0>>0){zh(a,e-i|0,1596);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((d|0)==(i|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;return}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=k;k=n;n=m;while(1){m=f[n>>2]|0;f[d>>2]=m;if((a|0)==(f[b>>2]|0)){Ti(g,d);o=f[l>>2]|0}else{f[a>>2]=m;f[i>>2]=a+4;o=k}m=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((m|0)<(q|0)){s=r;t=m;v=o}else{w=m+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0>>0?(p=r+(w<<2)|0,(x|0)!=(p|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=m;z=r;A=o}else{y=m;z=r;A=o}else{zh(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}a=f[i>>2]|0;f[s+(t<<2)>>2]=(a-(f[g>>2]|0)>>2)+-1;n=n+4|0;if((n|0)==(h|0))break;else k=v}u=c;return}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(j|0)!=(b|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Pg(h,c-k|0,e);k=f[h>>2]|0;b=0;while(1){j=b*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=f[i>>2]|0;o=(j-k|0)/12|0;p=k;q=b;b=b+1|0;if(q>>>0>>0){r=p;s=k}else{t=j;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if(b>>>0<=o>>>0)if(b>>>0>>0?(j=p+(b*12|0)|0,(t|0)!=(j|0)):0){f[i>>2]=t+(~(((t+-12-j|0)>>>0)/12|0)*12|0);v=p;w=k}else{v=p;w=k}else{Pg(h,b-o|0,e);o=f[h>>2]|0;v=o;w=o}r=v;s=w}f[r+(q*12|0)>>2]=l;f[r+(q*12|0)+4>>2]=m;f[r+(q*12|0)+8>>2]=n;if((b|0)==(c|0)){g=1;break}else k=s}u=a;return g|0}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)pr(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)pr(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(l|0)!=(o|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{zi(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(mc(a,d)|0)){s=0;u=c;return s|0}pb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=24;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=24;break}j=f[j>>2]|0;if(!j){h=0;n=24;break}}if((n|0)==24)return h|0}else o=a;while(1){a=f[o+4>>2]|0;j=(a|0)==(b|0);if(!j){if(a>>>0>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=24;break}if(j)n=21}else n=21;if((((n|0)==21?(n=0,(f[o+8>>2]|0)==(c|0)):0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=24;break}o=f[o>>2]|0;if(!o){h=0;n=24;break}}if((n|0)==24)return h|0;return 0}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{pr(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)Cq(c);else{j=((k+-1|0)>>>5)+1|0;l=tn(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);qm(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{pr(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)Cq(h);else{n=((p+-1|0)>>>5)+1|0;c=tn(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);qm(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function eg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=go(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=jo(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=h;n=i;o=k}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=go(h|0,i|0,8,0)|0;i=q+(0-k)|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;uh(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;qm(i+q|0,i+8|0,j|0)|0;eh(i|0,f[d>>2]|0,q|0)|0;i=e;h=go(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)pr(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;pr(h)}h=e;l=p;m=f[h>>2]|0;n=f[h+4>>2]|0;o=p}p=f[l>>2]|0;l=f[a>>2]|0;h=p-l|0;k=io(j|0,g|0,m|0,n|0)|0;n=go(k|0,I|0,h|0,0)|0;k=l;l=p;if(n>>>0<=h>>>0){if(n>>>0>>0?(p=k+n|0,(l|0)!=(p|0)):0)f[o>>2]=p}else Bi(a,n-h|0);h=e;f[h>>2]=0;f[h+4>>2]=0;u=c;return}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){f[j>>2]=f[c>>2];o=o+-1|0;if(!o)break;else j=j+4|0}}if(!l){j=h+(b<<2)|0;if((n|0)==(j|0))return;else{p=i;q=n+(~((n+-4-j|0)>>>2)<<2)|0;break}}else{j=b-k|0;o=n;m=j;while(1){f[o>>2]=f[c>>2];m=m+-1|0;if(!m)break;else o=o+4|0}p=i;q=n+(j<<2)|0;break}}else{o=g;if(!g)r=e;else{m=a+4|0;k=f[m>>2]|0;if((k|0)!=(h|0))f[m>>2]=k+(~((k+-4-g|0)>>>2)<<2);pr(o);f[d>>2]=0;f[m>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)Cq(a);m=r>>1;o=r>>2>>>0<536870911?(m>>>0>>0?b:m):1073741823;if(o>>>0>1073741823)Cq(a);m=tn(o<<2)|0;k=a+4|0;f[k>>2]=m;f[a>>2]=m;f[d>>2]=m+(o<<2);o=m;l=b;while(1){f[o>>2]=f[c>>2];l=l+-1|0;if(!l)break;else o=o+4|0}p=k;q=m+(b<<2)|0}while(0);f[p>>2]=q;return}function gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Nk(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=d;d=0;do{k=j+(d<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Nk(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;d=d+1|0;j=f[i>>2]|0}while(d>>>0<(f[c>>2]|0)-j>>2>>>0)}j=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Nk(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function hg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=dh(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=i>>>0)Cq(k);m=g;if(l>>>0<=j>>>0)Cq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)Cq(k);if(l>>>0<=e>>>0)Cq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)Cq(k);if(l>>>0<=d>>>0)Cq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)Cq(k);if(l>>>0<=c>>>0)Cq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|0}function ig(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Cg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Sa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)cq(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;ai(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(uf(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;ai(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Fe(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);ai(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(uf(0,b,e+8|0)|0)){m=0;r=10;break}jg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 0}function kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Nb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Nb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=tn(76)|0;Fn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Ng(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Qa[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ti(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0>>0?(g=a+(i<<2)|0,(p|0)!=(g|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{zh(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);pr(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)Cq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)Cq(a);j=tn(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;eh(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;eh(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((c|0)==(p|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function ng(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+96|0;h=g+40|0;i=g;Um(h,d);De(i,c,d);Ih(h,i);Cj(i+24|0,f[i+28>>2]|0);Mj(i+12|0,f[i+16>>2]|0);Cj(i,f[i+4>>2]|0);$i(a,h,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[h+40>>2];f[c+44>>2]=f[h+44>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}f[h>>2]=3496;Cj(h+28|0,f[h+32>>2]|0);Mj(h+16|0,f[h+20>>2]|0);Cj(h+4|0,f[h+8>>2]|0);u=g;return}function og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;if(!(yh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=tn(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14756;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Hh(d,g)|0)!=0):0)o=Ik(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Ik(i,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}Hp(a+40|0,o);h=1;u=e;return h|0}function pg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;pr(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Cq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Cq(a);i=tn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{n=c;c=k;while(1){b[c>>0]=b[n>>0]|0;n=n+1|0;if((n|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[o>>2]|0)==(p|0))return;f[o>>2]=p;return}if((a|0)==(d|0))return;a=f[o>>2]|0;p=g;do{b[a>>0]=b[p>>0]|0;p=p+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((p|0)!=(d|0));return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=go(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=go(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<>2]&~i|i&e<>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ti(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<>2]&~l|l&e<>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ti(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Pb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Pb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=d;j=a;while(1){if((b[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=d;r=a;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=c&255;if((b[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=X(e,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){a=f[g>>2]^q;if((a&-2139062144^-2139062144)&a+-16843009|0)break;a=g+4|0;d=s+-4|0;if(d>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((b[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=i;r=n}else{qm(p|0,d|0,o|0)|0;q=f[h>>2]|0;r=p}f[c>>2]=r;f[h>>2]=q+(m<<2);s=r;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;jp(m,16426);f[m>>2]=7416;va(m|0,1160,122)}m=tn(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=d;u=n}else{l=o;m=d;v=n;do{f[l>>2]=f[m>>2];l=v+4|0;v=l;m=m+4|0}while((m|0)!=(i|0));t=f[a>>2]|0;u=v}f[a>>2]=p;f[c>>2]=n;f[h>>2]=u;f[j>>2]=k;if(!t)s=o;else{pr(t);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=mr((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){nr(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=n;n=a;r=a;a=m;m=0;while(1){s=f[j+(m<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(s<<2)>>2]|0;else t=s;s=r+48|0;v=f[s>>2]|0;w=f[s+4>>2]|0;s=r+40|0;x=f[s>>2]|0;y=En(x|0,f[s+4>>2]|0,t|0,0)|0;s=go(y|0,I|0,v|0,w|0)|0;eh(k|0,(f[f[r>>2]>>2]|0)+s|0,x|0)|0;x=o;s=f[x+4>>2]|0;if((s|0)>0|(s|0)==0&(f[x>>2]|0)>>>0>0){z=j;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Fe(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=m+1|0;if(x>>>0>=A-z>>2>>>0)break;s=f[i>>2]|0;j=z;n=s;r=s;a=A;m=x}nr(k);u=e;return 1}function vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;p=f[m+4>>2]|0;m=a+20|0;if((p|0)>0|(p|0)==0&k>>>0>0){q=p;r=k;s=g}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,m,m+4|0)|0;m=l;q=f[m+4>>2]|0;r=f[m>>2]|0;s=g}}else{q=o;r=n;s=g}b[h>>0]=f[i>>2];if(!((q|0)>0|(q|0)==0&r>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;i=d;do if((d|0)==(g|0)){j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=l;if(k>>>0>l>>>0){n=k;o=((n-m>>2)+1|0)/-2|0;p=k+(o<<2)|0;q=i-n|0;n=q>>2;if(!n)r=k;else{qm(p|0,k|0,q|0)|0;r=f[j>>2]|0}q=p+(n<<2)|0;f[c>>2]=q;f[j>>2]=r+(o<<2);s=q;break}q=h-m>>1;m=(q|0)==0?1:q;if(m>>>0>1073741823){q=ra(8)|0;jp(q,16426);f[q>>2]=7416;va(q|0,1160,122)}q=tn(m<<2)|0;o=q;n=q+(m>>>2<<2)|0;p=n;t=q+(m<<2)|0;if((k|0)==(d|0)){u=l;v=p}else{l=n;n=k;k=p;do{f[l>>2]=f[n>>2];l=k+4|0;k=l;n=n+4|0}while((n|0)!=(d|0));u=f[a>>2]|0;v=k}f[a>>2]=o;f[j>>2]=p;f[c>>2]=v;f[e>>2]=t;if(!u)s=v;else{pr(u);s=f[c>>2]|0}}else s=d;while(0);f[s>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=g;g=a+4|0;while(1){a=d+16|0;i=b[a+11>>0]|0;k=i<<24>>24<0;l=k?f[d+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=Yk(e,k?f[a>>2]|0:a,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[d>>2]|0;if(!n){o=9;break}else{p=n;q=d}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=Yk(k?f[a>>2]|0:a,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=d+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=i;q=r}}d=p;g=q}if((o|0)==9){f[c>>2]=d;h=d;return h|0}else if((o|0)==15){f[c>>2]=d;h=r;return h|0}else if((o|0)==16){f[c>>2]=d;h=g;return h|0}return 0}function yg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=tn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14740;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ik(i,h,-1)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);switch(j|0){case -1:{if((ki(i)|0)==10)n=6;else n=5;break}case 1:{n=5;break}default:n=6}if((n|0)==5){j=tn(68)|0;gp(j);o=j}else if((n|0)==6){n=tn(64)|0;Up(n);o=n}Jo(o,d);ud(a,o,i,e);if(f[a>>2]|0){p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Qa[r&127](o);u=g;return}e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[o+52>>2];f[c+44>>2]=f[o+60>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Qa[r&127](o);u=g;return}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;ve(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=l;p=c;q=h;r=j;s=0}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=l;p=l;q=h-n|0;r=j+(g>>>5<<2)|0;s=g&31}g=(q|0)/32|0;qm(r|0,o|0,g<<2|0)|0;o=q-(g<<5)|0;q=r+(g<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);f[q>>2]=f[q>>2]&~j|f[p+(g<<2)>>2]&j;t=r;v=o}else{t=r;v=s}}else{t=k;v=m}f[i>>2]=t;f[i+4>>2]=v;u=d;return}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ti(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;pr(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Cq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)Cq(a);i=tn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}else{o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;n=a-e|0;if(n|0)qm(k|0,c|0,n|0)|0;c=k+n|0;if(!j){if((f[o>>2]|0)==(c|0))return;f[o>>2]=c;return}if((a|0)==(d|0))return;a=f[o>>2]|0;c=g;do{b[a>>0]=b[c>>0]|0;c=c+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((c|0)!=(d|0));return}}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){pj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)Cq(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{n=tn(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;pj(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=d;d=h;h=b;do{d=d+-4|0;b=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=b;i=h+-4|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Qa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;pr(p);return}function Dg(a){a=a|0;gl(a);gl(a+32|0);gl(a+64|0);gl(a+96|0);gl(a+128|0);gl(a+160|0);gl(a+192|0);gl(a+224|0);gl(a+256|0);gl(a+288|0);gl(a+320|0);gl(a+352|0);gl(a+384|0);gl(a+416|0);gl(a+448|0);gl(a+480|0);gl(a+512|0);gl(a+544|0);gl(a+576|0);gl(a+608|0);gl(a+640|0);gl(a+672|0);gl(a+704|0);gl(a+736|0);gl(a+768|0);gl(a+800|0);gl(a+832|0);gl(a+864|0);gl(a+896|0);gl(a+928|0);gl(a+960|0);gl(a+992|0);gl(a+1024|0);return}function Eg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=a+4|0;a=tn(32)|0;f[k>>2]=a;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=a;m=14756;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[a+17>>0]=0;Wj(Bd(c,j)|0,k,d);if((b[k+11>>0]|0)<0)pr(f[k>>2]|0);d=tn(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14829;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;pi(Bd(c,j)|0,k,g,e);if((b[k+11>>0]|0)<0)pr(f[k>>2]|0);e=tn(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14849;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Tj(Bd(c,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}pr(f[k>>2]|0);u=i;return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)qm(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;eh(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);pr(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)Cq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)Cq(a);j=tn(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;eh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(g);else{j=tn(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;pj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=j;n=k;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{k=m+(f[a+(g<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;b=0;r=0.0;while(1){g=f[m+(c<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=b+1|0;v=r+s*+Ug(s/o)}else{t=b;v=r}c=c+1|0;if((c|0)==(h|0)){p=t;q=v;break}else{b=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!m){I=d;u=e;return p|0}if((n|0)!=(m|0))f[i>>2]=n+(~((n+-4-m|0)>>>2)<<2);pr(l);I=d;u=e;return p|0}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;f[d>>2]=e;b=a+12|0;g=(e|0)==-1;h=e+1|0;do if(!g){f[d+4>>2]=((h>>>0)%3|0|0)==0?e+-2|0:h;if(!((e>>>0)%3|0)){i=e+2|0;break}else{i=e+-1|0;break}}else{f[d+4>>2]=-1;i=-1}while(0);f[d+8>>2]=i;i=g?-1:(e>>>0)/3|0;g=a+28|0;h=(f[g>>2]|0)+(i>>>5<<2)|0;f[h>>2]=1<<(i&31)|f[h>>2];h=a+172|0;i=a+176|0;j=a+280|0;a=e;e=0;while(1){if((((a|0)!=-1?(k=f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(k|0)!=-1):0)?(l=(k>>>0)/3|0,(f[(f[g>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0)?(l=f[h>>2]|0,(f[i>>2]|0)!=(l|0)):0){k=a>>>5;m=1<<(a&31);n=l;l=0;do{o=(f[j>>2]|0)+(l<<5)|0;if(!(m&f[(f[n+(l*136|0)+4>>2]|0)+(k<<2)>>2]))dj(o,0);else dj(o,1);l=l+1|0;n=f[h>>2]|0}while(l>>>0<(((f[i>>2]|0)-n|0)/136|0)>>>0)}n=e+1|0;if((n|0)==3)break;a=f[d+(n<<2)>>2]|0;e=n}u=c;return 1}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e+4|0;h=e;i=tn(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ih(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))xh(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ti(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;pr(b)}pr(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);pr(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(h)}pr(c);u=d;return}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6348;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}fi(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){_i(i);pr(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}pr(g)}_i(a);pr(a);return}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Fo(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=f[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=(q<<31>>31)+n|0;t=g-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;g=Fo(Aa(146,e|0)|0)|0;if((o|0)==(g|0)){v=3;break a}else{m=r;n=s}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((n|0)==2)w=0;else w=c-(f[m+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Cq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;pr(m);return}function Og(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=Yk(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=Yk(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=h;j=b;do{f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];i=(f[g>>2]|0)+12|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/12|0;h=i+b|0;if(h>>>0>357913941)Cq(a);k=(e-j|0)/12|0;j=k<<1;e=k>>>0<178956970?(j>>>0>>0?h:j):357913941;do if(e)if(e>>>0>357913941){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{l=tn(e*12|0)|0;break}else l=0;while(0);j=l+(i*12|0)|0;i=l+(e*12|0)|0;e=j;l=b;b=j;do{f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];e=b+12|0;b=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;c=j+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)eh(c|0,l|0,e|0)|0;f[a>>2]=c;f[g>>2]=b;f[d>>2]=i;if(!l)return;pr(l);return}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];dg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{mg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);mg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);mg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Fg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Cq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){_i(n);pr(n)}}while((h|0)!=(g|0))}if(!m)return;pr(m);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)Cq(h);j=d;if(i>>>0<=g>>>0)Cq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)Cq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)Cq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)Cq(h);if(i>>>0<=c>>>0)Cq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+96|0;g=e+40|0;h=e;Qm(g,c);De(h,b,c);Ih(g,h);Cj(h+24|0,f[h+28>>2]|0);Mj(h+12|0,f[h+16>>2]|0);Cj(h,f[h+4>>2]|0);$i(a,g,d);f[g>>2]=3496;Cj(g+28|0,f[g+32>>2]|0);Mj(g+16|0,f[g+20>>2]|0);Cj(g+4|0,f[g+8>>2]|0);u=e;return}function Ug(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=f[s>>2]|0;i=g;j=g;k=-1077;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=b;i=c;j=c;k=-1023;l=9}else e=a;while(0);if((l|0)==9){l=j+614242|0;f[s>>2]=h;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;h=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=h;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(k+(l>>>20)|0);m=o+q;e=m+(q+(o-m)+(t*1.4426950407214463+(r+t)*1.6751713164886512e-10))}return +e}function Vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14628;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Hh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Ik(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}pr(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Jg(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);pr(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(h)}pr(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Fh(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((b|0)==(e|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function Xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Hh(h,e)|0)==0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ki(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);u=d;return 1}function Yg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;ai(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;ai((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;ai((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}wi(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(h[i>>0]|0)&(1<>2]|0)+l|0;b[i>>0]=h[i>>0]|0|k<>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0>>0);eg(f[(f[g>>2]|0)+44>>2]|0);return 1}function Zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Hh(h,e)|0)==0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ki(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);u=d;return 1}function _g(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Nd(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=mr(o)|0;pj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Nd(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];nr(e);u=g;return 1}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)Cq(d);else{l=tn(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);pj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0>>0)}Ij(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);pr(a);u=c;return}function ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=h;m=k+2|0;break}else{l=h;m=k+-1|0;break}}else{k=a;h=g;while(1){i=k+1|0;n=h+1|0;o=((n>>>0)%3|0|0)==0?h+-2|0:n;if((o|0)==-1){l=i;m=b;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=i;m=b;break b}h=((o>>>0)%3|0|0)==0?n+-2|0:o;if((h|0)==-1){l=i;m=b;break b}if((h|0)==(b|0)){d=i;j=15;break a}else k=i}}while(0);if((m|0)==-1){d=l;j=15;break}else{a=l;e=1;g=m}}if((j|0)==15)return d|0;return 0}function bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;Sg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=j;j=c;n=e;while(1){f[j>>2]=m;if((n|0)==(a|0)){o=a;break}p=n+-4|0;m=f[p>>2]|0;if(h>>>0<=m>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(m<<3)>>2]|0)>>>0){o=n;break}else{q=n;n=p;j=q}}f[o>>2]=d}j=c+4|0;if((j|0)==(b|0)){k=3;break}else{n=c;c=j;e=n}}if((k|0)==3)return;else if((k|0)==5)Cq(g);else if((k|0)==7)Cq(g);else if((k|0)==11)Cq(g)}function ch(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|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;do if(!(Ep(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Ep(a,f[c>>2]|0,g)|0)){i=f[h>>2]|0;Ua[f[(f[i>>2]|0)+24>>2]&3](i,c,d,e,g);break}i=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(j=c+20|0,(f[j>>2]|0)!=(d|0)):0){f[i>>2]=e;k=c+44|0;if((f[k>>2]|0)==4)break;l=c+52|0;b[l>>0]=0;m=c+53|0;b[m>>0]=0;n=f[h>>2]|0;Va[f[(f[n>>2]|0)+20>>2]&3](n,c,d,d,1,g);if(b[m>>0]|0)if(!(b[l>>0]|0)){o=3;p=11}else q=3;else{o=4;p=11}if((p|0)==11){f[j>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;q=o}else q=o}f[k>>2]=q;break}if((e|0)==1)f[i>>2]=1}else $m(0,c,d,e);while(0);return}function dh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Sg(a,b,c,e)|0;h=f[d>>2]|0;i=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=h>>>0)Cq(j);l=e;if(k>>>0<=i>>>0)Cq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)Cq(j);if(k>>>0<=d>>>0)Cq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)Cq(j);if(k>>>0<=c>>>0)Cq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1296;g=a+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ti(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0>>0?(j=m+(a<<2)|0,(w|0)!=(j|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{zh(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(k>>>0<=o>>>0)if(k>>>0>>0?(m=p+(k<<2)|0,(n|0)!=(m|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{zi(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=4;o=0;k=j;while(1){f[g+(o<<2)>>2]=k;q=q+4|0;o=o+1|0;d=r+q|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((o|0)>=(i|0)){s=c;break}else k=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)Cq(a);n=j<<6;j=c+31&-32;si(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)pr(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){pj(h|0,0,n|0)|0;d=c-(a<<5)|0;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{pj(h|0,-1,n|0)|0;n=c-(a<<5)|0;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Dd(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=tn(40)|0;nj(c+16|0,d);nj(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}He(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ma[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0>>0?(d=h+(j<<2)|0,(e|0)!=(d|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else zi(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)){h=f[c>>2]|0;k=e-b>>2;b=0;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0>>0)}j=j+1|0}while(j>>>0>>0);g=1;return g|0}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;hd(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;n=a+88|0;hd(n,b);u=c;return 1}function lh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=tn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Bi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>4294967279)Cq(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=a;m=0;n=j;o=13}else{Yo(a,j,(e&255)+1|0)|0;pr(j);o=15}}else{j=tn(k+1|0)|0;if(g){l=j;m=1;n=f[a>>2]|0;o=13;break}else{Yo(j,a,(e&255)+1|0)|0;p=j;o=14;break}}while(0);if((o|0)==13){Yo(l,n,(f[a+4>>2]|0)+1|0)|0;pr(n);if(m){p=l;o=14}else o=15}if((o|0)==14){f[a+8>>2]=k+1|-2147483648;f[a+4>>2]=h;f[a>>2]=p;break}else if((o|0)==15){b[d>>0]=h;break}}while(0);return}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;hd(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;n=a+108|0;hd(n,b);u=c;return 1}function oh(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+32|0;d=f[a+64>>2]|0;e=(La[f[(f[d>>2]|0)+40>>2]&127](d)|0)+56|0;d=f[e>>2]|0;wi(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){eg(c);return}i=a+48|0;j=a+44|0;a=e;e=(g>>>2)+-1|0;while(1){g=f[a+(e<<2)>>2]|0;k=f[3652+(g<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>g&1|0):0){m=l+4|0;n=f[m>>2]|0;o=0;do{p=n>>>3;q=n&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(h[r>>0]|0)&(1<>2]|0)+p|0;b[r>>0]=h[r>>0]|0|(g>>>o&1)<>2]|0)+1|0;f[m>>2]=n;o=o+1|0}while((o|0)!=(k|0))}k=e+-1|0;if((k|0)<=-1)break;a=f[d>>2]|0;e=k}eg(c);return}function ph(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Rn(h);do if((lm(c,0)|0)!=-1){if(d){if(!(La[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Qa[f[(f[c>>2]|0)+20>>2]&127](c)}Tg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)pr(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;pg(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)pr(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}j=k;u=g;return j|0}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Sa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pr(d)}pr(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);pr(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pr(a)}pr(e)}pr(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function rh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+352>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Ci(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;if(!(f[i+56>>2]|0))j=a;else{k=f[g>>2]|0;f[k+(a*136|0)>>2]=h;l=f[k+(a*136|0)+104>>2]|0;m=k+(a*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;Xj(k+(a*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(a*136|0)+128>>2]=0;Bc(l+(a*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=a+1|0}h=h+1|0;if((h|0)>=(d|0))break;else a=j}return 1}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=g;i=b;do{j=h;f[j>>2]=0;f[j+4>>2]=0;h=(f[e>>2]|0)+8|0;f[e>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;h=g-i>>3;g=h+b|0;if(g>>>0>536870911)Cq(a);j=d-i|0;i=j>>2;d=j>>3>>>0<268435455?(i>>>0>>0?g:i):536870911;do if(d)if(d>>>0>536870911){i=ra(8)|0;jp(i,16426);f[i>>2]=7416;va(i|0,1160,122)}else{k=tn(d<<3)|0;break}else k=0;while(0);i=k+(h<<3)|0;h=k+(d<<3)|0;d=i;k=b;b=i;do{g=d;f[g>>2]=0;f[g+4>>2]=0;d=b+8|0;b=d;k=k+-1|0}while((k|0)!=0);k=f[a>>2]|0;d=(f[e>>2]|0)-k|0;g=i+(0-(d>>3)<<3)|0;if((d|0)>0)eh(g|0,k|0,d|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=h;if(!k)return;pr(k);return}function th(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(b[a+288>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Ci(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;if(!(f[i+56>>2]|0))j=a;else{k=f[g>>2]|0;f[k+(a*136|0)>>2]=h;l=f[k+(a*136|0)+104>>2]|0;m=k+(a*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;Xj(k+(a*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(a*136|0)+128>>2]=0;Bc(l+(a*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=a+1|0}h=h+1|0;if((h|0)>=(d|0))break;else a=j}return 1}function uh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0;k=jo(a|0,c|0,7)|0;m=uh(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function vh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Ui(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((La[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Tf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=tn(44)|0;f[c>>2]=1608;f[c+4>>2]=g;g=c+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);f[c>>2]=1664;i=c}f[a>>2]=i;return}function wh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((kb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=vr(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=kb(a,c,g,i,h)|0;if(!o)s=j;else{Na[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=kb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)ur(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){Wf(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((h|0)==(g|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;pr(h)}pr(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);pr(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(a)}pr(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;if(!(kn(a,b,c)|0)){g=0;u=d;return g|0}if((La[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){g=0;u=d;return g|0}h=Vg(c,f[b+48>>2]|0)|0;Sa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(c){Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c)}else f[e>>2]=0;e=f[h>>2]|0;if(!e){g=1;u=d;return g|0}if(Ma[f[(f[a>>2]|0)+36>>2]&127](a,e)|0){g=1;u=d;return g|0}e=f[h>>2]|0;f[h>>2]=0;if(!e){g=1;u=d;return g|0}Qa[f[(f[e>>2]|0)+4>>2]&127](e);g=1;u=d;return g|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=i;k=b;while(1){f[j>>2]=f[c>>2];k=k+-1|0;if(!k)break;else j=j+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;j=h-i|0;h=j>>2;k=h+b|0;if(k>>>0>1073741823)Cq(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?k:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}else{n=tn(m<<2)|0;break}else n=0;while(0);e=n+(h<<2)|0;k=n+(m<<2)|0;m=e;n=b;while(1){f[m>>2]=f[c>>2];n=n+-1|0;if(!n)break;else m=m+4|0}m=e+(0-h<<2)|0;if((j|0)>0)eh(m|0,i|0,j|0)|0;f[a>>2]=m;f[g>>2]=e+(b<<2);f[d>>2]=k;if(!i)return;pr(i);return}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Fp(f[a+8>>2]|0,e)|0;h=Fp(f[a+12>>2]|0,e)|0;i=Fp(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Fp(f[a+(q<<2)>>2]|0,e)|0;s=Fp(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=ll(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Fp(f[a+(m<<2)>>2]|0,e)|0;j=Fp(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Bh(a,c,e,g){a=a|0;c=c|0;e=e|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;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Ep(l,e,0)|0){f[i+48>>2]=1;Va[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ua[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)pr(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)pr(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;hh(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;hh(a+12|0,k,e);fg(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6336);Xj(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);Xj(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Dh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Md(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Md(a,e);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=h;j=b;while(1){f[i>>2]=1;j=j+-1|0;if(!j)break;else i=i+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Cq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;j=m+(l<<2)|0;l=d;m=b;while(1){f[l>>2]=1;m=m+-1|0;if(!m)break;else l=l+4|0}l=d+(0-g<<2)|0;if((i|0)>0)eh(l|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=d+(b<<2);f[c>>2]=j;if(!h)return;pr(h);return}function Gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+48|0;g=e;h=e+32|0;i=a+4|0;j=f[i>>2]|0;if(!j){k=0;u=e;return k|0}do if(c)if(La[f[(f[j>>2]|0)+16>>2]&127](j)|0){l=f[i>>2]|0;Qa[f[(f[l>>2]|0)+20>>2]&127](l);break}else{k=0;u=e;return k|0}while(0);Rn(g);$i(h,f[a>>2]|0,g);a=(f[h>>2]|0)==0;i=h+4|0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if(a){a=f[g>>2]|0;i=g+4|0;pg(d,a,a+((f[i>>2]|0)-a)|0);m=(f[i>>2]|0)-(f[g>>2]|0)|0}else m=0;i=g+12|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0)pr(a);a=f[g>>2]|0;if(a|0){i=g+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;pr(a)}k=m;u=e;return k|0}function Hh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=Yk(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=Yk(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=a+4|0;j=(i|0)==(b|0);if(!j){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Kc(i,e,d)}if(!j){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Cc(a+16|0,e,d)}if(j){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Kc(a+28|0,e,d);u=c;return}function Jh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=tn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;nj(g+8|0,e);h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Bi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function Kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;_f(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=d;d=0;while(1){p=f[o>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(p<<2)>>2]|0;else q=p;f[h>>2]=q;p=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Lb(i,g,p,a+(d<<2)|0)|0)){m=0;r=7;break}o=o+4|0;if((o|0)==(c|0)){m=1;r=7;break}else d=d+k|0}if((r|0)==7){u=e;return m|0}return 0}function Lh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1472;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=f[a+48>>2]|0;if(c|0)pr(c);c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}pr(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);pr(g);return}function Mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(i|0)!=(h|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else zi(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=1;e=j;h=j;while(1){i=f[b+(d<<2)>>2]|0;g=(i|0)<(h|0);k=g?i:h;l=g?e:(i|0)>(e|0)?i:e;d=d+1|0;if((d|0)==(c|0)){m=l;n=k;break}else{e=l;h=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=io(m|0,((m|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Nh(a){a=a|0;Dj(a+992|0);Dj(a+960|0);Dj(a+928|0);Dj(a+896|0);Dj(a+864|0);Dj(a+832|0);Dj(a+800|0);Dj(a+768|0);Dj(a+736|0);Dj(a+704|0);Dj(a+672|0);Dj(a+640|0);Dj(a+608|0);Dj(a+576|0);Dj(a+544|0);Dj(a+512|0);Dj(a+480|0);Dj(a+448|0);Dj(a+416|0);Dj(a+384|0);Dj(a+352|0);Dj(a+320|0);Dj(a+288|0);Dj(a+256|0);Dj(a+224|0);Dj(a+192|0);Dj(a+160|0);Dj(a+128|0);Dj(a+96|0);Dj(a+64|0);Dj(a+32|0);Dj(a);return}function Oh(a){a=a|0;Gn(a);Gn(a+32|0);Gn(a+64|0);Gn(a+96|0);Gn(a+128|0);Gn(a+160|0);Gn(a+192|0);Gn(a+224|0);Gn(a+256|0);Gn(a+288|0);Gn(a+320|0);Gn(a+352|0);Gn(a+384|0);Gn(a+416|0);Gn(a+448|0);Gn(a+480|0);Gn(a+512|0);Gn(a+544|0);Gn(a+576|0);Gn(a+608|0);Gn(a+640|0);Gn(a+672|0);Gn(a+704|0);Gn(a+736|0);Gn(a+768|0);Gn(a+800|0);Gn(a+832|0);Gn(a+864|0);Gn(a+896|0);Gn(a+928|0);Gn(a+960|0);Gn(a+992|0);return}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=tn(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=tn(44)|0;Ob(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;pk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}_i(j);pr(j);g=1;u=a;return g|0}function Qh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;c=u;u=u+64|0;j=c;k=i?6:5;Ol(j);i=f[h+56>>2]|0;h=X($l(k)|0,e)|0;Hj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=tn(96)|0;xl(h,j);f[a>>2]=h;zj(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0>>0){zh(d,g-j|0,1280);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((e|0)==(j|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Rh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){nd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;nd(a,e);return}function Sh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rd(a,e);return}function Th(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){zd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;zd(a,e);return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Id(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Id(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){pd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;pd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){vd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;vd(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ed(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ed(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){od(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;od(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;sd(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ad(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ad(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Jd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Jd(a,e);return}function ai(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;k=ai(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Ce(e,a+40|0,f[a+8>>2]|0,b,c);ej(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(b)}pr(a);u=d;return 1}function ci(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){xd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;xd(a,e);return}function di(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Rn(g);if((lm(c,0)|0)!=-1?La[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Qa[f[(f[c>>2]|0)+20>>2]&127](c);ng(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;pg(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)pr(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;pr(c)}i=j;u=e;return i|0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;ze(e,a+40|0,f[a+8>>2]|0,b,c);ej(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(b)}pr(a);u=d;return 1}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;pr(d)}pr(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);pr(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pr(i)}pr(j)}pr(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}pr(e);return}function gi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Be(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=a;a=0;do{p=f[o+(a<<2)>>2]|0;q=La[f[(f[p>>2]|0)+32>>2]&127](p)|0;b[h>>0]=q;q=l;p=f[q+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}a=a+1|0;o=f[j>>2]|0}while(a>>>0<(f[k>>2]|0)-o>>2>>>0);i=1;u=d;return i|0}function hi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;Kp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Kp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=tn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14868;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=tn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14889;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}pr(f[d>>2]|0);u=c;return}function ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;pr(d)}pr(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);pr(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;pr(h)}pr(i)}pr(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;pr(b);return}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function ki(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=tn(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14799;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Ik(a,d,-1)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);j=tn(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14814;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Ik(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}pr(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;hd(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(hd(d,b),(f[e>>2]|0)>1):0){d=1;do{hd((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=a;a=0;while(1){g=c;ai((f[g+(a*12|0)+4>>2]|0)-(f[g+(a*12|0)>>2]|0)>>2,b)|0;g=f[e>>2]|0;h=f[g+(a*12|0)>>2]|0;i=(f[g+(a*12|0)+4>>2]|0)-h>>2;if(!i)j=g;else{Hc(h,i,1,0,b)|0;j=f[e>>2]|0}a=a+1|0;if(a>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else c=j}return}function ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(zl(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=k;m=0;n=c;o=a;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Na[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=f[g>>2]|0;m=e;n=c-e|0;o=a+e|0}else{l=k;m=0;n=c;o=a}while(0);eh(l|0,o|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function oi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;oi(c+8|0);pr(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)pr(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;pr(h)}if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);pr(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)pr(e);pr(d)}if((b[a+11>>0]|0)>=0)return;pr(f[a>>2]|0);return}function pi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)Kn(h,14714)|0;ml(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;kj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)pr(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}gm(xi(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}pr(f[h>>2]|0);u=g;return}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=lm(k,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ti(j,d);else{f[k>>2]=l;f[h>>2]=k+4}kl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0} +function Wa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4882]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19568+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[4882]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4884]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=19568+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[4887]|0;k=m>>>3;l=19568+(k<<1<<2)|0;i=1<>2]|0}f[q>>2]=h;f[r+12>>2]=h;f[h+8>>2]=r;f[h+12>>2]=l}f[4884]=n;f[4887]=j;o=e;u=b;return o|0}e=f[4883]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[19832+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=i;v=s}else{h=k;k=i;i=s;while(1){s=(f[h+4>>2]&-8)-d|0;l=s>>>0>>0;n=l?s:k;s=l?h:i;h=f[h+16+(((f[h+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=n;v=s;break}else{k=n;i=s}}}i=v+d|0;if(v>>>0>>0){k=f[v+24>>2]|0;h=f[v+12>>2]|0;do if((h|0)==(v|0)){s=v+20|0;n=f[s>>2]|0;if(!n){l=v+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=n;y=s}while(1){s=x+20|0;n=f[s>>2]|0;if(n|0){x=n;y=s;continue}s=x+16|0;n=f[s>>2]|0;if(!n)break;else{x=n;y=s}}f[y>>2]=0;w=x}else{s=f[v+8>>2]|0;f[s+12>>2]=h;f[h+8>>2]=s;w=h}while(0);do if(k|0){h=f[v+28>>2]|0;s=19832+(h<<2)|0;if((v|0)==(f[s>>2]|0)){f[s>>2]=w;if(!w){f[4883]=e&~(1<>2]|0)!=(v|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=k;h=f[v+16>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[v+20>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}while(0);if(t>>>0<16){k=t+d|0;f[v+4>>2]=k|3;e=v+k+4|0;f[e>>2]=f[e>>2]|1}else{f[v+4>>2]=d|3;f[i+4>>2]=t|1;f[i+t>>2]=t;if(m|0){e=f[4887]|0;k=m>>>3;h=19568+(k<<1<<2)|0;s=1<>2]|0}f[z>>2]=e;f[A+12>>2]=e;f[e+8>>2]=A;f[e+12>>2]=h}f[4884]=t;f[4887]=i}o=v+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){h=a+11|0;e=h&-8;s=f[4883]|0;if(s){k=0-e|0;n=h>>>8;if(n)if(e>>>0>16777215)C=31;else{h=(n+1048320|0)>>>16&8;l=n<>>16&4;j=l<>>16&2;D=14-(n|h|l)+(j<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[19832+(C<<2)>>2]|0;a:do if(!D){E=k;F=0;G=0;H=57}else{l=k;j=0;h=e<<((C|0)==31?0:25-(C>>>1)|0);n=D;I=0;while(1){J=(f[n+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=n;M=n;H=61;break a}else{N=J;O=n}else{N=l;O=I}J=f[n+20>>2]|0;n=f[n+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(n|0)?j:J;J=(n|0)==0;if(J){E=N;F=P;G=O;H=57;break}else{l=N;j=P;h=h<<((J^1)&1);I=O}}}while(0);if((H|0)==57){if((F|0)==0&(G|0)==0){D=2<>>12&16;d=D>>>k;D=d>>>5&8;i=d>>>D;d=i>>>2&4;g=i>>>d;i=g>>>1&2;m=g>>>i;g=m>>>1&1;Q=f[19832+((D|k|d|i|g)+(m>>>g)<<2)>>2]|0;R=0}else{Q=F;R=G}if(!Q){S=E;T=R}else{K=E;L=Q;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;i=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=i;T=g;break}else{K=i;M=g;H=61}}if((T|0)!=0?S>>>0<((f[4884]|0)-e|0)>>>0:0){g=T+e|0;if(T>>>0>=g>>>0){o=0;u=b;return o|0}i=f[T+24>>2]|0;m=f[T+12>>2]|0;do if((m|0)==(T|0)){d=T+20|0;k=f[d>>2]|0;if(!k){D=T+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=k;W=d}while(1){d=V+20|0;k=f[d>>2]|0;if(k|0){V=k;W=d;continue}d=V+16|0;k=f[d>>2]|0;if(!k)break;else{V=k;W=d}}f[W>>2]=0;U=V}else{d=f[T+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(i){m=f[T+28>>2]|0;d=19832+(m<<2)|0;if((T|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=s&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=s;break}}f[U+24>>2]=i;d=f[T+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[T+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=s}else X=s}else X=s;while(0);do if(S>>>0>=16){f[T+4>>2]=e|3;f[g+4>>2]=S|1;f[g+S>>2]=S;s=S>>>3;if(S>>>0<256){i=19568+(s<<1<<2)|0;d=f[4882]|0;m=1<>2]|0}f[Y>>2]=g;f[Z+12>>2]=g;f[g+8>>2]=Z;f[g+12>>2]=i;break}i=S>>>8;if(i)if(S>>>0>16777215)_=31;else{m=(i+1048320|0)>>>16&8;d=i<>>16&4;s=d<>>16&2;k=14-(i|m|d)+(s<>>15)|0;_=S>>>(k+7|0)&1|k<<1}else _=0;k=19832+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4883]=X|d;f[k>>2]=g;f[g+24>>2]=k;f[g+12>>2]=g;f[g+8>>2]=g;break}d=S<<((_|0)==31?0:25-(_>>>1)|0);s=f[k>>2]|0;while(1){if((f[s+4>>2]&-8|0)==(S|0)){H=97;break}$=s+16+(d>>>31<<2)|0;k=f[$>>2]|0;if(!k){H=96;break}else{d=d<<1;s=k}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=s;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=s+8|0;k=f[d>>2]|0;f[k+12>>2]=g;f[d>>2]=g;f[g+8>>2]=k;f[g+12>>2]=s;f[g+24>>2]=0;break}}else{k=S+e|0;f[T+4>>2]=k|3;d=T+k+4|0;f[d>>2]=f[d>>2]|1}while(0);o=T+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);T=f[4884]|0;if(T>>>0>=B>>>0){S=T-B|0;$=f[4887]|0;if(S>>>0>15){_=$+B|0;f[4887]=_;f[4884]=S;f[_+4>>2]=S|1;f[_+S>>2]=S;f[$+4>>2]=B|3}else{f[4884]=0;f[4887]=0;f[$+4>>2]=T|3;S=$+T+4|0;f[S>>2]=f[S>>2]|1}o=$+8|0;u=b;return o|0}$=f[4885]|0;if($>>>0>B>>>0){S=$-B|0;f[4885]=S;T=f[4888]|0;_=T+B|0;f[4888]=_;f[_+4>>2]=S|1;f[T+4>>2]=B|3;o=T+8|0;u=b;return o|0}if(!(f[5e3]|0)){f[5002]=4096;f[5001]=4096;f[5003]=-1;f[5004]=-1;f[5005]=0;f[4993]=0;T=c&-16^1431655768;f[c>>2]=T;f[5e3]=T;aa=4096}else aa=f[5002]|0;T=B+48|0;c=B+47|0;S=aa+c|0;_=0-aa|0;aa=S&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4992]|0;if(X|0?(Z=f[4990]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4993]&4)){X=f[4888]|0;c:do if(X){Y=19976;while(1){Z=f[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=f[Y+8>>2]|0;if(!Z){H=118;break c}else Y=Z}s=S-$&_;if(s>>>0<2147483647){Z=Jl(s|0)|0;if((Z|0)==((f[Y>>2]|0)+(f[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=s;else{da=Z;ea=s;H=135;break b}else{fa=Z;ga=s;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Jl(0)|0;if((X|0)!=(-1|0)?(e=X,s=f[5001]|0,Z=s+-1|0,U=((Z&e|0)==0?0:(Z+e&0-s)-e|0)+aa|0,e=f[4990]|0,s=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Z=f[4992]|0;if(Z|0?s>>>0<=e>>>0|s>>>0>Z>>>0:0){ca=0;break}Z=Jl(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;H=135;break b}else{fa=Z;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;H=135;break b}Z=f[5002]|0;X=c-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;H=135;break b}if((Jl(X|0)|0)==(-1|0)){Jl(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;H=135;break b}}while(0);f[4993]=f[4993]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Jl(aa|0)|0,aa=Jl(0)|0,ga=aa-ca|0,fa=ga>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;H=135}if((H|0)==135){ha=(f[4990]|0)+ea|0;f[4990]=ha;if(ha>>>0>(f[4991]|0)>>>0)f[4991]=ha;ha=f[4888]|0;do if(ha){ga=19976;while(1){ia=f[ga>>2]|0;ja=ga+4|0;ka=f[ja>>2]|0;if((da|0)==(ia+ka|0)){H=145;break}fa=f[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((H|0)==145?(f[ga+12>>2]&8|0)==0:0)?ha>>>0>>0&ha>>>0>=ia>>>0:0){f[ja>>2]=ka+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(f[4885]|0)+(ea-ca)|0;f[4888]=fa;f[4885]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[4889]=f[5004];break}if(da>>>0<(f[4886]|0)>>>0)f[4886]=da;aa=da+ea|0;fa=19976;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ca=f[fa+8>>2]|0;if(!ca)break;else fa=ca}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=da;ga=fa+4|0;f[ga>>2]=(f[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;c=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+B|0;T=c-ca-B|0;f[ca+4>>2]=B|3;do if((c|0)!=(ha|0)){if((c|0)==(f[4887]|0)){ba=(f[4884]|0)+T|0;f[4884]=ba;f[4887]=ga;f[ga+4>>2]=ba|1;f[ga+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){S=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(S|0)){f[4882]=f[4882]&~(1<<$);break}else{f[S+12>>2]=X;f[X+8>>2]=S;break}}else{S=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Z=U+4|0;s=f[Z>>2]|0;if(!s){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=s;na=Z}while(1){Z=ma+20|0;s=f[Z>>2]|0;if(s|0){ma=s;na=Z;continue}Z=ma+16|0;s=f[Z>>2]|0;if(!s)break;else{ma=s;na=Z}}f[na>>2]=0;la=ma}else{Z=f[c+8>>2]|0;f[Z+12>>2]=X;f[X+8>>2]=Z;la=X}while(0);if(!S)break;X=f[c+28>>2]|0;Z=19832+(X<<2)|0;do if((c|0)!=(f[Z>>2]|0)){f[S+16+(((f[S+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Z>>2]=la;if(la|0)break;f[4883]=f[4883]&~(1<>2]=S;X=c+16|0;Z=f[X>>2]|0;if(Z|0){f[la+16>>2]=Z;f[Z+24>>2]=la}Z=f[X+4>>2]|0;if(!Z)break;f[la+20>>2]=Z;f[Z+24>>2]=la}while(0);oa=c+_|0;pa=_+T|0}else{oa=c;pa=T}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ga+4>>2]=pa|1;f[ga+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=19568+($<<1<<2)|0;Y=f[4882]|0;Z=1<<$;if(!(Y&Z)){f[4882]=Y|Z;qa=ba+8|0;ra=ba}else{Z=ba+8|0;qa=Z;ra=f[Z>>2]|0}f[qa>>2]=ga;f[ra+12>>2]=ga;f[ga+8>>2]=ra;f[ga+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Z=(ba+1048320|0)>>>16&8;Y=ba<>>16&4;X=Y<<$;Y=(X+245760|0)>>>16&2;s=14-($|Z|Y)+(X<>>15)|0;sa=pa>>>(s+7|0)&1|s<<1}while(0);ba=19832+(sa<<2)|0;f[ga+28>>2]=sa;_=ga+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4883]|0;s=1<>2]=ga;f[ga+24>>2]=ba;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}s=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(s>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{s=s<<1;_=ba}}if((H|0)==193){f[ta>>2]=ga;f[ga+24>>2]=_;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}else if((H|0)==194){s=_+8|0;ba=f[s>>2]|0;f[ba+12>>2]=ga;f[s>>2]=ga;f[ga+8>>2]=ba;f[ga+12>>2]=_;f[ga+24>>2]=0;break}}else{ba=(f[4885]|0)+T|0;f[4885]=ba;f[4888]=ga;f[ga+4>>2]=ba|1}while(0);o=ca+8|0;u=b;return o|0}ga=19976;while(1){T=f[ga>>2]|0;if(T>>>0<=ha>>>0?(ua=T+(f[ga+4>>2]|0)|0,ua>>>0>ha>>>0):0)break;ga=f[ga+8>>2]|0}ga=ua+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0>>0?ha:T;T=ga+8|0;c=da+8|0;aa=(c&7|0)==0?0:0-c&7;c=da+aa|0;fa=ea+-40-aa|0;f[4888]=c;f[4885]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[4889]=f[5004];fa=ga+4|0;f[fa>>2]=27;f[T>>2]=f[4994];f[T+4>>2]=f[4995];f[T+8>>2]=f[4996];f[T+12>>2]=f[4997];f[4994]=da;f[4995]=ea;f[4997]=0;f[4996]=T;T=ga+24|0;do{c=T;T=T+4|0;f[T>>2]=7}while((c+8|0)>>>0>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;f[fa>>2]=f[fa>>2]&-2;f[ha+4>>2]=T|1;f[ga>>2]=T;c=T>>>3;if(T>>>0<256){aa=19568+(c<<1<<2)|0;ba=f[4882]|0;s=1<>2]|0}f[va>>2]=ha;f[wa+12>>2]=ha;f[ha+8>>2]=wa;f[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)xa=31;else{s=(aa+1048320|0)>>>16&8;ba=aa<>>16&4;c=ba<>>16&2;Y=14-(aa|s|ba)+(c<>>15)|0;xa=T>>>(Y+7|0)&1|Y<<1}else xa=0;Y=19832+(xa<<2)|0;f[ha+28>>2]=xa;f[ha+20>>2]=0;f[ca>>2]=0;ba=f[4883]|0;c=1<>2]=ha;f[ha+24>>2]=Y;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}c=T<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Y>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(T|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Y=f[ya>>2]|0;if(!Y){H=215;break}else{c=c<<1;ba=Y}}if((H|0)==215){f[ya>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==216){c=ba+8|0;T=f[c>>2]|0;f[T+12>>2]=ha;f[c>>2]=ha;f[ha+8>>2]=T;f[ha+12>>2]=ba;f[ha+24>>2]=0;break}}}else{T=f[4886]|0;if((T|0)==0|da>>>0>>0)f[4886]=da;f[4994]=da;f[4995]=ea;f[4997]=0;f[4891]=f[5e3];f[4890]=-1;T=0;do{c=19568+(T<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;T=T+1|0}while((T|0)!=32);T=da+8|0;ba=(T&7|0)==0?0:0-T&7;T=da+ba|0;c=ea+-40-ba|0;f[4888]=T;f[4885]=c;f[T+4>>2]=c|1;f[T+c+4>>2]=40;f[4889]=f[5004]}while(0);ea=f[4885]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4885]=da;ea=f[4888]|0;ha=ea+B|0;f[4888]=ha;f[ha+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=er()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Xa(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=D;qa=M;ra=N;sa=M;ta=N;ua=M;va=P;wa=O;xa=Q;ya=oa}else{za=G;Cq(za)}b:while(1){oa=f[pa+(ya<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=Q>>>5;Ba=1<<(Q&31);Ca=(oa|0)==-1|(Q|0)==-1;Da=oa;Ea=1;Fa=0;c:while(1){Ga=Ea^1;Ha=Da;Ia=Fa;while(1){if((Ha|0)==-1){Ja=Ia;break c}Ka=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(La=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(La|0)!=-1):0)?(Ma=f[S>>2]|0,Na=f[A>>2]|0,Oa=f[Na+(f[Ma+(La<<2)>>2]<<2)>>2]|0,Pa=La+1|0,Qa=f[Na+(f[Ma+((((Pa>>>0)%3|0|0)==0?La+-2|0:Pa)<<2)>>2]<<2)>>2]|0,Pa=f[Na+(f[Ma+((((La>>>0)%3|0|0)==0?2:-1)+La<<2)>>2]<<2)>>2]|0,(Oa|0)<(ya|0)&(Qa|0)<(ya|0)&(Pa|0)<(ya|0)):0){La=X(Oa,g)|0;Oa=X(Qa,g)|0;Qa=X(Pa,g)|0;if(T){Pa=0;do{f[Ka+(Pa<<2)>>2]=(f[c+(Pa+Qa<<2)>>2]|0)+(f[c+(Pa+Oa<<2)>>2]|0)-(f[c+(Pa+La<<2)>>2]|0);Pa=Pa+1|0}while((Pa|0)!=(g|0))}Pa=Ia+1|0;if((Pa|0)==4){Ja=4;break c}else Ra=Pa}else Ra=Ia;do if(Ea){Pa=Ha+1|0;La=((Pa>>>0)%3|0|0)==0?Ha+-2|0:Pa;if(((La|0)!=-1?(f[(f[e>>2]|0)+(La>>>5<<2)>>2]&1<<(La&31)|0)==0:0)?(Pa=f[(f[(f[R>>2]|0)+12>>2]|0)+(La<<2)>>2]|0,La=Pa+1|0,(Pa|0)!=-1):0)Sa=((La>>>0)%3|0|0)==0?Pa+-2|0:La;else Sa=-1}else{La=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((La|0)!=-1?(f[(f[e>>2]|0)+(La>>>5<<2)>>2]&1<<(La&31)|0)==0:0)?(Pa=f[(f[(f[R>>2]|0)+12>>2]|0)+(La<<2)>>2]|0,(Pa|0)!=-1):0)if(!((Pa>>>0)%3|0)){Sa=Pa+2|0;break}else{Sa=Pa+-1|0;break}else Sa=-1}while(0);if((Sa|0)==(oa|0)){Ja=Ra;break c}if((Sa|0)!=-1|Ga){Ha=Sa;Ia=Ra}else break}if(Ca){Da=-1;Ea=0;Fa=Ra;continue}if(f[(f[e>>2]|0)+(Aa<<2)>>2]&Ba|0){Da=-1;Ea=0;Fa=Ra;continue}Ia=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ia|0)==-1){Da=-1;Ea=0;Fa=Ra;continue}if(!((Ia>>>0)%3|0)){Da=Ia+2|0;Ea=0;Fa=Ra;continue}else{Da=Ia+-1|0;Ea=0;Fa=Ra;continue}}Fa=X(ya,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Ea=c+((X(xa+-2|0,g)|0)<<2)|0;Da=c+(Fa<<2)|0;Q=f[_>>2]|0;if(T){Ba=0;Aa=0;while(1){Ca=(f[Ea+(Aa<<2)>>2]|0)-(f[Da+(Aa<<2)>>2]|0)|0;oa=((Ca|0)>-1?Ca:0-Ca|0)+Ba|0;f[ua+(Aa<<2)>>2]=Ca;f[Q+(Aa<<2)>>2]=Ca<<1^Ca>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Ta=oa;break}else Ba=oa}}else Ta=0;xo(j,$,Q,g);Ba=al(j)|0;Aa=I;oa=Jm(j)|0;Ca=go(oa|0,I|0,Ba|0,Aa|0)|0;Aa=I;Ba=(Ja|0)>0;if(Ba){oa=Ja+-1|0;Ia=p+(oa<<3)|0;Ha=Ia;Ga=go(f[Ha>>2]|0,f[Ha+4>>2]|0,Ja|0,((Ja|0)<0)<<31>>31|0)|0;Ha=I;Pa=Ia;f[Pa>>2]=Ga;f[Pa+4>>2]=Ha;Ua=+W(+((+(Ga>>>0)+4294967296.0*+(Ha|0))*+Em(Ga,f[o+(oa<<3)>>2]|0)));oa=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,Ca|0,Aa|0)|0;Va=oa}else Va=Ca;Ca=r;f[Ca>>2]=Va;f[Ca+4>>2]=Ta;b[V>>0]=0;f[Z>>2]=0;Zf(aa,Ea,Ea+(g<<2)|0);f[s>>2]=va;f[t>>2]=wa;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Mf(ba,k,j);if((Ja|0)<1){Wa=ta;Xa=sa;Ya=ra;Za=qa;_a=wa;$a=va;ab=va}else{Ca=n+Ja|0;oa=f[q>>2]|0;Aa=Ja+-1|0;Ga=o+(Aa<<3)|0;Ha=p+(Aa<<3)|0;Aa=oa;Pa=f[H>>2]|0;Ia=Ca+-1|0;La=(Ia|0)==(n|0);Oa=Ca+-2|0;Qa=ma>>>0>>0;Ka=~Ja;Ma=Ja+2+((Ka|0)>-2?Ka:-2)|0;Ka=Pa;Na=Ia>>>0>n>>>0;bb=0;cb=1;while(1){bb=bb+1|0;pj(n|0,1,Ma|0)|0;pj(n|0,0,bb|0)|0;d:while(1){if(T){pj(f[m>>2]|0,0,na|0)|0;db=f[m>>2]|0;eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0)){gb=f[l+(fb*12|0)>>2]|0;hb=0;do{ib=db+(hb<<2)|0;f[ib>>2]=(f[ib>>2]|0)+(f[gb+(hb<<2)>>2]|0);hb=hb+1|0}while((hb|0)!=(g|0));jb=(1<>0]|0))lb=(1<>2]|0;do if(T){fb=0;do{db=eb+(fb<<2)|0;f[db>>2]=(f[db>>2]|0)/(cb|0)|0;fb=fb+1|0}while((fb|0)!=(g|0));fb=f[_>>2]|0;if(T){mb=0;nb=0}else{ob=fb;pb=0;break}while(1){db=(f[eb+(nb<<2)>>2]|0)-(f[Da+(nb<<2)>>2]|0)|0;hb=((db|0)>-1?db:0-db|0)+mb|0;f[oa+(nb<<2)>>2]=db;f[fb+(nb<<2)>>2]=db<<1^db>>31;nb=nb+1|0;if((nb|0)==(g|0)){ob=fb;pb=hb;break}else mb=hb}}else{ob=f[_>>2]|0;pb=0}while(0);xo(j,$,ob,g);eb=al(j)|0;fb=I;hb=Jm(j)|0;db=go(hb|0,I|0,eb|0,fb|0)|0;fb=I;if(Ba){eb=Ga;hb=go(f[eb>>2]|0,f[eb+4>>2]|0,cb|0,0)|0;eb=Ha;gb=f[eb>>2]|0;ib=f[eb+4>>2]|0;Ua=+W(+((+(gb>>>0)+4294967296.0*+(ib|0))*+Em(gb,hb)));hb=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,db|0,fb|0)|0;qb=hb}else qb=db;db=f[r>>2]|0;if(!((qb|0)>=(db|0)?!((qb|0)<=(db|0)?(pb|0)<(f[U>>2]|0):0):0)){db=r;f[db>>2]=qb;f[db+4>>2]=pb;b[V>>0]=kb;f[Z>>2]=cb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Mf(aa,k,j);f[x>>2]=Aa;f[y>>2]=Pa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Mf(ba,k,j)}if(La)break;rb=b[Ia>>0]|0;db=rb;hb=-1;while(1){fb=hb+-1|0;sb=Ca+fb|0;gb=db;db=b[sb>>0]|0;if((db&255)<(gb&255))break;if((sb|0)==(n|0)){tb=82;break d}else hb=fb}fb=Ca+hb|0;if((db&255)<(rb&255)){ub=rb;vb=Ia}else{gb=Ca;ib=Ia;while(1){eb=ib+-1|0;if((db&255)<(h[gb+-2>>0]|0)){ub=1;vb=eb;break}else{wb=ib;ib=eb;gb=wb}}}b[sb>>0]=ub;b[vb>>0]=db;if((hb|0)<-1){xb=fb;yb=Ia}else continue;while(1){gb=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=gb;gb=xb+1|0;ib=yb+-1|0;if(gb>>>0>>0){xb=gb;yb=ib}else continue d}}if(((tb|0)==82?(tb=0,Na):0)?(fb=b[n>>0]|0,b[n>>0]=rb,b[Ia>>0]=fb,Qa):0){fb=Oa;hb=ma;do{db=b[hb>>0]|0;b[hb>>0]=b[fb>>0]|0;b[fb>>0]=db;hb=hb+1|0;fb=fb+-1|0}while(hb>>>0>>0)}if((cb|0)>=(Ja|0)){Wa=Ka;Xa=oa;Ya=Ka;Za=oa;_a=Pa;$a=Aa;ab=oa;break}else cb=cb+1|0}}if(Ba){cb=f[Z>>2]|0;oa=o+(Ja+-1<<3)|0;Aa=oa;Pa=go(f[Aa>>2]|0,f[Aa+4>>2]|0,cb|0,((cb|0)<0)<<31>>31|0)|0;cb=oa;f[cb>>2]=Pa;f[cb+4>>2]=I}if(T){cb=f[ba>>2]|0;Pa=f[C>>2]|0;oa=0;do{Aa=f[cb+(oa<<2)>>2]|0;f[Pa+(oa<<2)>>2]=Aa<<1^Aa>>31;oa=oa+1|0}while((oa|0)!=(g|0));zb=Pa}else zb=f[C>>2]|0;wo(j,$,zb,g);if(Ba){Pa=Ja+-1|0;Ab=a+60+(Pa*12|0)|0;oa=a+60+(Pa*12|0)+4|0;cb=a+60+(Pa*12|0)+8|0;Pa=0;do{Aa=f[oa>>2]|0;Ka=f[cb>>2]|0;Oa=(Aa|0)==(Ka<<5|0);if(!(h[V>>0]&1<>>0<1073741823?(Qa>>>0>>0?Ia:Qa):2147483647);Bb=f[oa>>2]|0}else Bb=Aa;f[oa>>2]=Bb+1;Qa=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Qa>>2]=f[Qa>>2]|1<<(Bb&31)}else{if(Oa){if((Aa+1|0)<0){tb=115;break b}Oa=Ka<<6;Ka=Aa+32&-32;si(Ab,Aa>>>0<1073741823?(Oa>>>0>>0?Ka:Oa):2147483647);Cb=f[oa>>2]|0}else Cb=Aa;f[oa>>2]=Cb+1;Aa=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Cb&31))}Pa=Pa+1|0}while((Pa|0)<(Ja|0))}Pa=d+(Fa<<2)|0;oa=f[z>>2]|0;if((oa|0)>0){cb=oa;oa=0;Ba=f[aa>>2]|0;while(1){if((cb|0)>0){Aa=0;do{Oa=f[Ba+(Aa<<2)>>2]|0;Ka=f[ca>>2]|0;if((Oa|0)>(Ka|0)){Qa=f[da>>2]|0;f[Qa+(Aa<<2)>>2]=Ka;Db=Qa}else{Qa=f[ea>>2]|0;Ka=f[da>>2]|0;f[Ka+(Aa<<2)>>2]=(Oa|0)<(Qa|0)?Qa:Oa;Db=Ka}Aa=Aa+1|0}while((Aa|0)<(f[z>>2]|0));Eb=Db}else Eb=f[da>>2]|0;Aa=(f[Da+(oa<<2)>>2]|0)-(f[Eb+(oa<<2)>>2]|0)|0;Ka=Pa+(oa<<2)|0;f[Ka>>2]=Aa;do if((Aa|0)<(f[fa>>2]|0)){Fb=(f[ga>>2]|0)+Aa|0;tb=105}else{if((Aa|0)<=(f[ha>>2]|0))break;Fb=Aa-(f[ga>>2]|0)|0;tb=105}while(0);if((tb|0)==105){tb=0;f[Ka>>2]=Fb}oa=oa+1|0;cb=f[z>>2]|0;if((oa|0)>=(cb|0))break;else Ba=Eb}}Ba=f[ia>>2]|0;if(Ba|0){cb=f[la>>2]|0;if((cb|0)!=(Ba|0))f[la>>2]=cb+(~((cb+-4-Ba|0)>>>2)<<2);pr(Ba)}Ba=f[ja>>2]|0;if(Ba|0){cb=f[ka>>2]|0;if((cb|0)!=(Ba|0))f[ka>>2]=cb+(~((cb+-4-Ba|0)>>>2)<<2);pr(Ba)}if((ya|0)<=1){Gb=Za;Hb=Ya;break a}Ba=f[B>>2]|0;pa=f[Ba>>2]|0;cb=ya+-1|0;if((f[Ba+4>>2]|0)-pa>>2>>>0<=cb>>>0){za=Ba;tb=17;break}else{Ba=ya;qa=Za;ra=Ya;sa=Xa;ta=Wa;ua=ab;va=$a;wa=_a;ya=cb;xa=Ba}}if((tb|0)==17)Cq(za);else if((tb|0)==110)Cq(Ab);else if((tb|0)==115)Cq(Ab)}else{Gb=M;Hb=N}while(0);N=f[l>>2]|0;if((g|0)>0){M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Ab=a+32|0;za=a+12|0;xa=a+28|0;ya=a+20|0;_a=a+24|0;a=g;g=0;wa=N;while(1){if((a|0)>0){N=0;do{$a=f[wa+(N<<2)>>2]|0;va=f[M>>2]|0;if(($a|0)>(va|0)){ab=f[Ab>>2]|0;f[ab+(N<<2)>>2]=va;Ib=ab}else{ab=f[za>>2]|0;va=f[Ab>>2]|0;f[va+(N<<2)>>2]=($a|0)<(ab|0)?ab:$a;Ib=va}N=N+1|0}while((N|0)<(f[z>>2]|0));Jb=Ib}else Jb=f[Ab>>2]|0;N=(f[c+(g<<2)>>2]|0)-(f[Jb+(g<<2)>>2]|0)|0;va=d+(g<<2)|0;f[va>>2]=N;if((N|0)>=(f[xa>>2]|0)){if((N|0)>(f[_a>>2]|0)){Kb=N-(f[ya>>2]|0)|0;tb=141}}else{Kb=(f[ya>>2]|0)+N|0;tb=141}if((tb|0)==141){tb=0;f[va>>2]=Kb}g=g+1|0;a=f[z>>2]|0;if((g|0)>=(a|0))break;else wa=Jb}}if(Gb|0){if((Hb|0)!=(Gb|0))f[H>>2]=Hb+(~((Hb+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[m>>2]|0;if(Gb|0){m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+36>>2]|0;if(Gb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+24>>2]|0;if(Gb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+12>>2]|0;if(Gb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l>>2]|0;if(!Gb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Gb|0))f[E>>2]=l+(~((l+-4-Gb|0)>>>2)<<2);pr(Gb);u=i;return 1}function Ya(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=D;pa=M;qa=N;ra=M;sa=N;ta=M;ua=P;va=O;wa=Q;xa=na}else{ya=G;Cq(ya)}b:while(1){na=f[oa+(xa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=(na|0)==-1|(Q|0)==-1;Aa=na;Ba=1;Ca=0;c:while(1){Da=Ba^1;Ea=Aa;Fa=Ca;while(1){if((Ea|0)==-1){Ga=Fa;break c}Ha=f[l+(Fa*12|0)>>2]|0;Ia=f[R>>2]|0;Ja=f[Ia+(Ea<<2)>>2]|0;if((Ja|0)!=-1){Ka=f[e>>2]|0;La=f[A>>2]|0;Ma=f[La+(f[Ka+(Ja<<2)>>2]<<2)>>2]|0;Na=Ja+1|0;Oa=((Na>>>0)%3|0|0)==0?Ja+-2|0:Na;if((Oa|0)==-1)Pa=-1;else Pa=f[Ka+(Oa<<2)>>2]|0;Oa=f[La+(Pa<<2)>>2]|0;Na=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if((Na|0)==-1)Qa=-1;else Qa=f[Ka+(Na<<2)>>2]|0;Na=f[La+(Qa<<2)>>2]|0;if((Ma|0)<(xa|0)&(Oa|0)<(xa|0)&(Na|0)<(xa|0)){La=X(Ma,g)|0;Ma=X(Oa,g)|0;Oa=X(Na,g)|0;if(S){Na=0;do{f[Ha+(Na<<2)>>2]=(f[c+(Na+Oa<<2)>>2]|0)+(f[c+(Na+Ma<<2)>>2]|0)-(f[c+(Na+La<<2)>>2]|0);Na=Na+1|0}while((Na|0)!=(g|0))}Na=Fa+1|0;if((Na|0)==4){Ga=4;break c}else Ra=Na}else Ra=Fa}else Ra=Fa;do if(Ba){Na=Ea+1|0;La=((Na>>>0)%3|0|0)==0?Ea+-2|0:Na;if((La|0)!=-1?(Na=f[Ia+(La<<2)>>2]|0,La=Na+1|0,(Na|0)!=-1):0)Sa=((La>>>0)%3|0|0)==0?Na+-2|0:La;else Sa=-1}else{La=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((La|0)!=-1?(Na=f[Ia+(La<<2)>>2]|0,(Na|0)!=-1):0)if(!((Na>>>0)%3|0)){Sa=Na+2|0;break}else{Sa=Na+-1|0;break}else Sa=-1}while(0);if((Sa|0)==(na|0)){Ga=Ra;break c}if((Sa|0)!=-1|Da){Ea=Sa;Fa=Ra}else break}if(za){Aa=-1;Ba=0;Ca=Ra;continue}Fa=f[Ia+(Q<<2)>>2]|0;if((Fa|0)==-1){Aa=-1;Ba=0;Ca=Ra;continue}if(!((Fa>>>0)%3|0)){Aa=Fa+2|0;Ba=0;Ca=Ra;continue}else{Aa=Fa+-1|0;Ba=0;Ca=Ra;continue}}Ca=X(xa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ba=c+((X(wa+-2|0,g)|0)<<2)|0;Aa=c+(Ca<<2)|0;Q=f[Z>>2]|0;if(S){za=0;na=0;while(1){Fa=(f[Ba+(na<<2)>>2]|0)-(f[Aa+(na<<2)>>2]|0)|0;Ea=((Fa|0)>-1?Fa:0-Fa|0)+za|0;f[ta+(na<<2)>>2]=Fa;f[Q+(na<<2)>>2]=Fa<<1^Fa>>31;na=na+1|0;if((na|0)==(g|0)){Ta=Ea;break}else za=Ea}}else Ta=0;xo(j,_,Q,g);za=al(j)|0;na=I;Ea=Jm(j)|0;Fa=go(Ea|0,I|0,za|0,na|0)|0;na=I;za=(Ga|0)>0;if(za){Ea=Ga+-1|0;Da=p+(Ea<<3)|0;Na=Da;La=go(f[Na>>2]|0,f[Na+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Na=I;Ma=Da;f[Ma>>2]=La;f[Ma+4>>2]=Na;Ua=+W(+((+(La>>>0)+4294967296.0*+(Na|0))*+Em(La,f[o+(Ea<<3)>>2]|0)));Ea=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,Fa|0,na|0)|0;Va=Ea}else Va=Fa;Fa=r;f[Fa>>2]=Va;f[Fa+4>>2]=Ta;b[U>>0]=0;f[V>>2]=0;Zf($,Ba,Ba+(g<<2)|0);f[s>>2]=ua;f[t>>2]=va;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Mf(aa,k,j);if((Ga|0)<1){Wa=sa;Xa=ra;Ya=qa;Za=pa;_a=va;$a=ua;ab=ua}else{Fa=n+Ga|0;Ea=f[q>>2]|0;na=Ga+-1|0;La=o+(na<<3)|0;Na=p+(na<<3)|0;na=Ea;Ma=f[H>>2]|0;Da=Fa+-1|0;Oa=(Da|0)==(n|0);Ha=Fa+-2|0;Ka=la>>>0>>0;Ja=~Ga;bb=Ga+2+((Ja|0)>-2?Ja:-2)|0;Ja=Ma;cb=Da>>>0>n>>>0;db=0;eb=1;while(1){db=db+1|0;pj(n|0,1,bb|0)|0;pj(n|0,0,db|0)|0;d:while(1){if(S){pj(f[m>>2]|0,0,ma|0)|0;fb=f[m>>2]|0;gb=0;hb=0;while(1){if(!(b[n+hb>>0]|0)){ib=f[l+(hb*12|0)>>2]|0;jb=0;do{kb=fb+(jb<<2)|0;f[kb>>2]=(f[kb>>2]|0)+(f[ib+(jb<<2)>>2]|0);jb=jb+1|0}while((jb|0)!=(g|0));lb=(1<>0]|0))nb=(1<>2]|0;do if(S){hb=0;do{fb=gb+(hb<<2)|0;f[fb>>2]=(f[fb>>2]|0)/(eb|0)|0;hb=hb+1|0}while((hb|0)!=(g|0));hb=f[Z>>2]|0;if(S){ob=0;pb=0}else{qb=hb;rb=0;break}while(1){fb=(f[gb+(pb<<2)>>2]|0)-(f[Aa+(pb<<2)>>2]|0)|0;jb=((fb|0)>-1?fb:0-fb|0)+ob|0;f[Ea+(pb<<2)>>2]=fb;f[hb+(pb<<2)>>2]=fb<<1^fb>>31;pb=pb+1|0;if((pb|0)==(g|0)){qb=hb;rb=jb;break}else ob=jb}}else{qb=f[Z>>2]|0;rb=0}while(0);xo(j,_,qb,g);gb=al(j)|0;hb=I;jb=Jm(j)|0;fb=go(jb|0,I|0,gb|0,hb|0)|0;hb=I;if(za){gb=La;jb=go(f[gb>>2]|0,f[gb+4>>2]|0,eb|0,0)|0;gb=Na;ib=f[gb>>2]|0;kb=f[gb+4>>2]|0;Ua=+W(+((+(ib>>>0)+4294967296.0*+(kb|0))*+Em(ib,jb)));jb=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,fb|0,hb|0)|0;sb=jb}else sb=fb;fb=f[r>>2]|0;if(!((sb|0)>=(fb|0)?!((sb|0)<=(fb|0)?(rb|0)<(f[T>>2]|0):0):0)){fb=r;f[fb>>2]=sb;f[fb+4>>2]=rb;b[U>>0]=mb;f[V>>2]=eb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Mf($,k,j);f[x>>2]=na;f[y>>2]=Ma;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Mf(aa,k,j)}if(Oa)break;tb=b[Da>>0]|0;fb=tb;jb=-1;while(1){hb=jb+-1|0;ub=Fa+hb|0;ib=fb;fb=b[ub>>0]|0;if((fb&255)<(ib&255))break;if((ub|0)==(n|0)){vb=82;break d}else jb=hb}hb=Fa+jb|0;if((fb&255)<(tb&255)){wb=tb;xb=Da}else{ib=Fa;kb=Da;while(1){gb=kb+-1|0;if((fb&255)<(h[ib+-2>>0]|0)){wb=1;xb=gb;break}else{yb=kb;kb=gb;ib=yb}}}b[ub>>0]=wb;b[xb>>0]=fb;if((jb|0)<-1){zb=hb;Ab=Da}else continue;while(1){ib=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=ib;ib=zb+1|0;kb=Ab+-1|0;if(ib>>>0>>0){zb=ib;Ab=kb}else continue d}}if(((vb|0)==82?(vb=0,cb):0)?(hb=b[n>>0]|0,b[n>>0]=tb,b[Da>>0]=hb,Ka):0){hb=Ha;jb=la;do{fb=b[jb>>0]|0;b[jb>>0]=b[hb>>0]|0;b[hb>>0]=fb;jb=jb+1|0;hb=hb+-1|0}while(jb>>>0>>0)}if((eb|0)>=(Ga|0)){Wa=Ja;Xa=Ea;Ya=Ja;Za=Ea;_a=Ma;$a=na;ab=Ea;break}else eb=eb+1|0}}if(za){eb=f[V>>2]|0;Ea=o+(Ga+-1<<3)|0;na=Ea;Ma=go(f[na>>2]|0,f[na+4>>2]|0,eb|0,((eb|0)<0)<<31>>31|0)|0;eb=Ea;f[eb>>2]=Ma;f[eb+4>>2]=I}if(S){eb=f[aa>>2]|0;Ma=f[C>>2]|0;Ea=0;do{na=f[eb+(Ea<<2)>>2]|0;f[Ma+(Ea<<2)>>2]=na<<1^na>>31;Ea=Ea+1|0}while((Ea|0)!=(g|0));Bb=Ma}else Bb=f[C>>2]|0;wo(j,_,Bb,g);if(za){Ma=Ga+-1|0;Cb=a+60+(Ma*12|0)|0;Ea=a+60+(Ma*12|0)+4|0;eb=a+60+(Ma*12|0)+8|0;Ma=0;do{na=f[Ea>>2]|0;Ja=f[eb>>2]|0;Ha=(na|0)==(Ja<<5|0);if(!(h[U>>0]&1<>>0<1073741823?(Ka>>>0>>0?Da:Ka):2147483647);Db=f[Ea>>2]|0}else Db=na;f[Ea>>2]=Db+1;Ka=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[Ka>>2]=f[Ka>>2]|1<<(Db&31)}else{if(Ha){if((na+1|0)<0){vb=115;break b}Ha=Ja<<6;Ja=na+32&-32;si(Cb,na>>>0<1073741823?(Ha>>>0>>0?Ja:Ha):2147483647);Eb=f[Ea>>2]|0}else Eb=na;f[Ea>>2]=Eb+1;na=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Eb&31))}Ma=Ma+1|0}while((Ma|0)<(Ga|0))}Ma=d+(Ca<<2)|0;Ea=f[z>>2]|0;if((Ea|0)>0){eb=Ea;Ea=0;za=f[$>>2]|0;while(1){if((eb|0)>0){na=0;do{Ha=f[za+(na<<2)>>2]|0;Ja=f[ba>>2]|0;if((Ha|0)>(Ja|0)){Ka=f[ca>>2]|0;f[Ka+(na<<2)>>2]=Ja;Fb=Ka}else{Ka=f[da>>2]|0;Ja=f[ca>>2]|0;f[Ja+(na<<2)>>2]=(Ha|0)<(Ka|0)?Ka:Ha;Fb=Ja}na=na+1|0}while((na|0)<(f[z>>2]|0));Gb=Fb}else Gb=f[ca>>2]|0;na=(f[Aa+(Ea<<2)>>2]|0)-(f[Gb+(Ea<<2)>>2]|0)|0;Ja=Ma+(Ea<<2)|0;f[Ja>>2]=na;do if((na|0)<(f[ea>>2]|0)){Hb=(f[fa>>2]|0)+na|0;vb=105}else{if((na|0)<=(f[ga>>2]|0))break;Hb=na-(f[fa>>2]|0)|0;vb=105}while(0);if((vb|0)==105){vb=0;f[Ja>>2]=Hb}Ea=Ea+1|0;eb=f[z>>2]|0;if((Ea|0)>=(eb|0))break;else za=Gb}}za=f[ha>>2]|0;if(za|0){eb=f[ka>>2]|0;if((eb|0)!=(za|0))f[ka>>2]=eb+(~((eb+-4-za|0)>>>2)<<2);pr(za)}za=f[ia>>2]|0;if(za|0){eb=f[ja>>2]|0;if((eb|0)!=(za|0))f[ja>>2]=eb+(~((eb+-4-za|0)>>>2)<<2);pr(za)}if((xa|0)<=1){Ib=Za;Jb=Ya;break a}za=f[B>>2]|0;oa=f[za>>2]|0;eb=xa+-1|0;if((f[za+4>>2]|0)-oa>>2>>>0<=eb>>>0){ya=za;vb=17;break}else{za=xa;pa=Za;qa=Ya;ra=Xa;sa=Wa;ta=ab;ua=$a;va=_a;xa=eb;wa=za}}if((vb|0)==17)Cq(ya);else if((vb|0)==110)Cq(Cb);else if((vb|0)==115)Cq(Cb)}else{Ib=M;Jb=N}while(0);N=f[l>>2]|0;if((g|0)>0){M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Cb=a+32|0;ya=a+12|0;wa=a+28|0;xa=a+20|0;_a=a+24|0;a=g;g=0;va=N;while(1){if((a|0)>0){N=0;do{$a=f[va+(N<<2)>>2]|0;ua=f[M>>2]|0;if(($a|0)>(ua|0)){ab=f[Cb>>2]|0;f[ab+(N<<2)>>2]=ua;Kb=ab}else{ab=f[ya>>2]|0;ua=f[Cb>>2]|0;f[ua+(N<<2)>>2]=($a|0)<(ab|0)?ab:$a;Kb=ua}N=N+1|0}while((N|0)<(f[z>>2]|0));Lb=Kb}else Lb=f[Cb>>2]|0;N=(f[c+(g<<2)>>2]|0)-(f[Lb+(g<<2)>>2]|0)|0;ua=d+(g<<2)|0;f[ua>>2]=N;if((N|0)>=(f[wa>>2]|0)){if((N|0)>(f[_a>>2]|0)){Mb=N-(f[xa>>2]|0)|0;vb=141}}else{Mb=(f[xa>>2]|0)+N|0;vb=141}if((vb|0)==141){vb=0;f[ua>>2]=Mb}g=g+1|0;a=f[z>>2]|0;if((g|0)>=(a|0))break;else va=Lb}}if(Ib|0){if((Jb|0)!=(Ib|0))f[H>>2]=Jb+(~((Jb+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[m>>2]|0;if(Ib|0){m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+36>>2]|0;if(Ib|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+24>>2]|0;if(Ib|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+12>>2]|0;if(Ib|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l>>2]|0;if(!Ib){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Ib|0))f[E>>2]=l+(~((l+-4-Ib|0)>>>2)<<2);pr(Ib);u=i;return 1}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=(Ml(7108,7300,e,c)|0)-7108>>2;j=g;g=h;h=0;a:while(1){k=(f[7108+(i<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=211;n=h;o=8;break}p=f[6916+(l<<2)>>2]|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((k|0)==(X(q,p)|0)){r=h;break}else l=l+1|0}b:do if((o|0)==8){c:while(1){o=0;l=(k>>>0)/(m>>>0)|0;do if(l>>>0>=m>>>0)if((k|0)!=(X(l,m)|0)){p=m+10|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((k|0)!=(X(q,p)|0)){q=m+12|0;s=(k>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((k|0)!=(X(s,q)|0)){s=m+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(X(t,s)|0)){t=m+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(X(v,t)|0)){v=m+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(X(w,v)|0)){w=m+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(X(x,w)|0)){y=9;z=w;A=n}else{x=m+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(k|0)==(X(B,x)|0);y=C?1:D?9:0;z=C|D?x:m+210|0;A=C?k:n}else{y=1;z=w;A=k}}else{y=9;z=v;A=n}else{y=1;z=v;A=k}}else{y=9;z=t;A=n}else{y=1;z=t;A=k}}else{y=9;z=s;A=n}else{y=1;z=s;A=k}}else{y=9;z=q;A=n}else{y=1;z=q;A=k}}else{y=9;z=p;A=n}else{y=1;z=p;A=k}}else{y=9;z=m;A=n}else{y=1;z=m;A=k}while(0);switch(y&15){case 9:{r=A;break b;break}case 0:{m=z;n=A;o=8;break}default:break c}}if(!y)r=A;else{o=107;break a}}while(0);l=i+1|0;p=(l|0)==48;q=(p&1)+j|0;i=p?0:l;j=q;g=q*210|0;h=r}if((o|0)==106){f[d>>2]=k;E=k;break}else if((o|0)==107){f[d>>2]=k;E=A;break}}else{h=Ml(6916,7108,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=D;oa=M;pa=N;qa=M;ra=N;sa=M;ta=P;ua=O;va=Q;wa=ma}else{xa=G;Cq(xa)}b:while(1){ma=f[na+(wa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=Q>>>5;za=1<<(Q&31);Aa=(ma|0)==-1|(Q|0)==-1;Ba=ma;Ca=1;Da=0;c:while(1){Ea=Ca^1;Fa=Ba;Ga=Da;while(1){if((Fa|0)==-1){Ha=Ga;break c}Ia=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Fa>>>5<<2)>>2]&1<<(Fa&31)|0)==0?(Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Fa<<2)>>2]|0,(Ja|0)!=-1):0)?(Ka=f[S>>2]|0,La=f[A>>2]|0,Ma=f[La+(f[Ka+(Ja<<2)>>2]<<2)>>2]|0,Na=Ja+1|0,Oa=f[La+(f[Ka+((((Na>>>0)%3|0|0)==0?Ja+-2|0:Na)<<2)>>2]<<2)>>2]|0,Na=f[La+(f[Ka+((((Ja>>>0)%3|0|0)==0?2:-1)+Ja<<2)>>2]<<2)>>2]|0,(Ma|0)<(wa|0)&(Oa|0)<(wa|0)&(Na|0)<(wa|0)):0){Ja=X(Ma,g)|0;Ma=X(Oa,g)|0;Oa=X(Na,g)|0;if(T){Na=0;do{f[Ia+(Na<<2)>>2]=(f[c+(Na+Oa<<2)>>2]|0)+(f[c+(Na+Ma<<2)>>2]|0)-(f[c+(Na+Ja<<2)>>2]|0);Na=Na+1|0}while((Na|0)!=(g|0))}Na=Ga+1|0;if((Na|0)==4){Ha=4;break c}else Pa=Na}else Pa=Ga;do if(Ca){Na=Fa+1|0;Ja=((Na>>>0)%3|0|0)==0?Fa+-2|0:Na;if(((Ja|0)!=-1?(f[(f[z>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0:0)?(Na=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,Ja=Na+1|0,(Na|0)!=-1):0)Qa=((Ja>>>0)%3|0|0)==0?Na+-2|0:Ja;else Qa=-1}else{Ja=(((Fa>>>0)%3|0|0)==0?2:-1)+Fa|0;if(((Ja|0)!=-1?(f[(f[z>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0:0)?(Na=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Na|0)!=-1):0)if(!((Na>>>0)%3|0)){Qa=Na+2|0;break}else{Qa=Na+-1|0;break}else Qa=-1}while(0);if((Qa|0)==(ma|0)){Ha=Pa;break c}if((Qa|0)!=-1|Ea){Fa=Qa;Ga=Pa}else break}if(Aa){Ba=-1;Ca=0;Da=Pa;continue}if(f[(f[z>>2]|0)+(ya<<2)>>2]&za|0){Ba=-1;Ca=0;Da=Pa;continue}Ga=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=-1;Ca=0;Da=Pa;continue}if(!((Ga>>>0)%3|0)){Ba=Ga+2|0;Ca=0;Da=Pa;continue}else{Ba=Ga+-1|0;Ca=0;Da=Pa;continue}}Da=X(wa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Ca=c+((X(va+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Q=f[_>>2]|0;if(T){za=0;ya=0;while(1){Aa=(f[Ca+(ya<<2)>>2]|0)-(f[Ba+(ya<<2)>>2]|0)|0;ma=((Aa|0)>-1?Aa:0-Aa|0)+za|0;f[sa+(ya<<2)>>2]=Aa;f[Q+(ya<<2)>>2]=Aa<<1^Aa>>31;ya=ya+1|0;if((ya|0)==(g|0)){Ra=ma;break}else za=ma}}else Ra=0;xo(e,$,Q,g);za=al(e)|0;ya=I;ma=Jm(e)|0;Aa=go(ma|0,I|0,za|0,ya|0)|0;ya=I;za=(Ha|0)>0;if(za){ma=Ha+-1|0;Ga=p+(ma<<3)|0;Fa=Ga;Ea=go(f[Fa>>2]|0,f[Fa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Fa=I;Na=Ga;f[Na>>2]=Ea;f[Na+4>>2]=Fa;Sa=+W(+((+(Ea>>>0)+4294967296.0*+(Fa|0))*+Em(Ea,f[o+(ma<<3)>>2]|0)));ma=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,Aa|0,ya|0)|0;Ta=ma}else Ta=Aa;Aa=r;f[Aa>>2]=Ta;f[Aa+4>>2]=Ra;b[V>>0]=0;f[Z>>2]=0;Zf(aa,Ca,Ca+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Mf(ba,j,e);if((Ha|0)<1){Ua=ra;Va=qa;Wa=pa;Xa=oa;Ya=ua;Za=ta;_a=ta}else{Aa=n+Ha|0;ma=f[q>>2]|0;ya=Ha+-1|0;Ea=o+(ya<<3)|0;Fa=p+(ya<<3)|0;ya=ma;Na=f[H>>2]|0;Ga=Aa+-1|0;Ja=(Ga|0)==(n|0);Ma=Aa+-2|0;Oa=ka>>>0>>0;Ia=~Ha;Ka=Ha+2+((Ia|0)>-2?Ia:-2)|0;Ia=Na;La=Ga>>>0>n>>>0;$a=0;ab=1;while(1){$a=$a+1|0;pj(n|0,1,Ka|0)|0;pj(n|0,0,$a|0)|0;d:while(1){if(T){pj(f[m>>2]|0,0,la|0)|0;bb=f[m>>2]|0;cb=0;db=0;while(1){if(!(b[n+db>>0]|0)){eb=f[l+(db*12|0)>>2]|0;fb=0;do{gb=bb+(fb<<2)|0;f[gb>>2]=(f[gb>>2]|0)+(f[eb+(fb<<2)>>2]|0);fb=fb+1|0}while((fb|0)!=(g|0));hb=(1<>0]|0))jb=(1<>2]|0;do if(T){db=0;do{bb=cb+(db<<2)|0;f[bb>>2]=(f[bb>>2]|0)/(ab|0)|0;db=db+1|0}while((db|0)!=(g|0));db=f[_>>2]|0;if(T){kb=0;lb=0}else{mb=db;nb=0;break}while(1){bb=(f[cb+(lb<<2)>>2]|0)-(f[Ba+(lb<<2)>>2]|0)|0;fb=((bb|0)>-1?bb:0-bb|0)+kb|0;f[ma+(lb<<2)>>2]=bb;f[db+(lb<<2)>>2]=bb<<1^bb>>31;lb=lb+1|0;if((lb|0)==(g|0)){mb=db;nb=fb;break}else kb=fb}}else{mb=f[_>>2]|0;nb=0}while(0);xo(e,$,mb,g);cb=al(e)|0;db=I;fb=Jm(e)|0;bb=go(fb|0,I|0,cb|0,db|0)|0;db=I;if(za){cb=Ea;fb=go(f[cb>>2]|0,f[cb+4>>2]|0,ab|0,0)|0;cb=Fa;eb=f[cb>>2]|0;gb=f[cb+4>>2]|0;Sa=+W(+((+(eb>>>0)+4294967296.0*+(gb|0))*+Em(eb,fb)));fb=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,bb|0,db|0)|0;ob=fb}else ob=bb;bb=f[r>>2]|0;if(!((ob|0)>=(bb|0)?!((ob|0)<=(bb|0)?(nb|0)<(f[U>>2]|0):0):0)){bb=r;f[bb>>2]=ob;f[bb+4>>2]=nb;b[V>>0]=ib;f[Z>>2]=ab;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Mf(aa,j,e);f[x>>2]=ya;f[y>>2]=Na;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Mf(ba,j,e)}if(Ja)break;pb=b[Ga>>0]|0;bb=pb;fb=-1;while(1){db=fb+-1|0;qb=Aa+db|0;eb=bb;bb=b[qb>>0]|0;if((bb&255)<(eb&255))break;if((qb|0)==(n|0)){rb=83;break d}else fb=db}db=Aa+fb|0;if((bb&255)<(pb&255)){sb=pb;tb=Ga}else{eb=Aa;gb=Ga;while(1){cb=gb+-1|0;if((bb&255)<(h[eb+-2>>0]|0)){sb=1;tb=cb;break}else{ub=gb;gb=cb;eb=ub}}}b[qb>>0]=sb;b[tb>>0]=bb;if((fb|0)<-1){vb=db;wb=Ga}else continue;while(1){eb=b[vb>>0]|0;b[vb>>0]=b[wb>>0]|0;b[wb>>0]=eb;eb=vb+1|0;gb=wb+-1|0;if(eb>>>0>>0){vb=eb;wb=gb}else continue d}}if(((rb|0)==83?(rb=0,La):0)?(db=b[n>>0]|0,b[n>>0]=pb,b[Ga>>0]=db,Oa):0){db=Ma;fb=ka;do{bb=b[fb>>0]|0;b[fb>>0]=b[db>>0]|0;b[db>>0]=bb;fb=fb+1|0;db=db+-1|0}while(fb>>>0>>0)}if((ab|0)>=(Ha|0)){Ua=Ia;Va=ma;Wa=Ia;Xa=ma;Ya=Na;Za=ya;_a=ma;break}else ab=ab+1|0}}if(za){ab=f[Z>>2]|0;ma=o+(Ha+-1<<3)|0;ya=ma;Na=go(f[ya>>2]|0,f[ya+4>>2]|0,ab|0,((ab|0)<0)<<31>>31|0)|0;ab=ma;f[ab>>2]=Na;f[ab+4>>2]=I}if(T){ab=f[ba>>2]|0;Na=f[C>>2]|0;ma=0;do{ya=f[ab+(ma<<2)>>2]|0;f[Na+(ma<<2)>>2]=ya<<1^ya>>31;ma=ma+1|0}while((ma|0)!=(g|0));xb=Na}else xb=f[C>>2]|0;wo(e,$,xb,g);if(za){Na=Ha+-1|0;yb=a+40+(Na*12|0)|0;ma=a+40+(Na*12|0)+4|0;ab=a+40+(Na*12|0)+8|0;Na=0;do{ya=f[ma>>2]|0;Ia=f[ab>>2]|0;Ma=(ya|0)==(Ia<<5|0);if(!(h[V>>0]&1<>>0<1073741823?(Oa>>>0>>0?Ga:Oa):2147483647);zb=f[ma>>2]|0}else zb=ya;f[ma>>2]=zb+1;Oa=(f[yb>>2]|0)+(zb>>>5<<2)|0;f[Oa>>2]=f[Oa>>2]|1<<(zb&31)}else{if(Ma){if((ya+1|0)<0){rb=103;break b}Ma=Ia<<6;Ia=ya+32&-32;si(yb,ya>>>0<1073741823?(Ma>>>0>>0?Ia:Ma):2147483647);Ab=f[ma>>2]|0}else Ab=ya;f[ma>>2]=Ab+1;ya=(f[yb>>2]|0)+(Ab>>>5<<2)|0;f[ya>>2]=f[ya>>2]&~(1<<(Ab&31))}Na=Na+1|0}while((Na|0)<(Ha|0))}Na=f[aa>>2]|0;ma=d+(Da<<2)|0;ab=f[Ba+4>>2]|0;za=f[Na>>2]|0;ya=f[Na+4>>2]|0;f[j>>2]=f[Ba>>2];f[da>>2]=ab;f[k>>2]=za;f[ea>>2]=ya;Nd(e,ca,j,k);f[ma>>2]=f[e>>2];f[ma+4>>2]=f[fa>>2];ma=f[ga>>2]|0;if(ma|0){ya=f[ja>>2]|0;if((ya|0)!=(ma|0))f[ja>>2]=ya+(~((ya+-4-ma|0)>>>2)<<2);pr(ma)}ma=f[ha>>2]|0;if(ma|0){ya=f[ia>>2]|0;if((ya|0)!=(ma|0))f[ia>>2]=ya+(~((ya+-4-ma|0)>>>2)<<2);pr(ma)}if((wa|0)<=1){Bb=Xa;Cb=Wa;break a}ma=f[B>>2]|0;na=f[ma>>2]|0;ya=wa+-1|0;if((f[ma+4>>2]|0)-na>>2>>>0<=ya>>>0){xa=ma;rb=18;break}else{ma=wa;oa=Xa;pa=Wa;qa=Va;ra=Ua;sa=_a;ta=Za;ua=Ya;wa=ya;va=ma}}if((rb|0)==18)Cq(xa);else if((rb|0)==98)Cq(yb);else if((rb|0)==103)Cq(yb)}else{Bb=M;Cb=N}while(0);if((g|0)>0)pj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;yb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=yb;Nd(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Bb|0){if((Cb|0)!=(Bb|0))f[H>>2]=Cb+(~((Cb+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[m>>2]|0;if(Bb|0){m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+36>>2]|0;if(Bb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+24>>2]|0;if(Bb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+12>>2]|0;if(Bb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l>>2]|0;if(!Bb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Bb|0))f[E>>2]=l+(~((l+-4-Bb|0)>>>2)<<2);pr(Bb);u=i;return 1}function $a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=Q+-1|0;if(F-D>>2>>>0>la>>>0){ma=D;na=M;oa=N;pa=M;qa=N;ra=M;sa=P;ta=O;ua=Q;va=la}else{wa=G;Cq(wa)}b:while(1){la=f[ma+(va<<2)>>2]|0;Q=(((la>>>0)%3|0|0)==0?2:-1)+la|0;xa=(la|0)==-1|(Q|0)==-1;ya=la;za=1;Aa=0;c:while(1){Ba=za^1;Ca=ya;Da=Aa;while(1){if((Ca|0)==-1){Ea=Da;break c}Fa=f[l+(Da*12|0)>>2]|0;Ga=f[R>>2]|0;Ha=f[Ga+(Ca<<2)>>2]|0;if((Ha|0)!=-1){Ia=f[z>>2]|0;Ja=f[A>>2]|0;Ka=f[Ja+(f[Ia+(Ha<<2)>>2]<<2)>>2]|0;La=Ha+1|0;Ma=((La>>>0)%3|0|0)==0?Ha+-2|0:La;if((Ma|0)==-1)Na=-1;else Na=f[Ia+(Ma<<2)>>2]|0;Ma=f[Ja+(Na<<2)>>2]|0;La=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if((La|0)==-1)Oa=-1;else Oa=f[Ia+(La<<2)>>2]|0;La=f[Ja+(Oa<<2)>>2]|0;if((Ka|0)<(va|0)&(Ma|0)<(va|0)&(La|0)<(va|0)){Ja=X(Ka,g)|0;Ka=X(Ma,g)|0;Ma=X(La,g)|0;if(S){La=0;do{f[Fa+(La<<2)>>2]=(f[c+(La+Ma<<2)>>2]|0)+(f[c+(La+Ka<<2)>>2]|0)-(f[c+(La+Ja<<2)>>2]|0);La=La+1|0}while((La|0)!=(g|0))}La=Da+1|0;if((La|0)==4){Ea=4;break c}else Pa=La}else Pa=Da}else Pa=Da;do if(za){La=Ca+1|0;Ja=((La>>>0)%3|0|0)==0?Ca+-2|0:La;if((Ja|0)!=-1?(La=f[Ga+(Ja<<2)>>2]|0,Ja=La+1|0,(La|0)!=-1):0)Qa=((Ja>>>0)%3|0|0)==0?La+-2|0:Ja;else Qa=-1}else{Ja=(((Ca>>>0)%3|0|0)==0?2:-1)+Ca|0;if((Ja|0)!=-1?(La=f[Ga+(Ja<<2)>>2]|0,(La|0)!=-1):0)if(!((La>>>0)%3|0)){Qa=La+2|0;break}else{Qa=La+-1|0;break}else Qa=-1}while(0);if((Qa|0)==(la|0)){Ea=Pa;break c}if((Qa|0)!=-1|Ba){Ca=Qa;Da=Pa}else break}if(xa){ya=-1;za=0;Aa=Pa;continue}Da=f[Ga+(Q<<2)>>2]|0;if((Da|0)==-1){ya=-1;za=0;Aa=Pa;continue}if(!((Da>>>0)%3|0)){ya=Da+2|0;za=0;Aa=Pa;continue}else{ya=Da+-1|0;za=0;Aa=Pa;continue}}Aa=X(va,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;za=c+((X(ua+-2|0,g)|0)<<2)|0;ya=c+(Aa<<2)|0;Q=f[Z>>2]|0;if(S){xa=0;la=0;while(1){Da=(f[za+(la<<2)>>2]|0)-(f[ya+(la<<2)>>2]|0)|0;Ca=((Da|0)>-1?Da:0-Da|0)+xa|0;f[ra+(la<<2)>>2]=Da;f[Q+(la<<2)>>2]=Da<<1^Da>>31;la=la+1|0;if((la|0)==(g|0)){Ra=Ca;break}else xa=Ca}}else Ra=0;xo(e,_,Q,g);xa=al(e)|0;la=I;Ca=Jm(e)|0;Da=go(Ca|0,I|0,xa|0,la|0)|0;la=I;xa=(Ea|0)>0;if(xa){Ca=Ea+-1|0;Ba=p+(Ca<<3)|0;La=Ba;Ja=go(f[La>>2]|0,f[La+4>>2]|0,Ea|0,((Ea|0)<0)<<31>>31|0)|0;La=I;Ka=Ba;f[Ka>>2]=Ja;f[Ka+4>>2]=La;Sa=+W(+((+(Ja>>>0)+4294967296.0*+(La|0))*+Em(Ja,f[o+(Ca<<3)>>2]|0)));Ca=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,Da|0,la|0)|0;Ta=Ca}else Ta=Da;Da=r;f[Da>>2]=Ta;f[Da+4>>2]=Ra;b[U>>0]=0;f[V>>2]=0;Zf($,za,za+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Mf(aa,j,e);if((Ea|0)<1){Ua=qa;Va=pa;Wa=oa;Xa=na;Ya=ta;Za=sa;_a=sa}else{Da=n+Ea|0;Ca=f[q>>2]|0;la=Ea+-1|0;Ja=o+(la<<3)|0;La=p+(la<<3)|0;la=Ca;Ka=f[H>>2]|0;Ba=Da+-1|0;Ma=(Ba|0)==(n|0);Fa=Da+-2|0;Ia=ja>>>0>>0;Ha=~Ea;$a=Ea+2+((Ha|0)>-2?Ha:-2)|0;Ha=Ka;ab=Ba>>>0>n>>>0;bb=0;cb=1;while(1){bb=bb+1|0;pj(n|0,1,$a|0)|0;pj(n|0,0,bb|0)|0;d:while(1){if(S){pj(f[m>>2]|0,0,ka|0)|0;db=f[m>>2]|0;eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0)){gb=f[l+(fb*12|0)>>2]|0;hb=0;do{ib=db+(hb<<2)|0;f[ib>>2]=(f[ib>>2]|0)+(f[gb+(hb<<2)>>2]|0);hb=hb+1|0}while((hb|0)!=(g|0));jb=(1<>0]|0))lb=(1<>2]|0;do if(S){fb=0;do{db=eb+(fb<<2)|0;f[db>>2]=(f[db>>2]|0)/(cb|0)|0;fb=fb+1|0}while((fb|0)!=(g|0));fb=f[Z>>2]|0;if(S){mb=0;nb=0}else{ob=fb;pb=0;break}while(1){db=(f[eb+(nb<<2)>>2]|0)-(f[ya+(nb<<2)>>2]|0)|0;hb=((db|0)>-1?db:0-db|0)+mb|0;f[Ca+(nb<<2)>>2]=db;f[fb+(nb<<2)>>2]=db<<1^db>>31;nb=nb+1|0;if((nb|0)==(g|0)){ob=fb;pb=hb;break}else mb=hb}}else{ob=f[Z>>2]|0;pb=0}while(0);xo(e,_,ob,g);eb=al(e)|0;fb=I;hb=Jm(e)|0;db=go(hb|0,I|0,eb|0,fb|0)|0;fb=I;if(xa){eb=Ja;hb=go(f[eb>>2]|0,f[eb+4>>2]|0,cb|0,0)|0;eb=La;gb=f[eb>>2]|0;ib=f[eb+4>>2]|0;Sa=+W(+((+(gb>>>0)+4294967296.0*+(ib|0))*+Em(gb,hb)));hb=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,db|0,fb|0)|0;qb=hb}else qb=db;db=f[r>>2]|0;if(!((qb|0)>=(db|0)?!((qb|0)<=(db|0)?(pb|0)<(f[T>>2]|0):0):0)){db=r;f[db>>2]=qb;f[db+4>>2]=pb;b[U>>0]=kb;f[V>>2]=cb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Mf($,j,e);f[x>>2]=la;f[y>>2]=Ka;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Mf(aa,j,e)}if(Ma)break;rb=b[Ba>>0]|0;db=rb;hb=-1;while(1){fb=hb+-1|0;sb=Da+fb|0;gb=db;db=b[sb>>0]|0;if((db&255)<(gb&255))break;if((sb|0)==(n|0)){tb=83;break d}else hb=fb}fb=Da+hb|0;if((db&255)<(rb&255)){ub=rb;vb=Ba}else{gb=Da;ib=Ba;while(1){eb=ib+-1|0;if((db&255)<(h[gb+-2>>0]|0)){ub=1;vb=eb;break}else{wb=ib;ib=eb;gb=wb}}}b[sb>>0]=ub;b[vb>>0]=db;if((hb|0)<-1){xb=fb;yb=Ba}else continue;while(1){gb=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=gb;gb=xb+1|0;ib=yb+-1|0;if(gb>>>0>>0){xb=gb;yb=ib}else continue d}}if(((tb|0)==83?(tb=0,ab):0)?(fb=b[n>>0]|0,b[n>>0]=rb,b[Ba>>0]=fb,Ia):0){fb=Fa;hb=ja;do{db=b[hb>>0]|0;b[hb>>0]=b[fb>>0]|0;b[fb>>0]=db;hb=hb+1|0;fb=fb+-1|0}while(hb>>>0>>0)}if((cb|0)>=(Ea|0)){Ua=Ha;Va=Ca;Wa=Ha;Xa=Ca;Ya=Ka;Za=la;_a=Ca;break}else cb=cb+1|0}}if(xa){cb=f[V>>2]|0;Ca=o+(Ea+-1<<3)|0;la=Ca;Ka=go(f[la>>2]|0,f[la+4>>2]|0,cb|0,((cb|0)<0)<<31>>31|0)|0;cb=Ca;f[cb>>2]=Ka;f[cb+4>>2]=I}if(S){cb=f[aa>>2]|0;Ka=f[C>>2]|0;Ca=0;do{la=f[cb+(Ca<<2)>>2]|0;f[Ka+(Ca<<2)>>2]=la<<1^la>>31;Ca=Ca+1|0}while((Ca|0)!=(g|0));zb=Ka}else zb=f[C>>2]|0;wo(e,_,zb,g);if(xa){Ka=Ea+-1|0;Ab=a+40+(Ka*12|0)|0;Ca=a+40+(Ka*12|0)+4|0;cb=a+40+(Ka*12|0)+8|0;Ka=0;do{la=f[Ca>>2]|0;Ha=f[cb>>2]|0;Fa=(la|0)==(Ha<<5|0);if(!(h[U>>0]&1<>>0<1073741823?(Ia>>>0>>0?Ba:Ia):2147483647);Bb=f[Ca>>2]|0}else Bb=la;f[Ca>>2]=Bb+1;Ia=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ia>>2]=f[Ia>>2]|1<<(Bb&31)}else{if(Fa){if((la+1|0)<0){tb=103;break b}Fa=Ha<<6;Ha=la+32&-32;si(Ab,la>>>0<1073741823?(Fa>>>0>>0?Ha:Fa):2147483647);Cb=f[Ca>>2]|0}else Cb=la;f[Ca>>2]=Cb+1;la=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Cb&31))}Ka=Ka+1|0}while((Ka|0)<(Ea|0))}Ka=f[$>>2]|0;Ca=d+(Aa<<2)|0;cb=f[ya+4>>2]|0;xa=f[Ka>>2]|0;la=f[Ka+4>>2]|0;f[j>>2]=f[ya>>2];f[ca>>2]=cb;f[k>>2]=xa;f[da>>2]=la;Nd(e,ba,j,k);f[Ca>>2]=f[e>>2];f[Ca+4>>2]=f[ea>>2];Ca=f[fa>>2]|0;if(Ca|0){la=f[ia>>2]|0;if((la|0)!=(Ca|0))f[ia>>2]=la+(~((la+-4-Ca|0)>>>2)<<2);pr(Ca)}Ca=f[ga>>2]|0;if(Ca|0){la=f[ha>>2]|0;if((la|0)!=(Ca|0))f[ha>>2]=la+(~((la+-4-Ca|0)>>>2)<<2);pr(Ca)}if((va|0)<=1){Db=Xa;Eb=Wa;break a}Ca=f[B>>2]|0;ma=f[Ca>>2]|0;la=va+-1|0;if((f[Ca+4>>2]|0)-ma>>2>>>0<=la>>>0){wa=Ca;tb=18;break}else{Ca=va;na=Xa;oa=Wa;pa=Va;qa=Ua;ra=_a;sa=Za;ta=Ya;va=la;ua=Ca}}if((tb|0)==18)Cq(wa);else if((tb|0)==98)Cq(Ab);else if((tb|0)==103)Cq(Ab)}else{Db=M;Eb=N}while(0);if((g|0)>0)pj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Ab=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Ab;Nd(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Db|0){if((Eb|0)!=(Db|0))f[H>>2]=Eb+(~((Eb+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[m>>2]|0;if(Db|0){m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+36>>2]|0;if(Db|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+24>>2]|0;if(Db|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+12>>2]|0;if(Db|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l>>2]|0;if(!Db){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Db|0))f[E>>2]=l+(~((l+-4-Db|0)>>>2)<<2);pr(Db);u=i;return 1}function ab(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,Ka=0,La=Ja,Ma=0,Na=0,Oa=0,Pa=0,Qa=Ja,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{q=(b[(f[w+(f[t+(r<<2)>>2]<<2)>>2]|0)+24>>0]|0)+q|0;r=r+1|0}while(r>>>0>>0);f[a+72>>2]=q;if(s){v=1;u=c;return v|0}s=g+4|0;q=g+8|0;x=d+8|0;r=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=t;t=l;l=k;k=0;a:while(1){ia=f[ha+(k<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(ia<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1260;f[s>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=tn(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[r>>2]=17;ma=la;na=14756;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(ia|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(ia|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Hh(ra,d)|0)!=0):0)va=Ik(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Ik(ka,d,-1)|0}if((b[w>>0]|0)<0)pr(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=tn(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14829;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(ia|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(ia|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Hh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=tn(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14849;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(ia|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(ia|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Hh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)pr(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)pr(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=tn(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;pj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=tn(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14829;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(ia|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(ia|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Hh(Fa,i)|0)!=0):0){Ga=Og(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){nj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ka=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{La=$(Lq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=La;Fa=Fa+1|0}while((Fa|0)<(ra|0));Ma=b[M>>0]|0}else Ma=Ga;Ka=Ma}if(Ka<<24>>24<0)pr(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Og(pa,i)|0,(Fa|0)!=(pa+4|0)):0){nj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Na=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{La=$(Lq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=La;ya=ya+1|0}while((ya|0)<(ra|0));Oa=b[G>>0]|0}else Oa=Fa;Na=Oa}if(Na<<24>>24<0)pr(f[d>>2]|0)}if((b[I>>0]|0)<0)pr(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=tn(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14849;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(ia|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(ia|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Hh(oa,d)|0)){wa=91;break}Qa=$(vk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(vk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)pr(f[d>>2]|0);Hl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);ia=f[h>>2]|0;if(ia|0){na=f[C>>2]|0;if((na|0)!=(ia|0))f[C>>2]=na+(~((na+-4-ia|0)>>>2)<<2);pr(ia)}}else Qd(g,ja,va)|0;ia=f[P>>2]|0;if((ia|0)==(f[Q>>2]|0))vf(R,g);else{f[ia>>2]=1260;f[ia+4>>2]=f[s>>2];Ra=ia+8|0;f[Ra>>2]=0;na=ia+12|0;f[na>>2]=0;f[ia+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=tn(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[ia+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){eh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[ia+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Ke(d,g,ja,m);ia=f[S>>2]|0;if(ia>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[ia>>2]=ma;f[S>>2]=ia+4}else Re(U,d);ia=f[d>>2]|0;f[d>>2]=0;if(ia|0){ma=ia+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;pr(ma)}pr(oa)}oa=f[ia+68>>2]|0;if(oa|0){ma=ia+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);pr(oa)}oa=ia+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;pr(oa)}pr(na)}pr(ia)}xa=0}f[g>>2]=1260;ia=f[q>>2]|0;if(ia|0){na=f[y>>2]|0;if((na|0)!=(ia|0))f[y>>2]=na+(~((na+-4-ia|0)>>>2)<<2);pr(ia)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{ia=ja+24|0;na=b[ia>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=tn(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=na;na=oa;while(1){f[ya>>2]=2147483647;na=na+-1|0;if(!na)break;else ya=ya+4|0}f[_>>2]=ma;Sa=b[ia>>0]|0}ya=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}na=ya<<2;sa=tn(na)|0;f[h>>2]=sa;ra=sa+(ya<<2)|0;f[da>>2]=ra;pj(sa|0,0,na|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[ia>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{na=ra;ya=Ta;oa=0;while(1){f[e>>2]=oa;f[d>>2]=f[e>>2];Lb(ja,d,na,ya)|0;Fa=b[ia>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=oa+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}na=Fa;ya=f[h>>2]|0;oa=pa}}while(0);if(Ua<<24>>24>0){sa=Ua;ja=0;while(1){ra=(f[g>>2]|0)+(ja<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ti(ga,ra);Va=b[ia>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=sa}ja=ja+1|0;if((ja|0)>=(Va<<24>>24|0))break;else sa=Va}}sa=f[h>>2]|0;if(sa|0){ja=f[ba>>2]|0;if((ja|0)!=(sa|0))f[ba>>2]=ja+(~((ja+-4-sa|0)>>>2)<<2);pr(sa)}sa=f[g>>2]|0;if(sa|0){ja=f[_>>2]|0;if((ja|0)!=(sa|0))f[_>>2]=ja+(~((ja+-4-sa|0)>>>2)<<2);pr(sa)}break}default:{}}sa=k+1|0;ja=f[o>>2]|0;if(sa>>>0>=(f[p>>2]|0)-ja>>2>>>0){v=1;wa=169;break}ia=f[j>>2]|0;ha=ja;t=f[ia+4>>2]|0;l=ia;k=sa}if((wa|0)==48)Cq(h);else if((wa|0)==103)Cq(Ra);else if((wa|0)==137)Cq(g);else if((wa|0)==144)Cq(h);else if((wa|0)==169){u=c;return v|0}return 0}function bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+140|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+116|0;x=a+48|0;h=a+44|0;i=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=j+4|0;N=j+24|0;O=j+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){pr(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[r>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[y>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=$;ba=V;ca=1;while(1){ba=(ba|0)==(aa+-1|0)?0:ba+1|0;f[U+(ca<<2)>>2]=ba;ca=ca+1|0;da=f[g>>2]|0;if(ca>>>0>=da>>>0){ea=da;break}else aa=da}}else ea=$;if(!z){fa=99;break}else{ga=ea;ha=0}while(1){aa=(f[N>>2]|0)+((X(f[M>>2]|0,S+ha|0)|0)<<2)|0;if(!ga)ia=0;else{ca=0;do{ba=f[(f[y>>2]|0)+(ca<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ba<<2)>>2]|0)|0;do if(U|0){da=f[x>>2]|0;ja=32-da|0;ka=32-U|0;la=f[aa+(ba<<2)>>2]<>2]|0;if((U|0)>(ja|0)){na=la>>>ka;ka=U-ja|0;f[x>>2]=ka;ja=na>>>ka|ma;f[h>>2]=ja;ka=f[i>>2]|0;if((ka|0)==(f[m>>2]|0))Ti(n,h);else{f[ka>>2]=ja;f[i>>2]=ka+4}f[h>>2]=na<<32-(f[x>>2]|0);break}na=ma|la>>>da;f[h>>2]=na;la=da+U|0;f[x>>2]=la;if((la|0)!=32)break;la=f[i>>2]|0;if((la|0)==(f[m>>2]|0))Ti(n,h);else{f[la>>2]=na;f[i>>2]=la+4}f[h>>2]=0;f[x>>2]=0}while(0);ca=ca+1|0;U=f[g>>2]|0}while(ca>>>0>>0);ia=U}ha=ha+1|0;if(ha>>>0>=z>>>0){fa=99;break a}else ga=ia}}$=Z+1|0;Fg(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);ca=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;aa=(f[ca>>2]|0)+(1<>2]=aa;ca=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))oa=S;else{ba=f[O>>2]|0;if(!ca){if((f[ba+(V<<2)>>2]|0)>>>0>>0){oa=W;break}else{pa=S;qa=W}while(1){la=qa;do{la=la+-1|0;if((pa|0)==(la|0)){oa=pa;break b}na=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[na>>2]|0)>>>0>=aa>>>0);pa=pa+1|0;if((pa|0)==(la|0)){oa=la;break b}else qa=la}}else{ra=S;sa=W}while(1){na=ra;while(1){ta=ba+((X(na,ca)|0)<<2)|0;if((f[ta+(V<<2)>>2]|0)>>>0>=aa>>>0){ua=sa;break}da=na+1|0;if((da|0)==(sa|0)){oa=sa;break b}else na=da}while(1){ua=ua+-1|0;if((na|0)==(ua|0)){oa=na;break b}va=(f[P>>2]|0)+((X(ua,U)|0)<<2)|0;if((f[va+(V<<2)>>2]|0)>>>0>>0){wa=0;break}}do{la=ta+(wa<<2)|0;da=va+(wa<<2)|0;ma=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ma;wa=wa+1|0}while((wa|0)!=(ca|0));ra=na+1|0;if((ra|0)==(ua|0)){oa=ua;break}else sa=ua}}while(0);aa=(_(z|0)|0)^31;U=oa-S|0;ba=W-oa|0;ma=U>>>0>>0;if((U|0)!=(ba|0)){da=f[H>>2]|0;if(ma)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ti(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ma){da=f[C>>2]|0;ka=32-da|0;ja=32-aa|0;xa=la-U<>2]|0;if((aa|0)>(ka|0)){za=xa>>>ja;ja=aa-ka|0;f[C>>2]=ja;ka=za>>>ja|ya;f[D>>2]=ka;ja=f[E>>2]|0;if((ja|0)==(f[F>>2]|0))Ti(G,D);else{f[ja>>2]=ka;f[E>>2]=ja+4}f[D>>2]=za<<32-(f[C>>2]|0);break}za=ya|xa>>>da;f[D>>2]=za;xa=da+aa|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ti(G,D);else{f[xa>>2]=za;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;za=32-xa|0;da=32-aa|0;ya=la-ba<>2]|0;if((aa|0)>(za|0)){ka=ya>>>da;da=aa-za|0;f[C>>2]=da;za=ka>>>da|ja;f[D>>2]=za;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ti(G,D);else{f[da>>2]=za;f[E>>2]=da+4}f[D>>2]=ka<<32-(f[C>>2]|0);break}ka=ja|ya>>>xa;f[D>>2]=ka;ya=xa+aa|0;f[C>>2]=ya;if((ya|0)==32){ya=f[E>>2]|0;if((ya|0)==(f[F>>2]|0))Ti(G,D);else{f[ya>>2]=ka;f[E>>2]=ya+4}f[D>>2]=0;f[C>>2]=0}}while(0);aa=f[r>>2]|0;la=f[aa+(Z*12|0)>>2]|0;ma=la+(V<<2)|0;f[ma>>2]=(f[ma>>2]|0)+1;Fg(aa+($*12|0)|0,la,f[aa+(Z*12|0)+4>>2]|0);if((oa|0)!=(S|0)){aa=f[o>>2]|0;la=f[t>>2]|0;ma=aa-la>>2;ya=f[v>>2]|0;ka=f[l>>2]|0;if((((ma|0)==0?0:(ma*113|0)+-1|0)|0)==(ka+ya|0)){Jc(e);Aa=f[v>>2]|0;Ba=f[l>>2]|0;Ca=f[o>>2]|0;Da=f[t>>2]|0}else{Aa=ya;Ba=ka;Ca=aa;Da=la}la=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Ea>>2]=S;la=Ea+4|0;f[la>>2]=q;f[la+4>>2]=w;f[Ea+12>>2]=oa;f[Ea+16>>2]=j;f[Ea+20>>2]=ca;f[Ea+24>>2]=V;f[Ea+28>>2]=U;f[Ea+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(oa|0)){la=f[o>>2]|0;aa=f[t>>2]|0;ka=la-aa>>2;ya=f[v>>2]|0;ma=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ma+ya|0)){Jc(e);Fa=f[v>>2]|0;Ga=f[l>>2]|0;Ha=f[o>>2]|0;Ia=f[t>>2]|0}else{Fa=ya;Ga=ma;Ha=la;Ia=aa}aa=Ga+Fa|0;if((Ha|0)==(Ia|0))Ja=0;else Ja=(f[Ia+(((aa>>>0)/113|0)<<2)>>2]|0)+(((aa>>>0)%113|0)*36|0)|0;f[Ja>>2]=oa;f[Ja+4>>2]=j;f[Ja+8>>2]=ca;f[Ja+12>>2]=W;aa=Ja+16|0;f[aa>>2]=p;f[aa+4>>2]=s;f[Ja+24>>2]=V;f[Ja+28>>2]=ba;f[Ja+32>>2]=$;aa=(f[l>>2]|0)+1|0;f[l>>2]=aa;Ka=aa}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ka=f[l>>2]|0}if(!Ka)break;else Q=Ka}}Ka=f[t>>2]|0;Q=f[v>>2]|0;Ja=Ka+(((Q>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Ka;if((s|0)==(Ka|0)){La=0;Ma=0}else{oa=(f[Ja>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;La=oa;Ma=oa}oa=Ja;Ja=Ma;c:while(1){Ma=Ja;do{Q=Ma;if((Q|0)==(La|0))break c;Ma=Q+36|0}while((Ma-(f[oa>>2]|0)|0)!=4068);Ma=oa+4|0;oa=Ma;Ja=f[Ma>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Ka;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Na=f[o>>2]|0;Oa=Na-j>>2}while(Oa>>>0>2);Pa=j;Qa=Na;Ra=Oa}else{Pa=Ka;Qa=s;Ra=l}switch(Ra|0){case 1:{Sa=56;fa=113;break}case 2:{Sa=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Sa;if((Pa|0)!=(Qa|0)){Sa=Pa;do{pr(f[Sa>>2]|0);Sa=Sa+4|0}while((Sa|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}pr(Qa);u=d;return}function cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)Cq(e);else{l=j<<2;m=tn(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;pj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=p;s=o;t=j;v=n+8|0}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);pr(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=f[e>>2]|0;s=f[k>>2]|0;t=f[i>>2]|0;v=l}f[n>>2]=r;f[q>>2]=s;f[v>>2]=f[e+8>>2];f[e>>2]=0;v=e+4|0;f[v>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Cq(e);else{s=t<<2;q=tn(s)|0;f[e>>2]=q;r=q+(t<<2)|0;f[e+8>>2]=r;pj(q|0,0,s|0)|0;f[v>>2]=r;w=r;x=q;break}else{w=0;x=0}while(0);t=a+1176|0;q=f[t>>2]|0;r=f[q>>2]|0;s=q+4|0;if(!r){y=x;z=w;A=q+8|0}else{w=f[s>>2]|0;if((w|0)!=(r|0))f[s>>2]=w+(~((w+-4-r|0)>>>2)<<2);pr(r);r=q+8|0;f[r>>2]=0;f[s>>2]=0;f[q>>2]=0;y=f[e>>2]|0;z=f[v>>2]|0;A=r}f[q>>2]=y;f[s>>2]=z;f[A>>2]=f[e+8>>2];A=f[b>>2]|0;z=b+4|0;s=f[z>>2]|0;y=f[z+4>>2]|0;z=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;v=f[q+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;l=s;Jc(h);k=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(k|0))B=0;else B=(f[k+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=A;j=B+4|0;f[j>>2]=s;f[j+4>>2]=y;f[B+12>>2]=z;j=B+16|0;f[j>>2]=r;f[j+4>>2]=v;f[B+24>>2]=0;f[B+28>>2]=z-A;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){A=a+1152|0;z=a+1084|0;j=a+1080|0;k=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=l+4|0;K=l+24|0;L=l+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){pr(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[t>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Kd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[A>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=Y;$=Q;aa=1;while(1){$=($|0)==(Z+-1|0)?0:$+1|0;f[W+(aa<<2)>>2]=$;aa=aa+1|0;ba=f[i>>2]|0;if(aa>>>0>=ba>>>0){ca=ba;break}else Z=ba}}else ca=Y;if(!U){da=87;break}else{ea=ca;fa=0}while(1){Z=(f[K>>2]|0)+((X(f[J>>2]|0,P+fa|0)|0)<<2)|0;if(!ea)ga=0;else{aa=0;do{$=f[(f[A>>2]|0)+(aa<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+($<<2)>>2]|0)|0;do if(W|0){ba=f[z>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[Z+($<<2)>>2]<>2]|0;if((W|0)>(ha|0)){la=ja>>>ia;ia=W-ha|0;f[z>>2]=ia;ha=la>>>ia|ka;f[j>>2]=ha;ia=f[k>>2]|0;if((ia|0)==(f[o>>2]|0))Ti(p,j);else{f[ia>>2]=ha;f[k>>2]=ia+4}f[j>>2]=la<<32-(f[z>>2]|0);break}la=ka|ja>>>ba;f[j>>2]=la;ja=ba+W|0;f[z>>2]=ja;if((ja|0)!=32)break;ja=f[k>>2]|0;if((ja|0)==(f[o>>2]|0))Ti(p,j);else{f[ja>>2]=la;f[k>>2]=ja+4}f[j>>2]=0;f[z>>2]=0}while(0);aa=aa+1|0;W=f[i>>2]|0}while(aa>>>0>>0);ga=W}fa=fa+1|0;if(fa>>>0>=U>>>0){da=87;break a}else ea=ga}}Y=V+1|0;aa=f[m>>2]|0;Z=aa+(Y*12|0)|0;if((Z|0)==(S|0))ma=aa;else{Fg(Z,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);ma=f[m>>2]|0}Z=(f[ma+(Y*12|0)>>2]|0)+(Q<<2)|0;aa=(f[Z>>2]|0)+(1<>2]=aa;Z=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))na=P;else{$=f[L>>2]|0;if(!Z){if((f[$+(Q<<2)>>2]|0)>>>0>>0){na=T;break}else{oa=P;pa=T}while(1){ja=pa;do{ja=ja+-1|0;if((oa|0)==(ja|0)){na=oa;break b}la=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[la>>2]|0)>>>0>=aa>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){na=ja;break b}else pa=ja}}else{qa=P;ra=T}while(1){la=qa;while(1){sa=$+((X(la,Z)|0)<<2)|0;if((f[sa+(Q<<2)>>2]|0)>>>0>=aa>>>0){ta=ra;break}ba=la+1|0;if((ba|0)==(ra|0)){na=ra;break b}else la=ba}while(1){ta=ta+-1|0;if((la|0)==(ta|0)){na=la;break b}ua=(f[M>>2]|0)+((X(ta,W)|0)<<2)|0;if((f[ua+(Q<<2)>>2]|0)>>>0>>0){va=0;break}}do{ja=sa+(va<<2)|0;ba=ua+(va<<2)|0;ka=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ka;va=va+1|0}while((va|0)!=(Z|0));qa=la+1|0;if((qa|0)==(ta|0)){na=ta;break}else ra=ta}}while(0);aa=(_(U|0)|0)^31;W=na-P|0;$=T-na|0;ka=W>>>0<$>>>0;if((W|0)!=($|0)){ba=f[E>>2]|0;if(ka)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ti(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ka){ka=ja-W|0;if(aa|0){ba=0;ia=1<>>1}}}else{ia=ja-$|0;if(aa|0){ba=0;ka=1<>>1}}}ka=f[t>>2]|0;aa=f[ka+(V*12|0)>>2]|0;ba=aa+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Fg(ka+(Y*12|0)|0,aa,f[ka+(V*12|0)+4>>2]|0);if((na|0)!=(P|0)){ka=f[q>>2]|0;aa=f[w>>2]|0;ba=ka-aa>>2;ia=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ia|0)){Jc(h);wa=f[x>>2]|0;xa=f[n>>2]|0;ya=f[q>>2]|0;za=f[w>>2]|0}else{wa=ia;xa=ja;ya=ka;za=aa}aa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((aa>>>0)/113|0)<<2)>>2]|0)+(((aa>>>0)%113|0)*36|0)|0;f[Aa>>2]=P;aa=Aa+4|0;f[aa>>2]=s;f[aa+4>>2]=y;f[Aa+12>>2]=na;f[Aa+16>>2]=l;f[Aa+20>>2]=Z;f[Aa+24>>2]=Q;f[Aa+28>>2]=W;f[Aa+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(na|0)){aa=f[q>>2]|0;ka=f[w>>2]|0;ja=aa-ka>>2;ia=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ia|0)){Jc(h);Ba=f[x>>2]|0;Ca=f[n>>2]|0;Da=f[q>>2]|0;Ea=f[w>>2]|0}else{Ba=ia;Ca=ba;Da=aa;Ea=ka}ka=Ca+Ba|0;if((Da|0)==(Ea|0))Fa=0;else Fa=(f[Ea+(((ka>>>0)/113|0)<<2)>>2]|0)+(((ka>>>0)%113|0)*36|0)|0;f[Fa>>2]=na;f[Fa+4>>2]=l;f[Fa+8>>2]=Z;f[Fa+12>>2]=T;ka=Fa+16|0;f[ka>>2]=r;f[ka+4>>2]=v;f[Fa+24>>2]=Q;f[Fa+28>>2]=$;f[Fa+32>>2]=Y;ka=(f[n>>2]|0)+1|0;f[n>>2]=ka;Ga=ka}else da=87}else da=87;while(0);if((da|0)==87){da=0;Ga=f[n>>2]|0}if(!Ga)break;else N=Ga}}Ga=f[w>>2]|0;N=f[x>>2]|0;Fa=Ga+(((N>>>0)/113|0)<<2)|0;v=f[q>>2]|0;r=v;l=Ga;if((v|0)==(Ga|0)){Ha=0;Ia=0}else{na=(f[Fa>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ha=na;Ia=na}na=Fa;Fa=Ia;c:while(1){Ia=Fa;do{N=Ia;if((N|0)==(Ha|0))break c;Ia=N+36|0}while((Ia-(f[na>>2]|0)|0)!=4068);Ia=na+4|0;na=Ia;Fa=f[Ia>>2]|0}f[n>>2]=0;n=r-l>>2;if(n>>>0>2){l=Ga;do{pr(f[l>>2]|0);l=(f[w>>2]|0)+4|0;f[w>>2]=l;Ja=f[q>>2]|0;Ka=Ja-l>>2}while(Ka>>>0>2);La=l;Ma=Ja;Na=Ka}else{La=Ga;Ma=v;Na=n}switch(Na|0){case 1:{Oa=56;da=101;break}case 2:{Oa=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Oa;if((La|0)!=(Ma|0)){Oa=La;do{pr(f[Oa>>2]|0);Oa=Oa+4|0}while((Oa|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}pr(Ma);u=d;return}function db(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=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;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(ki(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)Cq(G);else{K=H<<2;L=tn(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;pj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=M;aa=C;ba=0;ca=0;da=0;ea=0;b:while(1){fa=f[(f[(f[aa+4>>2]|0)+8>>2]|0)+(f[$+(ba<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=da;ha=fa;break}case 9:{ga=da+1|0;ha=f[(f[Z>>2]|0)+(da<<2)>>2]|0;break}default:{ia=0;break a}}if(!ha){ia=0;break a}c:do switch(f[ha+28>>2]|0){case 6:{if(Q){ja=ha+24|0;ka=ea;break c}fa=ha+84|0;la=ha+68|0;ma=ha+48|0;na=ha+40|0;oa=ha+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=En(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=go(ua|0,I|0,sa|0,ta|0)|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+(ca<<2)|0,(f[f[ha>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=oa;ka=ea;break}case 1:case 3:case 5:{oa=ha+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=tn(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;pj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=tn(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;pj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ha+84|0;na=ha+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Lb(ha,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ea<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+(ca<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=(b[oa>>0]|0)+ea|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);pr(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);pr(na)}ja=oa;ka=pa;break}default:{pa=ha+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=tn(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;pj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ha+84|0;sa=ha+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];sb(ha,e,ra,ma)|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+(ca<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);pr(Ga)}ja=pa;ka=ea}}while(0);na=ba+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=sa;aa=f[A>>2]|0;ba=na;ca=(b[ja>>0]|0)+ca|0;da=ga;ea=ka}if((wa|0)==24)Cq(j);else if((wa|0)==30)Cq(k);else if((wa|0)==53)Cq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{ka=(_(D|0)|0)^31;Ka=(ka|0)<(H|0)?H:ka+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ne(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=cf(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 5:{Ne(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=df(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 4:{Ne(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=df(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 3:{Se(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=zf(j,g,e,k,c)|0;Ze(j);if(!H){ia=0;break d}break}case 2:{Se(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=zf(j,g,e,k,c)|0;Ze(j);if(!H){ia=0;break d}break}case 1:{Te(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=wf(j,g,e,k,c)|0;Xe(j);if(!H){ia=0;break d}break}case 0:{Te(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=wf(j,g,e,k,c)|0;Xe(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);pr(j);u=d;return ia|0}function eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+1176|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+1152|0;x=a+1084|0;h=a+1080|0;i=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=j+4|0;I=j+24|0;J=j+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){pr(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[r>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[y>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=U;W=Q;Y=1;while(1){W=(W|0)==(V+-1|0)?0:W+1|0;f[P+(Y<<2)>>2]=W;Y=Y+1|0;Z=f[g>>2]|0;if(Y>>>0>=Z>>>0){$=Z;break}else V=Z}}else $=U;if(!z){aa=85;break}else{ba=$;ca=0}while(1){V=(f[I>>2]|0)+((X(f[H>>2]|0,N+ca|0)|0)<<2)|0;if(!ba)da=0;else{Y=0;do{W=f[(f[y>>2]|0)+(Y<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(W<<2)>>2]|0)|0;do if(P|0){Z=f[x>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[V+(W<<2)>>2]<>2]|0;if((P|0)>(ea|0)){ia=ga>>>fa;fa=P-ea|0;f[x>>2]=fa;ea=ia>>>fa|ha;f[h>>2]=ea;fa=f[i>>2]|0;if((fa|0)==(f[m>>2]|0))Ti(n,h);else{f[fa>>2]=ea;f[i>>2]=fa+4}f[h>>2]=ia<<32-(f[x>>2]|0);break}ia=ha|ga>>>Z;f[h>>2]=ia;ga=Z+P|0;f[x>>2]=ga;if((ga|0)!=32)break;ga=f[i>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=ia;f[i>>2]=ga+4}f[h>>2]=0;f[x>>2]=0}while(0);Y=Y+1|0;P=f[g>>2]|0}while(Y>>>0

>>0);da=P}ca=ca+1|0;if(ca>>>0>=z>>>0){aa=85;break a}else ba=da}}U=T+1|0;Fg(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);Y=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;V=(f[Y>>2]|0)+(1<>2]=V;Y=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ja=N;else{W=f[J>>2]|0;if(!Y){if((f[W+(Q<<2)>>2]|0)>>>0>>0){ja=R;break}else{ka=N;la=R}while(1){ga=la;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ja=ka;break b}ia=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ia>>2]|0)>>>0>=V>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ja=ga;break b}else la=ga}}else{ma=N;na=R}while(1){ia=ma;while(1){oa=W+((X(ia,Y)|0)<<2)|0;if((f[oa+(Q<<2)>>2]|0)>>>0>=V>>>0){pa=na;break}Z=ia+1|0;if((Z|0)==(na|0)){ja=na;break b}else ia=Z}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[K>>2]|0)+((X(pa,P)|0)<<2)|0;if((f[qa+(Q<<2)>>2]|0)>>>0>>0){ra=0;break}}do{ga=oa+(ra<<2)|0;Z=qa+(ra<<2)|0;ha=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=ha;ra=ra+1|0}while((ra|0)!=(Y|0));ma=ia+1|0;if((ma|0)==(pa|0)){ja=pa;break}else na=pa}}while(0);V=(_(z|0)|0)^31;P=ja-N|0;W=R-ja|0;ha=P>>>0>>0;if((P|0)!=(W|0)){Z=f[C>>2]|0;if(ha)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ti(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(ha){ha=ga-P|0;if(V|0){Z=0;fa=1<>>1}}}else{fa=ga-W|0;if(V|0){Z=0;ha=1<>>1}}}ha=f[r>>2]|0;V=f[ha+(T*12|0)>>2]|0;Z=V+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Fg(ha+(U*12|0)|0,V,f[ha+(T*12|0)+4>>2]|0);if((ja|0)!=(N|0)){ha=f[o>>2]|0;V=f[t>>2]|0;Z=ha-V>>2;fa=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+fa|0)){Jc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=fa;ta=ga;ua=ha;va=V}V=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((V>>>0)/113|0)<<2)>>2]|0)+(((V>>>0)%113|0)*36|0)|0;f[wa>>2]=N;V=wa+4|0;f[V>>2]=q;f[V+4>>2]=w;f[wa+12>>2]=ja;f[wa+16>>2]=j;f[wa+20>>2]=Y;f[wa+24>>2]=Q;f[wa+28>>2]=P;f[wa+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ja|0)){V=f[o>>2]|0;ha=f[t>>2]|0;ga=V-ha>>2;fa=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+fa|0)){Jc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=Z;za=V;Aa=ha}ha=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((ha>>>0)/113|0)<<2)>>2]|0)+(((ha>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=j;f[Ba+8>>2]=Y;f[Ba+12>>2]=R;ha=Ba+16|0;f[ha>>2]=p;f[ha+4>>2]=s;f[Ba+24>>2]=Q;f[Ba+28>>2]=W;f[Ba+32>>2]=U;ha=(f[l>>2]|0)+1|0;f[l>>2]=ha;Ca=ha}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ca=f[l>>2]|0}if(!Ca)break;else L=Ca}}Ca=f[t>>2]|0;L=f[v>>2]|0;Ba=Ca+(((L>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Ca;if((s|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{L=Ea;if((L|0)==(Da|0))break c;Ea=L+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Ca;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Fa=f[o>>2]|0;Ga=Fa-j>>2}while(Ga>>>0>2);Ha=j;Ia=Fa;Ja=Ga}else{Ha=Ca;Ia=s;Ja=l}switch(Ja|0){case 1:{Ka=56;aa=99;break}case 2:{Ka=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ka;if((Ha|0)!=(Ia|0)){Ka=Ha;do{pr(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}pr(Ia);u=d;return}function fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+152|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+128|0;x=a+60|0;h=a+56|0;i=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=j+4|0;J=j+24|0;K=j+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){pr(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[r>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[y>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=V;Y=R;Z=1;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[Q+(Z<<2)>>2]=Y;Z=Z+1|0;$=f[g>>2]|0;if(Z>>>0>=$>>>0){aa=$;break}else W=$}}else aa=V;if(!z){ba=81;break}else{ca=aa;da=0}while(1){W=(f[J>>2]|0)+((X(f[I>>2]|0,O+da|0)|0)<<2)|0;if(!ca)ea=0;else{Z=0;do{Y=f[(f[y>>2]|0)+(Z<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Y<<2)>>2]|0)|0;do if(Q|0){$=f[x>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[W+(Y<<2)>>2]<>2]|0;if((Q|0)>(fa|0)){ja=ha>>>ga;ga=Q-fa|0;f[x>>2]=ga;fa=ja>>>ga|ia;f[h>>2]=fa;ga=f[i>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=fa;f[i>>2]=ga+4}f[h>>2]=ja<<32-(f[x>>2]|0);break}ja=ia|ha>>>$;f[h>>2]=ja;ha=$+Q|0;f[x>>2]=ha;if((ha|0)!=32)break;ha=f[i>>2]|0;if((ha|0)==(f[m>>2]|0))Ti(n,h);else{f[ha>>2]=ja;f[i>>2]=ha+4}f[h>>2]=0;f[x>>2]=0}while(0);Z=Z+1|0;Q=f[g>>2]|0}while(Z>>>0>>0);ea=Q}da=da+1|0;if(da>>>0>=z>>>0){ba=81;break a}else ca=ea}}V=U+1|0;Fg(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);Z=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;W=(f[Z>>2]|0)+(1<>2]=W;Z=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ka=O;else{Y=f[K>>2]|0;if(!Z){if((f[Y+(R<<2)>>2]|0)>>>0>>0){ka=S;break}else{la=O;ma=S}while(1){ha=ma;do{ha=ha+-1|0;if((la|0)==(ha|0)){ka=la;break b}ja=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ja>>2]|0)>>>0>=W>>>0);la=la+1|0;if((la|0)==(ha|0)){ka=ha;break b}else ma=ha}}else{na=O;oa=S}while(1){ja=na;while(1){pa=Y+((X(ja,Z)|0)<<2)|0;if((f[pa+(R<<2)>>2]|0)>>>0>=W>>>0){qa=oa;break}$=ja+1|0;if(($|0)==(oa|0)){ka=oa;break b}else ja=$}while(1){qa=qa+-1|0;if((ja|0)==(qa|0)){ka=ja;break b}ra=(f[L>>2]|0)+((X(qa,Q)|0)<<2)|0;if((f[ra+(R<<2)>>2]|0)>>>0>>0){sa=0;break}}do{ha=pa+(sa<<2)|0;$=ra+(sa<<2)|0;ia=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ia;sa=sa+1|0}while((sa|0)!=(Z|0));na=ja+1|0;if((na|0)==(qa|0)){ka=qa;break}else oa=qa}}while(0);W=(_(z|0)|0)^31;Q=ka-O|0;Y=S-ka|0;ia=Q>>>0>>0;if((Q|0)!=(Y|0)){$=f[D>>2]|0;if(ia)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ti(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ia)qg(C,W,ha-Q|0);else qg(C,W,ha-Y|0);ha=f[r>>2]|0;W=f[ha+(U*12|0)>>2]|0;ia=W+(R<<2)|0;f[ia>>2]=(f[ia>>2]|0)+1;Fg(ha+(V*12|0)|0,W,f[ha+(U*12|0)+4>>2]|0);if((ka|0)!=(O|0)){ha=f[o>>2]|0;W=f[t>>2]|0;ia=ha-W>>2;$=f[v>>2]|0;ga=f[l>>2]|0;if((((ia|0)==0?0:(ia*113|0)+-1|0)|0)==(ga+$|0)){Jc(e);ta=f[v>>2]|0;ua=f[l>>2]|0;va=f[o>>2]|0;wa=f[t>>2]|0}else{ta=$;ua=ga;va=ha;wa=W}W=ua+ta|0;if((va|0)==(wa|0))xa=0;else xa=(f[wa+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[xa>>2]=O;W=xa+4|0;f[W>>2]=q;f[W+4>>2]=w;f[xa+12>>2]=ka;f[xa+16>>2]=j;f[xa+20>>2]=Z;f[xa+24>>2]=R;f[xa+28>>2]=Q;f[xa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ka|0)){Q=f[o>>2]|0;W=f[t>>2]|0;ha=Q-W>>2;ga=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+ga|0)){Jc(e);ya=f[v>>2]|0;za=f[l>>2]|0;Aa=f[o>>2]|0;Ba=f[t>>2]|0}else{ya=ga;za=$;Aa=Q;Ba=W}W=za+ya|0;if((Aa|0)==(Ba|0))Ca=0;else Ca=(f[Ba+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[Ca>>2]=ka;f[Ca+4>>2]=j;f[Ca+8>>2]=Z;f[Ca+12>>2]=S;W=Ca+16|0;f[W>>2]=p;f[W+4>>2]=s;f[Ca+24>>2]=R;f[Ca+28>>2]=Y;f[Ca+32>>2]=V;Y=(f[l>>2]|0)+1|0;f[l>>2]=Y;Da=Y}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Da=f[l>>2]|0}if(!Da)break;else M=Da}}Da=f[t>>2]|0;M=f[v>>2]|0;Ca=Da+(((M>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Da;if((s|0)==(Da|0)){Ea=0;Fa=0}else{ka=(f[Ca>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Ea=ka;Fa=ka}ka=Ca;Ca=Fa;c:while(1){Fa=Ca;do{M=Fa;if((M|0)==(Ea|0))break c;Fa=M+36|0}while((Fa-(f[ka>>2]|0)|0)!=4068);Fa=ka+4|0;ka=Fa;Ca=f[Fa>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Da;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Ga=f[o>>2]|0;Ha=Ga-j>>2}while(Ha>>>0>2);Ia=j;Ja=Ga;Ka=Ha}else{Ia=Da;Ja=s;Ka=l}switch(Ka|0){case 1:{La=56;ba=95;break}case 2:{La=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=La;if((Ia|0)!=(Ja|0)){La=Ia;do{pr(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}pr(Ja);u=d;return}function gb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ja,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=0;m=o;while(1){s=$(b[m>>0]|0);n[g+(r<<2)>>2]=s;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else m=m+1|0}}else{m=0;r=o;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(h[k>>0]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else k=k+1|0}}else{k=0;u=o;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$(d[l>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else l=l+2|0}}else{l=0;u=o;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){s=$(j[m>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else m=m+2|0}}else{m=0;u=o;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(f[k>>2]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else k=k+4|0}}else{k=0;u=o;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$((f[l>>2]|0)>>>0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else l=l+4|0}}else{l=0;u=o;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){q=m;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else m=m+8|0}}else{m=0;u=o;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){q=k;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else k=k+8|0}}else{k=0;u=o;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;l=r+q|0;while(1){f[g+(o<<2)>>2]=f[l>>2];o=o+1|0;q=b[u>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){C=q;break}else l=l+4|0}}else C=k;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 10:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;r=go(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;q=u+r|0;while(1){s=$(+p[q>>3]);n[g+(m<<2)>>2]=s;m=m+1|0;r=b[l>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){D=r;break}else q=q+8|0}}else D=o;q=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 11:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;u=go(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;r=l+u|0;while(1){s=$((b[r>>0]|0)!=0&1);n[g+(k<<2)>>2]=s;k=k+1|0;u=b[q>>0]|0;if((k|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){E=u;break}else r=r+1|0}}else E=m;r=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function hb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0.0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0,tb=0.0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=0;s=o;t=b;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Ji(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Ji(a)|0;if((x|0)==48){o=0;w=0;while(1){y=go(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Ji(a)|0;if((B|0)==48){o=y;w=z}else{q=y;r=z;s=B;t=1;v=1;break}}}else{q=0;r=0;s=x;t=b;v=1}}f[j>>2]=0;b=s+-48|0;x=(s|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=q;o=r;z=0;y=0;A=s;C=x;D=t;E=v;F=0;G=0;H=0;J=b;c:while(1){do if(C)if(!E){L=z;M=y;N=z;O=y;P=D;Q=1;R=F;S=G;T=H}else break c;else{U=go(z|0,y|0,1,0)|0;V=I;W=(A|0)!=48;if((G|0)>=125){if(!W){L=w;M=o;N=U;O=V;P=D;Q=E;R=F;S=G;T=H;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=U;O=V;P=D;Q=E;R=F;S=G;T=H;break}Y=j+(G<<2)|0;if(!F)Z=J;else Z=A+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=F+1|0;_=(Y|0)==9;L=w;M=o;N=U;O=V;P=1;Q=E;R=_?0:Y;S=(_&1)+G|0;T=W?U:H}while(0);U=f[m>>2]|0;if(U>>>0<(f[n>>2]|0)>>>0){f[m>>2]=U+1;$=h[U>>0]|0}else $=Ji(a)|0;J=$+-48|0;C=($|0)==46;if(!(C|J>>>0<10)){aa=L;ba=N;ca=M;da=O;ea=$;fa=P;ga=Q;ha=R;ia=S;ja=T;p=29;break b}else{w=L;o=M;z=N;y=O;A=$;D=P;E=Q;F=R;G=S;H=T}}ka=z;la=y;ma=w;na=o;oa=F;pa=G;qa=H;ra=(D|0)!=0;p=37}else{aa=q;ba=0;ca=r;da=0;ea=s;fa=t;ga=v;ha=0;ia=0;ja=0;p=29}while(0);do if((p|0)==29){v=(ga|0)==0;t=v?ba:aa;s=v?da:ca;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=ba;la=da;ma=t;na=s;oa=ha;pa=ia;qa=ja;ra=v;p=37;break}else{sa=ba;ta=da;ua=t;va=s;wa=ha;xa=ia;ya=ja;za=v;p=39;break}v=Ie(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){dn(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=go(Ba|0,Ca|0,t|0,s|0)|0;Da=r;Ea=ba;Fa=I;Ga=da;Ha=ha;Ia=ia;Ja=ja;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ma;Ea=ka;Fa=na;Ga=la;Ha=oa;Ia=pa;Ja=qa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=pa;ya=qa;za=ra;p=39}if((p|0)==39)if(za){Da=ua;Ea=sa;Fa=va;Ga=ta;Ha=wa;Ia=xa;Ja=ya;p=41}else p=40;do if((p|0)==40){ya=er()|0;f[ya>>2]=22;dn(a,0);Aa=0.0}else if((p|0)==41){ya=f[j>>2]|0;if(!ya){Aa=+(e|0)*0.0;break}if(((Ga|0)<0|(Ga|0)==0&Ea>>>0<10)&((Da|0)==(Ea|0)&(Fa|0)==(Ga|0))?(c|0)>30|(ya>>>c|0)==0:0){Aa=+(e|0)*+(ya>>>0);break}ya=(d|0)/-2|0;xa=((ya|0)<0)<<31>>31;if((Fa|0)>(xa|0)|(Fa|0)==(xa|0)&Da>>>0>ya>>>0){ya=er()|0;f[ya>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}ya=d+-106|0;xa=((ya|0)<0)<<31>>31;if((Fa|0)<(xa|0)|(Fa|0)==(xa|0)&Da>>>0>>0){ya=er()|0;f[ya>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ha)Ka=Ia;else{if((Ha|0)<9){ya=j+(Ia<<2)|0;xa=Ha;wa=f[ya>>2]|0;do{wa=wa*10|0;xa=xa+1|0}while((xa|0)!=9);f[ya>>2]=wa}Ka=Ia+1|0}if((Ja|0)<9?(Ja|0)<=(Da|0)&(Da|0)<18:0){xa=f[j>>2]|0;if((Da|0)==9){Aa=+(e|0)*+(xa>>>0);break}if((Da|0)<9){Aa=+(e|0)*+(xa>>>0)/+(f[6876+(8-Da<<2)>>2]|0);break}D=c+27+(X(Da,-3)|0)|0;if((D|0)>30|(xa>>>D|0)==0){Aa=+(e|0)*+(xa>>>0)*+(f[6876+(Da+-10<<2)>>2]|0);break}}xa=(Da|0)%9|0;if(!xa){La=0;Ma=0;Na=Da;Oa=Ka}else{D=(Da|0)>-1?xa:xa+9|0;xa=f[6876+(8-D<<2)>>2]|0;if(Ka){H=1e9/(xa|0)|0;G=0;F=0;o=0;w=Da;do{y=j+(o<<2)|0;z=f[y>>2]|0;ta=((z>>>0)/(xa>>>0)|0)+F|0;f[y>>2]=ta;F=X(H,(z>>>0)%(xa>>>0)|0)|0;z=(o|0)==(G|0)&(ta|0)==0;w=z?w+-9|0:w;G=z?G+1&127:G;o=o+1|0}while((o|0)!=(Ka|0));if(!F){Pa=G;Qa=w;Ra=Ka}else{f[j+(Ka<<2)>>2]=F;Pa=G;Qa=w;Ra=Ka+1|0}}else{Pa=0;Qa=Da;Ra=0}La=Pa;Ma=0;Na=9-D+Qa|0;Oa=Ra}d:while(1){o=(Na|0)<18;xa=(Na|0)==18;H=j+(La<<2)|0;wa=Ma;ya=Oa;while(1){if(!o){if(!xa){Sa=La;Ta=wa;Ua=Na;Va=ya;break d}if((f[H>>2]|0)>>>0>=9007199){Sa=La;Ta=wa;Ua=18;Va=ya;break d}}z=0;ta=ya+127|0;Wa=ya;while(1){y=ta&127;va=j+(y<<2)|0;sa=eo(f[va>>2]|0,0,29)|0;ua=go(sa|0,I|0,z|0,0)|0;sa=I;if(sa>>>0>0|(sa|0)==0&ua>>>0>1e9){za=Ip(ua|0,sa|0,1e9,0)|0;ra=qn(ua|0,sa|0,1e9,0)|0;Xa=ra;Ya=za}else{Xa=ua;Ya=0}f[va>>2]=Xa;va=(y|0)==(La|0);Wa=(Xa|0)==0&(((y|0)!=(Wa+127&127|0)|va)^1)?y:Wa;if(va)break;else{z=Ya;ta=y+-1|0}}wa=wa+-29|0;if(Ya|0)break;else ya=Wa}ya=La+127&127;H=Wa+127&127;xa=j+((Wa+126&127)<<2)|0;if((ya|0)==(Wa|0)){f[xa>>2]=f[xa>>2]|f[j+(H<<2)>>2];Za=H}else Za=Wa;f[j+(ya<<2)>>2]=Ya;La=ya;Ma=wa;Na=Na+9|0;Oa=Za}e:while(1){D=Va+1&127;w=j+((Va+127&127)<<2)|0;G=Sa;F=Ta;ya=Ua;while(1){H=(ya|0)==18;xa=(ya|0)>27?9:1;_a=G;$a=F;while(1){o=0;while(1){ta=o+_a&127;if((ta|0)==(Va|0)){ab=2;p=88;break}z=f[j+(ta<<2)>>2]|0;ta=f[6908+(o<<2)>>2]|0;if(z>>>0>>0){ab=2;p=88;break}if(z>>>0>ta>>>0)break;ta=o+1|0;if((ta|0)<2)o=ta;else{ab=ta;p=88;break}}if((p|0)==88?(p=0,H&(ab|0)==2):0){bb=0;cb=0.0;db=Va;break e}eb=xa+$a|0;if((_a|0)==(Va|0)){_a=Va;$a=eb}else break}H=(1<>>xa;fb=_a;gb=0;ta=_a;hb=ya;do{z=j+(ta<<2)|0;y=f[z>>2]|0;va=(y>>>xa)+gb|0;f[z>>2]=va;gb=X(y&H,o)|0;y=(ta|0)==(fb|0)&(va|0)==0;hb=y?hb+-9|0:hb;fb=y?fb+1&127:fb;ta=ta+1&127}while((ta|0)!=(Va|0));if(!gb){G=fb;F=eb;ya=hb;continue}if((D|0)!=(fb|0))break;f[w>>2]=f[w>>2]|1;G=fb;F=eb;ya=hb}f[j+(Va<<2)>>2]=gb;Sa=fb;Ta=eb;Ua=hb;Va=D}while(1){ya=bb+_a&127;F=db+1&127;if((ya|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;cb=cb*1.0e9+ +((f[j+(ya<<2)>>2]|0)>>>0);bb=bb+1|0;if((bb|0)==2)break;else db=ib}jb=+(e|0);kb=jb*cb;ya=$a+53|0;F=ya-d|0;G=(F|0)<(c|0);w=G?((F|0)>0?F:0):c;if((w|0)<53){lb=+Wq(+$j(1.0,105-w|0),kb);mb=+fr(kb,+$j(1.0,53-w|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}wa=_a+2&127;if((wa|0)!=(ib|0)){ta=f[j+(wa<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){qb=jb*.75+ob;break}if((_a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ta|0)==0?(_a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-w|0)>1?!(+fr(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((ya&2147483647|0)>(-2-k|0)){ta=!(+K(+jb)>=9007199254740992.0);wa=((ta^1)&1)+$a|0;kb=ta?jb:jb*.5;if((wa+50|0)<=(l|0)?!(rb!=0.0&(G&((w|0)!=(F|0)|ta))):0){sb=wa;tb=kb;break}ta=er()|0;f[ta>>2]=34;sb=wa;tb=kb}else{sb=$a;tb=jb}while(0);Aa=+Xq(tb,sb)}while(0);u=i;return +Aa}function ib(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.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;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Lo(c)|0;if((I|0)<0){q=1;r=16996;s=-c}else{q=(g&2049|0)!=0&1;r=(g&2048|0)==0?((g&1|0)==0?16997:17002):16999;s=c}Lo(s)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+Yq(s,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?r:r+9|0;z=q|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((b[y>>0]|0)==45){D=-(C+(-c-C));break}else{D=c+C-C;break}}else D=c;while(0);A=f[l>>2]|0;B=(A|0)<0?0-A|0:A;E=Sj(B,((B|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){B=o+11|0;b[B>>0]=48;F=B}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;B=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[17027+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(B&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;B=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+B|0;Sk(a,32,d,x,g);sp(a,y,z);Sk(a,48,d,x,g^65536);sp(a,m,G);Sk(a,48,B-G|0,0,0);sp(a,A,E);Sk(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=E;O=c*268435456.0}else{N=f[l>>2]|0;O=c}E=(N|0)<0?k:k+288|0;H=O;G=E;do{B=~~H>>>0;f[G>>2]=B;G=G+4|0;H=(H-+(B>>>0))*1.0e9}while(H!=0.0);if((N|0)>0){v=N;A=E;z=G;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=eo(f[J>>2]|0,0,y|0)|0;P=go(B|0,I|0,K|0,0)|0;B=I;Q=qn(P|0,B|0,1e9,0)|0;f[J>>2]=Q;K=Ip(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;f[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(f[B>>2]|0))J=B;else break}K=(f[l>>2]|0)-y|0;f[l>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{S=K;T=R;U=J;break}}}else{S=N;T=E;U=G}if((S|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;K=T;B=U;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0>>0){P=(1<>>Q;W=0;Y=K;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0>>0);Y=(f[K>>2]|0)==0?K+4|0:K;if(!W){_=Y;$=B}else{f[B>>2]=W;_=Y;$=B+4|0}}else{_=(f[K>>2]|0)==0?K+4|0:K;$=B}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(f[l>>2]|0)+Q|0;f[l>>2]=v;if((v|0)>=0){aa=_;ba=V;break}else{K=_;B=V}}}else{aa=T;ba=U}B=E;if(aa>>>0>>0){K=(B-aa>>2)*9|0;v=f[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=10;V=G;while(1){G=A*10|0;V=V+1|0;if((V|0)==9){da=G;break}else A=G}}else da=10;A=f[v>>2]|0;V=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(V|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(da|0)/2|0;H=V>>>0>>0?.5:w&(V|0)==(G|0)?1.0:1.5;if(!q){ea=C;fa=H}else{G=(b[r>>0]|0)==45;ea=G?-C:C;fa=G?-H:H}G=A-V|0;f[v>>2]=G;if(ea+fa!=ea){V=G+da|0;f[v>>2]=V;if(V>>>0>999999999){V=aa;G=v;while(1){A=G+-4|0;f[G>>2]=0;if(A>>>0>>0){w=V+-4|0;f[w>>2]=0;ga=w}else ga=V;w=(f[A>>2]|0)+1|0;f[A>>2]=w;if(w>>>0>999999999){V=ga;G=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}G=(B-ha>>2)*9|0;V=f[ha>>2]|0;if(V>>>0<10){ja=ha;ka=ia;la=G}else{A=G;G=10;while(1){G=G*10|0;w=A+1|0;if(V>>>0>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}G=A+-4|0;if(!(f[G>>2]|0))A=G;else{pa=1;break}}v=0-na|0;do if(z){G=((K^1)&1)+x|0;if((G|0)>(na|0)&(na|0)>-5){qa=G+-1-na|0;ra=i+-1|0}else{qa=G+-1|0;ra=i+-2|0}G=g&8;if(!G){if(pa?(V=f[A+-4>>2]|0,(V|0)!=0):0)if(!((V>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((V>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;V=(w|0)>0?w:0;ta=0;ua=(qa|0)<(V|0)?qa:V;va=ra;break}else{V=Y+na-sa|0;Y=(V|0)>0?V:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=G;ua=qa;va=ra}}else{ta=g&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=Sj(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-Y|0)<2){V=Y;while(1){w=V+-1|0;b[w>>0]=48;if((z-w|0)<2)V=w;else{ya=w;break}}}else ya=Y;b[ya+-1>>0]=(na>>31&2)+43;V=ya+-2|0;b[V>>0]=va;wa=V;xa=z-V|0}V=q+1+ua+B+xa|0;Sk(a,32,d,V,g);sp(a,r,q);Sk(a,48,d,V,g^65536);if(K){v=ma>>>0>E>>>0?E:ma;w=m+9|0;Q=w;W=m+8|0;P=v;do{J=Sj(f[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){b[W>>0]=48;za=W}else za=J;else if(J>>>0>m>>>0){pj(m|0,48,J-n|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=J;sp(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)sp(a,17043,1);if(P>>>0>>0&(ua|0)>0){E=P;Q=ua;while(1){W=Sj(f[E>>2]|0,0,w)|0;if(W>>>0>m>>>0){pj(m|0,48,W-n|0)|0;v=W;while(1){K=v+-1|0;if(K>>>0>m>>>0)v=K;else{Aa=K;break}}}else Aa=W;sp(a,Aa,(Q|0)<9?Q:9);E=E+4|0;v=Q+-9|0;if(!(E>>>0>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;Sk(a,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){E=m+9|0;w=(ta|0)==0;P=E;x=0-n|0;v=m+8|0;J=ma;K=ua;while(1){B=Sj(f[J>>2]|0,0,E)|0;if((B|0)==(E|0)){b[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;sp(a,Ca,1);if(w&(K|0)<1){Da=B;break}sp(a,17043,1);Da=B}else{if(Ca>>>0<=m>>>0){Da=Ca;break}pj(m|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>m>>>0)B=z;else{Da=z;break}}}while(0);W=P-Da|0;sp(a,Da,(K|0)>(W|0)?W:K);B=K-W|0;J=J+4|0;if(!(J>>>0>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;Sk(a,48,Ea+18|0,18,0);sp(a,wa,p-wa|0)}Sk(a,32,d,V,g^8192);M=V}else{K=(i&32|0)!=0;Q=q+3|0;Sk(a,32,d,Q,g&-65537);sp(a,r,q);sp(a,s!=s|0.0!=0.0?(K?18946:17023):K?17015:17019,3);Sk(a,32,d,Q,g^8192);M=Q}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function jb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){Ve(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ei(v);pr(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ei(v);pr(v)}}else f[d>>2]=0}else{$g(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ei(s);pr(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ei(s);pr(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;ai(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;ai((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;hh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;fg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xj(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;hh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;pr(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;fg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;Xj(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(we(a)|0)){w=0;u=c;return w|0}if(!(th(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Fe(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;aj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(ak(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=Vf(a,d,e)|0;dj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=-1;T=Z;U=W;break}S=f[V+(Y<<2)>>2]|0;T=Z;U=W}while(0);W=f[C>>2]|0;Y=W+(U>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(U&31);Y=W+(T>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(T&31);Y=W+(S>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(S&31);f[d>>2]=1;Y=f[B>>2]|0;if(Y>>>0<(f[J>>2]|0)>>>0){f[Y>>2]=1;f[B>>2]=Y+4}else Ti(A,d);Y=(f[t>>2]|0)+(O<<2)|0;f[Y>>2]=f[Y>>2]|P;Y=Q+1|0;if(R)_=-1;else _=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;f[d>>2]=_;W=f[H>>2]|0;if(W>>>0<(f[K>>2]|0)>>>0){f[W>>2]=_;f[H>>2]=W+4}else Ti(i,d);if(R)break;W=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;if((W|0)==-1)break;Y=f[(f[(f[s>>2]|0)+12>>2]|0)+(W<<2)>>2]|0;W=(Y|0)==-1;V=W?-1:(Y>>>0)/3|0;if(W)break;if(f[(f[t>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)break;f[l>>2]=Y;f[d>>2]=f[l>>2];if(!(fc(a,d)|0))break b}else{Y=Q+1|0;if(R)$=-1;else $=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;f[m>>2]=$;f[d>>2]=f[m>>2];Je(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(fc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Sd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,hh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];Hg(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}oh(v);F=a+232|0;hd(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(hd(E,F),(f[h>>2]|0)>1):0){E=1;do{hd((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}ai((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;ai(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(Yg(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Fe(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);pr(F)}w=ba;u=c;return w|0}function kb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=c;c=0;v=0;w=0;a:while(1){do if((c|0)>-1)if((v|0)>(2147483647-c|0)){x=er()|0;f[x>>2]=75;y=-1;break}else{y=v+c|0;break}else y=c;while(0);x=b[t>>0]|0;if(!(x<<24>>24)){z=87;break}else{A=x;B=t}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}x=B+1|0;f[j>>2]=x;A=b[x>>0]|0;B=x}c:do if((z|0)==9)while(1){z=0;if((b[C+1>>0]|0)!=37){E=C;F=D;break c}x=D+1|0;G=C+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=G;D=x;z=9}else{E=G;F=x;break}}while(0);x=F-t|0;if(o)sp(a,t,x);if(x|0){t=E;c=y;v=x;continue}x=E+1|0;G=(b[x>>0]|0)+-48|0;if(G>>>0<10){H=(b[E+2>>0]|0)==36;J=H?G:-1;K=H?1:w;L=H?E+3|0:x}else{J=-1;K=w;L=x}f[j>>2]=L;x=b[L>>0]|0;H=(x<<24>>24)+-32|0;d:do if(H>>>0<32){G=x;M=0;N=L;O=H;while(1){P=1<>2]=P;U=b[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{G=U;M=T;N=P}}}else{Q=x;R=L;S=0}while(0);if(Q<<24>>24==42){x=R+1|0;H=(b[x>>0]|0)+-48|0;if(H>>>0<10?(b[R+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=1;W=R+3|0;X=f[g+((b[x>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);N=f[H>>2]|0;f[e>>2]=H+4;V=0;W=x;X=N}else{V=0;W=x;X=0}}f[j>>2]=W;x=(X|0)<0;Z=W;_=x?S|8192:S;$=V;aa=x?0-X|0:X}else{x=Nl(j)|0;if((x|0)<0){Y=-1;break}Z=f[j>>2]|0;_=S;$=K;aa=x}do if((b[Z>>0]|0)==46){if((b[Z+1>>0]|0)!=42){f[j>>2]=Z+1;x=Nl(j)|0;ba=f[j>>2]|0;ca=x;break}x=Z+2|0;N=(b[x>>0]|0)+-48|0;if(N>>>0<10?(b[Z+3>>0]|0)==36:0){f[h+(N<<2)>>2]=10;N=f[g+((b[x>>0]|0)+-48<<3)>>2]|0;H=Z+4|0;f[j>>2]=H;ba=H;ca=N;break}if($|0){Y=-1;break a}if(o){N=(f[e>>2]|0)+(4-1)&~(4-1);H=f[N>>2]|0;f[e>>2]=N+4;da=H}else da=0;f[j>>2]=x;ba=x;ca=da}else{ba=Z;ca=-1}while(0);x=ba;H=0;while(1){if(((b[x>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=x+1|0;f[j>>2]=ea;fa=b[(b[x>>0]|0)+-65+(16515+(H*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){x=ea;H=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;G=f[M+4>>2]|0;O=k;f[O>>2]=f[M>>2];f[O+4>>2]=G;z=49;break}if(!o){Y=0;break a}Pe(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=ea;c=y;v=0;w=$;continue}N=b[x>>0]|0;G=(H|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(G|0){case 110:{switch((H&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=ea;c=y;v=0;w=$;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=ea;c=y;v=0;w=$;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}default:{t=ea;c=y;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=G;z=61;break}case 111:{M=k;P=f[M>>2]|0;T=f[M+4>>2]|0;M=Sl(P,T,q)|0;U=r-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=16979;z=67;break}case 105:case 100:{U=k;M=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=io(0,0,M|0,T|0)|0;P=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=P;sa=U;ta=P;ua=1;va=16979;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?16979:16981):16980;z=66;break e}break}case 117:{T=k;sa=f[T>>2]|0;ta=f[T+4>>2]|0;ua=0;va=16979;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=N;ya=1;za=0;Aa=16979;Ba=q;break}case 109:{T=er()|0;Ca=zp(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:16989;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=m;Ea=-1;z=75;break}case 83:{T=f[k>>2]|0;if(!ca){Sk(a,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=ea;c=y;v=ib(a,+p[k>>3],aa,ca,O,G)|0;w=$;continue a;break}default:{wa=t;xa=O;ya=ca;za=0;Aa=16979;Ba=q}}while(0);f:do if((z|0)==61){z=0;G=k;H=f[G>>2]|0;x=f[G+4>>2]|0;G=yl(H,x,q,ja&32)|0;T=(ha&8|0)==0|(H|0)==0&(x|0)==0;ka=H;la=x;ma=G;na=ha;oa=ia;pa=T?0:2;qa=T?16979:16979+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=Sj(sa,ta,q)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=sg(Ca,0,ca)|0;G=(T|0)==0;wa=Ca;xa=N;ya=G?ca:T-Ca|0;za=0;Aa=16979;Ba=G?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;G=0;x=Da;while(1){H=f[x>>2]|0;if(!H){Ga=T;Ha=G;break}M=kp(n,H)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}H=M+T|0;if(Ea>>>0>H>>>0){T=H;G=M;x=x+4|0}else{Ga=H;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}Sk(a,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{x=0;G=Da;while(1){T=f[G>>2]|0;if(!T){Fa=Ga;z=84;break f}M=kp(n,T)|0;x=M+x|0;if((x|0)>(Ga|0)){Fa=Ga;z=84;break f}sp(a,n,M);if(x>>>0>=Ga>>>0){Fa=Ga;z=84;break}else G=G+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;G=(oa|0)!=0|N;x=((N^1)&1)+(r-ma)|0;wa=G?ma:q;xa=(oa|0)>-1?na&-65537:na;ya=G?((oa|0)>(x|0)?oa:x):oa;za=pa;Aa=qa;Ba=q}else if((z|0)==84){z=0;Sk(a,32,aa,Fa,O^8192);t=ea;c=y;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}x=Ba-wa|0;G=(ya|0)<(x|0)?x:ya;N=G+za|0;M=(aa|0)<(N|0)?N:aa;Sk(a,32,M,N,xa);sp(a,Aa,za);Sk(a,48,M,N,xa^65536);Sk(a,48,G,x,0);sp(a,wa,x);Sk(a,32,M,N,xa^8192);t=ea;c=y;v=M;w=$}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{$=1;while(1){v=f[h+($<<2)>>2]|0;if(!v){Ia=$;break}Pe(g+($<<3)|0,v,e);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function lb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){Ve(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ei(v);pr(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ei(v);pr(v)}}else f[d>>2]=0}else{$g(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ei(s);pr(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ei(s);pr(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;Zd(t,a)|0;v=f[s>>2]|0;x=a+4|0;ai(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;ai((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;hh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;fg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xj(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;hh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;pr(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;fg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;Xj(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(we(a)|0)){w=0;u=c;return w|0}if(!(rh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Fe(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;aj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(ak(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=Vf(a,d,e)|0;dj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ti(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ti(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(Xb(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Je(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(Xb(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Sd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,hh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];Hg(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}mi(t);ai(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;ai(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(Yg(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Fe(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);pr(t)}w=aa;u=c;return w|0}function mb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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,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=Ja,ma=Ja,na=Ja,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Eh(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)Cq(e);else{o=k<<2;p=tn(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;pj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(B<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(t<<2)>>2]|0;else D=t;C=D+239^A;B=B+1|0;if((B|0)>=(x|0)){E=C;break}else A=C}}else E=0;A=f[q>>2]|0;x=(A|0)==0;a:do if(!x){B=A+-1|0;C=(B&A|0)==0;if(!C)if(E>>>0>>0)F=E;else F=(E>>>0)%(A>>>0)|0;else F=B&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&B|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(t<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=t;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0>>0)X=L;else X=(L>>>0)%(A>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(t<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=t;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(t<<2)>>2]=f[Q+12>>2];_=v}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){B=f[z+(H<<2)>>2]|0;if(!(b[B+84>>0]|0))aa=f[(f[B+68>>2]|0)+(t<<2)>>2]|0;else aa=t;B=aa+239^I;H=H+1|0;if((H|0)>=(J|0)){ba=B;break}else I=B}}else ba=0;e:do if(!x){I=A+-1|0;J=(I&A|0)==0;if(!J)if(ba>>>0>>0)ca=ba;else ca=(ba>>>0)%(A>>>0)|0;else ca=I&ba;H=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((H|0)!=0?(B=f[H>>2]|0,(B|0)!=0):0){H=f[s>>2]|0;C=H+8|0;G=H+12|0;if(J){J=B;while(1){H=f[J+4>>2]|0;if(!((H|0)==(ba|0)|(H&I|0)==(ca|0))){da=ca;M=76;break e}H=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=t;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(t<<2)>>2]|0;ga=f[P+(H<<2)>>2]|0}else{fa=t;ga=H}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=t;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=B;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0>>0)ia=J;else ia=(J>>>0)%(A>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;I=f[C>>2]|0;L=(f[G>>2]|0)-I|0;O=I;if((L|0)<=0){ea=t;break e}I=L>>>2;L=0;while(1){H=f[O+(L<<2)>>2]|0;if(!(b[H+84>>0]|0)){K=f[H+68>>2]|0;ja=f[K+(t<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=t;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(I|0)){ea=t;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=tn(16)|0;f[G+8>>2]=t;f[G+12>>2]=v;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(A>>>0);na=$(n[l>>2]);do if(x|la>$(ma*na)){C=(A>>>0<3|(A+-1&A|0)!=0)&1|A<<1;B=~~$(W($(la/na)))>>>0;Eh(d,C>>>0>>0?B:C);C=f[q>>2]|0;B=C+-1|0;if(!(B&C)){oa=C;pa=B&ba;break}if(ba>>>0>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=A;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;B=f[C>>2]|0;if(!B){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){I=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(I>>>0>>0)qa=I;else qa=(I>>>0)%(oa>>>0)|0;else qa=I&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[B>>2];ra=B;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}B=v+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=v;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ti(g,h);_=B;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=B;break}}while(0);t=(f[h>>2]|0)+1|0;f[h>>2]=t;sa=f[j>>2]|0;if(t>>>0>=sa>>>0)break;else v=_}if((_|0)!=(sa|0)){Sa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);pr(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);pr(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;pr(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}pr(e);u=c;return}function nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)Cq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)Cq(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];qb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=io(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=io(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=io(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=go(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=go(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=io(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=io(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=io(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=go(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=go(Q|0,E|0,J|0,I|0)|0;J=I;E=io(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=io(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=En(N|0,L|0,p|0,q|0)|0;q=I;p=En(N|0,L|0,n|0,o|0)|0;o=I;n=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=go(n|0,S|0,R|0,q|0)|0;q=I;R=go(T|0,U|0,p|0,o|0)|0;o=I;p=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Jk(p|0,w|0,N|0,L|0)|0;w=I;p=Jk(s|0,C|0,N|0,L|0)|0;C=I;s=Jk(D|0,G|0,N|0,L|0)|0;G=I;D=io(O|0,B|0,H|0,w|0)|0;w=I;H=io(M|0,F|0,p|0,C|0)|0;C=I;p=io(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=go(D|0,I|0,s|0,w|0)|0;w=I;s=En(p|0,G|0,p|0,G|0)|0;G=go(C|0,w|0,s|0,I|0)|0;s=I;w=io(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=eo(Y|0,Z|0,1)|0;C=I;p=_;_=jo(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=Ip(E|0,s|0,ba|0,ca|0)|0;G=go(C|0,I|0,ba|0,ca|0)|0;C=jo(G|0,I|0,1)|0;G=I;p=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;p=go(E|0,s|0,V|0,q|0)|0;D=I;H=go(G|0,C|0,R|0,o|0)|0;K=I;x=Jk(p|0,D|0,N|0,L|0)|0;D=I;p=Jk(H|0,K|0,N|0,L|0)|0;K=I;H=io(V|0,q|0,E|0,s|0)|0;s=I;E=io(R|0,o|0,G|0,C|0)|0;C=I;G=Jk(H|0,s|0,N|0,L|0)|0;s=I;H=Jk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=io(F|0,M|0,x|0,D|0)|0;J=I;P=io(B|0,E|0,p|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=go(O|0,I|0,T|0,J|0)|0;J=I;T=io(F|0,M|0,G|0,s|0)|0;M=I;F=io(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=go(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)Cq(B);else{E=O<<6;U=F+32&-32;si(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)Cq(B);else{L=O<<6;N=F+32&-32;si(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function ob(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=o;q=n+2|0;break}else{p=o;q=n+-1|0;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(p<<2)>>2]|0;p=f[n+(q<<2)>>2]|0;q=f[a+36>>2]|0;n=f[q>>2]|0;c=(f[q+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)Cq(q);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=p>>>0)Cq(q);q=f[o+(p<<2)>>2]|0;p=(n|0)<(e|0);do if(p&(q|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=q<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];qb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=io(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=io(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=io(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=go(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=go(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=io(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=io(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=io(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=go(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=go(Q|0,E|0,J|0,I|0)|0;J=I;E=io(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=io(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=En(N|0,L|0,c|0,m|0)|0;m=I;c=En(N|0,L|0,r|0,o|0)|0;o=I;r=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=go(r|0,S|0,R|0,m|0)|0;m=I;R=go(T|0,U|0,c|0,o|0)|0;o=I;c=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Jk(c|0,w|0,N|0,L|0)|0;w=I;c=Jk(s|0,C|0,N|0,L|0)|0;C=I;s=Jk(D|0,G|0,N|0,L|0)|0;G=I;D=io(O|0,B|0,H|0,w|0)|0;w=I;H=io(M|0,F|0,c|0,C|0)|0;C=I;c=io(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=go(D|0,I|0,s|0,w|0)|0;w=I;s=En(c|0,G|0,c|0,G|0)|0;G=go(C|0,w|0,s|0,I|0)|0;s=I;w=io(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=eo(Y|0,Z|0,1)|0;C=I;c=_;_=jo(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=Ip(E|0,s|0,ba|0,ca|0)|0;G=go(C|0,I|0,ba|0,ca|0)|0;C=jo(G|0,I|0,1)|0;G=I;c=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;c=go(E|0,s|0,V|0,m|0)|0;D=I;H=go(G|0,C|0,R|0,o|0)|0;K=I;x=Jk(c|0,D|0,N|0,L|0)|0;D=I;c=Jk(H|0,K|0,N|0,L|0)|0;K=I;H=io(V|0,m|0,E|0,s|0)|0;s=I;E=io(R|0,o|0,G|0,C|0)|0;C=I;G=Jk(H|0,s|0,N|0,L|0)|0;s=I;H=Jk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=io(F|0,M|0,x|0,D|0)|0;J=I;P=io(B|0,E|0,c|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=go(O|0,I|0,T|0,J|0)|0;J=I;T=io(F|0,M|0,G|0,s|0)|0;M=I;F=io(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=go(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)Cq(B);else{E=O<<6;U=F+32&-32;si(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)Cq(B);else{L=O<<6;N=F+32&-32;si(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(p)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(k|0)!=(j|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else zh(h,b-l|0,6296);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)Cq(d);k=((b+-1|0)>>>5)+1|0;m=tn(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;pj(m|0,0,k<<2|0)|0;n=b-(k<<5)|0;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)Cq(e);v=((o+-1|0)>>>5)+1|0;w=tn(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;pj(w|0,0,v<<2|0)|0;x=o-(v<<5)|0;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=k;B=q;C=r;D=0;E=b;a:while(1){F=A;G=D*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=C;J=B;F=0;I=E;while(1){M=F+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[H+(N>>>5<<2)>>2]&1<<(N&31))){O=N;P=0;Q=I}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Ti(h,6296);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ti(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=52;break a}T=R<<6;R=N+32&-32;si(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=I;O=I;P=1;Q=I+1|0}N=f[d>>2]|0;T=N+(O>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(O&31);T=N;b:do if(P){R=M;while(1){if((R|0)==-1){S=66;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=66;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==66){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!P){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=T;aa=N;ba=Q}else{$=J;aa=H;ba=I}F=F+1|0;if((F|0)>=3){ca=$;da=aa;ea=ba;break}else{H=aa;J=$;I=ba}}}else{ca=B;da=C;ea=E}}else{ca=B;da=C;ea=E}D=D+1|0;A=f[a>>2]|0;if(D>>>0>=(((f[m>>2]|0)-A>>2>>>0)/3|0)>>>0){S=18;break}else{B=ca;C=da;E=ea}}if((S|0)==18){fa=ca;ga=f[l>>2]|0;break}else if((S|0)==52)Cq(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0){if(!S){l=a;ca=0;ea=ga;while(1){e:do if(ea){da=ca;m=0;while(1){if(!(f[l>>2]&1<>2]=ba;ha=ba}else ha=da;if((m|0)==31){ia=ha;break}else{da=ha;m=m+1|0}}}else{m=ca;da=0;while(1){if(!(f[l>>2]&1<>2]=N;ja=N}else ja=m;if((da|0)==31){ia=ja;break e}da=da+1|0;if(!da)break d;else m=ja}}while(0);l=l+4|0;if((l|0)==(q|0))break d;else{ca=ia;ea=1}}}if(ga){ea=a;ca=0;l=0;while(1){m=l;da=ca;N=0;while(1){if(!(f[ea>>2]&1<>2]=T;ka=T;la=T}else{ka=da;la=m}if((N|0)==31)break;else{m=la;da=ka;N=N+1|0}}N=ea+4|0;if((N|0)==(q|0)){ma=N;na=ka;break}else{ea=N;ca=ka;l=la}}}else{ma=a;na=0}l=na;ca=0;while(1){if(!(f[ma>>2]&1<>2]=ea;oa=ea}else oa=l;ca=ca+1|0;if((ca|0)==(S|0))break;else l=oa}}while(0);oa=f[e>>2]|0;if(oa|0)pr(oa);oa=f[d>>2]|0;if(!oa){u=c;return 1}pr(oa);u=c;return 1}function qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){r=b[q>>0]|0;m=g+(o<<3)|0;f[m>>2]=r;f[m+4>>2]=((r|0)<0)<<31>>31;o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){t=g+(r<<3)|0;f[t>>2]=h[m>>0];f[t+4>>2]=0;r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){k=d[t>>1]|0;q=g+(l<<3)|0;f[q>>2]=k;f[q+4>>2]=((k|0)<0)<<31>>31;l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){q=g+(o<<3)|0;f[q>>2]=j[k>>1];f[q+4>>2]=0;o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){m=f[q>>2]|0;t=g+(r<<3)|0;f[t>>2]=m;f[t+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){t=g+(l<<3)|0;f[t>>2]=f[m>>2];f[t+4>>2]=0;l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){k=t;q=f[k+4>>2]|0;z=g+(o<<3)|0;f[z>>2]=f[k>>2];f[z+4>>2]=q;o=o+1|0;q=b[m>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else t=t+8|0}}else A=l;t=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;z=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=m+z|0;while(1){z=q;m=f[z+4>>2]|0;k=g+(r<<3)|0;f[k>>2]=f[z>>2];f[k+4>>2]=m;r=r+1|0;m=b[t>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+8|0}}else B=o;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 9:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=t+k|0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;t=g+(l<<3)|0;f[t>>2]=~~+C>>>0;f[t+4>>2]=k;l=l+1|0;k=b[q>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=r;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=q+t|0;while(1){E=+p[k>>3];t=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;q=g+(o<<3)|0;f[q>>2]=~~E>>>0;f[q+4>>2]=t;o=o+1|0;t=b[m>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){F=t;break}else k=k+8|0}}else F=l;k=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=m+q|0;while(1){q=g+(r<<3)|0;f[q>>2]=h[t>>0];f[q+4>>2]=0;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){G=q;break}else t=t+1|0}}else G=o;t=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ti(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=-1;n=l}else{m=f[(f[h>>2]|0)+(k<<2)>>2]|0;n=l}}else{m=-1;n=-1}l=a+24|0;k=f[l>>2]|0;h=k+(n>>>5<<2)|0;g=1<<(n&31);j=f[h>>2]|0;if(!(j&g)){f[h>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;h=f[o>>2]|0;if((h|0)==(f[g+8>>2]|0))Ti(g,d);else{f[h>>2]=j;f[o>>2]=h+4}h=a+40|0;o=f[h>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Ti(o,e);p=f[h>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(n<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[l>>2]|0}else q=k;k=q+(m>>>5<<2)|0;q=1<<(m&31);o=f[k>>2]|0;if(!(o&q)){f[k>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;k=f[r>>2]|0;if((k|0)==(f[o+8>>2]|0))Ti(o,d);else{f[k>>2]=q;f[r>>2]=k+4}k=a+40|0;r=f[k>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Ti(r,e);s=f[k>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(m<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[l>>2]|0)+(t>>>5<<2)|0;m=1<<(t&31);s=f[r>>2]|0;if(!(m&s)){f[r>>2]=s|m;m=f[i>>2]|0;f[e>>2]=m;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[a+48>>2]|0;f[d>>2]=s;r=f[m+4>>2]|0;m=r+4|0;o=f[m>>2]|0;if((o|0)==(f[r+8>>2]|0))Ti(r,d);else{f[o>>2]=s;f[m>>2]=o+4}o=a+40|0;m=f[o>>2]|0;s=m+4|0;r=f[s>>2]|0;if((r|0)==(f[m+8>>2]|0)){Ti(m,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=m}m=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1}m=f[b>>2]|0;a:do if((m|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=m;while(1){k=q;while(1){w=a+52+(k*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(k*12|0)>>2]|0)!=(x|0))break;n=k+1|0;if((n|0)<3)k=n;else break a}n=x+-4|0;p=f[n>>2]|0;f[w>>2]=n;f[b>>2]=k;f[i>>2]=p;if((p|0)==-1)break;n=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(n>>>5<<2)>>2]&1<<(n&31))){j=p;h=g;b:while(1){y=(j>>>0)/3|0;z=h+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[l>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Ti(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[l>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Ti(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[l>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;h=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;h=a+52+(O*12|0)+4|0;j=f[h>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Ti(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[h>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=k;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=go(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2])>>>0;f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3]>>>0;o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}tb(h,W,c);g=W+4|0}if((l|0)==82){l=0;tb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}ub(h,W,c);g=W+4|0}if((l|0)==82){l=0;ub(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}vb(h,W,c);g=W+4|0}if((l|0)==82){l=0;vb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}wb(h,W,c);g=W+4|0}if((l|0)==82){l=0;wb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}xb(h,W,c);g=W+4|0}if((l|0)==82){l=0;xb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}} +function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}yb(h,W,c);g=W+4|0}if((l|0)==82){l=0;yb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}zb(h,W,c);g=W+4|0}if((l|0)==82){l=0;zb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Ab(h,W,c);g=W+4|0}if((l|0)==82){l=0;Ab(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Bb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Bb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Cb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Cb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Db(h,W,c);g=W+4|0}if((l|0)==82){l=0;Db(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Eb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Eb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Fb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Fb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Gb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Gb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Hb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Hb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Ib(h,W,c);g=W+4|0}if((l|0)==82){l=0;Ib(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Jb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Jb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Kb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Kb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=go(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2]);f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3];o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=Ja,J=0,K=0,L=0,M=0,N=Ja;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(yh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=tn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14756;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Hh(o,g)|0)!=0):0)y=Ik(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Ik(c,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=tn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14829;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Hh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=tn(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14849;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Hh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if(!C){Qd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)Cq(i);else{D=B<<2;c=tn(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;pj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=tn(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14829;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Hh(o,j)|0)!=0):0){t=Og(o,j)|0;if((t|0)!=(G+24|0)){nj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(Lq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)pr(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Og(B,j)|0,(H|0)!=(B+4|0)):0){nj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(Lq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)pr(f[g>>2]|0)}if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=tn(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14849;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Hh(d,g)|0)!=0):0)N=$(vk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(vk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);Hl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);pr(C)}k=1;u=e;return k|0}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=m;r=p;s=g+2|0;break}else{q=m;r=p;s=g+-1|0;break}}else{p=f[n+28>>2]|0;q=p;r=f[p+-4>>2]|0;s=-1}while(0);n=f[q+(s<<2)>>2]|0;if((r|0)==-1|(n|0)==-1){h=0;u=c;return h|0}s=a+24|0;q=f[s>>2]|0;g=q+(r>>>5<<2)|0;k=1<<(r&31);p=f[g>>2]|0;if(!(p&k)){f[g>>2]=p|k;k=f[b>>2]|0;p=k+1|0;if((k|0)==-1)t=-1;else t=((p>>>0)%3|0|0)==0?k+-2|0:p;f[e>>2]=t;p=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=p;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Ti(k,d);else{f[g>>2]=p;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;p=t+4|0;k=f[p>>2]|0;if((k|0)==(f[t+8>>2]|0)){Ti(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(r<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[s>>2]|0}else w=q;q=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[q>>2]|0;if(!(t&w)){f[q>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;q=f[x>>2]|0;if((q|0)==(f[t+8>>2]|0))Ti(t,d);else{f[q>>2]=w;f[x>>2]=q+4}q=a+40|0;x=f[q>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Ti(x,e);y=f[q>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;q=x;x=n;a:while(1){n=f[x+-4>>2]|0;f[b>>2]=n;r=(n>>>0)/3|0;if((n|0)!=-1?(n=(f[j>>2]|0)+(r>>>5<<2)|0,v=1<<(r&31),r=f[n>>2]|0,(r&v|0)==0):0){f[n>>2]=r|v;v=f[a>>2]|0;r=f[b>>2]|0;n=f[(f[v+28>>2]|0)+(r<<2)>>2]|0;if((n|0)==-1){h=0;z=79;break}else{A=r;B=v;C=n}b:while(1){n=(f[s>>2]|0)+(C>>>5<<2)|0;v=1<<(C&31);r=f[n>>2]|0;do if(!(r&v)){k=f[(f[B+40>>2]|0)+(C<<2)>>2]|0;if((k|0)==-1)D=1;else{p=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(p&31)&f[(f[B+12>>2]|0)+(p>>>5<<2)>>2]|0)!=0}f[n>>2]=r|v;p=f[b>>2]|0;f[e>>2]=p;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]|0;p=f[t>>2]|0;f[d>>2]=k;g=f[p+4>>2]|0;p=g+4|0;m=f[p>>2]|0;if((m|0)==(f[g+8>>2]|0))Ti(g,d);else{f[m>>2]=k;f[p>>2]=m+4}m=f[w>>2]|0;p=m+4|0;k=f[p>>2]|0;if((k|0)==(f[m+8>>2]|0)){Ti(m,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;E=m}m=E+24|0;f[(f[E+12>>2]|0)+(C<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1;m=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=m;z=59;break}p=k+1|0;do if((k|0)==-1)H=-1;else{g=((p>>>0)%3|0|0)==0?k+-2|0:p;if((g|0)==-1){H=-1;break}if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[m+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=m;J=(H>>>0)/3|0}else{F=A;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=63;break}r=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((r|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((r|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);r=(K|0)==-1;v=(K>>>0)/3|0;n=r?-1:v;p=(L|0)==-1;k=(L>>>0)/3|0;g=p?-1:k;do if(!r){M=f[j>>2]|0;if(f[M+(n>>>5<<2)>>2]&1<<(n&31)|0){z=69;break}if(p){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(p){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=G;J=O}v=(f[j>>2]|0)+(J>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(J&31);A=f[b>>2]|0;C=f[(f[I+28>>2]|0)+(A<<2)>>2]|0;if((C|0)==-1){h=0;z=79;break a}else B=I}do if((z|0)==63){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Ti(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];n=v+4|0;f[l>>2]=n;P=n;break}}while(0);if((z|0)==71){z=0;n=(f[l>>2]|0)+-4|0;f[l>>2]=n;P=n}Q=f[i>>2]|0;R=P}else{n=x+-4|0;f[l>>2]=n;Q=q;R=n}if((Q|0)==(R|0)){h=1;z=79;break}else{q=Q;x=R}}if((z|0)==79){u=c;return h|0}return 0}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ja,V=Ja,Y=Ja,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=t+(w+4)|0;z=s;A=r-w|0}else{y=t;z=v;A=v}switch(A|0){case 3:{B=h[y+2>>0]<<16^z;C=8;break}case 2:{B=z;C=8;break}case 1:{D=z;C=9;break}default:E=z}if((C|0)==8){C=0;D=h[y+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(h[y>>0]^D,1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(Yk(K,t,v)|0))break b;else break;if((K&255)<<24>>24==(b[t>>0]|0)){K=O;P=G;Q=t;do{K=K+-1|0;P=P+1|0;if(!K)break b;Q=Q+1|0}while((b[P>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){G=f[F+4>>2]|0;if((G|0)!=(r|0)){if(G>>>0>>0)R=G;else R=(G>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}G=b[F+8+11>>0]|0;if(!((G<<24>>24<0?f[F+12>>2]|0:G&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;G=I<<24>>24<0;O=I&255;do if(((G?f[S+12>>2]|0:O)|0)==(v|0)){I=f[F>>2]|0;if(G)if(!(Yk(I,t,v)|0))break b;else break;if((I&255)<<24>>24==(b[t>>0]|0)){I=O;N=F;Q=t;do{I=I+-1|0;N=N+1|0;if(!I)break b;Q=Q+1|0}while((b[N>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Jh(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|U>$(V*Y)){t=(w>>>0<3|(w+-1&w|0)!=0)&1|w<<1;v=~~$(W($(U/Y)))>>>0;ci(a,t>>>0>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=tn(40)|0;Ob(c,f[e+20>>2]|0);aa=zc(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;oi(c+8|0);pr(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)pr(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;pr(Z)}if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);pr(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)pr(aa);pr(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Ti(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Ti(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Ti(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Ti(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Ti(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=D;J=(H>>>0)/3|0}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=G;J=N}t=(f[j>>2]|0)+(J>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(J&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=I}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Ti(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}function Qb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=E;G=E&65535;F=E>>>16;H=F&65535;J=(E&65535^318)+239^F;F=(z|0)==0;a:do if(!F){K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(z>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(z>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[A+(r<<2)>>2]=f[T+12>>2];V=e;X=C;Y=B;Z=A;_=D;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(z>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(z>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=tn(16)|0;G=H+8|0;d[G>>1]=E;d[G+2>>1]=E>>>16;f[H+12>>2]=D;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(z>>>0);ga=$(n[l>>2]);do if(F|ea>$(fa*ga)){G=(z>>>0<3|(z+-1&z|0)!=0)&1|z<<1;O=~~$(W($(ea/ga)))>>>0;Th(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=z;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){E=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(E>>>0>>0)ja=E;else ja=(E>>>0)%(ha>>>0)|0;else ja=E&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;E=En(J|0,f[F+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+E|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(r<<2)>>2]=D;V=J;X=J;Y=J;Z=J;_=D+1|0}J=r+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=f[o>>2]|0;A=Z;B=Y;C=X;r=J;D=_}if((_|0)==(la|0))ma=Y;else{Y=a+84|0;if(!(b[Y>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=V;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[X+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=V}}else{b[Y>>0]=0;Y=a+68|0;V=a+72|0;B=f[V>>2]|0;r=f[Y>>2]|0;X=B-r>>2;C=r;r=B;if(la>>>0<=X>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[V>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(Y,la-X|0,1284);oa=f[m>>2]|0}X=f[k>>2]|0;if(!oa)na=X;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=X}}f[m>>2]=_;ma=na}if(!ma)pa=_;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=_}}else pa=0;_=f[i+8>>2]|0;if(_|0){ma=_;do{_=ma;ma=f[ma>>2]|0;pr(_)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=La[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(z|0)!=(o|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{zh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,x,e);x=tn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;hh(h+8|0,E,e);Qa[f[(f[h>>2]|0)+8>>2]&127](h);xf(j,h);xf(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;dg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)pr(s);s=f[e+8>>2]|0;if(s|0)pr(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)pr(s);s=f[j+8>>2]|0;if(s|0)pr(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];dg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;mg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);pr(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)pr(E);E=f[i+12>>2]|0;if(E|0)pr(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)pr(E);E=f[h+8>>2]|0;if(E|0)pr(E);M=s;N=0;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ki(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){O=31;break}af(e,a,P);Q=f[e>>2]|0;R=1}else O=31;while(0);if((O|0)==31){Pd(e,a,P);Q=f[e>>2]|0;R=0}if(!Q)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=N;N=tn(76)|0;f[k>>2]=M;vl(N,k,c);c=N;N=f[k>>2]|0;f[k>>2]=0;if(N|0)Qa[f[(f[N>>2]|0)+4>>2]&127](N);N=a+188|0;k=f[N>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[N>>2]=k+4}k=La[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;N=f[a>>2]|0;if(N>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[N>>2]=c;f[a>>2]=N+4;U=l}else{Ng(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Qa[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=La[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(z|0)!=(o|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{zh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,x,e);x=tn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+4|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;f[H+20>>2]=0;H=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;hh(h+8|0,E,e);Qa[f[(f[h>>2]|0)+8>>2]&127](h);xf(j,h);xf(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;dg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)pr(s);s=f[e+8>>2]|0;if(s|0)pr(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)pr(s);s=f[j+8>>2]|0;if(s|0)pr(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];dg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;mg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);pr(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)pr(E);E=f[i+12>>2]|0;if(E|0)pr(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)pr(E);E=f[h+8>>2]|0;if(E|0)pr(E);M=s;N=0;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ki(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){O=31;break}af(e,a,P);Q=f[e>>2]|0;R=1}else O=31;while(0);if((O|0)==31){Pd(e,a,P);Q=f[e>>2]|0;R=0}if(!Q)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=N;N=tn(76)|0;f[k>>2]=M;vl(N,k,c);c=N;N=f[k>>2]|0;f[k>>2]=0;if(N|0)Qa[f[(f[N>>2]|0)+4>>2]&127](N);N=a+188|0;k=f[N>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[N>>2]=k+4}k=La[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;N=f[a>>2]|0;if(N>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[N>>2]=c;f[a>>2]=N+4;U=l}else{Ng(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Qa[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Ja,da=Ja,ea=Ja,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=q;z=q;A=0;B=q;q=0;C=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(x+q|0,0,f[D>>2]|0,f[D+4>>2]|0)|0;D=go(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(A|0)==0;a:do if(!G){H=A+-1|0;J=(H&A|0)==0;if(!J)if(D>>>0>>0)K=D;else K=(D>>>0)%(A>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0>>0)S=P;else S=(P>>>0)%(A>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[B+(q<<2)>>2]=f[R+16>>2];T=d;U=y;V=B;X=z;Y=C;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=A+-1|0;J=(H&A|0)==0;if(!J)if(D>>>0>>0)_=D;else _=(D>>>0)%(A>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0>>0)ba=J;else ba=(J>>>0)%(A>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=tn(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=C;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(A>>>0);ea=$(n[k>>2]);do if(G|ca>$(da*ea)){J=(A>>>0<3|(A+-1&A|0)!=0)&1|A<<1;H=~~$(W($(ca/ea)))>>>0;Xh(g,J>>>0>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=A;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=En(D|0,f[G+4>>2]|0,C|0,0)|0;eh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(q<<2)>>2]=C;T=D;U=D;V=D;X=D;Y=C+1|0}D=q+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=U;z=X;A=f[m>>2]|0;B=V;q=D;C=Y}if((Y|0)==(ja|0))ka=U;else{U=a+84|0;if(!(b[U>>0]|0)){C=f[a+72>>2]|0;q=f[a+68>>2]|0;V=q;if((C|0)==(q|0))la=T;else{B=C-q>>2;q=0;do{C=V+(q<<2)|0;f[C>>2]=f[X+(f[C>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);la=T}}else{b[U>>0]=0;U=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[U>>2]|0;X=B-q>>2;V=q;q=B;if(ja>>>0<=X>>>0)if(ja>>>0>>0?(B=V+(ja<<2)|0,(q|0)!=(B|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{zh(U,ja-X|0,1284);ma=f[l>>2]|0}X=f[j>>2]|0;if(!ma)la=X;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=X}}f[l>>2]=Y;ka=la}if(!ka)na=Y;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);pr(ka);na=Y}}else na=0;Y=f[g+8>>2]|0;if(Y|0){ka=Y;do{Y=ka;ka=f[ka>>2]|0;pr(Y)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}pr(ka);u=e;return na|0}function Ub(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=E;G=E&255;F=(E&65535)>>>8;H=F&255;J=((E&255^318)+239<<16>>16^F)&65535;F=(z|0)==0;a:do if(!F){K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(z>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(z>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[A+(r<<2)>>2]=f[T+12>>2];V=e;X=C;Y=B;Z=A;_=D;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(z>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(z>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=tn(16)|0;G=H+8|0;b[G>>0]=E;b[G+1>>0]=E>>8;f[H+12>>2]=D;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(z>>>0);ga=$(n[l>>2]);do if(F|ea>$(fa*ga)){G=(z>>>0<3|(z+-1&z|0)!=0)&1|z<<1;O=~~$(W($(ea/ga)))>>>0;_h(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=z;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){E=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(E>>>0>>0)ja=E;else ja=(E>>>0)%(ha>>>0)|0;else ja=E&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;E=En(J|0,f[F+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+E|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(r<<2)>>2]=D;V=J;X=J;Y=J;Z=J;_=D+1|0}J=r+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=f[o>>2]|0;A=Z;B=Y;C=X;r=J;D=_}if((_|0)==(la|0))ma=Y;else{Y=a+84|0;if(!(b[Y>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=V;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[X+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=V}}else{b[Y>>0]=0;Y=a+68|0;V=a+72|0;B=f[V>>2]|0;r=f[Y>>2]|0;X=B-r>>2;C=r;r=B;if(la>>>0<=X>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[V>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(Y,la-X|0,1284);oa=f[m>>2]|0}X=f[k>>2]|0;if(!oa)na=X;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=X}}f[m>>2]=_;ma=na}if(!ma)pa=_;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=_}}else pa=0;_=f[i+8>>2]|0;if(_|0){ma=_;do{_=ma;ma=f[ma>>2]|0;pr(_)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function Vb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;gl(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];ec(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[t>>2]|0;if((p|0)==0&(P|0)==0){Q=h;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,p|0,P|0)|0;f[h>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=s;R=N?P:0-P|0}f[Q>>2]=R;P=f[h>>2]|0;N=f[q>>2]|0;M=f[s>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;p=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|p&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(p){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);f[i>>2]=Y;f[v>>2]=Z;p=0-N|0;H=0-M|0;f[h>>2]=0-P;f[q>>2]=p;f[s>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?p:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(p=(T|0)==($|0),X=(T|0)==(_|0),!(H&p|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(p&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);f[j>>2]=aa;f[x>>2]=ba;T=L<<1;O=b+(T<<2)|0;S=f[y>>2]|0;if((S|0)>0){H=S;S=0;M=i;while(1){if((H|0)>0){N=0;do{P=f[M+(N<<2)>>2]|0;p=f[z>>2]|0;if((P|0)>(p|0)){X=f[A>>2]|0;f[X+(N<<2)>>2]=p;ca=X}else{X=f[B>>2]|0;p=f[A>>2]|0;f[p+(N<<2)>>2]=(P|0)<(X|0)?X:P;ca=p}N=N+1|0;p=f[y>>2]|0}while((N|0)<(p|0));da=ca;ea=p}else{da=f[A>>2]|0;ea=H}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;p=k+(S<<2)|0;f[p>>2]=N;fa=f[C>>2]|0;if((N|0)>=(fa|0)){if((N|0)>(f[E>>2]|0)){ga=N-(f[D>>2]|0)|0;ha=47}}else{ga=(f[D>>2]|0)+N|0;ha=47}if((ha|0)==47){ha=0;f[p>>2]=ga}S=S+1|0;if((S|0)>=(ea|0))break;else{H=ea;M=da}}if((ea|0)>0){M=fa;H=ea;S=0;p=j;while(1){if((H|0)>0){N=0;do{P=f[p+(N<<2)>>2]|0;X=f[z>>2]|0;if((P|0)>(X|0))f[da+(N<<2)>>2]=X;else{X=f[B>>2]|0;f[da+(N<<2)>>2]=(P|0)<(X|0)?X:P}N=N+1|0;ia=f[y>>2]|0}while((N|0)<(ia|0));ja=ia;ka=f[C>>2]|0}else{ja=H;ka=M}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;P=l+(S<<2)|0;f[P>>2]=N;if((N|0)>=(ka|0)){if((N|0)>(f[E>>2]|0)){la=N-(f[D>>2]|0)|0;ha=60}}else{la=(f[D>>2]|0)+N|0;ha=60}if((ha|0)==60){ha=0;f[P>>2]=la}S=S+1|0;if((S|0)>=(ja|0))break;else{M=ka;H=ja;p=da}}}}p=f[k>>2]|0;H=f[t>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))ma=(f[F>>2]|0)+p|0;else ma=p;else ma=p-(f[F>>2]|0)|0;f[k>>2]=ma;p=f[a>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))na=(f[F>>2]|0)+p|0;else na=p;else na=p-(f[F>>2]|0)|0;f[a>>2]=na;p=f[l>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))oa=(f[F>>2]|0)+p|0;else oa=p;else oa=p-(f[F>>2]|0)|0;f[l>>2]=oa;p=f[G>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))pa=(f[F>>2]|0)+p|0;else pa=p;else pa=p-(f[F>>2]|0)|0;f[G>>2]=pa;if((((na|0)>-1?na:0-na|0)+((ma|0)>-1?ma:0-ma|0)|0)<(((oa|0)>-1?oa:0-oa|0)+((pa|0)>-1?pa:0-pa|0)|0)){dj(g,0);qa=k}else{dj(g,1);qa=l}p=f[qa>>2]|0;if((p|0)<0)ra=(f[F>>2]|0)+p|0;else ra=p;p=c+(T<<2)|0;f[p>>2]=ra;H=f[qa+4>>2]|0;if((H|0)<0)sa=(f[F>>2]|0)+H|0;else sa=H;f[p+4>>2]=sa;L=L+1|0;if((L|0)>=(r|0)){ha=3;break}p=f[o>>2]|0;K=f[p>>2]|0;if((f[p+4>>2]|0)-K>>2>>>0<=L>>>0){J=p;ha=4;break}}if((ha|0)==3){u=e;return 1}else if((ha|0)==4)Cq(J);return 0}function Wb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;gl(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];Zb(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[t>>2]|0;if((p|0)==0&(P|0)==0){Q=h;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,p|0,P|0)|0;f[h>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=s;R=N?P:0-P|0}f[Q>>2]=R;P=f[h>>2]|0;N=f[q>>2]|0;M=f[s>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;p=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|p&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(p){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);f[i>>2]=Y;f[v>>2]=Z;p=0-N|0;H=0-M|0;f[h>>2]=0-P;f[q>>2]=p;f[s>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?p:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(p=(T|0)==($|0),X=(T|0)==(_|0),!(H&p|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(p&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);f[j>>2]=aa;f[x>>2]=ba;T=L<<1;O=b+(T<<2)|0;S=f[y>>2]|0;if((S|0)>0){H=S;S=0;M=i;while(1){if((H|0)>0){N=0;do{P=f[M+(N<<2)>>2]|0;p=f[z>>2]|0;if((P|0)>(p|0)){X=f[A>>2]|0;f[X+(N<<2)>>2]=p;ca=X}else{X=f[B>>2]|0;p=f[A>>2]|0;f[p+(N<<2)>>2]=(P|0)<(X|0)?X:P;ca=p}N=N+1|0;p=f[y>>2]|0}while((N|0)<(p|0));da=ca;ea=p}else{da=f[A>>2]|0;ea=H}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;p=k+(S<<2)|0;f[p>>2]=N;fa=f[C>>2]|0;if((N|0)>=(fa|0)){if((N|0)>(f[E>>2]|0)){ga=N-(f[D>>2]|0)|0;ha=47}}else{ga=(f[D>>2]|0)+N|0;ha=47}if((ha|0)==47){ha=0;f[p>>2]=ga}S=S+1|0;if((S|0)>=(ea|0))break;else{H=ea;M=da}}if((ea|0)>0){M=fa;H=ea;S=0;p=j;while(1){if((H|0)>0){N=0;do{P=f[p+(N<<2)>>2]|0;X=f[z>>2]|0;if((P|0)>(X|0))f[da+(N<<2)>>2]=X;else{X=f[B>>2]|0;f[da+(N<<2)>>2]=(P|0)<(X|0)?X:P}N=N+1|0;ia=f[y>>2]|0}while((N|0)<(ia|0));ja=ia;ka=f[C>>2]|0}else{ja=H;ka=M}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;P=l+(S<<2)|0;f[P>>2]=N;if((N|0)>=(ka|0)){if((N|0)>(f[E>>2]|0)){la=N-(f[D>>2]|0)|0;ha=60}}else{la=(f[D>>2]|0)+N|0;ha=60}if((ha|0)==60){ha=0;f[P>>2]=la}S=S+1|0;if((S|0)>=(ja|0))break;else{M=ka;H=ja;p=da}}}}p=f[k>>2]|0;H=f[t>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))ma=(f[F>>2]|0)+p|0;else ma=p;else ma=p-(f[F>>2]|0)|0;f[k>>2]=ma;p=f[a>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))na=(f[F>>2]|0)+p|0;else na=p;else na=p-(f[F>>2]|0)|0;f[a>>2]=na;p=f[l>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))oa=(f[F>>2]|0)+p|0;else oa=p;else oa=p-(f[F>>2]|0)|0;f[l>>2]=oa;p=f[G>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))pa=(f[F>>2]|0)+p|0;else pa=p;else pa=p-(f[F>>2]|0)|0;f[G>>2]=pa;if((((na|0)>-1?na:0-na|0)+((ma|0)>-1?ma:0-ma|0)|0)<(((oa|0)>-1?oa:0-oa|0)+((pa|0)>-1?pa:0-pa|0)|0)){dj(g,0);qa=k}else{dj(g,1);qa=l}p=f[qa>>2]|0;if((p|0)<0)ra=(f[F>>2]|0)+p|0;else ra=p;p=c+(T<<2)|0;f[p>>2]=ra;H=f[qa+4>>2]|0;if((H|0)<0)sa=(f[F>>2]|0)+H|0;else sa=H;f[p+4>>2]=sa;L=L+1|0;if((L|0)>=(r|0)){ha=3;break}p=f[o>>2]|0;K=f[p>>2]|0;if((f[p+4>>2]|0)-K>>2>>>0<=L>>>0){J=p;ha=4;break}}if((ha|0)==3){u=e;return 1}else if((ha|0)==4)Cq(J);return 0}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=K;K=0;b:while(1){L=K+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=J+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ti(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=X;Z=V+2|0;break}else{Y=X;Z=V+-1|0;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Y<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Z<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3852+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ti(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)sf(a,f[i>>2]|0,N,0,fa);jd(t,3);ga=f[e>>2]|0}else{if(!R){sf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}jd(t,5);ga=da}f[b>>2]=ga}if((L|0)>=(k|0))break a;J=f[n>>2]|0;K=L}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{sf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;jd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(K=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(K&31)&f[(f[G>>2]|0)+(K>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Je(a,d,0)|0}K=f[i>>2]|0;f[d>>2]=N;J=Yd(H,d)|0;f[J>>2]=K;K=f[j>>2]|0;f[K+-4>>2]=da;if((K|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[K>>2]=f[e>>2];f[j>>2]=K+4;break}}while(0);if((U|0)==54){U=0;jd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Bi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;nj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Bi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}eh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=c+(m+4)|0;t=r;v=q-m|0}else{s=c;t=o;v=o}switch(v|0){case 3:{w=h[s+2>>0]<<16^t;x=10;break}case 2:{w=t;x=10;break}case 1:{y=t;x=11;break}default:z=t}if((x|0)==10){y=h[s+1>>0]<<8^w;x=11}if((x|0)==11)z=X(h[s>>0]^y,1540483477)|0;y=X(z>>>13^z,1540483477)|0;z=y>>>15^y;y=a+4|0;s=f[y>>2]|0;w=(s|0)==0;a:do if(!w){t=s+-1|0;v=(t&s|0)==0;if(!v)if(z>>>0>>0)A=z;else A=(z>>>0)%(s>>>0)|0;else A=z&t;m=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((m|0)!=0?(q=f[m>>2]|0,(q|0)!=0):0){m=(o|0)==0;if(v){if(m){v=q;while(1){r=f[v+4>>2]|0;if(!((r|0)==(z|0)|(r&t|0)==(A|0))){B=A;x=52;break a}r=b[v+8+11>>0]|0;if(!((r<<24>>24<0?f[v+12>>2]|0:r&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else C=q;while(1){v=f[C+4>>2]|0;if(!((v|0)==(z|0)|(v&t|0)==(A|0))){B=A;x=52;break a}v=C+8|0;r=b[v+11>>0]|0;d=r<<24>>24<0;D=r&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){r=f[v>>2]|0;if(d)if(!(Yk(r,c,o)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=D;E=v;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(m){t=q;while(1){v=f[t+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)G=v;else G=(v>>>0)%(s>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}v=b[t+8+11>>0]|0;if(!((v<<24>>24<0?f[t+12>>2]|0:v&255)|0))break a;t=f[t>>2]|0;if(!t){B=A;x=52;break a}}}else H=q;while(1){t=f[H+4>>2]|0;if((t|0)!=(z|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(s>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}t=H+8|0;m=b[t+11>>0]|0;v=m<<24>>24<0;D=m&255;do if(((v?f[H+12>>2]|0:D)|0)==(o|0)){m=f[t>>2]|0;if(v)if(!(Yk(m,c,o)|0))break a;else break;if((m&255)<<24>>24==(b[c>>0]|0)){m=D;d=t;F=c;do{m=m+-1|0;d=d+1|0;if(!m)break a;F=F+1|0}while((b[d>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){lh(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(s>>>0);L=$(n[a+16>>2]);do if(w|J>$(K*L)){A=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;H=~~$(W($(J/L)))>>>0;ci(a,A>>>0>>0?H:A);A=f[y>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=s;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){s=a+8|0;f[f[g>>2]>>2]=f[s>>2];f[s>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=s;s=f[g>>2]|0;N=f[s>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=s;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;pr(O)}if((b[p>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)Cq(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];qb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=o;J=a;K=o;while(1){do if(J){L=H+1|0;if((H|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?H+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A;T=Q;U=A+2|0;V=19;break}else{R=A;S=A;T=Q;U=A+-1|0;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=K+1|0;L=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if(!((K>>>0)%3|0)){R=A;S=H;T=L;U=K+2|0;V=19;break}else{R=A;S=H;T=L;U=K+-1|0;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=S;O=U;P=-1}else{M=R;N=S;O=U;P=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=P>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(P<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];qb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];qb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=io(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=io(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=io(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=io(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=io(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=io(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=En($|0,ia|0,ca|0,ba|0)|0;da=I;la=En(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=En(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=En($|0,ia|0,Q|0,L|0)|0;ia=I;$=En(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=En(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=io(B|0,C|0,la|0,ma|0)|0;ma=go(ca|0,I|0,ha|0,da|0)|0;da=I;ha=go(na|0,fa|0,D|0,E|0)|0;fa=io(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=io(F|0,G|0,Q|0,ba|0)|0;ba=go(ga|0,I|0,$|0,L|0)|0;L=I;Dh(i);K=f[c>>2]|0;$=(f[v>>2]|0)==0;if((K|0)==-1){oa=da;pa=ma;qa=ia;ra=fa;sa=L;ta=ba;ua=$;break a}else{A=M;B=ma;C=da;D=fa;E=ia;F=ba;G=L;H=N;J=$}}if((V|0)==22)Cq(W);else if((V|0)==28)Cq(Z)}else{oa=0;pa=0;qa=0;ra=0;sa=0;ta=0;ua=a}while(0);a=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;Z=io(0,0,pa|0,oa|0)|0;V=a?oa:I;W=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;N=io(0,0,ra|0,qa|0)|0;M=W?qa:I;v=(sa|0)>-1|(sa|0)==-1&ta>>>0>4294967295;c=io(0,0,ta|0,sa|0)|0;i=go((W?ra:N)|0,M|0,(v?ta:c)|0,(v?sa:I)|0)|0;v=go(i|0,I|0,(a?pa:Z)|0,V|0)|0;V=I;if(ua){if((v|0)<=536870912){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}ua=jo(v|0,V|0,29)|0;Z=ua&7;ua=Jk(pa|0,oa|0,Z|0,0)|0;a=Jk(ra|0,qa|0,Z|0,0)|0;i=Jk(ta|0,sa|0,Z|0,0)|0;va=ua;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=jo(v|0,V|0,29)|0;V=I;v=Jk(pa|0,oa|0,i|0,V|0)|0;oa=Jk(ra|0,qa|0,i|0,V|0)|0;qa=Jk(ta|0,sa|0,i|0,V|0)|0;va=v;wa=oa;xa=qa;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=Ja,M=Ja,N=Ja,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Bi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;eh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;nj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Bi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}eh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=c+(s+4)|0;z=x;A=w-s|0}else{y=c;z=d;A=d}switch(A|0){case 3:{B=h[y+2>>0]<<16^z;C=12;break}case 2:{B=z;C=12;break}case 1:{D=z;C=13;break}default:E=z}if((C|0)==12){D=h[y+1>>0]<<8^B;C=13}if((C|0)==13)E=X(h[y>>0]^D,1540483477)|0;D=X(E>>>13^E,1540483477)|0;E=D>>>15^D;D=a+4|0;y=f[D>>2]|0;B=(y|0)==0;a:do if(!B){z=y+-1|0;A=(z&y|0)==0;if(!A)if(E>>>0>>0)F=E;else F=(E>>>0)%(y>>>0)|0;else F=E&z;s=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((s|0)!=0?(w=f[s>>2]|0,(w|0)!=0):0){s=(d|0)==0;if(A){if(s){A=w;while(1){x=f[A+4>>2]|0;if(!((x|0)==(E|0)|(x&z|0)==(F|0))){G=F;C=54;break a}x=b[A+8+11>>0]|0;if(!((x<<24>>24<0?f[A+12>>2]|0:x&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else H=w;while(1){A=f[H+4>>2]|0;if(!((A|0)==(E|0)|(A&z|0)==(F|0))){G=F;C=54;break a}A=H+8|0;x=b[A+11>>0]|0;o=x<<24>>24<0;t=x&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){x=f[A>>2]|0;if(o)if(!(Yk(x,c,d)|0))break a;else break;if((x&255)<<24>>24==(b[c>>0]|0)){x=t;l=A;q=c;do{x=x+-1|0;l=l+1|0;if(!x)break a;q=q+1|0}while((b[l>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(s){z=w;while(1){A=f[z+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0>>0)I=A;else I=(A>>>0)%(y>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}A=b[z+8+11>>0]|0;if(!((A<<24>>24<0?f[z+12>>2]|0:A&255)|0))break a;z=f[z>>2]|0;if(!z){G=F;C=54;break a}}}else J=w;while(1){z=f[J+4>>2]|0;if((z|0)!=(E|0)){if(z>>>0>>0)K=z;else K=(z>>>0)%(y>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}z=J+8|0;s=b[z+11>>0]|0;A=s<<24>>24<0;t=s&255;do if(((A?f[J+12>>2]|0:t)|0)==(d|0)){s=f[z>>2]|0;if(A)if(!(Yk(s,c,d)|0))break a;else break;if((s&255)<<24>>24==(b[c>>0]|0)){s=t;o=z;q=c;do{s=s+-1|0;o=o+1|0;if(!s)break a;q=q+1|0}while((b[o>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){lh(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(y>>>0);N=$(n[a+16>>2]);do if(B|L>$(M*N)){F=(y>>>0<3|(y+-1&y|0)!=0)&1|y<<1;J=~~$(W($(L/N)))>>>0;ci(a,F>>>0>>0?J:F);F=f[D>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=y;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=y;y=f[g>>2]|0;P=f[y>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=y;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;pr(Q)}if((b[v>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=E;G=(E^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(G>>>0>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==E<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==E<<16>>16){Q=N;break c}}else{if(P>>>0>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[A+(r<<2)>>2]=f[Q+12>>2];S=z;T=C;U=B;V=A;X=D;break a}while(0);if(!H)if(G>>>0>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=e;_=Y;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=e;_=Y;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=e;_=Y;aa=0;ba=40;break a}if((d[M+8>>1]|0)==E<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=e;_=Y;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=e;_=Y;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==E<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=tn(16)|0;d[L+8>>1]=E;f[L+12>>2]=D;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(Z>>>0);ga=$(n[l>>2]);do if(aa|ea>$(fa*ga)){M=(Z>>>0<3|(Z+-1&Z|0)!=0)&1|Z<<1;F=~~$(W($(ea/ga)))>>>0;Uh(i,M>>>0>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(G>>>0>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=Z;ia=_}while(0);G=(f[i>>2]|0)+(ia<<2)|0;E=f[G>>2]|0;if(!E){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[E>>2];ka=E;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;E=w;G=f[E>>2]|0;M=En(G|0,f[E+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(r<<2)>>2]=D;S=G;T=G;U=G;V=G;X=D+1|0}G=r+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=V;B=U;C=T;r=G;D=X}if((X|0)==(la|0))ma=U;else{U=a+84|0;if(!(b[U>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=S;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[T+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0>>0);na=S}}else{b[U>>0]=0;U=a+68|0;S=a+72|0;B=f[S>>2]|0;r=f[U>>2]|0;T=B-r>>2;C=r;r=B;if(la>>>0<=T>>>0)if(la>>>0>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[S>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(U,la-T|0,1284);oa=f[m>>2]|0}T=f[k>>2]|0;if(!oa)na=T;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=T}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;pr(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Bi(j,4);l=f[j>>2]|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;nj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Bi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}eh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=c+(l+4)|0;t=r;v=q-l|0}else{s=c;t=o;v=o}switch(v|0){case 3:{w=h[s+2>>0]<<16^t;x=10;break}case 2:{w=t;x=10;break}case 1:{y=t;x=11;break}default:z=t}if((x|0)==10){y=h[s+1>>0]<<8^w;x=11}if((x|0)==11)z=X(h[s>>0]^y,1540483477)|0;y=X(z>>>13^z,1540483477)|0;z=y>>>15^y;y=a+4|0;s=f[y>>2]|0;w=(s|0)==0;a:do if(!w){t=s+-1|0;v=(t&s|0)==0;if(!v)if(z>>>0>>0)A=z;else A=(z>>>0)%(s>>>0)|0;else A=z&t;l=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((l|0)!=0?(q=f[l>>2]|0,(q|0)!=0):0){l=(o|0)==0;if(v){if(l){v=q;while(1){r=f[v+4>>2]|0;if(!((r|0)==(z|0)|(r&t|0)==(A|0))){B=A;x=52;break a}r=b[v+8+11>>0]|0;if(!((r<<24>>24<0?f[v+12>>2]|0:r&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else C=q;while(1){v=f[C+4>>2]|0;if(!((v|0)==(z|0)|(v&t|0)==(A|0))){B=A;x=52;break a}v=C+8|0;r=b[v+11>>0]|0;d=r<<24>>24<0;D=r&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){r=f[v>>2]|0;if(d)if(!(Yk(r,c,o)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=D;E=v;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(l){t=q;while(1){v=f[t+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)G=v;else G=(v>>>0)%(s>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}v=b[t+8+11>>0]|0;if(!((v<<24>>24<0?f[t+12>>2]|0:v&255)|0))break a;t=f[t>>2]|0;if(!t){B=A;x=52;break a}}}else H=q;while(1){t=f[H+4>>2]|0;if((t|0)!=(z|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(s>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}t=H+8|0;l=b[t+11>>0]|0;v=l<<24>>24<0;D=l&255;do if(((v?f[H+12>>2]|0:D)|0)==(o|0)){l=f[t>>2]|0;if(v)if(!(Yk(l,c,o)|0))break a;else break;if((l&255)<<24>>24==(b[c>>0]|0)){l=D;d=t;F=c;do{l=l+-1|0;d=d+1|0;if(!l)break a;F=F+1|0}while((b[d>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){lh(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(s>>>0);L=$(n[a+16>>2]);do if(w|J>$(K*L)){A=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;H=~~$(W($(J/L)))>>>0;ci(a,A>>>0>>0?H:A);A=f[y>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=s;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){s=a+8|0;f[f[g>>2]>>2]=f[s>>2];f[s>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=s;s=f[g>>2]|0;N=f[s>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=s;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;pr(O)}if((b[p>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Ja,da=Ja,ea=Ja,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)Cq(i);o=l<<2;p=tn(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;pj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=p;z=p;A=p;p=0;B=0;while(1){C=q;D=f[C>>2]|0;E=f[C+4>>2]|0;C=o;F=En(w+p|0,0,f[C>>2]|0,f[C+4>>2]|0)|0;C=go(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+C>>0]|0;b[h>>0]=E;C=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(C>>>0>>0)G=C;else G=(C>>>0)%(d>>>0)|0;else G=D&C;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(C|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(C|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[y+(p<<2)>>2]=f[O+12>>2];Q=x;R=A;S=z;T=y;U=B;break a}while(0);if(!F)if(C>>>0>>0)V=C;else V=(C>>>0)%(d>>>0)|0;else V=D&C;J=f[H+(V<<2)>>2]|0;if(!J){X=d;Y=V;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=d;Y=V;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(C|0)|(L&D|0)==(V|0))){X=d;Y=V;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=d;Y=V;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(C|0)){if(K>>>0>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=d;Y=V;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=tn(16)|0;b[J+8>>0]=E;f[J+12>>2]=B;f[J+4>>2]=C;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(X>>>0);ea=$(n[j>>2]);do if(Z|ca>$(da*ea)){K=(X>>>0<3|(X+-1&X|0)!=0)&1|X<<1;D=~~$(W($(ca/ea)))>>>0;$h(g,K>>>0>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&C;break}if(C>>>0>>0){fa=K;ga=C}else{fa=K;ga=(C>>>0)%(K>>>0)|0}}else{fa=X;ga=Y}while(0);C=(f[g>>2]|0)+(ga<<2)|0;E=f[C>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[C>>2]=s;C=f[J>>2]|0;if(C|0){K=f[C+4>>2]|0;C=fa+-1|0;if(C&fa)if(K>>>0>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&C;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;C=f[E>>2]|0;K=En(C|0,f[E+4>>2]|0,B|0,0)|0;eh((f[f[v>>2]>>2]|0)+K|0,h|0,C|0)|0;C=f[i>>2]|0;f[C+(p<<2)>>2]=B;Q=C;R=C;S=C;T=C;U=B+1|0}C=p+1|0;ja=f[k>>2]|0;if(C>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=T;z=S;A=R;p=C;B=U}if((U|0)==(ja|0))ka=S;else{S=a+84|0;if(!(b[S>>0]|0)){B=f[a+72>>2]|0;p=f[a+68>>2]|0;A=p;if((B|0)==(p|0))la=Q;else{z=B-p>>2;p=0;do{B=A+(p<<2)|0;f[B>>2]=f[R+(f[B>>2]<<2)>>2];p=p+1|0}while(p>>>0>>0);la=Q}}else{b[S>>0]=0;S=a+68|0;Q=a+72|0;z=f[Q>>2]|0;p=f[S>>2]|0;R=z-p>>2;A=p;p=z;if(ja>>>0<=R>>>0)if(ja>>>0>>0?(z=A+(ja<<2)|0,(p|0)!=(z|0)):0){f[Q>>2]=p+(~((p+-4-z|0)>>>2)<<2);ma=ja}else ma=ja;else{zh(S,ja-R|0,1284);ma=f[k>>2]|0}R=f[i>>2]|0;if(!ma)la=R;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[R+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=R}}f[k>>2]=U;ka=la}if(!ka)na=U;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);pr(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;pr(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}pr(ka);u=e;return na|0}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Ja,ea=Ja,fa=Ja,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=q;A=q;B=q;q=0;C=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(x+q|0,0,f[D>>2]|0,f[D+4>>2]|0)|0;D=go(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=D;F=D^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(D|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(D|0)){P=M;break c}}else{if(O>>>0>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[z+(q<<2)>>2]=f[P+12>>2];R=y;S=B;T=A;U=z;V=C;break a}while(0);if(!G)if(F>>>0>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=d;Z=X;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=d;Z=X;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=d;Z=X;_=0;aa=40;break a}if((f[L+8>>2]|0)==(D|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=d;Z=X;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=d;Z=X;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(D|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=tn(16)|0;f[K+8>>2]=D;f[K+12>>2]=C;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Y>>>0);fa=$(n[k>>2]);do if(_|da>$(ea*fa)){L=(Y>>>0<3|(Y+-1&Y|0)!=0)&1|Y<<1;E=~~$(W($(da/fa)))>>>0;Di(g,L>>>0>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Y;ha=Z}while(0);F=(f[g>>2]|0)+(ha<<2)|0;D=f[F>>2]|0;if(!D){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[D>>2];ja=D;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;D=v;F=f[D>>2]|0;L=En(F|0,f[D+4>>2]|0,C|0,0)|0;eh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(q<<2)>>2]=C;R=F;S=F;T=F;U=F;V=C+1|0}F=q+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=U;A=T;B=S;q=F;C=V}if((V|0)==(ka|0))la=T;else{T=a+84|0;if(!(b[T>>0]|0)){C=f[a+72>>2]|0;q=f[a+68>>2]|0;B=q;if((C|0)==(q|0))ma=R;else{A=C-q>>2;q=0;do{C=B+(q<<2)|0;f[C>>2]=f[S+(f[C>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);ma=R}}else{b[T>>0]=0;T=a+68|0;R=a+72|0;A=f[R>>2]|0;q=f[T>>2]|0;S=A-q>>2;B=q;q=A;if(ka>>>0<=S>>>0)if(ka>>>0>>0?(A=B+(ka<<2)|0,(q|0)!=(A|0)):0){f[R>>2]=q+(~((q+-4-A|0)>>>2)<<2);na=ka}else na=ka;else{zh(T,ka-S|0,1284);na=f[l>>2]|0}S=f[j>>2]|0;if(!na)ma=S;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ma=S}}f[l>>2]=V;la=ma}if(!la)oa=V;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);pr(la);oa=V}}else oa=0;V=f[g+8>>2]|0;if(V|0){la=V;do{V=la;la=f[la>>2]|0;pr(V)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}pr(la);u=e;return oa|0}function dc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=Ja,Y=Ja,Z=Ja,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)Cq(l);r=p<<2;s=tn(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;pj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=En(t+y|0,0,f[A>>2]|0,f[A+4>>2]|0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=of(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=jo(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=jo(B|0,D|0,48)|0;J=I;K=H&65535;L=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H;E=f[s>>2]|0;M=(E|0)==0;a:do if(!M){N=E+-1|0;O=(N&E|0)==0;if(!O)if(L>>>0>>0)P=L;else P=(L>>>0)%(E>>>0)|0;else P=L&N;Q=f[(f[i>>2]|0)+(P<<2)>>2]|0;if((Q|0)!=0?(R=f[Q>>2]|0,(R|0)!=0):0){if(O){O=R;while(1){Q=f[O+4>>2]|0;if(!((Q|0)==(L|0)|(Q&N|0)==(P|0))){S=P;T=31;break a}Q=O+8|0;if((((d[Q>>1]|0)==A<<16>>16?(d[Q+2>>1]|0)==F<<16>>16:0)?(d[O+12>>1]|0)==G<<16>>16:0)?(d[Q+6>>1]|0)==K<<16>>16:0)break a;O=f[O>>2]|0;if(!O){S=P;T=31;break a}}}else U=R;while(1){O=f[U+4>>2]|0;if((O|0)!=(L|0)){if(O>>>0>>0)V=O;else V=(O>>>0)%(E>>>0)|0;if((V|0)!=(P|0)){S=P;T=31;break a}}O=U+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[U+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==K<<16>>16:0)break a;U=f[U>>2]|0;if(!U){S=P;T=31;break}}}else{S=P;T=31}}else{S=0;T=31}while(0);if((T|0)==31){T=0;K=tn(20)|0;G=eo(H|0,J|0,48)|0;F=B|G;G=D&65535|I;A=K+8|0;R=A;d[R>>1]=F;d[R+2>>1]=F>>>16;F=A+4|0;d[F>>1]=G;d[F+2>>1]=G>>>16;f[K+16>>2]=z;f[K+4>>2]=L;f[K>>2]=0;X=$(((f[p>>2]|0)+1|0)>>>0);Y=$(E>>>0);Z=$(n[m>>2]);do if(M|X>$(Y*Z)){G=(E>>>0<3|(E+-1&E|0)!=0)&1|E<<1;F=~~$(W($(X/Z)))>>>0;Rh(i,G>>>0>>0?F:G);G=f[s>>2]|0;F=G+-1|0;if(!(F&G)){_=G;aa=F&L;break}if(L>>>0>>0){_=G;aa=L}else{_=G;aa=(L>>>0)%(G>>>0)|0}}else{_=E;aa=S}while(0);E=(f[i>>2]|0)+(aa<<2)|0;L=f[E>>2]|0;if(!L){f[K>>2]=f[v>>2];f[v>>2]=K;f[E>>2]=v;E=f[K>>2]|0;if(E|0){M=f[E+4>>2]|0;E=_+-1|0;if(E&_)if(M>>>0<_>>>0)ba=M;else ba=(M>>>0)%(_>>>0)|0;else ba=M&E;ca=(f[i>>2]|0)+(ba<<2)|0;T=44}}else{f[K>>2]=f[L>>2];ca=L;T=44}if((T|0)==44){T=0;f[ca>>2]=K}f[p>>2]=(f[p>>2]|0)+1}L=w;E=f[L>>2]|0;M=En(E|0,f[L+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+M|0,j|0,E|0)|0;E=f[l>>2]|0;f[E+(y<<2)>>2]=z;da=E;ea=z+1|0}else{E=f[l>>2]|0;f[E+(y<<2)>>2]=f[C+16>>2];da=E;ea=z}y=y+1|0;fa=f[o>>2]|0;if(y>>>0>=fa>>>0)break;else z=ea}if((ea|0)==(fa|0))ga=da;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))ha=da;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[da+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0>>0);ha=da}}else{b[z>>0]=0;z=a+68|0;da=a+72|0;w=f[da>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(fa>>>0<=x>>>0)if(fa>>>0>>0?(w=y+(fa<<2)|0,(j|0)!=(w|0)):0){f[da>>2]=j+(~((j+-4-w|0)>>>2)<<2);ia=fa}else ia=fa;else{zh(z,fa-x|0,1284);ia=f[o>>2]|0}x=f[l>>2]|0;if(!ia)ha=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ha=x}}f[o>>2]=ea;ga=ha}if(!ga)ja=ea;else{ha=f[q>>2]|0;if((ha|0)!=(ga|0))f[q>>2]=ha+(~((ha+-4-ga|0)>>>2)<<2);pr(ga);ja=ea}}else ja=0;ea=f[i+8>>2]|0;if(ea|0){ga=ea;do{ea=ga;ga=f[ga>>2]|0;pr(ea)}while((ga|0)!=0)}ga=f[i>>2]|0;f[i>>2]=0;if(!ga){u=g;return ja|0}pr(ga);u=g;return ja|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=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;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)Cq(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];qb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=0;B=0;C=0;D=0;E=0;F=0;G=o;H=a;J=o;while(1){do if(H){K=G+1|0;if((G|0)!=-1){L=((K>>>0)%3|0|0)==0?G+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z;O=L;P=z+2|0;break}else{M=z;N=z;O=L;P=z+-1|0;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=J+1|0;K=((L>>>0)%3|0|0)==0?J+-2|0:L;if(!((J>>>0)%3|0)){M=z;N=G;O=K;P=J+2|0;break}else{M=z;N=G;O=K;P=J+-1|0;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];qb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(P<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];qb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=io(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=io(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=io(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=io(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=io(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=io(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=En(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=En(da|0,_|0,aa|0,$|0)|0;ga=I;ha=En(ea|0,W|0,aa|0,$|0)|0;$=I;aa=En(K|0,ca|0,S|0,L|0)|0;ca=I;K=En(da|0,_|0,S|0,L|0)|0;L=I;S=En(ea|0,W|0,Y|0,X|0)|0;X=I;Y=io(A|0,B|0,fa|0,ga|0)|0;ga=go(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=go(ha|0,$|0,C|0,D|0)|0;$=io(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=io(E|0,F|0,S|0,X|0)|0;X=go(aa|0,I|0,K|0,L|0)|0;L=I;Lg(i);J=f[c>>2]|0;K=(f[t>>2]|0)==0;if((J|0)==-1){ia=Z;ja=ga;ka=ca;la=$;ma=L;na=X;oa=K;break a}else{z=M;A=ga;B=Z;C=$;D=ca;E=X;F=L;G=N;H=K}}if((R|0)==17)Cq(Q);else if((R|0)==21)Cq(U)}else{ia=0;ja=0;ka=0;la=0;ma=0;na=0;oa=a}while(0);a=(ia|0)>-1|(ia|0)==-1&ja>>>0>4294967295;U=io(0,0,ja|0,ia|0)|0;R=a?ia:I;Q=(ka|0)>-1|(ka|0)==-1&la>>>0>4294967295;N=io(0,0,la|0,ka|0)|0;M=Q?ka:I;t=(ma|0)>-1|(ma|0)==-1&na>>>0>4294967295;c=io(0,0,na|0,ma|0)|0;i=go((Q?la:N)|0,M|0,(t?na:c)|0,(t?ma:I)|0)|0;t=go(i|0,I|0,(a?ja:U)|0,R|0)|0;R=I;if(oa){if((t|0)<=536870912){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}oa=jo(t|0,R|0,29)|0;U=oa&7;oa=Jk(ja|0,ia|0,U|0,0)|0;a=Jk(la|0,ka|0,U|0,0)|0;i=Jk(na|0,ma|0,U|0,0)|0;pa=oa;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=jo(t|0,R|0,29)|0;R=I;t=Jk(ja|0,ia|0,i|0,R|0)|0;ia=Jk(la|0,ka|0,i|0,R|0)|0;ka=Jk(na|0,ma|0,i|0,R|0)|0;pa=t;qa=ia;ra=ka;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=E;E=0;b:while(1){F=E+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=D+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ti(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ti(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)sf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){sf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((F|0)>=(k|0))break a;D=f[n>>2]|0;E=F}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{sf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;E=f[w>>2]|0;if((E|0)==(f[x>>2]|0))Ti(y,d);else{f[E>>2]=1;f[w>>2]=E+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(E=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(E&31)&f[(f[A>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Je(a,d,0)|0}E=f[i>>2]|0;f[d>>2]=H;D=Yd(B,d)|0;f[D>>2]=E;E=f[j>>2]|0;f[E+-4>>2]=U;if((E|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[E>>2]=f[e>>2];f[j>>2]=E+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;E=f[w>>2]|0;if((E|0)==(f[x>>2]|0))Ti(y,d);else{f[E>>2]=7;f[w>>2]=E+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ja,X=Ja,Y=Ja,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=En(s+x|0,0,f[z>>2]|0,f[z+4>>2]|0)|0;z=go(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=pf(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=B&255;B=C&255;C=E&255;E=(((J^318)+239^B)+239^C)+239^G;K=f[r>>2]|0;L=(K|0)==0;a:do if(!L){M=K+-1|0;N=(M&K|0)==0;if(!N)if(E>>>0>>0)O=E;else O=(E>>>0)%(K>>>0)|0;else O=E&M;P=f[(f[g>>2]|0)+(O<<2)>>2]|0;if((P|0)!=0?(Q=f[P>>2]|0,(Q|0)!=0):0){if(N){N=Q;while(1){P=f[N+4>>2]|0;if(!((P|0)==(E|0)|(P&M|0)==(O|0))){R=O;S=31;break a}P=N+8|0;if((((b[P>>0]|0)==A<<24>>24?(b[P+1>>0]|0)==D<<24>>24:0)?(b[P+2>>0]|0)==F<<24>>24:0)?(b[P+3>>0]|0)==H<<24>>24:0)break a;N=f[N>>2]|0;if(!N){R=O;S=31;break a}}}else T=Q;while(1){N=f[T+4>>2]|0;if((N|0)!=(E|0)){if(N>>>0>>0)U=N;else U=(N>>>0)%(K>>>0)|0;if((U|0)!=(O|0)){R=O;S=31;break a}}N=T+8|0;if((((b[N>>0]|0)==A<<24>>24?(b[N+1>>0]|0)==D<<24>>24:0)?(b[N+2>>0]|0)==F<<24>>24:0)?(b[N+3>>0]|0)==H<<24>>24:0)break a;T=f[T>>2]|0;if(!T){R=O;S=31;break}}}else{R=O;S=31}}else{R=0;S=31}while(0);if((S|0)==31){S=0;H=tn(16)|0;F=H+8|0;D=G<<24|J|C<<16|B<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;V=$(((f[o>>2]|0)+1|0)>>>0);X=$(K>>>0);Y=$(n[l>>2]);do if(L|V>$(X*Y)){D=(K>>>0<3|(K+-1&K|0)!=0)&1|K<<1;F=~~$(W($(V/Y)))>>>0;Yh(g,D>>>0>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Z=D;_=F&E;break}if(E>>>0>>0){Z=D;_=E}else{Z=D;_=(E>>>0)%(D>>>0)|0}}else{Z=K;_=R}while(0);K=(f[g>>2]|0)+(_<<2)|0;E=f[K>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[K>>2]=t;K=f[H>>2]|0;if(K|0){L=f[K+4>>2]|0;K=Z+-1|0;if(K&Z)if(L>>>0>>0)aa=L;else aa=(L>>>0)%(Z>>>0)|0;else aa=L&K;ba=(f[g>>2]|0)+(aa<<2)|0;S=44}}else{f[H>>2]=f[E>>2];ba=E;S=44}if((S|0)==44){S=0;f[ba>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;K=f[E>>2]|0;L=En(K|0,f[E+4>>2]|0,y|0,0)|0;eh((f[f[w>>2]>>2]|0)+L|0,i|0,K|0)|0;K=f[k>>2]|0;f[K+(x<<2)>>2]=y;ca=K;da=y+1|0}else{K=f[k>>2]|0;f[K+(x<<2)>>2]=f[z+12>>2];ca=K;da=y}x=x+1|0;ea=f[m>>2]|0;if(x>>>0>=ea>>>0)break;else y=da}if((da|0)==(ea|0))fa=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))ga=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);ga=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(ea>>>0<=w>>>0)if(ea>>>0>>0?(v=x+(ea<<2)|0,(i|0)!=(v|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ha=ea}else ha=ea;else{zh(y,ea-w|0,1284);ha=f[m>>2]|0}w=f[k>>2]|0;if(!ha)ga=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ga=w}}f[m>>2]=da;fa=ga}if(!fa)ia=da;else{ga=f[p>>2]|0;if((ga|0)!=(fa|0))f[p>>2]=ga+(~((ga+-4-fa|0)>>>2)<<2);pr(fa);ia=da}}else ia=0;da=f[g+8>>2]|0;if(da|0){fa=da;do{da=fa;fa=f[fa>>2]|0;pr(da)}while((fa|0)!=0)}fa=f[g>>2]|0;f[g>>2]=0;if(!fa){u=e;return ia|0}pr(fa);u=e;return ia|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ja,V=Ja,X=Ja,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=En(f[B>>2]|0,f[B+4>>2]|0,r+z|0,0)|0;B=go(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));qm(i|0,D|0,16)|0;C=yf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=tn(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=A;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|U>$(V*X)){P=(J>>>0<3|(J+-1&J|0)!=0)&1|J<<1;M=~~$(W($(U/X)))>>>0;Vh(g,P>>>0>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0

>>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=En(J|0,f[H+4>>2]|0,A|0,0)|0;eh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(z<<2)>>2]=A;ba=J;ca=A+1|0}else{J=f[j>>2]|0;f[J+(z<<2)>>2]=f[C+24>>2];ba=J;ca=A}z=z+1|0;da=f[l>>2]|0;if(z>>>0>=da>>>0)break;else A=ca}if((ca|0)==(da|0))ea=ba;else{A=a+84|0;if(!(b[A>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((z|0)==(h|0))fa=ba;else{x=z-h>>2;h=0;do{z=y+(h<<2)|0;f[z>>2]=f[ba+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);fa=ba}}else{b[A>>0]=0;A=a+68|0;ba=a+72|0;x=f[ba>>2]|0;h=f[A>>2]|0;y=x-h>>2;z=h;h=x;if(da>>>0<=y>>>0)if(da>>>0>>0?(x=z+(da<<2)|0,(h|0)!=(x|0)):0){f[ba>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{zh(A,da-y|0,1284);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=y}}f[l>>2]=ca;ea=fa}if(!ea)ha=ca;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);pr(ea);ha=ca}}else ha=0;ca=f[g+8>>2]|0;if(ca|0){ea=ca;do{ca=ea;ea=f[ea>>2]|0;pr(ca)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}pr(ea);u=e;return ha|0}function ic(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ja,T=Ja,U=Ja,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=En(f[B>>2]|0,f[B+4>>2]|0,s+z|0,0)|0;B=go(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;qm(j|0,D|0,6)|0;D=Of(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=tn(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=A;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|S>$(T*U)){K=(G>>>0<3|(G+-1&G|0)!=0)&1|G<<1;J=~~$(W($(S/U)))>>>0;Sh(h,K>>>0>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,A|0,0)|0;eh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(z<<2)>>2]=A;_=G;aa=A+1|0}else{G=f[k>>2]|0;f[G+(z<<2)>>2]=f[D+16>>2];_=G;aa=A}z=z+1|0;ba=f[m>>2]|0;if(z>>>0>=ba>>>0)break;else A=aa}if((aa|0)==(ba|0))ca=_;else{A=a+84|0;if(!(b[A>>0]|0)){z=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((z|0)==(i|0))da=_;else{x=z-i>>2;i=0;do{z=y+(i<<2)|0;f[z>>2]=f[_+(f[z>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);da=_}}else{b[A>>0]=0;A=a+68|0;_=a+72|0;x=f[_>>2]|0;i=f[A>>2]|0;y=x-i>>2;z=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0>>0?(x=z+(ba<<2)|0,(i|0)!=(x|0)):0){f[_>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{zh(A,ba-y|0,1284);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=y}}f[m>>2]=aa;ca=da}if(!ca)fa=aa;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);pr(ca);fa=aa}}else fa=0;aa=f[h+8>>2]|0;if(aa|0){ca=aa;do{aa=ca;ca=f[ca>>2]|0;pr(aa)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}pr(ca);u=g;return fa|0}function jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0,_=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=mr(i)|0;pj(j|0,0,i|0)|0;k=mr(i)|0;pj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=n;B=p;C=z}else Cq(i);while(1){z=f[A+(C<<2)>>2]|0;if(q)pj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=z;E=0;while(1){F=f[p+(D<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(C|0)&(K|0)<(C|0)&(J|0)<(C|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=E+1|0}else N=E}else N=E;J=(((D>>>0)%3|0|0)==0?2:-1)+D|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);D=(O|0)==(z|0)?-1:O;if((D|0)==-1)break;else E=N}E=X(C,e)|0;if(N){if(q){D=0;do{z=j+(D<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;D=D+1|0}while((D|0)!=(e|0))}D=b+(E<<2)|0;z=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=p;p=0;H=j;while(1){if((J|0)>0){I=0;do{K=f[H+(I<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(I<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(I<<2)>>2]=(K|0)<(F|0)?F:K;P=G}I=I+1|0}while((I|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;I=(f[D+(p<<2)>>2]|0)-(f[Q+(p<<2)>>2]|0)|0;G=z+(p<<2)|0;f[G>>2]=I;if((I|0)>=(f[u>>2]|0)){if((I|0)>(f[w>>2]|0)){R=I-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+I|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}p=p+1|0;J=f[g>>2]|0;if((p|0)>=(J|0))break;else H=Q}}}else{T=E;S=30}}else{T=X(C,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,J=c+(T<<2)|0,p=f[g>>2]|0,(p|0)>0):0){z=p;p=0;D=b+((X(B+-2|0,e)|0)<<2)|0;while(1){if((z|0)>0){G=0;do{I=f[D+(G<<2)>>2]|0;K=f[r>>2]|0;if((I|0)>(K|0)){F=f[s>>2]|0;f[F+(G<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(G<<2)>>2]=(I|0)<(F|0)?F:I;U=K}G=G+1|0}while((G|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;G=(f[H+(p<<2)>>2]|0)-(f[V+(p<<2)>>2]|0)|0;K=J+(p<<2)|0;f[K>>2]=G;if((G|0)>=(f[u>>2]|0)){if((G|0)>(f[w>>2]|0)){W=G-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+G|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}p=p+1|0;z=f[g>>2]|0;if((p|0)>=(z|0))break;else D=V}}if((C|0)<=1)break a;A=f[i>>2]|0;D=C+-1|0;if((f[l>>2]|0)-A>>2>>>0<=D>>>0)break;else{z=C;C=D;B=z}}Cq(i)}while(0);if((e|0)>0)pj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(k);nr(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;A=a+28|0;l=a+20|0;V=a+24|0;a=e;e=0;W=j;while(1){if((a|0)>0){U=0;do{T=f[W+(U<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[B>>2]|0;f[R+(U<<2)>>2]=Q;Y=R}else{R=f[C>>2]|0;Q=f[B>>2]|0;f[Q+(U<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}U=U+1|0}while((U|0)<(f[g>>2]|0));Z=Y}else Z=f[B>>2]|0;U=(f[b+(e<<2)>>2]|0)-(f[Z+(e<<2)>>2]|0)|0;Q=c+(e<<2)|0;f[Q>>2]=U;if((U|0)>=(f[A>>2]|0)){if((U|0)>(f[V>>2]|0)){_=U-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+U|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else W=Z}nr(k);nr(j);return 1}function kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=mr(i)|0;pj(j|0,0,i|0)|0;k=mr(i)|0;pj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=n;C=p;D=A}else Cq(i);while(1){A=f[B+(D<<2)>>2]|0;if(q)pj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=A;F=0;while(1){if(((f[p+(E>>>5<<2)>>2]&1<<(E&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(D|0)&(L|0)<(D|0)&(K|0)<(D|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=F+1|0}else M=F;K=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);E=(N|0)==(A|0)?-1:N;if((E|0)==-1)break;else F=M}F=X(D,e)|0;if(M){if(q){E=0;do{A=j+(E<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(F<<2)|0;A=c+(F<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=p;p=0;G=j;while(1){if((K|0)>0){J=0;do{L=f[G+(J<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(J<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(J<<2)>>2]=(L|0)<(I|0)?I:L;O=H}J=J+1|0}while((J|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;J=(f[E+(p<<2)>>2]|0)-(f[P+(p<<2)>>2]|0)|0;H=A+(p<<2)|0;f[H>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){Q=J-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+J|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}p=p+1|0;K=f[g>>2]|0;if((p|0)>=(K|0))break;else G=P}}}else{S=F;R=28}}else{S=X(D,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,K=c+(S<<2)|0,p=f[g>>2]|0,(p|0)>0):0){A=p;p=0;E=b+((X(C+-2|0,e)|0)<<2)|0;while(1){if((A|0)>0){H=0;do{J=f[E+(H<<2)>>2]|0;L=f[r>>2]|0;if((J|0)>(L|0)){I=f[s>>2]|0;f[I+(H<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(H<<2)>>2]=(J|0)<(I|0)?I:J;T=L}H=H+1|0}while((H|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;H=(f[G+(p<<2)>>2]|0)-(f[U+(p<<2)>>2]|0)|0;L=K+(p<<2)|0;f[L>>2]=H;if((H|0)>=(f[u>>2]|0)){if((H|0)>(f[w>>2]|0)){V=H-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+H|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}p=p+1|0;A=f[g>>2]|0;if((p|0)>=(A|0))break;else E=U}}if((D|0)<=1)break a;B=f[i>>2]|0;E=D+-1|0;if((f[l>>2]|0)-B>>2>>>0<=E>>>0)break;else{A=D;D=E;C=A}}Cq(i)}while(0);if((e|0)>0)pj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(k);nr(j);return 1}i=a+16|0;C=a+32|0;D=a+12|0;B=a+28|0;l=a+20|0;U=a+24|0;a=e;e=0;V=j;while(1){if((a|0)>0){T=0;do{S=f[V+(T<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[C>>2]|0;f[Q+(T<<2)>>2]=P;W=Q}else{Q=f[D>>2]|0;P=f[C>>2]|0;f[P+(T<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}T=T+1|0}while((T|0)<(f[g>>2]|0));Y=W}else Y=f[C>>2]|0;T=(f[b+(e<<2)>>2]|0)-(f[Y+(e<<2)>>2]|0)|0;P=c+(e<<2)|0;f[P>>2]=T;if((T|0)>=(f[B>>2]|0)){if((T|0)>(f[U>>2]|0)){Z=T-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+T|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else V=Y}nr(k);nr(j);return 1}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ja,S=Ja,T=Ja,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;qm(i|0,C|0,3)|0;C=Uf(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=tn(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|R>$(S*T)){J=(F>>>0<3|(F+-1&F|0)!=0)&1|F<<1;H=~~$(W($(R/T)))>>>0;Zh(g,J>>>0>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=En(F|0,f[E+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=F;_=z+1|0}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=F;_=z}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=_}if((_|0)==(aa|0))ba=Z;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=Z;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[Z+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);ca=Z}}else{b[z>>0]=0;z=a+68|0;Z=a+72|0;w=f[Z>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0>>0?(w=y+(aa<<2)|0,(h|0)!=(w|0)):0){f[Z>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{zh(z,aa-x|0,1284);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ca=x}}f[l>>2]=_;ba=ca}if(!ba)ea=_;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);pr(ba);ea=_}}else ea=0;_=f[g+8>>2]|0;if(_|0){ba=_;do{_=ba;ba=f[ba>>2]|0;pr(_)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}pr(ba);u=e;return ea|0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(p|0)!=(o|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{zh(i,m-q|0,6296);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;Xj(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=t;t=m;m=s;s=k;k=0;while(1){p=f[o+(k<<2)>>2]|0;n=f[q>>2]|0;if(p>>>0>2>>>0){x=l;y=s;z=o;A=m}else{r=p+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(D|0)!=(n|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=m;G=o}else{E=l;F=m;G=o}else{zh(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(p<<2)|0;f[B>>2]=(f[B>>2]|0)+1;k=k+1|0;if(k>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;o=z;t=y;m=A;s=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)Cq(e);s=tn(y<<1)|0;f[w>>2]=s;f[e>>2]=s;f[e+8>>2]=s+(v<<3);y=s;A=v;m=s;while(1){t=y;f[t>>2]=-1;f[t+4>>2]=-1;t=m+8|0;z=A+-1|0;if(!z)break;else{y=t;A=z;m=t}}f[w>>2]=s+(v<<3);H=s;I=s}s=f[q>>2]|0;v=f[d>>2]|0;m=s-v|0;A=m>>2;f[g>>2]=0;y=g+4|0;f[y>>2]=0;f[g+8>>2]=0;t=v;do if(A)if(A>>>0>1073741823)Cq(g);else{z=tn(m)|0;f[g>>2]=z;o=z+(A<<2)|0;f[g+8>>2]=o;pj(z|0,0,m|0)|0;f[y>>2]=o;J=z;K=o;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(v|0)){v=0;s=0;do{f[J+(v<<2)>>2]=s;s=(f[t+(v<<2)>>2]|0)+s|0;v=v+1|0}while(v>>>0>>0)}v=f[j>>2]|0;j=f[a>>2]|0;s=j;if((v|0)!=(j|0)){m=a+40|0;a=v-j>>2;j=J;v=0;g=H;z=H;o=H;x=H;l=H;k=H;while(1){F=f[s+(v<<2)>>2]|0;G=v+1|0;E=((G>>>0)%3|0|0)==0?v+-2|0:G;if((E|0)==-1)M=-1;else M=f[s+(E<<2)>>2]|0;E=((v>>>0)%3|0|0)==0;G=(E?2:-1)+v|0;if((G|0)==-1)N=-1;else N=f[s+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[m>>2]=(f[m>>2]|0)+1;O=j;P=v+2|0;Q=g;R=z;S=o;T=x;U=l;V=k}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[j+(N<<2)>>2]|0;while(1){p=f[l+(B<<3)>>2]|0;if((p|0)==-1){X=g;Y=z;Z=x;_=l;break b}if((p|0)==(M|0)){p=f[l+(B<<3)+4>>2]|0;if((p|0)==-1)$=-1;else $=f[s+(p<<2)>>2]|0;if((F|0)!=($|0))break}p=G+1|0;if((p|0)<(E|0)){G=p;B=B+1|0}else{X=g;Y=z;Z=x;_=l;break b}}p=f[x+(B<<3)+4>>2]|0;r=G;n=B;D=z;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[g+(n<<3)>>2]|0)==-1)break;else{n=C;D=g}}f[o+(n<<3)>>2]=-1;if((p|0)==-1){X=o;Y=o;Z=o;_=o}else{D=f[i>>2]|0;f[D+(v<<2)>>2]=p;f[D+(p<<2)>>2]=v;O=j;P=v;Q=o;R=o;S=o;T=o;U=o;V=k;break a}}else{X=g;Y=z;Z=x;_=l}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=k+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=J;P=v;Q=k;R=k;S=k;T=k;U=k;V=k;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=v;O=J;P=v;Q=H;R=H;S=H;T=H;U=H;V=H}else{O=j;P=v;Q=X;R=Y;S=o;T=Z;U=_;V=k}}while(0);v=P+1|0;if(v>>>0>=a>>>0)break;else{j=O;g=Q;z=R;o=S;x=T;l=U;k=V}}}f[b>>2]=A;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[y>>2]=K+(~((K+-4-J|0)>>>2)<<2);pr(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);pr(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);pr(ca)}h=1;u=c;return h|0}function nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ja,T=Ja,U=Ja,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));qm(i|0,C|0,12)|0;B=cg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=tn(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=z;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|S>$(T*U)){N=(G>>>0<3|(G+-1&G|0)!=0)&1|G<<1;K=~~$(W($(S/U)))>>>0;Wh(g,N>>>0>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(y<<2)>>2]=z;_=G;aa=z+1|0}else{G=f[j>>2]|0;f[G+(y<<2)>>2]=f[B+20>>2];_=G;aa=z}y=y+1|0;ba=f[l>>2]|0;if(y>>>0>=ba>>>0)break;else z=aa}if((aa|0)==(ba|0))ca=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))da=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);da=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0>>0?(w=y+(ba<<2)|0,(h|0)!=(w|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{zh(z,ba-x|0,1284);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=x}}f[l>>2]=aa;ca=da}if(!ca)fa=aa;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);pr(ca);fa=aa}}else fa=0;aa=f[g+8>>2]|0;if(aa|0){ca=aa;do{aa=ca;ca=f[ca>>2]|0;pr(aa)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}pr(ca);u=e;return fa|0}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=cc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=Tb(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=nc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=hc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=bc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=Ub(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=lc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=gc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=bc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=Ub(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=lc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=gc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=$b(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Qb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=ic(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=dc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=$b(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Qb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=ic(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=dc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=cc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=Tb(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=nc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=hc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=cc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=Tb(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=nc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=hc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function pc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ma[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(La[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(La[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(i,f[n+80>>2]|0)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)Cq(j);else{v=r<<2;w=tn(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;pj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Oa[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=f[j>>2]|0;A=s;p=20;break}if(!(La[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=x;A=f[m>>2]|0?x:s;p=20}}else{z=y;A=s;p=20}while(0);if((p|0)==20)Fm(A,r,z);z=a+4|0;a=f[z>>2]|0;do if(a){A=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;s=tn(48)|0;f[g>>2]=s;f[g+8>>2]=-2147483600;f[g+4>>2]=34;y=s;w=10935;x=y+34|0;do{b[y>>0]=b[w>>0]|0;y=y+1|0;w=w+1|0}while((y|0)<(x|0));b[s+34>>0]=0;w=Yj(A,g,1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;y=0;x=0;do{x=f[w+(y<<2)>>2]|x;y=y+1|0}while((y|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;y=o;w=f[y>>2]|0;A=f[y+4>>2]|0;if((A|0)>0|(A|0)==0&w>>>0>0){C=A;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0}if((B|0)==($l(5)|0)){w=f[j>>2]|0;A=o;y=f[A+4>>2]|0;if(!((y|0)>0|(y|0)==0&(f[A>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;A=0;do{y=(f[j>>2]|0)+(A<<2)|0;s=o;v=f[s+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[s>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Fe(d,g,y,y+B|0)|0}A=A+1|0}while(A>>>0>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0}Kp(g);k=f[z>>2]|0;if(k|0)Zj(g,10-(ki(f[k+48>>2]|0)|0)|0)|0;k=Hc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Cj(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ma[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);pr(d)}q=E}l=q;u=e;return l|0}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;gl(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];ec(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[v>>2]|0;if((q|0)==0&(P|0)==0){Q=j;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,q|0,P|0)|0;f[j>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=t;R=N?P:0-P|0}f[Q>>2]=R;P=f[j>>2]|0;N=f[r>>2]|0;M=f[t>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;q=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|q&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(q){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);q=0-N|0;H=0-M|0;f[j>>2]=0-P;f[r>>2]=q;f[t>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?q:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(q=(T|0)==($|0),X=(T|0)==(_|0),!(H&q|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(q&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);T=L<<1;O=b+(T<<2)|0;S=O+4|0;H=f[S>>2]|0;f[h>>2]=f[O>>2];f[x>>2]=H;f[i>>2]=Y;f[y>>2]=Z;Nd(d,n,h,i);H=f[d>>2]|0;f[k>>2]=H;M=f[z>>2]|0;f[A>>2]=M;N=f[S>>2]|0;f[h>>2]=f[O>>2];f[B>>2]=N;f[i>>2]=aa;f[C>>2]=ba;Nd(d,n,h,i);N=f[d>>2]|0;f[l>>2]=N;O=f[D>>2]|0;f[E>>2]=O;S=f[v>>2]|0;if((S|0)>=(H|0))if((H|0)<(0-S|0))ca=(f[F>>2]|0)+H|0;else ca=H;else ca=H-(f[F>>2]|0)|0;f[k>>2]=ca;if((S|0)>=(M|0))if((M|0)<(0-S|0))da=(f[F>>2]|0)+M|0;else da=M;else da=M-(f[F>>2]|0)|0;f[a>>2]=da;if((S|0)>=(N|0))if((N|0)<(0-S|0))ea=(f[F>>2]|0)+N|0;else ea=N;else ea=N-(f[F>>2]|0)|0;f[l>>2]=ea;if((S|0)>=(O|0))if((O|0)<(0-S|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[G>>2]=fa;if((((da|0)>-1?da:0-da|0)+((ca|0)>-1?ca:0-ca|0)|0)<(((ea|0)>-1?ea:0-ea|0)+((fa|0)>-1?fa:0-fa|0)|0)){dj(g,0);ga=k}else{dj(g,1);ga=l}O=f[ga>>2]|0;if((O|0)<0)ha=(f[F>>2]|0)+O|0;else ha=O;O=c+(T<<2)|0;f[O>>2]=ha;T=f[ga+4>>2]|0;if((T|0)<0)ia=(f[F>>2]|0)+T|0;else ia=T;f[O+4>>2]=ia;L=L+1|0;if((L|0)>=(s|0)){ja=5;break}O=f[p>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){J=O;ja=6;break}}if((ja|0)==5){u=e;return 1}else if((ja|0)==6)Cq(J);return 0}function rc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;gl(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];Zb(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[v>>2]|0;if((q|0)==0&(P|0)==0){Q=j;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,q|0,P|0)|0;f[j>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=t;R=N?P:0-P|0}f[Q>>2]=R;P=f[j>>2]|0;N=f[r>>2]|0;M=f[t>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;q=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|q&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(q){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);q=0-N|0;H=0-M|0;f[j>>2]=0-P;f[r>>2]=q;f[t>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?q:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(q=(T|0)==($|0),X=(T|0)==(_|0),!(H&q|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(q&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);T=L<<1;O=b+(T<<2)|0;S=O+4|0;H=f[S>>2]|0;f[h>>2]=f[O>>2];f[x>>2]=H;f[i>>2]=Y;f[y>>2]=Z;Nd(d,n,h,i);H=f[d>>2]|0;f[k>>2]=H;M=f[z>>2]|0;f[A>>2]=M;N=f[S>>2]|0;f[h>>2]=f[O>>2];f[B>>2]=N;f[i>>2]=aa;f[C>>2]=ba;Nd(d,n,h,i);N=f[d>>2]|0;f[l>>2]=N;O=f[D>>2]|0;f[E>>2]=O;S=f[v>>2]|0;if((S|0)>=(H|0))if((H|0)<(0-S|0))ca=(f[F>>2]|0)+H|0;else ca=H;else ca=H-(f[F>>2]|0)|0;f[k>>2]=ca;if((S|0)>=(M|0))if((M|0)<(0-S|0))da=(f[F>>2]|0)+M|0;else da=M;else da=M-(f[F>>2]|0)|0;f[a>>2]=da;if((S|0)>=(N|0))if((N|0)<(0-S|0))ea=(f[F>>2]|0)+N|0;else ea=N;else ea=N-(f[F>>2]|0)|0;f[l>>2]=ea;if((S|0)>=(O|0))if((O|0)<(0-S|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[G>>2]=fa;if((((da|0)>-1?da:0-da|0)+((ca|0)>-1?ca:0-ca|0)|0)<(((ea|0)>-1?ea:0-ea|0)+((fa|0)>-1?fa:0-fa|0)|0)){dj(g,0);ga=k}else{dj(g,1);ga=l}O=f[ga>>2]|0;if((O|0)<0)ha=(f[F>>2]|0)+O|0;else ha=O;O=c+(T<<2)|0;f[O>>2]=ha;T=f[ga+4>>2]|0;if((T|0)<0)ia=(f[F>>2]|0)+T|0;else ia=T;f[O+4>>2]=ia;L=L+1|0;if((L|0)>=(s|0)){ja=5;break}O=f[p>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){J=O;ja=6;break}}if((ja|0)==5){u=e;return 1}else if((ja|0)==6)Cq(J);return 0}function sc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0

>>0?(r=q+(l<<2)|0,(o|0)!=(r|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=k;t=j;v=n}else{s=k;t=j;v=n}else{zi(g,l-p|0);p=f[h>>2]|0;s=p;t=f[i>>2]|0;v=p}p=t-s|0;l=p>>2;f[c>>2]=0;n=c+4|0;f[n>>2]=0;j=c+8|0;f[j>>2]=0;if(l|0){if((p|0)<0)Cq(c);p=((l+-1|0)>>>5)+1|0;k=tn(p<<2)|0;f[c>>2]=k;f[j>>2]=p;f[n>>2]=l;n=l>>>5;pj(k|0,0,n<<2|0)|0;p=l-(n<<5)|0;l=k+(n<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=s;s=t;t=v;v=0;while(1){if(v>>>0>2>>>0){w=t;x=l;y=0;z=0;A=v}else{B=25;break}while(1){n=z>>>5;k=1<<(z&31);do if(!(f[(f[c>>2]|0)+(n<<2)>>2]&k)){j=f[w+(z<<2)>>2]|0;if((f[j+8>>2]|0)!=(f[j+4>>2]|0)){r=j;j=w;o=1;m=0;while(1){q=f[(f[r+4>>2]|0)+(m<<2)>>2]|0;C=j;D=0;while(1){E=f[C+(z<<2)>>2]|0;if((D|0)>=(Ma[f[(f[E>>2]|0)+24>>2]&127](E,q)|0)){F=o;break}E=f[(f[h>>2]|0)+(z<<2)>>2]|0;G=Na[f[(f[E>>2]|0)+28>>2]&31](E,q,D)|0;if((G|0)!=(z|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=f[h>>2]|0;D=D+1|0}m=m+1|0;j=f[h>>2]|0;r=f[j+(z<<2)>>2]|0;if(m>>>0>=(f[r+8>>2]|0)-(f[r+4>>2]|0)>>2>>>0)break;else o=F}o=j;if(F)H=o;else{I=o;J=y;K=A;break}}else H=x;f[(f[g>>2]|0)+(A<<2)>>2]=z;o=(f[c>>2]|0)+(n<<2)|0;f[o>>2]=f[o>>2]|k;I=H;J=1;K=A+1|0}else{I=x;J=y;K=A}while(0);z=z+1|0;L=f[i>>2]|0;M=L-I>>2;w=I;if(z>>>0>=M>>>0)break;else{x=I;y=J;A=K}}if(K>>>0>>0&(J^1)){N=0;break}else{l=I;s=L;t=w;v=K}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;K=f[a+4>>2]|0;a=(f[K+12>>2]|0)-(f[K+8>>2]|0)|0;K=a>>2;f[e>>2]=0;v=e+4|0;f[v>>2]=0;w=e+8|0;f[w>>2]=0;if(K|0){if((a|0)<0)Cq(e);a=((K+-1|0)>>>5)+1|0;L=tn(a<<2)|0;f[e>>2]=L;f[w>>2]=a;f[v>>2]=K;v=K>>>5;pj(L|0,0,v<<2|0)|0;a=K-(v<<5)|0;K=L+(v<<2)|0;if(a|0)f[K>>2]=f[K>>2]&~(-1>>>(32-a|0))}a:do if((s|0)==(l|0))O=1;else{a=l;K=s;v=t;L=0;while(1){w=f[(f[g>>2]|0)+(L<<2)>>2]|0;I=f[v+(w<<2)>>2]|0;J=(f[I+8>>2]|0)-(f[I+4>>2]|0)|0;I=J>>2;if((J|0)<8){P=a;Q=K}else{J=f[B>>2]|0;M=f[d>>2]|0;A=J-M>>2;y=M;M=J;if(I>>>0<=A>>>0)if(I>>>0>>0?(J=y+(I<<2)|0,(M|0)!=(J|0)):0){f[B>>2]=M+(~((M+-4-J|0)>>>2)<<2);R=0}else R=0;else{zi(d,I-A|0);R=0}while(1){if((R|0)<(I|0)){S=0;T=0;U=R}else break;while(1){A=f[(f[h>>2]|0)+(w<<2)>>2]|0;J=f[(f[A+4>>2]|0)+(T<<2)>>2]|0;M=T>>>5;y=1<<(T&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){x=A;A=1;z=0;while(1){if((z|0)>=(Ma[f[(f[x>>2]|0)+24>>2]&127](x,J)|0)){V=A;break}H=f[(f[h>>2]|0)+(w<<2)>>2]|0;F=Na[f[(f[H>>2]|0)+28>>2]&31](H,J,z)|0;H=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=A&H;if(!H){V=F;break}x=f[(f[h>>2]|0)+(w<<2)>>2]|0;A=F;z=z+1|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=T;z=(f[e>>2]|0)+(M<<2)|0;f[z>>2]=f[z>>2]|y;W=1;X=U+1|0}else{W=S;X=U}}else{W=S;X=U}T=T+1|0;if((T|0)>=(I|0))break;else{S=W;U=X}}if(W|(X|0)>=(I|0))R=X;else{O=0;break a}}$f(f[(f[h>>2]|0)+(w<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}L=L+1|0;if(L>>>0>=Q-P>>2>>>0){O=1;break}else{a=P;K=Q;v=P}}}while(0);P=f[e>>2]|0;if(P|0)pr(P);P=f[d>>2]|0;if(P|0){d=f[B>>2]|0;if((d|0)!=(P|0))f[B>>2]=d+(~((d+-4-P|0)>>>2)<<2);pr(P)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}pr(O);u=b;return N|0} +function ri(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1356;fi(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Qa[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}pr(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);pr(g);return}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)Cq(d);k=((b+-1|0)>>>5)+1|0;b=tn(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;zg(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)pr(g);u=c;return}function ti(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+136|0;c=f[b>>2]|0;if(c|0){d=a+140|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);pr(g)}g=f[a+92>>2]|0;if(!g){sj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);pr(g);sj(a);return}function ui(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3808;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=-1;f[a+320>>2]=-1;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Cq(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;jp(k,16426);f[k>>2]=7416;va(k|0,1160,122)}else{m=tn(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)eh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;pr(d);return}function wi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=go(c|0,d|0,7,0)|0;d=Jk(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=go(k|0,0,8,0)|0;m=e?l:k;l=go(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(l>>>0<=k>>>0)if(l>>>0>>0?(g=h+l|0,(i|0)!=(g|0)):0){f[c>>2]=g;n=h}else n=h;else{Bi(a,l-k|0);n=f[a>>2]|0}k=tn(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}pr(a);j=1;return j|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=xg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=tn(40)|0;nj(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}He(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function yi(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|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;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)Cq(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=tn(p)|0;if(g|0)Yo(o,m,g)|0;if(i|0)Yo(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Yo(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)pr(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Vp(o+p|0,l);u=k;return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){pj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Cq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;pj(d|0,0,b<<2|0)|0;j=d+(0-g<<2)|0;if((i|0)>0)eh(j|0,h|0,i|0)|0;f[a>>2]=j;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;pr(h);return}function Ai(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=+d;l=i;i=j;while(1){if(l<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Ln(m,i+1|0,18953,g)|0;if((n|0)>-1)if(n>>>0>i>>>0)o=n;else break;else o=i<<1|1;Fj(c,o,0);l=b[h>>0]|0;i=o}Fj(c,n,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Bi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=h;j=c;do{b[i>>0]=0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=h-j|0;h=i+c|0;if((h|0)<0)Cq(a);k=e-j|0;j=k<<1;e=k>>>0<1073741823?(j>>>0>>0?h:j):2147483647;if(!e)l=0;else l=tn(e)|0;j=l+i|0;i=l+e|0;e=j;l=c;c=j;do{b[e>>0]=0;e=c+1|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;h=j+(0-e)|0;if((e|0)>0)eh(h|0,l|0,e|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=i;if(!l)return;pr(l);return}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/136|0;h=d;if(g>>>0>>0){Ae(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((h|0)==(g|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);pr(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);pr(h)}Ki(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Di(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ld(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Ld(a,e);return}function Ei(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Fi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Ln(l,i+1|0,18950,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;Fj(c,n,0);k=b[h>>0]|0;i=n}Fj(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Gi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(i|0)!=(h|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{zi(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)Cq(b);else if((m|0)==12)return d|0;return 0}function Hi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=Bn()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=f[1826];Sn(19042,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;j=Na[f[(f[270]|0)+16>>2]&31](1080,k,g)|0;k=f[1826]|0;if(j){j=f[g>>2]|0;g=La[f[(f[j>>2]|0)+8>>2]&127](j)|0;f[e>>2]=k;f[e+4>>2]=h;f[e+8>>2]=g;Sn(18956,e)}else{f[d>>2]=k;f[d+4>>2]=h;Sn(19001,d)}}Sn(19080,b)}function Ii(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=30;h=g;i=16219;j=h+30|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+30>>0]=0;g=a+4|0;Vj(g,e,c);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);a=tn(32)|0;f[e>>2]=a;f[e+8>>2]=-2147483616;f[e+4>>2]=29;h=a;i=15906;j=h+29|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[a+29>>0]=0;Vj(g,e,c);if((b[e+11>>0]|0)>=0){u=d;return}pr(f[e>>2]|0);u=d;return}function Ji(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=bn(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=a+108|0;l=g-(f[k>>2]|0)|0;g=i;if((i-j|0)<(l|0)){m=g;n=g;o=j;p=k}else{m=j+(l+-1)|0;n=g;o=j;p=k}}else{k=f[c>>2]|0;m=k;n=k;o=f[a+4>>2]|0;p=a+108|0}f[a+100>>2]=m;if(n|0)f[p>>2]=n+1-o+(f[p>>2]|0);p=o+-1|0;if((h[p>>0]|0|0)==(d|0))q=d;else{b[p>>0]=d;q=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;q=-1}return q|0}function Ki(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+12>>2]|0;if(b|0)pr(b);b=f[a>>2]|0;if(!b)return;pr(b);return}function Li(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1416;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;pr(b)}pr(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);pr(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pr(d)}pr(e)}pr(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Mi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}f[a+4>>2]=3764;b=f[a+24>>2]|0;if(b|0)pr(b);b=f[a+12>>2]|0;if(!b)return;pr(b);return}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(lr()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=er()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=er()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];ik(a+32|0,c+24|0);f[a>>2]=2448;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2504;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));en(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Pi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=tn(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14799;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;Wj(a,g,c);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);c=tn(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14814;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;Wj(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}pr(f[g>>2]|0);u=e;return}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];ik(a+32|0,c+24|0);f[a>>2]=2028;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2084;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));en(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Ri(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2504;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0)pr(b);b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0)pr(b);b=f[a+60>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Si(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Bj(d+12|0,f[c+44>>2]|0,g)|0)){g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=16250;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;nj(a+4|0,e);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)Cq(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;jp(k,16426);f[k>>2]=7416;va(k|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];b=k+(0-g<<2)|0;if((e|0)>0)eh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;pr(d);return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((ki(f[c>>2]|0)|0)>9){d=0;return d|0}if((La[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((ki(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=ki(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((ki(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function Vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2084;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0)pr(b);b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0)pr(b);b=f[a+60>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Wi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=6752;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=1;n=h;o=4}else{h=er()|0;f[h>>2]=75;p=-1}else{m=c;n=a;o=4}if((o|0)==4){o=-2-n|0;a=m>>>0>o>>>0?o:m;f[i+48>>2]=a;m=i+20|0;f[m>>2]=n;f[i+44>>2]=n;o=n+a|0;n=i+16|0;f[n>>2]=o;f[i+28>>2]=o;o=wh(i,d,e)|0;if(!a)p=o;else{a=f[m>>2]|0;b[a+(((a|0)==(f[n>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3608;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+264|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;return}function Yi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Ej(d)|0;if(i>>>0>4294967279)Cq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=tn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){eh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;dm(c,g,e);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);h=1;u=a;return h|0}function Zi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Ej(d)|0;if(i>>>0>4294967279)Cq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=tn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){eh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;fm(c,g,e);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);h=1;u=a;return h|0}function _i(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){_i(h);pr(h)}if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);pr(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)pr(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;pr(h)}if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);pr(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;pr(d);return}function $i(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=f[c+48>>2]|0;if(!h){i=tn(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=16066;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;nj(a+4|0,g);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);u=e;return}g=f[c+52>>2]|0;if(!g){Lc(a,c,h,d);u=e;return}else{yg(a,c,g,d);u=e;return}}function aj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;gl(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=mr(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{Gn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Dj(g)}while((g|0)!=(a|0))}nr(d)}if((f[b>>2]|0)>0)h=0;else return;do{gl((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!b){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=tn(52)|0;Ob(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){_i(j);pr(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}pr(h)}_i(b);pr(b);d=1;return d|0}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}l=j+c|0;if((k-j|0)>>>0>>0){vj(a,k,l-k|0,j,j,0,0);m=b[h>>0]|0}else m=i;if(m<<24>>24<0)n=f[a>>2]|0;else n=a;ao(n+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=l;else b[h>>0]=l;b[g>>0]=0;Vp(n+l|0,g)}u=e;return a|0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=go(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;d=c;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;g=f[d>>2]|0;h=d}d=g+1|0;f[h>>2]=d;if((d|0)!=32)return;d=a+24|0;g=a+16|0;e=f[g>>2]|0;if((e|0)==(f[a+20>>2]|0))Ti(a+12|0,d);else{f[e>>2]=f[d>>2];f[g>>2]=e+4}f[h>>2]=0;f[d>>2]=0;return}function ej(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pr(a)}pr(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;pr(c)}pr(d)}pr(b);return}function fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));vh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);pr(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function gj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Wo(l,c,d)|0;b[g>>0]=0;Vp(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;yi(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function hj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);pr(d)}Ki(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}pr(e);return}function ij(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=4076;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Qa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}pr(e);return}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=lm(e,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=jl(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ma[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}i=k+d|0;if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Yo(m+k|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[g>>0]=0;Vp(m+i|0,g)}}else yi(a,l,i-l|0,k,k,0,d,c);u=e;return a|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!(ro(a,b,c)|0)){d=0;return d|0}if(!(La[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=g;g=0;while(1){i=f[(f[h>>2]|0)+(g<<2)>>2]|0;if(!(Na[f[(f[i>>2]|0)+8>>2]&31](i,b,f[a+(g<<2)>>2]|0)|0)){d=0;j=7;break}g=g+1|0;a=f[c>>2]|0;if(g>>>0>=(f[e>>2]|0)-a>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function mj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;i=c+54|0;j=c+48|0;k=c+24|0;l=c+36|0;if(!h){f[a>>2]=d;f[k>>2]=g;f[l>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[i>>0]=1;break}if((h|0)!=(d|0)){f[l>>2]=(f[l>>2]|0)+1;b[i>>0]=1;break}l=f[k>>2]|0;if((l|0)==2){f[k>>2]=g;m=g}else m=l;if((f[j>>2]|0)==1&(m|0)==1)b[i>>0]=1}while(0);return}function nj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)Cq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=tn(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Yo(i,g,h)|0;b[e>>0]=0;Vp(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function oj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;do if(!(Ep(a,f[c+8>>2]|0,g)|0)){if(Ep(a,f[c>>2]|0,g)|0){h=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[h>>2]=e;f[i>>2]=d;i=c+40|0;f[i>>2]=(f[i>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[h>>2]=1}}else $m(0,c,d,e);while(0);return}function pj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=e;e=0;do{vg(g+(e*24|0)|0,b)|0;e=e+1|0;g=f[c>>2]|0}while(e>>>0<(((f[d>>2]|0)-g|0)/24|0)>>>0)}g=a+48|0;d=a+52|0;a=f[g>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{h=a;i=0}do{a=f[h+(i<<2)>>2]|0;ai(a<<1^a>>31,b)|0;i=i+1|0;h=f[g>>2]|0}while(i>>>0<(f[d>>2]|0)-h>>2>>>0);return 1}function rj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if(!(La[f[(f[a>>2]|0)+64>>2]&127](a)|0)){e=0;u=c;return e|0}g=f[a+48>>2]|0;h=tn(32)|0;f[d>>2]=h;f[d+8>>2]=-2147483616;f[d+4>>2]=29;i=h;j=15906;k=i+29|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+29>>0]=0;h=Yj(g,d,0)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);if(!h){e=1;u=c;return e|0}Qa[f[(f[a>>2]|0)+68>>2]&127](a);e=1;u=c;return e|0}function sj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<5)|0;do{e=e+-32|0;Dj(e)}while((e|0)!=(c|0))}nr(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);pr(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)pr(e);e=f[a+32>>2]|0;if(!e){Dj(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e);Dj(a);return}function tj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3156;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0)pr(b);b=f[a+64>>2]|0;if(b|0)pr(b);b=f[a+52>>2]|0;if(b|0)pr(b);b=f[a+40>>2]|0;if(!b)return;pr(b);return}function uj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(c>>>0>i>>>0){Bi(a,c-i|0);break}if(c>>>0>>0?(i=h+c|0,(g|0)!=(i|0)):0)f[d>>2]=i}else Bg(a,b,b+c|0);while(0);c=a+24|0;a=c;b=go(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function vj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)Cq(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=tn(m)|0;if(g|0)Yo(l,j,g)|0;k=e-h-g|0;if(k|0)Yo(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)pr(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function wj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2792;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+76>>2]|0;if(b|0)pr(b);b=f[a+64>>2]|0;if(b|0)pr(b);b=f[a+52>>2]|0;if(b|0)pr(b);b=f[a+40>>2]|0;if(!b)return;pr(b);return}function xj(a,b){a=a|0;b=b|0;if(!b)return;else{xj(a,f[b>>2]|0);xj(a,f[b+4>>2]|0);Cj(b+20|0,f[b+24>>2]|0);pr(b);return}}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Xf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0>>0);return}function zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=tn(32)|0,In(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(g)}g=$l(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,g)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=En(e|0,g|0,c|0,0)|0;if(!(uj(h,0,i,I)|0)){j=0;return j|0}Mk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Ep(a,b,0)|0))if((b|0)!=0?(g=Bh(b,1104,1088,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ta[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;ai((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){ai(f[h+40>>2]|0,b)|0;jg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}jg(a,b,c)|0;d=1;return d|0}function Cj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Cj(a,f[c>>2]|0);Cj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);pr(c);return}function Dj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);pr(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);pr(c);u=b;return}function Ej(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=c;h=a;while(1){if(!(b[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){d=j;e=4;break}else h=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Fj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Vp(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Vp(a+c|0,g);b[h>>0]=c;break}else cj(a,c-k|0,d)|0;while(0);u=e;return}function Gj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}pr(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;pr(c)}pr(d)}pr(a);return}function Hj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|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;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=tn(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=bg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ei(a);pr(a);return}function Jj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(zl(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Na[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Lj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;while(1){d=b[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Hq(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=d;j=0;k=c}}if((h|0)==5){i=b[f>>0]|0;j=g;k=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=f;f=0;g=k;while(1){g=g+1|0;k=(f*10|0)-i|0;i=(b[g>>0]|0)+-48|0;if(i>>>0>=10){l=k;break}else f=k}}else l=0;return (j|0?l:0-l|0)|0}function Mj(a,b){a=a|0;b=b|0;if(!b)return;else{Mj(a,f[b>>2]|0);Mj(a,f[b+4>>2]|0);Cj(b+20|0,f[b+24>>2]|0);pr(b);return}}function Nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=e+4|0;f[g>>2]=c;c=a+4|0;a=tn(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=a;j=14756;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[a+17>>0]=0;Wj(Bd(c,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}pr(f[h>>2]|0);u=e;return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)ue(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}cq(f[c+(e<<2)>>2]|0);d=1;return d|0}function Pj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a&255;e=a&255;if((f[c+76>>2]|0)>=0?(vr(c)|0)!=0:0){if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Kj(c,a)|0;ur(c);j=i}else k=3;do if((k|0)==3){if((e|0)!=(b[c+75>>0]|0)?(i=c+20|0,h=f[i>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=h+1;b[h>>0]=d;j=e;break}j=Kj(c,a)|0}while(0);return j|0}function Qj(a){a=a|0;if(!a)return;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function Rj(a){a=a|0;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);return}function Sj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=a;f=c;c=d;while(1){g=qn(e|0,f|0,10,0)|0;c=c+-1|0;b[c>>0]=g&255|48;g=e;e=Ip(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=I}h=c;i=e}else{h=d;i=a}if(!i)j=h;else{a=h;h=i;while(1){i=a+-1|0;b[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{a=i;h=(h>>>0)/10|0}}}return j|0}function Tj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;ml(g,d);h=xi(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}mh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Uj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Fe(g,c,e,e+4|0)|0;u=b;return 1}function Vj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;pl(g,d&1);d=xi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}mh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;pl(g,d);d=xi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}mh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}g=(f[e>>2]|0)-d|0;h=g>>2;i=tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;if((g|0)>0)eh(k|0,d|0,g|0)|0;f[a>>2]=k;f[e>>2]=j;f[c>>2]=i+(b<<2);if(!d)return;pr(d);return}function Yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Lj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function Zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(c>>>0>10){g=0;u=d;return g|0}h=tn(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=16378;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;Wj(a,e,c);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);g=1;u=d;return g|0}function _j(a){a=a|0;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function $j(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0,h=0,i=0.0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=b+1022|0;e=(d|0)<-1022;g=b+2044|0;h=e?((g|0)>-1022?g:-1022):d;i=e?c*2.2250738585072014e-308:c}else{h=b;i=a}else{c=a*8988465674311579538646525.0e283;e=b+-1023|0;d=(e|0)>1023;g=b+-2046|0;h=d?((g|0)<1023?g:1023):e;i=d?c*8988465674311579538646525.0e283:c}d=eo(h+1023|0,0,52)|0;h=I;f[s>>2]=d;f[s+4>>2]=h;return +(i*+p[s>>3])}function ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function bk(a){a=a|0;f[a>>2]=3496;Cj(a+28|0,f[a+32>>2]|0);Mj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);return}function ck(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[17045+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=87;j=17133;e=5;break}else d=g}if((e|0)==2)if(!d)k=17133;else{i=d;j=17133;e=5}if((e|0)==5)while(1){e=0;d=j;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);i=i+-1|0;if(!i){k=d;break}else{j=d;e=5}}return Nq(k,f[c+20>>2]|0)|0}function dk(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=jo(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+dk(a*18446744073709551616.0,b);h=(f[b>>2]|0)+-64|0;i=g}else{h=0;i=a}f[b>>2]=h;j=i;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function ek(a){a=a|0;f[a>>2]=3496;Cj(a+28|0,f[a+32>>2]|0);Mj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function fk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=a;g=0}else{b=1;return b|0}while(1){a=f[e+(g<<2)>>2]|0;g=g+1|0;if(!(Ll(a,a)|0)){b=0;h=5;break}e=f[c>>2]|0;if((g|0)>=((f[d>>2]|0)-e>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=e;e=0;while(1){i=f[a+(e<<2)>>2]|0;e=e+1|0;if(!(Na[f[(f[i>>2]|0)+20>>2]&31](i,h,b)|0)){g=0;j=5;break}a=f[c>>2]|0;if(e>>>0>=(f[d>>2]|0)-a>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=a;h=0}while(1){a=f[g+(h<<2)>>2]|0;h=h+1|0;if(!(Ma[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}g=f[c>>2]|0;if(h>>>0>=(f[d>>2]|0)-g>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)Cq(a);h=tn(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;eh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function jk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=d;d=0;while(1){h=f[a+(d<<2)>>2]|0;d=d+1|0;if(!(Ma[f[(f[h>>2]|0)+16>>2]&127](h,g)|0)){e=0;i=5;break}a=f[b>>2]|0;if(d>>>0>=(f[c>>2]|0)-a>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function kk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=tn(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14740;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;Wj(a+4|0,e,c);if((b[e+11>>0]|0)>=0){u=d;return}pr(f[e>>2]|0);u=d;return}function lk(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=b;if(b|0?(c=Bh(b,1072,1056,0)|0,c|0):0){d=tn(56)|0;Um(d,c);c=f[a>>2]|0;f[a>>2]=d;if(!c)return;Qa[f[(f[c>>2]|0)+4>>2]&127](c);return}c=tn(56)|0;Qm(c,b);b=f[a>>2]|0;f[a>>2]=c;if(!b)return;Qa[f[(f[b>>2]|0)+4>>2]&127](b);return}function mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function nk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(La[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ma[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ma[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Cq(a);e=tn(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;e=b;do{ik(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;e=e+-1|0}while((e|0)!=0);return}function pk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Rg(a+40|0,b);d=1;return d|0}return 0}function qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Li(a);pr(a);return}Qa[f[(f[d>>2]|0)+4>>2]&127](d);Li(a);pr(a);return}function sk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Nk(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){pr(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c);pr(a);return}function vk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Ja,h=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+jr(h));return $(g)}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b)return;pr(b);return}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){pr(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c);pr(a);return}function zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Li(a);return}Qa[f[(f[d>>2]|0)+4>>2]&127](d);Li(a);return}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Ic(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{qm(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Bk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ma[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b)return;pr(b);return}function Dk(a){a=a|0;var b=0,c=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Ek(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Na[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Og(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Lj(g)|0)+1|0)>>>0>1;return e|0}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;dn(e,0);i=+Nc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+84>>2]|0;if(!b){Kg(a);pr(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);Kg(a);pr(a);return}function Ik(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Lj(h)|0;return g|0}function Jk(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=io(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return io((Fd(i,b,io(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Kk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=c+16|0;g=f[a>>2]|0;h=c+36|0;i=c+24|0;do if(g){if((g|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[a>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Lk(a){a=a|0;var b=0,c=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Mk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(b>>>0<=g>>>0){if(b>>>0>>0?(d=h+b|0,(e|0)!=(d|0)):0)f[c>>2]=d}else Bi(a,b-g|0);g=a+24|0;a=g;b=go(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Ok(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Og(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Lj(g)|0;return e|0}function Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+84>>2]|0;if(!b){Kg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);Kg(a);return}function Qk(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;pj(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{sp(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;sp(a,g,h)}u=f;return}function Tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Uk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Ep(a,f[b+8>>2]|0,g)|0)mj(0,b,c,d,e);else{h=f[a+8>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function Vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2364;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+4>>2]|0;if(!b){pr(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1944;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Yk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Zk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function _k(a){a=a|0;var b=0,c=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function $k(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Fj(a,d,0);return}function al(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=e*+Ug(e);e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function bl(a){a=a|0;var b=0,c=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function dl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function el(a){a=a|0;var b=0,c=0;f[a>>2]=2364;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function fl(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function gl(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=b;return}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Ep(a,f[b+8>>2]|0,0)|0)Kk(0,b,c,d);else{e=f[a+8>>2]|0;Ta[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function il(a){a=a|0;var b=0,c=0;f[a>>2]=1944;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function jl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function kl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function ll(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=a;a=c;do{d=d+1|0;a=a+1|0;c=b[d>>0]|0;e=b[a>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function ml(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;$k(d);Ai(a,d,b);To(d);u=c;return}function nl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);pr(b);return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function pl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;$k(d);Fi(a,d,b);To(d);u=c;return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Fo(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function rl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function tl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function ul(a){a=a|0;var b=0;if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}b=(f[a+36>>2]|0)!=0;return b|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;fh(a,c);f[a>>2]=1472;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function wl(a){a=a|0;var b=0,c=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){pr(a);return}nr(c);pr(a);return}function xl(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function yl(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=h[17027+(g&15)>>0]|0|e;g=jo(g|0,a|0,4)|0;a=I;if((g|0)==0&(a|0)==0){f=d;break}else c=d}}return f|0}function zl(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Al(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Bl(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Cl(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Dl(a){a=a|0;tj(a);pr(a);return}function El(a){a=a|0;var b=0,c=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){pr(a);return}nr(c);pr(a);return}function Fl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(b>>>0>g>>>0){Bi(a,b-g|0);return}if(b>>>0>=g>>>0)return;g=e+b|0;if((d|0)==(g|0))return;f[c>>2]=g;return}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Yf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Il(a,b){a=a|0;b=b|0;var c=0;if(!(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ma[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ma[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Jl(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Kl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+40>>2]=c;d=1;return d|0}function Ll(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];e=oc(a,b,d)|0;u=c;return e|0}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Nl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;g=d;while(1){d=g+(c*10|0)|0;e=e+1|0;f[a>>2]=e;g=(b[e>>0]|0)+-48|0;if(g>>>0>=10){h=d;break}else c=d}}else h=0;return h|0}function Ol(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Pl(a){a=a|0;wj(a);pr(a);return}function Ql(a){a=a|0;var b=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;nr(a);return}function Rl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Sl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=f&7|48;f=jo(f|0,a|0,3)|0;a=I;if((f|0)==0&(a|0)==0){e=d;break}else c=d}}return e|0}function Tl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+60>>2]=c;d=1;return d|0}function Ul(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ep(a,f[b+8>>2]|0,g)|0)mj(0,b,c,d,e);return}function Vl(a){a=a|0;var b=0,c=0;b=f[a+64>>2]|0;if(!b)return;c=La[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;f[a+60>>2]=(((f[c+4>>2]|0)-(f[c>>2]|0)>>2>>>0)/3|0)-(f[c+40>>2]|0);return}function Wl(a){a=a|0;var b=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;nr(a);return}function Xl(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Li(a);pr(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Li(a);pr(a);return}function Yl(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;hh(a+20|0,g,d);u=c;return}function Zl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function _l(a){a=a|0;Ri(a);pr(a);return}function $l(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function am(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;hh(a+20|0,g,d);u=c;return}function bm(){var a=0,b=0;a=tn(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function cm(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function dm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;Yb(a,b,e);u=d;return}function em(a){a=a|0;f[a>>2]=3784;Mi(a+8|0);pr(a);return}function fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;ac(a,b,e);u=d;return}function gm(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;gj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ej(b)|0;d=tn(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=fq(d)|0;eh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function jm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){ij(a);pr(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);ij(a);pr(a);return}function km(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Li(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Li(a);return}function lm(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function mm(a){a=a|0;Vi(a);pr(a);return}function nm(a){a=a|0;f[a>>2]=3784;Mi(a+8|0);return}function om(a){a=a|0;var b=0,c=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ep(a,f[b+8>>2]|0,0)|0)Kk(0,b,c,d);return}function qm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else eh(a,c,d)|0;return a|0}function rm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b){pr(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function sm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function um(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function vm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){ij(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);ij(a);return}function wm(){var a=0,b=0;a=Bn()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)bp(f[b+12>>2]|0);bp(rq()|0)}function xm(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 Rf(a,b,c,d,e,f,6)|0}function ym(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 Qf(a,b,c,d,e,f,4)|0}function zm(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 Sf(a,b,c,d,e,f,2)|0}function Am(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 Qf(a,b,c,d,e,f,3)|0}function Bm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function Cm(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 Sf(a,b,c,d,e,f,1)|0}function Dm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function Em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+Ug(d);c=-(f+e*+Ug(e));return +c}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function Gm(a){a=a|0;var b=0;No(a);f[a>>2]=3408;f[a+40>>2]=1260;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Hm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Im(a){a=a|0;var b=0,c=0;if(Uq(a)|0?(b=nq(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)pr(b);return}function Jm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=go(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Km(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 Rf(a,b,c,d,e,f,5)|0}function Lm(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 Rf(a,b,c,d,e,f,9)|0}function Mm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b)return;pr(b);return}function Nm(a){a=a|0;var b=0,c=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Om(a){a=a|0;var c=0;f[a>>2]=1416;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function Pm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b)return;pr(b);return}function Qm(a,b){a=a|0;b=b|0;f[a>>2]=3496;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=0;return}function Rm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;eh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Tm(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function Um(a,b){a=a|0;b=b|0;f[a>>2]=3496;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=b;return}function Vm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);pr(b);return}function Wm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Xm(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function Ym(a,b,c){a=a|0;b=b|0;c=c|0;return Na[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Zm(a){a=a|0;var c=0;Ol(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function _m(a){a=a|0;f[a>>2]=3324;Dj(a+88|0);pr(a);return}function $m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Eg(a,b,c,d,e,f);return}function bn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Ek(a)|0)==0?(Na[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function cn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function en(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;return}function fn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=$(g);Eg(f[a>>2]|0,b,c,d,e,g);return}function gn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);an(a,b,c,d,e,f);return}function hn(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 xm(a,b,c,d,e,f)|0}function jn(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 ym(a,b,c,d,e,f)|0}function kn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function ln(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pr(b)}pr(a);return}function mn(a){a=a|0;f[a>>2]=2960;Dj(a+88|0);pr(a);return}function nn(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 zm(a,b,c,d,e,f)|0}function on(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 Am(a,b,c,d,e,f)|0}function pn(a){a=a|0;f[a>>2]=3324;Dj(a+88|0);return}function qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Fd(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function rn(a){a=a|0;var b=0;oo(a);f[a>>2]=6308;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function sn(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 Cm(a,b,c,d,e,f)|0}function tn(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Wa(b)|0;if(a|0){c=a;break}a=pq()|0;if(!a){c=0;break}Pa[a&3]()}return c|0}function un(a,b,c){a=a|0;b=b|0;c=c|0;_b(a,b,c);return}function vn(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b)return;pr(b);return}function wn(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 Km(a,b,c,d,e,f)|0}function xn(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 Lm(a,b,c,d,e,f)|0}function yn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);fn(a,b,c,d,e,f);return}function zn(a){a=a|0;f[a>>2]=2960;Dj(a+88|0);return}function An(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=sr(f[a+60>>2]|0)|0;f[c>>2]=d;d=Fo(Ba(6,c|0)|0)|0;u=b;return d|0}function Bn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ga(20088,3)|0)){b=Ea(f[5023]|0)|0;u=a;return b|0}else Sn(19231,a);return 0}function Cn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b)return;pr(b);return}function Dn(a){a=a|0;var b=0;if(!a)return;b=f[a>>2]|0;f[a>>2]=0;if(b|0)Qa[f[(f[b>>2]|0)+4>>2]&127](b);pr(a);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=hm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function Fn(a,b){a=a|0;b=b|0;fh(a,b);f[a>>2]=1356;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Gn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Hn(a){a=a|0;var b=0;b=u;u=u+16|0;tc(a);if(!(Ha(f[5023]|0,0)|0)){u=b;return}else Sn(19330,b)}function In(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Jn(a,b){a=a|0;b=b|0;return vg(a+40|0,b)|0}function Kn(a,b){a=a|0;b=b|0;return kj(a,b,Pq(b)|0)|0}function Ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Wi(a,b,c,g)|0;u=e;return d|0}function Mn(a,b){a=a|0;b=b|0;return Jj(a+40|0,b)|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ph(a,b,c,d)|0}function On(a){a=a|0;var b=0;f[a>>2]=4076;f[a+52>>2]=0;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ph(a,b,c,d)|0}function Qn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Rn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[1595]|0;wh(b,a,d)|0;Pj(10,b)|0;Ca()}function Tn(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 Oa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Un(a){a=a|0;var b=0;b=f[a+56>>2]|0;f[a+60>>2]=((f[b+100>>2]|0)-(f[b+96>>2]|0)|0)/12|0;return}function Vn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Xn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Yn(){var a=0;a=u;u=u+16|0;if(!(Fa(20092,125)|0)){u=a;return}else Sn(19280,a)}function Zn(a){a=a|0;f[a>>2]=1216;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3472;return}function _n(a){a=a|0;We(a);pr(a);return}function $n(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function ao(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)pj(a|0,(Oq(c)|0)&255|0,b|0)|0;return a|0}function bo(a){a=a|0;return 4}function co(a,b,c){a=a|0;b=b|0;c=c|0;return bj(0,b,c)|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function ho(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Ah(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xe(a,b,c,d)|0}function lo(a){a=a|0;$e(a);pr(a);return}function mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Yi(a,b,c,d)|0}function no(a){a=a|0;return 5}function oo(a){a=a|0;var b=0;f[a>>2]=6348;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function po(a){a=a|0;return 6}function qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zi(a,b,c,d)|0}function ro(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function so(a,b,c){a=a|0;b=b|0;c=c|0;Nj(a,b,c);return}function to(a,b){a=a|0;b=b|0;Ii(f[a>>2]|0,b);return}function uo(a,b,c){a=a|0;b=b|0;c=c|0;so(a,b,c);return}function vo(a){a=a|0;var b=0;b=f[a+64>>2]|0;return La[f[(f[b>>2]|0)+28>>2]&127](b)|0}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oe(a,b,c,d,1);return}function xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oe(a,b,c,d,0);return}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(a,b,c,d)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;return di(a,b,c)|0}function Ao(a){a=a|0;var b=0;b=f[a+64>>2]|0;return La[f[(f[b>>2]|0)+32>>2]&127](b)|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;Nj(f[a>>2]|0,b,c);return}function Co(a,b,c){a=a|0;b=b|0;c=c|0;return bj(a,b,c)|0}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return co(a,b,c)|0}function Eo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0)}function Fo(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=er()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;return Gh(a,b,c)|0}function Ho(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Io(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Jo(a,b){a=a|0;b=b|0;f[a+56>>2]=b;Hp(a,b);return}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;Bo(a,b,c);return}function Lo(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Mo(a,b){a=a|0;b=b|0;Ii(a,b);return}function No(a){a=a|0;Om(a);f[a>>2]=1540;f[a+36>>2]=0;return}function Oo(a){a=a|0;On(a);f[a>>2]=3892;f[a+56>>2]=0;f[a+60>>2]=0;return}function Po(a){a=a|0;var b=0;if(!a)b=0;else b=(Bh(a,1104,1192,0)|0)!=0;return b&1|0}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;Ro(f[a>>2]|0,b,c);return}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;Pi(a+4|0,b,c);return}function So(a){a=a|0;var b=0;b=tn(8)|0;lk(b,a);return b|0}function To(a){a=a|0;if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);return}function Uo(a){a=a|0;if(!a)return;Qa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ta[a&7](b|0,c|0,d|0,e|0)}function Wo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qm(a|0,b|0,c|0)|0;return a|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;Qo(a,b,c);return}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)eh(a|0,b|0,c|0)|0;return a|0}function Zo(a){a=a|0;f[a+52>>2]=f[(f[a+4>>2]|0)+80>>2];return}function _o(a,b){a=a|0;b=b|0;to(a,b);return}function $o(a){a=a|0;f[a+52>>2]=f[(f[a+56>>2]|0)+80>>2];return}function ap(a,b){a=a|0;b=b|0;return -1}function bp(a){a=a|0;var b=0;b=u;u=u+16|0;Pa[a&3]();Sn(19383,b)}function cp(a){a=a|0;Lh(a);pr(a);return}function dp(a,b,c){a=a|0;b=b|0;c=c|0;np(a,b,c);return}function ep(a,b){a=a|0;b=b|0;kk(f[a>>2]|0,b);return}function fp(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function gp(a){a=a|0;Oo(a);f[a>>2]=3528;f[a+64>>2]=0;return}function hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function ip(a,b){a=a|0;b=b|0;return (Xp(a,b)|0)<<24>>24|0}function jp(a,b){a=a|0;b=b|0;f[a>>2]=7396;im(a+4|0,b);return}function kp(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Ni(a,b,0)|0;return c|0}function lp(a,b){a=a|0;b=b|0;Mo(a,b);return}function mp(a){a=a|0;return f[a+12>>2]|0}function np(a,b,c){a=a|0;b=b|0;c=c|0;Ro(a,b,c);return}function op(){var a=0;a=tn(64)|0;Ol(a);return a|0}function pp(a,b){a=a|0;b=b|0;ep(a,b);return}function qp(a){a=a|0;if(!a)return;_i(a);pr(a);return}function rp(a){a=a|0;return f[a+4>>2]|0}function sp(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))ni(b,c,a)|0;return}function tp(a){a=a|0;return Zp(a)|0}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&15](b|0,c|0,d|0)}function vp(){var a=0;a=tn(96)|0;Zm(a);return a|0}function wp(a){a=a|0;return _p(a)|0}function xp(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function yp(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function zp(a){a=a|0;var b=0;b=(lr()|0)+188|0;return ck(a,f[b>>2]|0)|0}function Ap(a,b){a=a|0;b=b|0;Jp(a,b);return}function Bp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Cp(){var a=0;a=tn(12)|0;Pp(a);return a|0}function Dp(a){a=a|0;Li(a);pr(a);return}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Fp(a,b){a=a|0;b=b|0;var c=0;c=Tp(a|0)|0;return ((b|0)==0?a:c)|0}function Gp(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Hp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Ip(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fd(a,b,c,d,0)|0}function Jp(a,b){a=a|0;b=b|0;kk(a,b);return}function Kp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Lp(a){a=a|0;return Dq(a)|0}function Mp(){var a=0;a=tn(84)|0;oo(a);return a|0}function Np(a){a=a|0;ri(a);pr(a);return}function Op(a){a=a|0;return Eq(a)|0}function Pp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Qp(a){a=a|0;f[a>>2]=7396;Im(a+4|0);return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[a&127](b|0,c|0)|0}function Sp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Tp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Up(a){a=a|0;Oo(a);f[a>>2]=3972;return}function Vp(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Xp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Yp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Zp(a){a=a|0;return f[(f[a>>2]|0)+40>>2]|0}function _p(a){a=a|0;return f[(f[a>>2]|0)+44>>2]|0}function $p(a){a=a|0;if(!a)return;pr(a);return}function aq(){var a=0;a=tn(1)|0;ur(a);return a|0}function bq(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function cq(a){a=a|0;b[a+28>>0]=1;return}function dq(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function eq(a,b){a=a|0;b=b|0;return 1}function fq(a){a=a|0;return a+12|0}function gq(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function hq(a,b,c){a=a|0;b=b|0;c=c|0;Ra[a&7](b|0,c|0)}function iq(){var a=0;a=tn(48)|0;Vq(a);return a|0}function jq(a){a=a|0;return Jq(a+4|0)|0}function kq(){var a=0;a=tn(108)|0;rn(a);return a|0}function lq(a){a=a|0;ij(a);pr(a);return}function mq(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function nq(a){a=a|0;return a+-12|0}function oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function pq(){var a=0;a=f[5024]|0;f[5024]=a+0;return a|0}function qq(a){a=a|0;return f[a+56>>2]|0}function rq(){var a=0;a=f[1825]|0;f[1825]=a+0;return a|0}function sq(a){a=a|0;Kg(a);pr(a);return}function tq(a){a=a|0;ur(a);pr(a);return}function uq(a){a=a|0;return b[a+24>>0]|0}function vq(a,b){a=a|0;b=b|0;return 0}function wq(a){a=a|0;return f[a+48>>2]|0}function xq(a,b){a=a|0;b=b|0;return La[a&127](b|0)|0}function yq(a){a=a|0;return f[a+60>>2]|0}function zq(a){a=a|0;return f[a+28>>2]|0}function Aq(a){a=a|0;sa(a|0)|0;wm()}function Bq(a){a=a|0;Qp(a);pr(a);return}function Cq(a){a=a|0;Ca()}function Dq(a){a=a|0;return f[a+40>>2]|0}function Eq(a){a=a|0;return f[a+44>>2]|0}function Fq(a){a=a|0;return 3}function Gq(a,b){a=a|0;b=b|0;u=a;v=b}function Hq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Iq(a){a=a|0;return f[a+80>>2]|0}function Jq(a){a=a|0;return f[a>>2]|0}function Kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Lq(a,b){a=a|0;b=b|0;return $(+Gk(a,b,0))}function Mq(a,b){a=a|0;b=b|0;Qa[a&127](b|0)}function Nq(a,b){a=a|0;b=b|0;return ho(a,b)|0}function Oq(a){a=a|0;return a&255|0}function Pq(a){a=a|0;return Ej(a)|0}function Qq(){return tn(1)|0}function Rq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Sq(a){a=a|0;return 2}function Tq(a,b){a=a|0;b=b|0;return +(+Gk(a,b,1))}function Uq(a){a=a|0;return 1}function Vq(a){a=a|0;Zn(a);return}function Wq(a,b){a=+a;b=+b;return +(+cm(a,b))}function Xq(a,b){a=+a;b=b|0;return +(+$j(a,b))}function Yq(a,b){a=+a;b=b|0;return +(+dk(a,b))}function Zq(){return 3}function _q(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function $q(){return 0}function ar(){return -1}function br(){return 4}function cr(){return 1}function dr(){return 2}function er(){return (lr()|0)+64|0}function fr(a,b){a=+a;b=+b;return +(+td(a,b))}function gr(a,b){a=a|0;b=b|0;aa(1);return 0}function hr(a){a=a|0;Pa[a&3]()}function ir(){ua()}function jr(a){a=a|0;return +(+Tq(a,0))}function kr(a,b){a=a|0;b=b|0;aa(6)}function lr(){return zr()|0}function mr(a){a=a|0;return tn(a)|0}function nr(a){a=a|0;pr(a);return}function or(a){a=a|0;u=a}function pr(a){a=a|0;tc(a);return}function qr(a){a=a|0;I=a}function rr(){return 20024}function sr(a){a=a|0;return a|0}function tr(a){a=a|0;aa(0);return 0}function ur(a){a=a|0;return}function vr(a){a=a|0;return 0}function wr(){return I|0}function xr(){return u|0}function yr(a){a=a|0;aa(5)}function zr(){return 6508}function Ar(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Qa=[er,Dq,Eq,Eq,Dq,gb,gr,gr,gr,ok,lg,Eq,hp,gr,gr,Eq,gr,Eq,Eq,Fl,Dq,Fl,rq,Dl,Eq,oo,Dl,Eq,qo,jl,Eq,kq,co,Fl,Eq,Fl,Dq,Fl,rq,Dl,Eq,oo,Dl,Eq,qo,jl,Eq,kq,co,Fl,Eq,rq,gr,hp,Eq,gr,Eq,rq,Eq,xl,Dq,xl,co,xl,rq,wl,Eq,oo,wl,Eq,qo,bl,Eq,kq,Eq,xl,Dq,xl,co,xl,rq,wl,Eq,oo,wl,Eq,qo,bl,Eq,kq,Eq,Dq,Eq,Eq,Nd,Eq,wj,Xe,mh,Gk,Ao,vo,pb,dp,hp,ng,wg,ff,rb,dp,hp,Eq,gr,gr,zc,Li,gr,Eq,Eq,Zj,gr,Zj,jk,Bn,Xp,er,er,er];var Ra=[Tq,El,nh,Ie,Ll,gq,gq,gq,Sp,jb,tj,Ho,Sp,Sp,ui,pj,ji,rk,vl,Tj,gl,kk,lk,Te,Uo,gq,oi,gq,Wl,$d,gq,Wl,pf,gq,Tl,sh,um,Fd,gq,Wl,$d,gq,Wl,pf,gq,Tl,sh,um,Fd,Mn,Uo,gq,mi,Ed,gq,Ml,Zd,gq,Ml,kf,gq,Il,rh,um,Ed,gq,Ml,Zd,gq,Ml,kf,gq,Il,rh,um,Jn,Wn,Qn,Xn,Vn,dh,qk,Bk,Zb,ye,$m,rg,xf,yf,bh,qk,Bk,Yb,ye,$m,Sp,gq,gq,qf,Hm,og,qf,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq,Tq];var Sa=[Cq,to,Kp,mn,an,Ag,qj,rl,zh,wc,Nh,sg,hi,Rb,ei,Pg,tl,Wm,Fj,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq];var Ta=[pp,Xd,Jc,oc,be,Ae,Ub,bb,Lc,pc,ae,ze,Sb,ab,eh,kd,Ic,eb,rf,Kf,tc,od,Kc,db,mf,Hf,qc,pp,pp,pp,pp,pp];var Ua=[mr,Wq,Qi,Yn];var Va=[kr,Vj,ck,fr,$q,Om,rm,hl,Uq,vi,Bp,Pi,rp,Oh,Wo,Rm,Nm,om,Uq,Xl,Xl,Xl,Qk,Dk,fl,Yk,ll,$k,fr,$q,Uq,_i,mm,Xl,Xl,Kk,yk,cl,Wk,il,_k,fr,$q,Uq,Xi,am,Rm,Nm,fr,$q,$q,$q,Bj,Ql,_l,Hl,Qm,Bm,An,on,fr,$q,$q,$q,yj,Gl,Rl,zl,Mm,sm,rn,cn,fr,$q,Ek,vk,ck,ek,hk,hk,vm,Tm,_e,Zl,hf,mo,Ck,uk,xn,Xm,$l,Hk,xk,Dn,fn,cm,nm,gm,df,$n,oj,Uq,Np,To,Un,fr,$q,Uq,Np,So,Np,So,Uk,Nk,sb,Qg,dq,fr,eq,fr,fr,eq,Ep,mq,mq,Hn,kr,kr];var Wa=[Zq,wk,hg,Fk,Nc,Zq,Zq,Zq];var Xa=[Kq,Ne,kj,cc,ic,yd,cc,ic,ah,Dj,Og,Zf,Kq,Kq,Kq,Kq];var Ya=[wq,Yg,qg,pm,kl,wq,wq,wq];var Za=[$p,vj,oh,$p];var _a=[Gp,Yl,Zk,Gp];return{___cxa_can_catch:tm,___cxa_is_pointer_type:Mo,___divdi3:Pk,___muldi3:En,___udivdi3:wp,___uremdi3:sn,_bitshift64Lshr:ko,_bitshift64Shl:fo,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:qp,_emscripten_bind_DracoInt8Array_GetValue_1:$o,_emscripten_bind_DracoInt8Array___destroy___0:nn,_emscripten_bind_DracoInt8Array_size_0:Mp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:zo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:Pn,_emscripten_bind_Encoder_Encoder_0:Wp,_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0:Cp,_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0:zp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:jn,_emscripten_bind_Encoder_SetAttributeQuantization_2:uo,_emscripten_bind_Encoder_SetEncodingMethod_1:op,_emscripten_bind_Encoder_SetSpeedOptions_2:Xo,_emscripten_bind_Encoder_SetTrackEncodedProperties_1:cp,_emscripten_bind_Encoder___destroy___0:Uj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:fp,_emscripten_bind_GeometryAttribute___destroy___0:Op,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:yo,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:zn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:zn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:qn,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:yn,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:yn,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:un,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Do,_emscripten_bind_MeshBuilder_AddMetadata_2:Bo,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:ln,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:kn,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:pn,_emscripten_bind_MeshBuilder_MeshBuilder_0:Nq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_MeshBuilder___destroy___0:Op,_emscripten_bind_Mesh_Mesh_0:Yp,_emscripten_bind_Mesh___destroy___0:Oo,_emscripten_bind_Mesh_num_attributes_0:up,_emscripten_bind_Mesh_num_faces_0:np,_emscripten_bind_Mesh_num_points_0:uq,_emscripten_bind_Mesh_set_num_points_1:Up,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:no,_emscripten_bind_MetadataBuilder_AddIntEntry_3:ro,_emscripten_bind_MetadataBuilder_AddStringEntry_3:lo,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:Nq,_emscripten_bind_MetadataBuilder___destroy___0:Op,_emscripten_bind_Metadata_Metadata_0:dm,_emscripten_bind_Metadata___destroy___0:gp,_emscripten_bind_PointAttribute_PointAttribute_0:kp,_emscripten_bind_PointAttribute___destroy___0:Lj,_emscripten_bind_PointAttribute_attribute_type_0:bq,_emscripten_bind_PointAttribute_byte_offset_0:hq,_emscripten_bind_PointAttribute_byte_stride_0:oq,_emscripten_bind_PointAttribute_data_type_0:kq,_emscripten_bind_PointAttribute_normalized_0:Zp,_emscripten_bind_PointAttribute_num_components_0:fq,_emscripten_bind_PointAttribute_size_0:uq,_emscripten_bind_PointAttribute_unique_id_0:jq,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:zn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:qn,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:yn,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:un,_emscripten_bind_PointCloudBuilder_AddMetadata_2:Bo,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:ln,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:kn,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:pn,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:Nq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_PointCloudBuilder___destroy___0:Op,_emscripten_bind_PointCloud_PointCloud_0:Ap,_emscripten_bind_PointCloud___destroy___0:Oo,_emscripten_bind_PointCloud_num_attributes_0:up,_emscripten_bind_PointCloud_num_points_0:uq,_emscripten_bind_VoidPtr___destroy___0:Op,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Mq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Lq,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Qq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Rq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Oq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Mq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Qq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Lq,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Jq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:Qq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:Lq,_emscripten_replace_memory:Pa,_free:yc,_i64Add:ho,_i64Subtract:jo,_llvm_bswap_i32:Hp,_malloc:$a,_memcpy:kh,_memmove:qm,_memset:uj,_sbrk:Ul,dynCall_ii:iq,dynCall_iii:Fp,dynCall_iiii:_o,dynCall_iiiiiii:Tn,dynCall_v:Vq,dynCall_vi:xq,dynCall_vii:Vp,dynCall_viii:jp,dynCall_viiii:Po,dynCall_viiiii:Eo,dynCall_viiiiii:ao,establishStackSpace:sq,getTempRet0:hr,runPostSets:go,setTempRet0:cr,setThrew:Rp,stackAlloc:lp,stackRestore:ar,stackSave:jr}}) +var La=[tr,Sq,Uq,Uq,Sq,ab,vr,vr,vr,jk,ig,Uq,rp,vr,vr,Uq,vr,Uq,Uq,Cl,Sq,Cl,Fq,Al,Uq,no,Al,Uq,po,fl,Uq,zq,bo,Cl,Uq,Cl,Sq,Cl,Fq,Al,Uq,no,Al,Uq,po,fl,Uq,zq,bo,Cl,Uq,Fq,vr,rp,Uq,vr,Uq,Fq,Uq,ul,Sq,ul,bo,ul,Fq,tl,Uq,no,tl,Uq,po,Zk,Uq,zq,Uq,ul,Sq,ul,bo,ul,Fq,tl,Uq,no,tl,Uq,po,Zk,Uq,zq,Uq,Sq,Uq,Uq,Hd,Uq,rj,Qe,jh,Bk,Ao,vo,jb,mp,rp,kg,rg,Ye,lb,mp,rp,Uq,vr,vr,uc,Gi,vr,Uq,Uq,Uj,vr,Uj,fk,An,jq,tr,tr,tr];var Ma=[gr,Bl,gh,Be,Il,vq,vq,vq,eq,db,qj,Io,eq,eq,qi,jj,gi,nk,sl,Oj,cl,gk,hk,Me,ap,vq,li,vq,Tl,Vd,vq,Tl,kf,vq,Rl,nh,um,rf,vq,Tl,Vd,vq,Tl,kf,vq,Rl,nh,um,rf,Mn,ap,vq,ji,qf,vq,Kl,Td,vq,Kl,ef,vq,Fl,kh,um,qf,vq,Kl,Td,vq,Kl,ef,vq,Fl,kh,um,Jn,Wn,Qn,Xn,Vn,Zg,mk,wk,Sb,re,Xm,tf,_e,bf,Xg,mk,wk,Rb,re,Xm,eq,vq,vq,lf,Hm,lg,lf,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr];var Na=[Rq,ro,Wp,kn,Ym,ug,lj,ol,yh,pc,Kh,og,ei,Mb,bi,Mg,ql,Sm,Aj,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq];var Oa=[Bp,Rd,Ec,jc,Xd,te,Wb,Ya,Gc,kc,Wd,se,Vb,Xa,_g,gd,Dc,$a,mf,Kf,rc,kd,Fc,_a,gf,Ff,qc,Bp,Bp,Bp,Bp,Bp];var Pa=[Ar,ir,Hi,Yn];var Qa=[yr,Rj,_j,ur,nr,Nm,rm,dl,Wk,ri,Np,Li,Dp,Lh,cp,km,Xl,om,Zl,Zl,Zl,Zl,Lk,yk,bl,Tk,il,Xk,ur,nr,Zl,Vi,mm,Zl,Zl,Dk,uk,_k,Rk,el,Vk,ur,nr,Zl,Ri,_l,km,Xl,ur,nr,nr,nr,wj,Pl,Wl,El,Pm,Bm,zn,mn,ur,nr,nr,nr,tj,Dl,Ql,wl,Mm,sm,pn,_m,ur,nr,zk,rk,_j,bk,ek,ek,vm,jm,Oc,Vl,$e,lo,xk,qk,vn,Tm,Yl,Ck,tk,Cn,cn,am,nm,em,We,_n,ij,lq,lq,$o,Un,ur,nr,lq,lq,Zo,lq,Zo,Pk,Hk,mb,Kg,sq,ur,tq,ur,ur,tq,Qp,Bq,Bq,Hn,yr,yr];var Ra=[kr,sk,gg,Ak,Ic,kr,kr,kr];var Sa=[_q,Ge,fj,Zb,ec,Gd,Zb,ec,Wg,yj,Jg,Xf,_q,_q,_q,_q];var Ta=[Kq,Tg,ng,pm,hl,Kq,Kq,Kq];var Ua=[oq,oj,ch,oq];var Va=[Sp,Ul,Uk,Sp];return{___cxa_can_catch:tm,___cxa_is_pointer_type:Po,___divdi3:Jk,___muldi3:En,___udivdi3:Ip,___uremdi3:qn,_bitshift64Lshr:jo,_bitshift64Shl:eo,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Cp,_emscripten_bind_DracoInt8Array_GetValue_1:ip,_emscripten_bind_DracoInt8Array___destroy___0:ln,_emscripten_bind_DracoInt8Array_size_0:Yp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:zo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:Pn,_emscripten_bind_Encoder_Encoder_0:iq,_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0:Op,_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0:Lp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:gn,_emscripten_bind_Encoder_SetAttributeQuantization_2:uo,_emscripten_bind_Encoder_SetEncodingMethod_1:Ap,_emscripten_bind_Encoder_SetSpeedOptions_2:dp,_emscripten_bind_Encoder_SetTrackEncodedProperties_1:lp,_emscripten_bind_Encoder___destroy___0:Qj,_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2:Go,_emscripten_bind_ExpertEncoder_ExpertEncoder_1:So,_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0:wp,_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0:tp,_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5:yn,_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2:Ko,_emscripten_bind_ExpertEncoder_SetEncodingMethod_1:pp,_emscripten_bind_ExpertEncoder_SetSpeedOptions_2:Xo,_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1:_o,_emscripten_bind_ExpertEncoder___destroy___0:Dn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:op,_emscripten_bind_GeometryAttribute___destroy___0:$p,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:yo,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:xn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:xn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:on,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:wn,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:wn,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:sn,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Do,_emscripten_bind_MeshBuilder_AddMetadata_2:Co,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:jn,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:hn,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:nn,_emscripten_bind_MeshBuilder_MeshBuilder_0:aq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_MeshBuilder___destroy___0:$p,_emscripten_bind_Mesh_Mesh_0:kq,_emscripten_bind_Mesh___destroy___0:Uo,_emscripten_bind_Mesh_num_attributes_0:Gp,_emscripten_bind_Mesh_num_faces_0:yp,_emscripten_bind_Mesh_num_points_0:Iq,_emscripten_bind_Mesh_set_num_points_1:gq,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:mo,_emscripten_bind_MetadataBuilder_AddIntEntry_3:qo,_emscripten_bind_MetadataBuilder_AddStringEntry_3:ko,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:aq,_emscripten_bind_MetadataBuilder___destroy___0:$p,_emscripten_bind_Metadata_Metadata_0:bm,_emscripten_bind_Metadata___destroy___0:qp,_emscripten_bind_PointAttribute_PointAttribute_0:vp,_emscripten_bind_PointAttribute___destroy___0:Gj,_emscripten_bind_PointAttribute_attribute_type_0:qq,_emscripten_bind_PointAttribute_byte_offset_0:wq,_emscripten_bind_PointAttribute_byte_stride_0:Dq,_emscripten_bind_PointAttribute_data_type_0:zq,_emscripten_bind_PointAttribute_normalized_0:mq,_emscripten_bind_PointAttribute_num_components_0:uq,_emscripten_bind_PointAttribute_size_0:Iq,_emscripten_bind_PointAttribute_unique_id_0:yq,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:xn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:on,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:wn,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:sn,_emscripten_bind_PointCloudBuilder_AddMetadata_2:Co,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:jn,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:hn,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:nn,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:Qq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_PointCloudBuilder___destroy___0:$p,_emscripten_bind_PointCloud_PointCloud_0:Mp,_emscripten_bind_PointCloud___destroy___0:Uo,_emscripten_bind_PointCloud_num_attributes_0:Gp,_emscripten_bind_PointCloud_num_points_0:Iq,_emscripten_bind_VoidPtr___destroy___0:$p,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ar,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:$q,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:cr,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:dr,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:br,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ar,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:cr,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:$q,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Zq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:cr,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:$q,_emscripten_get_global_libc:rr,_emscripten_replace_memory:Ka,_free:tc,_i64Add:go,_i64Subtract:io,_llvm_bswap_i32:Tp,_malloc:Wa,_memcpy:eh,_memmove:qm,_memset:pj,_sbrk:Jl,dynCall_ii:xq,dynCall_iii:Rp,dynCall_iiii:hp,dynCall_iiiiiii:Tn,dynCall_v:hr,dynCall_vi:Mq,dynCall_vii:hq,dynCall_viii:up,dynCall_viiii:Vo,dynCall_viiiii:Eo,dynCall_viiiiii:$n,establishStackSpace:Gq,getTempRet0:wr,runPostSets:fo,setTempRet0:qr,setThrew:dq,stackAlloc:xp,stackRestore:or,stackSave:xr}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=Module["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"]=asm["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"]=asm["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"];var _emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"]=asm["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var _emscripten_bind_Encoder_SetTrackEncodedProperties_1=Module["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"]=asm["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddFloatAttribute_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"];var _emscripten_bind_MeshBuilder_AddInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var _emscripten_bind_MeshBuilder_AddMetadata_2=Module["_emscripten_bind_MeshBuilder_AddMetadata_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadata_2"];var _emscripten_bind_MeshBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=Module["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddMetadata_2=Module["_emscripten_bind_PointCloudBuilder_AddMetadata_2"]=asm["_emscripten_bind_PointCloudBuilder_AddMetadata_2"];var _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=Module["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"]=asm["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"];var _emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointCloudBuilder___destroy___0=Module["_emscripten_bind_PointCloudBuilder___destroy___0"]=asm["_emscripten_bind_PointCloudBuilder___destroy___0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;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"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i(att) * std::get<3>(att) * std::get<4>(att)); + required_decode_bytes = (std::max)(required_decode_bytes, + std::get<3>(att) * std::get<4>(att)); } memory_.resize(required_decode_bytes); data_ = memory_.data(); diff --git a/src/draco/compression/attributes/mesh_traversal_sequencer.h b/src/draco/compression/attributes/mesh_traversal_sequencer.h index 21827a8..87f45f1 100644 --- a/src/draco/compression/attributes/mesh_traversal_sequencer.h +++ b/src/draco/compression/attributes/mesh_traversal_sequencer.h @@ -55,6 +55,8 @@ class MeshTraversalSequencer : public PointsSequencer { const PointIndex point_id = face[p]; const VertexIndex vert_id = corner_table->Vertex(CornerIndex(3 * f.value() + p)); + if (vert_id == kInvalidVertexIndex) + return false; const AttributeValueIndex att_entry_id( encoding_data_ ->vertex_to_encoded_attribute_value_index_map[vert_id.value()]); diff --git a/src/draco/compression/attributes/sequential_attribute_decoders_controller.cc b/src/draco/compression/attributes/sequential_attribute_decoders_controller.cc index 1c38fcc..7de0400 100644 --- a/src/draco/compression/attributes/sequential_attribute_decoders_controller.cc +++ b/src/draco/compression/attributes/sequential_attribute_decoders_controller.cc @@ -89,15 +89,17 @@ bool SequentialAttributeDecodersController:: if (GetDecoder()->options()) { const PointAttribute *const attribute = sequential_decoders_[i]->attribute(); - if (GetDecoder()->options()->GetAttributeBool( + const PointAttribute *const portable_attribute = + sequential_decoders_[i]->GetPortableAttribute(); + if (portable_attribute && + GetDecoder()->options()->GetAttributeBool( attribute->attribute_type(), "skip_attribute_transform", false)) { // Attribute transform should not be performed. In this case, we replace // the output geometry attribute with the portable attribute. // TODO(ostava): We can potentially avoid this copy by introducing a new // mechanism that would allow to use the final attributes as portable // attributes for predictors that may need them. - sequential_decoders_[i]->attribute()->CopyFrom( - *sequential_decoders_[i]->GetPortableAttribute()); + sequential_decoders_[i]->attribute()->CopyFrom(*portable_attribute); continue; } } diff --git a/src/draco/compression/decode_test.cc b/src/draco/compression/decode_test.cc index 219b168..c575420 100644 --- a/src/draco/compression/decode_test.cc +++ b/src/draco/compression/decode_test.cc @@ -150,4 +150,47 @@ TEST_F(DecodeTest, TestSkipAttributeTransformOnPointCloud) { TestSkipAttributeTransformOnPointCloudWithColor("pc_kd_color.drc"); } +TEST_F(DecodeTest, TestSkipAttributeTransformWithNoQuantization) { + // Tests that decoders can successfully skip attribute transform even though + // the input model was not quantized (it has no attribute transform). + const std::string file_name = "point_cloud_no_qp.drc"; + std::ifstream input_file(draco::GetTestFileFullPath(file_name), + std::ios::binary); + ASSERT_TRUE(input_file); + + // Read the file stream into a buffer. + std::streampos file_size = 0; + input_file.seekg(0, std::ios::end); + file_size = input_file.tellg() - file_size; + input_file.seekg(0, std::ios::beg); + std::vector data(file_size); + input_file.read(data.data(), file_size); + + ASSERT_FALSE(data.empty()); + + // Create a draco decoding buffer. Note that no data is copied in this step. + draco::DecoderBuffer buffer; + buffer.Init(data.data(), data.size()); + + draco::Decoder decoder; + // Make sure we skip dequantization for the position attribute. + decoder.SetSkipAttributeTransform(draco::GeometryAttribute::POSITION); + + // Decode the input data into a geometry. + std::unique_ptr pc = + decoder.DecodePointCloudFromBuffer(&buffer).value(); + ASSERT_NE(pc, nullptr); + + const draco::PointAttribute *const pos_att = + pc->GetNamedAttribute(draco::GeometryAttribute::POSITION); + ASSERT_NE(pos_att, nullptr); + + // Ensure the position attribute is of type float32 since the attribute was + // not quantized. + ASSERT_EQ(pos_att->data_type(), draco::DT_FLOAT32); + + // Make sure there is no attribute transform available for the attribute. + ASSERT_EQ(pos_att->GetAttributeTransformData(), nullptr); +} + } // namespace diff --git a/src/draco/compression/encode_test.cc b/src/draco/compression/encode_test.cc index 72c544c..2eadb73 100644 --- a/src/draco/compression/encode_test.cc +++ b/src/draco/compression/encode_test.cc @@ -83,7 +83,7 @@ class EncodeTest : public ::testing::Test { // Initialize the attribute values. for (draco::PointIndex i(0); i < kNumPoints; ++i) { - const float pos_coord = float(i.value()); + const float pos_coord = static_cast(i.value()); pc_builder.SetAttributeValueForPoint( pos_att_id, i, draco::Vector3f(pos_coord, -pos_coord, pos_coord).data()); @@ -148,15 +148,20 @@ class EncodeTest : public ::testing::Test { std::unique_ptr mesh_tmp = draco::ReadMeshFromTestFile(file_name); mesh = mesh_tmp.get(); + if (!mesh->DeduplicateAttributeValues()) + return; + mesh->DeduplicatePointIds(); geometry = std::move(mesh_tmp); } else { geometry = draco::ReadPointCloudFromTestFile(file_name); } ASSERT_NE(mesh, nullptr); + draco::Encoder encoder; - encoder.SetAttributeQuantization(draco::GeometryAttribute::POSITION, 16); - encoder.SetAttributeQuantization(draco::GeometryAttribute::TEX_COORD, 15); - encoder.SetAttributeQuantization(draco::GeometryAttribute::NORMAL, 14); + encoder.SetAttributeQuantization(draco::GeometryAttribute::POSITION, 14); + encoder.SetAttributeQuantization(draco::GeometryAttribute::TEX_COORD, 12); + encoder.SetAttributeQuantization(draco::GeometryAttribute::NORMAL, 10); + encoder.SetEncodingMethod(encoding_method); encoder.SetTrackEncodedProperties(true); @@ -272,7 +277,7 @@ TEST_F(EncodeTest, TestTrackingOfNumberOfEncodedEntries) { TEST_F(EncodeTest, TestTrackingOfNumberOfEncodedEntriesNotSet) { // Tests that when tracing of encoded properties is disabled, the returned - // number of encoded faces and poitns is 0. + // number of encoded faces and points is 0. std::unique_ptr mesh( draco::ReadMeshFromTestFile("cube_att.obj")); ASSERT_NE(mesh, nullptr); diff --git a/src/draco/compression/mesh/mesh_edgebreaker_encoder.cc b/src/draco/compression/mesh/mesh_edgebreaker_encoder.cc index 6b5539a..ac04a3d 100644 --- a/src/draco/compression/mesh/mesh_edgebreaker_encoder.cc +++ b/src/draco/compression/mesh/mesh_edgebreaker_encoder.cc @@ -95,6 +95,20 @@ void MeshEdgeBreakerEncoder::ComputeNumberOfEncodedPoints() { corner_table->num_vertices() - corner_table->NumIsolatedVertices(); if (mesh()->num_attributes() > 1) { + // Gather all corner tables for all non-position attributes. + std::vector attribute_corner_tables; + for (int i = 0; i < mesh()->num_attributes(); ++i) { + if (mesh()->attribute(i)->attribute_type() == GeometryAttribute::POSITION) + continue; + const MeshAttributeCornerTable *const att_corner_table = + GetAttributeCornerTable(i); + // Attribute corner table may not be used in some configurations. For + // these cases we can assume the attribute connectivity to be the same as + // the connectivity of the position data. + if (att_corner_table) + attribute_corner_tables.push_back(att_corner_table); + } + // Add a new point based on the configuration of interior attribute seams // (replicating what the decoder would do). for (VertexIndex vi(0); vi < corner_table->num_vertices(); ++vi) { @@ -107,22 +121,40 @@ void MeshEdgeBreakerEncoder::ComputeNumberOfEncodedPoints() { mesh()->CornerToPointId(first_corner_index); PointIndex last_point_index = first_point_index; + CornerIndex last_corner_index = first_corner_index; CornerIndex corner_index = corner_table->SwingRight(first_corner_index); size_t num_attribute_seams = 0; - while (corner_index != kInvalidCornerIndex && - corner_index != first_corner_index) { + while (corner_index != kInvalidCornerIndex) { const PointIndex point_index = mesh()->CornerToPointId(corner_index); + bool seam_found = false; if (point_index != last_point_index) { - // New attribute seam detected. - ++num_attribute_seams; + // Point index changed - new attribute seam detected. + seam_found = true; last_point_index = point_index; + } else { + // Even though point indices matches, there still may be a seam caused + // by non-manifold connectivity of non-position attribute data. + for (int i = 0; i < attribute_corner_tables.size(); ++i) { + if (attribute_corner_tables[i]->Vertex(corner_index) != + attribute_corner_tables[i]->Vertex(last_corner_index)) { + seam_found = true; + break; // No need to process other attributes. + } + } } + if (seam_found) { + ++num_attribute_seams; + } + + if (corner_index == first_corner_index) + break; + // Proceed to the next corner + last_corner_index = corner_index; corner_index = corner_table->SwingRight(corner_index); } - if (!corner_table->IsOnBoundary(vi) && num_attribute_seams > 0 && - last_point_index == first_point_index) { + if (!corner_table->IsOnBoundary(vi) && num_attribute_seams > 0) { // If the last visited point index is the same as the first point index // we traveled all the way around the vertex. In this case the number of // new points should be num_attribute_seams - 1 diff --git a/src/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc b/src/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc index a6235b9..6156cfe 100644 --- a/src/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc +++ b/src/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc @@ -231,6 +231,34 @@ TEST_F(PointCloudKdTreeEncodingTest, TestKdTreeEncoding(*pc); } +// Test 16 only encoding for one attribute. +TEST_F(PointCloudKdTreeEncodingTest, TestIntKdTreeEncoding16Bit) { + constexpr int num_points = 120; + std::vector> points3(num_points); + for (int i = 0; i < num_points; ++i) { + std::array pos; + // Generate some pseudo-random points. + pos[0] = 8 * ((i * 7) % 127); + pos[1] = 13 * ((i * 3) % 321); + pos[2] = 29 * ((i * 19) % 450); + points3[i] = pos; + } + + PointCloudBuilder builder; + builder.Start(num_points); + const int att_id3 = + builder.AddAttribute(GeometryAttribute::POSITION, 3, DT_UINT16); + for (PointIndex i(0); i < num_points; ++i) { + builder.SetAttributeValueForPoint(att_id3, PointIndex(i), + &(points3[i.value()])[0]); + } + + std::unique_ptr pc = builder.Finalize(false); + ASSERT_NE(pc, nullptr); + + TestKdTreeEncoding(*pc); +} + // Test 16 and 8 bit encoding with size bigger than 32bit encoding. TEST_F(PointCloudKdTreeEncodingTest, TestIntKdTreeEncodingHigherDimensionVariedTypesBig16BitEncoding) { diff --git a/src/draco/core/draco_version.h b/src/draco/core/draco_version.h index b3fe31a..6e89254 100644 --- a/src/draco/core/draco_version.h +++ b/src/draco/core/draco_version.h @@ -18,7 +18,7 @@ namespace draco { // Draco version is comprised of ... -static const char kDracoVersion[] = "1.3.2"; +static const char kDracoVersion[] = "1.3.3"; const char *Version() { return kDracoVersion; } diff --git a/src/draco/javascript/emscripten/draco_web_encoder.idl b/src/draco/javascript/emscripten/draco_web_encoder.idl index ccea652..e1c2288 100644 --- a/src/draco/javascript/emscripten/draco_web_encoder.idl +++ b/src/draco/javascript/emscripten/draco_web_encoder.idl @@ -180,3 +180,25 @@ interface Encoder { long GetNumberOfEncodedPoints(); long GetNumberOfEncodedFaces(); }; + +interface ExpertEncoder { + void ExpertEncoder(PointCloud pc); + void SetEncodingMethod(long method); + void SetAttributeQuantization(long att_id, + long quantization_bits); + void SetAttributeExplicitQuantization(long att_id, + long quantization_bits, + long num_components, + [Const] float[] origin, + float range); + void SetSpeedOptions(long encoding_speed, long decoding_speed); + void SetTrackEncodedProperties(boolean flag); + + long EncodeToDracoBuffer(boolean deduplicate_values, + DracoInt8Array encoded_data); + + // Returns the number of encoded points or faces from the last Encode + // operation. Returns 0 if SetTrackEncodedProperties was not set to true. + long GetNumberOfEncodedPoints(); + long GetNumberOfEncodedFaces(); +}; \ No newline at end of file diff --git a/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc b/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc index 1e913e7..aa911f8 100644 --- a/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc +++ b/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc @@ -263,3 +263,67 @@ int Encoder::GetNumberOfEncodedPoints() { } int Encoder::GetNumberOfEncodedFaces() { return encoder_.num_encoded_faces(); } + +ExpertEncoder::ExpertEncoder(PointCloud *pc) : pc_(pc) { + // Web-IDL interface does not support constructor overloading so instead we + // use RTTI to determine whether the input is a mesh or a point cloud. + Mesh *mesh = dynamic_cast(pc); + if (mesh) + encoder_ = + std::unique_ptr(new draco::ExpertEncoder(*mesh)); + else + encoder_ = + std::unique_ptr(new draco::ExpertEncoder(*pc)); +} + +void ExpertEncoder::SetEncodingMethod(long method) { + encoder_->SetEncodingMethod(method); +} + +void ExpertEncoder::SetAttributeQuantization(long att_id, + long quantization_bits) { + encoder_->SetAttributeQuantization(att_id, quantization_bits); +} + +void ExpertEncoder::SetAttributeExplicitQuantization(long att_id, + long quantization_bits, + long num_components, + const float *origin, + float range) { + encoder_->SetAttributeExplicitQuantization(att_id, quantization_bits, + num_components, origin, range); +} + +void ExpertEncoder::SetSpeedOptions(long encoding_speed, long decoding_speed) { + encoder_->SetSpeedOptions(encoding_speed, decoding_speed); +} + +void ExpertEncoder::SetTrackEncodedProperties(bool flag) { + encoder_->SetTrackEncodedProperties(flag); +} + +int ExpertEncoder::EncodeToDracoBuffer(bool deduplicate_values, + DracoInt8Array *draco_buffer) { + if (!pc_) + return 0; + if (deduplicate_values) { + if (!pc_->DeduplicateAttributeValues()) + return 0; + pc_->DeduplicatePointIds(); + } + + draco::EncoderBuffer buffer; + if (!encoder_->EncodeToBuffer(&buffer).ok()) { + return 0; + } + draco_buffer->SetValues(buffer.data(), buffer.size()); + return buffer.size(); +} + +int ExpertEncoder::GetNumberOfEncodedPoints() { + return encoder_->num_encoded_points(); +} + +int ExpertEncoder::GetNumberOfEncodedFaces() { + return encoder_->num_encoded_faces(); +} diff --git a/src/draco/javascript/emscripten/encoder_webidl_wrapper.h b/src/draco/javascript/emscripten/encoder_webidl_wrapper.h index 43893fb..4db6cfc 100644 --- a/src/draco/javascript/emscripten/encoder_webidl_wrapper.h +++ b/src/draco/javascript/emscripten/encoder_webidl_wrapper.h @@ -21,6 +21,7 @@ #include "draco/compression/config/compression_shared.h" #include "draco/compression/config/encoder_options.h" #include "draco/compression/encode.h" +#include "draco/compression/expert_encode.h" #include "draco/mesh/mesh.h" typedef draco::GeometryAttribute draco_GeometryAttribute; @@ -159,4 +160,27 @@ class Encoder { draco::Encoder encoder_; }; +class ExpertEncoder { + public: + ExpertEncoder(draco::PointCloud *pc); + + void SetEncodingMethod(long method); + void SetAttributeQuantization(long att_id, long quantization_bits); + void SetAttributeExplicitQuantization(long att_id, long quantization_bits, + long num_components, + const float *origin, float range); + void SetSpeedOptions(long encoding_speed, long decoding_speed); + void SetTrackEncodedProperties(bool flag); + + int EncodeToDracoBuffer(bool deduplicate_values, DracoInt8Array *buffer); + + int GetNumberOfEncodedPoints(); + int GetNumberOfEncodedFaces(); + + private: + std::unique_ptr encoder_; + + draco::PointCloud *pc_; +}; + #endif // DRACO_JAVASCRIPT_EMSCRITPEN_ENCODER_WEBIDL_WRAPPER_H_ diff --git a/src/draco/maya/draco_maya_plugin.cc b/src/draco/maya/draco_maya_plugin.cc index 9d149ae..5224ceb 100644 --- a/src/draco/maya/draco_maya_plugin.cc +++ b/src/draco/maya/draco_maya_plugin.cc @@ -15,231 +15,252 @@ #ifdef BUILD_MAYA_PLUGIN namespace draco { - namespace maya { +namespace maya { - static void decode_faces(std::unique_ptr &drc_mesh, Drc2PyMesh* out_mesh) { - int num_faces = drc_mesh->num_faces(); - out_mesh->faces = new int[num_faces*3]; - out_mesh->faces_num = num_faces; - for (int i = 0; i < num_faces; i++) { - const draco::Mesh::Face &face = drc_mesh->face(draco::FaceIndex(i)); - out_mesh->faces[i * 3 + 0] = face[0].value(); - out_mesh->faces[i * 3 + 1] = face[1].value(); - out_mesh->faces[i * 3 + 2] = face[2].value(); - } - } - static void decode_vertices(std::unique_ptr &drc_mesh, Drc2PyMesh* out_mesh) { - const auto pos_att = drc_mesh->GetNamedAttribute(draco::GeometryAttribute::POSITION); - if (pos_att == nullptr) { - out_mesh->vertices = new float[0]; - out_mesh->vertices_num = 0; - return; - } +static void decode_faces(std::unique_ptr &drc_mesh, + Drc2PyMesh *out_mesh) { + int num_faces = drc_mesh->num_faces(); + out_mesh->faces = new int[num_faces * 3]; + out_mesh->faces_num = num_faces; + for (int i = 0; i < num_faces; i++) { + const draco::Mesh::Face &face = drc_mesh->face(draco::FaceIndex(i)); + out_mesh->faces[i * 3 + 0] = face[0].value(); + out_mesh->faces[i * 3 + 1] = face[1].value(); + out_mesh->faces[i * 3 + 2] = face[2].value(); + } +} +static void decode_vertices(std::unique_ptr &drc_mesh, + Drc2PyMesh *out_mesh) { + const auto pos_att = + drc_mesh->GetNamedAttribute(draco::GeometryAttribute::POSITION); + if (pos_att == nullptr) { + out_mesh->vertices = new float[0]; + out_mesh->vertices_num = 0; + return; + } - int num_vertices = drc_mesh->num_points(); - out_mesh->vertices = new float[num_vertices * 3]; - out_mesh->vertices_num = num_vertices; - for (int i = 0; i < num_vertices; i++) { - draco::PointIndex pi(i); - const draco::AttributeValueIndex val_index = pos_att->mapped_index(pi); - float out_vertex[3]; - bool is_ok = pos_att->ConvertValue(val_index, out_vertex); - if (!is_ok) return; - out_mesh->vertices[i * 3 + 0] = out_vertex[0]; - out_mesh->vertices[i * 3 + 1] = out_vertex[1]; - out_mesh->vertices[i * 3 + 2] = out_vertex[2]; - } - } - static void decode_normals(std::unique_ptr &drc_mesh, Drc2PyMesh* out_mesh) { - const auto normal_att = drc_mesh->GetNamedAttribute(draco::GeometryAttribute::NORMAL); - if (normal_att == nullptr) { - out_mesh->normals = new float[0]; - out_mesh->normals_num = 0; - return; - } - int num_normals = drc_mesh->num_points(); - out_mesh->normals = new float[num_normals * 3]; - out_mesh->normals_num = num_normals; - - for (int i = 0; i < num_normals; i++) { - draco::PointIndex pi(i); - const draco::AttributeValueIndex val_index = normal_att->mapped_index(pi); - float out_normal[3]; - bool is_ok = normal_att->ConvertValue(val_index, out_normal); - if (!is_ok) return; - out_mesh->normals[i * 3 + 0] = out_normal[0]; - out_mesh->normals[i * 3 + 1] = out_normal[1]; - out_mesh->normals[i * 3 + 2] = out_normal[2]; - } - } - static void decode_uvs(std::unique_ptr &drc_mesh, Drc2PyMesh* out_mesh) { - const auto uv_att = drc_mesh->GetNamedAttribute(draco::GeometryAttribute::TEX_COORD); - if (uv_att == nullptr) { - out_mesh->uvs = new float[0]; - out_mesh->uvs_num = 0; - out_mesh->uvs_real_num = 0; - return; - } - int num_uvs = drc_mesh->num_points(); - out_mesh->uvs = new float[num_uvs * 2]; - out_mesh->uvs_num = num_uvs; - out_mesh->uvs_real_num = uv_att->size(); + int num_vertices = drc_mesh->num_points(); + out_mesh->vertices = new float[num_vertices * 3]; + out_mesh->vertices_num = num_vertices; + for (int i = 0; i < num_vertices; i++) { + draco::PointIndex pi(i); + const draco::AttributeValueIndex val_index = pos_att->mapped_index(pi); + float out_vertex[3]; + bool is_ok = pos_att->ConvertValue(val_index, out_vertex); + if (!is_ok) + return; + out_mesh->vertices[i * 3 + 0] = out_vertex[0]; + out_mesh->vertices[i * 3 + 1] = out_vertex[1]; + out_mesh->vertices[i * 3 + 2] = out_vertex[2]; + } +} +static void decode_normals(std::unique_ptr &drc_mesh, + Drc2PyMesh *out_mesh) { + const auto normal_att = + drc_mesh->GetNamedAttribute(draco::GeometryAttribute::NORMAL); + if (normal_att == nullptr) { + out_mesh->normals = new float[0]; + out_mesh->normals_num = 0; + return; + } + int num_normals = drc_mesh->num_points(); + out_mesh->normals = new float[num_normals * 3]; + out_mesh->normals_num = num_normals; - for (int i = 0; i < num_uvs; i++) { - draco::PointIndex pi(i); - const draco::AttributeValueIndex val_index = uv_att->mapped_index(pi); - float out_uv[2]; - bool is_ok = uv_att->ConvertValue(val_index, out_uv); - if (!is_ok) return; - out_mesh->uvs[i * 2 + 0] = out_uv[0]; - out_mesh->uvs[i * 2 + 1] = out_uv[1]; - } - } + for (int i = 0; i < num_normals; i++) { + draco::PointIndex pi(i); + const draco::AttributeValueIndex val_index = normal_att->mapped_index(pi); + float out_normal[3]; + bool is_ok = normal_att->ConvertValue(val_index, out_normal); + if (!is_ok) + return; + out_mesh->normals[i * 3 + 0] = out_normal[0]; + out_mesh->normals[i * 3 + 1] = out_normal[1]; + out_mesh->normals[i * 3 + 2] = out_normal[2]; + } +} +static void decode_uvs(std::unique_ptr &drc_mesh, + Drc2PyMesh *out_mesh) { + const auto uv_att = + drc_mesh->GetNamedAttribute(draco::GeometryAttribute::TEX_COORD); + if (uv_att == nullptr) { + out_mesh->uvs = new float[0]; + out_mesh->uvs_num = 0; + out_mesh->uvs_real_num = 0; + return; + } + int num_uvs = drc_mesh->num_points(); + out_mesh->uvs = new float[num_uvs * 2]; + out_mesh->uvs_num = num_uvs; + out_mesh->uvs_real_num = uv_att->size(); - void drc2py_free(Drc2PyMesh **mesh_ptr) { - Drc2PyMesh *mesh = *mesh_ptr; - if (!mesh) return; - if (mesh->faces) { - delete[] mesh->faces; - mesh->faces = nullptr; - mesh->faces_num = 0; - } - if (mesh->vertices) { - delete[] mesh->vertices; - mesh->vertices = nullptr; - mesh->vertices_num = 0; - } - if (mesh->normals) { - delete[] mesh->normals; - mesh->normals = nullptr; - mesh->normals_num = 0; - } - if (mesh->uvs) { - delete[] mesh->uvs; - mesh->uvs = nullptr; - mesh->uvs_num = 0; - } - delete mesh; - *mesh_ptr = nullptr; - } - - DecodeResult drc2py_decode(char *data, unsigned int length, Drc2PyMesh **res_mesh) { - draco::DecoderBuffer buffer; - buffer.Init(data, length); - auto type_statusor = draco::Decoder::GetEncodedGeometryType(&buffer); - if (!type_statusor.ok()) { - return DecodeResult::KO_GEOMETRY_TYPE_INVALID; - } - const draco::EncodedGeometryType geom_type = type_statusor.value(); - if (geom_type != draco::TRIANGULAR_MESH) { - return DecodeResult::KO_TRIANGULAR_MESH_NOT_FOUND; - } + for (int i = 0; i < num_uvs; i++) { + draco::PointIndex pi(i); + const draco::AttributeValueIndex val_index = uv_att->mapped_index(pi); + float out_uv[2]; + bool is_ok = uv_att->ConvertValue(val_index, out_uv); + if (!is_ok) + return; + out_mesh->uvs[i * 2 + 0] = out_uv[0]; + out_mesh->uvs[i * 2 + 1] = out_uv[1]; + } +} - draco::Decoder decoder; - auto statusor = decoder.DecodeMeshFromBuffer(&buffer); - if (!statusor.ok()) { - return DecodeResult::KO_MESH_DECODING; - } - std::unique_ptr drc_mesh = std::move(statusor).value(); +void drc2py_free(Drc2PyMesh **mesh_ptr) { + Drc2PyMesh *mesh = *mesh_ptr; + if (!mesh) + return; + if (mesh->faces) { + delete[] mesh->faces; + mesh->faces = nullptr; + mesh->faces_num = 0; + } + if (mesh->vertices) { + delete[] mesh->vertices; + mesh->vertices = nullptr; + mesh->vertices_num = 0; + } + if (mesh->normals) { + delete[] mesh->normals; + mesh->normals = nullptr; + mesh->normals_num = 0; + } + if (mesh->uvs) { + delete[] mesh->uvs; + mesh->uvs = nullptr; + mesh->uvs_num = 0; + } + delete mesh; + *mesh_ptr = nullptr; +} - *res_mesh = new Drc2PyMesh(); - decode_faces(drc_mesh, *res_mesh); - decode_vertices(drc_mesh, *res_mesh); - decode_normals(drc_mesh, *res_mesh); - decode_uvs(drc_mesh, *res_mesh); - return DecodeResult::OK; - } - - //As encode refereces see https://github.com/google/draco/issues/116 - EncodeResult drc2py_encode(Drc2PyMesh *in_mesh, char* file_path) { - if (in_mesh->faces_num == 0) return EncodeResult::KO_WRONG_INPUT; - if (in_mesh->vertices_num == 0) return EncodeResult::KO_WRONG_INPUT; - // TODO: Add check to protect against quad faces. At the moment only Tringular faces are supported +DecodeResult drc2py_decode(char *data, unsigned int length, + Drc2PyMesh **res_mesh) { + draco::DecoderBuffer buffer; + buffer.Init(data, length); + auto type_statusor = draco::Decoder::GetEncodedGeometryType(&buffer); + if (!type_statusor.ok()) { + return DecodeResult::KO_GEOMETRY_TYPE_INVALID; + } + const draco::EncodedGeometryType geom_type = type_statusor.value(); + if (geom_type != draco::TRIANGULAR_MESH) { + return DecodeResult::KO_TRIANGULAR_MESH_NOT_FOUND; + } - std::unique_ptr drc_mesh(new draco::Mesh()); + draco::Decoder decoder; + auto statusor = decoder.DecodeMeshFromBuffer(&buffer); + if (!statusor.ok()) { + return DecodeResult::KO_MESH_DECODING; + } + std::unique_ptr drc_mesh = std::move(statusor).value(); - // Marshall Faces - int num_faces = in_mesh->faces_num; - drc_mesh->SetNumFaces(num_faces); - for (int i = 0; i < num_faces; ++i) { - Mesh::Face face; - face[0] = in_mesh->faces[i * 3 + 0]; - face[1] = in_mesh->faces[i * 3 + 1]; - face[2] = in_mesh->faces[i * 3 + 2]; - drc_mesh->SetFace(FaceIndex(i), face); - } + *res_mesh = new Drc2PyMesh(); + decode_faces(drc_mesh, *res_mesh); + decode_vertices(drc_mesh, *res_mesh); + decode_normals(drc_mesh, *res_mesh); + decode_uvs(drc_mesh, *res_mesh); + return DecodeResult::OK; +} - // Marshall Vertices - int num_points = in_mesh->vertices_num; - drc_mesh->set_num_points(num_points); - GeometryAttribute va; - va.Init(GeometryAttribute::POSITION, nullptr, 3, DT_FLOAT32, false, sizeof(float) * 3, 0); - int pos_att_id = drc_mesh->AddAttribute(va, true, num_points); - float point[3]; - for (int i = 0; i < num_points; ++i) { - point[0] = in_mesh->vertices[i * 3 + 0]; - point[1] = in_mesh->vertices[i * 3 + 1]; - point[2] = in_mesh->vertices[i * 3 + 2]; - drc_mesh->attribute(pos_att_id)->SetAttributeValue(AttributeValueIndex(i), point); - } +// As encode refereces see https://github.com/google/draco/issues/116 +EncodeResult drc2py_encode(Drc2PyMesh *in_mesh, char *file_path) { + if (in_mesh->faces_num == 0) + return EncodeResult::KO_WRONG_INPUT; + if (in_mesh->vertices_num == 0) + return EncodeResult::KO_WRONG_INPUT; + // TODO: Add check to protect against quad faces. At the moment only Tringular + // faces are supported - // Marshall Normals - int num_normals = in_mesh->normals_num; - int norm_att_id; - if (num_normals > 0) { - GeometryAttribute va; - va.Init(GeometryAttribute::NORMAL, nullptr, 3, DT_FLOAT32, false, sizeof(float) * 3, 0); - norm_att_id = drc_mesh->AddAttribute(va, true, num_normals); + std::unique_ptr drc_mesh(new draco::Mesh()); - float norm[3]; - for (int i = 0; i < num_normals; ++i) { - norm[0] = in_mesh->normals[i * 3 + 0]; - norm[1] = in_mesh->normals[i * 3 + 1]; - norm[2] = in_mesh->normals[i * 3 + 2]; - drc_mesh->attribute(norm_att_id)->SetAttributeValue(AttributeValueIndex(i), norm); - } - } + // Marshall Faces + int num_faces = in_mesh->faces_num; + drc_mesh->SetNumFaces(num_faces); + for (int i = 0; i < num_faces; ++i) { + Mesh::Face face; + face[0] = in_mesh->faces[i * 3 + 0]; + face[1] = in_mesh->faces[i * 3 + 1]; + face[2] = in_mesh->faces[i * 3 + 2]; + drc_mesh->SetFace(FaceIndex(i), face); + } - // Marshall Uvs - int num_uvs = in_mesh->uvs_num; - int uv_att_id; - if (num_uvs > 0) { - GeometryAttribute va; - va.Init(GeometryAttribute::TEX_COORD, nullptr, 2, DT_FLOAT32, false, sizeof(float) * 2, 0); - uv_att_id = drc_mesh->AddAttribute(va, true, num_uvs); - float uv[3]; - for (int i = 0; i < num_uvs; ++i) { - uv[0] = in_mesh->uvs[i * 2 + 0]; - uv[1] = in_mesh->uvs[i * 2 + 1]; - drc_mesh->attribute(uv_att_id)->SetAttributeValue(AttributeValueIndex(i), uv); - } + // Marshall Vertices + int num_points = in_mesh->vertices_num; + drc_mesh->set_num_points(num_points); + GeometryAttribute va; + va.Init(GeometryAttribute::POSITION, nullptr, 3, DT_FLOAT32, false, + sizeof(float) * 3, 0); + int pos_att_id = drc_mesh->AddAttribute(va, true, num_points); + float point[3]; + for (int i = 0; i < num_points; ++i) { + point[0] = in_mesh->vertices[i * 3 + 0]; + point[1] = in_mesh->vertices[i * 3 + 1]; + point[2] = in_mesh->vertices[i * 3 + 2]; + drc_mesh->attribute(pos_att_id) + ->SetAttributeValue(AttributeValueIndex(i), point); + } - } - - // Deduplicate Attribs and Points - #ifdef DRACO_ATTRIBUTE_DEDUPLICATION_SUPPORTED - drc_mesh->DeduplicateAttributeValues(); - drc_mesh->DeduplicatePointIds(); - #endif + // Marshall Normals + int num_normals = in_mesh->normals_num; + int norm_att_id; + if (num_normals > 0) { + GeometryAttribute va; + va.Init(GeometryAttribute::NORMAL, nullptr, 3, DT_FLOAT32, false, + sizeof(float) * 3, 0); + norm_att_id = drc_mesh->AddAttribute(va, true, num_normals); - // Encode Mesh - draco::Encoder encoder; //Use default encode settings (See draco_encoder.cc Options struct) - draco::EncoderBuffer buffer; - const draco::Status status = encoder.EncodeMeshToBuffer(*drc_mesh, &buffer); - if (!status.ok()) { - //Use status.error_msg() to check the error - return EncodeResult::KO_MESH_ENCODING; - } + float norm[3]; + for (int i = 0; i < num_normals; ++i) { + norm[0] = in_mesh->normals[i * 3 + 0]; + norm[1] = in_mesh->normals[i * 3 + 1]; + norm[2] = in_mesh->normals[i * 3 + 2]; + drc_mesh->attribute(norm_att_id) + ->SetAttributeValue(AttributeValueIndex(i), norm); + } + } - // Save to file - std::string file = file_path; - std::ofstream out_file(file, std::ios::binary); - if (!out_file) { - return EncodeResult::KO_FILE_CREATION; - } - out_file.write(buffer.data(), buffer.size()); - return EncodeResult::OK; - } + // Marshall Uvs + int num_uvs = in_mesh->uvs_num; + int uv_att_id; + if (num_uvs > 0) { + GeometryAttribute va; + va.Init(GeometryAttribute::TEX_COORD, nullptr, 2, DT_FLOAT32, false, + sizeof(float) * 2, 0); + uv_att_id = drc_mesh->AddAttribute(va, true, num_uvs); + float uv[3]; + for (int i = 0; i < num_uvs; ++i) { + uv[0] = in_mesh->uvs[i * 2 + 0]; + uv[1] = in_mesh->uvs[i * 2 + 1]; + drc_mesh->attribute(uv_att_id)->SetAttributeValue(AttributeValueIndex(i), + uv); + } + } + +// Deduplicate Attribs and Points +#ifdef DRACO_ATTRIBUTE_DEDUPLICATION_SUPPORTED + drc_mesh->DeduplicateAttributeValues(); + drc_mesh->DeduplicatePointIds(); +#endif + + // Encode Mesh + draco::Encoder encoder; // Use default encode settings (See draco_encoder.cc + // Options struct) + draco::EncoderBuffer buffer; + const draco::Status status = encoder.EncodeMeshToBuffer(*drc_mesh, &buffer); + if (!status.ok()) { + // Use status.error_msg() to check the error + return EncodeResult::KO_MESH_ENCODING; + } + + // Save to file + std::string file = file_path; + std::ofstream out_file(file, std::ios::binary); + if (!out_file) { + return EncodeResult::KO_FILE_CREATION; + } + out_file.write(buffer.data(), buffer.size()); + return EncodeResult::OK; +} } // namespace maya diff --git a/src/draco/maya/draco_maya_plugin.h b/src/draco/maya/draco_maya_plugin.h index 273b671..cd4fa69 100644 --- a/src/draco/maya/draco_maya_plugin.h +++ b/src/draco/maya/draco_maya_plugin.h @@ -13,10 +13,9 @@ #ifndef DRACO_MAYA_PLUGIN_H_ #define DRACO_MAYA_PLUGIN_H_ -//#include "draco/compression/config/compression_shared.h" +#include #include "draco/compression/decode.h" #include "draco/compression/encode.h" -#include #ifdef BUILD_MAYA_PLUGIN @@ -29,41 +28,51 @@ #endif // defined(_MSC_VER) namespace draco { - namespace maya { +namespace maya { - enum class EncodeResult { OK=0, KO_WRONG_INPUT=-1, KO_MESH_ENCODING=-2, KO_FILE_CREATION=-3 }; - enum class DecodeResult { OK=0, KO_GEOMETRY_TYPE_INVALID = -1, KO_TRIANGULAR_MESH_NOT_FOUND = -2, KO_MESH_DECODING = -3 }; +enum class EncodeResult { + OK = 0, + KO_WRONG_INPUT = -1, + KO_MESH_ENCODING = -2, + KO_FILE_CREATION = -3 +}; +enum class DecodeResult { + OK = 0, + KO_GEOMETRY_TYPE_INVALID = -1, + KO_TRIANGULAR_MESH_NOT_FOUND = -2, + KO_MESH_DECODING = -3 +}; +extern "C" { +struct EXPORT_API Drc2PyMesh { + Drc2PyMesh() + : faces_num(0), + faces(nullptr), + vertices_num(0), + vertices(nullptr), + normals_num(0), + normals(nullptr), + uvs_num(0), + uvs_real_num(0), + uvs(nullptr) {} + int faces_num; + int *faces; + int vertices_num; + float *vertices; + int normals_num; + float *normals; + int uvs_num; + int uvs_real_num; + float *uvs; +}; - extern "C" { - struct EXPORT_API Drc2PyMesh { - Drc2PyMesh() - : faces_num(0), - faces(nullptr), - vertices_num(0), - vertices(nullptr), - normals_num(0), - normals(nullptr), - uvs_num(0), - uvs_real_num(0), - uvs(nullptr) {} - int faces_num; - int* faces; - int vertices_num; - float* vertices; - int normals_num; - float* normals; - int uvs_num; - int uvs_real_num; - float* uvs; - }; +EXPORT_API DecodeResult drc2py_decode(char *data, unsigned int length, + Drc2PyMesh **res_mesh); +EXPORT_API void drc2py_free(Drc2PyMesh **res_mesh); +EXPORT_API EncodeResult drc2py_encode(Drc2PyMesh *in_mesh, char *file_path); +} // extern "C" - EXPORT_API DecodeResult drc2py_decode(char *data, unsigned int length, Drc2PyMesh **res_mesh); - EXPORT_API void drc2py_free(Drc2PyMesh **res_mesh); - EXPORT_API EncodeResult drc2py_encode(Drc2PyMesh *in_mesh, char* file_path); - } // extern "C" - - } // namespace maya +} // namespace maya } // namespace draco #endif // BUILD_MAYA_PLUGIN diff --git a/src/draco/tools/draco_encoder.cc b/src/draco/tools/draco_encoder.cc index bd5269f..05458fb 100644 --- a/src/draco/tools/draco_encoder.cc +++ b/src/draco/tools/draco_encoder.cc @@ -35,8 +35,6 @@ struct Options { int generic_quantization_bits; bool generic_deleted; int compression_level; - int edgebreaker_method; - std::map attribute_prediction_scheme; bool use_metadata; std::string input; std::string output; @@ -52,7 +50,6 @@ Options::Options() generic_quantization_bits(8), generic_deleted(false), compression_level(7), - edgebreaker_method(-1), use_metadata(false) {} void Usage() { @@ -334,16 +331,6 @@ int main(int argc, char **argv) { draco::Encoder encoder; // Setup encoder options. - if (options.edgebreaker_method != -1) - encoder.options().SetGlobalInt("edgebreaker_method", - options.edgebreaker_method); - auto iter = options.attribute_prediction_scheme.begin(); - while (iter != options.attribute_prediction_scheme.end()) { - const draco::GeometryAttribute::Type attribute_type = iter->first; - const int prediction_scheme = iter->second; - encoder.SetAttributePredictionScheme(attribute_type, prediction_scheme); - iter++; - } if (options.pos_quantization_bits > 0) { encoder.SetAttributeQuantization(draco::GeometryAttribute::POSITION, options.pos_quantization_bits); diff --git a/testdata/point_cloud_no_qp.drc b/testdata/point_cloud_no_qp.drc new file mode 100644 index 0000000000000000000000000000000000000000..66aca47212910d6f7e98178b17c97388542e6aac GIT binary patch literal 345 zcmZ<>a&-1*VrBpWQ6OeyV&DXFn1CXT42(_*Pp#%QsO=Ts9=OZ+h@nl@Qk}goZmzNU zm-^j0NPWSch3T7Z3^~^9USWFH2FTvSDJ{20%WBddlLqr$D}^uYp1)ex8pyVqW4y?k zvr8Uq&VIf*AaiWBC8qA-nXGAZ_^ZZVp2;h1y82S~C^&uun`80g(C+As`$2klDJ19Z zX%~y!qrQN1chbUZ)@2Xo>^YpW%Er3DZ}^8Hpwb^%2 zd~aCoIvb!}d(L$P?eV)PxaaZl88$kpl6&`*Oty*FJZ&Xe9KMG=eumA=-P5dqYHa4O zUb}m9^(QO#4`O?@B}DfyFfuZ*GfT4ZGN(!y@)+_+vT;b9Fg9>nc{p0cThvg)a%@7-<;j